From acf743c673466441478c08975ade00817fffdc52 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Fri, 27 Sep 2013 14:09:38 +1000 Subject: [PATCH 001/157] Updated to 1.6.4 --- build.xml | 194 + common/rebelkeithy/mods/atum/Atum.java | 169 +- common/rebelkeithy/mods/atum/AtumBlocks.java | 164 +- common/rebelkeithy/mods/atum/AtumConfig.java | 487 +- .../mods/atum/AtumEventListener.java | 159 +- common/rebelkeithy/mods/atum/AtumFish.java | 48 +- .../rebelkeithy/mods/atum/AtumGuiHandler.java | 46 +- common/rebelkeithy/mods/atum/AtumItems.java | 248 +- common/rebelkeithy/mods/atum/AtumLoot.java | 249 +- .../mods/atum/AtumMusicListener.java | 81 +- .../mods/atum/AtumPortalPosition.java | 20 +- common/rebelkeithy/mods/atum/AtumRecipes.java | 179 +- common/rebelkeithy/mods/atum/AtumTab.java | 22 +- .../rebelkeithy/mods/atum/AtumTeleporter.java | 888 +- .../mods/atum/AtumWeightedLootSet.java | 87 +- common/rebelkeithy/mods/atum/ClientProxy.java | 77 +- common/rebelkeithy/mods/atum/CommonProxy.java | 40 +- common/rebelkeithy/mods/atum/PotionStun.java | 51 +- .../mods/atum/ServerTickHandler.java | 119 +- common/rebelkeithy/mods/atum/TickHandler.java | 253 +- .../mods/atum/artifacts/IsisEmbrace.java | 85 +- .../mods/atum/artifacts/ItemAkersToil.java | 105 +- .../atum/artifacts/ItemAmunetsHomecoming.java | 159 +- .../mods/atum/artifacts/ItemAnhursMight.java | 115 +- .../mods/atum/artifacts/ItemAnubisMercy.java | 207 +- .../atum/artifacts/ItemAnuketsBounty.java | 191 +- .../mods/atum/artifacts/ItemAtensFury.java | 296 +- .../mods/atum/artifacts/ItemGebsBlessing.java | 71 +- .../atum/artifacts/ItemGebsSolidarity.java | 182 +- .../atum/artifacts/ItemHedetetsSting.java | 94 +- .../atum/artifacts/ItemHedetetsVenom.java | 298 +- .../mods/atum/artifacts/ItemHorusFlight.java | 145 +- .../mods/atum/artifacts/ItemHorusSoaring.java | 284 +- .../mods/atum/artifacts/ItemIsisHealing.java | 143 +- .../mods/atum/artifacts/ItemMaatsBalance.java | 129 +- .../atum/artifacts/ItemMafdetsQuickness.java | 136 +- .../mods/atum/artifacts/ItemMnevisHorns.java | 112 +- .../mods/atum/artifacts/ItemMonthusBlast.java | 300 +- .../atum/artifacts/ItemMonthusStrike.java | 235 +- .../atum/artifacts/ItemNeithsAudacity.java | 399 +- .../mods/atum/artifacts/ItemNusFlux.java | 129 +- .../mods/atum/artifacts/ItemNutsAgility.java | 113 +- .../mods/atum/artifacts/ItemNutsCall.java | 176 +- .../mods/atum/artifacts/ItemOsirisWill.java | 111 +- .../atum/artifacts/ItemPtahsDecadence.java | 87 +- .../atum/artifacts/ItemPtahsDestruction.java | 85 +- .../mods/atum/artifacts/ItemRasGlory.java | 87 +- .../atum/artifacts/ItemSekhmetsWrath.java | 138 +- .../mods/atum/artifacts/ItemShusBreath.java | 274 +- .../mods/atum/artifacts/ItemSobeksRage.java | 90 +- .../mods/atum/artifacts/ItemSpear.java | 55 +- .../atum/artifacts/arrow/CustomArrow.java | 55 +- .../arrow/EntityArrowDoubleShot.java | 1008 +- .../artifacts/arrow/EntityArrowExplosive.java | 1020 +- .../atum/artifacts/arrow/EntityArrowFire.java | 1011 +- .../artifacts/arrow/EntityArrowPoison.java | 1009 +- .../artifacts/arrow/EntityArrowQuickdraw.java | 1008 +- .../artifacts/arrow/EntityArrowVelocity.java | 1006 +- .../artifacts/arrow/EntityAtumFishHook.java | 859 +- .../atum/artifacts/arrow/EntityNutsCall.java | 1017 +- .../artifacts/arrow/RenderCustomArrow.java | 142 +- .../atum/artifacts/arrow/RenderNutsCall.java | 129 +- .../mods/atum/blocks/AtumStone.java | 23 +- .../mods/atum/blocks/BlockArrowTrap.java | 309 +- .../mods/atum/blocks/BlockAtumBrick.java | 79 +- .../mods/atum/blocks/BlockAtumGlass.java | 66 +- .../mods/atum/blocks/BlockAtumLeaves.java | 614 +- .../mods/atum/blocks/BlockAtumPane.java | 11 +- .../mods/atum/blocks/BlockAtumPortal.java | 533 +- .../mods/atum/blocks/BlockAtumSand.java | 12 +- .../mods/atum/blocks/BlockAtumSlab.java | 137 +- .../mods/atum/blocks/BlockAtumStairs.java | 10 +- .../mods/atum/blocks/BlockAtumWall.java | 79 +- .../mods/atum/blocks/BlockAtumWorld.java | 109 +- .../mods/atum/blocks/BlockDate.java | 108 +- .../mods/atum/blocks/BlockFertileDirt.java | 13 +- .../mods/atum/blocks/BlockFertileSoil.java | 233 +- .../atum/blocks/BlockFertileSoilTilled.java | 384 +- .../mods/atum/blocks/BlockFlax.java | 415 +- .../mods/atum/blocks/BlockPalmLog.java | 252 +- .../mods/atum/blocks/BlockPalmSapling.java | 173 +- .../mods/atum/blocks/BlockPapyrus.java | 398 +- .../mods/atum/blocks/BlockSandLayered.java | 272 +- .../mods/atum/blocks/BlockShrub.java | 70 +- .../mods/atum/blocks/ItemBlockAtumSlab.java | 335 +- .../mods/atum/blocks/ItemBlockAtumWall.java | 68 +- .../mods/atum/blocks/ItemPapyrusPlant.java | 133 +- .../mods/atum/blocks/ItemSandLayered.java | 62 +- .../mods/atum/blocks/TileEntityArrowTrap.java | 164 +- .../mods/atum/blocks/models/ModelDate.java | 91 +- .../mods/atum/blocks/ores/BlockAtumOre.java | 139 +- .../atum/blocks/ores/BlockAtumRedstone.java | 248 +- .../blocks/renderers/DateBlockRenderer.java | 385 +- .../renderers/PapyrusBlockRenderer.java | 163 +- .../atum/cursedchest/BlockChestSpawner.java | 441 +- .../cursedchest/CursedChestBaseLogic.java | 156 +- .../cursedchest/CursedChestSpawnerLogic.java | 82 +- .../mods/atum/cursedchest/PharaohChest.java | 479 +- .../cursedchest/TileEntityChestSpawner.java | 729 +- .../cursedchest/TileEntityPharaohChest.java | 748 +- .../atum/entities/EntityBanditArcher.java | 317 +- .../atum/entities/EntityBanditWarlord.java | 189 +- .../atum/entities/EntityBanditWarrior.java | 150 +- .../mods/atum/entities/EntityBarbarian.java | 188 +- .../mods/atum/entities/EntityBonestorm.java | 386 +- .../mods/atum/entities/EntityDesertWolf.java | 991 +- .../atum/entities/EntityDustySkeleton.java | 122 +- .../mods/atum/entities/EntityGhost.java | 226 +- .../mods/atum/entities/EntityMummy.java | 151 +- .../mods/atum/entities/EntityPharaoh.java | 803 +- .../mods/atum/entities/EntityStone.java | 34 +- .../atum/entities/EntityStoneSoldier.java | 207 +- .../mods/atum/entities/IAtumDayMob.java | 4 +- .../mods/atum/entities/IAtumNightMob.java | 2 +- .../mods/atum/entities/ModelDesertWolf.java | 307 +- .../atum/entities/ModelDustySkeleton.java | 50 +- .../mods/atum/entities/RenderBandit.java | 153 - .../mods/atum/entities/RenderDesertWolf.java | 69 - .../mods/atum/entities/RenderGhost.java | 549 - .../mods/atum/entities/RenderPharaoh.java | 164 - .../projectiles/EntityFireSpearCombined.java | 1040 +- .../projectiles/EntityFireSpearSeperated.java | 1051 +- .../entities/projectiles/RenderFireSpear.java | 139 +- .../projectiles/RenderFireSpearSeperated.java | 141 +- .../entities/render/CustomRenderBiped.java | 20 + .../atum/entities/render/RenderBandit.java | 39 + .../atum/entities/render/RenderBarbarian.java | 12 + .../entities/render/RenderDesertWolf.java | 50 + .../atum/entities/render/RenderGhost.java | 27 + .../atum/entities/render/RenderPharaoh.java | 31 + .../atum/furnace/BlockLimeStoneFurnace.java | 517 +- .../furnace/ContainerLimestoneFurnace.java | 289 +- .../atum/furnace/GuiLimestoneFurnace.java | 80 +- .../furnace/TileEntityLimestoneFurnace.java | 765 +- .../mods/atum/items/ItemAtumBow.java | 76 +- .../rebelkeithy/mods/atum/items/ItemFish.java | 77 +- .../mods/atum/items/ItemGreatsword.java | 41 +- .../rebelkeithy/mods/atum/items/ItemLoot.java | 204 +- .../mods/atum/items/ItemScarab.java | 77 +- .../mods/atum/items/ItemScepter.java | 27 +- .../mods/atum/items/ItemScimitar.java | 29 +- .../atum/items/ItemStoneSoldierSword.java | 28 +- .../mods/atum/items/ItemTexturedArmor.java | 42 +- .../mods/atum/items/RendererItemBow.java | 207 +- .../mods/atum/particles/EntityCritFX.java | 136 +- .../mods/atum/particles/EntitySandFX.java | 203 +- .../atum/particles/EntitySandPortalFX.java | 149 +- .../mods/atum/tools/LimestoneAxe.java | 31 +- .../mods/atum/tools/LimestoneHoe.java | 29 +- .../mods/atum/tools/LimestonePickaxe.java | 29 +- .../mods/atum/tools/LimestoneShovel.java | 29 +- .../mods/atum/tools/LimestoneSword.java | 29 +- .../mods/atum/world/AtumChunkProvider.java | 1067 +- .../mods/atum/world/AtumMapGenCaves.java | 417 +- .../mods/atum/world/AtumWorldProvider.java | 214 +- .../mods/atum/world/AtumWorldServer.java | 91 +- .../atum/world/biome/BiomeDecoratorAtum.java | 411 +- .../atum/world/biome/BiomeGenAtumDesert.java | 233 +- .../atum/world/biome/MobSpawnController.java | 38 +- .../world/decorators/WorldGenAtumTrees.java | 849 +- .../atum/world/decorators/WorldGenOasis.java | 367 +- .../atum/world/decorators/WorldGenPalace.java | 12396 ++++++++-------- .../atum/world/decorators/WorldGenPalm.java | 294 +- .../world/decorators/WorldGenPyramid.java | 304 +- .../atum/world/decorators/WorldGenRuins.java | 180 +- .../atum/world/decorators/WorldGenShrub.java | 57 +- .../mods/metaitem/MetadataItem.java | 177 +- .../particleregistry/ParticleRegistry.java | 95 +- resources/armor/diamond_1.png | Bin 1906 -> 0 bytes resources/armor/diamond_2.png | Bin 687 -> 0 bytes .../atum/music/ALongJourney.ogg} | Bin .../atum/music/Hostiles.ogg} | Bin .../atum}/music/ScorchingSand.ogg | Bin .../atum}/music/TempleTales.ogg | Bin .../atum/music/TheWanderer.ogg} | Bin .../atum/sound}/pharaohspawn.ogg | Bin .../atum/textures}/armor/DesertArmor_1.png | Bin .../atum/textures}/armor/DesertArmor_2.png | Bin .../atum/textures}/armor/EgyptianArmor_1.png | Bin .../atum/textures}/armor/EgyptianArmor_2.png | Bin .../atum/textures}/armor/MummyArmor_1.png | Bin .../atum/textures}/armor/MummyArmor_2.png | Bin .../textures}/armor/RubyArtifactArmor_1.png | Bin .../textures}/armor/RubyArtifactArmor_2.png | Bin .../atum/textures}/armor/WandererArmor_1.png | Bin .../textures}/armor/WandererArmor_1_old.png | Bin .../atum/textures}/armor/WandererArmor_2.png | Bin .../atum}/textures/blocks/AtumBrickCarved.png | Bin .../atum}/textures/blocks/AtumBrickLarge.png | Bin .../atum}/textures/blocks/AtumBrickSmall.png | Bin .../atum}/textures/blocks/AtumCoal.png | Bin .../atum}/textures/blocks/AtumCobble.png | Bin .../textures/blocks/AtumCrackedLargeBrick.png | Bin .../textures/blocks/AtumCrystalGlass.png | Bin .../atum}/textures/blocks/AtumDate.png | Bin .../atum}/textures/blocks/AtumDiamond.png | Bin .../atum}/textures/blocks/AtumFramedGlass.png | Bin .../atum}/textures/blocks/AtumGold.png | Bin .../atum}/textures/blocks/AtumIron.png | Bin .../atum}/textures/blocks/AtumLapis.png | Bin .../atum}/textures/blocks/AtumLeaves.png | Bin .../atum}/textures/blocks/AtumPalmSapling.png | Bin .../atum}/textures/blocks/AtumPapyrus.png | Bin .../atum}/textures/blocks/AtumPapyrusTop.png | Bin .../atum}/textures/blocks/AtumRedstone.png | Bin .../atum}/textures/blocks/AtumSand.png | Bin .../atum}/textures/blocks/AtumStone.png | Bin .../atum}/textures/blocks/AtumiteOre.png | Bin .../atum/textures/blocks/DeadBush.png} | Bin .../atum}/textures/blocks/FertileSoil.png | Bin .../atum}/textures/blocks/FertileSoilSide.png | Bin .../atum}/textures/blocks/FertileSoilTop.png | Bin .../atum}/textures/blocks/Flax_0.png | Bin .../atum}/textures/blocks/Flax_1.png | Bin .../atum}/textures/blocks/Flax_2.png | Bin .../atum}/textures/blocks/Flax_3.png | Bin .../atum}/textures/blocks/Flax_4.png | Bin .../atum}/textures/blocks/Flax_5.png | Bin .../atum}/textures/blocks/FurnaceBurning.png | Bin .../atum}/textures/blocks/FurnaceFront.png | Bin .../atum}/textures/blocks/FurnaceTop.png | Bin .../textures/blocks/PapyrusPlantItem.png | Bin .../atum}/textures/blocks/Planks.png | Bin .../atum}/textures/blocks/Shrub.png | Bin .../atum}/textures/blocks/TrapFire.png | Bin .../atum}/textures/blocks/TrapSide.png | Bin .../atum}/textures/blocks/Weed.png | Bin .../assets/atum/textures/blocks/portal.mcmeta | 3 + .../atum}/textures/blocks/portal.png | Bin .../blocks/stonebricksmooth_mossy.png | Bin .../atum}/textures/blocks/thinglass_top.png | Bin .../atum}/textures/blocks/tree_side.png | Bin .../atum}/textures/blocks/tree_top.png | Bin .../atum/textures/entities}/BanditArcher.png | Bin .../atum/textures/entities}/BanditWarlord.png | Bin .../atum/textures/entities}/BanditWarrior.png | Bin .../atum/textures/entities}/Barbarian.png | Bin .../atum/textures/entities}/Bonestorm.png | Bin .../atum/textures/entities}/DesertGhost.png | Bin .../atum/textures/entities}/DesertWolf.png | Bin .../textures/entities}/DesertWolf_angry.png | Bin .../textures/entities}/DesertWolf_tame.png | Bin .../atum/textures/entities}/DustySkeleton.png | Bin .../atum/textures/entities}/Mummy.png | Bin .../atum/textures/entities}/PharaohBlue.png | Bin .../textures/entities}/PharaohBlue_old.png | Bin .../atum/textures/entities}/PharaohGreen.png | Bin .../atum/textures/entities}/PharaohRed.png | Bin .../atum/textures/entities}/StoneSoldier.png | Bin .../atum}/textures/hud/mummyblur.png | Bin .../atum}/textures/items/AkersToil.png | Bin .../textures/items/AmunetsHomecoming.png | Bin .../atum}/textures/items/Anhur's Might.png | Bin .../atum}/textures/items/AnhursMight.png | Bin .../atum}/textures/items/AnubisMercy.png | Bin .../atum}/textures/items/AnuketsBounty.png | Bin .../atum}/textures/items/Arrow.png | Bin .../atum}/textures/items/ArrowEntity.png | Bin .../atum}/textures/items/AtensFury.png | Bin .../atum}/textures/items/Bow.png | Bin .../atum}/textures/items/ClothScrap.png | Bin .../atum}/textures/items/Date.png | Bin .../atum}/textures/items/DesertBoots.png | Bin .../atum}/textures/items/DesertChest.png | Bin .../atum}/textures/items/DesertHelmet.png | Bin .../atum}/textures/items/DesertLegs.png | Bin .../atum}/textures/items/DiamondBroach.png | Bin .../atum}/textures/items/DiamondIdol.png | Bin .../atum}/textures/items/DiamondNecklace.png | Bin .../atum}/textures/items/DiamondRing.png | Bin .../atum}/textures/items/DiamondScepter.png | Bin .../atum}/textures/items/DirtyBroach.png | Bin .../atum}/textures/items/DirtyIdol.png | Bin .../atum}/textures/items/DirtyNecklace.png | Bin .../atum}/textures/items/DirtyRing.png | Bin .../atum}/textures/items/DirtyScepter.png | Bin .../atum}/textures/items/Ectoplasm.png | Bin .../atum}/textures/items/EmeraldBroach.png | Bin .../atum}/textures/items/EmeraldIdol.png | Bin .../atum}/textures/items/EmeraldNecklace.png | Bin .../atum}/textures/items/EmeraldRing.png | Bin .../atum}/textures/items/EmeraldScepter.png | Bin .../atum}/textures/items/Fish0.png | Bin .../atum}/textures/items/Fish1.png | Bin .../atum}/textures/items/Fish2.png | Bin .../atum}/textures/items/Fish3.png | Bin .../atum}/textures/items/Fish4.png | Bin .../atum}/textures/items/FlaxItem.png | Bin .../atum}/textures/items/FlaxSeeds.png | Bin .../atum}/textures/items/GebsBlessing.png | Bin .../atum}/textures/items/GebsSolidarity.png | Bin .../atum}/textures/items/GoldBroach.png | Bin .../atum}/textures/items/GoldIdol.png | Bin .../atum}/textures/items/GoldNecklace.png | Bin .../atum}/textures/items/GoldRing.png | Bin .../atum}/textures/items/GoldScepter.png | Bin .../atum}/textures/items/Greatsword.png | Bin .../atum}/textures/items/HedetetsSting.png | Bin .../atum}/textures/items/HedetetsVenom.png | Bin .../textures/items/HedetetsVenom_pull_0.png | Bin .../textures/items/HedetetsVenom_pull_1.png | Bin .../textures/items/HedetetsVenom_pull_2.png | Bin .../atum}/textures/items/HorusFlight.png | Bin .../atum}/textures/items/HorusSoaring.png | Bin .../textures/items/HorusSoaring_pull_0.png | Bin .../textures/items/HorusSoaring_pull_1.png | Bin .../textures/items/HorusSoaring_pull_2.png | Bin .../atum}/textures/items/IsisEmbrace.png | Bin .../atum}/textures/items/IsisHealing.png | Bin .../atum}/textures/items/LimestoneAxe.png | Bin .../atum}/textures/items/LimestoneHoe.png | Bin .../atum}/textures/items/LimestonePickaxe.png | Bin .../atum}/textures/items/LimestoneShovel.png | Bin .../atum}/textures/items/LimestoneSword.png | Bin .../atum}/textures/items/Linen.png | Bin .../atum}/textures/items/MaatsBalance.png | Bin .../atum}/textures/items/MafdetsQuickness.png | Bin .../atum}/textures/items/MnevisHorns.png | Bin .../atum}/textures/items/MonthusBlast.png | Bin .../textures/items/MonthusBlast_pull_0.png | Bin .../textures/items/MonthusBlast_pull_1.png | Bin .../textures/items/MonthusBlast_pull_2.png | Bin .../atum}/textures/items/MonthusStrike.png | Bin .../atum}/textures/items/MummyBoots.png | Bin .../atum}/textures/items/MummyChest.png | Bin .../atum}/textures/items/MummyHelmet.png | Bin .../atum}/textures/items/MummyLegs.png | Bin .../atum}/textures/items/NeithsAudacity.png | Bin .../atum}/textures/items/NusFlux.png | Bin .../atum}/textures/items/NutsAgility.png | Bin .../atum}/textures/items/NutsCall.png | Bin .../atum}/textures/items/OsirisWill.png | Bin .../atum}/textures/items/PapyrusPlantItem.png | Bin .../atum/textures/items/PtahsDecadence.png} | Bin .../atum}/textures/items/PtahsDestruction.png | Bin .../atum}/textures/items/RasGlory.png | Bin .../atum}/textures/items/RubyBroach.png | Bin .../atum}/textures/items/RubyIdol.png | Bin .../atum}/textures/items/RubyNecklace.png | Bin .../atum}/textures/items/RubyRing.png | Bin .../atum}/textures/items/RubyScepter.png | Bin .../atum}/textures/items/SapphireBroach.png | Bin .../atum}/textures/items/SapphireIdol.png | Bin .../atum}/textures/items/SapphireNecklace.png | Bin .../atum}/textures/items/SapphireRing.png | Bin .../atum}/textures/items/SapphireScepter.png | Bin .../atum}/textures/items/Scarab.png | Bin .../atum}/textures/items/Scepter.png | Bin .../atum}/textures/items/Scimitar.png | Bin .../atum}/textures/items/Scroll.png | Bin .../atum}/textures/items/SekhmetsWrath.png | Bin .../atum}/textures/items/ShusBreath.png | Bin .../textures/items/ShusBreath_pull_0.png | Bin .../textures/items/ShusBreath_pull_1.png | Bin .../textures/items/ShusBreath_pull_2.png | Bin .../atum}/textures/items/SilverBroach.png | Bin .../atum}/textures/items/SilverIdol.png | Bin .../atum}/textures/items/SilverNecklace.png | Bin .../atum}/textures/items/SilverRing.png | Bin .../atum}/textures/items/SilverScepter.png | Bin .../atum/textures/items/SobeksRage.png} | Bin .../atum}/textures/items/StoneChunk.png | Bin .../textures/items/StoneSoldierSword.png | Bin .../atum}/textures/items/WandererBoots.png | Bin .../atum}/textures/items/WandererChest.png | Bin .../atum}/textures/items/WandererHelmet.png | Bin .../atum}/textures/items/WandererLegs.png | Bin .../atum}/textures/items/WolfPelt.png | Bin .../atum}/textures/items/atens_pull_0.png | Bin .../atum}/textures/items/atens_pull_1.png | Bin .../atum}/textures/items/atens_pull_2.png | Bin .../atum}/textures/items/bow_pull_0.png | Bin .../atum}/textures/items/bow_pull_1.png | Bin .../atum}/textures/items/bow_pull_2.png | Bin .../atum}/textures/items/neiths_pull_0.png | Bin .../atum}/textures/items/neiths_pull_1.png | Bin .../atum}/textures/items/neiths_pull_2.png | Bin .../atum}/textures/particles/Sand.png | Bin .../textures/projectiles/arrows_double.png | Bin .../textures/projectiles/arrows_exploding.png | Bin .../textures/projectiles/arrows_fire.png | Bin .../textures/projectiles/arrows_poison.png | Bin .../textures/projectiles/arrows_quickdraw.png | Bin .../textures/projectiles/arrows_velocity.png | Bin .../atum}/textures/projectiles/nutscall.png | Bin .../mods/Atum/textures/blocks/portal.txt | 0 386 files changed, 22628 insertions(+), 30870 deletions(-) create mode 100644 build.xml delete mode 100644 common/rebelkeithy/mods/atum/entities/RenderBandit.java delete mode 100644 common/rebelkeithy/mods/atum/entities/RenderDesertWolf.java delete mode 100644 common/rebelkeithy/mods/atum/entities/RenderGhost.java delete mode 100644 common/rebelkeithy/mods/atum/entities/RenderPharaoh.java create mode 100644 common/rebelkeithy/mods/atum/entities/render/CustomRenderBiped.java create mode 100644 common/rebelkeithy/mods/atum/entities/render/RenderBandit.java create mode 100644 common/rebelkeithy/mods/atum/entities/render/RenderBarbarian.java create mode 100644 common/rebelkeithy/mods/atum/entities/render/RenderDesertWolf.java create mode 100644 common/rebelkeithy/mods/atum/entities/render/RenderGhost.java create mode 100644 common/rebelkeithy/mods/atum/entities/render/RenderPharaoh.java delete mode 100644 resources/armor/diamond_1.png delete mode 100644 resources/armor/diamond_2.png rename resources/{mods/Atum/music/LittleLullaby.ogg => assets/atum/music/ALongJourney.ogg} (100%) rename resources/{mods/Atum/music/LongLost.ogg => assets/atum/music/Hostiles.ogg} (100%) rename resources/{mods/Atum => assets/atum}/music/ScorchingSand.ogg (100%) rename resources/{mods/Atum => assets/atum}/music/TempleTales.ogg (100%) rename resources/{mods/Atum/music/WearyWanderer.ogg => assets/atum/music/TheWanderer.ogg} (100%) rename resources/{mods/Atum/sounds => assets/atum/sound}/pharaohspawn.ogg (100%) rename resources/{ => assets/atum/textures}/armor/DesertArmor_1.png (100%) rename resources/{ => assets/atum/textures}/armor/DesertArmor_2.png (100%) rename resources/{ => assets/atum/textures}/armor/EgyptianArmor_1.png (100%) rename resources/{ => assets/atum/textures}/armor/EgyptianArmor_2.png (100%) rename resources/{ => assets/atum/textures}/armor/MummyArmor_1.png (100%) rename resources/{ => assets/atum/textures}/armor/MummyArmor_2.png (100%) rename resources/{ => assets/atum/textures}/armor/RubyArtifactArmor_1.png (100%) rename resources/{ => assets/atum/textures}/armor/RubyArtifactArmor_2.png (100%) rename resources/{ => assets/atum/textures}/armor/WandererArmor_1.png (100%) rename resources/{ => assets/atum/textures}/armor/WandererArmor_1_old.png (100%) rename resources/{ => assets/atum/textures}/armor/WandererArmor_2.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/AtumBrickCarved.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/AtumBrickLarge.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/AtumBrickSmall.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/AtumCoal.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/AtumCobble.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/AtumCrackedLargeBrick.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/AtumCrystalGlass.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/AtumDate.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/AtumDiamond.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/AtumFramedGlass.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/AtumGold.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/AtumIron.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/AtumLapis.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/AtumLeaves.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/AtumPalmSapling.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/AtumPapyrus.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/AtumPapyrusTop.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/AtumRedstone.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/AtumSand.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/AtumStone.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/AtumiteOre.png (100%) rename resources/{mods/Atum/textures/blocks/deadbush.png => assets/atum/textures/blocks/DeadBush.png} (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/FertileSoil.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/FertileSoilSide.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/FertileSoilTop.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/Flax_0.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/Flax_1.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/Flax_2.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/Flax_3.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/Flax_4.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/Flax_5.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/FurnaceBurning.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/FurnaceFront.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/FurnaceTop.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/PapyrusPlantItem.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/Planks.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/Shrub.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/TrapFire.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/TrapSide.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/Weed.png (100%) create mode 100644 resources/assets/atum/textures/blocks/portal.mcmeta rename resources/{mods/Atum => assets/atum}/textures/blocks/portal.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/stonebricksmooth_mossy.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/thinglass_top.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/tree_side.png (100%) rename resources/{mods/Atum => assets/atum}/textures/blocks/tree_top.png (100%) rename resources/{mods/Atum/textures/mobs => assets/atum/textures/entities}/BanditArcher.png (100%) rename resources/{mods/Atum/textures/mobs => assets/atum/textures/entities}/BanditWarlord.png (100%) rename resources/{mods/Atum/textures/mobs => assets/atum/textures/entities}/BanditWarrior.png (100%) rename resources/{mods/Atum/textures/mobs => assets/atum/textures/entities}/Barbarian.png (100%) rename resources/{mods/Atum/textures/mobs => assets/atum/textures/entities}/Bonestorm.png (100%) rename resources/{mods/Atum/textures/mobs => assets/atum/textures/entities}/DesertGhost.png (100%) rename resources/{mods/Atum/textures/mobs => assets/atum/textures/entities}/DesertWolf.png (100%) rename resources/{mods/Atum/textures/mobs => assets/atum/textures/entities}/DesertWolf_angry.png (100%) rename resources/{mods/Atum/textures/mobs => assets/atum/textures/entities}/DesertWolf_tame.png (100%) rename resources/{mods/Atum/textures/mobs => assets/atum/textures/entities}/DustySkeleton.png (100%) rename resources/{mods/Atum/textures/mobs => assets/atum/textures/entities}/Mummy.png (100%) rename resources/{mods/Atum/textures/mobs => assets/atum/textures/entities}/PharaohBlue.png (100%) rename resources/{mods/Atum/textures/mobs => assets/atum/textures/entities}/PharaohBlue_old.png (100%) rename resources/{mods/Atum/textures/mobs => assets/atum/textures/entities}/PharaohGreen.png (100%) rename resources/{mods/Atum/textures/mobs => assets/atum/textures/entities}/PharaohRed.png (100%) rename resources/{mods/Atum/textures/mobs => assets/atum/textures/entities}/StoneSoldier.png (100%) rename resources/{mods/Atum => assets/atum}/textures/hud/mummyblur.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/AkersToil.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/AmunetsHomecoming.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/Anhur's Might.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/AnhursMight.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/AnubisMercy.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/AnuketsBounty.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/Arrow.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/ArrowEntity.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/AtensFury.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/Bow.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/ClothScrap.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/Date.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/DesertBoots.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/DesertChest.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/DesertHelmet.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/DesertLegs.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/DiamondBroach.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/DiamondIdol.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/DiamondNecklace.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/DiamondRing.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/DiamondScepter.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/DirtyBroach.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/DirtyIdol.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/DirtyNecklace.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/DirtyRing.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/DirtyScepter.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/Ectoplasm.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/EmeraldBroach.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/EmeraldIdol.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/EmeraldNecklace.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/EmeraldRing.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/EmeraldScepter.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/Fish0.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/Fish1.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/Fish2.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/Fish3.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/Fish4.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/FlaxItem.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/FlaxSeeds.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/GebsBlessing.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/GebsSolidarity.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/GoldBroach.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/GoldIdol.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/GoldNecklace.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/GoldRing.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/GoldScepter.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/Greatsword.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/HedetetsSting.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/HedetetsVenom.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/HedetetsVenom_pull_0.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/HedetetsVenom_pull_1.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/HedetetsVenom_pull_2.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/HorusFlight.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/HorusSoaring.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/HorusSoaring_pull_0.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/HorusSoaring_pull_1.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/HorusSoaring_pull_2.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/IsisEmbrace.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/IsisHealing.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/LimestoneAxe.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/LimestoneHoe.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/LimestonePickaxe.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/LimestoneShovel.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/LimestoneSword.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/Linen.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/MaatsBalance.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/MafdetsQuickness.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/MnevisHorns.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/MonthusBlast.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/MonthusBlast_pull_0.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/MonthusBlast_pull_1.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/MonthusBlast_pull_2.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/MonthusStrike.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/MummyBoots.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/MummyChest.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/MummyHelmet.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/MummyLegs.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/NeithsAudacity.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/NusFlux.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/NutsAgility.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/NutsCall.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/OsirisWill.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/PapyrusPlantItem.png (100%) rename resources/{mods/Atum/textures/items/ptahsDecadence.png => assets/atum/textures/items/PtahsDecadence.png} (100%) rename resources/{mods/Atum => assets/atum}/textures/items/PtahsDestruction.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/RasGlory.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/RubyBroach.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/RubyIdol.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/RubyNecklace.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/RubyRing.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/RubyScepter.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/SapphireBroach.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/SapphireIdol.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/SapphireNecklace.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/SapphireRing.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/SapphireScepter.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/Scarab.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/Scepter.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/Scimitar.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/Scroll.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/SekhmetsWrath.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/ShusBreath.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/ShusBreath_pull_0.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/ShusBreath_pull_1.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/ShusBreath_pull_2.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/SilverBroach.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/SilverIdol.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/SilverNecklace.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/SilverRing.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/SilverScepter.png (100%) rename resources/{mods/Atum/textures/items/SoteksRage.png => assets/atum/textures/items/SobeksRage.png} (100%) rename resources/{mods/Atum => assets/atum}/textures/items/StoneChunk.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/StoneSoldierSword.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/WandererBoots.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/WandererChest.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/WandererHelmet.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/WandererLegs.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/WolfPelt.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/atens_pull_0.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/atens_pull_1.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/atens_pull_2.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/bow_pull_0.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/bow_pull_1.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/bow_pull_2.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/neiths_pull_0.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/neiths_pull_1.png (100%) rename resources/{mods/Atum => assets/atum}/textures/items/neiths_pull_2.png (100%) rename resources/{mods/Atum => assets/atum}/textures/particles/Sand.png (100%) rename resources/{mods/Atum => assets/atum}/textures/projectiles/arrows_double.png (100%) rename resources/{mods/Atum => assets/atum}/textures/projectiles/arrows_exploding.png (100%) rename resources/{mods/Atum => assets/atum}/textures/projectiles/arrows_fire.png (100%) rename resources/{mods/Atum => assets/atum}/textures/projectiles/arrows_poison.png (100%) rename resources/{mods/Atum => assets/atum}/textures/projectiles/arrows_quickdraw.png (100%) rename resources/{mods/Atum => assets/atum}/textures/projectiles/arrows_velocity.png (100%) rename resources/{mods/Atum => assets/atum}/textures/projectiles/nutscall.png (100%) delete mode 100644 resources/mods/Atum/textures/blocks/portal.txt diff --git a/build.xml b/build.xml new file mode 100644 index 0000000..7bca470 --- /dev/null +++ b/build.xml @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + version ${project.complete.version} (${project.version}) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/common/rebelkeithy/mods/atum/Atum.java b/common/rebelkeithy/mods/atum/Atum.java index 91dd449..bda8bdc 100644 --- a/common/rebelkeithy/mods/atum/Atum.java +++ b/common/rebelkeithy/mods/atum/Atum.java @@ -1,10 +1,8 @@ package rebelkeithy.mods.atum; -import java.io.File; -import java.net.MalformedURLException; import java.util.ArrayList; -import net.minecraft.client.audio.SoundPoolEntry; +import net.minecraft.client.Minecraft; import net.minecraft.entity.EntityList; import net.minecraft.potion.Potion; import net.minecraft.world.biome.BiomeGenBase; @@ -34,10 +32,10 @@ import rebelkeithy.mods.atum.world.AtumWorldProvider; import rebelkeithy.mods.atum.world.biome.BiomeGenAtumDesert; import cpw.mods.fml.common.Mod; +import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Init; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.Mod.PostInit; -import cpw.mods.fml.common.Mod.PreInit; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; @@ -47,111 +45,71 @@ import cpw.mods.fml.common.registry.EntityRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; -// Start of post-modjam branch +@Mod(modid = Atum.modID, name = "Atum", version = "0.4.4B") +@NetworkMod(channels = { "Atum" }, clientSideRequired = true, serverSideRequired = false) +public class Atum { -@Mod(modid="Atum", name="Atum", version="0.4.4B") -@NetworkMod(channels = {"Atum"}, clientSideRequired = true, serverSideRequired = false) -public class Atum -{ - @Instance(value="Atum") + public static final String modID = "Atum"; + @Instance("Atum") public static Atum instance; - @SidedProxy(clientSide = "rebelkeithy.mods.atum.ClientProxy", serverSide = "rebelkeithy.mods.atum.CommonProxy") public static CommonProxy proxy; - public static AtumTab tabs = new AtumTab("Atum"); - public static BiomeGenBase atumDesert; - public static Potion stun; - //public static SoundPoolEntry music; - - - @PreInit - public void preInit(FMLPreInitializationEvent event) - { + @EventHandler + public void preInit(FMLPreInitializationEvent event) { AtumConfig.initConfig(); - AtumBlocks.init(); AtumBlocks.registerBlocks(); - AtumItems.init(); - - /* - try - { - System.out.println("Does file exist, " + (new File("C:/Users/Keithy/Documents/Atum 1.5.1/source/resources/mods/Atum/music")).exists()); - music = new SoundPoolEntry("AtumMusic", (new File("C:/Users/Keithy/Documents/Atum 1.5.1/source/resources/mods/Atum/music")).toURI().toURL()); - } catch (MalformedURLException e) - { - // TODO Auto-generated catch block - e.printStackTrace(); - }*/ - - ArrayList biomeList = new ArrayList(); - for(int i = 0; i < BiomeGenBase.biomeList.length; i++) - { - if(BiomeGenBase.biomeList[i] != null && BiomeGenBase.biomeList[i].biomeID != AtumConfig.biomeAtumDesertID) - { - biomeList.add(BiomeGenBase.biomeList[i]); + + } + + @EventHandler + public void init(FMLInitializationEvent event) { + ArrayList biomeList = new ArrayList(); + int entityID; + for (entityID = 0; entityID < BiomeGenBase.biomeList.length; ++entityID) { + if (BiomeGenBase.biomeList[entityID] != null && BiomeGenBase.biomeList[entityID].biomeID != AtumConfig.biomeAtumDesertID) { + biomeList.add(BiomeGenBase.biomeList[entityID]); } } - - int entityID; + entityID = EntityRegistry.findGlobalUniqueEntityId(); - //EntityRegistry.registerGlobalEntityID(EntityMummy.class, "AtumMummy", entityID); EntityRegistry.registerModEntity(EntityMummy.class, "AtumMummy", 20, this, 64, 1, true); - EntityList.addMapping(EntityMummy.class, "AtumMummy", 20, 0x515838, 0x868F6B); - + EntityList.addMapping(EntityMummy.class, "AtumMummy", 20, 5331000, 8818539); entityID = EntityRegistry.findGlobalUniqueEntityId(); - //EntityRegistry.registerGlobalEntityID(EntityBanditWarrior.class, "AtumBanditWarrior", entityID); - EntityRegistry.registerModEntity(EntityBanditWarrior.class, "AtumBanditWarrior", 21, this, 64, 1, true); - EntityList.addMapping(EntityBanditWarrior.class, "AtumBanditWarrior", 21, 0xC2C2C2, 0x040F85); - + EntityRegistry.registerModEntity(EntityBanditWarrior.class, "AtumBanditWarrior", 21, this, 64, 1, true); + EntityList.addMapping(EntityBanditWarrior.class, "AtumBanditWarrior", 21, 12763842, 266117); entityID = EntityRegistry.findGlobalUniqueEntityId(); - //EntityRegistry.registerGlobalEntityID(EntityBanditArcher.class, "AtumBanditArcher", entityID); - EntityRegistry.registerModEntity(EntityBanditArcher.class, "AtumBanditArcher", 22, this, 64, 1, true); - EntityList.addMapping(EntityBanditArcher.class, "AtumBanditArcher", 22, 0xC2C2C2, 0x7E0C0C); - + EntityRegistry.registerModEntity(EntityBanditArcher.class, "AtumBanditArcher", 22, this, 64, 1, true); + EntityList.addMapping(EntityBanditArcher.class, "AtumBanditArcher", 22, 12763842, 8260620); entityID = EntityRegistry.findGlobalUniqueEntityId(); - //EntityRegistry.registerGlobalEntityID(EntityPharaoh.class, "AtumPharaoh", entityID); - EntityRegistry.registerModEntity(EntityPharaoh.class, "AtumPharaoh", 23, this, 64, 1, true); - EntityList.addMapping(EntityPharaoh.class, "AtumPharaoh", 23, 0xD4BC37, 0x3A4BE0); - + EntityRegistry.registerModEntity(EntityPharaoh.class, "AtumPharaoh", 23, this, 64, 1, true); + EntityList.addMapping(EntityPharaoh.class, "AtumPharaoh", 23, 13941815, 3820512); entityID = EntityRegistry.findGlobalUniqueEntityId(); - //EntityRegistry.registerGlobalEntityID(EntityDustySkeleton.class, "AtumDustySkeleton", entityID); - EntityRegistry.registerModEntity(EntityDustySkeleton.class, "AtumDustySkeleton", 24, this, 64, 1, true); - EntityList.addMapping(EntityDustySkeleton.class, "AtumDustySkeleton", 24, 0xB59C7D, 0x6F5C43); - + EntityRegistry.registerModEntity(EntityDustySkeleton.class, "AtumDustySkeleton", 24, this, 64, 1, true); + EntityList.addMapping(EntityDustySkeleton.class, "AtumDustySkeleton", 24, 11902077, 7298115); entityID = EntityRegistry.findGlobalUniqueEntityId(); - //EntityRegistry.registerGlobalEntityID(EntityGhost.class, "AtumDesertGhost", entityID); - EntityRegistry.registerModEntity(EntityGhost.class, "AtumDesertGhost", 25, this, 64, 1, true); - EntityList.addMapping(EntityGhost.class, "AtumDesertGhost", 25, 0xE7DBC8, 0xAD9467); - + EntityRegistry.registerModEntity(EntityGhost.class, "AtumDesertGhost", 25, this, 64, 1, true); + EntityList.addMapping(EntityGhost.class, "AtumDesertGhost", 25, 15195080, 11375719); entityID = EntityRegistry.findGlobalUniqueEntityId(); - //EntityRegistry.registerGlobalEntityID(EntityStoneSoldier.class, "AtumStoneSoldier", entityID); - EntityRegistry.registerModEntity(EntityStoneSoldier.class, "AtumStoneSoldier", 26, this, 64, 1, true); - EntityList.addMapping(EntityStoneSoldier.class, "AtumStoneSoldier", 26, 0x918354, 0x695D37); - + EntityRegistry.registerModEntity(EntityStoneSoldier.class, "AtumStoneSoldier", 26, this, 64, 1, true); + EntityList.addMapping(EntityStoneSoldier.class, "AtumStoneSoldier", 26, 9536340, 6905143); entityID = EntityRegistry.findGlobalUniqueEntityId(); - //EntityRegistry.registerGlobalEntityID(EntityDesertWolf.class, "AtumDesertWolf", entityID); - EntityRegistry.registerModEntity(EntityDesertWolf.class, "AtumDesertWolf", 27, this, 64, 1, true); - EntityList.addMapping(EntityDesertWolf.class, "AtumDesertWolf", 27, 0x918354, 0x695D37); - + EntityRegistry.registerModEntity(EntityDesertWolf.class, "AtumDesertWolf", 27, this, 64, 1, true); + EntityList.addMapping(EntityDesertWolf.class, "AtumDesertWolf", 27, 9536340, 6905143); entityID = EntityRegistry.findGlobalUniqueEntityId(); - //EntityRegistry.registerGlobalEntityID(EntityBanditWarlord.class, "AtumBanditWarlord", entityID); - EntityRegistry.registerModEntity(EntityBanditWarlord.class, "AtumBanditWarlord", 28, this, 64, 1, true); - EntityList.addMapping(EntityBanditWarlord.class, "AtumBanditWarlord", 28, 0x918354, 0x695D37); - - EntityRegistry.registerModEntity(EntityBarbarian.class, "AtumBarbarian", 29, this, 64, 1, true); - EntityList.addMapping(EntityBarbarian.class, "AtumBarbarian", 29, 0x918354, 0x695D37); - + EntityRegistry.registerModEntity(EntityBanditWarlord.class, "AtumBanditWarlord", 28, this, 64, 1, true); + EntityList.addMapping(EntityBanditWarlord.class, "AtumBanditWarlord", 28, 9536340, 6905143); + EntityRegistry.registerModEntity(EntityBarbarian.class, "AtumBarbarian", 29, this, 64, 1, true); + EntityList.addMapping(EntityBarbarian.class, "AtumBarbarian", 29, 9536340, 6905143); entityID = EntityRegistry.findGlobalUniqueEntityId(); EntityRegistry.registerModEntity(EntityFireSpearCombined.class, "FireSpearCombined", entityID, this, 64, 1, true); entityID = EntityRegistry.findGlobalUniqueEntityId(); EntityRegistry.registerModEntity(EntityFireSpearSeperated.class, "FireSpearSeperated", entityID, this, 64, 1, true); - EntityRegistry.registerModEntity(EntityArrowVelocity.class, "ArrowVeloctiy", 0, this, 64, 1, true); EntityRegistry.registerModEntity(EntityArrowExplosive.class, "ArrowExplosive", 1, this, 64, 1, true); EntityRegistry.registerModEntity(EntityArrowPoison.class, "ArrowPoison", 2, this, 64, 1, true); @@ -160,61 +118,37 @@ public void preInit(FMLPreInitializationEvent event) EntityRegistry.registerModEntity(EntityArrowQuickdraw.class, "ArrowFire", 5, this, 64, 1, true); EntityRegistry.registerModEntity(EntityNutsCall.class, "EntityNutsCall", 6, this, 64, 1, true); EntityRegistry.registerModEntity(EntityAtumFishHook.class, "EntityAtumFishHook", 7, this, 64, 1, false); - - //EntityRegistry.registerGlobalEntityID(EntityAtumFishHook.class, "AtunFishHook", 203); - - //EntityList.addMapping(EntityBandit.class, "AtumBanditArcher", ConfigAtum.banditArcherID, 0xC2C2C2, 0x070C0C); - atumDesert = (new BiomeGenAtumDesert(AtumConfig.biomeAtumDesertID)).setColor(16421912).setBiomeName("AtumDesert").setDisableRain().setTemperatureRainfall(2.0F, 0.0F).setMinMaxHeight(0.1F, 0.2F); - proxy.registerModelRenderers(); proxy.registerTickHandlers(); proxy.preloadImages(); proxy.registerParticles(); proxy.registerMusic(); MinecraftForge.EVENT_BUS.register(new AtumEventListener()); - //MinecraftForge.EVENT_BUS.register(new MobSpawnController()); NetworkRegistry.instance().registerGuiHandler(this, new AtumGuiHandler()); } - - @Init - public void init(FMLInitializationEvent event) - { - DimensionManager.registerProviderType(AtumConfig.dimensionID, AtumWorldProvider.class, true); - DimensionManager.registerDimension(AtumConfig.dimensionID , AtumConfig.dimensionID); - stun = new PotionStun(21, true, 8171462).setPotionName("potion.stun").setIconIndex(0, 0); - - addNames(); + @EventHandler + public void postInit(FMLPostInitializationEvent event) { + DimensionManager.registerProviderType(AtumConfig.dimensionID, AtumWorldProvider.class, true); + DimensionManager.registerDimension(AtumConfig.dimensionID, AtumConfig.dimensionID); + stun = (new PotionStun(21, true, 8171462)).setPotionName("potion.stun").setIconIndex(0, 0); + this.addNames(); addOreDictionaryEntries(); - AtumRecipes.addRecipes(); AtumRecipes.addShapelessRecipes(); AtumRecipes.addSmeltingRecipes(); } - - @PostInit - public void postInit(FMLPostInitializationEvent event) - { - - } - - public static void addOreDictionaryEntries() - { - // Palm log to "logWood" - OreDictionary.registerOre("logWood", AtumBlocks.log); - - // Palm planks to "plankWood" - OreDictionary.registerOre("plankWood", AtumBlocks.planks); + + public static void addOreDictionaryEntries() { + OreDictionary.registerOre("logWood", AtumBlocks.log); + OreDictionary.registerOre("plankWood", AtumBlocks.planks); } - - public void addNames() - { + + public void addNames() { AtumBlocks.addNames(); AtumItems.addNames(); - LanguageRegistry.instance().addStringLocalization("itemGroup.Atum", "Atum"); - LanguageRegistry.instance().addStringLocalization("entity.AtumMummy.name", "Mummy"); LanguageRegistry.instance().addStringLocalization("entity.AtumBanditWarrior.name", "Brigand"); LanguageRegistry.instance().addStringLocalization("entity.AtumBanditArcher.name", "Nomad"); @@ -225,4 +159,5 @@ public void addNames() LanguageRegistry.instance().addStringLocalization("entity.AtumDesertWolf.name", "Desert Wolf"); LanguageRegistry.instance().addStringLocalization("entity.AtumBanditWarlord.name", "Warlord"); } + } diff --git a/common/rebelkeithy/mods/atum/AtumBlocks.java b/common/rebelkeithy/mods/atum/AtumBlocks.java index ebb1fdd..0db015b 100644 --- a/common/rebelkeithy/mods/atum/AtumBlocks.java +++ b/common/rebelkeithy/mods/atum/AtumBlocks.java @@ -8,23 +8,25 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.common.ForgeHooks; import net.minecraftforge.common.MinecraftForge; +import rebelkeithy.mods.atum.Atum; +import rebelkeithy.mods.atum.AtumConfig; import rebelkeithy.mods.atum.blocks.AtumStone; import rebelkeithy.mods.atum.blocks.BlockArrowTrap; +import rebelkeithy.mods.atum.blocks.BlockAtumBrick; import rebelkeithy.mods.atum.blocks.BlockAtumGlass; import rebelkeithy.mods.atum.blocks.BlockAtumLeaves; -import rebelkeithy.mods.atum.blocks.BlockPalmLog; import rebelkeithy.mods.atum.blocks.BlockAtumPane; import rebelkeithy.mods.atum.blocks.BlockAtumPortal; import rebelkeithy.mods.atum.blocks.BlockAtumSand; -import rebelkeithy.mods.atum.blocks.BlockPalmSapling; import rebelkeithy.mods.atum.blocks.BlockAtumSlab; import rebelkeithy.mods.atum.blocks.BlockAtumStairs; -import rebelkeithy.mods.atum.blocks.BlockAtumBrick; import rebelkeithy.mods.atum.blocks.BlockAtumWall; import rebelkeithy.mods.atum.blocks.BlockDate; import rebelkeithy.mods.atum.blocks.BlockFertileSoil; import rebelkeithy.mods.atum.blocks.BlockFertileSoilTilled; import rebelkeithy.mods.atum.blocks.BlockFlax; +import rebelkeithy.mods.atum.blocks.BlockPalmLog; +import rebelkeithy.mods.atum.blocks.BlockPalmSapling; import rebelkeithy.mods.atum.blocks.BlockPapyrus; import rebelkeithy.mods.atum.blocks.BlockSandLayered; import rebelkeithy.mods.atum.blocks.BlockShrub; @@ -40,8 +42,8 @@ import rebelkeithy.mods.atum.furnace.BlockLimeStoneFurnace; import rebelkeithy.mods.atum.furnace.TileEntityLimestoneFurnace; -public class AtumBlocks -{ +public class AtumBlocks { + public static BlockAtumPortal portal; public static Block cursedChest; public static Block sand; @@ -63,12 +65,10 @@ public class AtumBlocks public static Block framedGlass; public static Block palmSapling; public static Block dateBlock; - public static Block shrub; public static Block weed; public static Block papyrus; public static Block flax; - public static BlockFertileSoil fertileSoil; public static Block fertileSoilTilled; public static Block log; @@ -76,87 +76,73 @@ public class AtumBlocks public static Block planks; public static Block thinCrystalGlass; public static Block thinFramedGlass; - public static Block trapArrow; public static Block pharaohChest; - public static Block redstoneOre; public static Block coalOre; public static Block ironOre; public static Block goldOre; public static Block lapisOre; public static Block diamondOre; - public static Block furnaceIdle; public static Block furnaceBurning; - - public static void init() - { - - portal = new BlockAtumPortal(AtumConfig.portalBlockID); - cursedChest = new BlockChestSpawner(AtumConfig.cursedChestID).setUnlocalizedName("AtumCursedChest").setHardness(4.0F).setCreativeTab(Atum.tabs); - pharaohChest = new PharaohChest(AtumConfig.pharaohChestID).setUnlocalizedName("AtumPharaohChest").setHardness(4.0F).setCreativeTab(Atum.tabs); - sand = new BlockAtumSand(AtumConfig.sandID).setUnlocalizedName("Atum:AtumSand").setStepSound(Block.soundSandFootstep).setHardness(0.5F).setCreativeTab(Atum.tabs); - stone = new AtumStone(AtumConfig.stoneID).setUnlocalizedName("Atum:AtumStone").setHardness(1.5F).setCreativeTab(Atum.tabs); - cobble = new Block(AtumConfig.cobbleID, Material.rock).setUnlocalizedName("Atum:AtumCobble").setHardness(2.0F).setCreativeTab(Atum.tabs); - crackedLargeBrick = new Block(AtumConfig.crackedLargeBrickID, Material.rock).setUnlocalizedName("Atum:AtumCrackedLargeBrick").setHardness(2.0F).setCreativeTab(Atum.tabs); - largeBrick = new BlockAtumBrick(AtumConfig.largeBrickID, Material.rock).setUnlocalizedName("Atum:AtumBrickLarge").setHardness(2.0F).setCreativeTab(Atum.tabs); - smallBrick = new BlockAtumBrick(AtumConfig.smallBrickID, Material.rock).setUnlocalizedName("Atum:AtumBrickSmall").setHardness(2.0F).setCreativeTab(Atum.tabs); - carvedBrick = new BlockAtumBrick(AtumConfig.carvedBrickID, Material.rock).setUnlocalizedName("Atum:AtumBrickCarved").setHardness(2.0F).setCreativeTab(Atum.tabs); - slabs = (BlockAtumSlab) new BlockAtumSlab(AtumConfig.slabID, false, Material.rock).setUnlocalizedName("Atum:AtumSlab").setHardness(2.0F).setCreativeTab(Atum.tabs); - doubleSlab = (BlockAtumSlab) new BlockAtumSlab(AtumConfig.doubleSlabID, true, Material.rock).setUnlocalizedName("Atum:AtumDoubleSlab").setHardness(2.0F); - smoothStairs = (new BlockAtumStairs(AtumConfig.smoothStairsID, stone, 0)).setUnlocalizedName("Atum:SmoothStair").setCreativeTab(Atum.tabs); - cobbleStairs = (new BlockAtumStairs(AtumConfig.cobbleStairsID, cobble, 0)).setUnlocalizedName("Atum:CobbleStair").setCreativeTab(Atum.tabs); - largeStoneStairs = (new BlockAtumStairs(AtumConfig.largeStoneStairsID, largeBrick, 0)).setUnlocalizedName("Atum:LargeStoneStair").setCreativeTab(Atum.tabs); - smallStoneStairs = (new BlockAtumStairs(AtumConfig.smallStoneStairsID, smallBrick, 0)).setUnlocalizedName("Atum:SmallStoneStair").setCreativeTab(Atum.tabs); - shrub = (new BlockShrub(AtumConfig.shrubID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("Atum:Shrub").setCreativeTab(Atum.tabs); - weed = (new BlockShrub(AtumConfig.weedID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("Atum:Weed").setCreativeTab(Atum.tabs); - papyrus = (new BlockPapyrus(AtumConfig.papyrusBlockID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("Atum:AtumPapyrus"); - wall = (new BlockAtumWall(AtumConfig.wallID, stone)).setUnlocalizedName("Atum:AtumStoneWall").setHardness(0.3F).setCreativeTab(Atum.tabs); - crystalGlass = (new BlockAtumGlass(AtumConfig.crystalGlassID, "Atum:AtumCrystalGlass", Material.glass, false)).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("Atum:AtumCrystalGlass").setHardness(0.3F).setCreativeTab(Atum.tabs); - framedGlass = (new BlockAtumGlass(AtumConfig.framedGlassID, "Atum:AtumFramedGlass", Material.glass, false)).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("Atum:AtumFramedGlass").setCreativeTab(Atum.tabs); - palmSapling = (new BlockPalmSapling(AtumConfig.palmSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("Atum:AtumPalmSapling").setCreativeTab(Atum.tabs); - dateBlock = (new BlockDate(AtumConfig.blockDateID, Material.plants)).setHardness(0.0F).setUnlocalizedName("Atum:AtumDate"); - flax = (new BlockFlax(AtumConfig.flaxBlockID)).setUnlocalizedName("Atum:FlaxBlock").setCreativeTab(Atum.tabs); - - thinCrystalGlass = (new BlockAtumPane(AtumConfig.thinCrystalGlassID, "Atum:AtumCrystalGlass", "thinglass_top", Material.glass, false)).setHardness(0.3F).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("thinCrystalGlass").setCreativeTab(Atum.tabs); - thinFramedGlass = (new BlockAtumPane(AtumConfig.thinFramedGlassID, "Atum:AtumFramedGlass", "Atum:thinglass_top", Material.glass, false)).setHardness(0.3F).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("thinFramedGlass").setCreativeTab(Atum.tabs); - - sandLayered = (new BlockSandLayered(AtumConfig.sandLayeredID)).setHardness(0.1F).setStepSound(Block.soundSnowFootstep).setUnlocalizedName("SandLayered").setLightOpacity(0).setCreativeTab(Atum.tabs); - - fertileSoil = (BlockFertileSoil) new BlockFertileSoil(AtumConfig.fertileSoilID).setUnlocalizedName("Atum:FertileSoil").setHardness(0.5F).setStepSound(Block.soundGrassFootstep).setCreativeTab(Atum.tabs); - fertileSoilTilled = new BlockFertileSoilTilled(AtumConfig.fertileSoilTillID).setUnlocalizedName("Atum:FertileSoilTilled").setHardness(0.5F).setStepSound(Block.soundGrassFootstep).setCreativeTab(Atum.tabs); - log = new BlockPalmLog(AtumConfig.logID).setUnlocalizedName("AtumLogs").setHardness(2F).setStepSound(Block.soundWoodFootstep).setCreativeTab(Atum.tabs); - leaves = new BlockAtumLeaves(AtumConfig.leavesID).setUnlocalizedName("AtumLeaves").setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("AtumLeaves").setCreativeTab(Atum.tabs); - planks = (new Block(AtumConfig.plankID, Material.wood)).setUnlocalizedName("AtumPlanks").setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("Atum:Planks").setCreativeTab(Atum.tabs); - - trapArrow = new BlockArrowTrap(AtumConfig.trapArrowID).setUnlocalizedName("FireTrap").setHardness(0.2F).setCreativeTab(Atum.tabs); - furnaceIdle = (new BlockLimeStoneFurnace(AtumConfig.furnaceIdleID, false)).setHardness(3.5F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("limestonefurnaceidle").setCreativeTab(Atum.tabs); - furnaceBurning = (new BlockLimeStoneFurnace(AtumConfig.furnaceBurningID, true)).setHardness(3.5F).setStepSound(Block.soundStoneFootstep).setLightValue(0.875F).setUnlocalizedName("limestonefurnaceactive"); - - redstoneOre = new BlockAtumRedstone(AtumConfig.redstoneOreID).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Atum:AtumRedstone").setCreativeTab(Atum.tabs); - goldOre = (new BlockAtumOre(AtumConfig.goldOreID)).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Atum:AtumGold").setCreativeTab(Atum.tabs); - ironOre = (new BlockAtumOre(AtumConfig.ironOreID)).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Atum:AtumIron").setCreativeTab(Atum.tabs); - coalOre = (new BlockAtumOre(AtumConfig.coalOreID)).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Atum:AtumCoal").setCreativeTab(Atum.tabs); - lapisOre = (new BlockAtumOre(AtumConfig.lapisOreID)).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Atum:AtumLapis").setCreativeTab(Atum.tabs); - diamondOre = (new BlockAtumOre(AtumConfig.diamondOreID)).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Atum:AtumDiamond").setCreativeTab(Atum.tabs); + public static void init() { + portal = new BlockAtumPortal(AtumConfig.portalBlockID); + cursedChest = (new BlockChestSpawner(AtumConfig.cursedChestID)).setUnlocalizedName("AtumCursedChest").setHardness(4.0F).setCreativeTab(Atum.tabs); + pharaohChest = (new PharaohChest(AtumConfig.pharaohChestID)).setUnlocalizedName("AtumPharaohChest").setHardness(4.0F).setCreativeTab(Atum.tabs); + sand = (new BlockAtumSand(AtumConfig.sandID)).setUnlocalizedName("atum:AtumSand").setStepSound(Block.soundSandFootstep).setHardness(0.5F).setCreativeTab(Atum.tabs); + stone = (new AtumStone(AtumConfig.stoneID)).setUnlocalizedName("atum:AtumStone").setHardness(1.5F).setCreativeTab(Atum.tabs); + cobble = (new Block(AtumConfig.cobbleID, Material.rock)).setUnlocalizedName("atum:AtumCobble").setHardness(2.0F).setCreativeTab(Atum.tabs).setTextureName(Atum.modID + ":AtumCobble"); + crackedLargeBrick = (new Block(AtumConfig.crackedLargeBrickID, Material.rock)).setUnlocalizedName("atum:AtumCrackedLargeBrick").setHardness(2.0F).setCreativeTab(Atum.tabs).setTextureName(Atum.modID + ":AtumCrackedLargeBrick"); + largeBrick = new BlockAtumBrick(AtumConfig.largeBrickID, Material.rock).setUnlocalizedName("atum:AtumBrickLarge").setHardness(2.0F).setCreativeTab(Atum.tabs); + smallBrick = new BlockAtumBrick(AtumConfig.smallBrickID, Material.rock).setUnlocalizedName("atum:AtumBrickSmall").setHardness(2.0F).setCreativeTab(Atum.tabs); + carvedBrick = (new BlockAtumBrick(AtumConfig.carvedBrickID, Material.rock)).setUnlocalizedName("atum:AtumBrickCarved").setHardness(2.0F).setCreativeTab(Atum.tabs); + slabs = (BlockAtumSlab) (new BlockAtumSlab(AtumConfig.slabID, false, Material.rock)).setUnlocalizedName("atum:AtumSlab").setHardness(2.0F).setCreativeTab(Atum.tabs); + doubleSlab = (BlockAtumSlab) (new BlockAtumSlab(AtumConfig.doubleSlabID, true, Material.rock)).setUnlocalizedName("atum:AtumDoubleSlab").setHardness(2.0F); + smoothStairs = (new BlockAtumStairs(AtumConfig.smoothStairsID, stone, 0)).setUnlocalizedName("atum:SmoothStair").setCreativeTab(Atum.tabs); + cobbleStairs = (new BlockAtumStairs(AtumConfig.cobbleStairsID, cobble, 0)).setUnlocalizedName("atum:CobbleStair").setCreativeTab(Atum.tabs); + largeStoneStairs = (new BlockAtumStairs(AtumConfig.largeStoneStairsID, largeBrick, 0)).setUnlocalizedName("atum:LargeStoneStair").setCreativeTab(Atum.tabs); + smallStoneStairs = (new BlockAtumStairs(AtumConfig.smallStoneStairsID, smallBrick, 0)).setUnlocalizedName("atum:SmallStoneStair").setCreativeTab(Atum.tabs); + shrub = (new BlockShrub(AtumConfig.shrubID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("atum:Shrub").setCreativeTab(Atum.tabs); + weed = (new BlockShrub(AtumConfig.weedID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("atum:Weed").setCreativeTab(Atum.tabs); + papyrus = (new BlockPapyrus(AtumConfig.papyrusBlockID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("atum:AtumPapyrus"); + wall = (new BlockAtumWall(AtumConfig.wallID, stone)).setUnlocalizedName("atum:AtumStoneWall").setHardness(0.3F).setCreativeTab(Atum.tabs); + crystalGlass = (new BlockAtumGlass(AtumConfig.crystalGlassID, "atum:AtumCrystalGlass", Material.glass, false)).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("atum:AtumCrystalGlass").setHardness(0.3F).setCreativeTab(Atum.tabs); + framedGlass = (new BlockAtumGlass(AtumConfig.framedGlassID, "atum:AtumFramedGlass", Material.glass, false)).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("atum:AtumFramedGlass").setCreativeTab(Atum.tabs); + palmSapling = (new BlockPalmSapling(AtumConfig.palmSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("atum:AtumPalmSapling").setCreativeTab(Atum.tabs); + dateBlock = (new BlockDate(AtumConfig.blockDateID, Material.plants)).setHardness(0.0F).setUnlocalizedName("atum:AtumDate").setTextureName("atum:AtumDate"); + flax = (new BlockFlax(AtumConfig.flaxBlockID)).setUnlocalizedName("atum:FlaxBlock").setCreativeTab(Atum.tabs); + thinCrystalGlass = (new BlockAtumPane(AtumConfig.thinCrystalGlassID, "atum:AtumCrystalGlass", "thinglass_top", Material.glass, false)).setHardness(0.3F).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("thinCrystalGlass").setCreativeTab(Atum.tabs); + thinFramedGlass = (new BlockAtumPane(AtumConfig.thinFramedGlassID, "atum:AtumFramedGlass", "atum:thinglass_top", Material.glass, false)).setHardness(0.3F).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("thinFramedGlass").setCreativeTab(Atum.tabs); + sandLayered = (new BlockSandLayered(AtumConfig.sandLayeredID)).setHardness(0.1F).setStepSound(Block.soundSnowFootstep).setUnlocalizedName("SandLayered").setLightOpacity(0).setCreativeTab(Atum.tabs); + fertileSoil = (BlockFertileSoil) (new BlockFertileSoil(AtumConfig.fertileSoilID)).setUnlocalizedName("atum:FertileSoil").setHardness(0.5F).setStepSound(Block.soundGrassFootstep).setCreativeTab(Atum.tabs); + fertileSoilTilled = (new BlockFertileSoilTilled(AtumConfig.fertileSoilTillID)).setUnlocalizedName("atum:FertileSoilTilled").setHardness(0.5F).setStepSound(Block.soundGrassFootstep).setCreativeTab(Atum.tabs); + log = (new BlockPalmLog(AtumConfig.logID)).setUnlocalizedName("AtumLogs").setHardness(2.0F).setStepSound(Block.soundWoodFootstep).setCreativeTab(Atum.tabs); + leaves = (new BlockAtumLeaves(AtumConfig.leavesID)).setUnlocalizedName("AtumLeaves").setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("AtumLeaves").setCreativeTab(Atum.tabs); + planks = (new Block(AtumConfig.plankID, Material.wood)).setUnlocalizedName("AtumPlanks").setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("atum:Planks").setCreativeTab(Atum.tabs).setTextureName(Atum.modID + ":Planks"); + trapArrow = (new BlockArrowTrap(AtumConfig.trapArrowID)).setUnlocalizedName("FireTrap").setHardness(0.2F).setCreativeTab(Atum.tabs); + furnaceIdle = (new BlockLimeStoneFurnace(AtumConfig.furnaceIdleID, false)).setHardness(3.5F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("limestonefurnaceidle").setCreativeTab(Atum.tabs); + furnaceBurning = (new BlockLimeStoneFurnace(AtumConfig.furnaceBurningID, true)).setHardness(3.5F).setStepSound(Block.soundStoneFootstep).setLightValue(0.875F).setUnlocalizedName("limestonefurnaceactive"); + redstoneOre = (new BlockAtumRedstone(AtumConfig.redstoneOreID)).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("atum:AtumRedstone").setTextureName("atum:AtumRedstone").setCreativeTab(Atum.tabs); + goldOre = (new BlockAtumOre(AtumConfig.goldOreID)).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("atum:AtumGold").setTextureName("atum:AtumGold").setCreativeTab(Atum.tabs); + ironOre = (new BlockAtumOre(AtumConfig.ironOreID)).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("atum:AtumIron").setTextureName("atum:AtumIron").setCreativeTab(Atum.tabs); + coalOre = (new BlockAtumOre(AtumConfig.coalOreID)).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("atum:AtumCoal").setTextureName("atum:AtumCoal").setCreativeTab(Atum.tabs); + lapisOre = (new BlockAtumOre(AtumConfig.lapisOreID)).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("atum:AtumLapis").setTextureName("atum:AtumLapis").setCreativeTab(Atum.tabs); + diamondOre = (new BlockAtumOre(AtumConfig.diamondOreID)).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("atum:AtumDiamond").setTextureName("atum:AtumDiamond").setCreativeTab(Atum.tabs); ForgeHooks.canToolHarvestBlock(sand, 0, new ItemStack(Item.shovelIron)); MinecraftForge.setBlockHarvestLevel(sand, "shovel", 0); - - MinecraftForge.setBlockHarvestLevel(AtumBlocks.coalOre, "pickaxe", 0); - MinecraftForge.setBlockHarvestLevel(AtumBlocks.ironOre, "pickaxe", 1); - MinecraftForge.setBlockHarvestLevel(AtumBlocks.goldOre, "pickaxe", 2); - MinecraftForge.setBlockHarvestLevel(AtumBlocks.lapisOre, "pickaxe", 1); - MinecraftForge.setBlockHarvestLevel(AtumBlocks.diamondOre, "pickaxe", 2); - MinecraftForge.setBlockHarvestLevel(AtumBlocks.redstoneOre, "pickaxe", 2); - + MinecraftForge.setBlockHarvestLevel(coalOre, "pickaxe", 0); + MinecraftForge.setBlockHarvestLevel(ironOre, "pickaxe", 1); + MinecraftForge.setBlockHarvestLevel(goldOre, "pickaxe", 2); + MinecraftForge.setBlockHarvestLevel(lapisOre, "pickaxe", 1); + MinecraftForge.setBlockHarvestLevel(diamondOre, "pickaxe", 2); + MinecraftForge.setBlockHarvestLevel(redstoneOre, "pickaxe", 2); Block.setBurnProperties(AtumConfig.plankID, 5, 20); Block.setBurnProperties(AtumConfig.leavesID, 30, 60); } - - public static void registerBlocks() - { + + public static void registerBlocks() { GameRegistry.registerBlock(sand, "AtumSand"); GameRegistry.registerBlock(stone, "AtumStone"); GameRegistry.registerBlock(cobble, "AtumCobble"); @@ -197,15 +183,13 @@ public static void registerBlocks() GameRegistry.registerBlock(fertileSoilTilled, "FertileSoilTilled"); GameRegistry.registerBlock(thinCrystalGlass, "ThinCrystalGlass"); GameRegistry.registerBlock(thinFramedGlass, "ThinFramedGlass"); - GameRegistry.registerTileEntity(TileEntityChestSpawner.class, "CursedChest"); GameRegistry.registerTileEntity(TileEntityPharaohChest.class, "PharaohChest"); GameRegistry.registerTileEntity(TileEntityArrowTrap.class, "ArrowTrap"); GameRegistry.registerTileEntity(TileEntityLimestoneFurnace.class, "LimestoneFurnace"); } - - public static void addNames() - { + + public static void addNames() { LanguageRegistry.addName(stone, "Limestone"); LanguageRegistry.addName(sand, "Limestone sand"); LanguageRegistry.addName(cobble, "Cracked Limestone"); @@ -214,8 +198,8 @@ public static void addNames() LanguageRegistry.addName(cobble, "Cracked Limestone"); LanguageRegistry.addName(largeBrick, "Large Limestone Bricks"); LanguageRegistry.addName(smallBrick, "Small Limestone Bricks"); - LanguageRegistry.addName(carvedBrick, "Carved Limestone"); - LanguageRegistry.addName(crackedLargeBrick, "Cracked Large Limestone Bricks"); + LanguageRegistry.addName(carvedBrick, "Carved Limestone"); + LanguageRegistry.addName(crackedLargeBrick, "Cracked Large Limestone Bricks"); LanguageRegistry.addName(smoothStairs, "Limestone Stairs"); LanguageRegistry.addName(cobbleStairs, "Cracked Limestone Stairs"); LanguageRegistry.addName(largeStoneStairs, "Large Limestone Brick Stairs"); @@ -227,7 +211,7 @@ public static void addNames() LanguageRegistry.addName(weed, "Desert Shrub"); LanguageRegistry.addName(trapArrow, "Fire Trap"); LanguageRegistry.addName(cursedChest, "Cursed Chest"); - LanguageRegistry.addName(pharaohChest, "Pharaoh's Chest"); + LanguageRegistry.addName(pharaohChest, "Pharaoh\'s Chest"); LanguageRegistry.addName(sandLayered, "Strange Sand"); LanguageRegistry.addName(furnaceIdle, "Limestone Furnace"); LanguageRegistry.addName(redstoneOre, "Redstone Ore"); @@ -242,16 +226,16 @@ public static void addNames() LanguageRegistry.addName(new ItemStack(slabs, 6, 3), "Small Limestone Brick Slabs"); LanguageRegistry.addName(papyrus, "Papyrus"); LanguageRegistry.addName(new ItemStack(wall, 6, 0), "Limestone Wall"); - LanguageRegistry.addName(new ItemStack(wall, 6, 1), "Cracked Limestone Wall"); - LanguageRegistry.addName(new ItemStack(wall, 6, 2), "Large Limestone Brick Wall"); - LanguageRegistry.addName(new ItemStack(wall, 6, 3), "Small Limestone Brick Wall"); - LanguageRegistry.addName(crystalGlass, "Crystal Glass"); - LanguageRegistry.addName(framedGlass, "Framed Crystal Glass"); - LanguageRegistry.addName(palmSapling, "Palm Sapling"); - LanguageRegistry.addName(dateBlock, "Date Block"); - LanguageRegistry.addName(fertileSoil, "Fertile Soil"); - LanguageRegistry.addName(fertileSoilTilled, "Fertile Soil Tilled"); - LanguageRegistry.addName(thinCrystalGlass, "Crystal Glass Panes"); - LanguageRegistry.addName(thinFramedGlass, "Framed Crystal Glass Panes"); + LanguageRegistry.addName(new ItemStack(wall, 6, 1), "Cracked Limestone Wall"); + LanguageRegistry.addName(new ItemStack(wall, 6, 2), "Large Limestone Brick Wall"); + LanguageRegistry.addName(new ItemStack(wall, 6, 3), "Small Limestone Brick Wall"); + LanguageRegistry.addName(crystalGlass, "Crystal Glass"); + LanguageRegistry.addName(framedGlass, "Framed Crystal Glass"); + LanguageRegistry.addName(palmSapling, "Palm Sapling"); + LanguageRegistry.addName(dateBlock, "Date Block"); + LanguageRegistry.addName(fertileSoil, "Fertile Soil"); + LanguageRegistry.addName(fertileSoilTilled, "Fertile Soil Tilled"); + LanguageRegistry.addName(thinCrystalGlass, "Crystal Glass Panes"); + LanguageRegistry.addName(thinFramedGlass, "Framed Crystal Glass Panes"); } } diff --git a/common/rebelkeithy/mods/atum/AtumConfig.java b/common/rebelkeithy/mods/atum/AtumConfig.java index 7058055..00e83bb 100644 --- a/common/rebelkeithy/mods/atum/AtumConfig.java +++ b/common/rebelkeithy/mods/atum/AtumConfig.java @@ -2,264 +2,247 @@ import java.io.File; import java.io.IOException; - import net.minecraftforge.common.Configuration; +import rebelkeithy.mods.atum.Atum; -public class AtumConfig -{ - public static int dimensionID = 17; - - public static int portalBlockID = 1024; - public static int biomeAtumDesertID = 200; - public static int cursedChestID = 1025; - public static int sandID = 1026; - public static int stoneID = 1027; - public static int cobbleID = 1028; - public static int largeBrickID = 1029; - public static int smallBrickID = 1030; - public static int carvedBrickID = 1031; - public static int stoneStairs = 1032; - public static int slabID = 1033; - public static int doubleSlabID = 1034; - public static int smoothStairsID = 1035; - public static int cobbleStairsID = 1036; - public static int largeStoneStairsID = 1037; - public static int smallStoneStairsID = 1038; - public static int shrubID = 1039; - public static int logID = 1040; - public static int leavesID = 1041; - public static int weedID = 1042; - public static int trapArrowID = 1043; - public static int sandLayeredID = 1044; - public static int furnaceIdleID = 1045; - public static int furnaceBurningID = 1046; - public static int plankID = 1047; - public static int pharaohChestID = 1048; - public static int redstoneOreID = 1049; - public static int coalOreID = 1050; - public static int ironOreID = 1051; - public static int goldOreID = 1052; - public static int lapisOreID = 1053; - public static int diamondOreID = 1054; - public static int papyrusBlockID = 1055; - public static int crackedLargeBrickID = 1056; - public static int wallID = 1057; - public static int crystalGlassID = 1058; - public static int framedGlassID = 1059; - public static int palmSaplingID = 1060; - public static int blockDateID = 1061; - public static int flaxBlockID = 1062; - public static int fertileSoilID = 1063; - public static int fertileSoilTillID = 1064; - public static int thinCrystalGlassID = 1065; - public static int thinFramedGlassID = 1066; - - public static int portalSpawnerID = 5000; - public static int scimitarID = 5001; - public static int bowID = 5002; - public static int ptahsPickID = 5003; - public static int soteksRageID = 5004; - public static int osirisWillID = 5005; - public static int akersToilID = 5006; - public static int gebsBlessingID = 5008; - public static int rasGloryID = 5009; - public static int sekhmetsWrathID = 5010; - public static int nutsAgilityID = 5011; - public static int horusFlightID = 5012; - - public static int limestoneShovelID = 5013; - public static int limestonePickaxeID = 5014; - public static int limestoneAxeID = 5015; - public static int limestoneSwordID = 5016; - public static int limestoneHoeID = 5017; - public static int limestonePaxelID = 5018; - public static int lootID = 5019; - public static int stoneSwordID = 5020; - public static int itemPapyrusPlantID = 5021; - public static int scepterID = 5022; - public static int ectoplasmID = 5023; - public static int stoneChunkID = 5024; - public static int clothScrapID = 5025; - public static int mummyHelmetID = 5026; - public static int mummyChestID = 5027; - public static int mummyLegsID = 5028; - public static int mummyBootsID = 5029; - public static int atensFuryID = 5030; - public static int neithsAudacityID = 5031; - public static int scrollID = 5032; - public static int wandererHelmetID = 5033; - public static int wandererChestID = 5034; - public static int wandererLegsID = 5035; - public static int wandererBootsID = 5036; - public static int peltID = 5037; - public static int itemDateID = 5038; - public static int linenID = 5039; - public static int itemFlaxID = 5040; - public static int itemFlaxSeedsID = 5041; - public static int desertHelmetID = 5042; - public static int desertChestID = 5043; - public static int desertLegsID = 5044; - public static int desertBootsID = 5045; - public static int spearID = 5045; - public static int monthusStrikeID = 5046; - public static int anhursMightID = 5047; - public static int hedetetsStingID = 5048; - public static int horusSoaringID = 5049; - public static int shusBreathID = 5050; - public static int ptahsDestructionID = 5051; - public static int monthusBlastID = 5052; - public static int nusFluxID = 5053; - public static int mnevisHornsID = 5054; - public static int isisEmbraceID = 5055; - public static int maatsBalanceID = 5056; - public static int hedetetsVenomID = 5057; - public static int gebsSolidarityID = 5058; - public static int nutsCallID = 5059; - public static int anuketsBountyID = 5060; - public static int mafdetsQuicknessID = 5061; - public static int isisHealingID = 5062; - public static int amunetsHomecomingID = 5063; - public static int anubisMercyID = 5064; - - public static int itemFishID = 5075; - public static int greatswordID = 5076; - - public static boolean protectBlocksInCreative = true; - - - public static void initConfig() - { +public class AtumConfig { - //File fileDir = new File(Atum.proxy.getMinecraftDir() + "/config/Atum"); - //fileDir.mkdir(); - File cfgFile = new File(Atum.proxy.getMinecraftDir() + "/config/Atum.cfg"); - - try - { - cfgFile.createNewFile(); - } catch (IOException e) { - System.out.println(e); - } - - Configuration config = new Configuration(cfgFile); - config.load(); + public static int dimensionID = 17; + public static int portalBlockID = 1024; + public static int biomeAtumDesertID = 200; + public static int cursedChestID = 1025; + public static int sandID = 1026; + public static int stoneID = 1027; + public static int cobbleID = 1028; + public static int largeBrickID = 1029; + public static int smallBrickID = 1030; + public static int carvedBrickID = 1031; + public static int stoneStairs = 1032; + public static int slabID = 1033; + public static int doubleSlabID = 1034; + public static int smoothStairsID = 1035; + public static int cobbleStairsID = 1036; + public static int largeStoneStairsID = 1037; + public static int smallStoneStairsID = 1038; + public static int shrubID = 1039; + public static int logID = 1040; + public static int leavesID = 1041; + public static int weedID = 1042; + public static int trapArrowID = 1043; + public static int sandLayeredID = 1044; + public static int furnaceIdleID = 1045; + public static int furnaceBurningID = 1046; + public static int plankID = 1047; + public static int pharaohChestID = 1048; + public static int redstoneOreID = 1049; + public static int coalOreID = 1050; + public static int ironOreID = 1051; + public static int goldOreID = 1052; + public static int lapisOreID = 1053; + public static int diamondOreID = 1054; + public static int papyrusBlockID = 1055; + public static int crackedLargeBrickID = 1056; + public static int wallID = 1057; + public static int crystalGlassID = 1058; + public static int framedGlassID = 1059; + public static int palmSaplingID = 1060; + public static int blockDateID = 1061; + public static int flaxBlockID = 1062; + public static int fertileSoilID = 1063; + public static int fertileSoilTillID = 1064; + public static int thinCrystalGlassID = 1065; + public static int thinFramedGlassID = 1066; + public static int portalSpawnerID = 5000; + public static int scimitarID = 5001; + public static int bowID = 5002; + public static int ptahsPickID = 5003; + public static int soteksRageID = 5004; + public static int osirisWillID = 5005; + public static int akersToilID = 5006; + public static int gebsBlessingID = 5008; + public static int rasGloryID = 5009; + public static int sekhmetsWrathID = 5010; + public static int nutsAgilityID = 5011; + public static int horusFlightID = 5012; + public static int limestoneShovelID = 5013; + public static int limestonePickaxeID = 5014; + public static int limestoneAxeID = 5015; + public static int limestoneSwordID = 5016; + public static int limestoneHoeID = 5017; + public static int limestonePaxelID = 5018; + public static int lootID = 5019; + public static int stoneSwordID = 5020; + public static int itemPapyrusPlantID = 5021; + public static int scepterID = 5022; + public static int ectoplasmID = 5023; + public static int stoneChunkID = 5024; + public static int clothScrapID = 5025; + public static int mummyHelmetID = 5026; + public static int mummyChestID = 5027; + public static int mummyLegsID = 5028; + public static int mummyBootsID = 5029; + public static int atensFuryID = 5030; + public static int neithsAudacityID = 5031; + public static int scrollID = 5032; + public static int wandererHelmetID = 5033; + public static int wandererChestID = 5034; + public static int wandererLegsID = 5035; + public static int wandererBootsID = 5036; + public static int peltID = 5037; + public static int itemDateID = 5038; + public static int linenID = 5039; + public static int itemFlaxID = 5040; + public static int itemFlaxSeedsID = 5041; + public static int desertHelmetID = 5042; + public static int desertChestID = 5043; + public static int desertLegsID = 5044; + public static int desertBootsID = 5045; + public static int spearID = 5045; + public static int monthusStrikeID = 5046; + public static int anhursMightID = 5047; + public static int hedetetsStingID = 5048; + public static int horusSoaringID = 5049; + public static int shusBreathID = 5050; + public static int ptahsDestructionID = 5051; + public static int monthusBlastID = 5052; + public static int nusFluxID = 5053; + public static int mnevisHornsID = 5054; + public static int isisEmbraceID = 5055; + public static int maatsBalanceID = 5056; + public static int hedetetsVenomID = 5057; + public static int gebsSolidarityID = 5058; + public static int nutsCallID = 5059; + public static int anuketsBountyID = 5060; + public static int mafdetsQuicknessID = 5061; + public static int isisHealingID = 5062; + public static int amunetsHomecomingID = 5063; + public static int anubisMercyID = 5064; + public static int itemFishID = 5075; + public static int greatswordID = 5076; + public static boolean protectBlocksInCreative = true; - dimensionID = config.get("~World", "Dimension ID", dimensionID).getInt(); - biomeAtumDesertID = config.get("~World", "Atum Biome ID", biomeAtumDesertID).getInt(); - protectBlocksInCreative = config.get("~World", "Industructable Blocks In Creative Mode", protectBlocksInCreative).getBoolean(protectBlocksInCreative); - - portalBlockID = config.getBlock("Portal Block", portalBlockID).getInt(); - cursedChestID = config.getBlock("CursedChest", cursedChestID).getInt(); - sandID = config.getBlock("Strange Sand", sandID).getInt(); - stoneID = config.getBlock("Limestone", stoneID).getInt(); - cobbleID = config.getBlock("Cracked Limestone", cobbleID).getInt(); - largeBrickID = config.getBlock("Large Brick", largeBrickID).getInt(); - smallBrickID = config.getBlock("Small Brick", smallBrickID).getInt(); - carvedBrickID = config.getBlock("Carved Limestone", carvedBrickID).getInt(); - slabID = config.getBlock("Limestone Slabs", slabID).getInt(); - doubleSlabID = config.getBlock("Double Limestone Slabs", doubleSlabID).getInt(); - smoothStairsID = config.getBlock("Limestone Stairs", smoothStairsID).getInt(); - cobbleStairsID = config.getBlock("Cracked Stairs", cobbleStairsID).getInt(); - largeStoneStairsID = config.getBlock("Large Brick Stairs", largeStoneStairsID).getInt(); - smallStoneStairsID = config.getBlock("Small Brick Stairs", smallStoneStairsID).getInt(); - shrubID = config.getBlock("Desert Shrub", shrubID).getInt(); - logID = config.getBlock("Palm Log", logID).getInt(); - leavesID = config.getBlock("Palm Leaves", leavesID).getInt(); - weedID = config.getBlock("Desert Plant", weedID).getInt(); - trapArrowID = config.getBlock("Fire Trap", trapArrowID).getInt(); - furnaceIdleID = config.getBlock("Limestone Furnace Idle", furnaceIdleID).getInt(); - furnaceBurningID = config.getBlock("Limestone Furnace Burning", furnaceBurningID).getInt(); - plankID = config.getBlock("Palm Planks", plankID).getInt(); - pharaohChestID = config.getBlock("Pharaoh Chest", pharaohChestID).getInt(); - redstoneOreID = config.getBlock("Redstone Ore", redstoneOreID).getInt(); - coalOreID = config.getBlock("Coal Ore", coalOreID).getInt(); - ironOreID = config.getBlock("Iron Ore", ironOreID).getInt(); - goldOreID = config.getBlock("Gold Ore", goldOreID).getInt(); - lapisOreID = config.getBlock("Lapis Ore", lapisOreID).getInt(); - diamondOreID = config.getBlock("Diamond Ore", diamondOreID).getInt(); - papyrusBlockID = config.getBlock("Papyrus Block", papyrusBlockID).getInt(); - wallID = config.getBlock("Limestone Wall", wallID).getInt(); - crystalGlassID = config.getBlock("Crystal Glass", crystalGlassID).getInt(crystalGlassID); - framedGlassID = config.getBlock("Framed Glass", framedGlassID).getInt(framedGlassID); - palmSaplingID = config.getBlock("Palm Sapling", palmSaplingID).getInt(palmSaplingID); - blockDateID = config.getBlock("Date Block", blockDateID).getInt(blockDateID); - flaxBlockID = config.getBlock("Flax", flaxBlockID).getInt(flaxBlockID); - fertileSoilID = config.getBlock("Fertile Soil", fertileSoilID).getInt(fertileSoilID); - fertileSoilTillID = config.getBlock("Fertile Soil Tilled", fertileSoilTillID).getInt(fertileSoilTillID); - thinCrystalGlassID = config.getBlock("Crystal Glass Panes", thinCrystalGlassID).getInt(thinCrystalGlassID); - thinFramedGlassID = config.getBlock("Framed Crystal Glass Panes", thinFramedGlassID).getInt(thinFramedGlassID); - portalSpawnerID = config.getItem("Scarab", portalSpawnerID).getInt(); - scimitarID = config.getItem("Scimitar", scimitarID).getInt(); - greatswordID = config.getItem("Greatsword", greatswordID).getInt(); - scepterID = config.getItem("Scepter", scepterID).getInt(); - stoneSwordID = config.getItem("Stone Sword", stoneSwordID).getInt(); - bowID = config.getItem("Desert Bow", bowID).getInt(); - ptahsPickID = config.getItem("Ptah's Pick", ptahsPickID).getInt(); - soteksRageID = config.getItem("Sotek's Rage", soteksRageID).getInt(); - osirisWillID = config.getItem("Osiris's Will", osirisWillID).getInt(); - akersToilID = config.getItem("Aker's Toil", akersToilID).getInt(); - gebsBlessingID = config.getItem("Gab's Blessing", gebsBlessingID).getInt(); - atensFuryID = config.getItem("Aten's Fury", atensFuryID).getInt(); - rasGloryID = config.getItem("Ra's Glory", rasGloryID).getInt(); - sekhmetsWrathID = config.getItem("Sekhmet's Wrath", sekhmetsWrathID).getInt(); - nutsAgilityID = config.getItem("Nut's Agility", nutsAgilityID).getInt(); - horusFlightID = config.getItem("Horus's Flight", horusFlightID).getInt(); - monthusStrikeID = config.getItem("Monthu's Strike", monthusStrikeID).getInt(); - anhursMightID = config.getItem("Anhur's Might", anhursMightID).getInt(); - hedetetsStingID = config.getItem("Hedetet's Sting", hedetetsStingID).getInt(); - horusSoaringID = config.getItem("Horus's Soaring", horusSoaringID).getInt(); - shusBreathID = config.getItem("Shu's Breath", shusBreathID).getInt(); - ptahsDestructionID = config.getItem("Ptah's Destruction", ptahsDestructionID).getInt(); - monthusBlastID = config.getItem("Monthu's Blast", monthusBlastID).getInt(); - nusFluxID = config.getItem("Nu's Flux", nusFluxID).getInt(); - mnevisHornsID = config.getItem("Mnevis's Horns", mnevisHornsID).getInt(); - isisEmbraceID = config.getItem("Isis's Embrace", isisEmbraceID).getInt(); - maatsBalanceID = config.getItem("Ma'at's Balance", maatsBalanceID).getInt(); - hedetetsVenomID = config.getItem("Hedetet's Venom", hedetetsVenomID).getInt(); - gebsSolidarityID = config.getItem("Geb's Solidarity", gebsSolidarityID).getInt(); - nutsCallID = config.getItem("Nut's Call", nutsCallID).getInt(); - anuketsBountyID = config.getItem("Anuket's Bounty", anuketsBountyID).getInt(); - mafdetsQuicknessID = config.getItem("mafdetsQuicknessID", mafdetsQuicknessID).getInt(); - isisHealingID = config.getItem("Isis's Healing", isisHealingID).getInt(); - amunetsHomecomingID = config.getItem("Amunet's Homecoming", amunetsHomecomingID).getInt(); - anubisMercyID = config.getItem("Anubis's Mercy", anubisMercyID).getInt(); - - limestoneShovelID = config.getItem("Limestone Shovel", limestoneShovelID).getInt();; - limestonePickaxeID = config.getItem("Limestone Pickaxe", limestonePickaxeID).getInt();; - limestoneAxeID = config.getItem("Limestone Axe", limestoneAxeID).getInt(); - limestoneSwordID = config.getItem("Limestone Sword", limestoneSwordID).getInt(); - limestoneHoeID = config.getItem("Limestone Hoe", limestoneHoeID).getInt(); - limestonePaxelID = config.getItem("Limestone Paxel", limestonePaxelID).getInt(); + public static void initConfig() { + File cfgFile = new File(Atum.proxy.getMinecraftDir() + "/config/Atum.cfg"); - mummyHelmetID = config.getItem("Mummy Helmet", mummyHelmetID).getInt(); - mummyChestID = config.getItem("Mummy Chest", mummyChestID).getInt(); - mummyLegsID = config.getItem("Mummy Legs", mummyLegsID).getInt(); - mummyBootsID = config.getItem("Mummy Boots", mummyBootsID).getInt(); + try { + cfgFile.createNewFile(); + } catch (IOException var2) { + System.out.println(var2); + } - wandererHelmetID = config.getItem("Wanderer Helmet", wandererHelmetID).getInt(); - wandererChestID = config.getItem("Wanderer Chest", wandererChestID).getInt(); - wandererLegsID = config.getItem("Wanderer Legs", wandererLegsID).getInt(); - wandererBootsID = config.getItem("Wanderer Boots", wandererBootsID).getInt(); + Configuration config = new Configuration(cfgFile); + config.load(); + dimensionID = config.get("~World", "Dimension ID", dimensionID).getInt(); + biomeAtumDesertID = config.get("~World", "Atum Biome ID", biomeAtumDesertID).getInt(); + protectBlocksInCreative = config.get("~World", "Industructable Blocks In Creative Mode", protectBlocksInCreative).getBoolean(protectBlocksInCreative); + portalBlockID = config.getBlock("Portal Block", portalBlockID).getInt(); + cursedChestID = config.getBlock("CursedChest", cursedChestID).getInt(); + sandID = config.getBlock("Strange Sand", sandID).getInt(); + stoneID = config.getBlock("Limestone", stoneID).getInt(); + cobbleID = config.getBlock("Cracked Limestone", cobbleID).getInt(); + largeBrickID = config.getBlock("Large Brick", largeBrickID).getInt(); + smallBrickID = config.getBlock("Small Brick", smallBrickID).getInt(); + carvedBrickID = config.getBlock("Carved Limestone", carvedBrickID).getInt(); + slabID = config.getBlock("Limestone Slabs", slabID).getInt(); + doubleSlabID = config.getBlock("Double Limestone Slabs", doubleSlabID).getInt(); + smoothStairsID = config.getBlock("Limestone Stairs", smoothStairsID).getInt(); + cobbleStairsID = config.getBlock("Cracked Stairs", cobbleStairsID).getInt(); + largeStoneStairsID = config.getBlock("Large Brick Stairs", largeStoneStairsID).getInt(); + smallStoneStairsID = config.getBlock("Small Brick Stairs", smallStoneStairsID).getInt(); + shrubID = config.getBlock("Desert Shrub", shrubID).getInt(); + logID = config.getBlock("Palm Log", logID).getInt(); + leavesID = config.getBlock("Palm Leaves", leavesID).getInt(); + weedID = config.getBlock("Desert Plant", weedID).getInt(); + trapArrowID = config.getBlock("Fire Trap", trapArrowID).getInt(); + furnaceIdleID = config.getBlock("Limestone Furnace Idle", furnaceIdleID).getInt(); + furnaceBurningID = config.getBlock("Limestone Furnace Burning", furnaceBurningID).getInt(); + plankID = config.getBlock("Palm Planks", plankID).getInt(); + pharaohChestID = config.getBlock("Pharaoh Chest", pharaohChestID).getInt(); + redstoneOreID = config.getBlock("Redstone Ore", redstoneOreID).getInt(); + coalOreID = config.getBlock("Coal Ore", coalOreID).getInt(); + ironOreID = config.getBlock("Iron Ore", ironOreID).getInt(); + goldOreID = config.getBlock("Gold Ore", goldOreID).getInt(); + lapisOreID = config.getBlock("Lapis Ore", lapisOreID).getInt(); + diamondOreID = config.getBlock("Diamond Ore", diamondOreID).getInt(); + papyrusBlockID = config.getBlock("Papyrus Block", papyrusBlockID).getInt(); + wallID = config.getBlock("Limestone Wall", wallID).getInt(); + crystalGlassID = config.getBlock("Crystal Glass", crystalGlassID).getInt(crystalGlassID); + framedGlassID = config.getBlock("Framed Glass", framedGlassID).getInt(framedGlassID); + palmSaplingID = config.getBlock("Palm Sapling", palmSaplingID).getInt(palmSaplingID); + blockDateID = config.getBlock("Date Block", blockDateID).getInt(blockDateID); + flaxBlockID = config.getBlock("Flax", flaxBlockID).getInt(flaxBlockID); + fertileSoilID = config.getBlock("Fertile Soil", fertileSoilID).getInt(fertileSoilID); + fertileSoilTillID = config.getBlock("Fertile Soil Tilled", fertileSoilTillID).getInt(fertileSoilTillID); + thinCrystalGlassID = config.getBlock("Crystal Glass Panes", thinCrystalGlassID).getInt(thinCrystalGlassID); + thinFramedGlassID = config.getBlock("Framed Crystal Glass Panes", thinFramedGlassID).getInt(thinFramedGlassID); + portalSpawnerID = config.getItem("Scarab", portalSpawnerID).getInt(); + scimitarID = config.getItem("Scimitar", scimitarID).getInt(); + greatswordID = config.getItem("Greatsword", greatswordID).getInt(); + scepterID = config.getItem("Scepter", scepterID).getInt(); + stoneSwordID = config.getItem("Stone Sword", stoneSwordID).getInt(); + bowID = config.getItem("Desert Bow", bowID).getInt(); + ptahsPickID = config.getItem("Ptah\'s Pick", ptahsPickID).getInt(); + soteksRageID = config.getItem("Sotek\'s Rage", soteksRageID).getInt(); + osirisWillID = config.getItem("Osiris\'s Will", osirisWillID).getInt(); + akersToilID = config.getItem("Aker\'s Toil", akersToilID).getInt(); + gebsBlessingID = config.getItem("Gab\'s Blessing", gebsBlessingID).getInt(); + atensFuryID = config.getItem("Aten\'s Fury", atensFuryID).getInt(); + rasGloryID = config.getItem("Ra\'s Glory", rasGloryID).getInt(); + sekhmetsWrathID = config.getItem("Sekhmet\'s Wrath", sekhmetsWrathID).getInt(); + nutsAgilityID = config.getItem("Nut\'s Agility", nutsAgilityID).getInt(); + horusFlightID = config.getItem("Horus\'s Flight", horusFlightID).getInt(); + monthusStrikeID = config.getItem("Monthu\'s Strike", monthusStrikeID).getInt(); + anhursMightID = config.getItem("Anhur\'s Might", anhursMightID).getInt(); + hedetetsStingID = config.getItem("Hedetet\'s Sting", hedetetsStingID).getInt(); + horusSoaringID = config.getItem("Horus\'s Soaring", horusSoaringID).getInt(); + shusBreathID = config.getItem("Shu\'s Breath", shusBreathID).getInt(); + ptahsDestructionID = config.getItem("Ptah\'s Destruction", ptahsDestructionID).getInt(); + monthusBlastID = config.getItem("Monthu\'s Blast", monthusBlastID).getInt(); + nusFluxID = config.getItem("Nu\'s Flux", nusFluxID).getInt(); + mnevisHornsID = config.getItem("Mnevis\'s Horns", mnevisHornsID).getInt(); + isisEmbraceID = config.getItem("Isis\'s Embrace", isisEmbraceID).getInt(); + maatsBalanceID = config.getItem("Ma\'at\'s Balance", maatsBalanceID).getInt(); + hedetetsVenomID = config.getItem("Hedetet\'s Venom", hedetetsVenomID).getInt(); + gebsSolidarityID = config.getItem("Geb\'s Solidarity", gebsSolidarityID).getInt(); + nutsCallID = config.getItem("Nut\'s Call", nutsCallID).getInt(); + anuketsBountyID = config.getItem("Anuket\'s Bounty", anuketsBountyID).getInt(); + mafdetsQuicknessID = config.getItem("mafdetsQuicknessID", mafdetsQuicknessID).getInt(); + isisHealingID = config.getItem("Isis\'s Healing", isisHealingID).getInt(); + amunetsHomecomingID = config.getItem("Amunet\'s Homecoming", amunetsHomecomingID).getInt(); + anubisMercyID = config.getItem("Anubis\'s Mercy", anubisMercyID).getInt(); + limestoneShovelID = config.getItem("Limestone Shovel", limestoneShovelID).getInt(); + limestonePickaxeID = config.getItem("Limestone Pickaxe", limestonePickaxeID).getInt(); + limestoneAxeID = config.getItem("Limestone Axe", limestoneAxeID).getInt(); + limestoneSwordID = config.getItem("Limestone Sword", limestoneSwordID).getInt(); + limestoneHoeID = config.getItem("Limestone Hoe", limestoneHoeID).getInt(); + limestonePaxelID = config.getItem("Limestone Paxel", limestonePaxelID).getInt(); + mummyHelmetID = config.getItem("Mummy Helmet", mummyHelmetID).getInt(); + mummyChestID = config.getItem("Mummy Chest", mummyChestID).getInt(); + mummyLegsID = config.getItem("Mummy Legs", mummyLegsID).getInt(); + mummyBootsID = config.getItem("Mummy Boots", mummyBootsID).getInt(); + wandererHelmetID = config.getItem("Wanderer Helmet", wandererHelmetID).getInt(); + wandererChestID = config.getItem("Wanderer Chest", wandererChestID).getInt(); + wandererLegsID = config.getItem("Wanderer Legs", wandererLegsID).getInt(); + wandererBootsID = config.getItem("Wanderer Boots", wandererBootsID).getInt(); + desertHelmetID = config.getItem("Desert Helmet", desertHelmetID).getInt(); + desertChestID = config.getItem("Desert Chest", desertChestID).getInt(); + desertLegsID = config.getItem("Desert Legs", desertLegsID).getInt(); + desertBootsID = config.getItem("Desert Boots", desertBootsID).getInt(); + lootID = config.getItem("Loot", lootID).getInt(); + itemPapyrusPlantID = config.getItem("Papyrus Plant Item", itemPapyrusPlantID).getInt(); + ectoplasmID = config.getItem("Ectoplasm", ectoplasmID).getInt(); + stoneChunkID = config.getItem("Limestone Chunk", stoneChunkID).getInt(); + clothScrapID = config.getItem("Cloth Scrap", clothScrapID).getInt(); + neithsAudacityID = config.getItem("Neiths Audacity", neithsAudacityID).getInt(); + scrollID = config.getItem("Scroll", scrollID).getInt(); + peltID = config.getItem("Wolf Pelt", peltID).getInt(); + itemDateID = config.getItem("Date", itemDateID).getInt(itemDateID); + linenID = config.getItem("Linen", linenID).getInt(linenID); + itemFlaxID = config.getItem("Flax", itemFlaxID).getInt(itemFlaxID); + itemFlaxSeedsID = config.getItem("Flax Seeds", itemFlaxSeedsID).getInt(itemFlaxSeedsID); + itemFishID = config.getItem("Fish", itemFishID).getInt(itemFishID); + config.save(); + } - desertHelmetID = config.getItem("Desert Helmet", desertHelmetID).getInt(); - desertChestID = config.getItem("Desert Chest", desertChestID).getInt(); - desertLegsID = config.getItem("Desert Legs", desertLegsID).getInt(); - desertBootsID = config.getItem("Desert Boots", desertBootsID).getInt(); - - lootID = config.getItem("Loot", lootID).getInt(); - itemPapyrusPlantID = config.getItem("Papyrus Plant Item", itemPapyrusPlantID).getInt(); - ectoplasmID = config.getItem("Ectoplasm", ectoplasmID).getInt(); - stoneChunkID = config.getItem("Limestone Chunk", stoneChunkID).getInt(); - clothScrapID = config.getItem("Cloth Scrap", clothScrapID).getInt(); - neithsAudacityID = config.getItem("Neiths Audacity", neithsAudacityID).getInt(); - scrollID = config.getItem("Scroll", scrollID).getInt(); - peltID = config.getItem("Wolf Pelt", peltID).getInt(); - itemDateID = config.getItem("Date", itemDateID).getInt(itemDateID); - linenID = config.getItem("Linen", linenID).getInt(linenID); - itemFlaxID = config.getItem("Flax", itemFlaxID).getInt(itemFlaxID); - itemFlaxSeedsID = config.getItem("Flax Seeds", itemFlaxSeedsID).getInt(itemFlaxSeedsID); - itemFishID = config.getItem("Fish", itemFishID).getInt(itemFishID); - config.save(); - } } diff --git a/common/rebelkeithy/mods/atum/AtumEventListener.java b/common/rebelkeithy/mods/atum/AtumEventListener.java index 4f398bf..03de4d5 100644 --- a/common/rebelkeithy/mods/atum/AtumEventListener.java +++ b/common/rebelkeithy/mods/atum/AtumEventListener.java @@ -1,112 +1,85 @@ package rebelkeithy.mods.atum; import java.util.Random; - import net.minecraft.block.Block; -import net.minecraftforge.event.Event.Result; import net.minecraftforge.event.ForgeSubscribe; +import net.minecraftforge.event.Event.Result; import net.minecraftforge.event.entity.living.LivingFallEvent; import net.minecraftforge.event.entity.living.LivingHurtEvent; import net.minecraftforge.event.entity.player.BonemealEvent; import net.minecraftforge.event.entity.player.UseHoeEvent; +import rebelkeithy.mods.atum.AtumBlocks; +import rebelkeithy.mods.atum.AtumItems; import rebelkeithy.mods.atum.blocks.BlockFlax; import rebelkeithy.mods.atum.blocks.BlockPalmSapling; import rebelkeithy.mods.atum.entities.EntityDustySkeleton; import rebelkeithy.mods.atum.entities.EntityGhost; import rebelkeithy.mods.atum.entities.EntityMummy; import rebelkeithy.mods.atum.entities.EntityPharaoh; -import rebelkeithy.mods.atum.entities.EntityStone; import rebelkeithy.mods.atum.entities.EntityStoneSoldier; -public class AtumEventListener -{ - @ForgeSubscribe - public void onFallDamage(LivingFallEvent event) - { - if(event.entity instanceof EntityGhost || event.entity instanceof EntityPharaoh) - { - event.distance = 0; - } - } - - @ForgeSubscribe - public void onLivingHurt(LivingHurtEvent event) - { - if (event.source.getDamageType().equals("drown")) - { - if (event.entity instanceof EntityPharaoh - || event.entity instanceof EntityGhost - || event.entity instanceof EntityMummy - || event.entity instanceof EntityDustySkeleton - || event.entity instanceof EntityStoneSoldier) - { - event.setCanceled(true); - } - } - } - - @ForgeSubscribe - public boolean onBonemeal(BonemealEvent event) - { - if(event.world.isRemote) - return true; - - int id = event.world.getBlockId(event.X, event.Y, event.Z); - if(id == AtumBlocks.palmSapling.blockID) - { - ((BlockPalmSapling)(AtumBlocks.palmSapling)).growTree(event.world, event.X, event.Y, event.Z, new Random()); - event.setResult(Result.ALLOW); - } - if(id == AtumBlocks.flax.blockID) - { - if(event.world.getBlockMetadata(event.X, event.Y, event.Z) < 5) - { - ((BlockFlax)(AtumBlocks.flax)).fertilize(event.world, event.X, event.Y, event.Z); - event.setResult(Result.ALLOW); - } - } +public class AtumEventListener { + + @ForgeSubscribe + public void onFallDamage(LivingFallEvent event) { + if(event.entity instanceof EntityGhost || event.entity instanceof EntityPharaoh) { + event.distance = 0.0F; + } + + } + + @ForgeSubscribe + public void onLivingHurt(LivingHurtEvent event) { + if(event.source.getDamageType().equals("drown") && (event.entity instanceof EntityPharaoh || event.entity instanceof EntityGhost || event.entity instanceof EntityMummy || event.entity instanceof EntityDustySkeleton || event.entity instanceof EntityStoneSoldier)) { + event.setCanceled(true); + } + + } + + @ForgeSubscribe + public boolean onBonemeal(BonemealEvent event) { + if(event.world.isRemote) { + return true; + } else { + int id = event.world.getBlockId(event.X, event.Y, event.Z); + if(id == AtumBlocks.palmSapling.blockID) { + ((BlockPalmSapling)((BlockPalmSapling)AtumBlocks.palmSapling)).growTree(event.world, event.X, event.Y, event.Z, new Random()); + event.setResult(Result.ALLOW); + } + + if(id == AtumBlocks.flax.blockID && event.world.getBlockMetadata(event.X, event.Y, event.Z) < 5) { + ((BlockFlax)((BlockFlax)AtumBlocks.flax)).fertilize(event.world, event.X, event.Y, event.Z); + event.setResult(Result.ALLOW); + } + + return false; + } + } + + @ForgeSubscribe + public boolean onHoeEvent(UseHoeEvent event) { + int id = event.world.getBlockId(event.x, event.y, event.z); + if(id == AtumBlocks.fertileSoil.blockID) { + byte block2 = 0; + if(event.current.itemID == AtumItems.gebsBlessing.itemID) { + block2 = 4; + } - return false; - } - - @ForgeSubscribe - public boolean onHoeEvent(UseHoeEvent event) - { - int id = event.world.getBlockId(event.x, event.y, event.z); - - if(id == AtumBlocks.fertileSoil.blockID) - { - int meta = 0; - if(event.current.itemID == AtumItems.gebsBlessing.itemID) - { - meta = 4; - } - - event.world.setBlock(event.x, event.y, event.z, AtumBlocks.fertileSoilTilled.blockID); - event.world.setBlockMetadataWithNotify(event.x, event.y, event.z, meta, 2); - event.setResult(Result.ALLOW); - - Block block = Block.blocksList[id]; - - event.world.playSoundEffect(event.x, event.y, event.z, block.stepSound.getStepSound(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); - return true; - } - - if(id == Block.dirt.blockID || id == Block.grass.blockID) - { - if(event.current.itemID == AtumItems.gebsBlessing.itemID) - { - event.world.setBlock(event.x, event.y, event.z, AtumBlocks.fertileSoilTilled.blockID); - event.world.setBlockMetadataWithNotify(event.x, event.y, event.z, 8 | 4, 2); - event.setResult(Result.ALLOW); - - Block block = Block.blocksList[id]; - - event.world.playSoundEffect(event.x, event.y, event.z, block.stepSound.getStepSound(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); - return true; - } - } - - return false; - } + event.world.setBlock(event.x, event.y, event.z, AtumBlocks.fertileSoilTilled.blockID); + event.world.setBlockMetadataWithNotify(event.x, event.y, event.z, block2, 2); + event.setResult(Result.ALLOW); + Block block1 = Block.blocksList[id]; + event.world.playSoundEffect((double)event.x, (double)event.y, (double)event.z, block1.stepSound.getStepSound(), (block1.stepSound.getVolume() + 1.0F) / 2.0F, block1.stepSound.getPitch() * 0.8F); + return true; + } else if((id == Block.dirt.blockID || id == Block.grass.blockID) && event.current.itemID == AtumItems.gebsBlessing.itemID) { + event.world.setBlock(event.x, event.y, event.z, AtumBlocks.fertileSoilTilled.blockID); + event.world.setBlockMetadataWithNotify(event.x, event.y, event.z, 12, 2); + event.setResult(Result.ALLOW); + Block block = Block.blocksList[id]; + event.world.playSoundEffect((double)event.x, (double)event.y, (double)event.z, block.stepSound.getStepSound(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); + return true; + } else { + return false; + } + } } diff --git a/common/rebelkeithy/mods/atum/AtumFish.java b/common/rebelkeithy/mods/atum/AtumFish.java index 11d3af5..f8a9e0b 100644 --- a/common/rebelkeithy/mods/atum/AtumFish.java +++ b/common/rebelkeithy/mods/atum/AtumFish.java @@ -1,32 +1,28 @@ package rebelkeithy.mods.atum; -import java.util.List; - import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import rebelkeithy.mods.atum.AtumItems; +import rebelkeithy.mods.atum.AtumWeightedLootSet; + +public class AtumFish { + + private static AtumWeightedLootSet fish = new AtumWeightedLootSet(); + + + public static void addFish(ItemStack fishStack, int probability) { + fish.addLoot(fishStack, probability, 1, 1); + } + + public static ItemStack getRandomFish() { + return fish.getRandomLoot(); + } -public class AtumFish -{ - private static AtumWeightedLootSet fish; - - static - { - fish = new AtumWeightedLootSet(); - - AtumFish.addFish(new ItemStack(Item.fishRaw, 1, 0), 100); - AtumFish.addFish(new ItemStack(AtumItems.fish, 1, 0), 30); - AtumFish.addFish(new ItemStack(AtumItems.fish, 1, 1), 5); - AtumFish.addFish(new ItemStack(AtumItems.fish, 1, 2), 50); - AtumFish.addFish(new ItemStack(AtumItems.fish, 1, 3), 50); - } - - public static void addFish(ItemStack fishStack, int probability) - { - fish.addLoot(fishStack, probability, 1, 1); - } - - public static ItemStack getRandomFish() - { - return fish.getRandomLoot(); - } + static { + addFish(new ItemStack(Item.fishRaw, 1, 0), 100); + addFish(new ItemStack(AtumItems.fish, 1, 0), 30); + addFish(new ItemStack(AtumItems.fish, 1, 1), 5); + addFish(new ItemStack(AtumItems.fish, 1, 2), 50); + addFish(new ItemStack(AtumItems.fish, 1, 3), 50); + } } diff --git a/common/rebelkeithy/mods/atum/AtumGuiHandler.java b/common/rebelkeithy/mods/atum/AtumGuiHandler.java index 2db3b38..ffab2e0 100644 --- a/common/rebelkeithy/mods/atum/AtumGuiHandler.java +++ b/common/rebelkeithy/mods/atum/AtumGuiHandler.java @@ -1,46 +1,24 @@ package rebelkeithy.mods.atum; +import cpw.mods.fml.common.network.IGuiHandler; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import rebelkeithy.mods.atum.furnace.ContainerLimestoneFurnace; import rebelkeithy.mods.atum.furnace.GuiLimestoneFurnace; import rebelkeithy.mods.atum.furnace.TileEntityLimestoneFurnace; -import cpw.mods.fml.common.network.IGuiHandler; - -public class AtumGuiHandler implements IGuiHandler -{ - @Override - public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) - { - System.out.println("GUI?"); - TileEntity te = world.getBlockTileEntity(x, y, z); - - if(te != null) - { - if(te instanceof TileEntityLimestoneFurnace) - { - return new ContainerLimestoneFurnace(player.inventory, te); - } - } - return null; - } +public class AtumGuiHandler implements IGuiHandler { - @Override - public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) - { - System.out.println("GUI?"); - TileEntity te = world.getBlockTileEntity(x, y, z); - - if(te != null) - { - if(te instanceof TileEntityLimestoneFurnace) - { - return new GuiLimestoneFurnace(player.inventory, te); - } - } - return null; - } + public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { + System.out.println("GUI?"); + TileEntity te = world.getBlockTileEntity(x, y, z); + return te != null && te instanceof TileEntityLimestoneFurnace?new ContainerLimestoneFurnace(player.inventory, te):null; + } + public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { + System.out.println("GUI?"); + TileEntity te = world.getBlockTileEntity(x, y, z); + return te != null && te instanceof TileEntityLimestoneFurnace?new GuiLimestoneFurnace(player.inventory, te):null; + } } diff --git a/common/rebelkeithy/mods/atum/AtumItems.java b/common/rebelkeithy/mods/atum/AtumItems.java index 2a760c2..629c286 100644 --- a/common/rebelkeithy/mods/atum/AtumItems.java +++ b/common/rebelkeithy/mods/atum/AtumItems.java @@ -1,5 +1,6 @@ package rebelkeithy.mods.atum; +import cpw.mods.fml.common.registry.LanguageRegistry; import net.minecraft.block.Block; import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumToolMaterial; @@ -10,6 +11,9 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.common.EnumHelper; import net.minecraftforge.common.MinecraftForge; +import rebelkeithy.mods.atum.Atum; +import rebelkeithy.mods.atum.AtumBlocks; +import rebelkeithy.mods.atum.AtumConfig; import rebelkeithy.mods.atum.artifacts.IsisEmbrace; import rebelkeithy.mods.atum.artifacts.ItemAkersToil; import rebelkeithy.mods.atum.artifacts.ItemAmunetsHomecoming; @@ -55,10 +59,9 @@ import rebelkeithy.mods.atum.tools.LimestonePickaxe; import rebelkeithy.mods.atum.tools.LimestoneShovel; import rebelkeithy.mods.atum.tools.LimestoneSword; -import cpw.mods.fml.common.registry.LanguageRegistry; -public class AtumItems -{ +public class AtumItems { + public static Item scarab; public static Item scimitar; public static Item greatsword; @@ -66,7 +69,6 @@ public class AtumItems public static Item stoneSoldierSword; public static Item bow; public static Item loot; - public static Item ptahsPick; public static Item sobeksRage; public static Item osirisWill; @@ -96,28 +98,23 @@ public class AtumItems public static Item isisHealing; public static Item amunetsHomecoming; public static Item anubisMercy; - public static Item limestoneShovel; public static Item limestonePickaxe; public static Item limestoneAxe; public static Item limestoneSword; public static Item limestoneHoe; - public static Item mummyHelmet; public static Item mummyChest; public static Item mummyLegs; public static Item mummyBoots; - public static Item wandererHelmet; public static Item wandererChest; public static Item wandererLegs; public static Item wandererBoots; - public static Item desertHelmet; public static Item desertChest; public static Item desertLegs; public static Item desertBoots; - public static Item papyrusPlant; public static Item ectoplasm; public static Item stoneChunk; @@ -129,102 +126,88 @@ public class AtumItems public static Item flax; public static Item flaxSeeds; public static Item fish; - public static Item neithsAudacity; - public static Item spear; - - public static void init() - { - scarab = new ItemScarab(AtumConfig.portalSpawnerID).setUnlocalizedName("Atum:Scarab").setCreativeTab(Atum.tabs); - loot = new ItemLoot(AtumConfig.lootID).setCreativeTab(Atum.tabs); - date = (new ItemFood(AtumConfig.itemDateID, 5, 1.5F, false)).setUnlocalizedName("Atum:Date").setCreativeTab(Atum.tabs); - - scimitar = (new ItemScimitar(AtumConfig.scimitarID, EnumToolMaterial.IRON)).setUnlocalizedName("Atum:Scimitar").setCreativeTab(Atum.tabs); - greatsword = new ItemGreatsword(AtumConfig.greatswordID, EnumToolMaterial.IRON).setUnlocalizedName("Atum:Greatsword").setCreativeTab(Atum.tabs); - bow = (new ItemAtumBow(AtumConfig.bowID)).setUnlocalizedName("Atum:Bow").setCreativeTab(Atum.tabs); - stoneSoldierSword = new ItemStoneSoldierSword(AtumConfig.stoneSwordID, EnumToolMaterial.IRON).setUnlocalizedName("Atum:StoneSoldierSword").setCreativeTab(Atum.tabs); - scepter = new ItemScepter(AtumConfig.scepterID, EnumToolMaterial.GOLD).setUnlocalizedName("Atum:Scepter").setCreativeTab(Atum.tabs); - - ptahsPick = new ItemPtahsDecadence(AtumConfig.ptahsPickID, EnumToolMaterial.EMERALD).setUnlocalizedName("Atum:PtahsDecadence").setCreativeTab(Atum.tabs); - sobeksRage = new ItemSobeksRage(AtumConfig.soteksRageID, EnumToolMaterial.EMERALD).setUnlocalizedName("Atum:SoteksRage").setCreativeTab(Atum.tabs); - osirisWill = new ItemOsirisWill(AtumConfig.osirisWillID, EnumToolMaterial.EMERALD).setUnlocalizedName("Atum:OsirisWill").setCreativeTab(Atum.tabs); - akersToil = new ItemAkersToil(AtumConfig.akersToilID, EnumToolMaterial.EMERALD).setUnlocalizedName("Atum:AkersToil").setCreativeTab(Atum.tabs); - gebsBlessing = new ItemGebsBlessing(AtumConfig.gebsBlessingID, EnumToolMaterial.EMERALD).setUnlocalizedName("Atum:GebsBlessing").setCreativeTab(Atum.tabs); - atensFury = new ItemAtensFury(AtumConfig.atensFuryID).setUnlocalizedName("Atum:AtensFury").setCreativeTab(Atum.tabs); - rasGlory = new ItemRasGlory(AtumConfig.rasGloryID, EnumArmorMaterial.DIAMOND, 0, 0).setTextureFile("EgyptianArmor_1").setUnlocalizedName("Atum:RasGlory").setCreativeTab(Atum.tabs); - sekhmetsWrath = new ItemSekhmetsWrath(AtumConfig.sekhmetsWrathID, EnumArmorMaterial.DIAMOND, 1, 1).setTextureFile("EgyptianArmor_1").setUnlocalizedName("Atum:SekhmetsWrath").setCreativeTab(Atum.tabs); - nutsAgility = new ItemNutsAgility(AtumConfig.nutsAgilityID, EnumArmorMaterial.DIAMOND, 2, 2).setTextureFile("EgyptianArmor_2").setUnlocalizedName("Atum:NutsAgility").setCreativeTab(Atum.tabs); - horusFlight = new ItemHorusFlight(AtumConfig.horusFlightID, EnumArmorMaterial.DIAMOND, 3, 3).setTextureFile("EgyptianArmor_1").setUnlocalizedName("Atum:HorusFlight").setCreativeTab(Atum.tabs); - monthusStrike = new ItemMonthusStrike(AtumConfig.monthusStrikeID, EnumToolMaterial.EMERALD).setUnlocalizedName("Atum:MonthusStrike").setCreativeTab(Atum.tabs); - anhursMight = new ItemAnhursMight(AtumConfig.anhursMightID, EnumToolMaterial.EMERALD).setUnlocalizedName("Atum:AnhursMight").setCreativeTab(Atum.tabs); - hedetetsSting = new ItemHedetetsSting(AtumConfig.hedetetsStingID, EnumToolMaterial.EMERALD).setUnlocalizedName("Atum:HedetetsSting").setCreativeTab(Atum.tabs); - horusSoaring = new ItemHorusSoaring(AtumConfig.horusSoaringID).setUnlocalizedName("Atum:HorusSoaring").setCreativeTab(Atum.tabs); - shusBreath = new ItemShusBreath(AtumConfig.shusBreathID).setUnlocalizedName("Atum:ShusBreath").setCreativeTab(Atum.tabs); - ptahsDestruction = new ItemPtahsDestruction(AtumConfig.ptahsDestructionID, EnumToolMaterial.EMERALD).setUnlocalizedName("Atum:PtahsDestruction").setCreativeTab(Atum.tabs); - monthusBlast = new ItemMonthusBlast(AtumConfig.monthusBlastID).setUnlocalizedName("Atum:MonthusBlast").setCreativeTab(Atum.tabs); - nusFlux = new ItemNusFlux(AtumConfig.nusFluxID, EnumToolMaterial.EMERALD).setUnlocalizedName("Atum:NusFlux").setCreativeTab(Atum.tabs); - mnevisHorns = new ItemMnevisHorns(AtumConfig.mnevisHornsID, EnumArmorMaterial.DIAMOND, 0, 0).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("Atum:MnevisHorns").setCreativeTab(Atum.tabs); - isisEmbrace = new IsisEmbrace(AtumConfig.isisEmbraceID, EnumArmorMaterial.DIAMOND, 1, 1).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("Atum:IsisEmbrace").setCreativeTab(Atum.tabs); - maatsBalance = new ItemMaatsBalance(AtumConfig.maatsBalanceID, EnumArmorMaterial.DIAMOND, 2, 2).setTextureFile("RubyArtifactArmor_2").setUnlocalizedName("Atum:MaatsBalance").setCreativeTab(Atum.tabs); - hedetetsVenom = new ItemHedetetsVenom(AtumConfig.hedetetsVenomID).setUnlocalizedName("Atum:HedetetsVenom").setCreativeTab(Atum.tabs); - gebsSolidarity = new ItemGebsSolidarity(AtumConfig.gebsSolidarityID, EnumArmorMaterial.DIAMOND, 3, 3).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("Atum:GebsSolidarity").setCreativeTab(Atum.tabs); - nutsCall = new ItemNutsCall(AtumConfig.nutsCallID).setUnlocalizedName("Atum:NutsCall").setCreativeTab(Atum.tabs); - anuketsBounty = new ItemAnuketsBounty(AtumConfig.anuketsBountyID).setUnlocalizedName("Atum:AnuketsBounty").setCreativeTab(Atum.tabs); - mafdetsQuickness = new ItemMafdetsQuickness(AtumConfig.mafdetsQuicknessID).setUnlocalizedName("Atum:MafdetsQuickness").setCreativeTab(Atum.tabs); - isisHealing = new ItemIsisHealing(AtumConfig.isisHealingID).setUnlocalizedName("Atum:IsisHealing").setCreativeTab(Atum.tabs); - amunetsHomecoming = new ItemAmunetsHomecoming(AtumConfig.amunetsHomecomingID).setUnlocalizedName("Atum:AmunetsHomecoming").setCreativeTab(Atum.tabs); - anubisMercy = new ItemAnubisMercy(AtumConfig.anubisMercyID).setUnlocalizedName("Atum:AnubisMercy").setCreativeTab(Atum.tabs); - - limestoneShovel = new LimestoneShovel(AtumConfig.limestoneShovelID, EnumToolMaterial.STONE).setUnlocalizedName("Atum:LimestoneShovel").setCreativeTab(Atum.tabs); - limestonePickaxe = new LimestonePickaxe(AtumConfig.limestonePickaxeID, EnumToolMaterial.STONE).setUnlocalizedName("Atum:LimestonePickaxe").setCreativeTab(Atum.tabs); - limestoneAxe = new LimestoneAxe(AtumConfig.limestoneAxeID, EnumToolMaterial.STONE).setUnlocalizedName("Atum:LimestoneAxe").setCreativeTab(Atum.tabs); - limestoneSword = new LimestoneSword(AtumConfig.limestoneSwordID, EnumToolMaterial.STONE).setUnlocalizedName("Atum:LimestoneSword").setCreativeTab(Atum.tabs); - limestoneHoe = new LimestoneHoe(AtumConfig.limestoneHoeID, EnumToolMaterial.STONE).setUnlocalizedName("Atum:LimestoneHoe").setCreativeTab(Atum.tabs); - - EnumArmorMaterial mummyEnum = EnumHelper.addArmorMaterial("Mummy", 5, new int[] {1, 3, 2, 1}, 15); - mummyHelmet = (ItemTexturedArmor)(new ItemTexturedArmor(AtumConfig.mummyHelmetID, mummyEnum, 0, 0)).setRepairItem(AtumConfig.clothScrapID+256).setTextureFile("MummyArmor_1").setUnlocalizedName("Atum:MummyHelmet").setCreativeTab(Atum.tabs); - mummyChest = (ItemTexturedArmor)(new ItemTexturedArmor(AtumConfig.mummyChestID, mummyEnum, 0, 1)).setRepairItem(AtumConfig.clothScrapID+256).setTextureFile("MummyArmor_1").setUnlocalizedName("Atum:MummyChest").setCreativeTab(Atum.tabs); - mummyLegs = (ItemTexturedArmor)(new ItemTexturedArmor(AtumConfig.mummyLegsID, mummyEnum, 0, 2)).setRepairItem(AtumConfig.clothScrapID+256).setTextureFile("MummyArmor_2").setUnlocalizedName("Atum:MummyLegs").setCreativeTab(Atum.tabs); - mummyBoots = (ItemTexturedArmor)(new ItemTexturedArmor(AtumConfig.mummyBootsID, mummyEnum, 0, 3)).setRepairItem(AtumConfig.clothScrapID+256).setTextureFile("MummyArmor_1").setUnlocalizedName("Atum:MummyBoots").setCreativeTab(Atum.tabs); - EnumArmorMaterial wandererEnum = EnumHelper.addArmorMaterial("Wanderer", 10, new int[] {2, 3, 3, 2}, 15); - wandererHelmet = (ItemTexturedArmor)(new ItemTexturedArmor(AtumConfig.wandererHelmetID, wandererEnum, 0, 0)).setRepairItem(AtumConfig.linenID+256).setTextureFile("WandererArmor_1").setUnlocalizedName("Atum:WandererHelmet").setCreativeTab(Atum.tabs); - wandererChest = (ItemTexturedArmor)(new ItemTexturedArmor(AtumConfig.wandererChestID, wandererEnum, 0, 1)).setRepairItem(AtumConfig.linenID+256).setTextureFile("WandererArmor_1").setUnlocalizedName("Atum:WandererChest").setCreativeTab(Atum.tabs); - wandererLegs = (ItemTexturedArmor)(new ItemTexturedArmor(AtumConfig.wandererLegsID, wandererEnum, 0, 2)).setRepairItem(AtumConfig.linenID+256).setTextureFile("WandererArmor_2").setUnlocalizedName("Atum:WandererLegs").setCreativeTab(Atum.tabs); - wandererBoots = (ItemTexturedArmor)(new ItemTexturedArmor(AtumConfig.wandererBootsID, wandererEnum, 0, 3)).setRepairItem(AtumConfig.linenID+256).setTextureFile("WandererArmor_1").setUnlocalizedName("Atum:WandererBoots").setCreativeTab(Atum.tabs); - - EnumArmorMaterial desertEnum = EnumHelper.addArmorMaterial("Desert", 20, new int[] {3, 6, 5, 3}, 15); - desertHelmet = (ItemTexturedArmor)(new ItemTexturedArmor(AtumConfig.desertHelmetID, desertEnum, 0, 0)).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("Atum:DesertHelmet").setCreativeTab(Atum.tabs); - desertChest = (ItemTexturedArmor)(new ItemTexturedArmor(AtumConfig.desertChestID, desertEnum, 0, 1)).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("Atum:DesertChest").setCreativeTab(Atum.tabs); - desertLegs = (ItemTexturedArmor)(new ItemTexturedArmor(AtumConfig.desertLegsID, desertEnum, 0, 2)).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_2").setUnlocalizedName("Atum:DesertLegs").setCreativeTab(Atum.tabs); - desertBoots = (ItemTexturedArmor)(new ItemTexturedArmor(AtumConfig.desertBootsID, desertEnum, 0, 3)).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("Atum:DesertBoots").setCreativeTab(Atum.tabs); - - papyrusPlant = new ItemPapyrusPlant(AtumConfig.itemPapyrusPlantID, AtumBlocks.papyrus).setUnlocalizedName("Atum:PapyrusPlantItem").setCreativeTab(Atum.tabs); - ectoplasm = new Item(AtumConfig.ectoplasmID).setUnlocalizedName("Atum:Ectoplasm").setCreativeTab(Atum.tabs); - stoneChunk = new Item(AtumConfig.stoneChunkID).setUnlocalizedName("Atum:StoneChunk").setCreativeTab(Atum.tabs); - scrap = new Item(AtumConfig.clothScrapID).setUnlocalizedName("Atum:ClothScrap").setCreativeTab(Atum.tabs); - scroll = new Item(AtumConfig.scrollID).setUnlocalizedName("Atum:Scroll").setCreativeTab(Atum.tabs); - pelt = new Item(AtumConfig.peltID).setUnlocalizedName("Atum:WolfPelt").setCreativeTab(Atum.tabs); - linen = new Item(AtumConfig.linenID).setUnlocalizedName("Atum:Linen").setCreativeTab(Atum.tabs); - flax = new Item(AtumConfig.itemFlaxID).setUnlocalizedName("Atum:FlaxItem").setCreativeTab(Atum.tabs); - flaxSeeds = new ItemSeeds(AtumConfig.itemFlaxSeedsID, AtumBlocks.flax.blockID, Block.tilledField.blockID).setUnlocalizedName("Atum:FlaxSeeds").setCreativeTab(Atum.tabs); - fish = new ItemFish(AtumConfig.itemFishID).setUnlocalizedName("Atum:Fish").setCreativeTab(Atum.tabs); - - neithsAudacity = new ItemNeithsAudacity(AtumConfig.neithsAudacityID).setUnlocalizedName("Atum:NeithsAudacity").setCreativeTab(Atum.tabs); - + public static void init() { + scarab = (new ItemScarab(AtumConfig.portalSpawnerID)).setUnlocalizedName("atum:Scarab").setCreativeTab(Atum.tabs); + loot = (new ItemLoot(AtumConfig.lootID)).setCreativeTab(Atum.tabs); + date = (new ItemFood(AtumConfig.itemDateID, 5, 1.5F, false)).setTextureName("atum:Date").setUnlocalizedName("atum:Date").setCreativeTab(Atum.tabs); + scimitar = (new ItemScimitar(AtumConfig.scimitarID, EnumToolMaterial.IRON)).setUnlocalizedName("atum:Scimitar").setCreativeTab(Atum.tabs); + greatsword = (new ItemGreatsword(AtumConfig.greatswordID, EnumToolMaterial.IRON)).setUnlocalizedName("atum:Greatsword").setTextureName("atum:Greatsword").setCreativeTab(Atum.tabs); + bow = (new ItemAtumBow(AtumConfig.bowID)).setUnlocalizedName("atum:Bow").setCreativeTab(Atum.tabs); + stoneSoldierSword = (new ItemStoneSoldierSword(AtumConfig.stoneSwordID, EnumToolMaterial.IRON)).setUnlocalizedName("atum:StoneSoldierSword").setCreativeTab(Atum.tabs); + scepter = (new ItemScepter(AtumConfig.scepterID, EnumToolMaterial.GOLD)).setUnlocalizedName("atum:Scepter").setCreativeTab(Atum.tabs); + ptahsPick = (new ItemPtahsDecadence(AtumConfig.ptahsPickID, EnumToolMaterial.EMERALD)).setUnlocalizedName("atum:PtahsDecadence").setCreativeTab(Atum.tabs); + sobeksRage = (new ItemSobeksRage(AtumConfig.soteksRageID, EnumToolMaterial.EMERALD)).setUnlocalizedName("atum:SoteksRage").setCreativeTab(Atum.tabs); + osirisWill = (new ItemOsirisWill(AtumConfig.osirisWillID, EnumToolMaterial.EMERALD)).setUnlocalizedName("atum:OsirisWill").setCreativeTab(Atum.tabs); + akersToil = (new ItemAkersToil(AtumConfig.akersToilID, EnumToolMaterial.EMERALD)).setUnlocalizedName("atum:AkersToil").setCreativeTab(Atum.tabs); + gebsBlessing = (new ItemGebsBlessing(AtumConfig.gebsBlessingID, EnumToolMaterial.EMERALD)).setUnlocalizedName("atum:GebsBlessing").setCreativeTab(Atum.tabs); + atensFury = (new ItemAtensFury(AtumConfig.atensFuryID)).setUnlocalizedName("atum:AtensFury").setCreativeTab(Atum.tabs); + rasGlory = (new ItemRasGlory(AtumConfig.rasGloryID, EnumArmorMaterial.DIAMOND, 0, 0)).setTextureFile("EgyptianArmor_1").setUnlocalizedName("atum:RasGlory").setCreativeTab(Atum.tabs); + sekhmetsWrath = (new ItemSekhmetsWrath(AtumConfig.sekhmetsWrathID, EnumArmorMaterial.DIAMOND, 1, 1)).setTextureFile("EgyptianArmor_1").setUnlocalizedName("atum:SekhmetsWrath").setCreativeTab(Atum.tabs); + nutsAgility = (new ItemNutsAgility(AtumConfig.nutsAgilityID, EnumArmorMaterial.DIAMOND, 2, 2)).setTextureFile("EgyptianArmor_2").setUnlocalizedName("atum:NutsAgility").setCreativeTab(Atum.tabs); + horusFlight = (new ItemHorusFlight(AtumConfig.horusFlightID, EnumArmorMaterial.DIAMOND, 3, 3)).setTextureFile("EgyptianArmor_1").setUnlocalizedName("atum:HorusFlight").setCreativeTab(Atum.tabs); + monthusStrike = (new ItemMonthusStrike(AtumConfig.monthusStrikeID, EnumToolMaterial.EMERALD)).setUnlocalizedName("atum:MonthusStrike").setCreativeTab(Atum.tabs); + anhursMight = (new ItemAnhursMight(AtumConfig.anhursMightID, EnumToolMaterial.EMERALD)).setUnlocalizedName("atum:AnhursMight").setCreativeTab(Atum.tabs); + hedetetsSting = (new ItemHedetetsSting(AtumConfig.hedetetsStingID, EnumToolMaterial.EMERALD)).setUnlocalizedName("atum:HedetetsSting").setCreativeTab(Atum.tabs); + horusSoaring = (new ItemHorusSoaring(AtumConfig.horusSoaringID)).setUnlocalizedName("atum:HorusSoaring").setCreativeTab(Atum.tabs); + shusBreath = (new ItemShusBreath(AtumConfig.shusBreathID)).setUnlocalizedName("atum:ShusBreath").setCreativeTab(Atum.tabs); + ptahsDestruction = (new ItemPtahsDestruction(AtumConfig.ptahsDestructionID, EnumToolMaterial.EMERALD)).setUnlocalizedName("atum:PtahsDestruction").setCreativeTab(Atum.tabs); + monthusBlast = (new ItemMonthusBlast(AtumConfig.monthusBlastID)).setUnlocalizedName("atum:MonthusBlast").setCreativeTab(Atum.tabs); + nusFlux = (new ItemNusFlux(AtumConfig.nusFluxID, EnumToolMaterial.EMERALD)).setUnlocalizedName("atum:NusFlux").setCreativeTab(Atum.tabs); + mnevisHorns = (new ItemMnevisHorns(AtumConfig.mnevisHornsID, EnumArmorMaterial.DIAMOND, 0, 0)).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("atum:MnevisHorns").setCreativeTab(Atum.tabs); + isisEmbrace = (new IsisEmbrace(AtumConfig.isisEmbraceID, EnumArmorMaterial.DIAMOND, 1, 1)).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("atum:IsisEmbrace").setCreativeTab(Atum.tabs); + maatsBalance = (new ItemMaatsBalance(AtumConfig.maatsBalanceID, EnumArmorMaterial.DIAMOND, 2, 2)).setTextureFile("RubyArtifactArmor_2").setUnlocalizedName("atum:MaatsBalance").setCreativeTab(Atum.tabs); + hedetetsVenom = (new ItemHedetetsVenom(AtumConfig.hedetetsVenomID)).setUnlocalizedName("atum:HedetetsVenom").setCreativeTab(Atum.tabs); + gebsSolidarity = (new ItemGebsSolidarity(AtumConfig.gebsSolidarityID, EnumArmorMaterial.DIAMOND, 3, 3)).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("atum:GebsSolidarity").setCreativeTab(Atum.tabs); + nutsCall = (new ItemNutsCall(AtumConfig.nutsCallID)).setUnlocalizedName("atum:NutsCall").setCreativeTab(Atum.tabs); + anuketsBounty = (new ItemAnuketsBounty(AtumConfig.anuketsBountyID)).setUnlocalizedName("atum:AnuketsBounty").setCreativeTab(Atum.tabs); + mafdetsQuickness = (new ItemMafdetsQuickness(AtumConfig.mafdetsQuicknessID)).setUnlocalizedName("atum:MafdetsQuickness").setCreativeTab(Atum.tabs); + isisHealing = (new ItemIsisHealing(AtumConfig.isisHealingID)).setUnlocalizedName("atum:IsisHealing").setCreativeTab(Atum.tabs); + amunetsHomecoming = (new ItemAmunetsHomecoming(AtumConfig.amunetsHomecomingID)).setUnlocalizedName("atum:AmunetsHomecoming").setCreativeTab(Atum.tabs); + anubisMercy = (new ItemAnubisMercy(AtumConfig.anubisMercyID)).setUnlocalizedName("atum:AnubisMercy").setCreativeTab(Atum.tabs); + limestoneShovel = (new LimestoneShovel(AtumConfig.limestoneShovelID, EnumToolMaterial.STONE)).setUnlocalizedName("atum:LimestoneShovel").setCreativeTab(Atum.tabs); + limestonePickaxe = (new LimestonePickaxe(AtumConfig.limestonePickaxeID, EnumToolMaterial.STONE)).setUnlocalizedName("atum:LimestonePickaxe").setCreativeTab(Atum.tabs); + limestoneAxe = (new LimestoneAxe(AtumConfig.limestoneAxeID, EnumToolMaterial.STONE)).setUnlocalizedName("atum:LimestoneAxe").setCreativeTab(Atum.tabs); + limestoneSword = (new LimestoneSword(AtumConfig.limestoneSwordID, EnumToolMaterial.STONE)).setUnlocalizedName("atum:LimestoneSword").setCreativeTab(Atum.tabs); + limestoneHoe = (new LimestoneHoe(AtumConfig.limestoneHoeID, EnumToolMaterial.STONE)).setUnlocalizedName("atum:LimestoneHoe").setCreativeTab(Atum.tabs); + EnumArmorMaterial mummyEnum = EnumHelper.addArmorMaterial("Mummy", 5, new int[] { 1, 3, 2, 1 }, 15); + mummyHelmet = (ItemTexturedArmor) (new ItemTexturedArmor(AtumConfig.mummyHelmetID, mummyEnum, 0, 0)).setRepairItem(AtumConfig.clothScrapID + 256).setTextureFile("MummyArmor_1").setUnlocalizedName("atum:MummyHelmet").setTextureName("atum:MummyHelmet").setCreativeTab(Atum.tabs); + mummyChest = (ItemTexturedArmor) (new ItemTexturedArmor(AtumConfig.mummyChestID, mummyEnum, 0, 1)).setRepairItem(AtumConfig.clothScrapID + 256).setTextureFile("MummyArmor_1").setUnlocalizedName("atum:MummyChest").setTextureName("atum:MummyChest").setCreativeTab(Atum.tabs); + mummyLegs = (ItemTexturedArmor) (new ItemTexturedArmor(AtumConfig.mummyLegsID, mummyEnum, 0, 2)).setRepairItem(AtumConfig.clothScrapID + 256).setTextureFile("MummyArmor_2").setUnlocalizedName("atum:MummyLegs").setTextureName("atum:MummyLegs").setCreativeTab(Atum.tabs); + mummyBoots = (ItemTexturedArmor) (new ItemTexturedArmor(AtumConfig.mummyBootsID, mummyEnum, 0, 3)).setRepairItem(AtumConfig.clothScrapID + 256).setTextureFile("MummyArmor_1").setUnlocalizedName("atum:MummyBoots").setTextureName("atum:MummyBoots").setCreativeTab(Atum.tabs); + EnumArmorMaterial wandererEnum = EnumHelper.addArmorMaterial("Wanderer", 10, new int[] { 2, 3, 3, 2 }, 15); + wandererHelmet = (ItemTexturedArmor) (new ItemTexturedArmor(AtumConfig.wandererHelmetID, wandererEnum, 0, 0)).setRepairItem(AtumConfig.linenID + 256).setTextureFile("WandererArmor_1").setUnlocalizedName("atum:WandererHelmet").setTextureName("atum:WandererHelmet").setCreativeTab(Atum.tabs); + wandererChest = (ItemTexturedArmor) (new ItemTexturedArmor(AtumConfig.wandererChestID, wandererEnum, 0, 1)).setRepairItem(AtumConfig.linenID + 256).setTextureFile("WandererArmor_1").setUnlocalizedName("atum:WandererChest").setTextureName("atum:WandererChest").setCreativeTab(Atum.tabs); + wandererLegs = (ItemTexturedArmor) (new ItemTexturedArmor(AtumConfig.wandererLegsID, wandererEnum, 0, 2)).setRepairItem(AtumConfig.linenID + 256).setTextureFile("WandererArmor_2").setUnlocalizedName("atum:WandererLegs").setTextureName("atum:WandererLegs").setCreativeTab(Atum.tabs); + wandererBoots = (ItemTexturedArmor) (new ItemTexturedArmor(AtumConfig.wandererBootsID, wandererEnum, 0, 3)).setRepairItem(AtumConfig.linenID + 256).setTextureFile("WandererArmor_1").setUnlocalizedName("atum:WandererBoots").setTextureName("atum:WandererBoots").setCreativeTab(Atum.tabs); + EnumArmorMaterial desertEnum = EnumHelper.addArmorMaterial("Desert", 20, new int[] { 3, 6, 5, 3 }, 15); + desertHelmet = (ItemTexturedArmor) (new ItemTexturedArmor(AtumConfig.desertHelmetID, desertEnum, 0, 0)).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("atum:DesertHelmet").setTextureName("atum:DesertHelmet").setCreativeTab(Atum.tabs); + desertChest = (ItemTexturedArmor) (new ItemTexturedArmor(AtumConfig.desertChestID, desertEnum, 0, 1)).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("atum:DesertChest").setTextureName("atum:DesertChest").setCreativeTab(Atum.tabs); + desertLegs = (ItemTexturedArmor) (new ItemTexturedArmor(AtumConfig.desertLegsID, desertEnum, 0, 2)).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_2").setUnlocalizedName("atum:DesertLegs").setTextureName("atum:DesertLegs").setCreativeTab(Atum.tabs); + desertBoots = (ItemTexturedArmor) (new ItemTexturedArmor(AtumConfig.desertBootsID, desertEnum, 0, 3)).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("atum:DesertBoots").setTextureName("atum:DesertBoots").setCreativeTab(Atum.tabs); + papyrusPlant = (new ItemPapyrusPlant(AtumConfig.itemPapyrusPlantID, AtumBlocks.papyrus)).setUnlocalizedName("atum:PapyrusPlantItem").setCreativeTab(Atum.tabs); + ectoplasm = (new Item(AtumConfig.ectoplasmID)).setUnlocalizedName("atum:Ectoplasm").setTextureName(Atum.modID + ":Ectoplasm").setCreativeTab(Atum.tabs); + stoneChunk = (new Item(AtumConfig.stoneChunkID)).setUnlocalizedName("atum:StoneChunk").setTextureName("atum:StoneChunk").setCreativeTab(Atum.tabs); + scrap = (new Item(AtumConfig.clothScrapID)).setUnlocalizedName("atum:ClothScrap").setTextureName("atum:ClothScrap").setCreativeTab(Atum.tabs); + scroll = new Item(AtumConfig.scrollID).setUnlocalizedName("atum:Scroll").setTextureName("atum:Scroll").setCreativeTab(Atum.tabs); + pelt = (new Item(AtumConfig.peltID)).setUnlocalizedName("atum:WolfPelt").setTextureName("atum:WolfPelt").setCreativeTab(Atum.tabs); + linen = (new Item(AtumConfig.linenID)).setUnlocalizedName("atum:Linen").setTextureName("atum:Linen").setCreativeTab(Atum.tabs); + flax = (new Item(AtumConfig.itemFlaxID)).setUnlocalizedName("atum:FlaxItem").setTextureName("atum:FlaxItem").setCreativeTab(Atum.tabs); + flaxSeeds = (new ItemSeeds(AtumConfig.itemFlaxSeedsID, AtumBlocks.flax.blockID, Block.tilledField.blockID)).setUnlocalizedName("atum:FlaxSeeds").setTextureName("atum:FlaxSeeds").setCreativeTab(Atum.tabs); + fish = (new ItemFish(AtumConfig.itemFishID)).setUnlocalizedName("atum:Fish").setCreativeTab(Atum.tabs); + neithsAudacity = (new ItemNeithsAudacity(AtumConfig.neithsAudacityID)).setUnlocalizedName("atum:NeithsAudacity").setCreativeTab(Atum.tabs); Item.itemsList[AtumConfig.slabID] = (new ItemSlab(AtumBlocks.slabs.blockID - 256, AtumBlocks.slabs, AtumBlocks.doubleSlab, false)).setUnlocalizedName("woodSlab").setCreativeTab(Atum.tabs); - Item.itemsList[AtumBlocks.doubleSlab.blockID] = (new ItemSlab(AtumBlocks.doubleSlab.blockID - 256, AtumBlocks.slabs, AtumBlocks.doubleSlab, true)).setUnlocalizedName("woodSlab"); - + Item.itemsList[AtumBlocks.doubleSlab.blockID] = (new ItemSlab(AtumBlocks.doubleSlab.blockID - 256, AtumBlocks.slabs, AtumBlocks.doubleSlab, true)).setUnlocalizedName("woodSlab"); MinecraftForge.setToolClass(akersToil, "shovel", 4); MinecraftForge.setToolClass(limestoneShovel, "shovel", 1); MinecraftForge.setToolClass(limestoneAxe, "axe", 1); MinecraftForge.setToolClass(limestonePickaxe, "pickaxe", 1); MinecraftForge.setToolClass(ptahsDestruction, "pickaxe", 3); } - - public static void addNames() - { + + public static void addNames() { LanguageRegistry.addName(scarab, "Golden Scarab"); LanguageRegistry.addName(scimitar, "Scimitar"); LanguageRegistry.addName(bow, "Shortbow"); @@ -234,69 +217,62 @@ public static void addNames() LanguageRegistry.addName(scrap, "Cloth Scrap"); LanguageRegistry.addName(scepter, "Royal Scepter"); LanguageRegistry.addName(papyrusPlant, "Papyrus"); - - LanguageRegistry.addName(ptahsPick, "Ptah's Decadence"); - LanguageRegistry.addName(sobeksRage, "Sobek's Rage"); - LanguageRegistry.addName(osirisWill, "Osiris's Will"); - LanguageRegistry.addName(akersToil, "Aker's Toil"); - LanguageRegistry.addName(gebsBlessing, "Geb's Blessing"); - LanguageRegistry.addName(atensFury, "Aten's Fury"); - LanguageRegistry.addName(rasGlory, "Ra's Glory"); - LanguageRegistry.addName(sekhmetsWrath, "Sekhmet's Wrath"); - LanguageRegistry.addName(nutsAgility, "Nut's Agility"); - LanguageRegistry.addName(horusFlight, "Horus's Flight"); - LanguageRegistry.addName(monthusStrike, "Monthu's Strike"); - LanguageRegistry.addName(anhursMight, "Anhur's Might"); - LanguageRegistry.addName(hedetetsSting, "Hetetet's Sting"); - LanguageRegistry.addName(horusSoaring, "Horus's Soaring"); - LanguageRegistry.addName(shusBreath, "Shu's Breath"); - LanguageRegistry.addName(ptahsDestruction, "Ptah's Destruction"); - LanguageRegistry.addName(monthusBlast, "Monthu's Blast"); - LanguageRegistry.addName(nusFlux, "Nu's Flux"); - LanguageRegistry.addName(mnevisHorns, "Mnevis's Horns"); - LanguageRegistry.addName(isisEmbrace, "Isis's Embrace"); - LanguageRegistry.addName(maatsBalance, "Ma'at's Balance"); - LanguageRegistry.addName(hedetetsVenom, "Hedetet's Venom"); - LanguageRegistry.addName(gebsSolidarity, "Geb's Solidairty"); - LanguageRegistry.addName(nutsCall, "Nut's Call"); - LanguageRegistry.addName(anuketsBounty, "Anuket's Bounty"); - LanguageRegistry.addName(mafdetsQuickness, "Mafdet's Quickness"); - LanguageRegistry.addName(isisHealing, "Isis's Healing"); - LanguageRegistry.addName(amunetsHomecoming, "Amunet's Homecoming"); - LanguageRegistry.addName(anubisMercy, "Anubis's Mercy"); - - + LanguageRegistry.addName(ptahsPick, "Ptah\'s Decadence"); + LanguageRegistry.addName(sobeksRage, "Sobek\'s Rage"); + LanguageRegistry.addName(osirisWill, "Osiris\'s Will"); + LanguageRegistry.addName(akersToil, "Aker\'s Toil"); + LanguageRegistry.addName(gebsBlessing, "Geb\'s Blessing"); + LanguageRegistry.addName(atensFury, "Aten\'s Fury"); + LanguageRegistry.addName(rasGlory, "Ra\'s Glory"); + LanguageRegistry.addName(sekhmetsWrath, "Sekhmet\'s Wrath"); + LanguageRegistry.addName(nutsAgility, "Nut\'s Agility"); + LanguageRegistry.addName(horusFlight, "Horus\'s Flight"); + LanguageRegistry.addName(monthusStrike, "Monthu\'s Strike"); + LanguageRegistry.addName(anhursMight, "Anhur\'s Might"); + LanguageRegistry.addName(hedetetsSting, "Hetetet\'s Sting"); + LanguageRegistry.addName(horusSoaring, "Horus\'s Soaring"); + LanguageRegistry.addName(shusBreath, "Shu\'s Breath"); + LanguageRegistry.addName(ptahsDestruction, "Ptah\'s Destruction"); + LanguageRegistry.addName(monthusBlast, "Monthu\'s Blast"); + LanguageRegistry.addName(nusFlux, "Nu\'s Flux"); + LanguageRegistry.addName(mnevisHorns, "Mnevis\'s Horns"); + LanguageRegistry.addName(isisEmbrace, "Isis\'s Embrace"); + LanguageRegistry.addName(maatsBalance, "Ma\'at\'s Balance"); + LanguageRegistry.addName(hedetetsVenom, "Hedetet\'s Venom"); + LanguageRegistry.addName(gebsSolidarity, "Geb\'s Solidairty"); + LanguageRegistry.addName(nutsCall, "Nut\'s Call"); + LanguageRegistry.addName(anuketsBounty, "Anuket\'s Bounty"); + LanguageRegistry.addName(mafdetsQuickness, "Mafdet\'s Quickness"); + LanguageRegistry.addName(isisHealing, "Isis\'s Healing"); + LanguageRegistry.addName(amunetsHomecoming, "Amunet\'s Homecoming"); + LanguageRegistry.addName(anubisMercy, "Anubis\'s Mercy"); LanguageRegistry.addName(limestoneShovel, "Limestone Shovel"); LanguageRegistry.addName(limestonePickaxe, "Limestone Pickaxe"); LanguageRegistry.addName(limestoneAxe, "Limestone Axe"); LanguageRegistry.addName(limestoneSword, "Limestone Sword"); LanguageRegistry.addName(limestoneHoe, "Limestone Hoe"); - LanguageRegistry.addName(mummyHelmet, "Head Wrap"); LanguageRegistry.addName(mummyChest, "Chest Wrap"); LanguageRegistry.addName(mummyLegs, "Leg Wrap"); LanguageRegistry.addName(mummyBoots, "Feet Wrap"); - LanguageRegistry.addName(wandererHelmet, "Wanderer Head"); LanguageRegistry.addName(wandererChest, "Wanderer Chest"); LanguageRegistry.addName(wandererLegs, "Wanderer Legs"); LanguageRegistry.addName(wandererBoots, "Wanderer Sandels"); - LanguageRegistry.addName(desertHelmet, "Desert Head"); LanguageRegistry.addName(desertChest, "Desert Chest"); LanguageRegistry.addName(desertLegs, "Desert Legs"); LanguageRegistry.addName(desertBoots, "Desert Sandels"); - - LanguageRegistry.addName(neithsAudacity, "Neith's Audacity"); + LanguageRegistry.addName(neithsAudacity, "Neith\'s Audacity"); LanguageRegistry.addName(scroll, "Scroll"); LanguageRegistry.addName(pelt, "Wolf Pelt"); LanguageRegistry.addName(linen, "Linen"); LanguageRegistry.addName(flax, "Flax"); LanguageRegistry.addName(flaxSeeds, "Flax Seeds"); - LanguageRegistry.addName(date, "Date"); + LanguageRegistry.addName(date, "Date"); LanguageRegistry.addName(new ItemStack(fish, 1, 0), "Wraith Fish"); - LanguageRegistry.addName(new ItemStack(fish, 1, 1), "Mummified Fish"); - LanguageRegistry.addName(new ItemStack(fish, 1, 2), "Golden Fish"); - LanguageRegistry.addName(new ItemStack(fish, 1, 3), "Forsaken Fish"); + LanguageRegistry.addName(new ItemStack(fish, 1, 1), "Mummified Fish"); + LanguageRegistry.addName(new ItemStack(fish, 1, 2), "Golden Fish"); + LanguageRegistry.addName(new ItemStack(fish, 1, 3), "Forsaken Fish"); } } diff --git a/common/rebelkeithy/mods/atum/AtumLoot.java b/common/rebelkeithy/mods/atum/AtumLoot.java index 335bee1..336fddc 100644 --- a/common/rebelkeithy/mods/atum/AtumLoot.java +++ b/common/rebelkeithy/mods/atum/AtumLoot.java @@ -1,146 +1,129 @@ package rebelkeithy.mods.atum; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; -import java.util.Map; import java.util.Random; - -import net.minecraft.enchantment.Enchantment; import net.minecraft.inventory.IInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import rebelkeithy.mods.atum.AtumBlocks; +import rebelkeithy.mods.atum.AtumItems; +import rebelkeithy.mods.atum.AtumWeightedLootSet; import rebelkeithy.mods.atum.items.ItemLoot; -public class AtumLoot -{ - public static Listartifacts; - public static AtumWeightedLootSet goodLoot; - public static AtumWeightedLootSet junkLoot; +public class AtumLoot { + + public static List artifacts; + public static AtumWeightedLootSet goodLoot; + public static AtumWeightedLootSet junkLoot; + + + public static void init() { + artifacts = new ArrayList(); + goodLoot = new AtumWeightedLootSet(); + junkLoot = new AtumWeightedLootSet(); + ItemStack stack = new ItemStack(AtumItems.ptahsPick); + artifacts.add(stack); + artifacts.add(new ItemStack(AtumItems.sobeksRage)); + artifacts.add(new ItemStack(AtumItems.osirisWill)); + artifacts.add(new ItemStack(AtumItems.akersToil)); + artifacts.add(new ItemStack(AtumItems.gebsBlessing)); + artifacts.add(new ItemStack(AtumItems.atensFury)); + artifacts.add(new ItemStack(AtumItems.rasGlory)); + artifacts.add(new ItemStack(AtumItems.sekhmetsWrath)); + artifacts.add(new ItemStack(AtumItems.nutsAgility)); + artifacts.add(new ItemStack(AtumItems.horusFlight)); + artifacts.add(new ItemStack(AtumItems.monthusStrike)); + artifacts.add(new ItemStack(AtumItems.neithsAudacity)); + artifacts.add(new ItemStack(AtumItems.hedetetsSting)); + artifacts.add(new ItemStack(AtumItems.nusFlux)); + artifacts.add(new ItemStack(AtumItems.anhursMight)); + artifacts.add(new ItemStack(AtumItems.horusSoaring)); + artifacts.add(new ItemStack(AtumItems.shusBreath)); + artifacts.add(new ItemStack(AtumItems.hedetetsVenom)); + artifacts.add(new ItemStack(AtumItems.monthusBlast)); + artifacts.add(new ItemStack(AtumItems.mnevisHorns)); + artifacts.add(new ItemStack(AtumItems.isisEmbrace)); + artifacts.add(new ItemStack(AtumItems.maatsBalance)); + artifacts.add(new ItemStack(AtumItems.nutsCall)); + artifacts.add(new ItemStack(AtumItems.ptahsDestruction)); + artifacts.add(new ItemStack(AtumItems.anuketsBounty)); + artifacts.add(new ItemStack(AtumItems.anubisMercy)); + artifacts.add(new ItemStack(AtumItems.amunetsHomecoming)); + artifacts.add(new ItemStack(AtumItems.isisHealing)); + artifacts.add(new ItemStack(AtumItems.mafdetsQuickness)); + junkLoot.addLoot(new ItemStack(AtumItems.flaxSeeds), 5, 1, 2); + junkLoot.addLoot(new ItemStack(Item.stick), 5, 1, 5); + junkLoot.addLoot(new ItemStack(AtumItems.date), 5, 1, 2); + junkLoot.addLoot(new ItemStack(Item.bone), 10, 1, 3); + junkLoot.addLoot(new ItemStack(Item.bread), 10, 1, 4); + junkLoot.addLoot(new ItemStack(AtumBlocks.sand), 20, 1, 64); + junkLoot.addLoot(new ItemStack(AtumItems.scimitar), 5, 1, 1); + junkLoot.addLoot(new ItemStack(Item.seeds), 5, 1, 3); + junkLoot.addLoot(new ItemStack(Item.leather), 5, 1, 5); + junkLoot.addLoot(new ItemStack(Item.dyePowder, 1, 3), 5, 1, 3); + junkLoot.addLoot(new ItemStack(Item.saddle), 5, 1, 1); + goodLoot.addLoot(new ItemStack(Item.ingotIron), 38, 1, 3); + goodLoot.addLoot(new ItemStack(Item.ingotGold), 20, 1, 3); + goodLoot.addLoot(new ItemStack(Item.diamond), 4, 1, 2); + goodLoot.addLoot(new ItemStack(Item.enchantedBook, 1, 1), 5, 1, 1); + ItemStack stick = new ItemStack(Item.stick); + stick.setItemName("Amazing Stick"); + goodLoot.addLoot(stick, 1, 1, 1); + } + + public static void addArtifact(ItemStack stack) { + artifacts.add(stack); + } + + public static ItemStack getRandomLoot() { + if(artifacts == null) { + init(); + } + + return (ItemStack)artifacts.get(0); + } + + public static ItemStack getRandomArtifact() { + if(artifacts == null) { + init(); + } + + int i = (new Random()).nextInt(artifacts.size()); + return ((ItemStack)artifacts.get(i)).copy(); + } + + public static void fillChest(IInventory inventory, int multiplier, float quality) { + if(inventory == null) { + System.out.println("Error trying to fill empty chest"); + } else { + if(artifacts == null) { + init(); + } + + Random rand = new Random(); + + for(int i = 0; i < multiplier; ++i) { + int slot = rand.nextInt(inventory.getSizeInventory()); + float roll = rand.nextFloat(); + new ItemStack(0, 0, 0); + ItemStack stack; + if(rand.nextFloat() < quality) { + if((double)roll > 0.2D) { + stack = goodLoot.getRandomLoot(); + } else if((double)roll > 0.005D) { + stack = ItemLoot.getRandomLoot(rand, true); + } else { + int randomArtifactID = rand.nextInt(artifacts.size()); + stack = ((ItemStack)artifacts.get(randomArtifactID)).copy(); + } + } else { + stack = junkLoot.getRandomLoot(); + } - public static void init() - { - artifacts = new ArrayList(); - goodLoot = new AtumWeightedLootSet(); - junkLoot = new AtumWeightedLootSet(); - - ItemStack stack = new ItemStack(AtumItems.ptahsPick); - artifacts.add(stack); - - artifacts.add(new ItemStack(AtumItems.sobeksRage)); - artifacts.add(new ItemStack(AtumItems.osirisWill)); - artifacts.add(new ItemStack(AtumItems.akersToil)); - artifacts.add(new ItemStack(AtumItems.gebsBlessing)); - artifacts.add(new ItemStack(AtumItems.atensFury)); - artifacts.add(new ItemStack(AtumItems.rasGlory)); - artifacts.add(new ItemStack(AtumItems.sekhmetsWrath)); - artifacts.add(new ItemStack(AtumItems.nutsAgility)); - artifacts.add(new ItemStack(AtumItems.horusFlight)); - artifacts.add(new ItemStack(AtumItems.monthusStrike)); - artifacts.add(new ItemStack(AtumItems.neithsAudacity)); - artifacts.add(new ItemStack(AtumItems.hedetetsSting)); - artifacts.add(new ItemStack(AtumItems.nusFlux)); - artifacts.add(new ItemStack(AtumItems.anhursMight)); - artifacts.add(new ItemStack(AtumItems.horusSoaring)); - artifacts.add(new ItemStack(AtumItems.shusBreath)); - artifacts.add(new ItemStack(AtumItems.hedetetsVenom)); - artifacts.add(new ItemStack(AtumItems.monthusBlast)); - artifacts.add(new ItemStack(AtumItems.mnevisHorns)); - artifacts.add(new ItemStack(AtumItems.isisEmbrace)); - artifacts.add(new ItemStack(AtumItems.maatsBalance)); - artifacts.add(new ItemStack(AtumItems.nutsCall)); - artifacts.add(new ItemStack(AtumItems.ptahsDestruction)); - artifacts.add(new ItemStack(AtumItems.anuketsBounty)); - artifacts.add(new ItemStack(AtumItems.anubisMercy)); - artifacts.add(new ItemStack(AtumItems.amunetsHomecoming)); - artifacts.add(new ItemStack(AtumItems.isisHealing)); - artifacts.add(new ItemStack(AtumItems.mafdetsQuickness)); - - - - // Junk Loot Stuff - junkLoot.addLoot(new ItemStack(AtumItems.flaxSeeds), 5, 1, 2); - junkLoot.addLoot(new ItemStack(Item.stick), 5, 1, 5); - junkLoot.addLoot(new ItemStack(AtumItems.date), 5, 1, 2); - junkLoot.addLoot(new ItemStack(Item.bone), 10, 1, 3); - junkLoot.addLoot(new ItemStack(Item.bread), 10, 1, 4); - junkLoot.addLoot(new ItemStack(AtumBlocks.sand), 20, 1, 64); - junkLoot.addLoot(new ItemStack(AtumItems.scimitar), 5, 1, 1); - junkLoot.addLoot(new ItemStack(Item.seeds), 5, 1, 3); - junkLoot.addLoot(new ItemStack(Item.leather), 5, 1, 5); - junkLoot.addLoot(new ItemStack(Item.dyePowder, 1, 3), 5, 1, 3); - junkLoot.addLoot(new ItemStack(Item.saddle), 5, 1, 1); - - // Good Loot - goodLoot.addLoot(new ItemStack(Item.ingotIron), 38, 1, 3); - goodLoot.addLoot(new ItemStack(Item.ingotGold), 20, 1, 3); - goodLoot.addLoot(new ItemStack(Item.diamond), 4, 1, 2); - goodLoot.addLoot(new ItemStack(Item.enchantedBook, 1, 1), 5, 1, 1); - ItemStack stick = new ItemStack(Item.stick); - stick.setItemName("Amazing Stick"); - goodLoot.addLoot(stick, 1, 1, 1); - } - - public static void addArtifact(ItemStack stack) - { - artifacts.add(stack); - } - - public static ItemStack getRandomLoot() - { - if(artifacts == null) - init(); - - return artifacts.get(0); - } - - public static ItemStack getRandomArtifact() - { - if(artifacts == null) - init(); - - int i = (new Random()).nextInt(artifacts.size()); - return artifacts.get(i).copy(); - } + inventory.setInventorySlotContents(slot, stack); + } - public static void fillChest(IInventory inventory, int multiplier, float quality) - { - if(inventory == null) - { - System.out.println("Error trying to fill empty chest"); - return; - } - - if(artifacts == null) - init(); - - Random rand = new Random(); - for(int i = 0; i < multiplier; i++) - { - int slot = rand.nextInt(inventory.getSizeInventory()); - float roll = rand.nextFloat(); - ItemStack stack = new ItemStack(0, 0, 0); - if(rand.nextFloat() < quality) - { - if(roll > 0.20) - { - stack = goodLoot.getRandomLoot(); - } - else if(roll > 0.005) - { - stack = ItemLoot.getRandomLoot(rand, true); - } - else - { - int randomArtifactID = rand.nextInt(artifacts.size()); - stack = artifacts.get(randomArtifactID).copy(); - } - } - else - { - stack = junkLoot.getRandomLoot(); - } - inventory.setInventorySlotContents(slot, stack); - } - } + } + } } diff --git a/common/rebelkeithy/mods/atum/AtumMusicListener.java b/common/rebelkeithy/mods/atum/AtumMusicListener.java index db873a4..272a2da 100644 --- a/common/rebelkeithy/mods/atum/AtumMusicListener.java +++ b/common/rebelkeithy/mods/atum/AtumMusicListener.java @@ -1,43 +1,60 @@ package rebelkeithy.mods.atum; -import java.io.File; -import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; import java.util.List; +import java.util.Random; +import cpw.mods.fml.client.FMLClientHandler; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.SoundPoolEntry; import net.minecraftforge.client.event.sound.PlayBackgroundMusicEvent; import net.minecraftforge.client.event.sound.SoundLoadEvent; import net.minecraftforge.event.ForgeSubscribe; -public class AtumMusicListener -{ - List musics; - //SoundPoolEntry music; - - @ForgeSubscribe - public void onSoundLoadEvent(SoundLoadEvent event) - { - musics = new ArrayList(); - - String path = "/mods/Atum/music/"; - musics.add(event.manager.soundPoolSounds.addSound("Atum/ALongJourney.ogg", Atum.class.getResource(path + "ALongJourney.ogg"))); - musics.add(event.manager.soundPoolSounds.addSound("Atum/Hostiles.ogg", Atum.class.getResource(path + "Hostiles.ogg"))); - musics.add(event.manager.soundPoolSounds.addSound("Atum/ScorchingSand.ogg", Atum.class.getResource(path + "ScorchingSand.ogg"))); - musics.add(event.manager.soundPoolSounds.addSound("Atum/TempleTales.ogg", Atum.class.getResource(path + "TempleTales.ogg"))); - musics.add(event.manager.soundPoolSounds.addSound("Atum/TheWanderer.ogg", Atum.class.getResource(path + "TheWanderer.ogg"))); - - - path = "/mods/Atum/sounds/"; - //file = new File(Minecraft.getMinecraft().mcDataDir, Atum.class.getResource("resources/Atum/sounds/pharaohspawn.ogg")); - //System.out.println(file.exists() + " Does File Exist " + file.getAbsolutePath()); - event.manager.soundPoolSounds.addSound("Atum/pharaohspawn.ogg", Atum.class.getResource(path + "pharaohspawn.ogg")); - } - - @ForgeSubscribe - public void onBackgroundMusic(PlayBackgroundMusicEvent event) - { - if(Minecraft.getMinecraft().thePlayer.worldObj.provider.dimensionId == AtumConfig.dimensionID) - event.result = musics.get((int) (Math.random() * musics.size())); - } +public class AtumMusicListener { + + + @ForgeSubscribe + public void onSoundLoadEvent(SoundLoadEvent event) { + event.manager.addSound("Atum/ALongJourney.ogg"); + event.manager.addSound("Atum/Hostiles.ogg"); + event.manager.addSound("Atum/ScorchingSand.ogg"); + event.manager.addSound("Atum/TempleTales.ogg"); + event.manager.addSound("Atum/TheWanderer.ogg"); + event.manager.addSound("Atum/pharaohspawn.ogg"); + } + + @ForgeSubscribe + public void onBackgroundMusic(PlayBackgroundMusicEvent event) { + if (Minecraft.getMinecraft().thePlayer.worldObj.provider.dimensionId == AtumConfig.dimensionID) { + } + + } + + } +enum Music { + ALongJourney("atum:sound/ALongJourney.ogg"), + HOSTILES("atum:sound/Hostiles.ogg"), + ScorchingSand("atum:sound/ScorchingSand.ogg"), + TempleTales("atum:sound/TempleTales.ogg"), + TheWanderer("atum:sound/TheWanderer.ogg"), + Pharaohspawn("atum:sound/pharaohspawn.ogg"); + + private static final List VALUES = Collections.unmodifiableList(Arrays.asList(values())); + private static final int SIZE = VALUES.size(); + private static final Random RANDOM = new Random(); + + public String soundLocation; + public String soundTag; + + Music(String music) { + this.soundLocation = music; + this.soundTag = this.soundLocation.substring(0, this.soundLocation.length() - ".ogg".length()).replace("/", "."); + } + + public static Music getRandomTrack() { + return VALUES.get(RANDOM.nextInt(SIZE)); + } +} \ No newline at end of file diff --git a/common/rebelkeithy/mods/atum/AtumPortalPosition.java b/common/rebelkeithy/mods/atum/AtumPortalPosition.java index bd25865..ba1bcb6 100644 --- a/common/rebelkeithy/mods/atum/AtumPortalPosition.java +++ b/common/rebelkeithy/mods/atum/AtumPortalPosition.java @@ -1,17 +1,17 @@ package rebelkeithy.mods.atum; import net.minecraft.util.ChunkCoordinates; +import rebelkeithy.mods.atum.AtumTeleporter; -public class AtumPortalPosition extends ChunkCoordinates -{ - public long field_85087_d; +public class AtumPortalPosition extends ChunkCoordinates { - final AtumTeleporter field_85088_e; + public long field_85087_d; + final AtumTeleporter field_85088_e; - public AtumPortalPosition(AtumTeleporter par1Teleporter, int par2, int par3, int par4, long par5) - { - super(par2, par3, par4); - this.field_85088_e = par1Teleporter; - this.field_85087_d = par5; - } + + public AtumPortalPosition(AtumTeleporter par1Teleporter, int par2, int par3, int par4, long par5) { + super(par2, par3, par4); + this.field_85088_e = par1Teleporter; + this.field_85087_d = par5; + } } diff --git a/common/rebelkeithy/mods/atum/AtumRecipes.java b/common/rebelkeithy/mods/atum/AtumRecipes.java index eace913..0f2756f 100644 --- a/common/rebelkeithy/mods/atum/AtumRecipes.java +++ b/common/rebelkeithy/mods/atum/AtumRecipes.java @@ -1,126 +1,77 @@ package rebelkeithy.mods.atum; +import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; -import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.ShapedOreRecipe; import net.minecraftforge.oredict.ShapelessOreRecipe; -import cpw.mods.fml.common.registry.GameRegistry; +import rebelkeithy.mods.atum.AtumBlocks; +import rebelkeithy.mods.atum.AtumItems; + +public class AtumRecipes { -public class AtumRecipes -{ + public static void addRecipes() { + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(AtumBlocks.largeBrick, 4), new Object[]{"XX", "XX", Character.valueOf('X'), AtumBlocks.stone})); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(AtumBlocks.smallBrick, 4), new Object[]{"XX", "XX", Character.valueOf('X'), AtumBlocks.cobble})); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(AtumBlocks.carvedBrick, 1), new Object[]{AtumBlocks.stone})); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.smoothStairs, 6), new Object[]{"X ", "XX ", "XXX", Character.valueOf('X'), AtumBlocks.stone}); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.cobbleStairs, 6), new Object[]{"X ", "XX ", "XXX", Character.valueOf('X'), AtumBlocks.cobble}); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.largeStoneStairs, 6), new Object[]{"X ", "XX ", "XXX", Character.valueOf('X'), AtumBlocks.largeBrick}); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.smallStoneStairs, 6), new Object[]{"X ", "XX ", "XXX", Character.valueOf('X'), AtumBlocks.smallBrick}); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.slabs, 6, 0), new Object[]{"XXX", Character.valueOf('X'), AtumBlocks.stone}); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.slabs, 6, 1), new Object[]{"XXX", Character.valueOf('X'), AtumBlocks.cobble}); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.slabs, 6, 2), new Object[]{"XXX", Character.valueOf('X'), AtumBlocks.largeBrick}); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.slabs, 6, 3), new Object[]{"XXX", Character.valueOf('X'), AtumBlocks.smallBrick}); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.wall, 6, 0), new Object[]{"XXX", "XXX", Character.valueOf('X'), AtumBlocks.stone}); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.wall, 6, 1), new Object[]{"XXX", "XXX", Character.valueOf('X'), AtumBlocks.cobble}); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.wall, 6, 2), new Object[]{"XXX", "XXX", Character.valueOf('X'), AtumBlocks.largeBrick}); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.wall, 6, 3), new Object[]{"XXX", "XXX", Character.valueOf('X'), AtumBlocks.smallBrick}); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.framedGlass), new Object[]{" X ", "XSX", " X ", Character.valueOf('X'), Item.stick, Character.valueOf('S'), AtumBlocks.crystalGlass}); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.crackedLargeBrick, 4), new Object[]{"XX", "XX", Character.valueOf('X'), AtumItems.stoneChunk}); + GameRegistry.addRecipe(new ItemStack(Item.expBottle), new Object[]{" X ", "XBX", " X ", Character.valueOf('X'), AtumItems.ectoplasm, Character.valueOf('B'), Item.potion}); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneSword), new Object[]{"L", "L", "S", Character.valueOf('L'), AtumBlocks.cobble, Character.valueOf('S'), Item.stick}); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneShovel), new Object[]{"L", "S", "S", Character.valueOf('L'), AtumBlocks.cobble, Character.valueOf('S'), Item.stick}); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestonePickaxe), new Object[]{"LLL", " S ", " S ", Character.valueOf('L'), AtumBlocks.cobble, Character.valueOf('S'), Item.stick}); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneAxe), new Object[]{"LL", "LS", " S", Character.valueOf('L'), AtumBlocks.cobble, Character.valueOf('S'), Item.stick}); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneHoe), new Object[]{"LL", " S", " S", Character.valueOf('L'), AtumBlocks.cobble, Character.valueOf('S'), Item.stick}); + GameRegistry.addRecipe(new ItemStack(AtumItems.mummyHelmet), new Object[]{"XXX", "X X", Character.valueOf('X'), AtumItems.scrap}); + GameRegistry.addRecipe(new ItemStack(AtumItems.mummyChest), new Object[]{"X X", "XXX", "XXX", Character.valueOf('X'), AtumItems.scrap}); + GameRegistry.addRecipe(new ItemStack(AtumItems.mummyLegs), new Object[]{"XXX", "X X", "X X", Character.valueOf('X'), AtumItems.scrap}); + GameRegistry.addRecipe(new ItemStack(AtumItems.mummyBoots), new Object[]{"X X", "X X", Character.valueOf('X'), AtumItems.scrap}); + GameRegistry.addRecipe(new ItemStack(AtumItems.wandererHelmet), new Object[]{"XXX", "X X", Character.valueOf('X'), AtumItems.linen}); + GameRegistry.addRecipe(new ItemStack(AtumItems.wandererChest), new Object[]{"X X", "XXX", "XXX", Character.valueOf('X'), AtumItems.linen}); + GameRegistry.addRecipe(new ItemStack(AtumItems.wandererLegs), new Object[]{"XXX", "X X", "X X", Character.valueOf('X'), AtumItems.linen}); + GameRegistry.addRecipe(new ItemStack(AtumItems.wandererBoots), new Object[]{"X X", "X X", Character.valueOf('X'), AtumItems.linen}); + GameRegistry.addRecipe(new ItemStack(AtumItems.linen), new Object[]{"XXX", Character.valueOf('X'), AtumItems.flax}); + GameRegistry.addRecipe(new ItemStack(Item.glassBottle, 3), new Object[]{"X X", " X ", Character.valueOf('X'), AtumBlocks.crystalGlass}); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.thinCrystalGlass, 16), new Object[]{"XXX", "XXX", Character.valueOf('X'), AtumBlocks.crystalGlass}); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.thinFramedGlass, 16), new Object[]{"XXX", "XXX", Character.valueOf('X'), AtumBlocks.framedGlass}); + GameRegistry.addRecipe(new ItemStack(AtumItems.scroll), new Object[]{"XXX", "SXS", "XXX", Character.valueOf('X'), AtumItems.papyrusPlant, Character.valueOf('S'), Item.stick}); + GameRegistry.addRecipe(new ItemStack(AtumItems.scarab), new Object[]{" G ", "GDG", " G ", Character.valueOf('G'), Item.ingotGold, Character.valueOf('D'), Item.diamond}); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.furnaceIdle), new Object[]{"XXX", "X X", "XXX", Character.valueOf('X'), AtumBlocks.cobble}); + } - - public static void addRecipes() - { - // Brick recipes - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(AtumBlocks.largeBrick, 4), "XX", "XX", 'X', AtumBlocks.stone)); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(AtumBlocks.smallBrick, 4), "XX", "XX", 'X', AtumBlocks.cobble)); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(AtumBlocks.carvedBrick, 1), AtumBlocks.stone)); - - // Stair recipes - GameRegistry.addRecipe(new ItemStack(AtumBlocks.smoothStairs, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.stone); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.cobbleStairs, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.cobble); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.largeStoneStairs, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.largeBrick); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.smallStoneStairs, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.smallBrick); - - // Slab recipes - GameRegistry.addRecipe(new ItemStack(AtumBlocks.slabs, 6, 0), "XXX", 'X', AtumBlocks.stone); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.slabs, 6, 1), "XXX", 'X', AtumBlocks.cobble); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.slabs, 6, 2), "XXX", 'X', AtumBlocks.largeBrick); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.slabs, 6, 3), "XXX", 'X', AtumBlocks.smallBrick); - - // Wall recipes - GameRegistry.addRecipe(new ItemStack(AtumBlocks.wall, 6, 0), "XXX", "XXX", 'X', AtumBlocks.stone); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.wall, 6, 1), "XXX", "XXX", 'X', AtumBlocks.cobble); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.wall, 6, 2), "XXX", "XXX", 'X', AtumBlocks.largeBrick); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.wall, 6, 3), "XXX", "XXX", 'X', AtumBlocks.smallBrick); - - // Crystal glass to framed glass - GameRegistry.addRecipe(new ItemStack(AtumBlocks.framedGlass), " X ", "XSX", " X ", 'X', Item.stick, 'S', AtumBlocks.crystalGlass); - - // Cracked large bricks recipe - GameRegistry.addRecipe(new ItemStack(AtumBlocks.crackedLargeBrick, 4), "XX", "XX", 'X', AtumItems.stoneChunk); - - // Xp bottle recipe - GameRegistry.addRecipe(new ItemStack(Item.expBottle), " X ", "XBX", " X ", 'X', AtumItems.ectoplasm, 'B', Item.potion); + public static void addSmeltingRecipes() { + FurnaceRecipes.smelting().addSmelting(AtumBlocks.ironOre.blockID, 0, new ItemStack(Item.ingotIron), 0.7F); + FurnaceRecipes.smelting().addSmelting(AtumBlocks.coalOre.blockID, new ItemStack(Item.coal), 0.1F); + FurnaceRecipes.smelting().addSmelting(AtumBlocks.redstoneOre.blockID, new ItemStack(Item.redstone), 0.7F); + FurnaceRecipes.smelting().addSmelting(AtumBlocks.lapisOre.blockID, new ItemStack(Item.dyePowder, 1, 4), 0.2F); + FurnaceRecipes.smelting().addSmelting(AtumBlocks.goldOre.blockID, new ItemStack(Item.ingotGold), 1.0F); + FurnaceRecipes.smelting().addSmelting(AtumBlocks.diamondOre.blockID, new ItemStack(Item.diamond), 1.0F); + FurnaceRecipes.smelting().addSmelting(AtumBlocks.log.blockID, new ItemStack(Item.coal, 1, 1), 0.15F); + FurnaceRecipes.smelting().addSmelting(AtumBlocks.cobble.blockID, new ItemStack(AtumBlocks.stone), 0.1F); + FurnaceRecipes.smelting().addSmelting(AtumBlocks.sand.blockID, new ItemStack(AtumBlocks.crystalGlass), 0.1F); + } - // Limestone tool recipes - GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneSword), "L", "L", "S", 'L', AtumBlocks.cobble, 'S', Item.stick); - GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneShovel), "L", "S", "S", 'L', AtumBlocks.cobble, 'S', Item.stick); - GameRegistry.addRecipe(new ItemStack(AtumItems.limestonePickaxe), "LLL", " S ", " S ", 'L', AtumBlocks.cobble, 'S', Item.stick); - GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneAxe), "LL", "LS", " S", 'L', AtumBlocks.cobble, 'S', Item.stick); - GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneHoe), "LL", " S", " S", 'L', AtumBlocks.cobble, 'S', Item.stick); - - // Mummy armor recipes - GameRegistry.addRecipe(new ItemStack(AtumItems.mummyHelmet), "XXX", "X X", 'X', AtumItems.scrap); - GameRegistry.addRecipe(new ItemStack(AtumItems.mummyChest), "X X", "XXX", "XXX", 'X', AtumItems.scrap); - GameRegistry.addRecipe(new ItemStack(AtumItems.mummyLegs), "XXX", "X X", "X X", 'X', AtumItems.scrap); - GameRegistry.addRecipe(new ItemStack(AtumItems.mummyBoots), "X X", "X X", 'X', AtumItems.scrap); - - // Wanderer's armor recipes - GameRegistry.addRecipe(new ItemStack(AtumItems.wandererHelmet), "XXX", "X X", 'X', AtumItems.linen); - GameRegistry.addRecipe(new ItemStack(AtumItems.wandererChest), "X X", "XXX", "XXX", 'X', AtumItems.linen); - GameRegistry.addRecipe(new ItemStack(AtumItems.wandererLegs), "XXX", "X X", "X X", 'X', AtumItems.linen); - GameRegistry.addRecipe(new ItemStack(AtumItems.wandererBoots), "X X", "X X", 'X', AtumItems.linen); - - // Linen from flax - GameRegistry.addRecipe(new ItemStack(AtumItems.linen), "XXX", 'X', AtumItems.flax); - - // Bottles out of Crystal glass - GameRegistry.addRecipe(new ItemStack(Item.glassBottle, 3), "X X", " X ", 'X', AtumBlocks.crystalGlass); - - // Thin Glass - GameRegistry.addRecipe(new ItemStack(AtumBlocks.thinCrystalGlass, 16), "XXX", "XXX", 'X', AtumBlocks.crystalGlass); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.thinFramedGlass, 16), "XXX", "XXX", 'X', AtumBlocks.framedGlass); - - // Scroll from papyrus - GameRegistry.addRecipe(new ItemStack(AtumItems.scroll), "XXX", "SXS", "XXX", 'X', AtumItems.papyrusPlant, 'S', Item.stick); - - // Scarab recipe - GameRegistry.addRecipe(new ItemStack(AtumItems.scarab), " G ", "GDG", " G ", 'G', Item.ingotGold, 'D', Item.diamond); - - // Furnace recipe - GameRegistry.addRecipe(new ItemStack(AtumBlocks.furnaceIdle), "XXX", "X X", "XXX", 'X', AtumBlocks.cobble); - } - - public static void addSmeltingRecipes() - { - // Ore smelting recipes - FurnaceRecipes.smelting().addSmelting(AtumBlocks.ironOre.blockID, 0, new ItemStack(Item.ingotIron), 0.7F); - FurnaceRecipes.smelting().addSmelting(AtumBlocks.coalOre.blockID, new ItemStack(Item.coal), 0.1F); - FurnaceRecipes.smelting().addSmelting(AtumBlocks.redstoneOre.blockID, new ItemStack(Item.redstone), 0.7F); - FurnaceRecipes.smelting().addSmelting(AtumBlocks.lapisOre.blockID, new ItemStack(Item.dyePowder, 1, 4), 0.2F); - FurnaceRecipes.smelting().addSmelting(AtumBlocks.goldOre.blockID, new ItemStack(Item.ingotGold), 1.0F); - FurnaceRecipes.smelting().addSmelting(AtumBlocks.diamondOre.blockID, new ItemStack(Item.diamond), 1.0F); - - // Palm log to charcoal - FurnaceRecipes.smelting().addSmelting(AtumBlocks.log.blockID, new ItemStack(Item.coal, 1, 1), 0.15F); - - // Atum cobble to Atum stone - FurnaceRecipes.smelting().addSmelting(AtumBlocks.cobble.blockID, new ItemStack(AtumBlocks.stone), 0.1F); - - // Atum sand to crystal glass - FurnaceRecipes.smelting().addSmelting(AtumBlocks.sand.blockID, new ItemStack(AtumBlocks.crystalGlass), 0.1F); - } - - public static void addShapelessRecipes() - { - // Palm planks from Palm logs - GameRegistry.addShapelessRecipe(new ItemStack(AtumBlocks.planks, 4), AtumBlocks.log); - - // Desert armor from iron armor - GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertHelmet), AtumItems.wandererHelmet, Item.helmetIron); - GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertChest), AtumItems.wandererChest, Item.plateIron); - GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertLegs), AtumItems.wandererLegs, Item.legsIron); - GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertBoots), AtumItems.wandererBoots, Item.bootsIron); - - // Atum (Strange) sand to normal vanilla sand - GameRegistry.addShapelessRecipe(new ItemStack(Block.sand), AtumBlocks.sand); - - // Linen cloth to string - GameRegistry.addShapelessRecipe(new ItemStack(Item.silk, 3), AtumItems.flax); - } + public static void addShapelessRecipes() { + GameRegistry.addShapelessRecipe(new ItemStack(AtumBlocks.planks, 4), new Object[]{AtumBlocks.log}); + GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertHelmet), new Object[]{AtumItems.wandererHelmet, Item.helmetIron}); + GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertChest), new Object[]{AtumItems.wandererChest, Item.plateIron}); + GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertLegs), new Object[]{AtumItems.wandererLegs, Item.legsIron}); + GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertBoots), new Object[]{AtumItems.wandererBoots, Item.bootsIron}); + GameRegistry.addShapelessRecipe(new ItemStack(Block.sand), new Object[]{AtumBlocks.sand}); + GameRegistry.addShapelessRecipe(new ItemStack(Item.silk, 3), new Object[]{AtumItems.flax}); + } } diff --git a/common/rebelkeithy/mods/atum/AtumTab.java b/common/rebelkeithy/mods/atum/AtumTab.java index 904cc6b..b4f2fef 100644 --- a/common/rebelkeithy/mods/atum/AtumTab.java +++ b/common/rebelkeithy/mods/atum/AtumTab.java @@ -2,17 +2,15 @@ import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; +import rebelkeithy.mods.atum.AtumItems; -public class AtumTab extends CreativeTabs -{ - public AtumTab(String label) - { - super(label); - } - - @Override - public Item getTabIconItem() - { - return AtumItems.scarab; - } +public class AtumTab extends CreativeTabs { + + public AtumTab(String label) { + super(label); + } + + public Item getTabIconItem() { + return AtumItems.scarab; + } } diff --git a/common/rebelkeithy/mods/atum/AtumTeleporter.java b/common/rebelkeithy/mods/atum/AtumTeleporter.java index badc2be..17f0f3b 100644 --- a/common/rebelkeithy/mods/atum/AtumTeleporter.java +++ b/common/rebelkeithy/mods/atum/AtumTeleporter.java @@ -4,7 +4,6 @@ import java.util.Iterator; import java.util.List; import java.util.Random; - import net.minecraft.block.Block; import net.minecraft.entity.Entity; import net.minecraft.util.Direction; @@ -14,500 +13,397 @@ import net.minecraft.world.PortalPosition; import net.minecraft.world.Teleporter; import net.minecraft.world.WorldServer; +import rebelkeithy.mods.atum.AtumBlocks; +import rebelkeithy.mods.atum.AtumPortalPosition; + +public class AtumTeleporter extends Teleporter { + + private final WorldServer worldServerInstance; + private final Random random; + public static String[][] portalDesign = new String[][] { { "XXXXX", "X X", "X X", "X X", "XXXXX" }, { "X X", " ", " ", " ", "X X" }, { "X X", " ", " ", " ", "X X" } }; + + private final LongHashMap destinationCoordinateCache = new LongHashMap(); + private final List destinationCoordinateKeys = new ArrayList(); + + public AtumTeleporter(WorldServer par1WorldServer) { + super(par1WorldServer); + this.worldServerInstance = par1WorldServer; + this.random = new Random(par1WorldServer.getSeed()); + } + + @Override + public void placeInPortal(Entity par1Entity, double par2, double par4, double par6, float par8) { + if (this.worldServerInstance.provider.dimensionId != 1) { + if (!this.placeInExistingPortal(par1Entity, par2, par4, par6, par8)) { + this.makePortal(par1Entity); + this.placeInExistingPortal(par1Entity, par2, par4, par6, par8); + } + } else { + int i = MathHelper.floor_double(par1Entity.posX); + int j = MathHelper.floor_double(par1Entity.posY) - 1; + int k = MathHelper.floor_double(par1Entity.posZ); + byte b0 = 1; + byte b1 = 0; + + for (int l = -2; l <= 2; ++l) { + for (int i1 = -2; i1 <= 2; ++i1) { + for (int j1 = -1; j1 < 3; ++j1) { + int k1 = i + i1 * b0 + l * b1; + int l1 = j + j1; + int i2 = k + i1 * b1 - l * b0; + boolean flag = j1 < 0; + this.worldServerInstance.setBlock(k1, l1, i2, flag ? Block.sandStone.blockID : 0); + } + } + } + + par1Entity.setLocationAndAngles((double) i, (double) j, (double) k, par1Entity.rotationYaw, 0.0F); + par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D; + } + + } + + @Override + public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4, double par6, float par8) { + short short1 = 128; + double d3 = -1.0D; + int i = 0; + int j = 0; + int k = 0; + int l = MathHelper.floor_double(par1Entity.posX); + int i1 = MathHelper.floor_double(par1Entity.posZ); + long j1 = ChunkCoordIntPair.chunkXZ2Int(l, i1); + boolean flag = true; + double d4; + int k1; + int k2; + double var46; + if (this.destinationCoordinateCache.containsItem(j1)) { + PortalPosition d8 = (PortalPosition) this.destinationCoordinateCache.getValueByKey(j1); + d3 = 0.0D; + i = d8.posX; + j = d8.posY; + k = d8.posZ; + d8.lastUpdateTime = this.worldServerInstance.getTotalWorldTime(); + flag = false; + } else { + for (k1 = l - short1; k1 <= l + short1; ++k1) { + var46 = (double) k1 + 0.5D - par1Entity.posX; + + for (int d9 = i1 - short1; d9 <= i1 + short1; ++d9) { + double d6 = (double) d9 + 0.5D - par1Entity.posZ; + + for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { + if (this.worldServerInstance.getBlockId(k1, k2, d9) == AtumBlocks.portal.blockID) { + while (this.worldServerInstance.getBlockId(k1, k2 - 1, d9) == AtumBlocks.portal.blockID) { + --k2; + } + + d4 = (double) k2 + 0.5D - par1Entity.posY; + double l2 = var46 * var46 + d4 * d4 + d6 * d6; + if (d3 < 0.0D || l2 < d3) { + d3 = l2; + i = k1; + j = k2; + k = d9; + } + } + } + } + } + } + + if (d3 >= 0.0D) { + if (flag) { + this.destinationCoordinateCache.add(j1, new AtumPortalPosition(this, i, j, k, this.worldServerInstance.getTotalWorldTime())); + this.destinationCoordinateKeys.add(Long.valueOf(j1)); + } + + var46 = (double) i + 0.5D; + double var47 = (double) j + 0.5D; + d4 = (double) k + 0.5D; + int j2 = -1; + if (this.worldServerInstance.getBlockId(i - 1, j, k) == AtumBlocks.portal.blockID) { + j2 = 2; + } + + if (this.worldServerInstance.getBlockId(i + 1, j, k) == AtumBlocks.portal.blockID) { + j2 = 0; + } + + if (this.worldServerInstance.getBlockId(i, j, k - 1) == AtumBlocks.portal.blockID) { + j2 = 3; + } + + if (this.worldServerInstance.getBlockId(i, j, k + 1) == AtumBlocks.portal.blockID) { + j2 = 1; + } + + k2 = par1Entity.getTeleportDirection(); + if (j2 > -1) { + int var48 = Direction.rotateLeft[j2]; + int i3 = Direction.offsetX[j2]; + int j3 = Direction.offsetZ[j2]; + int k3 = Direction.offsetX[var48]; + int l3 = Direction.offsetZ[var48]; + boolean flag1 = !this.worldServerInstance.isAirBlock(i + i3 + k3, j, k + j3 + l3) || !this.worldServerInstance.isAirBlock(i + i3 + k3, j + 1, k + j3 + l3); + boolean flag2 = !this.worldServerInstance.isAirBlock(i + i3, j, k + j3) || !this.worldServerInstance.isAirBlock(i + i3, j + 1, k + j3); + if (flag1 && flag2) { + j2 = Direction.rotateOpposite[j2]; + var48 = Direction.rotateOpposite[var48]; + i3 = Direction.offsetX[j2]; + j3 = Direction.offsetZ[j2]; + k3 = Direction.offsetX[var48]; + l3 = Direction.offsetZ[var48]; + k1 = i - k3; + var46 -= (double) k3; + int f1 = k - l3; + d4 -= (double) l3; + flag1 = !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j, f1 + j3 + l3) || !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j + 1, f1 + j3 + l3); + flag2 = !this.worldServerInstance.isAirBlock(k1 + i3, j, f1 + j3) || !this.worldServerInstance.isAirBlock(k1 + i3, j + 1, f1 + j3); + } + + float var49 = 0.5F; + float f2 = 0.5F; + if (!flag1 && flag2) { + var49 = 1.0F; + } else if (flag1 && !flag2) { + var49 = 0.0F; + } else if (flag1 && flag2) { + f2 = 0.0F; + } + + var46 += (double) ((float) k3 * var49 + f2 * (float) i3); + d4 += (double) ((float) l3 * var49 + f2 * (float) j3); + float f3 = 0.0F; + float f4 = 0.0F; + float f5 = 0.0F; + float f6 = 0.0F; + if (j2 == k2) { + f3 = 1.0F; + f4 = 1.0F; + } else if (j2 == Direction.rotateOpposite[k2]) { + f3 = -1.0F; + f4 = -1.0F; + } else if (j2 == Direction.rotateRight[k2]) { + f5 = 1.0F; + f6 = -1.0F; + } else { + f5 = -1.0F; + f6 = 1.0F; + } + + double d10 = par1Entity.motionX; + double d11 = par1Entity.motionZ; + par1Entity.motionX = d10 * (double) f3 + d11 * (double) f6; + par1Entity.motionZ = d10 * (double) f5 + d11 * (double) f4; + par1Entity.rotationYaw = par8 - (float) (k2 * 90) + (float) (j2 * 90); + } else { + par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D; + } + + par1Entity.setLocationAndAngles(var46, var47, d4, par1Entity.rotationYaw, par1Entity.rotationPitch); + return true; + } else { + return false; + } + } + + @Override + public boolean makePortal(Entity par1Entity) { + byte b0 = 16; + double d0 = -1.0D; + int entityX = MathHelper.floor_double(par1Entity.posX); + int entityY = MathHelper.floor_double(par1Entity.posY); + int entityZ = MathHelper.floor_double(par1Entity.posZ); + int l = entityX; + int i1 = entityY; + int j1 = entityZ; + int k1 = 0; + int l1 = this.random.nextInt(4); + + int i2; + double d1; + double d2; + int k2; + int j2; + int i3; + int l2; + int k3; + int j3; + int i4; + int l3; + int k4; + int j4; + double d3; + double d4; + int i5; + for (i2 = entityX - b0; i2 <= entityX + b0; ++i2) { + d1 = (double) i2 + 0.5D - par1Entity.posX; + + for (j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) { + d2 = (double) j2 + 0.5D - par1Entity.posZ; + + label272: for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { + if (this.worldServerInstance.isAirBlock(i2, k2, j2)) { + while (k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) { + --k2; + } + + for (i3 = l1; i3 < l1 + 4; ++i3) { + l2 = i3 % 2; + k3 = 1 - l2; + if (i3 % 4 >= 2) { + l2 = -l2; + k3 = -k3; + } + + for (j3 = 0; j3 < 3; ++j3) { + for (i4 = 0; i4 < 4; ++i4) { + for (l3 = -1; l3 < 4; ++l3) { + k4 = i2 + (i4 - 1) * l2 + j3 * k3; + j4 = k2 + l3; + i5 = j2 + (i4 - 1) * k3 - j3 * l2; + if (l3 < 0 && !this.worldServerInstance.getBlockMaterial(k4, j4, i5).isSolid() || l3 >= 0 && !this.worldServerInstance.isAirBlock(k4, j4, i5)) { + continue label272; + } + } + } + } + + d4 = (double) k2 + 0.5D - par1Entity.posY; + d3 = d1 * d1 + d4 * d4 + d2 * d2; + if (d0 < 0.0D || d3 < d0) { + d0 = d3; + l = i2; + i1 = k2; + j1 = j2; + k1 = i3 % 4; + } + } + } + } + } + } + + if (d0 < 0.0D) { + for (i2 = entityX - b0; i2 <= entityX + b0; ++i2) { + d1 = (double) i2 + 0.5D - par1Entity.posX; + + for (j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) { + d2 = (double) j2 + 0.5D - par1Entity.posZ; + + label220: for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { + if (this.worldServerInstance.isAirBlock(i2, k2, j2)) { + while (k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) { + --k2; + } + + for (i3 = l1; i3 < l1 + 2; ++i3) { + l2 = i3 % 2; + k3 = 1 - l2; + + for (j3 = 0; j3 < 4; ++j3) { + for (i4 = -1; i4 < 4; ++i4) { + l3 = i2 + (j3 - 1) * l2; + k4 = k2 + i4; + j4 = j2 + (j3 - 1) * k3; + if (i4 < 0 && !this.worldServerInstance.getBlockMaterial(l3, k4, j4).isSolid() || i4 >= 0 && !this.worldServerInstance.isAirBlock(l3, k4, j4)) { + continue label220; + } + } + } + + d4 = (double) k2 + 0.5D - par1Entity.posY; + d3 = d1 * d1 + d4 * d4 + d2 * d2; + if (d0 < 0.0D || d3 < d0) { + d0 = d3; + l = i2; + i1 = k2; + j1 = j2; + k1 = i3 % 2; + } + } + } + } + } + } + } + + i5 = l; + int j5 = i1; + j2 = j1; + int k5 = k1 % 2; + int l5 = 1 - k5; + if (k1 % 4 >= 2) { + k5 = -k5; + l5 = -l5; + } + + boolean flag; + if (d0 < 0.0D) { + if (i1 < 70) { + i1 = 70; + } + + if (i1 > this.worldServerInstance.getActualHeight() - 10) { + i1 = this.worldServerInstance.getActualHeight() - 10; + } + + j5 = i1; + + for (k2 = -1; k2 <= 1; ++k2) { + for (i3 = 1; i3 < 3; ++i3) { + for (l2 = -1; l2 < 3; ++l2) { + k3 = i5 + (i3 - 1) * k5 + k2 * l5; + j3 = j5 + l2; + i4 = j2 + (i3 - 1) * l5 - k2 * k5; + flag = l2 < 0; + this.worldServerInstance.setBlock(k3, j3, i4, flag ? Block.sandStone.blockID : 0); + } + } + } + } + + for (k2 = 0; k2 < 4; ++k2) { + for (i3 = 0; i3 < 4; ++i3) { + for (l2 = -1; l2 < 4; ++l2) { + k3 = i5 + (i3 - 1) * k5; + j3 = j5 + l2; + i4 = j2 + (i3 - 1) * l5; + flag = i3 == 0 || i3 == 3 || l2 == -1 || l2 == 3; + this.worldServerInstance.setBlock(k3, j3, i4, flag ? Block.sandStone.blockID : AtumBlocks.portal.blockID, 0, 2); + } + } + + for (i3 = 0; i3 < 4; ++i3) { + for (l2 = -1; l2 < 4; ++l2) { + k3 = i5 + (i3 - 1) * k5; + j3 = j5 + l2; + i4 = j2 + (i3 - 1) * l5; + this.worldServerInstance.notifyBlocksOfNeighborChange(k3, j3, i4, this.worldServerInstance.getBlockId(k3, j3, i4)); + } + } + } + + return true; + } + + public void removeStalePortalLocations(long par1) { + if (par1 % 100L == 0L) { + Iterator iterator = this.destinationCoordinateKeys.iterator(); + long j = par1 - 600L; + + while (iterator.hasNext()) { + Long olong = (Long) iterator.next(); + PortalPosition portalposition = (PortalPosition) this.destinationCoordinateCache.getValueByKey(olong.longValue()); + if (portalposition == null || portalposition.lastUpdateTime < j) { + iterator.remove(); + this.destinationCoordinateCache.remove(olong.longValue()); + } + } + } + + } -public class AtumTeleporter extends Teleporter -{ - private final WorldServer worldServerInstance; - - /** A private Random() function in Teleporter */ - private final Random random; - private final LongHashMap field_85191_c = new LongHashMap(); - private final List field_85190_d = new ArrayList(); - - public static String[][] portalDesign = { {"XXXXX", "X X", "X X", "X X", "XXXXX"}, - {"X X", " ", " ", " ", "X X"}, - {"X X", " ", " ", " ", "X X"}}; - - public AtumTeleporter(WorldServer par1WorldServer) - { - super(par1WorldServer); - this.worldServerInstance = par1WorldServer; - this.random = new Random(par1WorldServer.getSeed()); - } - - /** - * Place an entity in a nearby portal, creating one if necessary. - */ - @Override - public void placeInPortal(Entity par1Entity, double par2, double par4, double par6, float par8) - { - if (this.worldServerInstance.provider.dimensionId != 1) - { - if (!this.placeInExistingPortal(par1Entity, par2, par4, par6, par8)) - { - this.makePortal(par1Entity); - this.placeInExistingPortal(par1Entity, par2, par4, par6, par8); - } - } - else - { - int i = MathHelper.floor_double(par1Entity.posX); - int j = MathHelper.floor_double(par1Entity.posY) - 1; - int k = MathHelper.floor_double(par1Entity.posZ); - byte b0 = 1; - byte b1 = 0; - - for (int l = -2; l <= 2; ++l) - { - for (int i1 = -2; i1 <= 2; ++i1) - { - for (int j1 = -1; j1 < 3; ++j1) - { - int k1 = i + i1 * b0 + l * b1; - int l1 = j + j1; - int i2 = k + i1 * b1 - l * b0; - boolean flag = j1 < 0; - this.worldServerInstance.setBlock(k1, l1, i2, flag ? Block.sandStone.blockID : 0); - } - } - } - - par1Entity.setLocationAndAngles((double)i, (double)j, (double)k, par1Entity.rotationYaw, 0.0F); - par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D; - } - } - - /** - * Place an entity in a nearby portal which already exists. - */ - @Override - public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4, double par6, float par8) - { - short short1 = 128; - double d3 = -1.0D; - int i = 0; - int j = 0; - int k = 0; - int l = MathHelper.floor_double(par1Entity.posX); - int i1 = MathHelper.floor_double(par1Entity.posZ); - long j1 = ChunkCoordIntPair.chunkXZ2Int(l, i1); - boolean flag = true; - double d4; - int k1; - - if (this.field_85191_c.containsItem(j1)) - { - PortalPosition portalposition = (PortalPosition)this.field_85191_c.getValueByKey(j1); - d3 = 0.0D; - i = portalposition.posX; - j = portalposition.posY; - k = portalposition.posZ; - portalposition.lastUpdateTime = this.worldServerInstance.getTotalWorldTime(); - flag = false; - } - else - { - for (k1 = l - short1; k1 <= l + short1; ++k1) - { - double d5 = (double)k1 + 0.5D - par1Entity.posX; - - for (int l1 = i1 - short1; l1 <= i1 + short1; ++l1) - { - double d6 = (double)l1 + 0.5D - par1Entity.posZ; - - for (int i2 = this.worldServerInstance.getActualHeight() - 1; i2 >= 0; --i2) - { - if (this.worldServerInstance.getBlockId(k1, i2, l1) == AtumBlocks.portal.blockID) - { - while (this.worldServerInstance.getBlockId(k1, i2 - 1, l1) == AtumBlocks.portal.blockID) - { - --i2; - } - - d4 = (double)i2 + 0.5D - par1Entity.posY; - double d7 = d5 * d5 + d4 * d4 + d6 * d6; - - if (d3 < 0.0D || d7 < d3) - { - d3 = d7; - i = k1; - j = i2; - k = l1; - } - } - } - } - } - } - - if (d3 >= 0.0D) - { - if (flag) - { - this.field_85191_c.add(j1, new AtumPortalPosition(this, i, j, k, this.worldServerInstance.getTotalWorldTime())); - this.field_85190_d.add(Long.valueOf(j1)); - } - - double d8 = (double)i + 0.5D; - double d9 = (double)j + 0.5D; - d4 = (double)k + 0.5D; - int j2 = -1; - - if (this.worldServerInstance.getBlockId(i - 1, j, k) == AtumBlocks.portal.blockID) - { - j2 = 2; - } - - if (this.worldServerInstance.getBlockId(i + 1, j, k) == AtumBlocks.portal.blockID) - { - j2 = 0; - } - - if (this.worldServerInstance.getBlockId(i, j, k - 1) == AtumBlocks.portal.blockID) - { - j2 = 3; - } - - if (this.worldServerInstance.getBlockId(i, j, k + 1) == AtumBlocks.portal.blockID) - { - j2 = 1; - } - - int k2 = par1Entity.getTeleportDirection(); - - if (j2 > -1) - { - int l2 = Direction.rotateLeft[j2]; - int i3 = Direction.offsetX[j2]; - int j3 = Direction.offsetZ[j2]; - int k3 = Direction.offsetX[l2]; - int l3 = Direction.offsetZ[l2]; - boolean flag1 = !this.worldServerInstance.isAirBlock(i + i3 + k3, j, k + j3 + l3) || !this.worldServerInstance.isAirBlock(i + i3 + k3, j + 1, k + j3 + l3); - boolean flag2 = !this.worldServerInstance.isAirBlock(i + i3, j, k + j3) || !this.worldServerInstance.isAirBlock(i + i3, j + 1, k + j3); - - if (flag1 && flag2) - { - j2 = Direction.rotateOpposite[j2]; - l2 = Direction.rotateOpposite[l2]; - i3 = Direction.offsetX[j2]; - j3 = Direction.offsetZ[j2]; - k3 = Direction.offsetX[l2]; - l3 = Direction.offsetZ[l2]; - k1 = i - k3; - d8 -= (double)k3; - int i4 = k - l3; - d4 -= (double)l3; - flag1 = !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j, i4 + j3 + l3) || !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j + 1, i4 + j3 + l3); - flag2 = !this.worldServerInstance.isAirBlock(k1 + i3, j, i4 + j3) || !this.worldServerInstance.isAirBlock(k1 + i3, j + 1, i4 + j3); - } - - float f1 = 0.5F; - float f2 = 0.5F; - - if (!flag1 && flag2) - { - f1 = 1.0F; - } - else if (flag1 && !flag2) - { - f1 = 0.0F; - } - else if (flag1 && flag2) - { - f2 = 0.0F; - } - - d8 += (double)((float)k3 * f1 + f2 * (float)i3); - d4 += (double)((float)l3 * f1 + f2 * (float)j3); - float f3 = 0.0F; - float f4 = 0.0F; - float f5 = 0.0F; - float f6 = 0.0F; - - if (j2 == k2) - { - f3 = 1.0F; - f4 = 1.0F; - } - else if (j2 == Direction.rotateOpposite[k2]) - { - f3 = -1.0F; - f4 = -1.0F; - } - else if (j2 == Direction.rotateRight[k2]) - { - f5 = 1.0F; - f6 = -1.0F; - } - else - { - f5 = -1.0F; - f6 = 1.0F; - } - - double d10 = par1Entity.motionX; - double d11 = par1Entity.motionZ; - par1Entity.motionX = d10 * (double)f3 + d11 * (double)f6; - par1Entity.motionZ = d10 * (double)f5 + d11 * (double)f4; - par1Entity.rotationYaw = par8 - (float)(k2 * 90) + (float)(j2 * 90); - } - else - { - par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D; - } - - par1Entity.setLocationAndAngles(d8, d9, d4, par1Entity.rotationYaw, par1Entity.rotationPitch); - return true; - } - else - { - return false; - } - } - - @Override - public boolean makePortal(Entity par1Entity) - { - byte b0 = 16; - double d0 = -1.0D; - int entityX = MathHelper.floor_double(par1Entity.posX); - int entityY = MathHelper.floor_double(par1Entity.posY); - int entityZ = MathHelper.floor_double(par1Entity.posZ); - int l = entityX; - int i1 = entityY; - int j1 = entityZ; - int k1 = 0; - int l1 = this.random.nextInt(4); - int i2; - double d1; - double d2; - int j2; - int k2; - int l2; - int i3; - int j3; - int k3; - int l3; - int i4; - int j4; - int k4; - double d3; - double d4; - - for (i2 = entityX - b0; i2 <= entityX + b0; ++i2) - { - d1 = (double)i2 + 0.5D - par1Entity.posX; - - for (j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) - { - d2 = (double)j2 + 0.5D - par1Entity.posZ; - label274: - - for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) - { - if (this.worldServerInstance.isAirBlock(i2, k2, j2)) - { - while (k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) - { - --k2; - } - - for (i3 = l1; i3 < l1 + 4; ++i3) - { - l2 = i3 % 2; - k3 = 1 - l2; - - if (i3 % 4 >= 2) - { - l2 = -l2; - k3 = -k3; - } - - for (j3 = 0; j3 < 3; ++j3) - { - for (i4 = 0; i4 < 4; ++i4) - { - for (l3 = -1; l3 < 4; ++l3) - { - k4 = i2 + (i4 - 1) * l2 + j3 * k3; - j4 = k2 + l3; - int l4 = j2 + (i4 - 1) * k3 - j3 * l2; - - if (l3 < 0 && !this.worldServerInstance.getBlockMaterial(k4, j4, l4).isSolid() || l3 >= 0 && !this.worldServerInstance.isAirBlock(k4, j4, l4)) - { - continue label274; - } - } - } - } - - d4 = (double)k2 + 0.5D - par1Entity.posY; - d3 = d1 * d1 + d4 * d4 + d2 * d2; - - if (d0 < 0.0D || d3 < d0) - { - d0 = d3; - l = i2; - i1 = k2; - j1 = j2; - k1 = i3 % 4; - } - } - } - } - } - } - - if (d0 < 0.0D) - { - for (i2 = entityX - b0; i2 <= entityX + b0; ++i2) - { - d1 = (double)i2 + 0.5D - par1Entity.posX; - - for (j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) - { - d2 = (double)j2 + 0.5D - par1Entity.posZ; - label222: - - for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) - { - if (this.worldServerInstance.isAirBlock(i2, k2, j2)) - { - while (k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) - { - --k2; - } - - for (i3 = l1; i3 < l1 + 2; ++i3) - { - l2 = i3 % 2; - k3 = 1 - l2; - - for (j3 = 0; j3 < 4; ++j3) - { - for (i4 = -1; i4 < 4; ++i4) - { - l3 = i2 + (j3 - 1) * l2; - k4 = k2 + i4; - j4 = j2 + (j3 - 1) * k3; - - if (i4 < 0 && !this.worldServerInstance.getBlockMaterial(l3, k4, j4).isSolid() || i4 >= 0 && !this.worldServerInstance.isAirBlock(l3, k4, j4)) - { - continue label222; - } - } - } - - d4 = (double)k2 + 0.5D - par1Entity.posY; - d3 = d1 * d1 + d4 * d4 + d2 * d2; - - if (d0 < 0.0D || d3 < d0) - { - d0 = d3; - l = i2; - i1 = k2; - j1 = j2; - k1 = i3 % 2; - } - } - } - } - } - } - } - - int i5 = l; - int j5 = i1; - j2 = j1; - int k5 = k1 % 2; - int l5 = 1 - k5; - - if (k1 % 4 >= 2) - { - k5 = -k5; - l5 = -l5; - } - - boolean flag; - - if (d0 < 0.0D) - { - if (i1 < 70) - { - i1 = 70; - } - - if (i1 > this.worldServerInstance.getActualHeight() - 10) - { - i1 = this.worldServerInstance.getActualHeight() - 10; - } - - j5 = i1; - - for (k2 = -1; k2 <= 1; ++k2) - { - for (i3 = 1; i3 < 3; ++i3) - { - for (l2 = -1; l2 < 3; ++l2) - { - k3 = i5 + (i3 - 1) * k5 + k2 * l5; - j3 = j5 + l2; - i4 = j2 + (i3 - 1) * l5 - k2 * k5; - flag = l2 < 0; - this.worldServerInstance.setBlock(k3, j3, i4, flag ? Block.sandStone.blockID : 0); - } - } - } - } - - for (k2 = 0; k2 < 4; ++k2) - { - for (i3 = 0; i3 < 4; ++i3) - { - for (l2 = -1; l2 < 4; ++l2) - { - k3 = i5 + (i3 - 1) * k5; - j3 = j5 + l2; - i4 = j2 + (i3 - 1) * l5; - flag = i3 == 0 || i3 == 3 || l2 == -1 || l2 == 3; - this.worldServerInstance.setBlock(k3, j3, i4, flag ? Block.sandStone.blockID : AtumBlocks.portal.blockID, 0, 2); - } - } - - for (i3 = 0; i3 < 4; ++i3) - { - for (l2 = -1; l2 < 4; ++l2) - { - k3 = i5 + (i3 - 1) * k5; - j3 = j5 + l2; - i4 = j2 + (i3 - 1) * l5; - this.worldServerInstance.notifyBlocksOfNeighborChange(k3, j3, i4, this.worldServerInstance.getBlockId(k3, j3, i4)); - } - } - } - - return true; - } - - @Override - public void removeStalePortalLocations(long par1) - { - if (par1 % 100L == 0L) - { - Iterator iterator = this.field_85190_d.iterator(); - long j = par1 - 600L; - - while (iterator.hasNext()) - { - Long olong = (Long)iterator.next(); - PortalPosition portalposition = (PortalPosition)this.field_85191_c.getValueByKey(olong.longValue()); - - if (portalposition == null || portalposition.lastUpdateTime < j) - { - iterator.remove(); - this.field_85191_c.remove(olong.longValue()); - } - } - } - } } diff --git a/common/rebelkeithy/mods/atum/AtumWeightedLootSet.java b/common/rebelkeithy/mods/atum/AtumWeightedLootSet.java index ed0dc88..d88765c 100644 --- a/common/rebelkeithy/mods/atum/AtumWeightedLootSet.java +++ b/common/rebelkeithy/mods/atum/AtumWeightedLootSet.java @@ -5,74 +5,63 @@ import java.util.Map; import java.util.Random; import java.util.Set; - import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentData; -import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.item.Item; import net.minecraft.item.ItemEnchantedBook; import net.minecraft.item.ItemStack; import net.minecraft.util.MathHelper; -import net.minecraft.util.WeightedRandomChestContent; -public class AtumWeightedLootSet -{ - public Map loot; - public Map lootMin; - public Map lootMax; +public class AtumWeightedLootSet { + public Map loot; + public Map lootMin; + public Map lootMax; public int totalWeight; - - public AtumWeightedLootSet() - { - loot = new HashMap(); - lootMin = new HashMap(); - lootMax = new HashMap(); - totalWeight = 0; + + public AtumWeightedLootSet() { + this.loot = new HashMap(); + this.lootMin = new HashMap(); + this.lootMax = new HashMap(); + this.totalWeight = 0; } - - public void addLoot(ItemStack stack, int weight, int min, int max) - { - if(weight <= 0 || stack == null) + + public void addLoot(ItemStack stack, int weight, int min, int max) { + if ((weight <= 0) || (stack == null)) { return; - - loot.put(totalWeight + weight, stack); - lootMin.put(totalWeight + weight, min); - lootMax.put(totalWeight + weight, max); - totalWeight += weight; + } + this.loot.put(Integer.valueOf(this.totalWeight + weight), stack); + this.lootMin.put(Integer.valueOf(this.totalWeight + weight), Integer.valueOf(min)); + this.lootMax.put(Integer.valueOf(this.totalWeight + weight), Integer.valueOf(max)); + this.totalWeight += weight; } - - public ItemStack getRandomLoot() - { + + public ItemStack getRandomLoot() { Random rand = new Random(); - int weight = rand.nextInt(totalWeight); + int weight = rand.nextInt(this.totalWeight); - - ItemStack stack = null; - - Set keySet = loot.keySet(); - Integer[] keys = keySet.toArray(new Integer[keySet.size()]); + + Set keySet = this.loot.keySet(); + Integer[] keys = (Integer[]) keySet.toArray(new Integer[keySet.size()]); Arrays.sort(keys); - - for(Integer key : keys) - { - if(key >= weight) - { - stack = loot.get(key).copy(); - int min = lootMin.get(key); - int max = lootMax.get(key); + + for (Integer key : keys) { + if (key.intValue() >= weight) { + stack = ((ItemStack) this.loot.get(key)).copy(); + int min = ((Integer) this.lootMin.get(key)).intValue(); + int max = ((Integer) this.lootMax.get(key)).intValue(); int amount = rand.nextInt(max - min + 1) + min; stack.stackSize = amount; - if(stack.itemID == Item.enchantedBook.itemID) - { - Enchantment enchantment = Enchantment.field_92090_c[rand.nextInt(Enchantment.field_92090_c.length)]; - int l = MathHelper.getRandomIntegerInRange(rand, enchantment.getMinLevel(), enchantment.getMaxLevel()); - ((ItemEnchantedBook) stack.getItem()).func_92115_a(stack, new EnchantmentData(enchantment, l)); - } + if (stack.itemID != Item.enchantedBook.itemID) + break; + Enchantment enchantment = Enchantment.enchantmentsBookList[rand.nextInt(Enchantment.enchantmentsBookList.length)]; + int l = MathHelper.getRandomIntegerInRange(rand, enchantment.getMinLevel(), enchantment.getMaxLevel()); + ((ItemEnchantedBook) stack.getItem()).addEnchantment(stack, new EnchantmentData(enchantment, l)); break; } + } - + return stack; } -} +} \ No newline at end of file diff --git a/common/rebelkeithy/mods/atum/ClientProxy.java b/common/rebelkeithy/mods/atum/ClientProxy.java index bb992db..a8aa110 100644 --- a/common/rebelkeithy/mods/atum/ClientProxy.java +++ b/common/rebelkeithy/mods/atum/ClientProxy.java @@ -7,10 +7,8 @@ import net.minecraft.client.model.ModelZombie; import net.minecraft.client.renderer.entity.RenderBiped; import net.minecraft.client.renderer.entity.RenderFish; -import net.minecraft.client.renderer.entity.RenderLiving; import net.minecraft.client.renderer.entity.RenderManager; import net.minecraftforge.client.MinecraftForgeClient; -import net.minecraftforge.common.MinecraftForge; import rebelkeithy.mods.atum.artifacts.arrow.CustomArrow; import rebelkeithy.mods.atum.artifacts.arrow.EntityAtumFishHook; import rebelkeithy.mods.atum.artifacts.arrow.EntityNutsCall; @@ -32,14 +30,15 @@ import rebelkeithy.mods.atum.entities.EntityStoneSoldier; import rebelkeithy.mods.atum.entities.ModelDesertWolf; import rebelkeithy.mods.atum.entities.ModelDustySkeleton; -import rebelkeithy.mods.atum.entities.RenderBandit; -import rebelkeithy.mods.atum.entities.RenderDesertWolf; -import rebelkeithy.mods.atum.entities.RenderGhost; -import rebelkeithy.mods.atum.entities.RenderPharaoh; import rebelkeithy.mods.atum.entities.projectiles.EntityFireSpearCombined; import rebelkeithy.mods.atum.entities.projectiles.EntityFireSpearSeperated; import rebelkeithy.mods.atum.entities.projectiles.RenderFireSpear; import rebelkeithy.mods.atum.entities.projectiles.RenderFireSpearSeperated; +import rebelkeithy.mods.atum.entities.render.CustomRenderBiped; +import rebelkeithy.mods.atum.entities.render.RenderBandit; +import rebelkeithy.mods.atum.entities.render.RenderDesertWolf; +import rebelkeithy.mods.atum.entities.render.RenderGhost; +import rebelkeithy.mods.atum.entities.render.RenderPharaoh; import rebelkeithy.mods.atum.items.RendererItemBow; import rebelkeithy.mods.atum.particles.EntityCritFX; import rebelkeithy.mods.atum.particles.EntitySandFX; @@ -49,69 +48,53 @@ import cpw.mods.fml.common.registry.TickRegistry; import cpw.mods.fml.relauncher.Side; -public class ClientProxy extends CommonProxy -{ - public void registerParticles() - { +public class ClientProxy extends CommonProxy { + + public void registerParticles() { ParticleRegistry.registerParticle("sand", EntitySandFX.class); ParticleRegistry.registerParticle("sandportal", EntitySandPortalFX.class); ParticleRegistry.registerParticle("coloredcrit", EntityCritFX.class); } - - public File getMinecraftDir() - { - return Minecraft.getMinecraftDir(); - } - - public void preloadImages() - { - } - - public void registerTickHandlers() - { - TickRegistry.registerTickHandler(new ServerTickHandler(), Side.SERVER); - TickRegistry.registerTickHandler(new TickHandler(), Side.CLIENT); + + public File getMinecraftDir() { + return Minecraft.getMinecraft().mcDataDir; } - public void registerModelRenderers() - { + public void registerTickHandlers() { + TickRegistry.registerTickHandler(new ServerTickHandler(), Side.SERVER); + TickRegistry.registerTickHandler(new TickHandler(), Side.CLIENT); + } - RenderingRegistry.registerEntityRenderingHandler(EntityMummy.class, new RenderLiving(new ModelZombie(), 0.5F)); - RenderingRegistry.registerEntityRenderingHandler(EntityBanditWarrior.class, new RenderBiped(new ModelBiped(), 0.5F)); - RenderingRegistry.registerEntityRenderingHandler(EntityBarbarian.class, new RenderBiped(new ModelBiped(), 0.5F)); - RenderingRegistry.registerEntityRenderingHandler(EntityBanditArcher.class, new RenderBandit(new ModelBiped(), 0.5F)); - RenderingRegistry.registerEntityRenderingHandler(EntityBanditWarlord.class, new RenderBiped(new ModelBiped(), 0.5F)); + public void registerModelRenderers() { + RenderingRegistry.registerEntityRenderingHandler(EntityMummy.class, new CustomRenderBiped(new ModelZombie(), 0.5F, "Mummy.png")); + RenderingRegistry.registerEntityRenderingHandler(EntityBanditWarrior.class, new RenderBandit(new ModelBiped(), 0.5F, "BanditWarrior.png")); + RenderingRegistry.registerEntityRenderingHandler(EntityBarbarian.class, new CustomRenderBiped(new ModelBiped(), 0.5F, "Barbarian.png")); + RenderingRegistry.registerEntityRenderingHandler(EntityBanditArcher.class, new RenderBandit(new ModelBiped(), 0.5F, "BanditArcher.png")); + RenderingRegistry.registerEntityRenderingHandler(EntityBanditWarlord.class, new RenderBandit(new ModelBiped(), 0.5F, "BanditWarlord.png")); RenderingRegistry.registerEntityRenderingHandler(EntityPharaoh.class, new RenderPharaoh(new ModelBiped(), 0.5F)); - RenderingRegistry.registerEntityRenderingHandler(EntityDustySkeleton.class, new RenderBiped(new ModelDustySkeleton(), 0.5F)); + RenderingRegistry.registerEntityRenderingHandler(EntityDustySkeleton.class, new CustomRenderBiped(new ModelDustySkeleton(), 0.5F, "DustySkeleton.png")); RenderingRegistry.registerEntityRenderingHandler(EntityGhost.class, new RenderGhost(new ModelZombie(), 0.5F)); - RenderingRegistry.registerEntityRenderingHandler(EntityStoneSoldier.class, new RenderBiped(new ModelBiped(), 0.5F)); - RenderingRegistry.registerEntityRenderingHandler(EntityDesertWolf.class, new RenderDesertWolf(new ModelDesertWolf(), new ModelDesertWolf(), 0.5F)); + RenderingRegistry.registerEntityRenderingHandler(EntityStoneSoldier.class, new CustomRenderBiped(new ModelBiped(), 0.5F, "StoneSoldier.png")); + RenderingRegistry.registerEntityRenderingHandler(EntityDesertWolf.class, new RenderDesertWolf(new ModelDesertWolf(), 0.5F)); - RenderingRegistry.registerEntityRenderingHandler(EntityFireSpearCombined.class, new RenderFireSpear()); RenderingRegistry.registerEntityRenderingHandler(CustomArrow.class, new RenderCustomArrow()); RenderingRegistry.registerEntityRenderingHandler(EntityNutsCall.class, new RenderNutsCall()); RenderingRegistry.registerEntityRenderingHandler(EntityAtumFishHook.class, new RenderFish()); - RenderManager.instance.entityRenderMap.put(EntityFireSpearCombined.class, new RenderFireSpear()); RenderManager.instance.entityRenderMap.put(EntityFireSpearSeperated.class, new RenderFireSpearSeperated()); - - //RenderManager.instance.entityRenderMap.put(CustomArrow.class, new RenderCustomArrow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.bow.itemID, new RendererItemBow()); MinecraftForgeClient.registerItemRenderer(AtumItems.atensFury.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.horusSoaring.itemID, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.horusSoaring.itemID, new RendererItemBow()); MinecraftForgeClient.registerItemRenderer(AtumItems.neithsAudacity.itemID, new RendererItemBow()); MinecraftForgeClient.registerItemRenderer(AtumItems.shusBreath.itemID, new RendererItemBow()); MinecraftForgeClient.registerItemRenderer(AtumItems.hedetetsVenom.itemID, new RendererItemBow()); MinecraftForgeClient.registerItemRenderer(AtumItems.monthusBlast.itemID, new RendererItemBow()); - RenderingRegistry.registerBlockHandler(((BlockPapyrus)AtumBlocks.papyrus).renderID, new PapyrusBlockRenderer()); - RenderingRegistry.registerBlockHandler(((BlockDate)(AtumBlocks.dateBlock)).renderID, new DateBlockRenderer()); + RenderingRegistry.registerBlockHandler(((BlockPapyrus) AtumBlocks.papyrus).renderID, new PapyrusBlockRenderer()); + RenderingRegistry.registerBlockHandler(((BlockDate) ((BlockDate) AtumBlocks.dateBlock)).renderID, new DateBlockRenderer()); } - - @Override - public void registerMusic() - { - MinecraftForge.EVENT_BUS.register(new AtumMusicListener()); + + public void registerMusic() { + // MinecraftForge.EVENT_BUS.register(new AtumMusicListener()); } } diff --git a/common/rebelkeithy/mods/atum/CommonProxy.java b/common/rebelkeithy/mods/atum/CommonProxy.java index 8a99832..527bc84 100644 --- a/common/rebelkeithy/mods/atum/CommonProxy.java +++ b/common/rebelkeithy/mods/atum/CommonProxy.java @@ -1,27 +1,25 @@ package rebelkeithy.mods.atum; -import java.io.File; - import cpw.mods.fml.common.registry.TickRegistry; import cpw.mods.fml.relauncher.Side; +import java.io.File; +import rebelkeithy.mods.atum.ServerTickHandler; + +public class CommonProxy { + + public void registerParticles() {} + + public File getMinecraftDir() { + return new File("."); + } + + public void registerTickHandlers() { + TickRegistry.registerTickHandler(new ServerTickHandler(), Side.SERVER); + } + + public void preloadImages() {} + + public void registerModelRenderers() {} -public class CommonProxy -{ - public void registerParticles(){} - - public File getMinecraftDir() - { - return new File("."); - } - - public void registerTickHandlers() - { - TickRegistry.registerTickHandler(new ServerTickHandler(), Side.SERVER); - } - - public void preloadImages() {} - - public void registerModelRenderers() {} - - public void registerMusic() {} + public void registerMusic() {} } diff --git a/common/rebelkeithy/mods/atum/PotionStun.java b/common/rebelkeithy/mods/atum/PotionStun.java index d3c9ce6..91c25a9 100644 --- a/common/rebelkeithy/mods/atum/PotionStun.java +++ b/common/rebelkeithy/mods/atum/PotionStun.java @@ -2,45 +2,32 @@ import cpw.mods.fml.relauncher.ReflectionHelper; import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.potion.Potion; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingSetAttackTargetEvent; -public class PotionStun extends Potion -{ +public class PotionStun extends Potion { - protected PotionStun(int par1, boolean par2, int par3) - { - super(par1, par2, par3); - MinecraftForge.EVENT_BUS.register(this); - } - + protected PotionStun(int par1, boolean par2, int par3) { + super(par1, par2, par3); + MinecraftForge.EVENT_BUS.register(this); + } + @ForgeSubscribe + public void entityAquireTarge(LivingSetAttackTargetEvent event) { + if(event.entityLiving != null && event.entityLiving.isPotionActive(this)) { + ReflectionHelper.setPrivateValue(EntityLivingBase.class, event.entityLiving, (Object)null, new String[]{"attackTarget", "field_70696_bz", "b0"}); + } - @ForgeSubscribe - public void entityAquireTarge(LivingSetAttackTargetEvent event) - { - if(event.entityLiving != null) - { - if(event.entityLiving.isPotionActive(this)) - { - ReflectionHelper.setPrivateValue(EntityLiving.class, event.entityLiving, null, "attackTarget", "field_70696_bz", "b0"); - //event.entityLiving.attackTarget = null; - } - } - } + } - @Override - public void performEffect(EntityLiving par1EntityLiving, int par2) - { - //par1EntityLiving.landMovementFactor = 0; - ReflectionHelper.setPrivateValue(EntityLiving.class, par1EntityLiving, null, "currentTarget", "field_70776_bF", "bY"); - } - - @Override - public boolean isReady(int par1, int par2) - { - return true; - } + public void performEffect(EntityLiving par1EntityLiving, int par2) { + ReflectionHelper.setPrivateValue(EntityLiving.class, par1EntityLiving, (Object)null, new String[]{"currentTarget", "field_70776_bF", "bY"}); + } + + public boolean isReady(int par1, int par2) { + return true; + } } diff --git a/common/rebelkeithy/mods/atum/ServerTickHandler.java b/common/rebelkeithy/mods/atum/ServerTickHandler.java index c16f37c..ba1ee87 100644 --- a/common/rebelkeithy/mods/atum/ServerTickHandler.java +++ b/common/rebelkeithy/mods/atum/ServerTickHandler.java @@ -1,96 +1,57 @@ - package rebelkeithy.mods.atum; +import cpw.mods.fml.common.ITickHandler; +import cpw.mods.fml.common.TickType; import java.util.EnumSet; - import net.minecraft.entity.player.EntityPlayer; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; -import cpw.mods.fml.common.ITickHandler; -import cpw.mods.fml.common.TickType; +import rebelkeithy.mods.atum.AtumItems; + +public class ServerTickHandler implements ITickHandler { + + private boolean raining; -public class ServerTickHandler implements ITickHandler -{ - private boolean raining; - - @Override - public void tickStart(EnumSet type, Object... tickData) - { - if(type.equals(EnumSet.of(TickType.PLAYER))) - { - EntityPlayer player = (EntityPlayer) tickData[0]; - - if (player.worldObj.getTotalWorldTime() % 60L == 0L) - { + public void tickStart(EnumSet type, Object ... tickData) { + if(type.equals(EnumSet.of(TickType.PLAYER))) { + EntityPlayer player = (EntityPlayer)tickData[0]; + if(player.worldObj.getTotalWorldTime() % 60L == 0L && player.getCurrentArmor(2) != null && player.getCurrentArmor(2).itemID == AtumItems.isisEmbrace.itemID) { + player.heal(1); + } - if(player.getCurrentArmor(2) != null) - { - if(player.getCurrentArmor(2).itemID == AtumItems.isisEmbrace.itemID) - { - player.heal(1); - } - } - } - - if (player.worldObj.getTotalWorldTime() % 10L == 0L) - { - if(player.getCurrentArmor(3) != null) - { - if(player.getCurrentArmor(3).itemID == AtumItems.rasGlory.itemID) - { - player.addPotionEffect(new PotionEffect(16, 340, 0, true)); - } else { - if(player.isPotionActive(16)) - { - player.clearActivePotions(); - } - } - } + if(player.worldObj.getTotalWorldTime() % 10L == 0L) { + if(player.getCurrentArmor(3) != null) { + if(player.getCurrentArmor(3).itemID == AtumItems.rasGlory.itemID) { + player.addPotionEffect(new PotionEffect(16, 340, 0, true)); + } else if(player.isPotionActive(16)) { + player.clearActivePotions(); + } + } - if(player.getCurrentArmor(2) != null) - { - if(player.getCurrentArmor(2).itemID == AtumItems.sekhmetsWrath.itemID) - { - //player.addPotionEffect(new PotionEffect(12, 240, 0, true)); - } - } + if(player.getCurrentArmor(2) != null && player.getCurrentArmor(2).itemID == AtumItems.sekhmetsWrath.itemID) { + ; + } - if(player.getCurrentArmor(1) != null) - { - if(player.getCurrentArmor(1).itemID == AtumItems.nutsAgility.itemID) - { - //player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 240, 1, true)); - player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 240, 1, true)); - } - } + if(player.getCurrentArmor(1) != null && player.getCurrentArmor(1).itemID == AtumItems.nutsAgility.itemID) { + player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 240, 1, true)); + } - if(player.getCurrentArmor(0) != null) - { - if(player.getCurrentArmor(0).itemID == AtumItems.horusFlight.itemID) - { - //player.addPotionEffect(new PotionEffect(8, 240, 1, true)); - } - } - } - } - } + if(player.getCurrentArmor(0) != null && player.getCurrentArmor(0).itemID == AtumItems.horusFlight.itemID) { + ; + } + } + } - @Override - public void tickEnd(EnumSet type, Object... tickData) { - // TODO Auto-generated method stub - - } + } - @Override - public EnumSet ticks() { - // TODO Auto-generated method stub - return EnumSet.of(TickType.PLAYER); - } + public void tickEnd(EnumSet type, Object ... tickData) {} - @Override - public String getLabel() { - return "Atum.TickHandler.Player"; - } + public EnumSet ticks() { + return EnumSet.of(TickType.PLAYER); + } + public String getLabel() { + return "Atum.TickHandler.Player"; + } } diff --git a/common/rebelkeithy/mods/atum/TickHandler.java b/common/rebelkeithy/mods/atum/TickHandler.java index 893ce71..75245d1 100644 --- a/common/rebelkeithy/mods/atum/TickHandler.java +++ b/common/rebelkeithy/mods/atum/TickHandler.java @@ -1,165 +1,118 @@ - package rebelkeithy.mods.atum; +import cpw.mods.fml.client.FMLClientHandler; +import cpw.mods.fml.common.ITickHandler; +import cpw.mods.fml.common.TickType; + import java.util.EnumSet; +import java.util.Iterator; import java.util.List; import java.util.Random; import net.minecraft.client.Minecraft; +import net.minecraft.client.entity.EntityClientPlayerMP; import net.minecraft.client.gui.ScaledResolution; import net.minecraft.client.renderer.ImageBufferDownload; import net.minecraft.client.renderer.Tessellator; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; +import rebelkeithy.mods.atum.AtumConfig; +import rebelkeithy.mods.atum.AtumItems; import rebelkeithy.mods.particleregistry.ParticleRegistry; -import cpw.mods.fml.client.FMLClientHandler; -import cpw.mods.fml.common.ITickHandler; -import cpw.mods.fml.common.TickType; -public class TickHandler implements ITickHandler -{ - private boolean raining; - private boolean overlay; - public static int defaultFog; - - @Override - public void tickStart(EnumSet type, Object... tickData) - { - - if(type.equals(EnumSet.of(TickType.RENDER))) - { - } - - - if(type.equals(EnumSet.of(TickType.PLAYER))) - { - if(Minecraft.getMinecraft().theWorld != null && Minecraft.getMinecraft().theWorld.loadedEntityList.size() > 0) - { - List players = Minecraft.getMinecraft().theWorld.playerEntities; - for(EntityPlayer player : players) - { - if(player != null && player.getEntityName() == "RebelKeithy" || player.getEntityName() == "Shadowclaimer") - { - String cloakURL = "http://images.mccapes.com/capes/standardmc/RebelKeithy.png"; - if(player.cloakUrl != cloakURL) - player.cloakUrl = cloakURL; - - Minecraft.getMinecraft().renderEngine.obtainImageData(player.cloakUrl, new ImageBufferDownload()); - } - } - } - - EntityPlayer player = (EntityPlayer) tickData[0]; - - boolean nightvision = false; - - if(player.getCurrentArmor(3) != null) - { - if(player.getCurrentArmor(3).itemID == AtumItems.rasGlory.itemID) - { - nightvision = true; - } - - } - - if(player.dimension == AtumConfig.dimensionID) - { - if(Minecraft.getMinecraft().gameSettings.renderDistance < (nightvision ? 1 : 2)) - { - defaultFog = Minecraft.getMinecraft().gameSettings.renderDistance; - Minecraft.getMinecraft().gameSettings.renderDistance = nightvision ? 1 : 2; - } - - if(player.worldObj.isRaining()) - { - raining = true; - if(Minecraft.getMinecraft().gameSettings.renderDistance < (nightvision ? 2 : 3)) - { - Minecraft.getMinecraft().gameSettings.renderDistance = nightvision ? 2 : 3; - } - - Random random = new Random(); - int particlesPerTick = (3 - Minecraft.getMinecraft().gameSettings.particleSetting) * 6; - for(int i = 0; i < particlesPerTick; i++) - { - float x = random.nextInt(4)-2; - float z = random.nextInt(4)-2; - float y = (random.nextFloat() - 0.7F)*2F; - - float vx = 0.1F + random.nextFloat() * 0.1F; - float vz = 0.1F + random.nextFloat() * 0.1F; - - ParticleRegistry.spawnParticle("sand", player.worldObj, player.posX + x, player.posY+y, player.posZ+z, vx + player.motionX, 0.0D, vz + player.motionZ); - } - } - else - { - if(raining == true && defaultFog < (nightvision ? 1 : 2)) - { - raining = false; - Minecraft.getMinecraft().gameSettings.renderDistance = nightvision ? 1 : 2; - - } - } - } - - } - /*if(type.equals(EnumSet.of(TickType.WORLD))) - { - - World world = (World) tickData[0]; - for(Object o : world.playerEntities) - { - EntityPlayer player = (EntityPlayer) o; - world.spawnParticle("Flame", player.posX+1, player.posY, player.posZ, 0.0D, 0.0D, 0.0D); - } - }*/ - - } - - - @Override - public void tickEnd(EnumSet type, Object... tickData) { - - Minecraft minecraft = FMLClientHandler.instance().getClient(); - EntityPlayer player = minecraft.thePlayer; - ItemStack currentItemStack = null; - - if (type.contains(TickType.RENDER)) - { - if(player != null && player.getCurrentArmor(3) != null) - { - if(player.getCurrentArmor(3).itemID == AtumItems.mummyHelmet.itemID) - { - ScaledResolution scaledresolution = new ScaledResolution(Minecraft.getMinecraft().gameSettings, Minecraft.getMinecraft().displayWidth, Minecraft.getMinecraft().displayHeight); - int par1 = scaledresolution.getScaledWidth(); - int par2 = scaledresolution.getScaledHeight(); - - - - Minecraft.getMinecraft().renderEngine.bindTexture("/mods/Atum/textures/hud/mummyblur.png"); - Tessellator tessellator = Tessellator.instance; - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(0.0D, par2, -100, 0.0D, 1.0D); - tessellator.addVertexWithUV(par1, par2, -100, 1.0D, 1.0D); - tessellator.addVertexWithUV(par1, 0.0D, -100, 1.0D, 0.0D); - tessellator.addVertexWithUV(0.0D, 0.0D, -100, 0.0D, 0.0D); - tessellator.draw(); - } - - } - } - } - - @Override - public EnumSet ticks() { - // TODO Auto-generated method stub - return EnumSet.of(TickType.PLAYER, TickType.RENDER); - } - - @Override - public String getLabel() { - return "Atum.TickHandler.Player"; - } +public class TickHandler implements ITickHandler { + + private boolean raining; + private boolean overlay; + public static int defaultFog; + + + public void tickStart(EnumSet type, Object ... tickData) { + if(type.equals(EnumSet.of(TickType.RENDER))) { + ; + } + + if(type.equals(EnumSet.of(TickType.PLAYER))) { + if(Minecraft.getMinecraft().theWorld != null && Minecraft.getMinecraft().theWorld.loadedEntityList.size() > 0) { + List player = Minecraft.getMinecraft().theWorld.playerEntities; + Iterator nightvision = player.iterator(); + + while(nightvision.hasNext()) { + EntityPlayer random = (EntityPlayer)nightvision.next(); +// if(random != null && random.getEntityName() == "RebelKeithy" || random.getEntityName() == "Shadowclaimer") { +// String particlesPerTick = "http://images.mccapes.com/capes/standardmc/RebelKeithy.png"; +// if(random.cloakUrl != particlesPerTick) { +// random.cloakUrl = particlesPerTick; +// } +// +// Minecraft.getMinecraft().renderEngine.obtainImageData(random.cloakUrl, new ImageBufferDownload()); +// } + } + } + + EntityPlayer var13 = (EntityPlayer)tickData[0]; + boolean var14 = false; + if(var13.getCurrentArmor(3) != null && var13.getCurrentArmor(3).itemID == AtumItems.rasGlory.itemID) { + var14 = true; + } + + if(var13.dimension == AtumConfig.dimensionID) { + if(Minecraft.getMinecraft().gameSettings.renderDistance < (var14?1:2)) { + defaultFog = Minecraft.getMinecraft().gameSettings.renderDistance; + Minecraft.getMinecraft().gameSettings.renderDistance = var14?1:2; + } + + if(var13.worldObj.isRaining()) { + this.raining = true; + if(Minecraft.getMinecraft().gameSettings.renderDistance < (var14?2:3)) { + Minecraft.getMinecraft().gameSettings.renderDistance = var14?2:3; + } + + Random var15 = new Random(); + int var16 = (3 - Minecraft.getMinecraft().gameSettings.particleSetting) * 6; + + for(int i = 0; i < var16; ++i) { + float x = (float)(var15.nextInt(4) - 2); + float z = (float)(var15.nextInt(4) - 2); + float y = (var15.nextFloat() - 0.7F) * 2.0F; + float vx = 0.1F + var15.nextFloat() * 0.1F; + float vz = 0.1F + var15.nextFloat() * 0.1F; + ParticleRegistry.spawnParticle("sand", var13.worldObj, var13.posX + (double)x, var13.posY + (double)y, var13.posZ + (double)z, (double)vx + var13.motionX, 0.0D, (double)vz + var13.motionZ); + } + } else if(this.raining && defaultFog < (var14?1:2)) { + this.raining = false; + Minecraft.getMinecraft().gameSettings.renderDistance = var14?1:2; + } + } + } + + } + + public void tickEnd(EnumSet type, Object ... tickData) { + Minecraft minecraft = FMLClientHandler.instance().getClient(); + EntityClientPlayerMP player = minecraft.thePlayer; + Object currentItemStack = null; + if(type.contains(TickType.RENDER) && player != null && player.getCurrentArmor(3) != null && player.getCurrentArmor(3).itemID == AtumItems.mummyHelmet.itemID) { + ScaledResolution scaledresolution = new ScaledResolution(Minecraft.getMinecraft().gameSettings, Minecraft.getMinecraft().displayWidth, Minecraft.getMinecraft().displayHeight); + int par1 = scaledresolution.getScaledWidth(); + int par2 = scaledresolution.getScaledHeight(); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(Atum.modID + ":textures/hud/mummyblur.png")); + Tessellator tessellator = Tessellator.instance; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(0.0D, (double)par2, -100.0D, 0.0D, 1.0D); + tessellator.addVertexWithUV((double)par1, (double)par2, -100.0D, 1.0D, 1.0D); + tessellator.addVertexWithUV((double)par1, 0.0D, -100.0D, 1.0D, 0.0D); + tessellator.addVertexWithUV(0.0D, 0.0D, -100.0D, 0.0D, 0.0D); + tessellator.draw(); + } + + } + + public EnumSet ticks() { + return EnumSet.of(TickType.PLAYER, TickType.RENDER); + } + public String getLabel() { + return "Atum.TickHandler.Player"; + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/IsisEmbrace.java b/common/rebelkeithy/mods/atum/artifacts/IsisEmbrace.java index 36a3f51..4e518ae 100644 --- a/common/rebelkeithy/mods/atum/artifacts/IsisEmbrace.java +++ b/common/rebelkeithy/mods/atum/artifacts/IsisEmbrace.java @@ -2,11 +2,7 @@ import java.util.List; -import org.lwjgl.input.Keyboard; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.Entity; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; @@ -14,64 +10,53 @@ import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import net.minecraft.world.World; -import net.minecraftforge.common.IArmorTextureProvider; -public class IsisEmbrace extends ItemArmor implements IArmorTextureProvider -{ +import org.lwjgl.input.Keyboard; + +import rebelkeithy.mods.atum.Atum; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class IsisEmbrace extends ItemArmor { + public String texture; - public IsisEmbrace(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) - { + + public IsisEmbrace(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); } - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Regeneration I: Regens"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "health slowly"); - } else { - par3List.add("Regeneration I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Regeneration I: Regens"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "health slowly"); + } else { + par3List.add("Regeneration I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } - public Item setTextureFile(String string) - { - texture = string; + public Item setTextureFile(String string) { + this.texture = string; return this; } - @Override - public String getArmorTextureFile(ItemStack itemstack) - { - return "/armor/" + texture + ".png"; + public String getArmorTextureFile(ItemStack itemstack) { + return "/armor/" + this.texture + ".png"; } - /** - * Return whether this item is repairable in an anvil. - */ @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Item.diamond.itemID; + } + @Override + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":IsisEmbrace"); + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemAkersToil.java b/common/rebelkeithy/mods/atum/artifacts/ItemAkersToil.java index 142a7f1..e20243b 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemAkersToil.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemAkersToil.java @@ -2,12 +2,9 @@ import java.util.List; -import org.lwjgl.input.Keyboard; - import net.minecraft.block.Block; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.EntityLiving; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumToolMaterial; @@ -16,76 +13,60 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; + +import org.lwjgl.input.Keyboard; + +import rebelkeithy.mods.atum.Atum; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class ItemAkersToil extends ItemSpade -{ +public class ItemAkersToil extends ItemSpade { - public ItemAkersToil(int par1, EnumToolMaterial par2EnumToolMaterial) - { + public ItemAkersToil(int par1, EnumToolMaterial par2EnumToolMaterial) { super(par1, par2EnumToolMaterial); } - /** - * Returns the strength of the stack against a given block. 1.0F base, (Quality+1)*2 if correct blocktype, 1.5F if - * sword - */ - public float getStrVsBlock(ItemStack par1ItemStack, Block par2Block) - { - for (int i = 0; i < this.blocksEffectiveAgainst.length; ++i) - { - if (this.blocksEffectiveAgainst[i] == par2Block) - { - return this.efficiencyOnProperMaterial * 3; - } - } + public float getStrVsBlock(ItemStack par1ItemStack, Block par2Block) { + for (int i = 0; i < ItemSpade.blocksEffectiveAgainst.length; ++i) { + if (ItemSpade.blocksEffectiveAgainst[i] == par2Block) { + return super.efficiencyOnProperMaterial * 3.0F; + } + } - return 1.0F; - } + return 1.0F; + } - public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, int par3, int par4, int par5, int par6, EntityLiving par7EntityLiving) - { - if(par7EntityLiving instanceof EntityPlayer) - { - ((EntityPlayer) par7EntityLiving).getFoodStats().addExhaustion(-0.025f); - } - return false; - } + @Override + public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, int par3, int par4, int par5, int par6, EntityLivingBase par7EntityLiving) { + if (par7EntityLiving instanceof EntityPlayer) { + ((EntityPlayer) par7EntityLiving).getFoodStats().addExhaustion(-0.025F); + } - @SideOnly(Side.CLIENT) + return false; + } + + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Performance I: Faster, does"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "not consume fatique"); + } else { + par3List.add("Performance I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } - @SideOnly(Side.CLIENT) + } - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Performance I: Faster, does"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "not consume fatique"); - } else { - par3List.add("Performance I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Item.diamond.itemID; + } - /** - * Return whether this item is repairable in an anvil. - */ @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":AkersToil"); + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemAmunetsHomecoming.java b/common/rebelkeithy/mods/atum/artifacts/ItemAmunetsHomecoming.java index 7918fc3..dcc5bc5 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemAmunetsHomecoming.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemAmunetsHomecoming.java @@ -1,9 +1,14 @@ package rebelkeithy.mods.atum.artifacts; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + import java.util.List; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; @@ -15,117 +20,83 @@ import org.lwjgl.input.Keyboard; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import rebelkeithy.mods.atum.Atum; -public class ItemAmunetsHomecoming extends Item -{ +public class ItemAmunetsHomecoming extends Item { - public ItemAmunetsHomecoming(int par1) - { + public ItemAmunetsHomecoming(int par1) { super(par1); this.setMaxDamage(20); } - /** - * Callback for item usage. If the item does something special on right clicking, he will have one of those. Return - * True if something happen and false if it don't. This is for ITEMS, not BLOCKS - */ - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par3World, EntityPlayer par2EntityPlayer) - { + public ItemStack onItemRightClick(ItemStack par1ItemStack, World par3World, EntityPlayer par2EntityPlayer) { ChunkCoordinates spawn = par2EntityPlayer.getBedLocation(); - //spawn = par2EntityPlayer.getHomePosition(); - if(spawn == null) - { + if (spawn == null) { spawn = par3World.getSpawnPoint(); } - - //spawn = EntityPlayer.verifyRespawnCoordinates(par3World, spawn, false); - - if(spawn == null) - { + + if (spawn == null) { spawn = par3World.getSpawnPoint(); } - - spawn = this.verifyRespawnCoordinates(par3World, spawn, false); - - if(spawn == null) - { + + spawn = verifyRespawnCoordinates(par3World, spawn, false); + if (spawn == null) { spawn = par3World.getSpawnPoint(); } - + par2EntityPlayer.rotationPitch = 0.0F; par2EntityPlayer.rotationYaw = 0.0F; - par2EntityPlayer.setPositionAndUpdate(spawn.posX + 0.5D, spawn.posY + 0.1D, spawn.posZ); - - while (!par3World.getCollidingBoundingBoxes(par2EntityPlayer, par2EntityPlayer.boundingBox).isEmpty()) - { + par2EntityPlayer.setPositionAndUpdate((double) spawn.posX + 0.5D, (double) spawn.posY + 0.1D, (double) spawn.posZ); + + while (!par3World.getCollidingBoundingBoxes(par2EntityPlayer, par2EntityPlayer.boundingBox).isEmpty()) { par2EntityPlayer.setPosition(par2EntityPlayer.posX, par2EntityPlayer.posY + 1.0D, par2EntityPlayer.posZ); } - - //par2EntityPlayer.setPosition(spawn.posX, par3World.getHeightValue(spawn.posX, spawn.posZ), spawn.posZ); - + par1ItemStack.damageItem(1, par2EntityPlayer); - - return par1ItemStack; - } - - public static ChunkCoordinates verifyRespawnCoordinates(World par0World, ChunkCoordinates par1ChunkCoordinates, boolean par2) - { - if (!par0World.isRemote) - { - IChunkProvider ichunkprovider = par0World.getChunkProvider(); - ichunkprovider.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); - ichunkprovider.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); - ichunkprovider.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); - ichunkprovider.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); - } - - ChunkCoordinates c = par1ChunkCoordinates; - Block block = Block.blocksList[par0World.getBlockId(c.posX, c.posY, c.posZ)]; - - if (block != null && block.isBed(par0World, c.posX, c.posY, c.posZ, null)) - { - ChunkCoordinates chunkcoordinates1 = block.getBedSpawnPosition(par0World, c.posX, c.posY, c.posZ, null); - return chunkcoordinates1; - } - else - { - Material material = par0World.getBlockMaterial(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ); - Material material1 = par0World.getBlockMaterial(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY + 1, par1ChunkCoordinates.posZ); - boolean flag1 = !material.isSolid() && !material.isLiquid(); - boolean flag2 = !material1.isSolid() && !material1.isLiquid(); - return par2 && flag1 && flag2 ? par1ChunkCoordinates : null; - } - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Return I: Teleports you back"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "to your spawn point"); - } else { - par3List.add("Return I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - - par3List.add((int)(par1ItemStack.getMaxDamage()-par1ItemStack.getItemDamage()) + " Uses Remaining"); - } + return par1ItemStack; + } + public static ChunkCoordinates verifyRespawnCoordinates(World par0World, ChunkCoordinates par1ChunkCoordinates, boolean par2) { + if (!par0World.isRemote) { + IChunkProvider c = par0World.getChunkProvider(); + c.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); + c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); + c.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); + c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); + } + + Block block = Block.blocksList[par0World.getBlockId(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ)]; + if (block != null && block.isBed(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityLiving) null)) { + ChunkCoordinates material1 = block.getBedSpawnPosition(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityPlayer) null); + return material1; + } else { + Material material = par0World.getBlockMaterial(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ); + Material material1 = par0World.getBlockMaterial(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY + 1, par1ChunkCoordinates.posZ); + boolean flag1 = !material.isSolid() && !material.isLiquid(); + boolean flag2 = !material1.isSolid() && !material1.isLiquid(); + return par2 && flag1 && flag2 ? par1ChunkCoordinates : null; + } + } + + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Return I: Teleports you back"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "to your spawn point"); + } else { + par3List.add("Return I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + + par3List.add(par1ItemStack.getMaxDamage() - par1ItemStack.getItemDamage() + " Uses Remaining"); + } + + @Override + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":AmunetsHomecoming"); + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemAnhursMight.java b/common/rebelkeithy/mods/atum/artifacts/ItemAnhursMight.java index fff9947..817feb8 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemAnhursMight.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemAnhursMight.java @@ -1,11 +1,11 @@ package rebelkeithy.mods.atum.artifacts; -import java.util.List; - -import org.lwjgl.input.Keyboard; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; -import rebelkeithy.mods.atum.Atum; +import java.util.List; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; @@ -17,85 +17,60 @@ import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StringTranslate; import net.minecraft.world.World; -import net.minecraftforge.event.ForgeSubscribe; -import net.minecraftforge.event.entity.living.LivingSetAttackTargetEvent; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class ItemAnhursMight extends ItemSword -{ +import org.lwjgl.input.Keyboard; + +import rebelkeithy.mods.atum.Atum; + +public class ItemAnhursMight extends ItemSword { public ItemAnhursMight(int par1, EnumToolMaterial par2EnumToolMaterial) { super(par1, par2EnumToolMaterial); - // TODO Auto-generated constructor stub } - - @Override - public boolean hitEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving) - { - if(Math.random() > 0.5) - { + + public boolean hitEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving) { + if (Math.random() > 0.5D) { par2EntityLiving.addPotionEffect(new PotionEffect(21, 80, 1, false)); par2EntityLiving.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 80, 6, false)); } + return super.hitEntity(par1ItemStack, par2EntityLiving, par3EntityLiving); - } + } - /** - * Called each tick as long the item is on a player inventory. Uses by maps to check if is on a player hand and - * update it's contents. - */ - @Override - public void onUpdate(ItemStack stack, World world, Entity entity, int par4, boolean par5) - { - if(entity instanceof EntityPlayer) - { - EntityPlayer player = (EntityPlayer)entity; - - if(player.getCurrentEquippedItem() != null && player.getCurrentEquippedItem().itemID == this.itemID) - { + public void onUpdate(ItemStack stack, World world, Entity entity, int par4, boolean par5) { + if (entity instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) entity; + if (player.getCurrentEquippedItem() != null && player.getCurrentEquippedItem().itemID == super.itemID) { double magnitude = Math.sqrt(player.motionX * player.motionX + player.motionZ * player.motionZ); - player.landMovementFactor *= 0.75; + player.capabilities.setPlayerWalkSpeed((float) ((double) player.capabilities.getWalkSpeed() * 0.75D)); } } - } - - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Mighty I: Slows player,"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "Chance to stun foes"); - } else { - par3List.add("Mighty I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - /** - * Return whether this item is repairable in an anvil. - */ + + } + + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Mighty I: Slows player,"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "Chance to stun foes"); + } else { + par3List.add("Mighty I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + + } + + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Item.diamond.itemID; + } + @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":AnhursMight"); + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemAnubisMercy.java b/common/rebelkeithy/mods/atum/artifacts/ItemAnubisMercy.java index 14a90bd..1d4d4aa 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemAnubisMercy.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemAnubisMercy.java @@ -1,9 +1,14 @@ package rebelkeithy.mods.atum.artifacts; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + import java.util.List; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; @@ -19,155 +24,125 @@ import org.lwjgl.input.Keyboard; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import rebelkeithy.mods.atum.Atum; -public class ItemAnubisMercy extends Item -{ +public class ItemAnubisMercy extends Item { - public ItemAnubisMercy(int par1) - { + public ItemAnubisMercy(int par1) { super(par1); this.setMaxDamage(20); MinecraftForge.EVENT_BUS.register(this); } @ForgeSubscribe - public void onDamage(LivingHurtEvent event) - { - if(event.entityLiving instanceof EntityPlayer) - { - EntityPlayer player = (EntityPlayer)event.entityLiving; + public void onDamage(LivingHurtEvent event) { + if (event.entityLiving instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) event.entityLiving; ItemStack stack = null; - - for(ItemStack currStack : player.inventory.mainInventory) - { - if(currStack != null && currStack.itemID == this.itemID) - { + ItemStack[] damageAmount = player.inventory.mainInventory; + int resistance = damageAmount.length; + + for (int i = 0; i < resistance; ++i) { + ItemStack currStack = damageAmount[i]; + if (currStack != null && currStack.itemID == super.itemID) { stack = currStack; break; } } - - if(stack == null) - { + + if (stack == null) { return; } - - float damageAmount = event.ammount; - - if(!event.source.isUnblockable()) - { - damageAmount = (event.ammount * (25 - player.getTotalArmorValue()) + player.carryoverDamage) / 25f; + + float var8 = (float) event.ammount; + if (!event.source.isUnblockable()) { + var8 = (float) (event.ammount * (25 - player.getTotalArmorValue()) + player.getAbsorptionAmount()) / 25.0F; + } + + if (player.isPotionActive(Potion.resistance)) { + resistance = 25 - (player.getActivePotionEffect(Potion.resistance).getAmplifier() + 1) * 5; + var8 = var8 * (float) resistance / 25.0F; } - - if (player.isPotionActive(Potion.resistance)) - { - int resistance = 25 - (player.getActivePotionEffect(Potion.resistance).getAmplifier() + 1) * 5; - damageAmount = damageAmount * resistance / 25f; - } - - if(Math.ceil(damageAmount) >= player.getHealth()) - { + + if (Math.ceil((double) var8) >= (double) player.getHealth()) { event.setCanceled(true); - respawnPlayer(event.entityLiving.worldObj, player); - player.setEntityHealth(player.getMaxHealth()); + this.respawnPlayer(event.entityLiving.worldObj, player); + player.setHealth(player.getMaxHealth()); player.getFoodStats().setFoodLevel(20); - player.getFoodStats().setFoodSaturationLevel(20); - player.spawnExplosionParticle(); + player.getFoodStats().setFoodSaturationLevel(20.0F); + // player.spawnExplosionParticle(); stack.damageItem(1, player); } } + } - public void respawnPlayer(World par3World, EntityPlayer par2EntityPlayer) - { + public void respawnPlayer(World par3World, EntityPlayer par2EntityPlayer) { ChunkCoordinates spawn = par2EntityPlayer.getBedLocation(); - - if(spawn == null) - { + if (spawn == null) { spawn = par3World.getSpawnPoint(); } - - if(spawn == null) - { + + if (spawn == null) { spawn = par3World.getSpawnPoint(); } - - spawn = this.verifyRespawnCoordinates(par3World, spawn, false); - - if(spawn == null) - { + + spawn = verifyRespawnCoordinates(par3World, spawn, false); + if (spawn == null) { spawn = par3World.getSpawnPoint(); } - + par2EntityPlayer.rotationPitch = 0.0F; par2EntityPlayer.rotationYaw = 0.0F; - par2EntityPlayer.setPositionAndUpdate(spawn.posX + 0.5D, spawn.posY + 0.1D, spawn.posZ); - - while (!par3World.getCollidingBoundingBoxes(par2EntityPlayer, par2EntityPlayer.boundingBox).isEmpty()) - { + par2EntityPlayer.setPositionAndUpdate((double) spawn.posX + 0.5D, (double) spawn.posY + 0.1D, (double) spawn.posZ); + + while (!par3World.getCollidingBoundingBoxes(par2EntityPlayer, par2EntityPlayer.boundingBox).isEmpty()) { par2EntityPlayer.setPosition(par2EntityPlayer.posX, par2EntityPlayer.posY + 1.0D, par2EntityPlayer.posZ); } - - return; - } - - public static ChunkCoordinates verifyRespawnCoordinates(World par0World, ChunkCoordinates par1ChunkCoordinates, boolean par2) - { - if (!par0World.isRemote) - { - IChunkProvider ichunkprovider = par0World.getChunkProvider(); - ichunkprovider.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); - ichunkprovider.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); - ichunkprovider.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); - ichunkprovider.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); - } - - ChunkCoordinates c = par1ChunkCoordinates; - Block block = Block.blocksList[par0World.getBlockId(c.posX, c.posY, c.posZ)]; - - if (block != null && block.isBed(par0World, c.posX, c.posY, c.posZ, null)) - { - ChunkCoordinates chunkcoordinates1 = block.getBedSpawnPosition(par0World, c.posX, c.posY, c.posZ, null); - return chunkcoordinates1; - } - else - { - Material material = par0World.getBlockMaterial(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ); - Material material1 = par0World.getBlockMaterial(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY + 1, par1ChunkCoordinates.posZ); - boolean flag1 = !material.isSolid() && !material.isLiquid(); - boolean flag2 = !material1.isSolid() && !material1.isLiquid(); - return par2 && flag1 && flag2 ? par1ChunkCoordinates : null; - } - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Return I: Teleports you back"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "to your spawn point"); - } else { - par3List.add("Return I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - - par3List.add((int)(par1ItemStack.getMaxDamage()-par1ItemStack.getItemDamage()) + " Uses Remaining"); - } + } + + public static ChunkCoordinates verifyRespawnCoordinates(World par0World, ChunkCoordinates par1ChunkCoordinates, boolean par2) { + if (!par0World.isRemote) { + IChunkProvider c = par0World.getChunkProvider(); + c.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); + c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); + c.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); + c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); + } + + Block block = Block.blocksList[par0World.getBlockId(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ)]; + if (block != null && block.isBed(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityLiving) null)) { + ChunkCoordinates material1 = block.getBedSpawnPosition(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityPlayer) null); + return material1; + } else { + Material material = par0World.getBlockMaterial(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ); + Material material1 = par0World.getBlockMaterial(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY + 1, par1ChunkCoordinates.posZ); + boolean flag1 = !material.isSolid() && !material.isLiquid(); + boolean flag2 = !material1.isSolid() && !material1.isLiquid(); + return par2 && flag1 && flag2 ? par1ChunkCoordinates : null; + } + } + + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Return I: Teleports you back"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "to your spawn point"); + } else { + par3List.add("Return I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + + par3List.add(par1ItemStack.getMaxDamage() - par1ItemStack.getItemDamage() + " Uses Remaining"); + } + + @Override + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":AnubisMercy"); + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemAnuketsBounty.java b/common/rebelkeithy/mods/atum/artifacts/ItemAnuketsBounty.java index f4ca65e..d6f4f98 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemAnuketsBounty.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemAnuketsBounty.java @@ -1,8 +1,9 @@ package rebelkeithy.mods.atum.artifacts; -import java.util.List; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; -import org.lwjgl.input.Keyboard; +import java.util.List; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; @@ -13,117 +14,81 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.Icon; import net.minecraft.world.World; + +import org.lwjgl.input.Keyboard; + +import rebelkeithy.mods.atum.Atum; import rebelkeithy.mods.atum.artifacts.arrow.EntityAtumFishHook; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class ItemAnuketsBounty extends Item -{ - @SideOnly(Side.CLIENT) - private Icon theIcon; - - public ItemAnuketsBounty(int par1) - { - super(par1); - this.setMaxDamage(64); - this.setMaxStackSize(1); - this.setCreativeTab(CreativeTabs.tabTools); - } - - @SideOnly(Side.CLIENT) - - /** - * Returns True is the item is renderer in full 3D when hold. - */ - public boolean isFull3D() - { - return true; - } - - @SideOnly(Side.CLIENT) - - /** - * Returns true if this item should be rotated by 180 degrees around the Y axis when being held in an entities - * hands. - */ - public boolean shouldRotateAroundWhenRendering() - { - return true; - } - - /** - * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer - */ - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - if (par3EntityPlayer.fishEntity != null) - { - int i = par3EntityPlayer.fishEntity.catchFish(); - par1ItemStack.damageItem(i, par3EntityPlayer); - par3EntityPlayer.swingItem(); - } - else - { - par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F)); - - if (!par2World.isRemote) - { - par2World.spawnEntityInWorld(new EntityAtumFishHook(par2World, par3EntityPlayer)); - } - - par3EntityPlayer.swingItem(); - } - - return par1ItemStack; - } - - @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) - { - super.registerIcons(par1IconRegister); - this.theIcon = par1IconRegister.registerIcon("fishingRod_empty"); - } - - @SideOnly(Side.CLIENT) - public Icon func_94597_g() - { - return this.theIcon; - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Alluring I: Chance to catch"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "special fish in Atum"); - } else { - par3List.add("Return I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - - par3List.add((int)(par1ItemStack.getMaxDamage()-par1ItemStack.getItemDamage()) + " Uses Remaining"); - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } +public class ItemAnuketsBounty extends Item { + + @SideOnly(Side.CLIENT) + private Icon theIcon; + + public ItemAnuketsBounty(int par1) { + super(par1); + this.setMaxDamage(64); + this.setMaxStackSize(1); + this.setCreativeTab(CreativeTabs.tabTools); + } + + @SideOnly(Side.CLIENT) + public boolean isFull3D() { + return true; + } + + @SideOnly(Side.CLIENT) + public boolean shouldRotateAroundWhenRendering() { + return true; + } + + public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { + if (par3EntityPlayer.fishEntity != null) { + int i = par3EntityPlayer.fishEntity.catchFish(); + par1ItemStack.damageItem(i, par3EntityPlayer); + par3EntityPlayer.swingItem(); + } else { + par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 0.5F, 0.4F / (Item.itemRand.nextFloat() * 0.4F + 0.8F)); + if (!par2World.isRemote) { + par2World.spawnEntityInWorld(new EntityAtumFishHook(par2World, par3EntityPlayer)); + } + + par3EntityPlayer.swingItem(); + } + + return par1ItemStack; + } + + @Override + public void registerIcons(IconRegister par1IconRegister) { + super.registerIcons(par1IconRegister); + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":AnuketsBounty"); + this.theIcon = par1IconRegister.registerIcon("fishing_rod_cast"); + } + + @SideOnly(Side.CLIENT) + public Icon func_94597_g() { + return this.theIcon; + } + + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Alluring I: Chance to catch"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "special fish in Atum"); + } else { + par3List.add("Return I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + + par3List.add(par1ItemStack.getMaxDamage() - par1ItemStack.getItemDamage() + " Uses Remaining"); + } + + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Item.diamond.itemID; + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemAtensFury.java b/common/rebelkeithy/mods/atum/artifacts/ItemAtensFury.java index 6aa0710..516ca9b 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemAtensFury.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemAtensFury.java @@ -1,15 +1,14 @@ package rebelkeithy.mods.atum.artifacts; -import java.util.List; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; -import org.lwjgl.input.Keyboard; +import java.util.List; import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.creativetab.CreativeTabs; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemBow; @@ -19,186 +18,125 @@ import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; + +import org.lwjgl.input.Keyboard; + +import rebelkeithy.mods.atum.Atum; import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowFire; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class ItemAtensFury extends ItemBow -{ - public static final String[] bowPullIconNameArray = new String[] {"atens_pull_0", "atens_pull_1", "atens_pull_2"}; - Icon[] iconArray; +public class ItemAtensFury extends ItemBow { - public ItemAtensFury(int par1) - { + public static final String[] bowPullIconNameArray = new String[] { "atens_pull_0", "atens_pull_1", "atens_pull_2" }; + Icon[] iconArray; + + public ItemAtensFury(int par1) { super(par1); this.setMaxDamage(650); } - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } - - /** - * called when the player releases the use item button. Args: itemstack, world, entityplayer, itemInUseCount - */ - @Override - public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) - { - int j = this.getMaxItemUseDuration(par1ItemStack) - par4; - - ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); - MinecraftForge.EVENT_BUS.post(event); - if (event.isCanceled()) - { - return; - } - j = event.charge; - - boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - - if (flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) - { - float f = (float)j / 20.0F; - f = (f * f + f * 2.0F) / 3.0F; - - if ((double)f < 0.1D) - { - return; - } - - if (f > 1.0F) - { - f = 1.0F; - } - - EntityArrowFire entityarrow = new EntityArrowFire(par2World, par3EntityPlayer, f * 2.0F); - entityarrow.setDamage(entityarrow.getDamage() * 1.5F); - - if (f == 1.0F) - { - entityarrow.setIsCritical(true); - } - - int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - - if (k > 0) - { - entityarrow.setDamage(entityarrow.getDamage() + (double)k * 0.5D + 0.5D); - } - - int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - - if (l > 0) - { - entityarrow.setKnockbackStrength(l); - } - - entityarrow.setFire(100); - - par1ItemStack.damageItem(1, par3EntityPlayer); - par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - - if (flag) - { - entityarrow.canBePickedUp = 2; - } - else - { - par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); - } - - if (!par2World.isRemote) - { - par2World.spawnEntityInWorld(entityarrow); - } - } - } - - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IconRegister par1IconRegister) - { - super.registerIcons(par1IconRegister); - this.iconArray = new Icon[bowPullIconNameArray.length]; - - for (int i = 0; i < this.iconArray.length; ++i) - { - this.iconArray[i] = par1IconRegister.registerIcon("Atum:" + bowPullIconNameArray[i]); - } - } - - /** - * Player, Render pass, and item usage sensitive version of getIconIndex. - * - * @param stack The item stack to get the icon for. (Usually this, and usingItem will be the same if usingItem is not null) - * @param renderPass The pass to get the icon for, 0 is default. - * @param player The player holding the item - * @param usingItem The item the player is actively using. Can be null if not using anything. - * @param useRemaining The ticks remaining for the active item. - * @return The icon index - */ - @Override - public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) - { - if(usingItem != null) - { - int j = getMaxItemUseDuration(stack) - useRemaining; - - if (j >= 18) - { - return getItemIconForUseDuration(2); - } - - if (j > 13) - { - return getItemIconForUseDuration(1); - } - - if (j > 0) - { - return getItemIconForUseDuration(0); - } - } - return getIcon(stack, renderPass); - } - - @SideOnly(Side.CLIENT) - @Override - public Icon getItemIconForUseDuration(int par1) - { - return this.iconArray[par1]; - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Fire Shot I: Flaming arrow"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "ignites blocks and foes"); - } else { - par3List.add("Fire Shot I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Item.diamond.itemID; + } + + public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { + int j = this.getMaxItemUseDuration(par1ItemStack) - par4; + ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); + MinecraftForge.EVENT_BUS.post(event); + if (!event.isCanceled()) { + j = event.charge; + boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; + if (flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) { + float f = (float) j / 20.0F; + f = (f * f + f * 2.0F) / 3.0F; + if ((double) f < 0.1D) { + return; + } + + if (f > 1.0F) { + f = 1.0F; + } + + EntityArrowFire entityarrow = new EntityArrowFire(par2World, par3EntityPlayer, f * 2.0F); + entityarrow.setDamage(entityarrow.getDamage() * 1.5D); + if (f == 1.0F) { + entityarrow.setIsCritical(true); + } + + int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); + if (k > 0) { + entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + } + + int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); + if (l > 0) { + entityarrow.setKnockbackStrength(l); + } + + entityarrow.setFire(100); + par1ItemStack.damageItem(1, par3EntityPlayer); + par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); + if (flag) { + entityarrow.canBePickedUp = 2; + } else { + par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); + } + + if (!par2World.isRemote) { + par2World.spawnEntityInWorld(entityarrow); + } + } + + } + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + this.iconArray = new Icon[bowPullIconNameArray.length]; + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":AtensFury"); + for (int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IconRegister.registerIcon(Atum.modID + ":" + bowPullIconNameArray[i]); + } + + } + + public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + if (usingItem != null) { + int j = this.getMaxItemUseDuration(stack) - useRemaining; + if (j >= 18) { + return this.getItemIconForUseDuration(2); + } + + if (j > 13) { + return this.getItemIconForUseDuration(1); + } + + if (j > 0) { + return this.getItemIconForUseDuration(0); + } + } + + return this.getIcon(stack, renderPass); + } + + @SideOnly(Side.CLIENT) + public Icon getItemIconForUseDuration(int par1) { + return this.iconArray[par1]; + } + + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Fire Shot I: Flaming arrow"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "ignites blocks and foes"); + } else { + par3List.add("Fire Shot I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + + } + } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemGebsBlessing.java b/common/rebelkeithy/mods/atum/artifacts/ItemGebsBlessing.java index 2cde6d3..4f3d59c 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemGebsBlessing.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemGebsBlessing.java @@ -1,13 +1,11 @@ package rebelkeithy.mods.atum.artifacts; -import java.util.List; - -import org.lwjgl.input.Keyboard; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.enchantment.Enchantment; + +import java.util.List; + +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumToolMaterial; @@ -16,49 +14,38 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -public class ItemGebsBlessing extends ItemHoe -{ +import org.lwjgl.input.Keyboard; + +import rebelkeithy.mods.atum.Atum; + +public class ItemGebsBlessing extends ItemHoe { - public ItemGebsBlessing(int par1, EnumToolMaterial par2EnumToolMaterial) - { + public ItemGebsBlessing(int par1, EnumToolMaterial par2EnumToolMaterial) { super(par1, par2EnumToolMaterial); } - @SideOnly(Side.CLIENT) + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Sowing I: Tilled ground is blessed,"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "granting increased growth rate"); + } else { + par3List.add("Sowing I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } - @SideOnly(Side.CLIENT) + } - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Sowing I: Tilled ground is blessed,"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "granting increased growth rate"); - } else { - par3List.add("Sowing I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Item.diamond.itemID; + } - /** - * Return whether this item is repairable in an anvil. - */ @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } - - + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":GebsBlessing"); + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemGebsSolidarity.java b/common/rebelkeithy/mods/atum/artifacts/ItemGebsSolidarity.java index e3bafce..6c0ba92 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemGebsSolidarity.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemGebsSolidarity.java @@ -1,10 +1,15 @@ package rebelkeithy.mods.atum.artifacts; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + import java.util.List; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; @@ -15,133 +20,96 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import net.minecraftforge.common.IArmorTextureProvider; -import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingHurtEvent; import org.lwjgl.input.Keyboard; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import rebelkeithy.mods.atum.Atum; + +public class ItemGebsSolidarity extends ItemArmor { -public class ItemGebsSolidarity extends ItemArmor implements IArmorTextureProvider -{ String texture; - public ItemGebsSolidarity(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) - { + public ItemGebsSolidarity(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); - //MinecraftForge.EVENT_BUS.register(this); } - + @ForgeSubscribe - public void onLivingAttack(LivingHurtEvent event) - { + public void onLivingAttack(LivingHurtEvent event) { DamageSource par1DamageSource = event.source; - if(par1DamageSource.getEntity() != null) - { + if (par1DamageSource.getEntity() != null) { Entity par1Entity = par1DamageSource.getEntity(); - int j = 0; - if (par1Entity instanceof EntityLiving) - { - j += EnchantmentHelper.getKnockbackModifier((EntityLiving)par1Entity, event.entityLiving); - System.out.println("undo knockback " + j); - if (j >= 0) - { - event.entityLiving.motionX /= 0.6D; - event.entityLiving.motionZ /= 0.6D; - event.entityLiving.addVelocity((double)(MathHelper.sin(par1Entity.rotationYaw * (float)Math.PI / 180.0F) * (float)j * 0.5F), -0.1D, (double)(-MathHelper.cos(par1Entity.rotationYaw * (float)Math.PI / 180.0F) * (float)j * 0.5F)); - } - } - - EntityLiving player = event.entityLiving; - - - double d0 = par1DamageSource.getEntity().posX - player.posX; - double d1; - - for (d1 = par1DamageSource.getEntity().posZ - player.posZ; d0 * d0 + d1 * d1 < 1.0E-4D; d1 = (Math.random() - Math.random()) * 0.01D) - { - d0 = (Math.random() - Math.random()) * 0.01D; - } - - player.isAirBorne = true; - float f = MathHelper.sqrt_double(d0 * d0 + d1 * d1); - float f1 = 0.2F; - player.motionX += d0 / (double)f * (double)f1; - //this.motionY += (double)f1; - player.motionZ += d1 / (double)f * (double)f1; - player.motionX *= 2.0D; - player.motionY *= 2.0D; - player.motionZ *= 2.0D; - - if (player.motionY > 0.4000000059604645D) - { - player.motionY = 0.4000000059604645D; - } - + byte j = 0; + if (par1Entity instanceof EntityLiving) { + int j1 = j + EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, event.entityLiving); + System.out.println("undo knockback " + j1); + if (j1 >= 0) { + event.entityLiving.motionX /= 0.6D; + event.entityLiving.motionZ /= 0.6D; + event.entityLiving.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * 3.1415927F / 180.0F) * (float) j1 * 0.5F), -0.1D, (double) (-MathHelper.cos(par1Entity.rotationYaw * 3.1415927F / 180.0F) * (float) j1 * 0.5F)); + } + } + + EntityLivingBase player = event.entityLiving; + double d0 = par1DamageSource.getEntity().posX - player.posX; + + double d1; + for (d1 = par1DamageSource.getEntity().posZ - player.posZ; d0 * d0 + d1 * d1 < 1.0E-4D; d1 = (Math.random() - Math.random()) * 0.01D) { + d0 = (Math.random() - Math.random()) * 0.01D; + } + + player.isAirBorne = true; + float f = MathHelper.sqrt_double(d0 * d0 + d1 * d1); + float f1 = 0.2F; + player.motionX += d0 / (double) f * (double) f1; + player.motionZ += d1 / (double) f * (double) f1; + player.motionX *= 2.0D; + player.motionY *= 2.0D; + player.motionZ *= 2.0D; + if (player.motionY > 0.4000000059604645D) { + player.motionY = 0.4000000059604645D; + } } + } - - - - /** - * Called each tick as long the item is on a player inventory. Uses by maps to check if is on a player hand and - * update it's contents. - */ - @Override - public void onArmorTickUpdate(World world, EntityPlayer player, ItemStack itemStack) - { + + public void onArmorTickUpdate(World world, EntityPlayer player, ItemStack itemStack) { double magnitude = Math.sqrt(player.motionX * player.motionX + player.motionZ * player.motionZ); - player.landMovementFactor *= 0.5; - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Stalwart I: Decreased movement"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "speed, decreased knockback (WIP)"); - } else { - par3List.add("Stalwart I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - public Item setTextureFile(String string) - { - texture = string; + player.capabilities.setPlayerWalkSpeed((float) ((double) player.capabilities.getWalkSpeed() * 0.5D)); + } + + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Stalwart I: Decreased movement"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "speed, decreased knockback (WIP)"); + } else { + par3List.add("Stalwart I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + + } + + public Item setTextureFile(String string) { + this.texture = string; return this; } - @Override - public String getArmorTextureFile(ItemStack itemstack) - { - return "/armor/" + texture + ".png"; + public String getArmorTextureFile(ItemStack itemstack) { + return "/armor/" + this.texture + ".png"; + } + + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Item.diamond.itemID; } - /** - * Return whether this item is repairable in an anvil. - */ @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":GebsSolidarity"); + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemHedetetsSting.java b/common/rebelkeithy/mods/atum/artifacts/ItemHedetetsSting.java index 80b5dfe..d3a3356 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemHedetetsSting.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemHedetetsSting.java @@ -1,9 +1,11 @@ package rebelkeithy.mods.atum.artifacts; -import java.util.List; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; -import org.lwjgl.input.Keyboard; +import java.util.List; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; @@ -14,63 +16,49 @@ import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StringTranslate; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class ItemHedetetsSting extends ItemSword -{ +import org.lwjgl.input.Keyboard; - public ItemHedetetsSting(int par1, EnumToolMaterial par2EnumToolMaterial) - { - super(par1, par2EnumToolMaterial); - } - - @Override - public boolean hitEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving) - { - if(super.hitEntity(par1ItemStack, par2EntityLiving, par3EntityLiving)) - { - par2EntityLiving.addPotionEffect(new PotionEffect(Potion.poison.id, 140, 2, false)); - return true; - } - return false; - - } +import rebelkeithy.mods.atum.Atum; - @SideOnly(Side.CLIENT) +public class ItemHedetetsSting extends ItemSword { - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } + public ItemHedetetsSting(int par1, EnumToolMaterial par2EnumToolMaterial) { + super(par1, par2EnumToolMaterial); + + } - @SideOnly(Side.CLIENT) + public boolean hitEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving) { + if(super.hitEntity(par1ItemStack, par2EntityLiving, par3EntityLiving)) { + par2EntityLiving.addPotionEffect(new PotionEffect(Potion.poison.id, 140, 2, false)); + return true; + } else { + return false; + } + } - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Poison II: Chance"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "to poison foes"); - } else { - par3List.add("Poison II " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } - /** - * Return whether this item is repairable in an anvil. - */ + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if(Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Poison II: Chance"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "to poison foes"); + } else { + par3List.add("Poison II " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + + } + + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Item.diamond.itemID; + } + @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":HedetetsSting"); + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemHedetetsVenom.java b/common/rebelkeithy/mods/atum/artifacts/ItemHedetetsVenom.java index 9106cad..d13e118 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemHedetetsVenom.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemHedetetsVenom.java @@ -2,8 +2,6 @@ import java.util.List; -import org.lwjgl.input.Keyboard; - import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; @@ -17,191 +15,131 @@ import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; + +import org.lwjgl.input.Keyboard; + +import rebelkeithy.mods.atum.Atum; import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowPoison; -import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowVelocity; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class ItemHedetetsVenom extends ItemBow -{ - public static final String[] bowPullIconNameArray = new String[] {"HedetetsVenom_pull_0", "HedetetsVenom_pull_1", "HedetetsVenom_pull_2"}; - Icon[] iconArray; +public class ItemHedetetsVenom extends ItemBow { + + public static final String[] bowPullIconNameArray = new String[] { "HedetetsVenom_pull_0", "HedetetsVenom_pull_1", "HedetetsVenom_pull_2" }; + Icon[] iconArray; - public ItemHedetetsVenom(int par1) - { + public ItemHedetetsVenom(int par1) { super(par1); this.setMaxDamage(650); } - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } - - /** - * called when the player releases the use item button. Args: itemstack, world, entityplayer, itemInUseCount - */ - @Override - public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) - { - int j = this.getMaxItemUseDuration(par1ItemStack) - par4; - - ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); - MinecraftForge.EVENT_BUS.post(event); - if (event.isCanceled()) - { - return; - } - j = event.charge; - - boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - - if (flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) - { - float f = (float)j / 20.0F; - f = (f * f + f * 2.0F) / 3.0F; - - if ((double)f < 0.1D) - { - return; - } - - if (f > 1.0F) - { - f = 1.0F; - } - - EntityArrowPoison entityarrow = new EntityArrowPoison(par2World, par3EntityPlayer, f * 3.0F); - entityarrow.setDamage(entityarrow.getDamage() * 1.5F); - - if (f == 1.0F) - { - entityarrow.setIsCritical(true); - } - - int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - - if (k > 0) - { - entityarrow.setDamage(entityarrow.getDamage() + (double)k * 0.5D + 0.5D); - } - - int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - - if (l > 0) - { - entityarrow.setKnockbackStrength(l); - } - - if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) - { - entityarrow.setFire(100); - } - - par1ItemStack.damageItem(1, par3EntityPlayer); - par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - - if (flag) - { - entityarrow.canBePickedUp = 2; - } - else - { - par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); - } - - if (!par2World.isRemote) - { - par2World.spawnEntityInWorld(entityarrow); - } - } - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Poison Arrow I: Fires an"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "arrow that poisons foes"); - } else { - par3List.add("Poison Arrow I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IconRegister par1IconRegister) - { - super.registerIcons(par1IconRegister); - this.iconArray = new Icon[bowPullIconNameArray.length]; - - for (int i = 0; i < this.iconArray.length; ++i) - { - this.iconArray[i] = par1IconRegister.registerIcon("Atum:" + bowPullIconNameArray[i]); - } - } - - /** - * Player, Render pass, and item usage sensitive version of getIconIndex. - * - * @param stack The item stack to get the icon for. (Usually this, and usingItem will be the same if usingItem is not null) - * @param renderPass The pass to get the icon for, 0 is default. - * @param player The player holding the item - * @param usingItem The item the player is actively using. Can be null if not using anything. - * @param useRemaining The ticks remaining for the active item. - * @return The icon index - */ - @Override - public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) - { - if(usingItem != null) - { - int j = getMaxItemUseDuration(stack) - useRemaining; - - if (j >= 18) - { - return getItemIconForUseDuration(2); - } - - if (j > 13) - { - return getItemIconForUseDuration(1); - } - - if (j > 0) - { - return getItemIconForUseDuration(0); - } - } - return getIcon(stack, renderPass); - } - - @SideOnly(Side.CLIENT) - @Override - public Icon getItemIconForUseDuration(int par1) - { - return this.iconArray[par1]; - } + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Item.diamond.itemID; + } + + public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { + int j = this.getMaxItemUseDuration(par1ItemStack) - par4; + ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); + MinecraftForge.EVENT_BUS.post(event); + if (!event.isCanceled()) { + j = event.charge; + boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; + if (flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) { + float f = (float) j / 20.0F; + f = (f * f + f * 2.0F) / 3.0F; + if ((double) f < 0.1D) { + return; + } + + if (f > 1.0F) { + f = 1.0F; + } + + EntityArrowPoison entityarrow = new EntityArrowPoison(par2World, par3EntityPlayer, f * 3.0F); + entityarrow.setDamage(entityarrow.getDamage() * 1.5D); + if (f == 1.0F) { + entityarrow.setIsCritical(true); + } + + int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); + if (k > 0) { + entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + } + + int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); + if (l > 0) { + entityarrow.setKnockbackStrength(l); + } + + if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { + entityarrow.setFire(100); + } + + par1ItemStack.damageItem(1, par3EntityPlayer); + par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); + if (flag) { + entityarrow.canBePickedUp = 2; + } else { + par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); + } + + if (!par2World.isRemote) { + par2World.spawnEntityInWorld(entityarrow); + } + } + + } + } + + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Poison Arrow I: Fires an"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "arrow that poisons foes"); + } else { + par3List.add("Poison Arrow I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + super.registerIcons(par1IconRegister); + this.iconArray = new Icon[bowPullIconNameArray.length]; + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":HedetetsVenom"); + for (int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IconRegister.registerIcon(Atum.modID + ":" + bowPullIconNameArray[i]); + } + + } + + public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + if (usingItem != null) { + int j = this.getMaxItemUseDuration(stack) - useRemaining; + if (j >= 18) { + return this.getItemIconForUseDuration(2); + } + + if (j > 13) { + return this.getItemIconForUseDuration(1); + } + + if (j > 0) { + return this.getItemIconForUseDuration(0); + } + } + + return this.getIcon(stack, renderPass); + } + + @SideOnly(Side.CLIENT) + public Icon getItemIconForUseDuration(int par1) { + return this.iconArray[par1]; + } + } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemHorusFlight.java b/common/rebelkeithy/mods/atum/artifacts/ItemHorusFlight.java index afd45a8..f3547d3 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemHorusFlight.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemHorusFlight.java @@ -2,119 +2,84 @@ import java.util.List; -import org.lwjgl.input.Keyboard; - -import rebelkeithy.mods.atum.AtumItems; -import rebelkeithy.mods.atum.entities.EntityGhost; -import rebelkeithy.mods.atum.entities.EntityPharaoh; -import rebelkeithy.mods.atum.entities.EntityStoneSoldier; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.Entity; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.DamageSource; -import net.minecraft.util.EntityDamageSource; import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StringTranslate; -import net.minecraft.world.World; -import net.minecraftforge.common.IArmorTextureProvider; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.ForgeSubscribe; -import net.minecraftforge.event.entity.living.LivingAttackEvent; -import net.minecraftforge.event.entity.living.LivingFallEvent; import net.minecraftforge.event.entity.living.LivingEvent.LivingJumpEvent; +import net.minecraftforge.event.entity.living.LivingFallEvent; + +import org.lwjgl.input.Keyboard; + +import rebelkeithy.mods.atum.Atum; +import rebelkeithy.mods.atum.AtumItems; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class ItemHorusFlight extends ItemArmor { -public class ItemHorusFlight extends ItemArmor implements IArmorTextureProvider -{ String texture; - public ItemHorusFlight(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) - { + public ItemHorusFlight(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); - MinecraftForge.EVENT_BUS.register(this); + + } + + @ForgeSubscribe + public void onJump(LivingJumpEvent event) { + if (event.entityLiving.getCurrentItemOrArmor(0) != null && event.entityLiving.getCurrentItemOrArmor(0).itemID == super.itemID) { + event.entityLiving.motionY += 0.2D; + event.entityLiving.motionX *= 1.2D; + event.entityLiving.motionZ *= 1.2D; + } + } @ForgeSubscribe - public void onJump(LivingJumpEvent event) - { - if(event.entityLiving.getCurrentArmor(0) != null) - { - if(event.entityLiving.getCurrentArmor(0).itemID == this.itemID) - { - event.entityLiving.motionY += 0.2; - event.entityLiving.motionX *= 1.2; - event.entityLiving.motionZ *= 1.2; - } + public void onFallDamage(LivingFallEvent event) { + if (event.entityLiving.getCurrentItemOrArmor(0) != null && event.entityLiving.getCurrentItemOrArmor(0).itemID == AtumItems.horusFlight.itemID) { + event.distance = 0.0F; + } + + } + + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Nimbleness I: Increased jump height,"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "protection from fall damage"); + } else { + par3List.add("Nimbleness I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } + } - - @ForgeSubscribe - public void onFallDamage(LivingFallEvent event) - { - if(event.entityLiving.getCurrentArmor(0) != null) - { - if(event.entityLiving.getCurrentArmor(0).itemID == AtumItems.horusFlight.itemID) - { - event.distance = 0; - } - } - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Nimbleness I: Increased jump height,"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "protection from fall damage"); - } else { - par3List.add("Nimbleness I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - - public Item setTextureFile(String string) - { - texture = string; + + public Item setTextureFile(String string) { + this.texture = string; return this; } - @Override - public String getArmorTextureFile(ItemStack itemstack) - { - return "/armor/" + texture + ".png"; + public String getArmorTextureFile(ItemStack itemstack) { + return "/armor/" + this.texture + ".png"; + } + + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Item.diamond.itemID; } - /** - * Return whether this item is repairable in an anvil. - */ @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":HorusFlight"); + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemHorusSoaring.java b/common/rebelkeithy/mods/atum/artifacts/ItemHorusSoaring.java index 8c83879..b069b28 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemHorusSoaring.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemHorusSoaring.java @@ -6,195 +6,131 @@ import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemBow; import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.Icon; -import net.minecraft.util.StringTranslate; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; +import rebelkeithy.mods.atum.Atum; import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowVelocity; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class ItemHorusSoaring extends ItemBow -{ - public static final String[] bowPullIconNameArray = new String[] {"HorusSoaring_pull_0", "HorusSoaring_pull_1", "HorusSoaring_pull_2"}; - Icon[] iconArray; +public class ItemHorusSoaring extends ItemBow { - public ItemHorusSoaring(int par1) - { + public static final String[] bowPullIconNameArray = new String[] { "HorusSoaring_pull_0", "HorusSoaring_pull_1", "HorusSoaring_pull_2" }; + Icon[] iconArray; + + public ItemHorusSoaring(int par1) { super(par1); this.setMaxDamage(650); + + } + + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Item.diamond.itemID; + } + + public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { + int j = this.getMaxItemUseDuration(par1ItemStack) - par4; + ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); + MinecraftForge.EVENT_BUS.post(event); + if (!event.isCanceled()) { + j = event.charge; + boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; + if (flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) { + float f = (float) j / 20.0F; + f = (f * f + f * 2.0F) / 3.0F; + if ((double) f < 0.1D) { + return; + } + + if (f > 1.0F) { + f = 1.0F; + } + + EntityArrowVelocity entityarrow = new EntityArrowVelocity(par2World, par3EntityPlayer, f * 3.0F); + entityarrow.setDamage(entityarrow.getDamage() * 1.5D); + if (f == 1.0F) { + entityarrow.setIsCritical(true); + } + + int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); + if (k > 0) { + entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + } + + int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); + if (l > 0) { + entityarrow.setKnockbackStrength(l); + } + + if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { + entityarrow.setFire(100); + } + + par1ItemStack.damageItem(1, par3EntityPlayer); + par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); + if (flag) { + entityarrow.canBePickedUp = 2; + } else { + par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); + } + + if (!par2World.isRemote) { + par2World.spawnEntityInWorld(entityarrow); + } + } + + } + } + + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + par3List.add("Velocity I"); + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + super.registerIcons(par1IconRegister); + this.iconArray = new Icon[bowPullIconNameArray.length]; + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":HorusSoaring"); + for (int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IconRegister.registerIcon(Atum.modID + ":" + bowPullIconNameArray[i]); + } + + } + + public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + if (usingItem != null) { + int j = this.getMaxItemUseDuration(stack) - useRemaining; + if (j >= 18) { + return this.getItemIconForUseDuration(2); + } + + if (j > 13) { + return this.getItemIconForUseDuration(1); + } + + if (j > 0) { + return this.getItemIconForUseDuration(0); + } + } + + return this.getIcon(stack, renderPass); + } + + @SideOnly(Side.CLIENT) + public Icon getItemIconForUseDuration(int par1) { + return this.iconArray[par1]; } - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } - - /** - * called when the player releases the use item button. Args: itemstack, world, entityplayer, itemInUseCount - */ - @Override - public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) - { - int j = this.getMaxItemUseDuration(par1ItemStack) - par4; - - ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); - MinecraftForge.EVENT_BUS.post(event); - if (event.isCanceled()) - { - return; - } - j = event.charge; - - boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - - if (flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) - { - float f = (float)j / 20.0F; - f = (f * f + f * 2.0F) / 3.0F; - - if ((double)f < 0.1D) - { - return; - } - - if (f > 1.0F) - { - f = 1.0F; - } - - EntityArrowVelocity entityarrow = new EntityArrowVelocity(par2World, par3EntityPlayer, f * 3.0F); - entityarrow.setDamage(entityarrow.getDamage() * 1.5F); - - if (f == 1.0F) - { - entityarrow.setIsCritical(true); - } - - int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - - if (k > 0) - { - entityarrow.setDamage(entityarrow.getDamage() + (double)k * 0.5D + 0.5D); - } - - int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - - if (l > 0) - { - entityarrow.setKnockbackStrength(l); - } - - if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) - { - entityarrow.setFire(100); - } - - par1ItemStack.damageItem(1, par3EntityPlayer); - par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - - if (flag) - { - entityarrow.canBePickedUp = 2; - } - else - { - par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); - } - - if (!par2World.isRemote) - { - par2World.spawnEntityInWorld(entityarrow); - } - } - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - par3List.add("Velocity I"); - } - - - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IconRegister par1IconRegister) - { - super.registerIcons(par1IconRegister); - this.iconArray = new Icon[bowPullIconNameArray.length]; - - for (int i = 0; i < this.iconArray.length; ++i) - { - this.iconArray[i] = par1IconRegister.registerIcon("Atum:" + bowPullIconNameArray[i]); - } - } - - /** - * Player, Render pass, and item usage sensitive version of getIconIndex. - * - * @param stack The item stack to get the icon for. (Usually this, and usingItem will be the same if usingItem is not null) - * @param renderPass The pass to get the icon for, 0 is default. - * @param player The player holding the item - * @param usingItem The item the player is actively using. Can be null if not using anything. - * @param useRemaining The ticks remaining for the active item. - * @return The icon index - */ - @Override - public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) - { - if(usingItem != null) - { - int j = getMaxItemUseDuration(stack) - useRemaining; - - if (j >= 18) - { - return getItemIconForUseDuration(2); - } - - if (j > 13) - { - return getItemIconForUseDuration(1); - } - - if (j > 0) - { - return getItemIconForUseDuration(0); - } - } - return getIcon(stack, renderPass); - } - - @SideOnly(Side.CLIENT) - @Override - public Icon getItemIconForUseDuration(int par1) - { - return this.iconArray[par1]; - } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemIsisHealing.java b/common/rebelkeithy/mods/atum/artifacts/ItemIsisHealing.java index f44b19e..f651457 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemIsisHealing.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemIsisHealing.java @@ -1,11 +1,11 @@ package rebelkeithy.mods.atum.artifacts; -import java.util.List; - -import org.lwjgl.input.Keyboard; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; + +import java.util.List; + +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; @@ -14,89 +14,66 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; -public class ItemIsisHealing extends Item -{ +import org.lwjgl.input.Keyboard; + +import rebelkeithy.mods.atum.Atum; + +public class ItemIsisHealing extends Item { - public ItemIsisHealing(int par1) - { + public ItemIsisHealing(int par1) { super(par1); this.setMaxDamage(400); } - - - public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) - { - if(par3Entity instanceof EntityPlayer) - { - EntityPlayer player = (EntityPlayer) par3Entity; - if(player.onGround) - { - if(player.inventory.mainInventory[player.inventory.currentItem] != null) - { - if(player.inventory.mainInventory[player.inventory.currentItem].itemID == this.itemID) - { - doEffect(player, par1ItemStack); - } - } - } - } - } - - public void doEffect(EntityPlayer player, ItemStack item) - { - if(Math.random() > 0.05) - return; - - if(player.getHealth() < player.getMaxHealth()) - { - player.heal(1); - - if(!player.capabilities.isCreativeMode) - { - if(item.getItemDamage() == 1) - item.damageItem(1, player); - else - item.setItemDamage(item.getItemDamage()+1); + + public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { + if (par3Entity instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) par3Entity; + if (player.onGround && player.inventory.mainInventory[player.inventory.currentItem] != null && player.inventory.mainInventory[player.inventory.currentItem].itemID == super.itemID) { + this.doEffect(player, par1ItemStack); } - } - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Regeneration I: Regenerates"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "health slowly while heald"); - } else { - par3List.add("Regeneration I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - - //par3List.add(((int)((par1ItemStack.getMaxDamage()-par1ItemStack.getItemDamage())/12))/100.0 + " Minutes Remaining"); - par3List.add(((int)((par1ItemStack.getMaxDamage()-par1ItemStack.getItemDamage()))) + " Hearts Remaining"); - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } + } + + } + public void doEffect(EntityPlayer player, ItemStack item) { + if (Math.random() <= 0.05D) { + if (player.getHealth() < player.getMaxHealth()) { + player.heal(1); + if (!player.capabilities.isCreativeMode) { + if (item.getItemDamage() == 1) { + item.damageItem(1, player); + } else { + item.setItemDamage(item.getItemDamage() + 1); + } + } + } + + } + } + + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Regeneration I: Regenerates"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "health slowly while heald"); + } else { + par3List.add("Regeneration I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + + par3List.add(par1ItemStack.getMaxDamage() - par1ItemStack.getItemDamage() + " Hearts Remaining"); + } + + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Item.diamond.itemID; + } + + @Override + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":IsisHealing"); + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemMaatsBalance.java b/common/rebelkeithy/mods/atum/artifacts/ItemMaatsBalance.java index 98484bb..9b70fe7 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemMaatsBalance.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemMaatsBalance.java @@ -1,7 +1,11 @@ package rebelkeithy.mods.atum.artifacts; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + import java.util.List; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; @@ -13,7 +17,6 @@ import net.minecraft.util.EntityDamageSource; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; -import net.minecraftforge.common.IArmorTextureProvider; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingHurtEvent; @@ -21,99 +24,69 @@ import org.lwjgl.input.Keyboard; import rebelkeithy.mods.atum.Atum; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class ItemMaatsBalance extends ItemArmor -{ +public class ItemMaatsBalance extends ItemArmor { public String texture; - public ItemMaatsBalance(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) - { + + public ItemMaatsBalance(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); MinecraftForge.EVENT_BUS.register(this); + } - + @ForgeSubscribe - public void onLivingAttack(LivingHurtEvent event) - { - if(event.entityLiving.getCurrentArmor(3) != null) - { - if(event.entityLiving.getCurrentArmor(3).itemID == this.itemID) - { - event.ammount = (int) ((event.ammount + 1)/1.5F) - 1; - } + public void onLivingAttack(LivingHurtEvent event) { + if (event.entityLiving.getCurrentItemOrArmor(3) != null && event.entityLiving.getCurrentItemOrArmor(3).itemID == super.itemID) { + event.ammount = (int) ((float) (event.ammount + 1) / 1.5F) - 1; } - - if(event.source instanceof EntityDamageSource) - { + + if (event.source instanceof EntityDamageSource) { EntityDamageSource source = (EntityDamageSource) event.source; - if(source.getEntity() != null && source.getEntity() instanceof EntityLiving) - { + if (source.getEntity() != null && source.getEntity() instanceof EntityLiving) { EntityLiving entity = (EntityLiving) source.getEntity(); - if(entity.getCurrentArmor(3) != null) - { - if(entity.getCurrentArmor(3).itemID == this.itemID) - { - event.ammount = (int) ((event.ammount + 1)/1.5F) - 1; - } + if (entity.getCurrentItemOrArmor(3) != null && entity.getCurrentItemOrArmor(3).itemID == super.itemID) { + event.ammount = (int) ((float) (event.ammount + 1) / 1.5F) - 1; } } } + + } + + public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { } - - public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) - { - //System.out.println("tick"); - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Balance I: Decreases damage"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "dealt, Decreases damage taken"); - } else { - par3List.add("Balance I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - - public Item setTextureFile(String string) - { - texture = string; + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Balance I: Decreases damage"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "dealt, Decreases damage taken"); + } else { + par3List.add("Balance I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + + } + + public Item setTextureFile(String string) { + this.texture = string; return this; } - - public String getArmorTexture(ItemStack stack, Entity entity, int slot, int layer) - { - return "/armor/" + texture + ".png"; - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } + public String getArmorTexture(ItemStack stack, Entity entity, int slot, int layer) { + return "/armor/" + this.texture + ".png"; + } + + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Item.diamond.itemID; + } + + @Override + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":MaatsBalance"); + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemMafdetsQuickness.java b/common/rebelkeithy/mods/atum/artifacts/ItemMafdetsQuickness.java index e174449..b0eb375 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemMafdetsQuickness.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemMafdetsQuickness.java @@ -1,11 +1,11 @@ package rebelkeithy.mods.atum.artifacts; -import java.util.List; - -import org.lwjgl.input.Keyboard; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; + +import java.util.List; + +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; @@ -14,85 +14,63 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; -public class ItemMafdetsQuickness extends Item -{ +import org.lwjgl.input.Keyboard; - public ItemMafdetsQuickness(int par1) - { +import rebelkeithy.mods.atum.Atum; + +public class ItemMafdetsQuickness extends Item { + + public ItemMafdetsQuickness(int par1) { super(par1); - this.setMaxDamage(20*60*20); - } - - - public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) - { - if(par3Entity instanceof EntityPlayer) - { - EntityPlayer player = (EntityPlayer) par3Entity; - if(player.onGround) - { - if(player.inventory.mainInventory[player.inventory.currentItem] != null) - { - if(player.inventory.mainInventory[player.inventory.currentItem].itemID == this.itemID) - { - doEffect(player, par1ItemStack); - } - } - } - } - } - - public void doEffect(EntityPlayer player, ItemStack item) - { - player.landMovementFactor *= 1.4; + this.setMaxDamage(24000); - if(player.motionX*player.motionX+player.motionZ*player.motionZ > 0.02) - { - if(!player.capabilities.isCreativeMode) - { - if(item.getItemDamage() == 1) - item.damageItem(1, player); - else - item.setItemDamage(item.getItemDamage()+1); + } + + public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { + if (par3Entity instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) par3Entity; + if (player.onGround && player.inventory.mainInventory[player.inventory.currentItem] != null && player.inventory.mainInventory[player.inventory.currentItem].itemID == super.itemID) { + this.doEffect(player, par1ItemStack); } } - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Swiftness I: You run"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "faster when held"); - } else { - par3List.add("Swiftness I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - - par3List.add(((int)((par1ItemStack.getMaxDamage()-par1ItemStack.getItemDamage())/12))/100.0 + " Minutes Remaining"); - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } + } + + public void doEffect(EntityPlayer player, ItemStack item) { + player.capabilities.setPlayerWalkSpeed((float) ((double) player.capabilities.getWalkSpeed() * 1.4D)); + if (player.motionX * player.motionX + player.motionZ * player.motionZ > 0.02D && !player.capabilities.isCreativeMode) { + if (item.getItemDamage() == 1) { + item.damageItem(1, player); + } else { + item.setItemDamage(item.getItemDamage() + 1); + } + } + + } + + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Swiftness I: You run"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "faster when held"); + } else { + par3List.add("Swiftness I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + + par3List.add((double) ((par1ItemStack.getMaxDamage() - par1ItemStack.getItemDamage()) / 12) / 100.0D + " Minutes Remaining"); + } + + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Item.diamond.itemID; + } + + @Override + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":MafdetsQuickness"); + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemMnevisHorns.java b/common/rebelkeithy/mods/atum/artifacts/ItemMnevisHorns.java index a78e582..f76667b 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemMnevisHorns.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemMnevisHorns.java @@ -1,9 +1,11 @@ package rebelkeithy.mods.atum.artifacts; -import java.util.List; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; -import org.lwjgl.input.Keyboard; +import java.util.List; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; @@ -13,90 +15,66 @@ import net.minecraft.util.DamageSource; import net.minecraft.util.EntityDamageSource; import net.minecraft.util.EnumChatFormatting; -import net.minecraftforge.common.IArmorTextureProvider; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingAttackEvent; + +import org.lwjgl.input.Keyboard; + import rebelkeithy.mods.atum.Atum; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class ItemMnevisHorns extends ItemArmor implements IArmorTextureProvider -{ +public class ItemMnevisHorns extends ItemArmor { + public String texture; - public ItemMnevisHorns(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) - { + public ItemMnevisHorns(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); MinecraftForge.EVENT_BUS.register(this); + } - + @ForgeSubscribe - public void onLivingAttack(LivingAttackEvent event) - { - if(event.entityLiving.getCurrentArmor(3) != null) - { - if(event.entityLiving.getCurrentArmor(3).itemID == this.itemID) - { - if(event.source instanceof EntityDamageSource) - { - EntityDamageSource source = (EntityDamageSource) event.source; - if(source.getEntity() != null) - { - source.getEntity().attackEntityFrom(DamageSource.generic, (int) (event.ammount/2.0)); - } - } + public void onLivingAttack(LivingAttackEvent event) { + if (event.entityLiving.getCurrentItemOrArmor(3) != null && event.entityLiving.getCurrentItemOrArmor(3).itemID == super.itemID && event.source instanceof EntityDamageSource) { + EntityDamageSource source = (EntityDamageSource) event.source; + if (source.getEntity() != null) { + source.getEntity().attackEntityFrom(DamageSource.generic, (int) ((double) event.ammount / 2.0D)); } } + + } + + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Melee Reflection I: Deals"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "damage to attackers"); + } else { + par3List.add("Melee Reflection I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Melee Reflection I: Deals"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "damage to attackers"); - } else { - par3List.add("Melee Reflection I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - - public Item setTextureFile(String string) - { - texture = string; + public Item setTextureFile(String string) { + this.texture = string; return this; } - @Override - public String getArmorTextureFile(ItemStack itemstack) - { - return "/armor/" + texture + ".png"; + public String getArmorTextureFile(ItemStack itemstack) { + return "/armor/" + this.texture + ".png"; } - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Item.diamond.itemID; + } + @Override + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":MnevisHorns"); + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemMonthusBlast.java b/common/rebelkeithy/mods/atum/artifacts/ItemMonthusBlast.java index 9445c08..cf76a30 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemMonthusBlast.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemMonthusBlast.java @@ -2,8 +2,6 @@ import java.util.List; -import org.lwjgl.input.Keyboard; - import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; @@ -14,195 +12,135 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.Icon; -import net.minecraft.util.StringTranslate; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; + +import org.lwjgl.input.Keyboard; + +import rebelkeithy.mods.atum.Atum; import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowExplosive; -import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowVelocity; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class ItemMonthusBlast extends ItemBow -{ - public static final String[] bowPullIconNameArray = new String[] {"MonthusBlast_pull_0", "MonthusBlast_pull_1", "MonthusBlast_pull_2"}; - Icon[] iconArray; +public class ItemMonthusBlast extends ItemBow { + + public static final String[] bowPullIconNameArray = new String[] { "MonthusBlast_pull_0", "MonthusBlast_pull_1", "MonthusBlast_pull_2" }; + Icon[] iconArray; - public ItemMonthusBlast(int par1) - { + public ItemMonthusBlast(int par1) { super(par1); this.setMaxDamage(650); } - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } - - /** - * called when the player releases the use item button. Args: itemstack, world, entityplayer, itemInUseCount - */ - @Override - public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) - { - int j = this.getMaxItemUseDuration(par1ItemStack) - par4; - j = (int) (j * 0.667); - - ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); - MinecraftForge.EVENT_BUS.post(event); - if (event.isCanceled()) - { - return; - } - j = event.charge; - - boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - - if (flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) - { - float f = (float)j / 20.0F; - f = (f * f + f * 2.0F) / 3.0F; - - if ((double)f < 0.1D) - { - return; - } - - if (f > 1.0F) - { - f = 1.0F; - } - - EntityArrowExplosive entityarrow = new EntityArrowExplosive(par2World, par3EntityPlayer, f * 1.5F); - entityarrow.setDamage(entityarrow.getDamage() * 1.5F); - - if (f == 1.0F) - { - entityarrow.setIsCritical(true); - } - - int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - - if (k > 0) - { - entityarrow.setDamage(entityarrow.getDamage() + (double)k * 0.5D + 0.5D); - } - - int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - - if (l > 0) - { - entityarrow.setKnockbackStrength(l); - } - - if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) - { - entityarrow.setFire(100); - } - - par1ItemStack.damageItem(1, par3EntityPlayer); - par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - - if (flag) - { - entityarrow.canBePickedUp = 2; - } - else - { - par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); - } - - if (!par2World.isRemote) - { - par2World.spawnEntityInWorld(entityarrow); - } - } - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Explosive Shot I: Arrows explode"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "on impact"); - } else { - par3List.add("Explosive Shot I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IconRegister par1IconRegister) - { - super.registerIcons(par1IconRegister); - this.iconArray = new Icon[bowPullIconNameArray.length]; - - for (int i = 0; i < this.iconArray.length; ++i) - { - this.iconArray[i] = par1IconRegister.registerIcon("Atum:" + bowPullIconNameArray[i]); - } - } - - /** - * Player, Render pass, and item usage sensitive version of getIconIndex. - * - * @param stack The item stack to get the icon for. (Usually this, and usingItem will be the same if usingItem is not null) - * @param renderPass The pass to get the icon for, 0 is default. - * @param player The player holding the item - * @param usingItem The item the player is actively using. Can be null if not using anything. - * @param useRemaining The ticks remaining for the active item. - * @return The icon index - */ - @Override - public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) - { - if(usingItem != null) - { - int j = getMaxItemUseDuration(stack) - useRemaining; - - if (j >= 27) - { - return getItemIconForUseDuration(2); - } - - if (j > 18) - { - return getItemIconForUseDuration(1); - } - - if (j > 0) - { - return getItemIconForUseDuration(0); - } - } - return getIcon(stack, renderPass); - } - - @SideOnly(Side.CLIENT) - @Override - public Icon getItemIconForUseDuration(int par1) - { - return this.iconArray[par1]; - } + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Item.diamond.itemID; + } + + public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { + int j = this.getMaxItemUseDuration(par1ItemStack) - par4; + j = (int) ((double) j * 0.667D); + ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); + MinecraftForge.EVENT_BUS.post(event); + if (!event.isCanceled()) { + j = event.charge; + boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; + if (flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) { + float f = (float) j / 20.0F; + f = (f * f + f * 2.0F) / 3.0F; + if ((double) f < 0.1D) { + return; + } + + if (f > 1.0F) { + f = 1.0F; + } + + EntityArrowExplosive entityarrow = new EntityArrowExplosive(par2World, par3EntityPlayer, f * 1.5F); + entityarrow.setDamage(entityarrow.getDamage() * 1.5D); + if (f == 1.0F) { + entityarrow.setIsCritical(true); + } + + int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); + if (k > 0) { + entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + } + + int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); + if (l > 0) { + entityarrow.setKnockbackStrength(l); + } + + if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { + entityarrow.setFire(100); + } + + par1ItemStack.damageItem(1, par3EntityPlayer); + par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); + if (flag) { + entityarrow.canBePickedUp = 2; + } else { + par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); + } + + if (!par2World.isRemote) { + par2World.spawnEntityInWorld(entityarrow); + } + } + + } + } + + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Explosive Shot I: Arrows explode"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "on impact"); + } else { + par3List.add("Explosive Shot I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + super.registerIcons(par1IconRegister); + this.iconArray = new Icon[bowPullIconNameArray.length]; + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":MonthusBlast"); + for (int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IconRegister.registerIcon(Atum.modID + ":" + bowPullIconNameArray[i]); + } + + } + + public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + if (usingItem != null) { + int j = this.getMaxItemUseDuration(stack) - useRemaining; + if (j >= 27) { + return this.getItemIconForUseDuration(2); + } + + if (j > 18) { + return this.getItemIconForUseDuration(1); + } + + if (j > 0) { + return this.getItemIconForUseDuration(0); + } + } + + return this.getIcon(stack, renderPass); + } + + @SideOnly(Side.CLIENT) + public Icon getItemIconForUseDuration(int par1) { + return this.iconArray[par1]; + } + } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemMonthusStrike.java b/common/rebelkeithy/mods/atum/artifacts/ItemMonthusStrike.java index 4e461c2..be4ed6d 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemMonthusStrike.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemMonthusStrike.java @@ -1,9 +1,14 @@ package rebelkeithy.mods.atum.artifacts; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +import java.util.Iterator; import java.util.List; import net.minecraft.client.Minecraft; import net.minecraft.client.particle.EntityCrit2FX; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; @@ -20,157 +25,97 @@ import org.lwjgl.input.Keyboard; +import rebelkeithy.mods.atum.Atum; import rebelkeithy.mods.atum.entities.EntityStoneSoldier; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class ItemMonthusStrike extends ItemAxe -{ +public class ItemMonthusStrike extends ItemAxe { - public ItemMonthusStrike(int par1, EnumToolMaterial par2EnumToolMaterial) - { + public ItemMonthusStrike(int par1, EnumToolMaterial par2EnumToolMaterial) { super(par1, par2EnumToolMaterial); + + } + + public int getMaxItemUseDuration(ItemStack par1ItemStack) { + return 7200; + } + + public EnumAction getItemUseAction(ItemStack par1ItemStack) { + return EnumAction.bow; + } + + public void onUpdate(ItemStack stack, World world, Entity player, int par4, boolean par5) { + } + + public void onPlayerStoppedUsing(ItemStack par1ItemStack, World world, EntityPlayer player, int par4) { + int j = this.getMaxItemUseDuration(par1ItemStack) - par4; + if (j > 21) { + AxisAlignedBB bb = player.boundingBox.copy(); + bb = bb.expand(3.0D, 3.0D, 3.0D); + List list = world.getEntitiesWithinAABB(EntityLiving.class, bb); + Iterator i = list.iterator(); + + while (i.hasNext()) { + Entity entity = (Entity) i.next(); + if (entity != player && !(entity instanceof EntityStoneSoldier)) { + double dx = entity.posX - player.posX; + double dz = entity.posZ - player.posZ; + double magnitude = Math.sqrt(dx * dx + dz * dz); + dx /= magnitude; + dz /= magnitude; + entity.isAirBorne = true; + entity.addVelocity(dx * 2.5D, 0.3D, dz * 2.5D); + if (entity.motionY > 0.4000000059604645D) { + entity.motionY = 0.4000000059604645D; + } + + ((EntityLiving) entity).attackEntityFrom(DamageSource.generic, this.getDamageVsEntity(entity, par1ItemStack)); + if (world.isRemote) { + this.spawnParticle(world, entity); + } + } + } + + par1ItemStack.damageItem(4, player); + } + } + + @SideOnly(Side.CLIENT) + public void spawnParticle(World world, Entity entity) { + Minecraft.getMinecraft().effectRenderer.addEffect(new EntityCrit2FX(world, entity)); + } + + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + player.setItemInUse(stack, this.getMaxItemUseDuration(stack)); + return stack; + } + + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Slam I: Increased damage,"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "charge for AOE knockback"); + } else { + par3List.add("Slam I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } - /** - * How long it takes to use or consume an item - */ - @Override - public int getMaxItemUseDuration(ItemStack par1ItemStack) - { - return 7200; - } - - /** - * returns the action that specifies what animation to play when the items is being used - */ - public EnumAction getItemUseAction(ItemStack par1ItemStack) - { - return EnumAction.bow; - } - - /** - * Called each tick as long the item is on a player inventory. Uses by maps to check if is on a player hand and - * update it's contents. - */ - public void onUpdate(ItemStack stack, World world, Entity player, int par4, boolean par5) - { - /* - if(world.isRemote) - { - Random rand = new Random(); - - int angle = 40; - double x = -MathHelper.sin((player.rotationYaw + angle) * (float)Math.PI / 180.0F) * 0.4; - double z = (double)(MathHelper.cos((player.rotationYaw + angle) * (float)Math.PI / 180.0F)) * 0.4; - world.spawnParticle("flame", player.posX+x, player.posY, player.posZ+z, 0.0, 0.0D, 0.0); - } - */ - } - - /** - * called when the player releases the use item button. Args: itemstack, world, entityplayer, itemInUseCount - */ - public void onPlayerStoppedUsing(ItemStack par1ItemStack, World world, EntityPlayer player, int par4) - { - int j = this.getMaxItemUseDuration(par1ItemStack) - par4; - //System.out.println("charge strength: " + j); - - if(j <= 21) - return; - - AxisAlignedBB bb = player.boundingBox.copy(); - bb = bb.expand(3, 3, 3); - - List list = world.getEntitiesWithinAABB(EntityLiving.class, bb); - - for(Entity entity : list) - { - if(entity != player && !(entity instanceof EntityStoneSoldier)) - { - double dx = entity.posX - player.posX; - double dz = entity.posZ - player.posZ; - double magnitude = Math.sqrt(dx*dx + dz*dz); - dx = dx/magnitude; - dz = dz/magnitude; - - entity.isAirBorne = true; - entity.addVelocity(dx*2.5, 0.3D, dz*2.5); - //entity.motionY += 2; - - if (entity.motionY > 0.4000000059604645D) - { - entity.motionY = 0.4000000059604645D; - } - - ((EntityLiving)entity).attackEntityFrom(DamageSource.generic, this.getDamageVsEntity(entity)); - - if(world.isRemote) - spawnParticle(world, entity); - } - } - - par1ItemStack.damageItem(4, player); - } - - @SideOnly(Side.CLIENT) - public void spawnParticle(World world, Entity entity) - { - Minecraft.getMinecraft().effectRenderer.addEffect(new EntityCrit2FX(world, entity)); - } - - /** - * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer - */ - public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) - { - player.setItemInUse(stack, getMaxItemUseDuration(stack)); - - return stack; - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Slam I: Increased damage,"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "charge for AOE knockback"); - } else { - par3List.add("Slam I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - /** - * Returns the damage against a given entity. - */ @Override - public int getDamageVsEntity(Entity par1Entity) - { - return 4 + toolMaterial.getDamageVsEntity(); - } - - /** - * Return whether this item is repairable in an anvil. - */ + public float getDamageVsEntity(Entity par1Entity, ItemStack stack) { + return 4 + super.toolMaterial.getDamageVsEntity(); + } + + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Item.diamond.itemID; + } + @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":MonthusStrike"); + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemNeithsAudacity.java b/common/rebelkeithy/mods/atum/artifacts/ItemNeithsAudacity.java index 1172d22..ec42df2 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemNeithsAudacity.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemNeithsAudacity.java @@ -7,7 +7,6 @@ import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; import net.minecraft.item.EnumAction; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; @@ -22,252 +21,176 @@ import org.lwjgl.input.Keyboard; +import rebelkeithy.mods.atum.Atum; import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowDoubleShot; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class ItemNeithsAudacity extends ItemBow -{ - public static final String[] bowPullIconNameArray = new String[] {"neiths_pull_0", "neiths_pull_1", "neiths_pull_2"}; - @SideOnly(Side.CLIENT) - private Icon[] iconArray; - - public ItemNeithsAudacity(int par1) - { - super(par1); - this.maxStackSize = 1; - this.setMaxDamage(384); - this.setCreativeTab(CreativeTabs.tabCombat); - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Double Shot I: Fires "); - par3List.add(EnumChatFormatting.DARK_PURPLE + "two arrows"); - } else { - par3List.add("Slam I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - /** - * called when the player releases the use item button. Args: itemstack, world, entityplayer, itemInUseCount - */ - @Override - public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) - { - int j = this.getMaxItemUseDuration(par1ItemStack) - par4; - - ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); - MinecraftForge.EVENT_BUS.post(event); - if (event.isCanceled()) - { - return; - } - j = event.charge; - - boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - - if (flag || par3EntityPlayer.inventory.hasItemStack(new ItemStack(Item.arrow,2))) - { - float f = (float)j / 20.0F; - f = (f * f + f * 2.0F) / 3.0F; - - if ((double)f < 0.1D) - { - return; - } - - if (f > 1.0F) - { - f = 1.0F; - } - - EntityArrowDoubleShot entityarrow = new EntityArrowDoubleShot(par2World, par3EntityPlayer, f * 2.0F); - EntityArrowDoubleShot entityarrow1 = new EntityArrowDoubleShot(par2World, par3EntityPlayer, f * 2.0F); - - entityarrow.motionX += Math.random() * 0.4 - 0.2; - entityarrow.motionY += Math.random() * 0.4 - 0.2; - entityarrow.motionZ += Math.random() * 0.4 - 0.2; - entityarrow1.motionX += Math.random() * 0.4 - 0.2; - entityarrow1.motionY += Math.random() * 0.4 - 0.2; - entityarrow1.motionZ += Math.random() * 0.4 - 0.2; - - entityarrow.setDamage(entityarrow.getDamage() + 0.5D); - entityarrow1.setDamage(entityarrow.getDamage() + 0.5D); - - if (f == 1.0F) - { - entityarrow.setIsCritical(true); - entityarrow1.setIsCritical(true); - } - - int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - - if (k > 0) - { - entityarrow.setDamage(entityarrow.getDamage() + (double)k * 0.5D + 0.5D); - entityarrow1.setDamage(entityarrow.getDamage() + (double)k * 0.5D + 0.5D); - } - - int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - - if (l > 0) - { - entityarrow.setKnockbackStrength(l); - entityarrow1.setKnockbackStrength(l); - } - - if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) - { - entityarrow.setFire(100); - entityarrow1.setFire(100); - } - - par1ItemStack.damageItem(1, par3EntityPlayer); - par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - - if (flag) - { - entityarrow.canBePickedUp = 2; - entityarrow1.canBePickedUp = 2; - } - else - { - par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); - par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); - } - - if (!par2World.isRemote) - { - par2World.spawnEntityInWorld(entityarrow); - par2World.spawnEntityInWorld(entityarrow1); - } - } - } - - @Override - public ItemStack onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - return par1ItemStack; - } - - /** - * How long it takes to use or consume an item - */ - @Override - public int getMaxItemUseDuration(ItemStack par1ItemStack) - { - return 72000; - } - - /** - * returns the action that specifies what animation to play when the items is being used - */ - @Override - public EnumAction getItemUseAction(ItemStack par1ItemStack) - { - return EnumAction.bow; - } - - /** - * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer - */ - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { - ArrowNockEvent event = new ArrowNockEvent(par3EntityPlayer, par1ItemStack); - MinecraftForge.EVENT_BUS.post(event); - if (event.isCanceled()) - { - return event.result; - } - - if (par3EntityPlayer.capabilities.isCreativeMode || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) - { - par3EntityPlayer.setItemInUse(par1ItemStack, this.getMaxItemUseDuration(par1ItemStack)); - } - - return par1ItemStack; - } - - @Override - public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, - ItemStack usingItem, int useRemaining) - { - if (usingItem != null) - { - int j = getMaxItemUseDuration(stack) - useRemaining; - - if (j >= 18) - { - return func_94599_c(2); +public class ItemNeithsAudacity extends ItemBow { + + public static final String[] bowPullIconNameArray = new String[] { "neiths_pull_0", "neiths_pull_1", "neiths_pull_2" }; + @SideOnly(Side.CLIENT) + private Icon[] iconArray; + + public ItemNeithsAudacity(int par1) { + super(par1); + super.maxStackSize = 1; + this.setMaxDamage(384); + this.setCreativeTab(CreativeTabs.tabCombat); + } + + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Double Shot I: Fires "); + par3List.add(EnumChatFormatting.DARK_PURPLE + "two arrows"); + } else { + par3List.add("Slam I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + + } + + public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { + int j = this.getMaxItemUseDuration(par1ItemStack) - par4; + ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); + MinecraftForge.EVENT_BUS.post(event); + if (!event.isCanceled()) { + j = event.charge; + boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; + if (flag || par3EntityPlayer.inventory.hasItemStack(new ItemStack(Item.arrow, 2))) { + float f = (float) j / 20.0F; + f = (f * f + f * 2.0F) / 3.0F; + if ((double) f < 0.1D) { + return; + } + + if (f > 1.0F) { + f = 1.0F; + } + + EntityArrowDoubleShot entityarrow = new EntityArrowDoubleShot(par2World, par3EntityPlayer, f * 2.0F); + EntityArrowDoubleShot entityarrow1 = new EntityArrowDoubleShot(par2World, par3EntityPlayer, f * 2.0F); + entityarrow.motionX += Math.random() * 0.4D - 0.2D; + entityarrow.motionY += Math.random() * 0.4D - 0.2D; + entityarrow.motionZ += Math.random() * 0.4D - 0.2D; + entityarrow1.motionX += Math.random() * 0.4D - 0.2D; + entityarrow1.motionY += Math.random() * 0.4D - 0.2D; + entityarrow1.motionZ += Math.random() * 0.4D - 0.2D; + entityarrow.setDamage(entityarrow.getDamage() + 0.5D); + entityarrow1.setDamage(entityarrow.getDamage() + 0.5D); + if (f == 1.0F) { + entityarrow.setIsCritical(true); + entityarrow1.setIsCritical(true); + } + + int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); + if (k > 0) { + entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + entityarrow1.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + } + + int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); + if (l > 0) { + entityarrow.setKnockbackStrength(l); + entityarrow1.setKnockbackStrength(l); + } + + if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { + entityarrow.setFire(100); + entityarrow1.setFire(100); + } + + par1ItemStack.damageItem(1, par3EntityPlayer); + par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); + if (flag) { + entityarrow.canBePickedUp = 2; + entityarrow1.canBePickedUp = 2; + } else { + par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); + par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); + } + + if (!par2World.isRemote) { + par2World.spawnEntityInWorld(entityarrow); + par2World.spawnEntityInWorld(entityarrow1); + } + } + + } + } + + public ItemStack onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { + return par1ItemStack; + } + + public int getMaxItemUseDuration(ItemStack par1ItemStack) { + return 72000; + } + + public EnumAction getItemUseAction(ItemStack par1ItemStack) { + return EnumAction.bow; + } + + public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { + ArrowNockEvent event = new ArrowNockEvent(par3EntityPlayer, par1ItemStack); + MinecraftForge.EVENT_BUS.post(event); + if (event.isCanceled()) { + return event.result; + } else { + if (par3EntityPlayer.capabilities.isCreativeMode || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) { + par3EntityPlayer.setItemInUse(par1ItemStack, this.getMaxItemUseDuration(par1ItemStack)); + } + + return par1ItemStack; + } + } + + public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + if (usingItem != null) { + int j = this.getMaxItemUseDuration(stack) - useRemaining; + if (j >= 18) { + return this.getItemIconForUseDuration(2); } - if (j > 13) - { - return func_94599_c(1); + if (j > 13) { + return this.getItemIconForUseDuration(1); } - if (j > 0) - { - return func_94599_c(0); + if (j > 0) { + return this.getItemIconForUseDuration(0); } } - return getIcon(stack, renderPass); + + return this.getIcon(stack, renderPass); + } + + public int getItemEnchantability() { + return 1; + } + + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Item.diamond.itemID; + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + this.iconArray = new Icon[bowPullIconNameArray.length]; + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":NeithsAudacity"); + + for (int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IconRegister.registerIcon(Atum.modID + ":" + bowPullIconNameArray[i]); + } + + } + + @SideOnly(Side.CLIENT) + public Icon getItemIconForUseDuration(int par1) { + return this.iconArray[par1]; } - /** - * Return the enchantability factor of the item, most of the time is based on material. - */ - @Override - public int getItemEnchantability() - { - return 1; - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IconRegister par1IconRegister) - { - super.registerIcons(par1IconRegister); - this.iconArray = new Icon[bowPullIconNameArray.length]; - - for (int i = 0; i < this.iconArray.length; ++i) - { - this.iconArray[i] = par1IconRegister.registerIcon("Atum:" + bowPullIconNameArray[i]); - } - } - - @SideOnly(Side.CLIENT) - public Icon func_94599_c(int par1) - { - return this.iconArray[par1]; - } -} \ No newline at end of file +} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemNusFlux.java b/common/rebelkeithy/mods/atum/artifacts/ItemNusFlux.java index e2a2731..cfda8a9 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemNusFlux.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemNusFlux.java @@ -1,9 +1,13 @@ package rebelkeithy.mods.atum.artifacts; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + import java.util.List; import net.minecraft.client.Minecraft; import net.minecraft.client.particle.EntityCrit2FX; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; @@ -18,90 +22,65 @@ import org.lwjgl.input.Keyboard; +import rebelkeithy.mods.atum.Atum; import rebelkeithy.mods.atum.entities.EntityStoneSoldier; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class ItemNusFlux extends ItemSword -{ +public class ItemNusFlux extends ItemSword { - public ItemNusFlux(int par1, EnumToolMaterial par2EnumToolMaterial) - { + public ItemNusFlux(int par1, EnumToolMaterial par2EnumToolMaterial) { super(par1, par2EnumToolMaterial); + } - - @Override - public boolean hitEntity(ItemStack par1ItemStack, EntityLiving entity, EntityLiving player) - { - if(!player.worldObj.isRemote && Math.random() > 0.75 && !(entity instanceof EntityStoneSoldier)) - { + + public boolean hitEntity(ItemStack par1ItemStack, EntityLiving entity, EntityLiving player) { + if (!player.worldObj.isRemote && Math.random() > 0.75D && !(entity instanceof EntityStoneSoldier)) { double dx = entity.posX - player.posX; double dz = entity.posZ - player.posZ; - double magnitude = Math.sqrt(dx*dx + dz*dz); - dx = dx/magnitude; - dz = dz/magnitude; - + double magnitude = Math.sqrt(dx * dx + dz * dz); + dx /= magnitude; + dz /= magnitude; entity.isAirBorne = true; - entity.addVelocity(dx/2.0, 1.5D, dz/2.0); - - if (entity.motionY > 1.0D) - { - entity.motionY = 1.0D; - } - - ((EntityLiving)entity).attackEntityFrom(DamageSource.generic, this.getDamageVsEntity(entity)); - - //Minecraft.getMinecraft().effectRenderer.addEffect(new EntityCrit2FX(player.worldObj, entity)); - - if(player.worldObj.isRemote) - { - this.spawnParticle(player.worldObj, entity); - } + entity.addVelocity(dx / 2.0D, 1.5D, dz / 2.0D); + if (entity.motionY > 1.0D) { + entity.motionY = 1.0D; + } + + entity.attackEntityFrom(DamageSource.generic, this.getDamageVsEntity(entity, par1ItemStack)); + if (player.worldObj.isRemote) { + this.spawnParticle(player.worldObj, entity); + } } - - + return super.hitEntity(par1ItemStack, entity, player); - } - - @SideOnly(Side.CLIENT) - public void spawnParticle(World world, Entity entity) - { - Minecraft.getMinecraft().effectRenderer.addEffect(new EntityCrit2FX(world, entity)); - } - - @SideOnly(Side.CLIENT) - /** - * Return an item rarity from EnumRarity - */ - @Override - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Sweep I: Chance to launch"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "foes into the air"); - } else { - par3List.add("Sweep I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - /** - * Return whether this item is repairable in an anvil. - */ + } + + @SideOnly(Side.CLIENT) + public void spawnParticle(World world, Entity entity) { + Minecraft.getMinecraft().effectRenderer.addEffect(new EntityCrit2FX(world, entity)); + } + + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Sweep I: Chance to launch"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "foes into the air"); + } else { + par3List.add("Sweep I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + + } + + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Item.diamond.itemID; + } + @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } - + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":NusFlux"); + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemNutsAgility.java b/common/rebelkeithy/mods/atum/artifacts/ItemNutsAgility.java index f9d2847..66ad67b 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemNutsAgility.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemNutsAgility.java @@ -1,94 +1,71 @@ package rebelkeithy.mods.atum.artifacts; -import java.util.List; - -import org.lwjgl.input.Keyboard; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.Entity; + +import java.util.List; + +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; -import net.minecraft.potion.PotionEffect; import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StringTranslate; import net.minecraft.world.World; -import net.minecraftforge.common.IArmorTextureProvider; -public class ItemNutsAgility extends ItemArmor implements IArmorTextureProvider -{ +import org.lwjgl.input.Keyboard; + +import rebelkeithy.mods.atum.Atum; + +public class ItemNutsAgility extends ItemArmor { + String texture; - public ItemNutsAgility(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) - { + public ItemNutsAgility(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); + + } + + public void onArmorTickUpdate(World world, EntityPlayer player, ItemStack itemStack) { + if (player.onGround && player.inventory.armorInventory[1] != null && player.inventory.armorInventory[1].itemID == super.itemID) { + player.capabilities.setPlayerWalkSpeed((float) ((double) player.capabilities.getWalkSpeed() * 1.4D)); + } + } - public void onArmorTickUpdate(World world, EntityPlayer player, ItemStack itemStack) - { - if(player.onGround) - { - if(player.inventory.armorInventory[1] != null) - { - if(player.inventory.armorInventory[1].itemID == this.itemID) - { - player.landMovementFactor *= 1.4; - //player.motionX *= 1.4; - //player.motionZ *= 1.4; - } - } + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Agility I: Increased run"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "and swinging speed"); + } else { + par3List.add("Agility I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Agility I: Increased run"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "and swinging speed"); - } else { - par3List.add("Agility I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - public Item setTextureFile(String string) - { - texture = string; + + } + + public Item setTextureFile(String string) { + this.texture = string; return this; } - @Override - public String getArmorTextureFile(ItemStack itemstack) - { - return "/armor/" + texture + ".png"; + public String getArmorTextureFile(ItemStack itemstack) { + return "/armor/" + this.texture + ".png"; + } + + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Item.diamond.itemID; } - /** - * Return whether this item is repairable in an anvil. - */ @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } - + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":NutsAgility"); + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemNutsCall.java b/common/rebelkeithy/mods/atum/artifacts/ItemNutsCall.java index 177f282..743c802 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemNutsCall.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemNutsCall.java @@ -1,126 +1,90 @@ package rebelkeithy.mods.atum.artifacts; -import java.util.List; - -import org.lwjgl.input.Keyboard; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import rebelkeithy.mods.atum.artifacts.arrow.EntityNutsCall; -import rebelkeithy.mods.atum.entities.EntityStoneSoldier; -import rebelkeithy.mods.atum.entities.projectiles.EntityFireSpearCombined; -import net.minecraft.client.Minecraft; -import net.minecraft.client.particle.EntityCrit2FX; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; + +import java.util.List; + +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumAction; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; -public class ItemNutsCall extends Item -{ +import org.lwjgl.input.Keyboard; + +import rebelkeithy.mods.atum.Atum; +import rebelkeithy.mods.atum.artifacts.arrow.EntityNutsCall; + +public class ItemNutsCall extends Item { - public ItemNutsCall(int par1) - { + public ItemNutsCall(int par1) { super(par1); this.setMaxDamage(650); this.setMaxStackSize(1); + } - /** - * How long it takes to use or consume an item - */ + public int getMaxItemUseDuration(ItemStack par1ItemStack) { + return 7200; + } + + public EnumAction getItemUseAction(ItemStack par1ItemStack) { + return EnumAction.bow; + } + + @SideOnly(Side.CLIENT) + public boolean shouldRotateAroundWhenRendering() { + return false; + } + + public void onPlayerStoppedUsing(ItemStack par1ItemStack, World world, EntityPlayer player, int par4) { + int j = this.getMaxItemUseDuration(par1ItemStack) - par4; + System.out.println("charge strength: " + j); + if (j > 21) { + j = 21; + } + + EntityNutsCall spear = new EntityNutsCall(world, player, (float) j / 37.0F + 0.25F); + spear.setDamage(spear.getDamage() * 2.0D); + spear.setStack(par1ItemStack); + if (!world.isRemote) { + System.out.println("firing2"); + world.spawnEntityInWorld(spear); + world.updateEntity(spear); + } + + par1ItemStack.damageItem(4, player); + player.inventory.setInventorySlotContents(player.inventory.currentItem, (ItemStack) null); + } + + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + System.out.println("check"); + player.setItemInUse(stack, this.getMaxItemUseDuration(stack)); + return stack; + } + + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Wrath I: Chance to strike"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "foe with lightning"); + } else { + par3List.add("Wrath I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + + } + @Override - public int getMaxItemUseDuration(ItemStack par1ItemStack) - { - return 7200; - } - - /** - * returns the action that specifies what animation to play when the items is being used - */ - public EnumAction getItemUseAction(ItemStack par1ItemStack) - { - return EnumAction.bow; - } - - @SideOnly(Side.CLIENT) - - /** - * Returns true if this item should be rotated by 180 degrees around the Y axis when being held in an entities - * hands. - */ - public boolean shouldRotateAroundWhenRendering() - { - return false; - } - - /** - * called when the player releases the use item button. Args: itemstack, world, entityplayer, itemInUseCount - */ - public void onPlayerStoppedUsing(ItemStack par1ItemStack, World world, EntityPlayer player, int par4) - { - int j = this.getMaxItemUseDuration(par1ItemStack) - par4; - System.out.println("charge strength: " + j); - - if(j > 21) - j = 21; - - EntityNutsCall spear = new EntityNutsCall(world, player, j/37.0F + 0.25F); - spear.setDamage(spear.getDamage() * 2F); - spear.setStack(par1ItemStack); - - if (!world.isRemote) - { - System.out.println("firing2"); - world.spawnEntityInWorld(spear); - world.updateEntity(spear); - } - - par1ItemStack.damageItem(4, player); - player.inventory.setInventorySlotContents(player.inventory.currentItem, null); - } - - /** - * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer - */ - public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) - { - System.out.println("check"); - player.setItemInUse(stack, getMaxItemUseDuration(stack)); - - return stack; - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Wrath I: Chance to strike"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "foe with lightning"); - } else { - par3List.add("Wrath I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":NutsCall"); + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemOsirisWill.java b/common/rebelkeithy/mods/atum/artifacts/ItemOsirisWill.java index 27a25dc..5b706e3 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemOsirisWill.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemOsirisWill.java @@ -1,8 +1,11 @@ - package rebelkeithy.mods.atum.artifacts; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + import java.util.List; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EnumCreatureAttribute; @@ -16,77 +19,57 @@ import org.lwjgl.input.Keyboard; +import rebelkeithy.mods.atum.Atum; import rebelkeithy.mods.atum.AtumItems; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class ItemOsirisWill extends ItemSword -{ +public class ItemOsirisWill extends ItemSword { - public ItemOsirisWill(int par1, EnumToolMaterial par2EnumToolMaterial) - { + public ItemOsirisWill(int par1, EnumToolMaterial par2EnumToolMaterial) { super(par1, par2EnumToolMaterial); + } - /** - * Returns the damage against a given entity. - */ - public int getDamageVsEntity(Entity par1Entity) - { - int damage = 0; - for(int i = 0; i < 4; i++) - { - damage += Math.random() * 4 + 1; - } - return super.getDamageVsEntity(par1Entity) + damage; - } - @Override - public boolean hitEntity(ItemStack par1ItemStack, EntityLiving mob, EntityLiving player) - { - if(!mob.isEntityAlive()) - { - if(Math.random() < 0.5 && mob.getCreatureAttribute() == EnumCreatureAttribute.UNDEAD) - { - mob.dropItem(AtumItems.ectoplasm.itemID, 1); - } + public float getDamageVsEntity(Entity par1Entity, ItemStack stack) { + int damage = 0; + + for (int i = 0; i < 4; ++i) { + damage = (int) ((double) damage + Math.random() * 4.0D + 1.0D); + } + + return super.getDamageVsEntity(par1Entity, stack) + damage; + } + + public boolean hitEntity(ItemStack par1ItemStack, EntityLiving mob, EntityLiving player) { + if (!mob.isEntityAlive() && Math.random() < 0.5D && mob.getCreatureAttribute() == EnumCreatureAttribute.UNDEAD) { + mob.dropItem(AtumItems.ectoplasm.itemID, 1); } + return super.hitEntity(par1ItemStack, mob, player); - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Banish I: Bonus damage to undead,"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "chance to drop ectoplasm"); - } else { - par3List.add("Banish I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - /** - * Return whether this item is repairable in an anvil. - */ + } + + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Banish I: Bonus damage to undead,"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "chance to drop ectoplasm"); + } else { + par3List.add("Banish I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + + } + + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Item.diamond.itemID; + } + @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":OsirisWill"); + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemPtahsDecadence.java b/common/rebelkeithy/mods/atum/artifacts/ItemPtahsDecadence.java index bd4389d..18f5a1f 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemPtahsDecadence.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemPtahsDecadence.java @@ -1,13 +1,13 @@ package rebelkeithy.mods.atum.artifacts; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + import java.util.List; import java.util.Random; -import org.lwjgl.input.Keyboard; - import net.minecraft.block.Block; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.enchantment.Enchantment; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; @@ -17,61 +17,48 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class ItemPtahsDecadence extends ItemPickaxe -{ +import org.lwjgl.input.Keyboard; + +import rebelkeithy.mods.atum.Atum; + +public class ItemPtahsDecadence extends ItemPickaxe { - public ItemPtahsDecadence(int par1, EnumToolMaterial par2EnumToolMaterial) - { + public ItemPtahsDecadence(int par1, EnumToolMaterial par2EnumToolMaterial) { super(par1, par2EnumToolMaterial); } - public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, int blockID, int x, int y, int z, EntityLiving par7EntityLiving) - { - int dropID = Block.blocksList[blockID].idDropped(par2World.getBlockMetadata(x, y, z), new Random(), 0); - if(dropID == Item.diamond.itemID) - { - Block.oreDiamond.dropBlockAsItem(par2World, x, y, z, 0, 0); - } - - return super.onBlockDestroyed(par1ItemStack, par2World, blockID, x, y, z, par7EntityLiving); - } + public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, int blockID, int x, int y, int z, EntityLiving par7EntityLiving) { + int dropID = Block.blocksList[blockID].idDropped(par2World.getBlockMetadata(x, y, z), new Random(), 0); + if (dropID == Item.diamond.itemID) { + Block.oreDiamond.dropBlockAsItem(par2World, x, y, z, 0, 0); + } + + return super.onBlockDestroyed(par1ItemStack, par2World, blockID, x, y, z, par7EntityLiving); + } - @SideOnly(Side.CLIENT) + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Wealth I: Gain an extra"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "diamond from each ore"); + } else { + par3List.add("Wealth I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Wealth I: Gain an extra"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "diamond from each ore"); - } else { - par3List.add("Wealth I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } + } - @SideOnly(Side.CLIENT) + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Item.diamond.itemID; + } - /** - * Return whether this item is repairable in an anvil. - */ @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":PtahsDecadence"); + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemPtahsDestruction.java b/common/rebelkeithy/mods/atum/artifacts/ItemPtahsDestruction.java index 09fa6c1..6402fd5 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemPtahsDestruction.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemPtahsDestruction.java @@ -1,10 +1,11 @@ - package rebelkeithy.mods.atum.artifacts; -import java.util.List; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; -import org.lwjgl.input.Keyboard; +import java.util.List; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; @@ -13,66 +14,48 @@ import net.minecraft.item.ItemPickaxe; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StringTranslate; + +import org.lwjgl.input.Keyboard; + +import rebelkeithy.mods.atum.Atum; import rebelkeithy.mods.atum.entities.EntityStoneSoldier; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class ItemPtahsDestruction extends ItemPickaxe -{ +public class ItemPtahsDestruction extends ItemPickaxe { - - public ItemPtahsDestruction(int par1, EnumToolMaterial par2EnumToolMaterial) - { + public ItemPtahsDestruction(int par1, EnumToolMaterial par2EnumToolMaterial) { super(par1, par2EnumToolMaterial); - this.efficiencyOnProperMaterial = 11; + super.efficiencyOnProperMaterial = 11.0F; + } @Override - public int getDamageVsEntity(Entity entity) - { - int dammage = 4 + toolMaterial.getDamageVsEntity(); - if(entity instanceof EntityStoneSoldier) - { - return (int) (dammage * (2 + Math.random())); - } - - return dammage; + public float getDamageVsEntity(Entity entity, ItemStack stack) { + float damage = 4 + super.toolMaterial.getDamageVsEntity(); + return entity instanceof EntityStoneSoldier ? (int) ((double) damage * (2.0D + Math.random())) : damage; } - @SideOnly(Side.CLIENT) + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Stonecutter I: Incresed damage"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "to stone enemies"); + } else { + par3List.add("Stonecutter I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } - @SideOnly(Side.CLIENT) + } - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Stonecutter I: Incresed damage"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "to stone enemies"); - } else { - par3List.add("Stonecutter I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Item.diamond.itemID; + } - /** - * Return whether this item is repairable in an anvil. - */ @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":PtahsDestruction"); + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemRasGlory.java b/common/rebelkeithy/mods/atum/artifacts/ItemRasGlory.java index de7bab2..04240ec 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemRasGlory.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemRasGlory.java @@ -2,78 +2,61 @@ import java.util.List; -import org.lwjgl.input.Keyboard; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.Entity; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; -import net.minecraft.potion.PotionEffect; import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StringTranslate; -import net.minecraft.world.World; -import net.minecraftforge.common.IArmorTextureProvider; -public class ItemRasGlory extends ItemArmor implements IArmorTextureProvider -{ +import org.lwjgl.input.Keyboard; + +import rebelkeithy.mods.atum.Atum; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class ItemRasGlory extends ItemArmor { + String texture; - public ItemRasGlory(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) - { + public ItemRasGlory(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); + } - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Divine Vision I: Night vision, increased"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "range of vision in Atum"); - } else { - par3List.add("Divine Vision I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Divine Vision I: Night vision, increased"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "range of vision in Atum"); + } else { + par3List.add("Divine Vision I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } - public Item setTextureFile(String string) - { - texture = string; + public Item setTextureFile(String string) { + this.texture = string; return this; } - @Override - public String getArmorTextureFile(ItemStack itemstack) - { - return "/armor/" + texture + ".png"; + public String getArmorTextureFile(ItemStack itemstack) { + return "/armor/" + this.texture + ".png"; + } + + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Item.diamond.itemID; } - /** - * Return whether this item is repairable in an anvil. - */ @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":RasGlory"); + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemSekhmetsWrath.java b/common/rebelkeithy/mods/atum/artifacts/ItemSekhmetsWrath.java index 03683b1..5b99159 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemSekhmetsWrath.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemSekhmetsWrath.java @@ -1,123 +1,91 @@ package rebelkeithy.mods.atum.artifacts; -import java.util.List; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; -import org.lwjgl.input.Keyboard; +import java.util.List; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; -import net.minecraft.util.DamageSource; import net.minecraft.util.EntityDamageSource; import net.minecraft.util.EnumChatFormatting; -import net.minecraftforge.common.IArmorTextureProvider; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingAttackEvent; import net.minecraftforge.event.entity.living.LivingHurtEvent; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class ItemSekhmetsWrath extends ItemArmor implements IArmorTextureProvider -{ +import org.lwjgl.input.Keyboard; + +import rebelkeithy.mods.atum.Atum; + +public class ItemSekhmetsWrath extends ItemArmor { + String texture; - public ItemSekhmetsWrath(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) - { + public ItemSekhmetsWrath(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); MinecraftForge.EVENT_BUS.register(this); + } - + @ForgeSubscribe - public void onLivingAttack(LivingAttackEvent event) - { - if(event.entityLiving.getCurrentArmor(2) != null) - { - if(event.entityLiving.getCurrentArmor(2).itemID == this.itemID) - { - if(event.source instanceof EntityDamageSource) - { - EntityDamageSource source = (EntityDamageSource) event.source; - if(source.getEntity() != null) - { - if(Math.random() > 0.5) - { - source.getEntity().setFire(10); - } - } - } + public void onLivingAttack(LivingAttackEvent event) { + if (event.entityLiving.getCurrentItemOrArmor(2) != null && event.entityLiving.getCurrentItemOrArmor(2).itemID == super.itemID && event.source instanceof EntityDamageSource) { + EntityDamageSource source = (EntityDamageSource) event.source; + if (source.getEntity() != null && Math.random() > 0.5D) { + source.getEntity().setFire(10); } } + } - + @ForgeSubscribe - public void onLivingAttack(LivingHurtEvent event) - { - if(event.entityLiving.getCurrentArmor(2) != null) - { - if(event.entityLiving.getCurrentArmor(2).itemID == this.itemID) - { - if(event.source.isFireDamage()) - { - event.ammount = event.ammount / 2; - if(event.ammount == 0 && Math.random() > 0.5) - { - event.ammount = 1; - } - } + public void onLivingAttack(LivingHurtEvent event) { + if (event.entityLiving.getCurrentItemOrArmor(2) != null && event.entityLiving.getCurrentItemOrArmor(2).itemID == super.itemID && event.source.isFireDamage()) { + event.ammount /= 2; + if (event.ammount == 0 && Math.random() > 0.5D) { + event.ammount = 1; } } + + } + + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; } - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Immolation I: Protection from fire,"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "chance to ignite attackers"); - } else { - par3List.add("Immolation I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - public Item setTextureFile(String string) - { - texture = string; + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Immolation I: Protection from fire,"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "chance to ignite attackers"); + } else { + par3List.add("Immolation I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + + } + + public Item setTextureFile(String string) { + this.texture = string; return this; } - @Override - public String getArmorTextureFile(ItemStack itemstack) - { - return "/armor/" + texture + ".png"; + public String getArmorTextureFile(ItemStack itemstack) { + return "/armor/" + this.texture + ".png"; } - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Item.diamond.itemID; + } + @Override + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":SekhmetsWrath"); + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemShusBreath.java b/common/rebelkeithy/mods/atum/artifacts/ItemShusBreath.java index d2669aa..a4b7207 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemShusBreath.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemShusBreath.java @@ -1,8 +1,9 @@ package rebelkeithy.mods.atum.artifacts; -import java.util.List; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; -import org.lwjgl.input.Keyboard; +import java.util.List; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.enchantment.Enchantment; @@ -17,191 +18,132 @@ import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; + +import org.lwjgl.input.Keyboard; + +import rebelkeithy.mods.atum.Atum; import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowQuickdraw; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class ItemShusBreath extends ItemBow -{ - public static final String[] bowPullIconNameArray = new String[] {"ShusBreath_pull_0", "ShusBreath_pull_1", "ShusBreath_pull_2"}; - Icon[] iconArray; - - public ItemShusBreath(int par1) - { - super(par1); - this.setMaxDamage(650); - } - - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } - - /** - * called when the player releases the use item button. Args: itemstack, world, entityplayer, itemInUseCount - */ - @Override - public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) - { - int j = this.getMaxItemUseDuration(par1ItemStack) - par4; - j *= 2; - - ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); - MinecraftForge.EVENT_BUS.post(event); - if (event.isCanceled()) - { - return; - } - j = event.charge; - - boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - - if (flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) - { +public class ItemShusBreath extends ItemBow { + + public static final String[] bowPullIconNameArray = new String[]{"ShusBreath_pull_0", "ShusBreath_pull_1", "ShusBreath_pull_2"}; + Icon[] iconArray; + + + public ItemShusBreath(int par1) { + super(par1); + this.setMaxDamage(650); + + } + + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Item.diamond.itemID; + } + + public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { + int j = this.getMaxItemUseDuration(par1ItemStack) - par4; + j *= 2; + ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); + MinecraftForge.EVENT_BUS.post(event); + if(!event.isCanceled()) { + j = event.charge; + boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; + if(flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) { float f = (float)j / 20.0F; f = (f * f + f * 2.0F) / 3.0F; - - if ((double)f < 0.1D) - { - return; + if((double)f < 0.1D) { + return; } - if (f > 1.0F) - { - f = 1.0F; + if(f > 1.0F) { + f = 1.0F; } EntityArrowQuickdraw entityarrow = new EntityArrowQuickdraw(par2World, par3EntityPlayer, f * 2.0F); - entityarrow.setDamage(entityarrow.getDamage() * 1.5F); - - if (f == 1.0F) - { - entityarrow.setIsCritical(true); + entityarrow.setDamage(entityarrow.getDamage() * 1.5D); + if(f == 1.0F) { + entityarrow.setIsCritical(true); } int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - - if (k > 0) - { - entityarrow.setDamage(entityarrow.getDamage() + (double)k * 0.5D + 0.5D); + if(k > 0) { + entityarrow.setDamage(entityarrow.getDamage() + (double)k * 0.5D + 0.5D); } int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - - if (l > 0) - { - entityarrow.setKnockbackStrength(l); + if(l > 0) { + entityarrow.setKnockbackStrength(l); } - if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) - { - entityarrow.setFire(100); + if(EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { + entityarrow.setFire(100); } par1ItemStack.damageItem(1, par3EntityPlayer); - par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - - if (flag) - { - entityarrow.canBePickedUp = 2; - } - else - { - par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); + par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); + if(flag) { + entityarrow.canBePickedUp = 2; + } else { + par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); } - if (!par2World.isRemote) - { - par2World.spawnEntityInWorld(entityarrow); + if(!par2World.isRemote) { + par2World.spawnEntityInWorld(entityarrow); } - } - } - - @SideOnly(Side.CLIENT) - - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Quickdraw I: Reduced"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "drawback speed"); - } else { - par3List.add("Quickdraw I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IconRegister par1IconRegister) - { - super.registerIcons(par1IconRegister); - this.iconArray = new Icon[bowPullIconNameArray.length]; - - for (int i = 0; i < this.iconArray.length; ++i) - { - this.iconArray[i] = par1IconRegister.registerIcon("Atum:" + bowPullIconNameArray[i]); - } - } - - /** - * Player, Render pass, and item usage sensitive version of getIconIndex. - * - * @param stack The item stack to get the icon for. (Usually this, and usingItem will be the same if usingItem is not null) - * @param renderPass The pass to get the icon for, 0 is default. - * @param player The player holding the item - * @param usingItem The item the player is actively using. Can be null if not using anything. - * @param useRemaining The ticks remaining for the active item. - * @return The icon index - */ - @Override - public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) - { - if(usingItem != null) - { - int j = getMaxItemUseDuration(stack) - useRemaining; - - if (j >= 9) - { - return getItemIconForUseDuration(2); - } - - if (j > 5) - { - return getItemIconForUseDuration(1); - } - - if (j > 0) - { - return getItemIconForUseDuration(0); - } - } - return getIcon(stack, renderPass); - } - - @SideOnly(Side.CLIENT) - @Override - public Icon getItemIconForUseDuration(int par1) - { - return this.iconArray[par1]; - } + } + + } + } + + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if(Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Quickdraw I: Reduced"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "drawback speed"); + } else { + par3List.add("Quickdraw I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + super.registerIcons(par1IconRegister); + this.iconArray = new Icon[bowPullIconNameArray.length]; + this.itemIcon = par1IconRegister.registerIcon("atum:ShusBreath"); + for(int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IconRegister.registerIcon("atum:"+ bowPullIconNameArray[i]); + } + + } + + public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + if(usingItem != null) { + int j = this.getMaxItemUseDuration(stack) - useRemaining; + if(j >= 9) { + return this.getItemIconForUseDuration(2); + } + + if(j > 5) { + return this.getItemIconForUseDuration(1); + } + + if(j > 0) { + return this.getItemIconForUseDuration(0); + } + } + + return this.getIcon(stack, renderPass); + } + + @SideOnly(Side.CLIENT) + public Icon getItemIconForUseDuration(int par1) { + return this.iconArray[par1]; + } + } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemSobeksRage.java b/common/rebelkeithy/mods/atum/artifacts/ItemSobeksRage.java index 2eb2253..ebdd83a 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemSobeksRage.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemSobeksRage.java @@ -1,7 +1,11 @@ package rebelkeithy.mods.atum.artifacts; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + import java.util.List; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; @@ -15,73 +19,53 @@ import org.lwjgl.input.Keyboard; +import rebelkeithy.mods.atum.Atum; import rebelkeithy.mods.atum.entities.EntityPharaoh; import rebelkeithy.mods.atum.entities.EntityStoneSoldier; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class ItemSobeksRage extends ItemAxe -{ +public class ItemSobeksRage extends ItemAxe { - public ItemSobeksRage(int par1, EnumToolMaterial par2EnumToolMaterial) - { + public ItemSobeksRage(int par1, EnumToolMaterial par2EnumToolMaterial) { super(par1, par2EnumToolMaterial); + } - /** - * Returns the damage against a given entity. - */ - @Override - public int getDamageVsEntity(Entity par1Entity) - { - return 4 + toolMaterial.getDamageVsEntity(); - } - @Override - public boolean hitEntity(ItemStack par1ItemStack, EntityLiving mob, EntityLiving player) - { - if(!(mob instanceof EntityStoneSoldier || mob instanceof EntityPharaoh)) - { - float j = 4; - mob.addVelocity((double)(-MathHelper.sin(player.rotationYaw * (float)Math.PI / 180.0F) * (float)j * 0.5F), 0.1D, (double)(MathHelper.cos(player.rotationYaw * (float)Math.PI / 180.0F) * (float)j * 0.5F)); + public float getDamageVsEntity(Entity entity, ItemStack stack) { + return 4 + super.toolMaterial.getDamageVsEntity(); + } + + public boolean hitEntity(ItemStack par1ItemStack, EntityLiving mob, EntityLiving player) { + if (!(mob instanceof EntityStoneSoldier) && !(mob instanceof EntityPharaoh)) { + float j = 4.0F; + mob.addVelocity((double) (-MathHelper.sin(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F), 0.1D, (double) (MathHelper.cos(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F)); } + return super.hitEntity(par1ItemStack, mob, player); - } + } - @SideOnly(Side.CLIENT) + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } - /** - * Return an item rarity from EnumRarity - */ - public EnumRarity getRarity(ItemStack par1ItemStack) - { - return EnumRarity.rare; - } + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Exile I: Knocks foes "); + par3List.add(EnumChatFormatting.DARK_PURPLE + "back a large amount"); + } else { + par3List.add("Exile I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } - @SideOnly(Side.CLIENT) + } - /** - * allows items to add custom lines of information to the mouseover description - */ - @Override - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) - { - if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) - { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Exile I: Knocks foes "); - par3List.add(EnumChatFormatting.DARK_PURPLE + "back a large amount"); - } else { - par3List.add("Exile I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Item.diamond.itemID; + } - /** - * Return whether this item is repairable in an anvil. - */ @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == Item.diamond.itemID; - } - + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":SobeksRage"); + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemSpear.java b/common/rebelkeithy/mods/atum/artifacts/ItemSpear.java index 3322e5e..ab37ba3 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemSpear.java +++ b/common/rebelkeithy/mods/atum/artifacts/ItemSpear.java @@ -1,50 +1,33 @@ package rebelkeithy.mods.atum.artifacts; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; import rebelkeithy.mods.atum.entities.projectiles.EntityFireSpearCombined; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemSpear extends Item -{ - - public ItemSpear(int par1) { - super(par1); - // TODO Auto-generated constructor stub - } +public class ItemSpear extends Item { - /** - * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer - */ - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) - { + public ItemSpear(int par1) { + super(par1); + } - EntityFireSpearCombined entityarrow = new EntityFireSpearCombined(par2World, par3EntityPlayer, 0.75F); - entityarrow.setDamage(entityarrow.getDamage() * 1.5F); - - if (!par2World.isRemote) - { - par2World.spawnEntityInWorld(entityarrow); - par2World.updateEntity(entityarrow); - } - - return par1ItemStack; - } - + public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { + EntityFireSpearCombined entityarrow = new EntityFireSpearCombined(par2World, par3EntityPlayer, 0.75F); + entityarrow.setDamage(entityarrow.getDamage() * 1.5D); + if(!par2World.isRemote) { + par2World.spawnEntityInWorld(entityarrow); + par2World.updateEntity(entityarrow); + } - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IconRegister par1IconRegister) - { - super.registerIcons(par1IconRegister); - this.itemIcon = par1IconRegister.registerIcon("Atum:Arrow"); - } + return par1ItemStack; + } + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + super.itemIcon = par1IconRegister.registerIcon("atum:Arrow"); + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/CustomArrow.java b/common/rebelkeithy/mods/atum/artifacts/arrow/CustomArrow.java index 7bc51af..258a412 100644 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/CustomArrow.java +++ b/common/rebelkeithy/mods/atum/artifacts/arrow/CustomArrow.java @@ -4,39 +4,26 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; +public class CustomArrow extends Entity { -public class CustomArrow extends Entity -{ - - float arrowShake = 0; - - public CustomArrow(World par1World) - { - super(par1World); - } - - @Override - protected void entityInit() - { - - } - - - public String getTexture() - { - return "/item/arrows.png"; - } - - @Override - protected void readEntityFromNBT(NBTTagCompound nbttagcompound) - { - super.readFromNBT(nbttagcompound); - } - - @Override - protected void writeEntityToNBT(NBTTagCompound nbttagcompound) - { - super.writeToNBT(nbttagcompound); - } - + float arrowShake = 0.0F; + + + public CustomArrow(World par1World) { + super(par1World); + } + + protected void entityInit() {} + + public String getTexture() { + return "/item/arrows.png"; + } + + protected void readEntityFromNBT(NBTTagCompound nbttagcompound) { + super.readFromNBT(nbttagcompound); + } + + protected void writeEntityToNBT(NBTTagCompound nbttagcompound) { + super.writeToNBT(nbttagcompound); + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowDoubleShot.java b/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowDoubleShot.java index ee06ae6..ecd2fda 100644 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowDoubleShot.java +++ b/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowDoubleShot.java @@ -2,12 +2,11 @@ import java.util.List; -import rebelkeithy.mods.particleregistry.ParticleRegistry; - import net.minecraft.block.Block; import net.minecraft.enchantment.EnchantmentThorns; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.IProjectile; import net.minecraft.entity.monster.EntityEnderman; import net.minecraft.entity.player.EntityPlayer; @@ -16,605 +15,450 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.packet.Packet70GameEvent; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; +import rebelkeithy.mods.particleregistry.ParticleRegistry; import cpw.mods.fml.common.registry.IThrowableEntity; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class EntityArrowDoubleShot extends CustomArrow implements IProjectile, IThrowableEntity -{ - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private int inTile = 0; - private int inData = 0; - private boolean inGround = false; - - /** 1 if the player can pick up the arrow */ - public int canBePickedUp = 0; - - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake = 0; - - /** The owner of this arrow. */ - public Entity shootingEntity; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - - /** The amount of knockback an arrow applies when it hits a mob. */ - private int knockbackStrength; - - public EntityArrowDoubleShot(World par1World) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - } - - public EntityArrowDoubleShot(World par1World, double par2, double par4, double par6) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - this.yOffset = 0.0F; - } - - public EntityArrowDoubleShot(World par1World, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - this.posY; - double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); - - if (d3 >= 1.0E-7D) - { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); - } - } - - public EntityArrowDoubleShot(World par1World, EntityLiving par2EntityLiving, float par3) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.posY -= 0.10000000149011612D; - this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); - } - - protected void entityInit() - { - this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. - */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) - { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par3 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par5 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) - { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the velocity to the args. Args: x, y, z - */ - public void setVelocity(double par1, double par3, double par5) - { - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.ticksInGround = 0; - } - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() - { - super.onUpdate(); - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); - } - - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - - if (i > 0) - { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) - { - this.inGround = true; - } - } - - if (this.arrowShake > 0) - { - --this.arrowShake; - } - - if (this.inGround) - { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - - if (j == this.inTile && k == this.inData) - { - ++this.ticksInGround; - - if (this.ticksInGround == 1200) - { - this.setDead(); - } - } - else - { - this.inGround = false; - this.motionX *= (double)(this.rand.nextFloat() * 0.2F); - this.motionY *= (double)(this.rand.nextFloat() * 0.2F); - this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } - else - { - ++this.ticksInAir; - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) - { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - int l; - float f1; - - for (l = 0; l < list.size(); ++l) - { - Entity entity1 = (Entity)list.get(l); - - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) - { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - - if (movingobjectposition1 != null) - { - double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - - if (d1 < d0 || d0 == 0.0D) - { - entity = entity1; - d0 = d1; - } - } - } +public class EntityArrowDoubleShot extends CustomArrow implements IProjectile, IThrowableEntity { + + private int xTile = -1; + private int yTile = -1; + private int zTile = -1; + private int inTile = 0; + private int inData = 0; + private boolean inGround = false; + public int canBePickedUp = 0; + public int arrowShake = 0; + public Entity shootingEntity; + private int ticksInGround; + private int ticksInAir = 0; + private double damage = 2.0D; + private int knockbackStrength; + + + public EntityArrowDoubleShot(World par1World) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + } + + public EntityArrowDoubleShot(World par1World, double par2, double par4, double par6) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.setPosition(par2, par4, par6); + super.yOffset = 0.0F; + } + + public EntityArrowDoubleShot(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + super.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + double d0 = par3EntityLiving.posX - par2EntityLiving.posX; + double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - super.posY; + double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; + double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); + if(d3 >= 1.0E-7D) { + float f2 = (float)(Math.atan2(d2, d0) * 180.0D / 3.141592653589793D) - 90.0F; + float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / 3.141592653589793D)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(par2EntityLiving.posX + d4, super.posY, par2EntityLiving.posZ + d5, f2, f3); + super.yOffset = 0.0F; + float f4 = (float)d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); + } + + } + + public EntityArrowDoubleShot(World par1World, EntityLivingBase par2EntityLiving, float par3) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.setSize(0.5F, 0.5F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + super.posX -= (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); + super.posY -= 0.10000000149011612D; + super.posZ -= (double)(MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); + this.setPosition(super.posX, super.posY, super.posZ); + super.yOffset = 0.0F; + super.motionX = (double)(-MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); + super.motionZ = (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); + super.motionY = (double)(-MathHelper.sin(super.rotationPitch / 180.0F * 3.1415927F)); + this.setThrowableHeading(super.motionX, super.motionY, super.motionZ, par3 * 1.5F, 1.0F); + } + + protected void entityInit() { + super.dataWatcher.addObject(16, Byte.valueOf((byte)0)); + } + + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double)f2; + par3 /= (double)f2; + par5 /= (double)f2; + par1 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; + par3 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; + par5 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; + par1 *= (double)par7; + par3 *= (double)par7; + par5 *= (double)par7; + super.motionX = par1; + super.motionY = par3; + super.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / 3.141592653589793D); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { + this.setPosition(par1, par3, par5); + this.setRotation(par7, par8); + } + + @SideOnly(Side.CLIENT) + public void setVelocity(double par1, double par3, double par5) { + super.motionX = par1; + super.motionY = par3; + super.motionZ = par5; + if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch; + super.prevRotationYaw = super.rotationYaw; + this.setLocationAndAngles(super.posX, super.posY, super.posZ, super.rotationYaw, super.rotationPitch); + this.ticksInGround = 0; + } + + } + + public void onUpdate() { + super.onUpdate(); + if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { + float i = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); + super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(super.motionY, (double)i) * 180.0D / 3.141592653589793D); + } + + int var16 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + if(var16 > 0) { + Block.blocksList[var16].setBlockBoundsBasedOnState(super.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB vec3 = Block.blocksList[var16].getCollisionBoundingBoxFromPool(super.worldObj, this.xTile, this.yTile, this.zTile); + if(vec3 != null && vec3.isVecInside(super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ))) { + this.inGround = true; + } + } + + if(this.arrowShake > 0) { + --this.arrowShake; + } + + if(this.inGround) { + int var17 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + int vec31 = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + if(var17 == this.inTile && vec31 == this.inData) { + ++this.ticksInGround; + if(this.ticksInGround == 1200) { + this.setDead(); } - - if (entity != null) - { - movingobjectposition = new MovingObjectPosition(entity); + } else { + this.inGround = false; + super.motionX *= (double)(super.rand.nextFloat() * 0.2F); + super.motionY *= (double)(super.rand.nextFloat() * 0.2F); + super.motionZ *= (double)(super.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } + } else { + ++this.ticksInAir; + Vec3 var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); + Vec3 var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); + MovingObjectPosition movingobjectposition = super.worldObj.rayTraceBlocks_do_do(var18, var19, false, true); + var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); + var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); + if(movingobjectposition != null) { + var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = super.worldObj.getEntitiesWithinAABBExcludingEntity(this, super.boundingBox.addCoord(super.motionX, super.motionY, super.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + + int l; + float f1; + for(l = 0; l < list.size(); ++l) { + Entity f2 = (Entity)list.get(l); + if(f2.canBeCollidedWith() && (f2 != this.shootingEntity || this.ticksInAir >= 5)) { + f1 = 0.3F; + AxisAlignedBB f3 = f2.boundingBox.expand((double)f1, (double)f1, (double)f1); + MovingObjectPosition f4 = f3.calculateIntercept(var18, var19); + if(f4 != null) { + double j1 = var18.distanceTo(f4.hitVec); + if(j1 < d0 || d0 == 0.0D) { + entity = f2; + d0 = j1; + } + } } + } - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) - { - EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; + if(entity != null) { + movingobjectposition = new MovingObjectPosition(entity); + } - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).func_96122_a(entityplayer)) - { - movingobjectposition = null; - } + if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer var20 = (EntityPlayer)movingobjectposition.entityHit; + if(var20.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(var20)) { + movingobjectposition = null; } - - float f2; - float f3; - - if (movingobjectposition != null) - { - if (movingobjectposition.entityHit != null) - { - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double)f2 * this.damage); - - if (this.getIsCritical()) - { - i1 += this.rand.nextInt(i1 / 2 + 2); - } - - DamageSource damagesource = null; - - if (this.shootingEntity == null) - { - damagesource = DamageSource.causeThrownDamage(this, this); - } - else - { - damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) - { - movingobjectposition.entityHit.setFire(5); - } - - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) - { - if (movingobjectposition.entityHit instanceof EntityLiving) - { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; - - if (!this.worldObj.isRemote) - { - entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); - } - - if (this.knockbackStrength > 0) - { - f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - - if (f3 > 0.0F) - { - movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3); - } - } - - if (this.shootingEntity != null) - { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); - } - - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) - { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); - } - } - - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - - if (!(movingobjectposition.entityHit instanceof EntityEnderman)) - { - this.setDead(); + } + + float var21; + float var22; + if(movingobjectposition != null) { + if(movingobjectposition.entityHit != null) { + var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); + int var23 = MathHelper.ceiling_double_int((double)var22 * this.damage); + if(this.getIsCritical()) { + var23 += super.rand.nextInt(var23 / 2 + 2); + } + + DamageSource var24 = null; + if(this.shootingEntity == null) { + var24 = DamageSource.causeThrownDamage(this, this); + } else { + var24 = DamageSource.causeThrownDamage(this, this.shootingEntity); + } + + if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + movingobjectposition.entityHit.setFire(5); + } + + if(movingobjectposition.entityHit.attackEntityFrom(var24, var23)) { + if(movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; + if(!super.worldObj.isRemote) { + entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); + } + + if(this.knockbackStrength > 0) { + var21 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); + if(var21 > 0.0F) { + movingobjectposition.entityHit.addVelocity(super.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21, 0.1D, super.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21); } - } - else - { - this.motionX *= -0.10000000149011612D; - this.motionY *= -0.10000000149011612D; - this.motionZ *= -0.10000000149011612D; - this.rotationYaw += 180.0F; - this.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } - else - { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ)); - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double)f2 * 0.05000000074505806D; - this.posY -= this.motionY / (double)f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / (double)f2 * 0.05000000074505806D; - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - - if (this.inTile != 0) - { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } + } + + if(this.shootingEntity != null) { + EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, super.rand); + } + + if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + } + } + + this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); + if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { + this.setDead(); + } + } else { + super.motionX *= -0.10000000149011612D; + super.motionY *= -0.10000000149011612D; + super.motionZ *= -0.10000000149011612D; + super.rotationYaw += 180.0F; + super.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } else { + this.xTile = movingobjectposition.blockX; + this.yTile = movingobjectposition.blockY; + this.zTile = movingobjectposition.blockZ; + this.inTile = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inData = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + super.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - super.posX)); + super.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - super.posY)); + super.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - super.posZ)); + var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); + super.posX -= super.motionX / (double)var22 * 0.05000000074505806D; + super.posY -= super.motionY / (double)var22 * 0.05000000074505806D; + super.posZ -= super.motionZ / (double)var22 * 0.05000000074505806D; + this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); + this.inGround = true; + this.arrowShake = 7; + this.setIsCritical(false); + if(this.inTile != 0) { + Block.blocksList[this.inTile].onEntityCollidedWithBlock(super.worldObj, this.xTile, this.yTile, this.zTile, this); + } } + } - if (this.getIsCritical() && worldObj.isRemote) - { - for (l = 0; l < 4; ++l) - { - //this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); - ParticleRegistry.spawnParticle("coloredcrit", worldObj, this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ, 0.7, 1, 0.7); - } + if(this.getIsCritical() && super.worldObj.isRemote) { + for(l = 0; l < 4; ++l) { + ParticleRegistry.spawnParticle("coloredcrit", super.worldObj, super.posX + super.motionX * (double)l / 4.0D, super.posY + super.motionY * (double)l / 4.0D, super.posZ + super.motionZ * (double)l / 4.0D, -super.motionX, -super.motionY + 0.2D, -super.motionZ, 0.7D, 1.0D, 0.7D); } - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { - this.prevRotationYaw -= 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { - this.prevRotationYaw += 360.0F; + } + + super.posX += super.motionX; + super.posY += super.motionY; + super.posZ += super.motionZ; + var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); + super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); + + for(super.rotationPitch = (float)(Math.atan2(super.motionY, (double)var22) * 180.0D / 3.141592653589793D); super.rotationPitch - super.prevRotationPitch < -180.0F; super.prevRotationPitch -= 360.0F) { + ; + } + + while(super.rotationPitch - super.prevRotationPitch >= 180.0F) { + super.prevRotationPitch += 360.0F; + } + + while(super.rotationYaw - super.prevRotationYaw < -180.0F) { + super.prevRotationYaw -= 360.0F; + } + + while(super.rotationYaw - super.prevRotationYaw >= 180.0F) { + super.prevRotationYaw += 360.0F; + } + + super.rotationPitch = super.prevRotationPitch + (super.rotationPitch - super.prevRotationPitch) * 0.2F; + super.rotationYaw = super.prevRotationYaw + (super.rotationYaw - super.prevRotationYaw) * 0.2F; + float var25 = 0.99F; + f1 = 0.05F; + if(this.isInWater()) { + for(int var26 = 0; var26 < 4; ++var26) { + var21 = 0.25F; + super.worldObj.spawnParticle("bubble", super.posX - super.motionX * (double)var21, super.posY - super.motionY * (double)var21, super.posZ - super.motionZ * (double)var21, super.motionX, super.motionY, super.motionZ); } - this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; - this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; - float f4 = 0.99F; - f1 = 0.05F; - - if (this.isInWater()) - { - for (int j1 = 0; j1 < 4; ++j1) - { - f3 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f3, this.posY - this.motionY * (double)f3, this.posZ - this.motionZ * (double)f3, this.motionX, this.motionY, this.motionZ); - } - - f4 = 0.45F; - } - - this.motionX *= (double)f4; - this.motionY *= (double)f4; - this.motionZ *= (double)f4; - this.motionY -= (double)f1; - this.setPosition(this.posX, this.posY, this.posZ); - this.doBlockCollisions(); - } - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - - if (par1NBTTagCompound.hasKey("damage")) - { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if (par1NBTTagCompound.hasKey("pickup")) - { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } - else if (par1NBTTagCompound.hasKey("player")) - { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; - } - } - - /** - * Called by a player entity when they collide with an entity - */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) - { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) - { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - - if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) - { - flag = false; - } - - if (flag) - { - this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to - * prevent them from trampling crops - */ - protected boolean canTriggerWalking() - { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() - { - return 0.0F; - } - - public void setDamage(double par1) - { - this.damage = par1; - } - - public double getDamage() - { - return this.damage; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int par1) - { - this.knockbackStrength = par1; - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - public boolean canAttackWithItem() - { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public void setIsCritical(boolean par1) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } - else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public boolean getIsCritical() - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - @Override - public Entity getThrower() - { - return shootingEntity; - } - - @Override - public void setThrower(Entity entity) - { - shootingEntity = entity; - } - - @Override - public String getTexture() - { - return "/mods/Atum/textures/projectiles/arrows_double.png"; - } + var25 = 0.45F; + } + + super.motionX *= (double)var25; + super.motionY *= (double)var25; + super.motionZ *= (double)var25; + super.motionY -= (double)f1; + this.setPosition(super.posX, super.posY, super.posZ); + this.doBlockCollisions(); + } + + } + + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short)this.xTile); + par1NBTTagCompound.setShort("yTile", (short)this.yTile); + par1NBTTagCompound.setShort("zTile", (short)this.zTile); + par1NBTTagCompound.setByte("inTile", (byte)this.inTile); + par1NBTTagCompound.setByte("inData", (byte)this.inData); + par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte)(this.inGround?1:0)); + par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); + par1NBTTagCompound.setDouble("damage", this.damage); + } + + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inData = par1NBTTagCompound.getByte("inData") & 255; + this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + if(par1NBTTagCompound.hasKey("damage")) { + this.damage = par1NBTTagCompound.getDouble("damage"); + } + + if(par1NBTTagCompound.hasKey("pickup")) { + this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); + } else if(par1NBTTagCompound.hasKey("player")) { + this.canBePickedUp = par1NBTTagCompound.getBoolean("player")?1:0; + } + + } + + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if(!super.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; + if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { + flag = false; + } + + if(flag) { + this.playSound("random.pop", 0.2F, ((super.rand.nextFloat() - super.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + par1EntityPlayer.onItemPickup(this, 1); + this.setDead(); + } + } + + } + + protected boolean canTriggerWalking() { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() { + return 0.0F; + } + + public void setDamage(double par1) { + this.damage = par1; + } + + public double getDamage() { + return this.damage; + } + + public void setKnockbackStrength(int par1) { + this.knockbackStrength = par1; + } + + public boolean canAttackWithItem() { + return false; + } + + public void setIsCritical(boolean par1) { + byte b0 = super.dataWatcher.getWatchableObjectByte(16); + if(par1) { + super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); + } else { + super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); + } + + } + + public boolean getIsCritical() { + byte b0 = super.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } + + public Entity getThrower() { + return this.shootingEntity; + } + + public void setThrower(Entity entity) { + this.shootingEntity = entity; + } + + public String getTexture() { + return "/mods/Atum/textures/projectiles/arrows_double.png"; + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowExplosive.java b/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowExplosive.java index 9c5cae3..056b4ef 100644 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowExplosive.java +++ b/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowExplosive.java @@ -2,12 +2,11 @@ import java.util.List; -import rebelkeithy.mods.particleregistry.ParticleRegistry; - import net.minecraft.block.Block; import net.minecraft.enchantment.EnchantmentThorns; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.IProjectile; import net.minecraft.entity.monster.EntityEnderman; import net.minecraft.entity.player.EntityPlayer; @@ -22,605 +21,450 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; +import rebelkeithy.mods.particleregistry.ParticleRegistry; import cpw.mods.fml.common.registry.IThrowableEntity; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class EntityArrowExplosive extends CustomArrow implements IProjectile, IThrowableEntity -{ - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private int inTile = 0; - private int inData = 0; - private boolean inGround = false; - - /** 1 if the player can pick up the arrow */ - public int canBePickedUp = 0; - - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake = 0; - - /** The owner of this arrow. */ - public Entity shootingEntity; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - - /** The amount of knockback an arrow applies when it hits a mob. */ - private int knockbackStrength; - - public EntityArrowExplosive(World par1World) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - } - - public EntityArrowExplosive(World par1World, double par2, double par4, double par6) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - this.yOffset = 0.0F; - } - - public EntityArrowExplosive(World par1World, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - this.posY; - double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); - - if (d3 >= 1.0E-7D) - { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); - } - } - - public EntityArrowExplosive(World par1World, EntityLiving par2EntityLiving, float par3) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.posY -= 0.10000000149011612D; - this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); - } - - protected void entityInit() - { - this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. - */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) - { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par3 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par5 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) - { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the velocity to the args. Args: x, y, z - */ - public void setVelocity(double par1, double par3, double par5) - { - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.ticksInGround = 0; - } - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() - { - super.onUpdate(); - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); - } - - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - - if (i > 0) - { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) - { - this.worldObj.newExplosion(this, this.posX, this.posY, this.posZ, 2.0F, this.isBurning(), true); - this.inGround = true; +public class EntityArrowExplosive extends CustomArrow implements IProjectile, IThrowableEntity { + + private int xTile = -1; + private int yTile = -1; + private int zTile = -1; + private int inTile = 0; + private int inData = 0; + private boolean inGround = false; + public int canBePickedUp = 0; + public int arrowShake = 0; + public Entity shootingEntity; + private int ticksInGround; + private int ticksInAir = 0; + private double damage = 2.0D; + private int knockbackStrength; + + + public EntityArrowExplosive(World par1World) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + } + + public EntityArrowExplosive(World par1World, double par2, double par4, double par6) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.setPosition(par2, par4, par6); + super.yOffset = 0.0F; + } + + public EntityArrowExplosive(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + super.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + double d0 = par3EntityLiving.posX - par2EntityLiving.posX; + double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - super.posY; + double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; + double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); + if(d3 >= 1.0E-7D) { + float f2 = (float)(Math.atan2(d2, d0) * 180.0D / 3.141592653589793D) - 90.0F; + float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / 3.141592653589793D)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(par2EntityLiving.posX + d4, super.posY, par2EntityLiving.posZ + d5, f2, f3); + super.yOffset = 0.0F; + float f4 = (float)d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); + } + + } + + public EntityArrowExplosive(World par1World, EntityLivingBase par2EntityLiving, float par3) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.setSize(0.5F, 0.5F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + super.posX -= (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); + super.posY -= 0.10000000149011612D; + super.posZ -= (double)(MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); + this.setPosition(super.posX, super.posY, super.posZ); + super.yOffset = 0.0F; + super.motionX = (double)(-MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); + super.motionZ = (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); + super.motionY = (double)(-MathHelper.sin(super.rotationPitch / 180.0F * 3.1415927F)); + this.setThrowableHeading(super.motionX, super.motionY, super.motionZ, par3 * 1.5F, 1.0F); + } + + protected void entityInit() { + super.dataWatcher.addObject(16, Byte.valueOf((byte)0)); + } + + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double)f2; + par3 /= (double)f2; + par5 /= (double)f2; + par1 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; + par3 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; + par5 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; + par1 *= (double)par7; + par3 *= (double)par7; + par5 *= (double)par7; + super.motionX = par1; + super.motionY = par3; + super.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / 3.141592653589793D); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { + this.setPosition(par1, par3, par5); + this.setRotation(par7, par8); + } + + @SideOnly(Side.CLIENT) + public void setVelocity(double par1, double par3, double par5) { + super.motionX = par1; + super.motionY = par3; + super.motionZ = par5; + if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch; + super.prevRotationYaw = super.rotationYaw; + this.setLocationAndAngles(super.posX, super.posY, super.posZ, super.rotationYaw, super.rotationPitch); + this.ticksInGround = 0; + } + + } + + public void onUpdate() { + super.onUpdate(); + if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { + float i = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); + super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(super.motionY, (double)i) * 180.0D / 3.141592653589793D); + } + + int var16 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + if(var16 > 0) { + Block.blocksList[var16].setBlockBoundsBasedOnState(super.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB vec3 = Block.blocksList[var16].getCollisionBoundingBoxFromPool(super.worldObj, this.xTile, this.yTile, this.zTile); + if(vec3 != null && vec3.isVecInside(super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ))) { + super.worldObj.newExplosion(this, super.posX, super.posY, super.posZ, 2.0F, this.isBurning(), true); + this.inGround = true; + } + } + + if(this.arrowShake > 0) { + --this.arrowShake; + } + + if(this.inGround) { + int var17 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + int vec31 = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + if(var17 == this.inTile && vec31 == this.inData) { + ++this.ticksInGround; + if(this.ticksInGround == 1200) { + this.setDead(); } - } - - if (this.arrowShake > 0) - { - --this.arrowShake; - } - - if (this.inGround) - { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - - if (j == this.inTile && k == this.inData) - { - ++this.ticksInGround; - - if (this.ticksInGround == 1200) - { - this.setDead(); - } - } - else - { - this.inGround = false; - this.motionX *= (double)(this.rand.nextFloat() * 0.2F); - this.motionY *= (double)(this.rand.nextFloat() * 0.2F); - this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } - else - { - ++this.ticksInAir; - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) - { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - int l; - float f1; - - for (l = 0; l < list.size(); ++l) - { - Entity entity1 = (Entity)list.get(l); - - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) - { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - - if (movingobjectposition1 != null) - { - double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - - if (d1 < d0 || d0 == 0.0D) - { - entity = entity1; - d0 = d1; - } - } - } - } - - if (entity != null) - { - movingobjectposition = new MovingObjectPosition(entity); + } else { + this.inGround = false; + super.motionX *= (double)(super.rand.nextFloat() * 0.2F); + super.motionY *= (double)(super.rand.nextFloat() * 0.2F); + super.motionZ *= (double)(super.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } + } else { + ++this.ticksInAir; + Vec3 var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); + Vec3 var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); + MovingObjectPosition movingobjectposition = super.worldObj.rayTraceBlocks_do_do(var18, var19, false, true); + var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); + var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); + if(movingobjectposition != null) { + var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = super.worldObj.getEntitiesWithinAABBExcludingEntity(this, super.boundingBox.addCoord(super.motionX, super.motionY, super.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + + int l; + float f1; + for(l = 0; l < list.size(); ++l) { + Entity f2 = (Entity)list.get(l); + if(f2.canBeCollidedWith() && (f2 != this.shootingEntity || this.ticksInAir >= 5)) { + f1 = 0.3F; + AxisAlignedBB f3 = f2.boundingBox.expand((double)f1, (double)f1, (double)f1); + MovingObjectPosition f4 = f3.calculateIntercept(var18, var19); + if(f4 != null) { + double j1 = var18.distanceTo(f4.hitVec); + if(j1 < d0 || d0 == 0.0D) { + entity = f2; + d0 = j1; + } + } } + } - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) - { - EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; + if(entity != null) { + movingobjectposition = new MovingObjectPosition(entity); + } - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).func_96122_a(entityplayer)) - { - movingobjectposition = null; - } + if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer var20 = (EntityPlayer)movingobjectposition.entityHit; + if(var20.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(var20)) { + movingobjectposition = null; } - - float f2; - float f3; - - if (movingobjectposition != null) - { - if (movingobjectposition.entityHit != null) - { - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double)f2 * this.damage); - - if (this.getIsCritical()) - { - i1 += this.rand.nextInt(i1 / 2 + 2); - } - - DamageSource damagesource = null; - - if (this.shootingEntity == null) - { - damagesource = DamageSource.causeThrownDamage(this, this); - } - else - { - damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) - { - movingobjectposition.entityHit.setFire(5); - } - - this.worldObj.createExplosion(this, entity.posX, entity.posY, entity.posZ, 2.0F, true); - - this.setDead(); - - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) - { - if (movingobjectposition.entityHit instanceof EntityLiving) - { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; - - if (!this.worldObj.isRemote) - { - entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); - } - - if (this.knockbackStrength > 0) - { - f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - - if (f3 > 0.0F) - { - movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3); - } - } - - if (this.shootingEntity != null) - { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); - } - - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) - { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); - } + } + + float var21; + float var22; + if(movingobjectposition != null) { + if(movingobjectposition.entityHit != null) { + var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); + int var23 = MathHelper.ceiling_double_int((double)var22 * this.damage); + if(this.getIsCritical()) { + var23 += super.rand.nextInt(var23 / 2 + 2); + } + + DamageSource var24 = null; + if(this.shootingEntity == null) { + var24 = DamageSource.causeThrownDamage(this, this); + } else { + var24 = DamageSource.causeThrownDamage(this, this.shootingEntity); + } + + if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + movingobjectposition.entityHit.setFire(5); + } + + super.worldObj.createExplosion(this, entity.posX, entity.posY, entity.posZ, 2.0F, true); + this.setDead(); + if(movingobjectposition.entityHit.attackEntityFrom(var24, var23)) { + if(movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; + if(!super.worldObj.isRemote) { + entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); + } + + if(this.knockbackStrength > 0) { + var21 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); + if(var21 > 0.0F) { + movingobjectposition.entityHit.addVelocity(super.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21, 0.1D, super.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21); } - - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - - } - else - { - this.motionX *= -0.10000000149011612D; - this.motionY *= -0.10000000149011612D; - this.motionZ *= -0.10000000149011612D; - this.rotationYaw += 180.0F; - this.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } - else - { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ)); - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double)f2 * 0.05000000074505806D; - this.posY -= this.motionY / (double)f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / (double)f2 * 0.05000000074505806D; - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - this.worldObj.createExplosion(this, movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord, 2.0F, true); - this.inGround = true; - this.arrowShake = 7; - this.setDead(); - this.setIsCritical(false); - - if (this.inTile != 0) - { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } - } - - if (this.getIsCritical() && worldObj.isRemote) - { - for (l = 0; l < 4; ++l) - { - //this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); - ParticleRegistry.spawnParticle("coloredcrit", worldObj, this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ, 0.5, 0.1, 0.5); - } - } - - if(Math.random() > 0.0) - { - worldObj.spawnParticle("smoke", this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX/10F, (-this.motionY + 0.2D)/10F, -this.motionZ/10F); - } - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { - this.prevRotationPitch += 360.0F; + } + + if(this.shootingEntity != null) { + EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, super.rand); + } + + if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + } + } + + this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); + } else { + super.motionX *= -0.10000000149011612D; + super.motionY *= -0.10000000149011612D; + super.motionZ *= -0.10000000149011612D; + super.rotationYaw += 180.0F; + super.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } else { + this.xTile = movingobjectposition.blockX; + this.yTile = movingobjectposition.blockY; + this.zTile = movingobjectposition.blockZ; + this.inTile = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inData = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + super.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - super.posX)); + super.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - super.posY)); + super.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - super.posZ)); + var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); + super.posX -= super.motionX / (double)var22 * 0.05000000074505806D; + super.posY -= super.motionY / (double)var22 * 0.05000000074505806D; + super.posZ -= super.motionZ / (double)var22 * 0.05000000074505806D; + this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); + super.worldObj.createExplosion(this, movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord, 2.0F, true); + this.inGround = true; + this.arrowShake = 7; + this.setDead(); + this.setIsCritical(false); + if(this.inTile != 0) { + Block.blocksList[this.inTile].onEntityCollidedWithBlock(super.worldObj, this.xTile, this.yTile, this.zTile, this); + } } + } - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { - this.prevRotationYaw -= 360.0F; + if(this.getIsCritical() && super.worldObj.isRemote) { + for(l = 0; l < 4; ++l) { + ParticleRegistry.spawnParticle("coloredcrit", super.worldObj, super.posX + super.motionX * (double)l / 4.0D, super.posY + super.motionY * (double)l / 4.0D, super.posZ + super.motionZ * (double)l / 4.0D, -super.motionX, -super.motionY + 0.2D, -super.motionZ, 0.5D, 0.1D, 0.5D); } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { - this.prevRotationYaw += 360.0F; + } + + if(Math.random() > 0.0D) { + super.worldObj.spawnParticle("smoke", super.posX + super.motionX * (double)l / 4.0D, super.posY + super.motionY * (double)l / 4.0D, super.posZ + super.motionZ * (double)l / 4.0D, -super.motionX / 10.0D, (-super.motionY + 0.2D) / 10.0D, -super.motionZ / 10.0D); + } + + super.posX += super.motionX; + super.posY += super.motionY; + super.posZ += super.motionZ; + var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); + super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); + + for(super.rotationPitch = (float)(Math.atan2(super.motionY, (double)var22) * 180.0D / 3.141592653589793D); super.rotationPitch - super.prevRotationPitch < -180.0F; super.prevRotationPitch -= 360.0F) { + ; + } + + while(super.rotationPitch - super.prevRotationPitch >= 180.0F) { + super.prevRotationPitch += 360.0F; + } + + while(super.rotationYaw - super.prevRotationYaw < -180.0F) { + super.prevRotationYaw -= 360.0F; + } + + while(super.rotationYaw - super.prevRotationYaw >= 180.0F) { + super.prevRotationYaw += 360.0F; + } + + super.rotationPitch = super.prevRotationPitch + (super.rotationPitch - super.prevRotationPitch) * 0.2F; + super.rotationYaw = super.prevRotationYaw + (super.rotationYaw - super.prevRotationYaw) * 0.2F; + float var25 = 0.99F; + f1 = 0.15F; + if(this.isInWater()) { + for(int var26 = 0; var26 < 4; ++var26) { + var21 = 0.25F; + super.worldObj.spawnParticle("bubble", super.posX - super.motionX * (double)var21, super.posY - super.motionY * (double)var21, super.posZ - super.motionZ * (double)var21, super.motionX, super.motionY, super.motionZ); } - this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; - this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; - float f4 = 0.99F; - f1 = 0.15F; - - if (this.isInWater()) - { - for (int j1 = 0; j1 < 4; ++j1) - { - f3 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f3, this.posY - this.motionY * (double)f3, this.posZ - this.motionZ * (double)f3, this.motionX, this.motionY, this.motionZ); - } - - f4 = 0.8F; - } - - this.motionX *= (double)f4; - this.motionY *= (double)f4; - this.motionZ *= (double)f4; - this.motionY -= (double)f1; - this.setPosition(this.posX, this.posY, this.posZ); - this.doBlockCollisions(); - } - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - - if (par1NBTTagCompound.hasKey("damage")) - { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if (par1NBTTagCompound.hasKey("pickup")) - { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } - else if (par1NBTTagCompound.hasKey("player")) - { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; - } - } - - /** - * Called by a player entity when they collide with an entity - */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) - { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) - { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - - if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) - { - flag = false; - } - - if (flag) - { - this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to - * prevent them from trampling crops - */ - protected boolean canTriggerWalking() - { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() - { - return 0.0F; - } - - public void setDamage(double par1) - { - this.damage = par1; - } - - public double getDamage() - { - return this.damage; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int par1) - { - this.knockbackStrength = par1; - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - public boolean canAttackWithItem() - { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public void setIsCritical(boolean par1) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } - else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public boolean getIsCritical() - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - @Override - public Entity getThrower() - { - return shootingEntity; - } - - @Override - public void setThrower(Entity entity) - { - shootingEntity = entity; - } - - @Override - public String getTexture() - { - return "/mods/Atum/textures/projectiles/arrows_exploding.png"; - } + var25 = 0.8F; + } + + super.motionX *= (double)var25; + super.motionY *= (double)var25; + super.motionZ *= (double)var25; + super.motionY -= (double)f1; + this.setPosition(super.posX, super.posY, super.posZ); + this.doBlockCollisions(); + } + + } + + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short)this.xTile); + par1NBTTagCompound.setShort("yTile", (short)this.yTile); + par1NBTTagCompound.setShort("zTile", (short)this.zTile); + par1NBTTagCompound.setByte("inTile", (byte)this.inTile); + par1NBTTagCompound.setByte("inData", (byte)this.inData); + par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte)(this.inGround?1:0)); + par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); + par1NBTTagCompound.setDouble("damage", this.damage); + } + + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inData = par1NBTTagCompound.getByte("inData") & 255; + this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + if(par1NBTTagCompound.hasKey("damage")) { + this.damage = par1NBTTagCompound.getDouble("damage"); + } + + if(par1NBTTagCompound.hasKey("pickup")) { + this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); + } else if(par1NBTTagCompound.hasKey("player")) { + this.canBePickedUp = par1NBTTagCompound.getBoolean("player")?1:0; + } + + } + + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if(!super.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; + if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { + flag = false; + } + + if(flag) { + this.playSound("random.pop", 0.2F, ((super.rand.nextFloat() - super.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + par1EntityPlayer.onItemPickup(this, 1); + this.setDead(); + } + } + + } + + protected boolean canTriggerWalking() { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() { + return 0.0F; + } + + public void setDamage(double par1) { + this.damage = par1; + } + + public double getDamage() { + return this.damage; + } + + public void setKnockbackStrength(int par1) { + this.knockbackStrength = par1; + } + + public boolean canAttackWithItem() { + return false; + } + + public void setIsCritical(boolean par1) { + byte b0 = super.dataWatcher.getWatchableObjectByte(16); + if(par1) { + super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); + } else { + super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); + } + + } + + public boolean getIsCritical() { + byte b0 = super.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } + + public Entity getThrower() { + return this.shootingEntity; + } + + public void setThrower(Entity entity) { + this.shootingEntity = entity; + } + + public String getTexture() { + return "/mods/Atum/textures/projectiles/arrows_exploding.png"; + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowFire.java b/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowFire.java index 1ca156b..5f1378d 100644 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowFire.java +++ b/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowFire.java @@ -2,12 +2,11 @@ import java.util.List; -import rebelkeithy.mods.particleregistry.ParticleRegistry; - import net.minecraft.block.Block; import net.minecraft.enchantment.EnchantmentThorns; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.IProjectile; import net.minecraft.entity.monster.EntityEnderman; import net.minecraft.entity.player.EntityPlayer; @@ -16,608 +15,454 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.packet.Packet70GameEvent; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; +import rebelkeithy.mods.particleregistry.ParticleRegistry; import cpw.mods.fml.common.registry.IThrowableEntity; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class EntityArrowFire extends CustomArrow implements IProjectile, IThrowableEntity -{ - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private int inTile = 0; - private int inData = 0; - private boolean inGround = false; - - /** 1 if the player can pick up the arrow */ - public int canBePickedUp = 0; - - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake = 0; - - /** The owner of this arrow. */ - public Entity shootingEntity; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - - /** The amount of knockback an arrow applies when it hits a mob. */ - private int knockbackStrength; - - public EntityArrowFire(World par1World) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - } - - public EntityArrowFire(World par1World, double par2, double par4, double par6) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - this.yOffset = 0.0F; - } - - public EntityArrowFire(World par1World, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - this.posY; - double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); - - if (d3 >= 1.0E-7D) - { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); - } - } - - public EntityArrowFire(World par1World, EntityLiving par2EntityLiving, float par3) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.posY -= 0.10000000149011612D; - this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); - } - - protected void entityInit() - { - this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. - */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) - { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par3 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par5 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) - { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the velocity to the args. Args: x, y, z - */ - public void setVelocity(double par1, double par3, double par5) - { - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.ticksInGround = 0; - } - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() - { - super.onUpdate(); - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); - } - - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - - if (i > 0) - { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) - { - this.inGround = true; - } - } - - if (this.arrowShake > 0) - { - --this.arrowShake; - } - - if (this.inGround) - { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - - if (j == this.inTile && k == this.inData) - { - ++this.ticksInGround; - - if(worldObj.isAirBlock((int)posX, (int)posY, (int)posZ)) - worldObj.setBlock((int)posX, (int)posY, (int)posZ, Block.fire.blockID); - - if (this.ticksInGround == 1200) - { - this.setDead(); - } - } - else - { - this.inGround = false; - this.motionX *= (double)(this.rand.nextFloat() * 0.2F); - this.motionY *= (double)(this.rand.nextFloat() * 0.2F); - this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } - else - { - ++this.ticksInAir; - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) - { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); +public class EntityArrowFire extends CustomArrow implements IProjectile, IThrowableEntity { + + private int xTile = -1; + private int yTile = -1; + private int zTile = -1; + private int inTile = 0; + private int inData = 0; + private boolean inGround = false; + public int canBePickedUp = 0; + public int arrowShake = 0; + public Entity shootingEntity; + private int ticksInGround; + private int ticksInAir = 0; + private double damage = 2.0D; + private int knockbackStrength; + + + public EntityArrowFire(World par1World) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + } + + public EntityArrowFire(World par1World, double par2, double par4, double par6) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.setPosition(par2, par4, par6); + super.yOffset = 0.0F; + } + + public EntityArrowFire(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + super.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + double d0 = par3EntityLiving.posX - par2EntityLiving.posX; + double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - super.posY; + double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; + double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); + if(d3 >= 1.0E-7D) { + float f2 = (float)(Math.atan2(d2, d0) * 180.0D / 3.141592653589793D) - 90.0F; + float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / 3.141592653589793D)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(par2EntityLiving.posX + d4, super.posY, par2EntityLiving.posZ + d5, f2, f3); + super.yOffset = 0.0F; + float f4 = (float)d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); + } + + } + + public EntityArrowFire(World par1World, EntityLivingBase par2EntityLiving, float par3) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.setSize(0.5F, 0.5F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + super.posX -= (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); + super.posY -= 0.10000000149011612D; + super.posZ -= (double)(MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); + this.setPosition(super.posX, super.posY, super.posZ); + super.yOffset = 0.0F; + super.motionX = (double)(-MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); + super.motionZ = (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); + super.motionY = (double)(-MathHelper.sin(super.rotationPitch / 180.0F * 3.1415927F)); + this.setThrowableHeading(super.motionX, super.motionY, super.motionZ, par3 * 1.5F, 1.0F); + } + + protected void entityInit() { + super.dataWatcher.addObject(16, Byte.valueOf((byte)0)); + } + + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double)f2; + par3 /= (double)f2; + par5 /= (double)f2; + par1 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; + par3 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; + par5 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; + par1 *= (double)par7; + par3 *= (double)par7; + par5 *= (double)par7; + super.motionX = par1; + super.motionY = par3; + super.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / 3.141592653589793D); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { + this.setPosition(par1, par3, par5); + this.setRotation(par7, par8); + } + + @SideOnly(Side.CLIENT) + public void setVelocity(double par1, double par3, double par5) { + super.motionX = par1; + super.motionY = par3; + super.motionZ = par5; + if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch; + super.prevRotationYaw = super.rotationYaw; + this.setLocationAndAngles(super.posX, super.posY, super.posZ, super.rotationYaw, super.rotationPitch); + this.ticksInGround = 0; + } + + } + + public void onUpdate() { + super.onUpdate(); + if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { + float i = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); + super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(super.motionY, (double)i) * 180.0D / 3.141592653589793D); + } + + int var16 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + if(var16 > 0) { + Block.blocksList[var16].setBlockBoundsBasedOnState(super.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB vec3 = Block.blocksList[var16].getCollisionBoundingBoxFromPool(super.worldObj, this.xTile, this.yTile, this.zTile); + if(vec3 != null && vec3.isVecInside(super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ))) { + this.inGround = true; + } + } + + if(this.arrowShake > 0) { + --this.arrowShake; + } + + if(this.inGround) { + int var17 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + int vec31 = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + if(var17 == this.inTile && vec31 == this.inData) { + ++this.ticksInGround; + if(super.worldObj.isAirBlock((int)super.posX, (int)super.posY, (int)super.posZ)) { + super.worldObj.setBlock((int)super.posX, (int)super.posY, (int)super.posZ, Block.fire.blockID); } - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - int l; - float f1; - - for (l = 0; l < list.size(); ++l) - { - Entity entity1 = (Entity)list.get(l); - - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) - { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - - if (movingobjectposition1 != null) - { - double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - - if (d1 < d0 || d0 == 0.0D) - { - entity = entity1; - d0 = d1; - } - } - } + if(this.ticksInGround == 1200) { + this.setDead(); } - - if (entity != null) - { - movingobjectposition = new MovingObjectPosition(entity); + } else { + this.inGround = false; + super.motionX *= (double)(super.rand.nextFloat() * 0.2F); + super.motionY *= (double)(super.rand.nextFloat() * 0.2F); + super.motionZ *= (double)(super.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } + } else { + ++this.ticksInAir; + Vec3 var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); + Vec3 var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); + MovingObjectPosition movingobjectposition = super.worldObj.rayTraceBlocks_do_do(var18, var19, false, true); + var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); + var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); + if(movingobjectposition != null) { + var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = super.worldObj.getEntitiesWithinAABBExcludingEntity(this, super.boundingBox.addCoord(super.motionX, super.motionY, super.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + + int l; + float f1; + for(l = 0; l < list.size(); ++l) { + Entity f2 = (Entity)list.get(l); + if(f2.canBeCollidedWith() && (f2 != this.shootingEntity || this.ticksInAir >= 5)) { + f1 = 0.3F; + AxisAlignedBB f3 = f2.boundingBox.expand((double)f1, (double)f1, (double)f1); + MovingObjectPosition f4 = f3.calculateIntercept(var18, var19); + if(f4 != null) { + double j1 = var18.distanceTo(f4.hitVec); + if(j1 < d0 || d0 == 0.0D) { + entity = f2; + d0 = j1; + } + } } + } - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) - { - EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; + if(entity != null) { + movingobjectposition = new MovingObjectPosition(entity); + } - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).func_96122_a(entityplayer)) - { - movingobjectposition = null; - } + if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer var20 = (EntityPlayer)movingobjectposition.entityHit; + if(var20.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(var20)) { + movingobjectposition = null; } - - float f2; - float f3; - - if (movingobjectposition != null) - { - if (movingobjectposition.entityHit != null) - { - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double)f2 * this.damage); - - if (this.getIsCritical()) - { - i1 += this.rand.nextInt(i1 / 2 + 2); - } - - DamageSource damagesource = null; - - if (this.shootingEntity == null) - { - damagesource = DamageSource.causeThrownDamage(this, this); - } - else - { - damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) - { - movingobjectposition.entityHit.setFire(5); - } - - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) - { - if (movingobjectposition.entityHit instanceof EntityLiving) - { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; - - if (!this.worldObj.isRemote) - { - entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); - } - - if (this.knockbackStrength > 0) - { - f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - - if (f3 > 0.0F) - { - movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3); - } - } - - if (this.shootingEntity != null) - { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); - } - - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) - { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); - } + } + + float var21; + float var22; + if(movingobjectposition != null) { + if(movingobjectposition.entityHit != null) { + var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); + int var23 = MathHelper.ceiling_double_int((double)var22 * this.damage); + if(this.getIsCritical()) { + var23 += super.rand.nextInt(var23 / 2 + 2); + } + + DamageSource var24 = null; + if(this.shootingEntity == null) { + var24 = DamageSource.causeThrownDamage(this, this); + } else { + var24 = DamageSource.causeThrownDamage(this, this.shootingEntity); + } + + if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + movingobjectposition.entityHit.setFire(5); + } + + if(movingobjectposition.entityHit.attackEntityFrom(var24, var23)) { + if(movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; + if(!super.worldObj.isRemote) { + entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); + } + + if(this.knockbackStrength > 0) { + var21 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); + if(var21 > 0.0F) { + movingobjectposition.entityHit.addVelocity(super.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21, 0.1D, super.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21); } - - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - - if (!(movingobjectposition.entityHit instanceof EntityEnderman)) - { - this.setDead(); - } - } - else - { - this.motionX *= -0.10000000149011612D; - this.motionY *= -0.10000000149011612D; - this.motionZ *= -0.10000000149011612D; - this.rotationYaw += 180.0F; - this.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } - else - { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ)); - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double)f2 * 0.05000000074505806D; - this.posY -= this.motionY / (double)f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / (double)f2 * 0.05000000074505806D; - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - - if (this.inTile != 0) - { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } + } + + if(this.shootingEntity != null) { + EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, super.rand); + } + + if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + } + } + + this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); + if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { + this.setDead(); + } + } else { + super.motionX *= -0.10000000149011612D; + super.motionY *= -0.10000000149011612D; + super.motionZ *= -0.10000000149011612D; + super.rotationYaw += 180.0F; + super.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } else { + this.xTile = movingobjectposition.blockX; + this.yTile = movingobjectposition.blockY; + this.zTile = movingobjectposition.blockZ; + this.inTile = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inData = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + super.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - super.posX)); + super.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - super.posY)); + super.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - super.posZ)); + var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); + super.posX -= super.motionX / (double)var22 * 0.05000000074505806D; + super.posY -= super.motionY / (double)var22 * 0.05000000074505806D; + super.posZ -= super.motionZ / (double)var22 * 0.05000000074505806D; + this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); + this.inGround = true; + this.arrowShake = 7; + this.setIsCritical(false); + if(this.inTile != 0) { + Block.blocksList[this.inTile].onEntityCollidedWithBlock(super.worldObj, this.xTile, this.yTile, this.zTile, this); + } } + } - if (this.getIsCritical() && worldObj.isRemote) - { - for (l = 0; l < 4; ++l) - { - //this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); - ParticleRegistry.spawnParticle("coloredcrit", worldObj, this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ, 0.8, 0.5, 0.2); - } + if(this.getIsCritical() && super.worldObj.isRemote) { + for(l = 0; l < 4; ++l) { + ParticleRegistry.spawnParticle("coloredcrit", super.worldObj, super.posX + super.motionX * (double)l / 4.0D, super.posY + super.motionY * (double)l / 4.0D, super.posZ + super.motionZ * (double)l / 4.0D, -super.motionX, -super.motionY + 0.2D, -super.motionZ, 0.8D, 0.5D, 0.2D); } - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { - this.prevRotationYaw -= 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { - this.prevRotationYaw += 360.0F; + } + + super.posX += super.motionX; + super.posY += super.motionY; + super.posZ += super.motionZ; + var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); + super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); + + for(super.rotationPitch = (float)(Math.atan2(super.motionY, (double)var22) * 180.0D / 3.141592653589793D); super.rotationPitch - super.prevRotationPitch < -180.0F; super.prevRotationPitch -= 360.0F) { + ; + } + + while(super.rotationPitch - super.prevRotationPitch >= 180.0F) { + super.prevRotationPitch += 360.0F; + } + + while(super.rotationYaw - super.prevRotationYaw < -180.0F) { + super.prevRotationYaw -= 360.0F; + } + + while(super.rotationYaw - super.prevRotationYaw >= 180.0F) { + super.prevRotationYaw += 360.0F; + } + + super.rotationPitch = super.prevRotationPitch + (super.rotationPitch - super.prevRotationPitch) * 0.2F; + super.rotationYaw = super.prevRotationYaw + (super.rotationYaw - super.prevRotationYaw) * 0.2F; + float var25 = 0.99F; + f1 = 0.05F; + if(this.isInWater()) { + for(int var26 = 0; var26 < 4; ++var26) { + var21 = 0.25F; + super.worldObj.spawnParticle("bubble", super.posX - super.motionX * (double)var21, super.posY - super.motionY * (double)var21, super.posZ - super.motionZ * (double)var21, super.motionX, super.motionY, super.motionZ); } - this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; - this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; - float f4 = 0.99F; - f1 = 0.05F; - - if (this.isInWater()) - { - for (int j1 = 0; j1 < 4; ++j1) - { - f3 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f3, this.posY - this.motionY * (double)f3, this.posZ - this.motionZ * (double)f3, this.motionX, this.motionY, this.motionZ); - } - - f4 = 0.45F; - } - - this.motionX *= (double)f4; - this.motionY *= (double)f4; - this.motionZ *= (double)f4; - this.motionY -= (double)f1; - this.setPosition(this.posX, this.posY, this.posZ); - this.doBlockCollisions(); - } - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - - if (par1NBTTagCompound.hasKey("damage")) - { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if (par1NBTTagCompound.hasKey("pickup")) - { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } - else if (par1NBTTagCompound.hasKey("player")) - { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; - } - } - - /** - * Called by a player entity when they collide with an entity - */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) - { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) - { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - - if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) - { - flag = false; - } - - if (flag) - { - this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to - * prevent them from trampling crops - */ - protected boolean canTriggerWalking() - { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() - { - return 0.0F; - } - - public void setDamage(double par1) - { - this.damage = par1; - } - - public double getDamage() - { - return this.damage; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int par1) - { - this.knockbackStrength = par1; - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - public boolean canAttackWithItem() - { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public void setIsCritical(boolean par1) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } - else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public boolean getIsCritical() - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - @Override - public Entity getThrower() - { - return shootingEntity; - } - - @Override - public void setThrower(Entity entity) - { - shootingEntity = entity; - } - - @Override - public String getTexture() - { - return "/mods/Atum/textures/projectiles/arrows_fire.png"; - } + var25 = 0.45F; + } + + super.motionX *= (double)var25; + super.motionY *= (double)var25; + super.motionZ *= (double)var25; + super.motionY -= (double)f1; + this.setPosition(super.posX, super.posY, super.posZ); + this.doBlockCollisions(); + } + + } + + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short)this.xTile); + par1NBTTagCompound.setShort("yTile", (short)this.yTile); + par1NBTTagCompound.setShort("zTile", (short)this.zTile); + par1NBTTagCompound.setByte("inTile", (byte)this.inTile); + par1NBTTagCompound.setByte("inData", (byte)this.inData); + par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte)(this.inGround?1:0)); + par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); + par1NBTTagCompound.setDouble("damage", this.damage); + } + + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inData = par1NBTTagCompound.getByte("inData") & 255; + this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + if(par1NBTTagCompound.hasKey("damage")) { + this.damage = par1NBTTagCompound.getDouble("damage"); + } + + if(par1NBTTagCompound.hasKey("pickup")) { + this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); + } else if(par1NBTTagCompound.hasKey("player")) { + this.canBePickedUp = par1NBTTagCompound.getBoolean("player")?1:0; + } + + } + + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if(!super.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; + if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { + flag = false; + } + + if(flag) { + this.playSound("random.pop", 0.2F, ((super.rand.nextFloat() - super.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + par1EntityPlayer.onItemPickup(this, 1); + this.setDead(); + } + } + + } + + protected boolean canTriggerWalking() { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() { + return 0.0F; + } + + public void setDamage(double par1) { + this.damage = par1; + } + + public double getDamage() { + return this.damage; + } + + public void setKnockbackStrength(int par1) { + this.knockbackStrength = par1; + } + + public boolean canAttackWithItem() { + return false; + } + + public void setIsCritical(boolean par1) { + byte b0 = super.dataWatcher.getWatchableObjectByte(16); + if(par1) { + super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); + } else { + super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); + } + + } + + public boolean getIsCritical() { + byte b0 = super.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } + + public Entity getThrower() { + return this.shootingEntity; + } + + public void setThrower(Entity entity) { + this.shootingEntity = entity; + } + + public String getTexture() { + return "/mods/Atum/textures/projectiles/arrows_fire.png"; + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowPoison.java b/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowPoison.java index 13ad972..c9ae444 100644 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowPoison.java +++ b/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowPoison.java @@ -2,12 +2,11 @@ import java.util.List; -import rebelkeithy.mods.particleregistry.ParticleRegistry; - import net.minecraft.block.Block; import net.minecraft.enchantment.EnchantmentThorns; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.IProjectile; import net.minecraft.entity.monster.EntityEnderman; import net.minecraft.entity.player.EntityPlayer; @@ -24,599 +23,445 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; +import rebelkeithy.mods.particleregistry.ParticleRegistry; import cpw.mods.fml.common.registry.IThrowableEntity; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class EntityArrowPoison extends CustomArrow implements IProjectile, IThrowableEntity -{ - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private int inTile = 0; - private int inData = 0; - private boolean inGround = false; - - /** 1 if the player can pick up the arrow */ - public int canBePickedUp = 0; - - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake = 0; - - /** The owner of this arrow. */ - public Entity shootingEntity; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - - /** The amount of knockback an arrow applies when it hits a mob. */ - private int knockbackStrength; - - public EntityArrowPoison(World par1World) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - } - - public EntityArrowPoison(World par1World, double par2, double par4, double par6) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - this.yOffset = 0.0F; - } - - public EntityArrowPoison(World par1World, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - this.posY; - double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); - - if (d3 >= 1.0E-7D) - { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); - } - } - - public EntityArrowPoison(World par1World, EntityLiving par2EntityLiving, float par3) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.posY -= 0.10000000149011612D; - this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); - } - - protected void entityInit() - { - this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. - */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) - { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par3 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par5 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) - { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the velocity to the args. Args: x, y, z - */ - public void setVelocity(double par1, double par3, double par5) - { - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.ticksInGround = 0; - } - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() - { - super.onUpdate(); - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); - } - - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - - if (i > 0) - { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) - { - this.inGround = true; - } - } - - if (this.arrowShake > 0) - { - --this.arrowShake; - } - - if (this.inGround) - { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - - if (j == this.inTile && k == this.inData) - { - ++this.ticksInGround; - - if (this.ticksInGround == 1200) - { - this.setDead(); - } - } - else - { - this.inGround = false; - this.motionX *= (double)(this.rand.nextFloat() * 0.2F); - this.motionY *= (double)(this.rand.nextFloat() * 0.2F); - this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } - else - { - ++this.ticksInAir; - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) - { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - int l; - float f1; - - for (l = 0; l < list.size(); ++l) - { - Entity entity1 = (Entity)list.get(l); - - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) - { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - - if (movingobjectposition1 != null) - { - double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - - if (d1 < d0 || d0 == 0.0D) - { - entity = entity1; - d0 = d1; - } - } - } +public class EntityArrowPoison extends CustomArrow implements IProjectile, IThrowableEntity { + + private int xTile = -1; + private int yTile = -1; + private int zTile = -1; + private int inTile = 0; + private int inData = 0; + private boolean inGround = false; + public int canBePickedUp = 0; + public int arrowShake = 0; + public Entity shootingEntity; + private int ticksInGround; + private int ticksInAir = 0; + private double damage = 2.0D; + private int knockbackStrength; + + + public EntityArrowPoison(World par1World) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + } + + public EntityArrowPoison(World par1World, double par2, double par4, double par6) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.setPosition(par2, par4, par6); + super.yOffset = 0.0F; + } + + public EntityArrowPoison(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + super.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + double d0 = par3EntityLiving.posX - par2EntityLiving.posX; + double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - super.posY; + double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; + double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); + if(d3 >= 1.0E-7D) { + float f2 = (float)(Math.atan2(d2, d0) * 180.0D / 3.141592653589793D) - 90.0F; + float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / 3.141592653589793D)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(par2EntityLiving.posX + d4, super.posY, par2EntityLiving.posZ + d5, f2, f3); + super.yOffset = 0.0F; + float f4 = (float)d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); + } + + } + + public EntityArrowPoison(World par1World, EntityLivingBase par2EntityLiving, float par3) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.setSize(0.5F, 0.5F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + super.posX -= (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); + super.posY -= 0.10000000149011612D; + super.posZ -= (double)(MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); + this.setPosition(super.posX, super.posY, super.posZ); + super.yOffset = 0.0F; + super.motionX = (double)(-MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); + super.motionZ = (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); + super.motionY = (double)(-MathHelper.sin(super.rotationPitch / 180.0F * 3.1415927F)); + this.setThrowableHeading(super.motionX, super.motionY, super.motionZ, par3 * 1.5F, 1.0F); + } + + protected void entityInit() { + super.dataWatcher.addObject(16, Byte.valueOf((byte)0)); + } + + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double)f2; + par3 /= (double)f2; + par5 /= (double)f2; + par1 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; + par3 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; + par5 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; + par1 *= (double)par7; + par3 *= (double)par7; + par5 *= (double)par7; + super.motionX = par1; + super.motionY = par3; + super.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / 3.141592653589793D); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { + this.setPosition(par1, par3, par5); + this.setRotation(par7, par8); + } + + @SideOnly(Side.CLIENT) + public void setVelocity(double par1, double par3, double par5) { + super.motionX = par1; + super.motionY = par3; + super.motionZ = par5; + if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch; + super.prevRotationYaw = super.rotationYaw; + this.setLocationAndAngles(super.posX, super.posY, super.posZ, super.rotationYaw, super.rotationPitch); + this.ticksInGround = 0; + } + + } + + public void onUpdate() { + super.onUpdate(); + if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { + float i = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); + super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(super.motionY, (double)i) * 180.0D / 3.141592653589793D); + } + + int var16 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + if(var16 > 0) { + Block.blocksList[var16].setBlockBoundsBasedOnState(super.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB vec3 = Block.blocksList[var16].getCollisionBoundingBoxFromPool(super.worldObj, this.xTile, this.yTile, this.zTile); + if(vec3 != null && vec3.isVecInside(super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ))) { + this.inGround = true; + } + } + + if(this.arrowShake > 0) { + --this.arrowShake; + } + + if(this.inGround) { + int var17 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + int vec31 = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + if(var17 == this.inTile && vec31 == this.inData) { + ++this.ticksInGround; + if(this.ticksInGround == 1200) { + this.setDead(); } - - if (entity != null) - { - movingobjectposition = new MovingObjectPosition(entity); + } else { + this.inGround = false; + super.motionX *= (double)(super.rand.nextFloat() * 0.2F); + super.motionY *= (double)(super.rand.nextFloat() * 0.2F); + super.motionZ *= (double)(super.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } + } else { + ++this.ticksInAir; + Vec3 var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); + Vec3 var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); + MovingObjectPosition movingobjectposition = super.worldObj.rayTraceBlocks_do_do(var18, var19, false, true); + var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); + var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); + if(movingobjectposition != null) { + var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = super.worldObj.getEntitiesWithinAABBExcludingEntity(this, super.boundingBox.addCoord(super.motionX, super.motionY, super.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + + int l; + float f1; + for(l = 0; l < list.size(); ++l) { + Entity f2 = (Entity)list.get(l); + if(f2.canBeCollidedWith() && (f2 != this.shootingEntity || this.ticksInAir >= 5)) { + f1 = 0.3F; + AxisAlignedBB f3 = f2.boundingBox.expand((double)f1, (double)f1, (double)f1); + MovingObjectPosition f4 = f3.calculateIntercept(var18, var19); + if(f4 != null) { + double j1 = var18.distanceTo(f4.hitVec); + if(j1 < d0 || d0 == 0.0D) { + entity = f2; + d0 = j1; + } + } } + } - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) - { - EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; + if(entity != null) { + movingobjectposition = new MovingObjectPosition(entity); + } - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).func_96122_a(entityplayer)) - { - movingobjectposition = null; - } + if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer var20 = (EntityPlayer)movingobjectposition.entityHit; + if(var20.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(var20)) { + movingobjectposition = null; } - - float f2; - float f3; - - if (movingobjectposition != null) - { - if (movingobjectposition.entityHit != null) - { - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double)f2 * this.damage); - - if (this.getIsCritical()) - { - i1 += this.rand.nextInt(i1 / 2 + 2); - } - - DamageSource damagesource = null; - - if (this.shootingEntity == null) - { - damagesource = DamageSource.causeThrownDamage(this, this); - } - else - { - damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) - { - movingobjectposition.entityHit.setFire(5); - } - - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) - { - if (movingobjectposition.entityHit instanceof EntityLiving) - { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; - - entityliving.addPotionEffect(new PotionEffect(Potion.poison.id, 140, 2, false)); - - if (!this.worldObj.isRemote) - { - entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); - } - - if (this.knockbackStrength > 0) - { - f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - - if (f3 > 0.0F) - { - movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3); - } - } - - if (this.shootingEntity != null) - { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); - } - - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) - { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); - } - } - - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - - if (!(movingobjectposition.entityHit instanceof EntityEnderman)) - { - this.setDead(); + } + + float var21; + float var22; + if(movingobjectposition != null) { + if(movingobjectposition.entityHit != null) { + var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); + int var23 = MathHelper.ceiling_double_int((double)var22 * this.damage); + if(this.getIsCritical()) { + var23 += super.rand.nextInt(var23 / 2 + 2); + } + + DamageSource var25 = null; + if(this.shootingEntity == null) { + var25 = DamageSource.causeThrownDamage(this, this); + } else { + var25 = DamageSource.causeThrownDamage(this, this.shootingEntity); + } + + if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + movingobjectposition.entityHit.setFire(5); + } + + if(movingobjectposition.entityHit.attackEntityFrom(var25, var23)) { + if(movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; + entityliving.addPotionEffect(new PotionEffect(Potion.poison.id, 140, 2, false)); + if(!super.worldObj.isRemote) { + entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); + } + + if(this.knockbackStrength > 0) { + var21 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); + if(var21 > 0.0F) { + movingobjectposition.entityHit.addVelocity(super.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21, 0.1D, super.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21); } - } - else - { - this.motionX *= -0.10000000149011612D; - this.motionY *= -0.10000000149011612D; - this.motionZ *= -0.10000000149011612D; - this.rotationYaw += 180.0F; - this.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } - else - { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ)); - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double)f2 * 0.05000000074505806D; - this.posY -= this.motionY / (double)f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / (double)f2 * 0.05000000074505806D; - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - - if (this.inTile != 0) - { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } + } + + if(this.shootingEntity != null) { + EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, super.rand); + } + + if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + } + } + + this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); + if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { + this.setDead(); + } + } else { + super.motionX *= -0.10000000149011612D; + super.motionY *= -0.10000000149011612D; + super.motionZ *= -0.10000000149011612D; + super.rotationYaw += 180.0F; + super.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } else { + this.xTile = movingobjectposition.blockX; + this.yTile = movingobjectposition.blockY; + this.zTile = movingobjectposition.blockZ; + this.inTile = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inData = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + super.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - super.posX)); + super.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - super.posY)); + super.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - super.posZ)); + var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); + super.posX -= super.motionX / (double)var22 * 0.05000000074505806D; + super.posY -= super.motionY / (double)var22 * 0.05000000074505806D; + super.posZ -= super.motionZ / (double)var22 * 0.05000000074505806D; + this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); + this.inGround = true; + this.arrowShake = 7; + this.setIsCritical(false); + if(this.inTile != 0) { + Block.blocksList[this.inTile].onEntityCollidedWithBlock(super.worldObj, this.xTile, this.yTile, this.zTile, this); + } } + } - if (this.getIsCritical() && worldObj.isRemote) - { - for (l = 0; l < 4; ++l) - { - //this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); - ParticleRegistry.spawnParticle("coloredcrit", worldObj, this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ, 0.5, 0.9, 0.5); - } + if(this.getIsCritical() && super.worldObj.isRemote) { + for(l = 0; l < 4; ++l) { + ParticleRegistry.spawnParticle("coloredcrit", super.worldObj, super.posX + super.motionX * (double)l / 4.0D, super.posY + super.motionY * (double)l / 4.0D, super.posZ + super.motionZ * (double)l / 4.0D, -super.motionX, -super.motionY + 0.2D, -super.motionZ, 0.5D, 0.9D, 0.5D); } - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { - this.prevRotationYaw -= 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { - this.prevRotationYaw += 360.0F; + } + + super.posX += super.motionX; + super.posY += super.motionY; + super.posZ += super.motionZ; + var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); + super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); + + for(super.rotationPitch = (float)(Math.atan2(super.motionY, (double)var22) * 180.0D / 3.141592653589793D); super.rotationPitch - super.prevRotationPitch < -180.0F; super.prevRotationPitch -= 360.0F) { + ; + } + + while(super.rotationPitch - super.prevRotationPitch >= 180.0F) { + super.prevRotationPitch += 360.0F; + } + + while(super.rotationYaw - super.prevRotationYaw < -180.0F) { + super.prevRotationYaw -= 360.0F; + } + + while(super.rotationYaw - super.prevRotationYaw >= 180.0F) { + super.prevRotationYaw += 360.0F; + } + + super.rotationPitch = super.prevRotationPitch + (super.rotationPitch - super.prevRotationPitch) * 0.2F; + super.rotationYaw = super.prevRotationYaw + (super.rotationYaw - super.prevRotationYaw) * 0.2F; + float var24 = 0.99F; + f1 = 0.05F; + if(this.isInWater()) { + for(int var26 = 0; var26 < 4; ++var26) { + var21 = 0.25F; + super.worldObj.spawnParticle("bubble", super.posX - super.motionX * (double)var21, super.posY - super.motionY * (double)var21, super.posZ - super.motionZ * (double)var21, super.motionX, super.motionY, super.motionZ); } - this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; - this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; - float f4 = 0.99F; - f1 = 0.05F; - - if (this.isInWater()) - { - for (int j1 = 0; j1 < 4; ++j1) - { - f3 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f3, this.posY - this.motionY * (double)f3, this.posZ - this.motionZ * (double)f3, this.motionX, this.motionY, this.motionZ); - } - - f4 = 0.45F; - } - - this.motionX *= (double)f4; - this.motionY *= (double)f4; - this.motionZ *= (double)f4; - this.motionY -= (double)f1; - this.setPosition(this.posX, this.posY, this.posZ); - this.doBlockCollisions(); - } - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - - if (par1NBTTagCompound.hasKey("damage")) - { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if (par1NBTTagCompound.hasKey("pickup")) - { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } - else if (par1NBTTagCompound.hasKey("player")) - { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; - } - } - - /** - * Called by a player entity when they collide with an entity - */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) - { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) - { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - - if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) - { - flag = false; - } - - if (flag) - { - this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to - * prevent them from trampling crops - */ - protected boolean canTriggerWalking() - { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() - { - return 0.0F; - } - - public void setDamage(double par1) - { - this.damage = par1; - } - - public double getDamage() - { - return this.damage; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int par1) - { - this.knockbackStrength = par1; - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - public boolean canAttackWithItem() - { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public void setIsCritical(boolean par1) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } - else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public boolean getIsCritical() - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - @Override - public Entity getThrower() - { - return shootingEntity; - } - - @Override - public void setThrower(Entity entity) - { - shootingEntity = entity; - } - - @Override - public String getTexture() - { - return "/mods/Atum/textures/projectiles/arrows_poison.png"; - } + var24 = 0.45F; + } + + super.motionX *= (double)var24; + super.motionY *= (double)var24; + super.motionZ *= (double)var24; + super.motionY -= (double)f1; + this.setPosition(super.posX, super.posY, super.posZ); + this.doBlockCollisions(); + } + + } + + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short)this.xTile); + par1NBTTagCompound.setShort("yTile", (short)this.yTile); + par1NBTTagCompound.setShort("zTile", (short)this.zTile); + par1NBTTagCompound.setByte("inTile", (byte)this.inTile); + par1NBTTagCompound.setByte("inData", (byte)this.inData); + par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte)(this.inGround?1:0)); + par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); + par1NBTTagCompound.setDouble("damage", this.damage); + } + + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inData = par1NBTTagCompound.getByte("inData") & 255; + this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + if(par1NBTTagCompound.hasKey("damage")) { + this.damage = par1NBTTagCompound.getDouble("damage"); + } + + if(par1NBTTagCompound.hasKey("pickup")) { + this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); + } else if(par1NBTTagCompound.hasKey("player")) { + this.canBePickedUp = par1NBTTagCompound.getBoolean("player")?1:0; + } + + } + + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if(!super.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; + if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { + flag = false; + } + + if(flag) { + this.playSound("random.pop", 0.2F, ((super.rand.nextFloat() - super.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + par1EntityPlayer.onItemPickup(this, 1); + this.setDead(); + } + } + + } + + protected boolean canTriggerWalking() { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() { + return 0.0F; + } + + public void setDamage(double par1) { + this.damage = par1; + } + + public double getDamage() { + return this.damage; + } + + public void setKnockbackStrength(int par1) { + this.knockbackStrength = par1; + } + + public boolean canAttackWithItem() { + return false; + } + + public void setIsCritical(boolean par1) { + byte b0 = super.dataWatcher.getWatchableObjectByte(16); + if(par1) { + super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); + } else { + super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); + } + + } + + public boolean getIsCritical() { + byte b0 = super.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } + + public Entity getThrower() { + return this.shootingEntity; + } + + public void setThrower(Entity entity) { + this.shootingEntity = entity; + } + + public String getTexture() { + return "/mods/Atum/textures/projectiles/arrows_poison.png"; + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowQuickdraw.java b/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowQuickdraw.java index ac852ce..9a46c94 100644 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowQuickdraw.java +++ b/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowQuickdraw.java @@ -2,12 +2,11 @@ import java.util.List; -import rebelkeithy.mods.particleregistry.ParticleRegistry; - import net.minecraft.block.Block; import net.minecraft.enchantment.EnchantmentThorns; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.IProjectile; import net.minecraft.entity.monster.EntityEnderman; import net.minecraft.entity.player.EntityPlayer; @@ -16,605 +15,450 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.packet.Packet70GameEvent; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; +import rebelkeithy.mods.particleregistry.ParticleRegistry; import cpw.mods.fml.common.registry.IThrowableEntity; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class EntityArrowQuickdraw extends CustomArrow implements IProjectile, IThrowableEntity -{ - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private int inTile = 0; - private int inData = 0; - private boolean inGround = false; - - /** 1 if the player can pick up the arrow */ - public int canBePickedUp = 0; - - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake = 0; - - /** The owner of this arrow. */ - public Entity shootingEntity; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - - /** The amount of knockback an arrow applies when it hits a mob. */ - private int knockbackStrength; - - public EntityArrowQuickdraw(World par1World) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - } - - public EntityArrowQuickdraw(World par1World, double par2, double par4, double par6) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - this.yOffset = 0.0F; - } - - public EntityArrowQuickdraw(World par1World, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - this.posY; - double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); - - if (d3 >= 1.0E-7D) - { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); - } - } - - public EntityArrowQuickdraw(World par1World, EntityLiving par2EntityLiving, float par3) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.posY -= 0.10000000149011612D; - this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); - } - - protected void entityInit() - { - this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. - */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) - { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par3 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par5 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) - { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the velocity to the args. Args: x, y, z - */ - public void setVelocity(double par1, double par3, double par5) - { - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.ticksInGround = 0; - } - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() - { - super.onUpdate(); - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); - } - - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - - if (i > 0) - { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) - { - this.inGround = true; - } - } - - if (this.arrowShake > 0) - { - --this.arrowShake; - } - - if (this.inGround) - { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - - if (j == this.inTile && k == this.inData) - { - ++this.ticksInGround; - - if (this.ticksInGround == 1200) - { - this.setDead(); - } - } - else - { - this.inGround = false; - this.motionX *= (double)(this.rand.nextFloat() * 0.2F); - this.motionY *= (double)(this.rand.nextFloat() * 0.2F); - this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } - else - { - ++this.ticksInAir; - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) - { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - int l; - float f1; - - for (l = 0; l < list.size(); ++l) - { - Entity entity1 = (Entity)list.get(l); - - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) - { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - - if (movingobjectposition1 != null) - { - double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - - if (d1 < d0 || d0 == 0.0D) - { - entity = entity1; - d0 = d1; - } - } - } +public class EntityArrowQuickdraw extends CustomArrow implements IProjectile, IThrowableEntity { + + private int xTile = -1; + private int yTile = -1; + private int zTile = -1; + private int inTile = 0; + private int inData = 0; + private boolean inGround = false; + public int canBePickedUp = 0; + public int arrowShake = 0; + public Entity shootingEntity; + private int ticksInGround; + private int ticksInAir = 0; + private double damage = 2.0D; + private int knockbackStrength; + + + public EntityArrowQuickdraw(World par1World) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + } + + public EntityArrowQuickdraw(World par1World, double par2, double par4, double par6) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.setPosition(par2, par4, par6); + super.yOffset = 0.0F; + } + + public EntityArrowQuickdraw(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + super.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + double d0 = par3EntityLiving.posX - par2EntityLiving.posX; + double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - super.posY; + double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; + double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); + if(d3 >= 1.0E-7D) { + float f2 = (float)(Math.atan2(d2, d0) * 180.0D / 3.141592653589793D) - 90.0F; + float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / 3.141592653589793D)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(par2EntityLiving.posX + d4, super.posY, par2EntityLiving.posZ + d5, f2, f3); + super.yOffset = 0.0F; + float f4 = (float)d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); + } + + } + + public EntityArrowQuickdraw(World par1World, EntityLivingBase par2EntityLiving, float par3) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.setSize(0.5F, 0.5F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + super.posX -= (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); + super.posY -= 0.10000000149011612D; + super.posZ -= (double)(MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); + this.setPosition(super.posX, super.posY, super.posZ); + super.yOffset = 0.0F; + super.motionX = (double)(-MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); + super.motionZ = (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); + super.motionY = (double)(-MathHelper.sin(super.rotationPitch / 180.0F * 3.1415927F)); + this.setThrowableHeading(super.motionX, super.motionY, super.motionZ, par3 * 1.5F, 1.0F); + } + + protected void entityInit() { + super.dataWatcher.addObject(16, Byte.valueOf((byte)0)); + } + + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double)f2; + par3 /= (double)f2; + par5 /= (double)f2; + par1 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; + par3 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; + par5 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; + par1 *= (double)par7; + par3 *= (double)par7; + par5 *= (double)par7; + super.motionX = par1; + super.motionY = par3; + super.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / 3.141592653589793D); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { + this.setPosition(par1, par3, par5); + this.setRotation(par7, par8); + } + + @SideOnly(Side.CLIENT) + public void setVelocity(double par1, double par3, double par5) { + super.motionX = par1; + super.motionY = par3; + super.motionZ = par5; + if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch; + super.prevRotationYaw = super.rotationYaw; + this.setLocationAndAngles(super.posX, super.posY, super.posZ, super.rotationYaw, super.rotationPitch); + this.ticksInGround = 0; + } + + } + + public void onUpdate() { + super.onUpdate(); + if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { + float i = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); + super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(super.motionY, (double)i) * 180.0D / 3.141592653589793D); + } + + int var16 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + if(var16 > 0) { + Block.blocksList[var16].setBlockBoundsBasedOnState(super.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB vec3 = Block.blocksList[var16].getCollisionBoundingBoxFromPool(super.worldObj, this.xTile, this.yTile, this.zTile); + if(vec3 != null && vec3.isVecInside(super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ))) { + this.inGround = true; + } + } + + if(this.arrowShake > 0) { + --this.arrowShake; + } + + if(this.inGround) { + int var17 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + int vec31 = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + if(var17 == this.inTile && vec31 == this.inData) { + ++this.ticksInGround; + if(this.ticksInGround == 1200) { + this.setDead(); } - - if (entity != null) - { - movingobjectposition = new MovingObjectPosition(entity); + } else { + this.inGround = false; + super.motionX *= (double)(super.rand.nextFloat() * 0.2F); + super.motionY *= (double)(super.rand.nextFloat() * 0.2F); + super.motionZ *= (double)(super.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } + } else { + ++this.ticksInAir; + Vec3 var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); + Vec3 var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); + MovingObjectPosition movingobjectposition = super.worldObj.rayTraceBlocks_do_do(var18, var19, false, true); + var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); + var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); + if(movingobjectposition != null) { + var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = super.worldObj.getEntitiesWithinAABBExcludingEntity(this, super.boundingBox.addCoord(super.motionX, super.motionY, super.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + + int l; + float f1; + for(l = 0; l < list.size(); ++l) { + Entity f2 = (Entity)list.get(l); + if(f2.canBeCollidedWith() && (f2 != this.shootingEntity || this.ticksInAir >= 5)) { + f1 = 0.3F; + AxisAlignedBB f3 = f2.boundingBox.expand((double)f1, (double)f1, (double)f1); + MovingObjectPosition f4 = f3.calculateIntercept(var18, var19); + if(f4 != null) { + double j1 = var18.distanceTo(f4.hitVec); + if(j1 < d0 || d0 == 0.0D) { + entity = f2; + d0 = j1; + } + } } + } - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) - { - EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; + if(entity != null) { + movingobjectposition = new MovingObjectPosition(entity); + } - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).func_96122_a(entityplayer)) - { - movingobjectposition = null; - } + if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer var20 = (EntityPlayer)movingobjectposition.entityHit; + if(var20.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(var20)) { + movingobjectposition = null; } - - float f2; - float f3; - - if (movingobjectposition != null) - { - if (movingobjectposition.entityHit != null) - { - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double)f2 * this.damage); - - if (this.getIsCritical()) - { - i1 += this.rand.nextInt(i1 / 2 + 2); - } - - DamageSource damagesource = null; - - if (this.shootingEntity == null) - { - damagesource = DamageSource.causeThrownDamage(this, this); - } - else - { - damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) - { - movingobjectposition.entityHit.setFire(5); - } - - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) - { - if (movingobjectposition.entityHit instanceof EntityLiving) - { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; - - if (!this.worldObj.isRemote) - { - entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); - } - - if (this.knockbackStrength > 0) - { - f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - - if (f3 > 0.0F) - { - movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3); - } - } - - if (this.shootingEntity != null) - { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); - } - - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) - { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); - } - } - - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - - if (!(movingobjectposition.entityHit instanceof EntityEnderman)) - { - this.setDead(); + } + + float var21; + float var22; + if(movingobjectposition != null) { + if(movingobjectposition.entityHit != null) { + var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); + int var23 = MathHelper.ceiling_double_int((double)var22 * this.damage); + if(this.getIsCritical()) { + var23 += super.rand.nextInt(var23 / 2 + 2); + } + + DamageSource var24 = null; + if(this.shootingEntity == null) { + var24 = DamageSource.causeThrownDamage(this, this); + } else { + var24 = DamageSource.causeThrownDamage(this, this.shootingEntity); + } + + if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + movingobjectposition.entityHit.setFire(5); + } + + if(movingobjectposition.entityHit.attackEntityFrom(var24, var23)) { + if(movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; + if(!super.worldObj.isRemote) { + entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); + } + + if(this.knockbackStrength > 0) { + var21 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); + if(var21 > 0.0F) { + movingobjectposition.entityHit.addVelocity(super.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21, 0.1D, super.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21); } - } - else - { - this.motionX *= -0.10000000149011612D; - this.motionY *= -0.10000000149011612D; - this.motionZ *= -0.10000000149011612D; - this.rotationYaw += 180.0F; - this.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } - else - { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ)); - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double)f2 * 0.05000000074505806D; - this.posY -= this.motionY / (double)f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / (double)f2 * 0.05000000074505806D; - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - - if (this.inTile != 0) - { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } + } + + if(this.shootingEntity != null) { + EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, super.rand); + } + + if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + } + } + + this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); + if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { + this.setDead(); + } + } else { + super.motionX *= -0.10000000149011612D; + super.motionY *= -0.10000000149011612D; + super.motionZ *= -0.10000000149011612D; + super.rotationYaw += 180.0F; + super.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } else { + this.xTile = movingobjectposition.blockX; + this.yTile = movingobjectposition.blockY; + this.zTile = movingobjectposition.blockZ; + this.inTile = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inData = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + super.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - super.posX)); + super.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - super.posY)); + super.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - super.posZ)); + var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); + super.posX -= super.motionX / (double)var22 * 0.05000000074505806D; + super.posY -= super.motionY / (double)var22 * 0.05000000074505806D; + super.posZ -= super.motionZ / (double)var22 * 0.05000000074505806D; + this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); + this.inGround = true; + this.arrowShake = 7; + this.setIsCritical(false); + if(this.inTile != 0) { + Block.blocksList[this.inTile].onEntityCollidedWithBlock(super.worldObj, this.xTile, this.yTile, this.zTile, this); + } } + } - if (this.getIsCritical() && worldObj.isRemote) - { - for (l = 0; l < 4; ++l) - { - //this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); - ParticleRegistry.spawnParticle("coloredcrit", worldObj, this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ, 0.9, 0.6, 0.5); - } + if(this.getIsCritical() && super.worldObj.isRemote) { + for(l = 0; l < 4; ++l) { + ParticleRegistry.spawnParticle("coloredcrit", super.worldObj, super.posX + super.motionX * (double)l / 4.0D, super.posY + super.motionY * (double)l / 4.0D, super.posZ + super.motionZ * (double)l / 4.0D, -super.motionX, -super.motionY + 0.2D, -super.motionZ, 0.9D, 0.6D, 0.5D); } - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { - this.prevRotationYaw -= 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { - this.prevRotationYaw += 360.0F; + } + + super.posX += super.motionX; + super.posY += super.motionY; + super.posZ += super.motionZ; + var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); + super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); + + for(super.rotationPitch = (float)(Math.atan2(super.motionY, (double)var22) * 180.0D / 3.141592653589793D); super.rotationPitch - super.prevRotationPitch < -180.0F; super.prevRotationPitch -= 360.0F) { + ; + } + + while(super.rotationPitch - super.prevRotationPitch >= 180.0F) { + super.prevRotationPitch += 360.0F; + } + + while(super.rotationYaw - super.prevRotationYaw < -180.0F) { + super.prevRotationYaw -= 360.0F; + } + + while(super.rotationYaw - super.prevRotationYaw >= 180.0F) { + super.prevRotationYaw += 360.0F; + } + + super.rotationPitch = super.prevRotationPitch + (super.rotationPitch - super.prevRotationPitch) * 0.2F; + super.rotationYaw = super.prevRotationYaw + (super.rotationYaw - super.prevRotationYaw) * 0.2F; + float var25 = 0.99F; + f1 = 0.05F; + if(this.isInWater()) { + for(int var26 = 0; var26 < 4; ++var26) { + var21 = 0.25F; + super.worldObj.spawnParticle("bubble", super.posX - super.motionX * (double)var21, super.posY - super.motionY * (double)var21, super.posZ - super.motionZ * (double)var21, super.motionX, super.motionY, super.motionZ); } - this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; - this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; - float f4 = 0.99F; - f1 = 0.05F; - - if (this.isInWater()) - { - for (int j1 = 0; j1 < 4; ++j1) - { - f3 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f3, this.posY - this.motionY * (double)f3, this.posZ - this.motionZ * (double)f3, this.motionX, this.motionY, this.motionZ); - } - - f4 = 0.45F; - } - - this.motionX *= (double)f4; - this.motionY *= (double)f4; - this.motionZ *= (double)f4; - this.motionY -= (double)f1; - this.setPosition(this.posX, this.posY, this.posZ); - this.doBlockCollisions(); - } - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - - if (par1NBTTagCompound.hasKey("damage")) - { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if (par1NBTTagCompound.hasKey("pickup")) - { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } - else if (par1NBTTagCompound.hasKey("player")) - { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; - } - } - - /** - * Called by a player entity when they collide with an entity - */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) - { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) - { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - - if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) - { - flag = false; - } - - if (flag) - { - this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to - * prevent them from trampling crops - */ - protected boolean canTriggerWalking() - { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() - { - return 0.0F; - } - - public void setDamage(double par1) - { - this.damage = par1; - } - - public double getDamage() - { - return this.damage; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int par1) - { - this.knockbackStrength = par1; - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - public boolean canAttackWithItem() - { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public void setIsCritical(boolean par1) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } - else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public boolean getIsCritical() - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - @Override - public Entity getThrower() - { - return shootingEntity; - } - - @Override - public void setThrower(Entity entity) - { - shootingEntity = entity; - } - - @Override - public String getTexture() - { - return "/mods/Atum/textures/projectiles/arrows_quickdraw.png"; - } + var25 = 0.45F; + } + + super.motionX *= (double)var25; + super.motionY *= (double)var25; + super.motionZ *= (double)var25; + super.motionY -= (double)f1; + this.setPosition(super.posX, super.posY, super.posZ); + this.doBlockCollisions(); + } + + } + + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short)this.xTile); + par1NBTTagCompound.setShort("yTile", (short)this.yTile); + par1NBTTagCompound.setShort("zTile", (short)this.zTile); + par1NBTTagCompound.setByte("inTile", (byte)this.inTile); + par1NBTTagCompound.setByte("inData", (byte)this.inData); + par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte)(this.inGround?1:0)); + par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); + par1NBTTagCompound.setDouble("damage", this.damage); + } + + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inData = par1NBTTagCompound.getByte("inData") & 255; + this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + if(par1NBTTagCompound.hasKey("damage")) { + this.damage = par1NBTTagCompound.getDouble("damage"); + } + + if(par1NBTTagCompound.hasKey("pickup")) { + this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); + } else if(par1NBTTagCompound.hasKey("player")) { + this.canBePickedUp = par1NBTTagCompound.getBoolean("player")?1:0; + } + + } + + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if(!super.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; + if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { + flag = false; + } + + if(flag) { + this.playSound("random.pop", 0.2F, ((super.rand.nextFloat() - super.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + par1EntityPlayer.onItemPickup(this, 1); + this.setDead(); + } + } + + } + + protected boolean canTriggerWalking() { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() { + return 0.0F; + } + + public void setDamage(double par1) { + this.damage = par1; + } + + public double getDamage() { + return this.damage; + } + + public void setKnockbackStrength(int par1) { + this.knockbackStrength = par1; + } + + public boolean canAttackWithItem() { + return false; + } + + public void setIsCritical(boolean par1) { + byte b0 = super.dataWatcher.getWatchableObjectByte(16); + if(par1) { + super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); + } else { + super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); + } + + } + + public boolean getIsCritical() { + byte b0 = super.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } + + public Entity getThrower() { + return this.shootingEntity; + } + + public void setThrower(Entity entity) { + this.shootingEntity = entity; + } + + public String getTexture() { + return "/mods/Atum/textures/projectiles/arrows_quickdraw.png"; + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowVelocity.java b/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowVelocity.java index 93ea0d4..1dfa2c3 100644 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowVelocity.java +++ b/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowVelocity.java @@ -2,12 +2,11 @@ import java.util.List; -import rebelkeithy.mods.particleregistry.ParticleRegistry; - import net.minecraft.block.Block; import net.minecraft.enchantment.EnchantmentThorns; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.IProjectile; import net.minecraft.entity.monster.EntityEnderman; import net.minecraft.entity.player.EntityPlayer; @@ -22,597 +21,444 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; +import rebelkeithy.mods.particleregistry.ParticleRegistry; import cpw.mods.fml.common.registry.IThrowableEntity; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class EntityArrowVelocity extends CustomArrow implements IProjectile, IThrowableEntity -{ - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private int inTile = 0; - private int inData = 0; - private boolean inGround = false; - - /** 1 if the player can pick up the arrow */ - public int canBePickedUp = 0; - - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake = 0; - - /** The owner of this arrow. */ - public Entity shootingEntity; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - - /** The amount of knockback an arrow applies when it hits a mob. */ - private int knockbackStrength; - - public EntityArrowVelocity(World par1World) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - } - - public EntityArrowVelocity(World par1World, double par2, double par4, double par6) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - this.yOffset = 0.0F; - } - - public EntityArrowVelocity(World par1World, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - this.posY; - double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); - - if (d3 >= 1.0E-7D) - { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); - } - } - - public EntityArrowVelocity(World par1World, EntityLiving par2EntityLiving, float par3) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.posY -= 0.10000000149011612D; - this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); - } - - protected void entityInit() - { - this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. - */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) - { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par3 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par5 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) - { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the velocity to the args. Args: x, y, z - */ - public void setVelocity(double par1, double par3, double par5) - { - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.ticksInGround = 0; - } - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() - { - super.onUpdate(); - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); - } - - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - - if (i > 0) - { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) - { - this.inGround = true; - } - } - - if (this.arrowShake > 0) - { - --this.arrowShake; - } - - if (this.inGround) - { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - - if (j == this.inTile && k == this.inData) - { - ++this.ticksInGround; - - if (this.ticksInGround == 1200) - { - this.setDead(); - } - } - else - { - this.inGround = false; - this.motionX *= (double)(this.rand.nextFloat() * 0.2F); - this.motionY *= (double)(this.rand.nextFloat() * 0.2F); - this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } - else - { - ++this.ticksInAir; - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) - { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - int l; - float f1; - - for (l = 0; l < list.size(); ++l) - { - Entity entity1 = (Entity)list.get(l); - - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) - { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - - if (movingobjectposition1 != null) - { - double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - - if (d1 < d0 || d0 == 0.0D) - { - entity = entity1; - d0 = d1; - } - } - } +public class EntityArrowVelocity extends CustomArrow implements IProjectile, IThrowableEntity { + + private int xTile = -1; + private int yTile = -1; + private int zTile = -1; + private int inTile = 0; + private int inData = 0; + private boolean inGround = false; + public int canBePickedUp = 0; + public int arrowShake = 0; + public Entity shootingEntity; + private int ticksInGround; + private int ticksInAir = 0; + private double damage = 2.0D; + private int knockbackStrength; + + + public EntityArrowVelocity(World par1World) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + } + + public EntityArrowVelocity(World par1World, double par2, double par4, double par6) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.setPosition(par2, par4, par6); + super.yOffset = 0.0F; + } + + public EntityArrowVelocity(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + super.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + double d0 = par3EntityLiving.posX - par2EntityLiving.posX; + double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - super.posY; + double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; + double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); + if(d3 >= 1.0E-7D) { + float f2 = (float)(Math.atan2(d2, d0) * 180.0D / 3.141592653589793D) - 90.0F; + float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / 3.141592653589793D)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(par2EntityLiving.posX + d4, super.posY, par2EntityLiving.posZ + d5, f2, f3); + super.yOffset = 0.0F; + float f4 = (float)d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); + } + + } + + public EntityArrowVelocity(World par1World, EntityLivingBase par2EntityLiving, float par3) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.setSize(0.5F, 0.5F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + super.posX -= (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); + super.posY -= 0.10000000149011612D; + super.posZ -= (double)(MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); + this.setPosition(super.posX, super.posY, super.posZ); + super.yOffset = 0.0F; + super.motionX = (double)(-MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); + super.motionZ = (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); + super.motionY = (double)(-MathHelper.sin(super.rotationPitch / 180.0F * 3.1415927F)); + this.setThrowableHeading(super.motionX, super.motionY, super.motionZ, par3 * 1.5F, 1.0F); + } + + protected void entityInit() { + super.dataWatcher.addObject(16, Byte.valueOf((byte)0)); + } + + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double)f2; + par3 /= (double)f2; + par5 /= (double)f2; + par1 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; + par3 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; + par5 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; + par1 *= (double)par7; + par3 *= (double)par7; + par5 *= (double)par7; + super.motionX = par1; + super.motionY = par3; + super.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / 3.141592653589793D); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { + this.setPosition(par1, par3, par5); + this.setRotation(par7, par8); + } + + @SideOnly(Side.CLIENT) + public void setVelocity(double par1, double par3, double par5) { + super.motionX = par1; + super.motionY = par3; + super.motionZ = par5; + if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch; + super.prevRotationYaw = super.rotationYaw; + this.setLocationAndAngles(super.posX, super.posY, super.posZ, super.rotationYaw, super.rotationPitch); + this.ticksInGround = 0; + } + + } + + public void onUpdate() { + super.onUpdate(); + if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { + float i = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); + super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(super.motionY, (double)i) * 180.0D / 3.141592653589793D); + } + + int var16 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + if(var16 > 0) { + Block.blocksList[var16].setBlockBoundsBasedOnState(super.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB vec3 = Block.blocksList[var16].getCollisionBoundingBoxFromPool(super.worldObj, this.xTile, this.yTile, this.zTile); + if(vec3 != null && vec3.isVecInside(super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ))) { + this.inGround = true; + } + } + + if(this.arrowShake > 0) { + --this.arrowShake; + } + + if(this.inGround) { + int var17 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + int vec31 = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + if(var17 == this.inTile && vec31 == this.inData) { + ++this.ticksInGround; + if(this.ticksInGround == 1200) { + this.setDead(); } - - if (entity != null) - { - movingobjectposition = new MovingObjectPosition(entity); + } else { + this.inGround = false; + super.motionX *= (double)(super.rand.nextFloat() * 0.2F); + super.motionY *= (double)(super.rand.nextFloat() * 0.2F); + super.motionZ *= (double)(super.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } + } else { + ++this.ticksInAir; + Vec3 var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); + Vec3 var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); + MovingObjectPosition movingobjectposition = super.worldObj.rayTraceBlocks_do_do(var18, var19, false, true); + var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); + var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); + if(movingobjectposition != null) { + var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = super.worldObj.getEntitiesWithinAABBExcludingEntity(this, super.boundingBox.addCoord(super.motionX, super.motionY, super.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + + int l; + float f1; + for(l = 0; l < list.size(); ++l) { + Entity f2 = (Entity)list.get(l); + if(f2.canBeCollidedWith() && (f2 != this.shootingEntity || this.ticksInAir >= 5)) { + f1 = 0.3F; + AxisAlignedBB f3 = f2.boundingBox.expand((double)f1, (double)f1, (double)f1); + MovingObjectPosition f4 = f3.calculateIntercept(var18, var19); + if(f4 != null) { + double j1 = var18.distanceTo(f4.hitVec); + if(j1 < d0 || d0 == 0.0D) { + entity = f2; + d0 = j1; + } + } } + } - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) - { - EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; + if(entity != null) { + movingobjectposition = new MovingObjectPosition(entity); + } - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).func_96122_a(entityplayer)) - { - movingobjectposition = null; - } + if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer var20 = (EntityPlayer)movingobjectposition.entityHit; + if(var20.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(var20)) { + movingobjectposition = null; } - - float f2; - float f3; - - if (movingobjectposition != null) - { - if (movingobjectposition.entityHit != null) - { - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double)f2 * this.damage); - - if (this.getIsCritical()) - { - i1 += this.rand.nextInt(i1 / 2 + 2); - } - - DamageSource damagesource = null; - - if (this.shootingEntity == null) - { - damagesource = DamageSource.causeThrownDamage(this, this); - } - else - { - damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) - { - movingobjectposition.entityHit.setFire(5); - } - - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) - { - if (movingobjectposition.entityHit instanceof EntityLiving) - { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; - - if (!this.worldObj.isRemote) - { - entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); - } - - if (this.knockbackStrength > 0) - { - f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - - if (f3 > 0.0F) - { - movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3); - } - } - - if (this.shootingEntity != null) - { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); - } - - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) - { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); - } - } - - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - - if (!(movingobjectposition.entityHit instanceof EntityEnderman)) - { - this.setDead(); + } + + float var21; + float var22; + if(movingobjectposition != null) { + if(movingobjectposition.entityHit != null) { + var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); + int var23 = MathHelper.ceiling_double_int((double)var22 * this.damage); + if(this.getIsCritical()) { + var23 += super.rand.nextInt(var23 / 2 + 2); + } + + DamageSource var24 = null; + if(this.shootingEntity == null) { + var24 = DamageSource.causeThrownDamage(this, this); + } else { + var24 = DamageSource.causeThrownDamage(this, this.shootingEntity); + } + + if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + movingobjectposition.entityHit.setFire(5); + } + + if(movingobjectposition.entityHit.attackEntityFrom(var24, var23)) { + if(movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; + if(!super.worldObj.isRemote) { + entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); + } + + if(this.knockbackStrength > 0) { + var21 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); + if(var21 > 0.0F) { + movingobjectposition.entityHit.addVelocity(super.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21, 0.1D, super.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21); } - } - else - { - this.motionX *= -0.10000000149011612D; - this.motionY *= -0.10000000149011612D; - this.motionZ *= -0.10000000149011612D; - this.rotationYaw += 180.0F; - this.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } - else - { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ)); - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double)f2 * 0.05000000074505806D; - this.posY -= this.motionY / (double)f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / (double)f2 * 0.05000000074505806D; - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - - if (this.inTile != 0) - { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } + } + + if(this.shootingEntity != null) { + EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, super.rand); + } + + if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + } + } + + this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); + if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { + this.setDead(); + } + } else { + super.motionX *= -0.10000000149011612D; + super.motionY *= -0.10000000149011612D; + super.motionZ *= -0.10000000149011612D; + super.rotationYaw += 180.0F; + super.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } else { + this.xTile = movingobjectposition.blockX; + this.yTile = movingobjectposition.blockY; + this.zTile = movingobjectposition.blockZ; + this.inTile = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inData = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + super.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - super.posX)); + super.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - super.posY)); + super.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - super.posZ)); + var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); + super.posX -= super.motionX / (double)var22 * 0.05000000074505806D; + super.posY -= super.motionY / (double)var22 * 0.05000000074505806D; + super.posZ -= super.motionZ / (double)var22 * 0.05000000074505806D; + this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); + this.inGround = true; + this.arrowShake = 7; + this.setIsCritical(false); + if(this.inTile != 0) { + Block.blocksList[this.inTile].onEntityCollidedWithBlock(super.worldObj, this.xTile, this.yTile, this.zTile, this); + } } + } - if (this.getIsCritical() && worldObj.isRemote) - { - for (l = 0; l < 4; ++l) - { - //this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); - ParticleRegistry.spawnParticle("coloredcrit", worldObj, this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ, 0.2, 0.2, 0.2); - } + if(this.getIsCritical() && super.worldObj.isRemote) { + for(l = 0; l < 4; ++l) { + ParticleRegistry.spawnParticle("coloredcrit", super.worldObj, super.posX + super.motionX * (double)l / 4.0D, super.posY + super.motionY * (double)l / 4.0D, super.posZ + super.motionZ * (double)l / 4.0D, -super.motionX, -super.motionY + 0.2D, -super.motionZ, 0.2D, 0.2D, 0.2D); } - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { - this.prevRotationYaw -= 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { - this.prevRotationYaw += 360.0F; + } + + super.posX += super.motionX; + super.posY += super.motionY; + super.posZ += super.motionZ; + var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); + super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); + + for(super.rotationPitch = (float)(Math.atan2(super.motionY, (double)var22) * 180.0D / 3.141592653589793D); super.rotationPitch - super.prevRotationPitch < -180.0F; super.prevRotationPitch -= 360.0F) { + ; + } + + while(super.rotationPitch - super.prevRotationPitch >= 180.0F) { + super.prevRotationPitch += 360.0F; + } + + while(super.rotationYaw - super.prevRotationYaw < -180.0F) { + super.prevRotationYaw -= 360.0F; + } + + while(super.rotationYaw - super.prevRotationYaw >= 180.0F) { + super.prevRotationYaw += 360.0F; + } + + super.rotationPitch = super.prevRotationPitch + (super.rotationPitch - super.prevRotationPitch) * 0.2F; + super.rotationYaw = super.prevRotationYaw + (super.rotationYaw - super.prevRotationYaw) * 0.2F; + float var25 = 0.99F; + f1 = 0.05F; + if(this.isInWater()) { + for(int var26 = 0; var26 < 4; ++var26) { + var21 = 0.5F; + super.worldObj.spawnParticle("bubble", super.posX - super.motionX * (double)var21, super.posY - super.motionY * (double)var21, super.posZ - super.motionZ * (double)var21, super.motionX, super.motionY, super.motionZ); } - this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; - this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; - float f4 = 0.99F; - f1 = 0.05F; - - if (this.isInWater()) - { - for (int j1 = 0; j1 < 4; ++j1) - { - f3 = 0.5F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f3, this.posY - this.motionY * (double)f3, this.posZ - this.motionZ * (double)f3, this.motionX, this.motionY, this.motionZ); - } - - f4 = 0.9F; - } - - this.motionX *= (double)f4; - this.motionY *= (double)f4; - this.motionZ *= (double)f4; - this.motionY -= (double)Math.min(0.05, f1/(motionX*motionX + motionZ*motionZ)); - this.setPosition(this.posX, this.posY, this.posZ); - this.doBlockCollisions(); - } - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - - if (par1NBTTagCompound.hasKey("damage")) - { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if (par1NBTTagCompound.hasKey("pickup")) - { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } - else if (par1NBTTagCompound.hasKey("player")) - { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; - } - } - - /** - * Called by a player entity when they collide with an entity - */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) - { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) - { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - - if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) - { - flag = false; - } - - if (flag) - { - this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to - * prevent them from trampling crops - */ - protected boolean canTriggerWalking() - { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() - { - return 0.0F; - } - - public void setDamage(double par1) - { - this.damage = par1; - } - - public double getDamage() - { - return this.damage; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int par1) - { - this.knockbackStrength = par1; - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - public boolean canAttackWithItem() - { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public void setIsCritical(boolean par1) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } - else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public boolean getIsCritical() - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - @Override - public Entity getThrower() - { - return shootingEntity; - } - - @Override - public void setThrower(Entity entity) - { - shootingEntity = entity; - } - - @Override - public String getTexture() - { - return "/mods/Atum/textures/projectiles/arrows_velocity.png"; - } + var25 = 0.9F; + } + + super.motionX *= (double)var25; + super.motionY *= (double)var25; + super.motionZ *= (double)var25; + super.motionY -= Math.min(0.05D, (double)f1 / (super.motionX * super.motionX + super.motionZ * super.motionZ)); + this.setPosition(super.posX, super.posY, super.posZ); + this.doBlockCollisions(); + } + + } + + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short)this.xTile); + par1NBTTagCompound.setShort("yTile", (short)this.yTile); + par1NBTTagCompound.setShort("zTile", (short)this.zTile); + par1NBTTagCompound.setByte("inTile", (byte)this.inTile); + par1NBTTagCompound.setByte("inData", (byte)this.inData); + par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte)(this.inGround?1:0)); + par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); + par1NBTTagCompound.setDouble("damage", this.damage); + } + + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inData = par1NBTTagCompound.getByte("inData") & 255; + this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + if(par1NBTTagCompound.hasKey("damage")) { + this.damage = par1NBTTagCompound.getDouble("damage"); + } + + if(par1NBTTagCompound.hasKey("pickup")) { + this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); + } else if(par1NBTTagCompound.hasKey("player")) { + this.canBePickedUp = par1NBTTagCompound.getBoolean("player")?1:0; + } + + } + + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if(!super.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; + if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { + flag = false; + } + + if(flag) { + this.playSound("random.pop", 0.2F, ((super.rand.nextFloat() - super.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + par1EntityPlayer.onItemPickup(this, 1); + this.setDead(); + } + } + + } + + protected boolean canTriggerWalking() { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() { + return 0.0F; + } + + public void setDamage(double par1) { + this.damage = par1; + } + + public double getDamage() { + return this.damage; + } + + public void setKnockbackStrength(int par1) { + this.knockbackStrength = par1; + } + + public boolean canAttackWithItem() { + return false; + } + + public void setIsCritical(boolean par1) { + byte b0 = super.dataWatcher.getWatchableObjectByte(16); + if(par1) { + super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); + } else { + super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); + } + + } + + public boolean getIsCritical() { + byte b0 = super.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } + + public Entity getThrower() { + return this.shootingEntity; + } + + public void setThrower(Entity entity) { + this.shootingEntity = entity; + } + + public String getTexture() { + return "/mods/Atum/textures/projectiles/arrows_velocity.png"; + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityAtumFishHook.java b/common/rebelkeithy/mods/atum/artifacts/arrow/EntityAtumFishHook.java index 66f37c4..e1cf4a3 100644 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityAtumFishHook.java +++ b/common/rebelkeithy/mods/atum/artifacts/arrow/EntityAtumFishHook.java @@ -1,7 +1,8 @@ package rebelkeithy.mods.atum.artifacts.arrow; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import java.util.List; - import net.minecraft.block.material.Material; import net.minecraft.entity.Entity; import net.minecraft.entity.item.EntityItem; @@ -20,516 +21,400 @@ import net.minecraft.world.World; import rebelkeithy.mods.atum.AtumFish; import rebelkeithy.mods.atum.AtumItems; -import rebelkeithy.mods.atum.AtumConfig; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class EntityAtumFishHook extends EntityFishHook -{ - /** The tile this entity is on, X position */ - private int xTile; - - /** The tile this entity is on, Y position */ - private int yTile; - - /** The tile this entity is on, Z position */ - private int zTile; - private int inTile; - private boolean inGround; - public int shake; - public EntityPlayer angler; - private int ticksInGround; - private int ticksInAir; - - /** the number of ticks remaining until this fish can no longer be caught */ - private int ticksCatchable; - - /** - * The entity that the fishing rod is connected to, if any. When you right click on the fishing rod and the hook - * falls on to an entity, this it that entity. - */ - public Entity bobber; - private int fishPosRotationIncrements; - private double fishX; - private double fishY; - private double fishZ; - private double fishYaw; - private double fishPitch; - @SideOnly(Side.CLIENT) - private double velocityX; - @SideOnly(Side.CLIENT) - private double velocityY; - @SideOnly(Side.CLIENT) - private double velocityZ; - - public EntityAtumFishHook(World par1World) - { - super(par1World); - this.xTile = -1; - this.yTile = -1; - this.zTile = -1; - this.inTile = 0; - this.inGround = false; - this.shake = 0; - this.ticksInAir = 0; - this.ticksCatchable = 0; - this.bobber = null; - this.setSize(0.25F, 0.25F); - this.ignoreFrustumCheck = true; - } - - @SideOnly(Side.CLIENT) - public EntityAtumFishHook(World par1World, double par2, double par4, double par6, EntityPlayer par8EntityPlayer) - { - this(par1World); - this.setPosition(par2, par4, par6); - this.ignoreFrustumCheck = true; - this.angler = par8EntityPlayer; - par8EntityPlayer.fishEntity = this; - } - - public EntityAtumFishHook(World par1World, EntityPlayer par2EntityPlayer) - { - super(par1World); - this.xTile = -1; - this.yTile = -1; - this.zTile = -1; - this.inTile = 0; - this.inGround = false; - this.shake = 0; - this.ticksInAir = 0; - this.ticksCatchable = 0; - this.bobber = null; - this.ignoreFrustumCheck = true; - this.angler = par2EntityPlayer; - this.angler.fishEntity = this; - this.setSize(0.25F, 0.25F); - this.setLocationAndAngles(par2EntityPlayer.posX, par2EntityPlayer.posY + 1.62D - (double)par2EntityPlayer.yOffset, par2EntityPlayer.posZ, par2EntityPlayer.rotationYaw, par2EntityPlayer.rotationPitch); - this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.posY -= 0.10000000149011612D; - this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - float f = 0.4F; - this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI) * f); - this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI) * f); - this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI) * f); - this.calculateVelocity(this.motionX, this.motionY, this.motionZ, 1.5F, 1.0F); - } - - protected void entityInit() {} - - @SideOnly(Side.CLIENT) - - /** - * Checks if the entity is in range to render by using the past in distance and comparing it to its average edge - * length * 64 * renderDistanceWeight Args: distance - */ - public boolean isInRangeToRenderDist(double par1) - { - double d1 = this.boundingBox.getAverageEdgeLength() * 4.0D; - d1 *= 64.0D; - return par1 < d1 * d1; - } - - public void calculateVelocity(double par1, double par3, double par5, float par7, float par8) - { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += this.rand.nextGaussian() * 0.007499999832361937D * (double)par8; - par3 += this.rand.nextGaussian() * 0.007499999832361937D * (double)par8; - par5 += this.rand.nextGaussian() * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) - { - this.fishX = par1; - this.fishY = par3; - this.fishZ = par5; - this.fishYaw = (double)par7; - this.fishPitch = (double)par8; - this.fishPosRotationIncrements = par9; - this.motionX = this.velocityX; - this.motionY = this.velocityY; - this.motionZ = this.velocityZ; - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the velocity to the args. Args: x, y, z - */ - public void setVelocity(double par1, double par3, double par5) - { - this.velocityX = this.motionX = par1; - this.velocityY = this.motionY = par3; - this.velocityZ = this.motionZ = par5; - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() - { - this.onEntityUpdate(); - - if (this.fishPosRotationIncrements > 0) - { - double d0 = this.posX + (this.fishX - this.posX) / (double)this.fishPosRotationIncrements; - double d1 = this.posY + (this.fishY - this.posY) / (double)this.fishPosRotationIncrements; - double d2 = this.posZ + (this.fishZ - this.posZ) / (double)this.fishPosRotationIncrements; - double d3 = MathHelper.wrapAngleTo180_double(this.fishYaw - (double)this.rotationYaw); - this.rotationYaw = (float)((double)this.rotationYaw + d3 / (double)this.fishPosRotationIncrements); - this.rotationPitch = (float)((double)this.rotationPitch + (this.fishPitch - (double)this.rotationPitch) / (double)this.fishPosRotationIncrements); - --this.fishPosRotationIncrements; - this.setPosition(d0, d1, d2); - this.setRotation(this.rotationYaw, this.rotationPitch); - } - else - { - if (!this.worldObj.isRemote) - { - ItemStack itemstack = this.angler.getCurrentEquippedItem(); - - if (this.angler.isDead || !this.angler.isEntityAlive() || itemstack == null || itemstack.getItem() != AtumItems.anuketsBounty || this.getDistanceSqToEntity(this.angler) > 1024.0D) - { - this.setDead(); - this.angler.fishEntity = null; - return; - } - - if (this.bobber != null) - { - if (!this.bobber.isDead) - { - this.posX = this.bobber.posX; - this.posY = this.bobber.boundingBox.minY + (double)this.bobber.height * 0.8D; - this.posZ = this.bobber.posZ; - return; - } - - this.bobber = null; - } +public class EntityAtumFishHook extends EntityFishHook { + + private int xTile; + private int yTile; + private int zTile; + private int inTile; + private boolean inGround; + public int a; + public EntityPlayer b; + private int ticksInGround; + private int ticksInAir; + private int ticksCatchable; + public Entity c; + private int fishPosRotationIncrements; + private double fishX; + private double fishY; + private double fishZ; + private double fishYaw; + private double fishPitch; + @SideOnly(Side.CLIENT) + private double velocityX; + @SideOnly(Side.CLIENT) + private double velocityY; + @SideOnly(Side.CLIENT) + private double velocityZ; + + + public EntityAtumFishHook(World par1World) { + super(par1World); + this.xTile = -1; + this.yTile = -1; + this.zTile = -1; + this.inTile = 0; + this.inGround = false; + super.shake = 0; + this.ticksInAir = 0; + this.ticksCatchable = 0; + super.bobber = null; + this.setSize(0.25F, 0.25F); + super.ignoreFrustumCheck = true; + } + + @SideOnly(Side.CLIENT) + public EntityAtumFishHook(World par1World, double par2, double par4, double par6, EntityPlayer par8EntityPlayer) { + this(par1World); + this.setPosition(par2, par4, par6); + super.ignoreFrustumCheck = true; + super.angler = par8EntityPlayer; + par8EntityPlayer.fishEntity = this; + } + + public EntityAtumFishHook(World par1World, EntityPlayer par2EntityPlayer) { + super(par1World); + this.xTile = -1; + this.yTile = -1; + this.zTile = -1; + this.inTile = 0; + this.inGround = false; + super.shake = 0; + this.ticksInAir = 0; + this.ticksCatchable = 0; + super.bobber = null; + super.ignoreFrustumCheck = true; + super.angler = par2EntityPlayer; + super.angler.fishEntity = this; + this.setSize(0.25F, 0.25F); + this.setLocationAndAngles(par2EntityPlayer.posX, par2EntityPlayer.posY + 1.62D - (double)par2EntityPlayer.yOffset, par2EntityPlayer.posZ, par2EntityPlayer.rotationYaw, par2EntityPlayer.rotationPitch); + super.posX -= (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); + super.posY -= 0.10000000149011612D; + super.posZ -= (double)(MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); + this.setPosition(super.posX, super.posY, super.posZ); + super.yOffset = 0.0F; + float f = 0.4F; + super.motionX = (double)(-MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F) * f); + super.motionZ = (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F) * f); + super.motionY = (double)(-MathHelper.sin(super.rotationPitch / 180.0F * 3.1415927F) * f); + this.calculateVelocity(super.motionX, super.motionY, super.motionZ, 1.5F, 1.0F); + } + + protected void entityInit() {} + + @SideOnly(Side.CLIENT) + public boolean isInRangeToRenderDist(double par1) { + double d1 = super.boundingBox.getAverageEdgeLength() * 4.0D; + d1 *= 64.0D; + return par1 < d1 * d1; + } + + public void calculateVelocity(double par1, double par3, double par5, float par7, float par8) { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double)f2; + par3 /= (double)f2; + par5 /= (double)f2; + par1 += super.rand.nextGaussian() * 0.007499999832361937D * (double)par8; + par3 += super.rand.nextGaussian() * 0.007499999832361937D * (double)par8; + par5 += super.rand.nextGaussian() * 0.007499999832361937D * (double)par8; + par1 *= (double)par7; + par3 *= (double)par7; + par5 *= (double)par7; + super.motionX = par1; + super.motionY = par3; + super.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / 3.141592653589793D); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { + this.fishX = par1; + this.fishY = par3; + this.fishZ = par5; + this.fishYaw = (double)par7; + this.fishPitch = (double)par8; + this.fishPosRotationIncrements = par9; + super.motionX = this.velocityX; + super.motionY = this.velocityY; + super.motionZ = this.velocityZ; + } + + @SideOnly(Side.CLIENT) + public void setVelocity(double par1, double par3, double par5) { + this.velocityX = super.motionX = par1; + this.velocityY = super.motionY = par3; + this.velocityZ = super.motionZ = par5; + } + + public void onUpdate() { + this.onEntityUpdate(); + if(this.fishPosRotationIncrements > 0) { + double vec3 = super.posX + (this.fishX - super.posX) / (double)this.fishPosRotationIncrements; + double movingobjectposition = super.posY + (this.fishY - super.posY) / (double)this.fishPosRotationIncrements; + double list = super.posZ + (this.fishZ - super.posZ) / (double)this.fishPosRotationIncrements; + double d3 = MathHelper.wrapAngleTo180_double(this.fishYaw - (double)super.rotationYaw); + super.rotationYaw = (float)((double)super.rotationYaw + d3 / (double)this.fishPosRotationIncrements); + super.rotationPitch = (float)((double)super.rotationPitch + (this.fishPitch - (double)super.rotationPitch) / (double)this.fishPosRotationIncrements); + --this.fishPosRotationIncrements; + this.setPosition(vec3, movingobjectposition, list); + this.setRotation(super.rotationYaw, super.rotationPitch); + } else { + if(!super.worldObj.isRemote) { + ItemStack var21 = super.angler.getCurrentEquippedItem(); + if(super.angler.isDead || !super.angler.isEntityAlive() || var21 == null || var21.getItem() != AtumItems.anuketsBounty || this.getDistanceSqToEntity(super.angler) > 1024.0D) { + this.setDead(); + super.angler.fishEntity = null; + return; } - if (this.shake > 0) - { - --this.shake; - } + if(super.bobber != null) { + if(!super.bobber.isDead) { + super.posX = super.bobber.posX; + super.posY = super.bobber.boundingBox.minY + (double)super.bobber.height * 0.8D; + super.posZ = super.bobber.posZ; + return; + } - if (this.inGround) - { - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + super.bobber = null; + } + } - if (i == this.inTile) - { - ++this.ticksInGround; + if(super.shake > 0) { + --super.shake; + } - if (this.ticksInGround == 1200) - { - this.setDead(); - } + if(this.inGround) { + int var22 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + if(var22 == this.inTile) { + ++this.ticksInGround; + if(this.ticksInGround == 1200) { + this.setDead(); + } - return; - } + return; + } - this.inGround = false; - this.motionX *= (double)(this.rand.nextFloat() * 0.2F); - this.motionY *= (double)(this.rand.nextFloat() * 0.2F); - this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; + this.inGround = false; + super.motionX *= (double)(super.rand.nextFloat() * 0.2F); + super.motionY *= (double)(super.rand.nextFloat() * 0.2F); + super.motionZ *= (double)(super.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } else { + ++this.ticksInAir; + } + + Vec3 var23 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); + Vec3 vec31 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); + MovingObjectPosition var24 = this.worldObj.rayTraceBlocks_do_do(var23, vec31, false, false); + var23 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); + vec31 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); + if(var24 != null) { + vec31 = super.worldObj.getWorldVec3Pool().getVecFromPool(var24.hitVec.xCoord, var24.hitVec.yCoord, var24.hitVec.zCoord); + } + + Entity entity = null; + List var25 = super.worldObj.getEntitiesWithinAABBExcludingEntity(this, super.boundingBox.addCoord(super.motionX, super.motionY, super.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d4 = 0.0D; + + double d5; + for(int f1 = 0; f1 < var25.size(); ++f1) { + Entity f2 = (Entity)var25.get(f1); + if(f2.canBeCollidedWith() && (f2 != super.angler || this.ticksInAir >= 5)) { + float b0 = 0.3F; + AxisAlignedBB d6 = f2.boundingBox.expand((double)b0, (double)b0, (double)b0); + MovingObjectPosition movingobjectposition1 = d6.calculateIntercept(var23, vec31); + if(movingobjectposition1 != null) { + d5 = var23.distanceTo(movingobjectposition1.hitVec); + if(d5 < d4 || d4 == 0.0D) { + entity = f2; + d4 = d5; + } + } } - else - { - ++this.ticksInAir; + } + + if(entity != null) { + var24 = new MovingObjectPosition(entity); + } + + if(var24 != null) { + if(var24.entityHit != null) { + if(var24.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, super.angler), 0)) { + super.bobber = var24.entityHit; + } + } else { + this.inGround = true; } + } + + if(!this.inGround) { + this.moveEntity(super.motionX, super.motionY, super.motionZ); + float var27 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); + super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks(vec3, vec31); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + for(super.rotationPitch = (float)(Math.atan2(super.motionY, (double)var27) * 180.0D / 3.141592653589793D); super.rotationPitch - super.prevRotationPitch < -180.0F; super.prevRotationPitch -= 360.0F) { + ; + } - if (movingobjectposition != null) - { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + while(super.rotationPitch - super.prevRotationPitch >= 180.0F) { + super.prevRotationPitch += 360.0F; } - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d4 = 0.0D; - double d5; - - for (int j = 0; j < list.size(); ++j) - { - Entity entity1 = (Entity)list.get(j); - - if (entity1.canBeCollidedWith() && (entity1 != this.angler || this.ticksInAir >= 5)) - { - float f = 0.3F; - AxisAlignedBB axisalignedbb = entity1.boundingBox.expand((double)f, (double)f, (double)f); - MovingObjectPosition movingobjectposition1 = axisalignedbb.calculateIntercept(vec3, vec31); - - if (movingobjectposition1 != null) - { - d5 = vec3.distanceTo(movingobjectposition1.hitVec); - - if (d5 < d4 || d4 == 0.0D) - { - entity = entity1; - d4 = d5; - } - } - } + while(super.rotationYaw - super.prevRotationYaw < -180.0F) { + super.prevRotationYaw -= 360.0F; } - if (entity != null) - { - movingobjectposition = new MovingObjectPosition(entity); + while(super.rotationYaw - super.prevRotationYaw >= 180.0F) { + super.prevRotationYaw += 360.0F; } - if (movingobjectposition != null) - { - if (movingobjectposition.entityHit != null) - { - if (movingobjectposition.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.angler), 0)) - { - this.bobber = movingobjectposition.entityHit; - } - } - else - { - this.inGround = true; - } + super.rotationPitch = super.prevRotationPitch + (super.rotationPitch - super.prevRotationPitch) * 0.2F; + super.rotationYaw = super.prevRotationYaw + (super.rotationYaw - super.prevRotationYaw) * 0.2F; + float var26 = 0.92F; + if(super.onGround || super.isCollidedHorizontally) { + var26 = 0.5F; } - if (!this.inGround) - { - this.moveEntity(this.motionX, this.motionY, this.motionZ); - float f1 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f1) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { - this.prevRotationYaw -= 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { - this.prevRotationYaw += 360.0F; - } - - this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; - this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; - float f2 = 0.92F; - - if (this.onGround || this.isCollidedHorizontally) - { - f2 = 0.5F; - } - - byte b0 = 5; - double d6 = 0.0D; - - for (int k = 0; k < b0; ++k) - { - double d7 = this.boundingBox.minY + (this.boundingBox.maxY - this.boundingBox.minY) * (double)(k + 0) / (double)b0 - 0.125D + 0.125D; - double d8 = this.boundingBox.minY + (this.boundingBox.maxY - this.boundingBox.minY) * (double)(k + 1) / (double)b0 - 0.125D + 0.125D; - AxisAlignedBB axisalignedbb1 = AxisAlignedBB.getAABBPool().getAABB(this.boundingBox.minX, d7, this.boundingBox.minZ, this.boundingBox.maxX, d8, this.boundingBox.maxZ); - - if (this.worldObj.isAABBInMaterial(axisalignedbb1, Material.water)) - { - d6 += 1.0D / (double)b0; - } - } - - if (d6 > 0.0D) - { - if (this.ticksCatchable > 0) - { - --this.ticksCatchable; - } - else - { - short short1 = 500; - - if (this.worldObj.canLightningStrikeAt(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY) + 1, MathHelper.floor_double(this.posZ))) - { - short1 = 300; - } - - if (this.rand.nextInt(short1) == 0) - { - this.ticksCatchable = this.rand.nextInt(30) + 10; - this.motionY -= 0.20000000298023224D; - this.playSound("random.splash", 0.25F, 1.0F + (this.rand.nextFloat() - this.rand.nextFloat()) * 0.4F); - float f3 = (float)MathHelper.floor_double(this.boundingBox.minY); - int l; - float f4; - float f5; - - for (l = 0; (float)l < 1.0F + this.width * 20.0F; ++l) - { - f5 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; - f4 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; - this.worldObj.spawnParticle("bubble", this.posX + (double)f5, (double)(f3 + 1.0F), this.posZ + (double)f4, this.motionX, this.motionY - (double)(this.rand.nextFloat() * 0.2F), this.motionZ); - } - - for (l = 0; (float)l < 1.0F + this.width * 20.0F; ++l) - { - f5 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; - f4 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; - this.worldObj.spawnParticle("splash", this.posX + (double)f5, (double)(f3 + 1.0F), this.posZ + (double)f4, this.motionX, this.motionY, this.motionZ); - } - } - } - } - - if (this.ticksCatchable > 0) - { - this.motionY -= (double)(this.rand.nextFloat() * this.rand.nextFloat() * this.rand.nextFloat()) * 0.2D; - } - - d5 = d6 * 2.0D - 1.0D; - this.motionY += 0.03999999910593033D * d5; - - if (d6 > 0.0D) - { - f2 = (float)((double)f2 * 0.9D); - this.motionY *= 0.8D; - } - - this.motionX *= (double)f2; - this.motionY *= (double)f2; - this.motionZ *= (double)f2; - this.setPosition(this.posX, this.posY, this.posZ); + byte var28 = 5; + double var29 = 0.0D; + + for(int short1 = 0; short1 < var28; ++short1) { + double f3 = super.boundingBox.minY + (super.boundingBox.maxY - super.boundingBox.minY) * (double)(short1 + 0) / (double)var28 - 0.125D + 0.125D; + double f4 = super.boundingBox.minY + (super.boundingBox.maxY - super.boundingBox.minY) * (double)(short1 + 1) / (double)var28 - 0.125D + 0.125D; + AxisAlignedBB axisalignedbb1 = AxisAlignedBB.getAABBPool().getAABB(super.boundingBox.minX, f3, super.boundingBox.minZ, super.boundingBox.maxX, f4, super.boundingBox.maxZ); + if(super.worldObj.isAABBInMaterial(axisalignedbb1, Material.water)) { + var29 += 1.0D / (double)var28; + } } - } - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("shake", (byte)this.shake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0)); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; - this.shake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() - { - return 0.0F; - } - - public int catchFish() - { - if (this.worldObj.isRemote) - { - return 0; - } - else - { - byte b0 = 0; - - if (this.bobber != null) - { - double d0 = this.angler.posX - this.posX; - double d1 = this.angler.posY - this.posY; - double d2 = this.angler.posZ - this.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d1 * d1 + d2 * d2); - double d4 = 0.1D; - this.bobber.motionX += d0 * d4; - this.bobber.motionY += d1 * d4 + (double)MathHelper.sqrt_double(d3) * 0.08D; - this.bobber.motionZ += d2 * d4; - b0 = 3; + + if(var29 > 0.0D) { + if(this.ticksCatchable > 0) { + --this.ticksCatchable; + } else { + short var31 = 500; + if(super.worldObj.canLightningStrikeAt(MathHelper.floor_double(super.posX), MathHelper.floor_double(super.posY) + 1, MathHelper.floor_double(super.posZ))) { + var31 = 300; + } + + if(super.rand.nextInt(var31) == 0) { + this.ticksCatchable = super.rand.nextInt(30) + 10; + super.motionY -= 0.20000000298023224D; + this.playSound("random.splash", 0.25F, 1.0F + (super.rand.nextFloat() - super.rand.nextFloat()) * 0.4F); + float var30 = (float)MathHelper.floor_double(super.boundingBox.minY); + + int l; + float f5; + float var32; + for(l = 0; (float)l < 1.0F + super.width * 20.0F; ++l) { + f5 = (super.rand.nextFloat() * 2.0F - 1.0F) * super.width; + var32 = (super.rand.nextFloat() * 2.0F - 1.0F) * super.width; + super.worldObj.spawnParticle("bubble", super.posX + (double)f5, (double)(var30 + 1.0F), super.posZ + (double)var32, super.motionX, super.motionY - (double)(super.rand.nextFloat() * 0.2F), super.motionZ); + } + + for(l = 0; (float)l < 1.0F + super.width * 20.0F; ++l) { + f5 = (super.rand.nextFloat() * 2.0F - 1.0F) * super.width; + var32 = (super.rand.nextFloat() * 2.0F - 1.0F) * super.width; + super.worldObj.spawnParticle("splash", super.posX + (double)f5, (double)(var30 + 1.0F), super.posZ + (double)var32, super.motionX, super.motionY, super.motionZ); + } + } + } } - else if (this.ticksCatchable > 0) - { - EntityItem entityitem = new EntityItem(this.worldObj, this.posX, this.posY, this.posZ, new ItemStack(Item.fishRaw)); - //if(worldObj.provider.dimensionId == ConfigAtum.dimensionID) - entityitem.setEntityItemStack(AtumFish.getRandomFish()); - double d5 = this.angler.posX - this.posX; - double d6 = this.angler.posY - this.posY; - double d7 = this.angler.posZ - this.posZ; - double d8 = (double)MathHelper.sqrt_double(d5 * d5 + d6 * d6 + d7 * d7); - double d9 = 0.1D; - entityitem.motionX = d5 * d9; - entityitem.motionY = d6 * d9 + (double)MathHelper.sqrt_double(d8) * 0.08D; - entityitem.motionZ = d7 * d9; - this.worldObj.spawnEntityInWorld(entityitem); - this.angler.addStat(StatList.fishCaughtStat, 1); - this.angler.worldObj.spawnEntityInWorld(new EntityXPOrb(this.angler.worldObj, this.angler.posX, this.angler.posY + 0.5D, this.angler.posZ + 0.5D, this.rand.nextInt(6) + 1)); - b0 = 1; + + if(this.ticksCatchable > 0) { + super.motionY -= (double)(super.rand.nextFloat() * super.rand.nextFloat() * super.rand.nextFloat()) * 0.2D; } - if (this.inGround) - { - b0 = 2; + d5 = var29 * 2.0D - 1.0D; + super.motionY += 0.03999999910593033D * d5; + if(var29 > 0.0D) { + var26 = (float)((double)var26 * 0.9D); + super.motionY *= 0.8D; } - this.setDead(); - this.angler.fishEntity = null; - return b0; - } - } - - /** - * Will get destroyed next tick. - */ - public void setDead() - { - super.setDead(); - - if (this.angler != null) - { - this.angler.fishEntity = null; - } - } + super.motionX *= (double)var26; + super.motionY *= (double)var26; + super.motionZ *= (double)var26; + this.setPosition(super.posX, super.posY, super.posZ); + } + } + + } + + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short)this.xTile); + par1NBTTagCompound.setShort("yTile", (short)this.yTile); + par1NBTTagCompound.setShort("zTile", (short)this.zTile); + par1NBTTagCompound.setByte("inTile", (byte)this.inTile); + par1NBTTagCompound.setByte("shake", (byte)super.shake); + par1NBTTagCompound.setByte("inGround", (byte)(this.inGround?1:0)); + } + + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + super.shake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() { + return 0.0F; + } + + public int catchFish() { + if(super.worldObj.isRemote) { + return 0; + } else { + byte b0 = 0; + if(super.bobber != null) { + double entityitem = super.angler.posX - super.posX; + double d1 = super.angler.posY - super.posY; + double d2 = super.angler.posZ - super.posZ; + double d3 = (double)MathHelper.sqrt_double(entityitem * entityitem + d1 * d1 + d2 * d2); + double d4 = 0.1D; + super.bobber.motionX += entityitem * d4; + super.bobber.motionY += d1 * d4 + (double)MathHelper.sqrt_double(d3) * 0.08D; + super.bobber.motionZ += d2 * d4; + b0 = 3; + } else if(this.ticksCatchable > 0) { + EntityItem entityitem1 = new EntityItem(super.worldObj, super.posX, super.posY, super.posZ, new ItemStack(Item.fishRaw)); + entityitem1.setEntityItemStack(AtumFish.getRandomFish()); + double d5 = super.angler.posX - super.posX; + double d6 = super.angler.posY - super.posY; + double d7 = super.angler.posZ - super.posZ; + double d8 = (double)MathHelper.sqrt_double(d5 * d5 + d6 * d6 + d7 * d7); + double d9 = 0.1D; + entityitem1.motionX = d5 * d9; + entityitem1.motionY = d6 * d9 + (double)MathHelper.sqrt_double(d8) * 0.08D; + entityitem1.motionZ = d7 * d9; + super.worldObj.spawnEntityInWorld(entityitem1); + super.angler.addStat(StatList.fishCaughtStat, 1); + super.angler.worldObj.spawnEntityInWorld(new EntityXPOrb(super.angler.worldObj, super.angler.posX, super.angler.posY + 0.5D, super.angler.posZ + 0.5D, super.rand.nextInt(6) + 1)); + b0 = 1; + } + + if(this.inGround) { + b0 = 2; + } + + this.setDead(); + super.angler.fishEntity = null; + return b0; + } + } + + public void setDead() { + super.setDead(); + if(super.angler != null) { + super.angler.fishEntity = null; + } + + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityNutsCall.java b/common/rebelkeithy/mods/atum/artifacts/arrow/EntityNutsCall.java index 5d46e78..90119c4 100644 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityNutsCall.java +++ b/common/rebelkeithy/mods/atum/artifacts/arrow/EntityNutsCall.java @@ -6,6 +6,7 @@ import net.minecraft.enchantment.EnchantmentThorns; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.IProjectile; import net.minecraft.entity.effect.EntityLightningBolt; import net.minecraft.entity.monster.EntityEnderman; @@ -14,8 +15,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.packet.Packet70GameEvent; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; @@ -26,598 +25,446 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class EntityNutsCall extends CustomArrow implements IProjectile, IThrowableEntity -{ - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private int inTile = 0; - private int inData = 0; - private boolean inGround = false; - - /** 1 if the player can pick up the arrow */ - public int canBePickedUp = 0; - - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake = 0; - - /** The owner of this arrow. */ - public Entity shootingEntity; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - - public ItemStack stack; - - /** The amount of knockback an arrow applies when it hits a mob. */ - private int knockbackStrength; - - public EntityNutsCall(World par1World) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - isImmuneToFire = true; - this.setSize(1.5F, 0.5F); - } - - public EntityNutsCall(World par1World, double par2, double par4, double par6) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - isImmuneToFire = true; - this.setSize(1.5F, 0.5F); - this.setPosition(par2, par4, par6); - this.yOffset = 0.0F; - } - - public EntityNutsCall(World par1World, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) - { - super(par1World); - isImmuneToFire = true; - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - this.posY; - double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); - - if (d3 >= 1.0E-7D) - { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); - } - } - - public EntityNutsCall(World par1World, EntityLiving par2EntityLiving, float par3) - { - super(par1World); - isImmuneToFire = true; - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.setSize(1.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.posY -= 0.10000000149011612D; - this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); - } - - public void setStack(ItemStack stack) - { - this.stack = stack; - } - - protected void entityInit() - { - this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. - */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) - { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par3 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par5 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) - { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the velocity to the args. Args: x, y, z - */ - public void setVelocity(double par1, double par3, double par5) - { - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.ticksInGround = 0; - } - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() - { - super.onUpdate(); - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); - } - - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - - if (i > 0) - { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) - { - this.inGround = true; - } - } - - if (this.arrowShake > 0) - { - --this.arrowShake; - } - - if (this.inGround) - { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - - if (j == this.inTile && k == this.inData) - { - ++this.ticksInGround; - - if (this.ticksInGround == 20000) - { - this.setDead(); - } - } - else - { - this.inGround = false; - this.motionX *= (double)(this.rand.nextFloat() * 0.2F); - this.motionY *= (double)(this.rand.nextFloat() * 0.2F); - this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } - else - { - ++this.ticksInAir; - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) - { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - int l; - float f1; - - for (l = 0; l < list.size(); ++l) - { - Entity entity1 = (Entity)list.get(l); - - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) - { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - - if (movingobjectposition1 != null) - { - double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - - if (d1 < d0 || d0 == 0.0D) - { - entity = entity1; - d0 = d1; - } - } - } +public class EntityNutsCall extends CustomArrow implements IProjectile, IThrowableEntity { + + private int xTile = -1; + private int yTile = -1; + private int zTile = -1; + private int inTile = 0; + private int inData = 0; + private boolean inGround = false; + public int canBePickedUp = 0; + public int arrowShake = 0; + public Entity shootingEntity; + private int ticksInGround; + private int ticksInAir = 0; + private double damage = 2.0D; + public ItemStack stack; + private int knockbackStrength; + + + public EntityNutsCall(World par1World) { + super(par1World); + super.renderDistanceWeight = 10.0D; + super.isImmuneToFire = true; + this.setSize(1.5F, 0.5F); + } + + public EntityNutsCall(World par1World, double par2, double par4, double par6) { + super(par1World); + super.renderDistanceWeight = 10.0D; + super.isImmuneToFire = true; + this.setSize(1.5F, 0.5F); + this.setPosition(par2, par4, par6); + super.yOffset = 0.0F; + } + + public EntityNutsCall(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { + super(par1World); + super.isImmuneToFire = true; + super.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + super.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + double d0 = par3EntityLiving.posX - par2EntityLiving.posX; + double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - super.posY; + double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; + double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); + if(d3 >= 1.0E-7D) { + float f2 = (float)(Math.atan2(d2, d0) * 180.0D / 3.141592653589793D) - 90.0F; + float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / 3.141592653589793D)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(par2EntityLiving.posX + d4, super.posY, par2EntityLiving.posZ + d5, f2, f3); + super.yOffset = 0.0F; + float f4 = (float)d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); + } + + } + + public EntityNutsCall(World par1World, EntityLivingBase par2EntityLiving, float par3) { + super(par1World); + super.isImmuneToFire = true; + super.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.setSize(1.5F, 0.5F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + super.posX -= (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); + super.posY -= 0.10000000149011612D; + super.posZ -= (double)(MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); + this.setPosition(super.posX, super.posY, super.posZ); + super.yOffset = 0.0F; + super.motionX = (double)(-MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); + super.motionZ = (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); + super.motionY = (double)(-MathHelper.sin(super.rotationPitch / 180.0F * 3.1415927F)); + this.setThrowableHeading(super.motionX, super.motionY, super.motionZ, par3 * 1.5F, 1.0F); + } + + public void setStack(ItemStack stack) { + this.stack = stack; + } + + protected void entityInit() { + super.dataWatcher.addObject(16, Byte.valueOf((byte)0)); + } + + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double)f2; + par3 /= (double)f2; + par5 /= (double)f2; + par1 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; + par3 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; + par5 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; + par1 *= (double)par7; + par3 *= (double)par7; + par5 *= (double)par7; + super.motionX = par1; + super.motionY = par3; + super.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / 3.141592653589793D); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { + this.setPosition(par1, par3, par5); + this.setRotation(par7, par8); + } + + @SideOnly(Side.CLIENT) + public void setVelocity(double par1, double par3, double par5) { + super.motionX = par1; + super.motionY = par3; + super.motionZ = par5; + if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch; + super.prevRotationYaw = super.rotationYaw; + this.setLocationAndAngles(super.posX, super.posY, super.posZ, super.rotationYaw, super.rotationPitch); + this.ticksInGround = 0; + } + + } + + public void onUpdate() { + super.onUpdate(); + if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { + float i = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); + super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(super.motionY, (double)i) * 180.0D / 3.141592653589793D); + } + + int var16 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + if(var16 > 0) { + Block.blocksList[var16].setBlockBoundsBasedOnState(super.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB vec3 = Block.blocksList[var16].getCollisionBoundingBoxFromPool(super.worldObj, this.xTile, this.yTile, this.zTile); + if(vec3 != null && vec3.isVecInside(super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ))) { + this.inGround = true; + } + } + + if(this.arrowShake > 0) { + --this.arrowShake; + } + + if(this.inGround) { + int var17 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + int vec31 = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + if(var17 == this.inTile && vec31 == this.inData) { + ++this.ticksInGround; + if(this.ticksInGround == 20000) { + this.setDead(); } - - if (entity != null) - { - movingobjectposition = new MovingObjectPosition(entity); + } else { + this.inGround = false; + super.motionX *= (double)(super.rand.nextFloat() * 0.2F); + super.motionY *= (double)(super.rand.nextFloat() * 0.2F); + super.motionZ *= (double)(super.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } + } else { + ++this.ticksInAir; + Vec3 var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); + Vec3 var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); + MovingObjectPosition movingobjectposition = super.worldObj.rayTraceBlocks_do_do(var18, var19, false, true); + var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); + var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); + if(movingobjectposition != null) { + var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = super.worldObj.getEntitiesWithinAABBExcludingEntity(this, super.boundingBox.addCoord(super.motionX, super.motionY, super.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + + int l; + float f1; + for(l = 0; l < list.size(); ++l) { + Entity f2 = (Entity)list.get(l); + if(f2.canBeCollidedWith() && (f2 != this.shootingEntity || this.ticksInAir >= 5)) { + f1 = 0.3F; + AxisAlignedBB f3 = f2.boundingBox.expand((double)f1, (double)f1, (double)f1); + MovingObjectPosition f4 = f3.calculateIntercept(var18, var19); + if(f4 != null) { + double j1 = var18.distanceTo(f4.hitVec); + if(j1 < d0 || d0 == 0.0D) { + entity = f2; + d0 = j1; + } + } } + } - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) - { - EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; + if(entity != null) { + movingobjectposition = new MovingObjectPosition(entity); + } - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).func_96122_a(entityplayer)) - { - movingobjectposition = null; - } + if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer var20 = (EntityPlayer)movingobjectposition.entityHit; + if(var20.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(var20)) { + movingobjectposition = null; } - - float f2; - float f3; - - if (movingobjectposition != null) - { - if (movingobjectposition.entityHit != null) - { - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double)f2 * this.damage); - - if (this.getIsCritical()) - { - i1 += this.rand.nextInt(i1 / 2 + 2); - } - - DamageSource damagesource = null; - - if (this.shootingEntity == null) - { - damagesource = DamageSource.causeThrownDamage(this, this); - } - else - { - damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) - { - movingobjectposition.entityHit.setFire(5); - } - - if(Math.random() > 0.5) - worldObj.addWeatherEffect(new EntityLightningBolt(worldObj, (double)posX, (double)posY, (double)posZ)); - - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) - { - if (movingobjectposition.entityHit instanceof EntityLiving) - { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; - - if (this.knockbackStrength > 0) - { - f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - - if (f3 > 0.0F) - { - movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3); - } - } - - if (this.shootingEntity != null) - { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); - } - - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) - { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); - } + } + + float var21; + float var22; + if(movingobjectposition != null) { + if(movingobjectposition.entityHit != null) { + var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); + int var23 = MathHelper.ceiling_double_int((double)var22 * this.damage); + if(this.getIsCritical()) { + var23 += super.rand.nextInt(var23 / 2 + 2); + } + + DamageSource var24 = null; + if(this.shootingEntity == null) { + var24 = DamageSource.causeThrownDamage(this, this); + } else { + var24 = DamageSource.causeThrownDamage(this, this.shootingEntity); + } + + if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + movingobjectposition.entityHit.setFire(5); + } + + if(Math.random() > 0.5D) { + super.worldObj.addWeatherEffect(new EntityLightningBolt(super.worldObj, super.posX, super.posY, super.posZ)); + } + + if(movingobjectposition.entityHit.attackEntityFrom(var24, var23)) { + if(movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; + if(this.knockbackStrength > 0) { + var21 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); + if(var21 > 0.0F) { + movingobjectposition.entityHit.addVelocity(super.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21, 0.1D, super.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21); } - - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - } - else - { - this.motionX *= -0.10000000149011612D; - this.motionY *= -0.10000000149011612D; - this.motionZ *= -0.10000000149011612D; - this.rotationYaw += 180.0F; - this.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } - else - { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ)); - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double)f2 * 0.05000000074505806D; - this.posY -= this.motionY / (double)f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / (double)f2 * 0.05000000074505806D; - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - - if (this.inTile != 0) - { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } - } - - if (this.getIsCritical()) - { - for (l = 0; l < 4; ++l) - { - this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); - } + } + + if(this.shootingEntity != null) { + EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, super.rand); + } + + if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + } + } + + this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); + } else { + super.motionX *= -0.10000000149011612D; + super.motionY *= -0.10000000149011612D; + super.motionZ *= -0.10000000149011612D; + super.rotationYaw += 180.0F; + super.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } else { + this.xTile = movingobjectposition.blockX; + this.yTile = movingobjectposition.blockY; + this.zTile = movingobjectposition.blockZ; + this.inTile = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inData = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + super.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - super.posX)); + super.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - super.posY)); + super.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - super.posZ)); + var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); + super.posX -= super.motionX / (double)var22 * 0.05000000074505806D; + super.posY -= super.motionY / (double)var22 * 0.05000000074505806D; + super.posZ -= super.motionZ / (double)var22 * 0.05000000074505806D; + this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); + this.inGround = true; + this.arrowShake = 7; + this.setIsCritical(false); + if(this.inTile != 0) { + Block.blocksList[this.inTile].onEntityCollidedWithBlock(super.worldObj, this.xTile, this.yTile, this.zTile, this); + } } + } - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { - this.prevRotationPitch += 360.0F; + if(this.getIsCritical()) { + for(l = 0; l < 4; ++l) { + super.worldObj.spawnParticle("crit", super.posX + super.motionX * (double)l / 4.0D, super.posY + super.motionY * (double)l / 4.0D, super.posZ + super.motionZ * (double)l / 4.0D, -super.motionX, -super.motionY + 0.2D, -super.motionZ); } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { - this.prevRotationYaw -= 360.0F; + } + + super.posX += super.motionX; + super.posY += super.motionY; + super.posZ += super.motionZ; + var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); + super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); + + for(super.rotationPitch = (float)(Math.atan2(super.motionY, (double)var22) * 180.0D / 3.141592653589793D); super.rotationPitch - super.prevRotationPitch < -180.0F; super.prevRotationPitch -= 360.0F) { + ; + } + + while(super.rotationPitch - super.prevRotationPitch >= 180.0F) { + super.prevRotationPitch += 360.0F; + } + + while(super.rotationYaw - super.prevRotationYaw < -180.0F) { + super.prevRotationYaw -= 360.0F; + } + + while(super.rotationYaw - super.prevRotationYaw >= 180.0F) { + super.prevRotationYaw += 360.0F; + } + + super.rotationPitch = super.prevRotationPitch + (super.rotationPitch - super.prevRotationPitch) * 0.2F; + super.rotationYaw = super.prevRotationYaw + (super.rotationYaw - super.prevRotationYaw) * 0.2F; + float var25 = 0.99F; + f1 = 0.05F; + if(this.isInWater()) { + for(int var26 = 0; var26 < 4; ++var26) { + var21 = 0.25F; + super.worldObj.spawnParticle("bubble", super.posX - super.motionX * (double)var21, super.posY - super.motionY * (double)var21, super.posZ - super.motionZ * (double)var21, super.motionX, super.motionY, super.motionZ); } - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { - this.prevRotationYaw += 360.0F; - } - - this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; - this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; - float f4 = 0.99F; - f1 = 0.05F; - - if (this.isInWater()) - { - for (int j1 = 0; j1 < 4; ++j1) - { - f3 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f3, this.posY - this.motionY * (double)f3, this.posZ - this.motionZ * (double)f3, this.motionX, this.motionY, this.motionZ); - } - - f4 = 0.45F; - } - - this.motionX *= (double)f4; - this.motionY *= (double)f4; - this.motionZ *= (double)f4; - this.motionY -= (double)f1; - this.setPosition(this.posX, this.posY, this.posZ); - this.doBlockCollisions(); - } - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - - NBTTagCompound stackTag = new NBTTagCompound(); - stack.writeToNBT(stackTag); - - par1NBTTagCompound.setCompoundTag("itemstack", stackTag); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - - if (par1NBTTagCompound.hasKey("damage")) - { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if (par1NBTTagCompound.hasKey("pickup")) - { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } - else if (par1NBTTagCompound.hasKey("player")) - { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; - } - - NBTTagCompound stackTag = par1NBTTagCompound.getCompoundTag("itemstack"); - stack = ItemStack.loadItemStackFromNBT(stackTag); - } - - /** - * Called by a player entity when they collide with an entity - */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) - { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) - { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - - if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(stack)) - { - flag = false; - } - - if (flag) - { - this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to - * prevent them from trampling crops - */ - protected boolean canTriggerWalking() - { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() - { - return 0.0F; - } - - public void setDamage(double par1) - { - this.damage = par1; - } - - public double getDamage() - { - return this.damage; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int par1) - { - this.knockbackStrength = par1; - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - public boolean canAttackWithItem() - { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public void setIsCritical(boolean par1) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } - else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public boolean getIsCritical() - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - @Override - public Entity getThrower() - { - return shootingEntity; - } - - @Override - public void setThrower(Entity entity) - { - shootingEntity = entity; - } + var25 = 0.45F; + } + + super.motionX *= (double)var25; + super.motionY *= (double)var25; + super.motionZ *= (double)var25; + super.motionY -= (double)f1; + this.setPosition(super.posX, super.posY, super.posZ); + this.doBlockCollisions(); + } + + } + + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short)this.xTile); + par1NBTTagCompound.setShort("yTile", (short)this.yTile); + par1NBTTagCompound.setShort("zTile", (short)this.zTile); + par1NBTTagCompound.setByte("inTile", (byte)this.inTile); + par1NBTTagCompound.setByte("inData", (byte)this.inData); + par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte)(this.inGround?1:0)); + par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); + par1NBTTagCompound.setDouble("damage", this.damage); + NBTTagCompound stackTag = new NBTTagCompound(); + this.stack.writeToNBT(stackTag); + par1NBTTagCompound.setCompoundTag("itemstack", stackTag); + } + + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inData = par1NBTTagCompound.getByte("inData") & 255; + this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + if(par1NBTTagCompound.hasKey("damage")) { + this.damage = par1NBTTagCompound.getDouble("damage"); + } + + if(par1NBTTagCompound.hasKey("pickup")) { + this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); + } else if(par1NBTTagCompound.hasKey("player")) { + this.canBePickedUp = par1NBTTagCompound.getBoolean("player")?1:0; + } + + NBTTagCompound stackTag = par1NBTTagCompound.getCompoundTag("itemstack"); + this.stack = ItemStack.loadItemStackFromNBT(stackTag); + } + + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if(!super.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; + if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(this.stack)) { + flag = false; + } + + if(flag) { + this.playSound("random.pop", 0.2F, ((super.rand.nextFloat() - super.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + par1EntityPlayer.onItemPickup(this, 1); + this.setDead(); + } + } + + } + + protected boolean canTriggerWalking() { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() { + return 0.0F; + } + + public void setDamage(double par1) { + this.damage = par1; + } + + public double getDamage() { + return this.damage; + } + + public void setKnockbackStrength(int par1) { + this.knockbackStrength = par1; + } + + public boolean canAttackWithItem() { + return false; + } + + public void setIsCritical(boolean par1) { + byte b0 = super.dataWatcher.getWatchableObjectByte(16); + if(par1) { + super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); + } else { + super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); + } + + } + + public boolean getIsCritical() { + byte b0 = super.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } + + public Entity getThrower() { + return this.shootingEntity; + } + + public void setThrower(Entity entity) { + this.shootingEntity = entity; + } } diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/RenderCustomArrow.java b/common/rebelkeithy/mods/atum/artifacts/arrow/RenderCustomArrow.java index e0d3a89..edca582 100644 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/RenderCustomArrow.java +++ b/common/rebelkeithy/mods/atum/artifacts/arrow/RenderCustomArrow.java @@ -1,91 +1,83 @@ package rebelkeithy.mods.atum.artifacts.arrow; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.entity.Render; import net.minecraft.entity.Entity; import net.minecraft.util.MathHelper; +import net.minecraft.util.ResourceLocation; import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import rebelkeithy.mods.atum.Atum; +import rebelkeithy.mods.atum.artifacts.arrow.CustomArrow; @SideOnly(Side.CLIENT) -public class RenderCustomArrow extends Render -{ - public void renderArrow(CustomArrow entityArrow, double par2, double par4, double par6, float par8, float par9) - { - this.loadTexture(entityArrow.getTexture()); - - - - GL11.glPushMatrix(); - GL11.glTranslatef((float)par2, (float)par4, (float)par6); - GL11.glRotatef(entityArrow.prevRotationYaw + (entityArrow.rotationYaw - entityArrow.prevRotationYaw) * par9 - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(entityArrow.prevRotationPitch + (entityArrow.rotationPitch - entityArrow.prevRotationPitch) * par9, 0.0F, 0.0F, 1.0F); - Tessellator tessellator = Tessellator.instance; - byte b0 = 0; - float f2 = 0.0F; - float f3 = 0.5F; - float f4 = (float)(0 + b0 * 10) / 32.0F; - float f5 = (float)(5 + b0 * 10) / 32.0F; - float f6 = 0.0F; - float f7 = 0.15625F; - float f8 = (float)(5 + b0 * 10) / 32.0F; - float f9 = (float)(10 + b0 * 10) / 32.0F; - float f10 = 0.05625F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f11 = (float)entityArrow.arrowShake - par9; +public class RenderCustomArrow extends Render { + + public void renderArrow(CustomArrow entityArrow, double par2, double par4, double par6, float par8, float par9) { + GL11.glPushMatrix(); + GL11.glTranslatef((float) par2, (float) par4, (float) par6); + GL11.glRotatef(entityArrow.prevRotationYaw + (entityArrow.rotationYaw - entityArrow.prevRotationYaw) * par9 - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(entityArrow.prevRotationPitch + (entityArrow.rotationPitch - entityArrow.prevRotationPitch) * par9, 0.0F, 0.0F, 1.0F); + Tessellator tessellator = Tessellator.instance; + byte b0 = 0; + float f2 = 0.0F; + float f3 = 0.5F; + float f4 = (float) (0 + b0 * 10) / 32.0F; + float f5 = (float) (5 + b0 * 10) / 32.0F; + float f6 = 0.0F; + float f7 = 0.15625F; + float f8 = (float) (5 + b0 * 10) / 32.0F; + float f9 = (float) (10 + b0 * 10) / 32.0F; + float f10 = 0.05625F; + GL11.glEnable('\u803a'); + float f11 = entityArrow.arrowShake - par9; + if (f11 > 0.0F) { + float i = -MathHelper.sin(f11 * 3.0F) * f11; + GL11.glRotatef(i, 0.0F, 0.0F, 1.0F); + } - if (f11 > 0.0F) - { - float f12 = -MathHelper.sin(f11 * 3.0F) * f11; - GL11.glRotatef(f12, 0.0F, 0.0F, 1.0F); - } + GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F); + GL11.glScalef(f10, f10, f10); + GL11.glTranslatef(-4.0F, 0.0F, 0.0F); + GL11.glNormal3f(f10, 0.0F, 0.0F); + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double) f6, (double) f8); + tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double) f7, (double) f8); + tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double) f7, (double) f9); + tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double) f6, (double) f9); + tessellator.draw(); + GL11.glNormal3f(-f10, 0.0F, 0.0F); + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double) f6, (double) f8); + tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double) f7, (double) f8); + tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double) f7, (double) f9); + tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double) f6, (double) f9); + tessellator.draw(); - GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F); - GL11.glScalef(f10, f10, f10); - GL11.glTranslatef(-4.0F, 0.0F, 0.0F); - GL11.glNormal3f(f10, 0.0F, 0.0F); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)f6, (double)f8); - tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)f7, (double)f8); - tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)f7, (double)f9); - tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)f6, (double)f9); - tessellator.draw(); - GL11.glNormal3f(-f10, 0.0F, 0.0F); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)f6, (double)f8); - tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)f7, (double)f8); - tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)f7, (double)f9); - tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)f6, (double)f9); - tessellator.draw(); + for (int var23 = 0; var23 < 4; ++var23) { + GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); + GL11.glNormal3f(0.0F, 0.0F, f10); + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(-8.0D, -2.0D, 0.0D, (double) f2, (double) f4); + tessellator.addVertexWithUV(8.0D, -2.0D, 0.0D, (double) f3, (double) f4); + tessellator.addVertexWithUV(8.0D, 2.0D, 0.0D, (double) f3, (double) f5); + tessellator.addVertexWithUV(-8.0D, 2.0D, 0.0D, (double) f2, (double) f5); + tessellator.draw(); + } - for (int i = 0; i < 4; ++i) - { - GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); - GL11.glNormal3f(0.0F, 0.0F, f10); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-8.0D, -2.0D, 0.0D, (double)f2, (double)f4); - tessellator.addVertexWithUV(8.0D, -2.0D, 0.0D, (double)f3, (double)f4); - tessellator.addVertexWithUV(8.0D, 2.0D, 0.0D, (double)f3, (double)f5); - tessellator.addVertexWithUV(-8.0D, 2.0D, 0.0D, (double)f2, (double)f5); - tessellator.draw(); - } + GL11.glDisable('\u803a'); + GL11.glPopMatrix(); + } - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - GL11.glPopMatrix(); - } + public void doRender(Entity par1Entity, double par2, double par4, double par6, float par8, float par9) { + this.renderArrow((CustomArrow) par1Entity, par2, par4, par6, par8, par9); + } - /** - * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then - * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic - * (Render 0.0F) - { - float f12 = -MathHelper.sin(f11 * 3.0F) * f11; - GL11.glRotatef(f12, 0.0F, 0.0F, 1.0F); - } - - //GL11.glTranslatef(0.0F, 0.5F, 0.5F); - //GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); - GL11.glScalef(2f, 1.5f, 1.5f); - GL11.glTranslatef(-0.85F, 0.0F, 0.0F); - GL11.glNormal3f(f10, 0.0F, 0.0F); - /* - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)f6, (double)f8); - tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)f7, (double)f8); - tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)f7, (double)f9); - tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)f6, (double)f9); - tessellator.draw(); - GL11.glNormal3f(-f10, 0.0F, 0.0F); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)f6, (double)f8); - tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)f7, (double)f8); - tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)f7, (double)f9); - tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)f6, (double)f9); - tessellator.draw(); - */ - - ItemRenderer.renderItemIn2D(tessellator, -1f, -10/32.0f, -5/32.0f, 12/32.0f, 32, 32*32, 0.0625F); - //ItemRenderer.renderItemIn2D(tessellator, -1f, 0.0f, 0.0f, 1f, 32, 32, 0.0625F); - /* - for (int i = 0; i < 2; ++i) - { - //GL11.glDepthFunc(GL11.GL_EQUAL); - //GL11.glDisable(GL11.GL_LIGHTING); - GL11.glRotatef(180.0F, 1.0F, 0.0F, 0.0F); - GL11.glNormal3f(0.0F, 0.0F, f10); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-27.0D, -9.0D, 0.0D, (double)0, (double)0); - tessellator.addVertexWithUV(27.0D, -9.0D, 0.0D, (double)27/32.0d, (double)0); - tessellator.addVertexWithUV(27.0D, 9.0D, 0.0D, (double)27/32.0d, (double)9/32.0); - tessellator.addVertexWithUV(-27.0D, 9.0D, 0.0D, (double)0, (double)9/32.0); - tessellator.draw(); - - //GL11.glEnable(GL11.GL_LIGHTING); - }*/ - - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - GL11.glPopMatrix(); - } - - /** - * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then - * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic - * (Render 0.0F) { + float f12 = -MathHelper.sin(f11 * 3.0F) * f11; + GL11.glRotatef(f12, 0.0F, 0.0F, 1.0F); + } + + GL11.glScalef(2.0F, 1.5F, 1.5F); + GL11.glTranslatef(-0.85F, 0.0F, 0.0F); + GL11.glNormal3f(f10, 0.0F, 0.0F); + ItemRenderer.renderItemIn2D(tessellator, -1.0F, -0.3125F, -0.15625F, 0.375F, 32, 1024, 0.0625F); + GL11.glDisable('\u803a'); + GL11.glPopMatrix(); + } + + public void doRender(Entity par1Entity, double par2, double par4, double par6, float par8, float par9) { + this.renderArrow((CustomArrow) par1Entity, par2, par4, par6, par8, par9); + } + + @Override + protected ResourceLocation getEntityTexture(Entity entity) { + return new ResourceLocation("atum:textures/projectiles/nutscall.png"); + } +} diff --git a/common/rebelkeithy/mods/atum/blocks/AtumStone.java b/common/rebelkeithy/mods/atum/blocks/AtumStone.java index 9937ad2..6b18859 100644 --- a/common/rebelkeithy/mods/atum/blocks/AtumStone.java +++ b/common/rebelkeithy/mods/atum/blocks/AtumStone.java @@ -2,23 +2,24 @@ import java.util.Random; -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.AtumBlocks; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IconRegister; +import rebelkeithy.mods.atum.Atum; +import rebelkeithy.mods.atum.AtumBlocks; -public class AtumStone extends Block -{ +public class AtumStone extends Block { - public AtumStone(int par1) - { + public AtumStone(int par1) { super(par1, Material.rock); } + public int idDropped(int par1, Random par2Random, int par3) { + return AtumBlocks.cobble.blockID; + } + @Override - public int idDropped(int par1, Random par2Random, int par3) - { - return AtumBlocks.cobble.blockID; - } + public void registerIcons(IconRegister par1IconRegister) { + this.blockIcon = par1IconRegister.registerIcon(Atum.modID + ":AtumStone"); + } } diff --git a/common/rebelkeithy/mods/atum/blocks/BlockArrowTrap.java b/common/rebelkeithy/mods/atum/blocks/BlockArrowTrap.java index bd696ce..420ef87 100644 --- a/common/rebelkeithy/mods/atum/blocks/BlockArrowTrap.java +++ b/common/rebelkeithy/mods/atum/blocks/BlockArrowTrap.java @@ -1,5 +1,8 @@ package rebelkeithy.mods.atum.blocks; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + import java.util.Random; import net.minecraft.block.Block; @@ -18,195 +21,125 @@ import net.minecraft.util.EnumFacing; import net.minecraft.util.Icon; import net.minecraft.world.World; +import rebelkeithy.mods.atum.Atum; import rebelkeithy.mods.atum.AtumBlocks; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockArrowTrap extends BlockContainer -{ - /** Registry for all dispense behaviors. */ - public static final IRegistry dispenseBehaviorRegistry = new RegistryDefaulted(new BehaviorDefaultDispenseItem()); - protected Random random = new Random(); - @SideOnly(Side.CLIENT) - protected Icon field_94463_c; - @SideOnly(Side.CLIENT) - protected Icon field_94462_cO; - @SideOnly(Side.CLIENT) - protected Icon field_96473_e; - - public BlockArrowTrap(int par1) - { - super(par1, Material.rock); - this.setCreativeTab(CreativeTabs.tabRedstone); - this.setHardness(-1); - } - - /** - * Returns the block hardness at a location. Args: world, x, y, z - */ - @Override - public float getBlockHardness(World par1World, int par2, int par3, int par4) - { - if(par1World.getBlockId(par2, par3+1, par4) == AtumBlocks.largeBrick.blockID && par1World.getBlockMetadata(par2, par3+1, par4) == 1) - return -1; - - return this.blockHardness; - - } - - /** - * How many world ticks before ticking - */ - @Override - public int tickRate(World par1World) - { - return 4; - } - - /** - * Called whenever the block is added into the world. Args: world, x, y, z - */ +import rebelkeithy.mods.atum.blocks.TileEntityArrowTrap; + +public class BlockArrowTrap extends BlockContainer { + + public static final IRegistry dispenseBehaviorRegistry = new RegistryDefaulted(new BehaviorDefaultDispenseItem()); + protected Random random = new Random(); + @SideOnly(Side.CLIENT) + protected Icon field_94463_c; + @SideOnly(Side.CLIENT) + protected Icon field_94462_cO; + @SideOnly(Side.CLIENT) + protected Icon field_96473_e; + + public BlockArrowTrap(int par1) { + super(par1, Material.rock); + this.setCreativeTab(CreativeTabs.tabRedstone); + this.setHardness(-1.0F); + } + + public float getBlockHardness(World par1World, int par2, int par3, int par4) { + return par1World.getBlockId(par2, par3 + 1, par4) == AtumBlocks.largeBrick.blockID && par1World.getBlockMetadata(par2, par3 + 1, par4) == 1 ? -1.0F : super.blockHardness; + } + + public int tickRate(World par1World) { + return 4; + } + + public void onBlockAdded(World par1World, int par2, int par3, int par4) { + super.onBlockAdded(par1World, par2, par3, par4); + this.setDispenserDefaultDirection(par1World, par2, par3, par4); + } + + private void setDispenserDefaultDirection(World par1World, int par2, int par3, int par4) { + if (!par1World.isRemote) { + int l = par1World.getBlockId(par2, par3, par4 - 1); + int i1 = par1World.getBlockId(par2, par3, par4 + 1); + int j1 = par1World.getBlockId(par2 - 1, par3, par4); + int k1 = par1World.getBlockId(par2 + 1, par3, par4); + byte b0 = 3; + if (Block.opaqueCubeLookup[l] && !Block.opaqueCubeLookup[i1]) { + b0 = 3; + } + + if (Block.opaqueCubeLookup[i1] && !Block.opaqueCubeLookup[l]) { + b0 = 2; + } + + if (Block.opaqueCubeLookup[j1] && !Block.opaqueCubeLookup[k1]) { + b0 = 5; + } + + if (Block.opaqueCubeLookup[k1] && !Block.opaqueCubeLookup[j1]) { + b0 = 4; + } + + par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 2); + } + + } + + @SideOnly(Side.CLIENT) @Override - public void onBlockAdded(World par1World, int par2, int par3, int par4) - { - super.onBlockAdded(par1World, par2, par3, par4); - this.setDispenserDefaultDirection(par1World, par2, par3, par4); - } - - /** - * sets Dispenser block direction so that the front faces an non-opaque block; chooses west to be direction if all - * surrounding blocks are opaque. - */ - private void setDispenserDefaultDirection(World par1World, int par2, int par3, int par4) - { - if (!par1World.isRemote) - { - int l = par1World.getBlockId(par2, par3, par4 - 1); - int i1 = par1World.getBlockId(par2, par3, par4 + 1); - int j1 = par1World.getBlockId(par2 - 1, par3, par4); - int k1 = par1World.getBlockId(par2 + 1, par3, par4); - byte b0 = 3; - - if (Block.opaqueCubeLookup[l] && !Block.opaqueCubeLookup[i1]) - { - b0 = 3; - } - - if (Block.opaqueCubeLookup[i1] && !Block.opaqueCubeLookup[l]) - { - b0 = 2; - } - - if (Block.opaqueCubeLookup[j1] && !Block.opaqueCubeLookup[k1]) - { - b0 = 5; - } - - if (Block.opaqueCubeLookup[k1] && !Block.opaqueCubeLookup[j1]) - { - b0 = 4; - } - - par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 2); - } - } - - @SideOnly(Side.CLIENT) - - /** - * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata - */ - @Override - public Icon getIcon(int par1, int par2) - { - if(par2 == 0) - par2 = 3; - int k = par2 & 7; - - return par1 == k ? (k != 1 && k != 0 ? this.field_94462_cO : this.field_96473_e) : (k != 1 && k != 0 ? (par1 != 1 && par1 != 0 ? this.blockIcon : this.field_94463_c) : this.field_94463_c); - } - - @SideOnly(Side.CLIENT) - - /** - * When this method is called, your block should register all the icons it needs with the given IconRegister. This - * is the only chance you get to register icons. - */ - @Override - public void registerIcons(IconRegister par1IconRegister) - { - this.blockIcon = par1IconRegister.registerIcon("Atum:TrapSide"); - this.field_94463_c = par1IconRegister.registerIcon("Atum:TrapSide"); - this.field_94462_cO = par1IconRegister.registerIcon("Atum:TrapFire"); - this.field_96473_e = par1IconRegister.registerIcon("Atum:TrapFire"); - } - - /** - * Called upon block activation (right click on the block.) - */ - @Override - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) - { - if (par1World.isRemote) - { - return true; - } - else - { - TileEntityArrowTrap TileEntityArrowTrap = (TileEntityArrowTrap)par1World.getBlockTileEntity(par2, par3, par4); - - if (TileEntityArrowTrap != null) - { - //par5EntityPlayer.displayGUIDispenser(TileEntityArrowTrap); - } - - return true; - } - } - - /** - * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are - * their own) Args: x, y, z, neighbor blockID - */ - @Override - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) - { - boolean flag = par1World.isBlockIndirectlyGettingPowered(par2, par3, par4) || par1World.isBlockIndirectlyGettingPowered(par2, par3 + 1, par4); - int i1 = par1World.getBlockMetadata(par2, par3, par4); - boolean flag1 = (i1 & 8) != 0; - - if (flag && !flag1) - { - par1World.scheduleBlockUpdate(par2, par3, par4, this.blockID, this.tickRate(par1World)); - par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 | 8, 4); - } - else if (!flag && flag1) - { - par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 & -9, 4); - } - } - - /** - * Returns a new instance of a block's tile entity class. Called on placing the block. - */ - @Override - public TileEntity createNewTileEntity(World par1World) - { - return new TileEntityArrowTrap(); - } - - /** - * Called when the block is placed in the world. - */ + public Icon getIcon(int par1, int par2) { + if (par2 == 0) { + par2 = 3; + } + + int k = par2 & 7; + return par1 == k ? (k != 1 && k != 0 ? this.field_94462_cO : this.field_96473_e) : (k != 1 && k != 0 ? (par1 != 1 && par1 != 0 ? super.blockIcon : this.field_94463_c) : this.field_94463_c); + } + @Override - public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack) - { - int l = BlockPistonBase.determineOrientation(par1World, par2, par3, par4, par5EntityLiving); - par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); - } - - public static EnumFacing getFacing(int par0) - { - return EnumFacing.getFront(par0 & 7); - } + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + super.blockIcon = par1IconRegister.registerIcon(Atum.modID + ":TrapSide"); + this.field_94463_c = par1IconRegister.registerIcon(Atum.modID + ":TrapSide"); + this.field_94462_cO = par1IconRegister.registerIcon(Atum.modID + ":TrapFire"); + this.field_96473_e = par1IconRegister.registerIcon(Atum.modID + ":TrapFire"); + } + + public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { + if (par1World.isRemote) { + return true; + } else { + TileEntityArrowTrap TileEntityArrowTrap = (TileEntityArrowTrap) par1World.getBlockTileEntity(par2, par3, par4); + if (TileEntityArrowTrap != null) { + ; + } + + return true; + } + } + + public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) { + boolean flag = par1World.isBlockIndirectlyGettingPowered(par2, par3, par4) || par1World.isBlockIndirectlyGettingPowered(par2, par3 + 1, par4); + int i1 = par1World.getBlockMetadata(par2, par3, par4); + boolean flag1 = (i1 & 8) != 0; + if (flag && !flag1) { + par1World.scheduleBlockUpdate(par2, par3, par4, super.blockID, this.tickRate(par1World)); + par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 | 8, 4); + } else if (!flag && flag1) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 & -9, 4); + } + + } + + public TileEntity createNewTileEntity(World par1World) { + return new TileEntityArrowTrap(); + } + + public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack) { + int l = BlockPistonBase.determineOrientation(par1World, par2, par3, par4, par5EntityLiving); + par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); + } + + public static EnumFacing getFacing(int par0) { + return EnumFacing.getFront(par0 & 7); + } + } diff --git a/common/rebelkeithy/mods/atum/blocks/BlockAtumBrick.java b/common/rebelkeithy/mods/atum/blocks/BlockAtumBrick.java index 34dde51..7c1e81e 100644 --- a/common/rebelkeithy/mods/atum/blocks/BlockAtumBrick.java +++ b/common/rebelkeithy/mods/atum/blocks/BlockAtumBrick.java @@ -1,58 +1,51 @@ package rebelkeithy.mods.atum.blocks; -import rebelkeithy.mods.atum.AtumConfig; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.Icon; import net.minecraft.world.World; +import rebelkeithy.mods.atum.Atum; +import rebelkeithy.mods.atum.AtumConfig; -public class BlockAtumBrick extends Block -{ +public class BlockAtumBrick extends Block { + Icon[] iconArray; - public BlockAtumBrick(int par1, Material par2Material) - { + public BlockAtumBrick(int par1, Material par2Material) { super(par1, par2Material); } - - @Override - public boolean removeBlockByPlayer(World world, EntityPlayer player, int x, int y, int z) - { - if(world.getBlockMetadata(x, y, z) == 1 && AtumConfig.protectBlocksInCreative) - return false; - else - return super.removeBlockByPlayer(world, player, x, y, z); - } -/* - @Override - public void onBlockDestroyedByPlayer(World par1World, int par2, int par3, int par4, int par5) - { - if(par5 == 1) - { - par1World.setBlock(par2, par3, par4, this.blockID, 1, 3); - } - } -*/ + + public boolean removeBlockByPlayer(World world, EntityPlayer player, int x, int y, int z) { + return world.getBlockMetadata(x, y, z) == 1 && AtumConfig.protectBlocksInCreative ? false : super.removeBlockByPlayer(world, player, x, y, z); + } + + public float getExplosionResistance(Entity par1Entity, World world, int x, int y, int z, double explosionX, double explosionY, double explosionZ) { + return world.getBlockMetadata(x, y, z) == 1 ? 80.0F : super.getExplosionResistance(par1Entity, world, x, y, z, explosionX, explosionY, explosionZ); + } + + public float getBlockHardness(World par1World, int par2, int par3, int par4) { + return par1World.getBlockMetadata(par2, par3, par4) == 1 ? -1.0F : super.blockHardness; + } + @Override - public float getExplosionResistance(Entity par1Entity, World world, int x, int y, int z, double explosionX, double explosionY, double explosionZ) - { - if(world.getBlockMetadata(x, y, z) == 1) - return 80; - - return super.getExplosionResistance(par1Entity, world, x, y, z, explosionX, explosionY, explosionZ); - } - - /** - * Returns the block hardness at a location. Args: world, x, y, z - */ + public Icon getIcon(int par1, int par2) { + if (this.blockID == AtumConfig.largeBrickID) { + return this.iconArray[0]; + } else if (this.blockID == AtumConfig.smallBrickID) { + return this.iconArray[1]; + } else { + return this.iconArray[2]; + } + } + @Override - public float getBlockHardness(World par1World, int par2, int par3, int par4) - { - if(par1World.getBlockMetadata(par2, par3, par4) == 1) - return -1; - - return this.blockHardness; - - } + public void registerIcons(IconRegister par1IconRegister) { + iconArray = new Icon[3]; + this.iconArray[0] = par1IconRegister.registerIcon(Atum.modID + ":AtumBrickLarge"); + this.iconArray[1] = par1IconRegister.registerIcon(Atum.modID + ":AtumBrickSmall"); + this.iconArray[2] = par1IconRegister.registerIcon(Atum.modID + ":AtumBrickCarved"); + } } diff --git a/common/rebelkeithy/mods/atum/blocks/BlockAtumGlass.java b/common/rebelkeithy/mods/atum/blocks/BlockAtumGlass.java index cc29f38..09f3056 100644 --- a/common/rebelkeithy/mods/atum/blocks/BlockAtumGlass.java +++ b/common/rebelkeithy/mods/atum/blocks/BlockAtumGlass.java @@ -1,47 +1,35 @@ package rebelkeithy.mods.atum.blocks; -import java.util.Random; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import java.util.Random; import net.minecraft.block.BlockBreakable; import net.minecraft.block.material.Material; -public class BlockAtumGlass extends BlockBreakable -{ - public BlockAtumGlass(int id, String name, Material material, boolean bool) - { - super(id, name, material, bool); - } - - @Override - public int quantityDropped(Random rand) - { - return 0; - } - - @Override - @SideOnly(Side.CLIENT) - public int getRenderBlockPass() - { - return 0; - } - - @Override - public boolean isOpaqueCube() - { - return false; - } - - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - @Override - protected boolean canSilkHarvest() - { - return true; - } +public class BlockAtumGlass extends BlockBreakable { + + public BlockAtumGlass(int id, String name, Material material, boolean bool) { + super(id, name, material, bool); + } + + public int quantityDropped(Random rand) { + return 0; + } + + @SideOnly(Side.CLIENT) + public int getRenderBlockPass() { + return 0; + } + + public boolean isOpaqueCube() { + return false; + } + + public boolean renderAsNormalBlock() { + return false; + } + + protected boolean canSilkHarvest() { + return true; + } } diff --git a/common/rebelkeithy/mods/atum/blocks/BlockAtumLeaves.java b/common/rebelkeithy/mods/atum/blocks/BlockAtumLeaves.java index ddfb837..97812a8 100644 --- a/common/rebelkeithy/mods/atum/blocks/BlockAtumLeaves.java +++ b/common/rebelkeithy/mods/atum/blocks/BlockAtumLeaves.java @@ -1,8 +1,9 @@ package rebelkeithy.mods.atum.blocks; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import java.util.ArrayList; import java.util.Random; - import net.minecraft.block.Block; import net.minecraft.block.BlockLeavesBase; import net.minecraft.block.material.Material; @@ -16,395 +17,242 @@ import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.common.IShearable; import rebelkeithy.mods.atum.AtumBlocks; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class BlockAtumLeaves extends BlockLeavesBase implements IShearable -{ - @SideOnly(Side.CLIENT) - private int graphicFlag; - private Icon[][] iconArray = new Icon[2][]; - int[] adjacentTreeBlocks; - private Icon icon; - - public BlockAtumLeaves(int par1) - { - super(par1, Material.leaves, false); - this.setTickRandomly(true); - } - - @SideOnly(Side.CLIENT) - @Override - public int getBlockColor() - { - double d0 = 0.5D; - double d1 = 1.0D; - return ColorizerFoliage.getFoliageColor(d0, d1); - } - - @SideOnly(Side.CLIENT) - - /** - * Returns the color this block should be rendered. Used by leaves. - */ - @Override - public int getRenderColor(int par1) - { - return ColorizerFoliage.getFoliageColorBasic(); - } - - @SideOnly(Side.CLIENT) - - /** - * Returns a integer with hex for 0xrrggbb with this color multiplied against the blocks color. Note only called - * when first determining what to render. - */ - @Override - public int colorMultiplier(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) - { - int i1 = 0; - int j1 = 0; - int k1 = 0; - - for (int l1 = -1; l1 <= 1; ++l1) - { - for (int i2 = -1; i2 <= 1; ++i2) - { - int j2 = BiomeGenBase.desert.getBiomeFoliageColor(); - i1 += (j2 & 16711680) >> 16; - j1 += (j2 & 65280) >> 8; - k1 += j2 & 255; +public class BlockAtumLeaves extends BlockLeavesBase implements IShearable { + + @SideOnly(Side.CLIENT) + private int graphicFlag; + private Icon[][] iconArray = new Icon[2][]; + int[] adjacentTreeBlocks; + private Icon icon; + + + public BlockAtumLeaves(int par1) { + super(par1, Material.leaves, false); + this.setTickRandomly(true); + } + + @SideOnly(Side.CLIENT) + public int getBlockColor() { + double d0 = 0.5D; + double d1 = 1.0D; + return ColorizerFoliage.getFoliageColor(d0, d1); + } + + @SideOnly(Side.CLIENT) + public int getRenderColor(int par1) { + return ColorizerFoliage.getFoliageColorBasic(); + } + + @SideOnly(Side.CLIENT) + public int colorMultiplier(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { + int i1 = 0; + int j1 = 0; + int k1 = 0; + + for(int l1 = -1; l1 <= 1; ++l1) { + for(int i2 = -1; i2 <= 1; ++i2) { + int j2 = BiomeGenBase.desert.getBiomeFoliageColor(); + i1 += (j2 & 16711680) >> 16; + j1 += (j2 & '\uff00') >> 8; + k1 += j2 & 255; + } + } + + return (i1 / 9 & 255) << 16 | (j1 / 9 & 255) << 8 | k1 / 9 & 255; + } + + public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) { + byte b0 = 1; + int j1 = b0 + 1; + if(par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1)) { + for(int k1 = -b0; k1 <= b0; ++k1) { + for(int l1 = -b0; l1 <= b0; ++l1) { + for(int i2 = -b0; i2 <= b0; ++i2) { + int j2 = par1World.getBlockId(par2 + k1, par3 + l1, par4 + i2); + if(Block.blocksList[j2] != null) { + Block.blocksList[j2].beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2); + } + } } - } - - return (i1 / 9 & 255) << 16 | (j1 / 9 & 255) << 8 | k1 / 9 & 255; - } - - /** - * ejects contained items into the world, and notifies neighbours of an update, as appropriate - */ - @Override - public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) - { - byte b0 = 1; - int j1 = b0 + 1; - - if (par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1)) - { - for (int k1 = -b0; k1 <= b0; ++k1) - { - for (int l1 = -b0; l1 <= b0; ++l1) - { - for (int i2 = -b0; i2 <= b0; ++i2) - { - int j2 = par1World.getBlockId(par2 + k1, par3 + l1, par4 + i2); - - if (Block.blocksList[j2] != null) - { - Block.blocksList[j2].beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2); - } - } - } + } + } + + } + + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + if(!par1World.isRemote) { + int l = par1World.getBlockMetadata(par2, par3, par4); + if((l & 8) != 0 && (l & 4) == 0) { + byte b0 = 4; + int i1 = b0 + 1; + byte b1 = 32; + int j1 = b1 * b1; + int k1 = b1 / 2; + if(this.adjacentTreeBlocks == null) { + this.adjacentTreeBlocks = new int[b1 * b1 * b1]; } - } - } - - /** - * Ticks the block if it's been scheduled - */ - @Override - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) - { - if (!par1World.isRemote) - { - int l = par1World.getBlockMetadata(par2, par3, par4); - - if ((l & 8) != 0 && (l & 4) == 0) - { - byte b0 = 4; - int i1 = b0 + 1; - byte b1 = 32; - int j1 = b1 * b1; - int k1 = b1 / 2; - - if (this.adjacentTreeBlocks == null) - { - this.adjacentTreeBlocks = new int[b1 * b1 * b1]; - } - - int l1; - - if (par1World.checkChunksExist(par2 - i1, par3 - i1, par4 - i1, par2 + i1, par3 + i1, par4 + i1)) - { - int i2; - int j2; - int k2; - - for (l1 = -b0; l1 <= b0; ++l1) - { - for (i2 = -b0; i2 <= b0; ++i2) - { - for (j2 = -b0; j2 <= b0; ++j2) - { - k2 = par1World.getBlockId(par2 + l1, par3 + i2, par4 + j2); - - Block block = Block.blocksList[k2]; - - if (block != null && block.canSustainLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) - { - this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = 0; - } - else if (block != null && block.isLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) - { - this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = -2; - } - else - { - this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = -1; - } - } + + int l1; + if(par1World.checkChunksExist(par2 - i1, par3 - i1, par4 - i1, par2 + i1, par3 + i1, par4 + i1)) { + int i2; + int j2; + int k2; + for(l1 = -b0; l1 <= b0; ++l1) { + for(i2 = -b0; i2 <= b0; ++i2) { + for(j2 = -b0; j2 <= b0; ++j2) { + k2 = par1World.getBlockId(par2 + l1, par3 + i2, par4 + j2); + Block block = Block.blocksList[k2]; + if(block != null && block.canSustainLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) { + this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = 0; + } else if(block != null && block.isLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) { + this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = -2; + } else { + this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = -1; } - } - - for (l1 = 1; l1 <= 4; ++l1) - { - for (i2 = -b0; i2 <= b0; ++i2) - { - for (j2 = -b0; j2 <= b0; ++j2) - { - for (k2 = -b0; k2 <= b0; ++k2) - { - if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1] == l1 - 1) - { - if (this.adjacentTreeBlocks[(i2 + k1 - 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) - { - this.adjacentTreeBlocks[(i2 + k1 - 1) * j1 + (j2 + k1) * b1 + k2 + k1] = l1; - } - - if (this.adjacentTreeBlocks[(i2 + k1 + 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) - { - this.adjacentTreeBlocks[(i2 + k1 + 1) * j1 + (j2 + k1) * b1 + k2 + k1] = l1; - } - - if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 - 1) * b1 + k2 + k1] == -2) - { - this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 - 1) * b1 + k2 + k1] = l1; - } - - if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 + 1) * b1 + k2 + k1] == -2) - { - this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 + 1) * b1 + k2 + k1] = l1; - } - - if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + (k2 + k1 - 1)] == -2) - { - this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + (k2 + k1 - 1)] = l1; - } - - if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1 + 1] == -2) - { - this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1 + 1] = l1; - } - } - } - } + } + } + } + + for(l1 = 1; l1 <= 4; ++l1) { + for(i2 = -b0; i2 <= b0; ++i2) { + for(j2 = -b0; j2 <= b0; ++j2) { + for(k2 = -b0; k2 <= b0; ++k2) { + if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1] == l1 - 1) { + if(this.adjacentTreeBlocks[(i2 + k1 - 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) { + this.adjacentTreeBlocks[(i2 + k1 - 1) * j1 + (j2 + k1) * b1 + k2 + k1] = l1; + } + + if(this.adjacentTreeBlocks[(i2 + k1 + 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) { + this.adjacentTreeBlocks[(i2 + k1 + 1) * j1 + (j2 + k1) * b1 + k2 + k1] = l1; + } + + if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 - 1) * b1 + k2 + k1] == -2) { + this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 - 1) * b1 + k2 + k1] = l1; + } + + if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 + 1) * b1 + k2 + k1] == -2) { + this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 + 1) * b1 + k2 + k1] = l1; + } + + if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + (k2 + k1 - 1)] == -2) { + this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + (k2 + k1 - 1)] = l1; + } + + if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1 + 1] == -2) { + this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1 + 1] = l1; + } + } } - } - } - - l1 = this.adjacentTreeBlocks[k1 * j1 + k1 * b1 + k1]; - - if (l1 >= 0) - { - par1World.setBlockMetadataWithNotify(par2, par3, par4, l & -9, 4); - } - else - { - this.removeLeaves(par1World, par2, par3, par4); - } - } - } - } - - @SideOnly(Side.CLIENT) - - /** - * A randomly called display update to be able to add particles or other items for display - */ - @Override - public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) - { - if (par1World.canLightningStrikeAt(par2, par3 + 1, par4) && !par1World.doesBlockHaveSolidTopSurface(par2, par3 - 1, par4) && par5Random.nextInt(15) == 1) - { - double d0 = (double)((float)par2 + par5Random.nextFloat()); - double d1 = (double)par3 - 0.05D; - double d2 = (double)((float)par4 + par5Random.nextFloat()); - par1World.spawnParticle("dripWater", d0, d1, d2, 0.0D, 0.0D, 0.0D); - } - } - - private void removeLeaves(World par1World, int par2, int par3, int par4) - { - this.dropBlockAsItem(par1World, par2, par3, par4, par1World.getBlockMetadata(par2, par3, par4), 0); - par1World.setBlockToAir(par2, par3, par4); - } - - /** - * Returns the quantity of items to drop on block destruction. - */ - @Override - public int quantityDropped(Random par1Random) - { - return par1Random.nextInt(20) == 0 ? 1 : 0; - } - - /** - * Returns the ID of the items to drop on destruction. - */ - @Override - public int idDropped(int par1, Random par2Random, int par3) - { - return AtumBlocks.palmSapling.blockID;//Block.sapling.blockID; - } - - /** - * Drops the block items with a specified chance of dropping the specified items - */ - @Override - public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int par4, int par5, float par6, int par7) - { - if (!par1World.isRemote) - { - int j1 = 20; - - if ((par5 & 3) == 3) - { - j1 = 40; - } - - if (par7 > 0) - { - j1 -= 2 << par7; - - if (j1 < 10) - { - j1 = 10; - } + } + } + } } - if (par1World.rand.nextInt(j1) == 0) - { - int k1 = this.idDropped(par5, par1World.rand, par7); - this.dropBlockAsItem_do(par1World, par2, par3, par4, new ItemStack(k1, 1, this.damageDropped(par5))); + l1 = this.adjacentTreeBlocks[k1 * j1 + k1 * b1 + k1]; + if(l1 >= 0) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, l & -9, 4); + } else { + this.removeLeaves(par1World, par2, par3, par4); } - } - } - - /** - * Called when the player destroys a block with an item that can harvest it. (i, j, k) are the coordinates of the - * block and l is the block's subtype/damage. - */ - @Override - public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6) - { - super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6); - } - - /** - * Determines the damage on the item the block drops. Used in cloth and wood. - */ - @Override - public int damageDropped(int par1) - { - return par1 & 3; - } - - /** - * Is this block (a) opaque and (b) a full 1m cube? This determines whether or not to render the shared face of two - * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block. - */ - @Override - public boolean isOpaqueCube() - { - return false; - } - - @SideOnly(Side.CLIENT) - - /** - * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata - */ - @Override - public Icon getIcon(int par1, int par2) - { - return icon; - } - - @SideOnly(Side.CLIENT) - - /** - * Pass true to draw this block using fancy graphics, or false for fast graphics. - */ - public void setGraphicsLevel(boolean par1) - { - this.graphicsLevel = par1; - this.graphicFlag = par1 ? 0 : 1; - } - - /** - * Returns an item stack containing a single instance of the current block type. 'i' is the block's subtype/damage - * and is ignored for blocks which do not support subtypes. Blocks which cannot be harvested should return null. - */ - @Override - protected ItemStack createStackedBlock(int par1) - { - return new ItemStack(this.blockID, 1, par1 & 3); - } - - @SideOnly(Side.CLIENT) - - /** - * When this method is called, your block should register all the icons it needs with the given IconRegister. This - * is the only chance you get to register icons. - */ - @Override - public void registerIcons(IconRegister par1IconRegister) - { - icon = par1IconRegister.registerIcon("Atum:AtumLeaves"); - /*for (int i = 0; i < field_94396_b.length; ++i) - { - this.iconArray[i] = new Icon[field_94396_b[i].length]; - - for (int j = 0; j < field_94396_b[i].length; ++j) - { - this.iconArray[i][j] = par1IconRegister.registerIcon(field_94396_b[i][j]); + } + } + + } + + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { + if(par1World.canLightningStrikeAt(par2, par3 + 1, par4) && !par1World.doesBlockHaveSolidTopSurface(par2, par3 - 1, par4) && par5Random.nextInt(15) == 1) { + double d0 = (double)((float)par2 + par5Random.nextFloat()); + double d1 = (double)par3 - 0.05D; + double d2 = (double)((float)par4 + par5Random.nextFloat()); + par1World.spawnParticle("dripWater", d0, d1, d2, 0.0D, 0.0D, 0.0D); + } + + } + + private void removeLeaves(World par1World, int par2, int par3, int par4) { + this.dropBlockAsItem(par1World, par2, par3, par4, par1World.getBlockMetadata(par2, par3, par4), 0); + par1World.setBlockToAir(par2, par3, par4); + } + + public int quantityDropped(Random par1Random) { + return par1Random.nextInt(20) == 0?1:0; + } + + public int idDropped(int par1, Random par2Random, int par3) { + return AtumBlocks.palmSapling.blockID; + } + + public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int par4, int par5, float par6, int par7) { + if(!par1World.isRemote) { + int j1 = 20; + if((par5 & 3) == 3) { + j1 = 40; + } + + if(par7 > 0) { + j1 -= 2 << par7; + if(j1 < 10) { + j1 = 10; } - }*/ - } - - @Override - public boolean isShearable(ItemStack item, World world, int x, int y, int z) - { - return true; - } - - @Override - public ArrayList onSheared(ItemStack item, World world, int x, int y, int z, int fortune) - { - ArrayList ret = new ArrayList(); - ret.add(new ItemStack(this, 1, world.getBlockMetadata(x, y, z) & 3)); - return ret; - } - - @Override - public void beginLeavesDecay(World world, int x, int y, int z) - { - world.setBlockMetadataWithNotify(x, y, z, world.getBlockMetadata(x, y, z) | 8, 4); - } - - @Override - public boolean isLeaves(World world, int x, int y, int z) - { - return true; - } + } + + if(par1World.rand.nextInt(j1) == 0) { + int k1 = this.idDropped(par5, par1World.rand, par7); + this.dropBlockAsItem_do(par1World, par2, par3, par4, new ItemStack(k1, 1, this.damageDropped(par5))); + } + } + + } + + public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6) { + super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6); + } + + public int damageDropped(int par1) { + return par1 & 3; + } + + public boolean isOpaqueCube() { + return false; + } + + @SideOnly(Side.CLIENT) + public Icon getIcon(int par1, int par2) { + return this.icon; + } + + @SideOnly(Side.CLIENT) + public void setGraphicsLevel(boolean par1) { + super.graphicsLevel = par1; + this.graphicFlag = par1?0:1; + } + + protected ItemStack createStackedBlock(int par1) { + return new ItemStack(super.blockID, 1, par1 & 3); + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + this.icon = par1IconRegister.registerIcon("atum:AtumLeaves"); + } + + public boolean isShearable(ItemStack item, World world, int x, int y, int z) { + return true; + } + + public ArrayList onSheared(ItemStack item, World world, int x, int y, int z, int fortune) { + ArrayList ret = new ArrayList(); + ret.add(new ItemStack(this, 1, world.getBlockMetadata(x, y, z) & 3)); + return ret; + } + + public void beginLeavesDecay(World world, int x, int y, int z) { + world.setBlockMetadataWithNotify(x, y, z, world.getBlockMetadata(x, y, z) | 8, 4); + } + + public boolean isLeaves(World world, int x, int y, int z) { + return true; + } } diff --git a/common/rebelkeithy/mods/atum/blocks/BlockAtumPane.java b/common/rebelkeithy/mods/atum/blocks/BlockAtumPane.java index a17122e..e7189a4 100644 --- a/common/rebelkeithy/mods/atum/blocks/BlockAtumPane.java +++ b/common/rebelkeithy/mods/atum/blocks/BlockAtumPane.java @@ -3,12 +3,9 @@ import net.minecraft.block.BlockPane; import net.minecraft.block.material.Material; -public class BlockAtumPane extends BlockPane -{ - - public BlockAtumPane(int par1, String par2Str, String par3Str, Material par4Material, boolean par5) - { - super(par1, par2Str, par3Str, par4Material, par5); - } +public class BlockAtumPane extends BlockPane { + public BlockAtumPane(int par1, String par2Str, String par3Str, Material par4Material, boolean par5) { + super(par1, par2Str, par3Str, par4Material, par5); + } } diff --git a/common/rebelkeithy/mods/atum/blocks/BlockAtumPortal.java b/common/rebelkeithy/mods/atum/blocks/BlockAtumPortal.java index 2cf281d..94ee8f0 100644 --- a/common/rebelkeithy/mods/atum/blocks/BlockAtumPortal.java +++ b/common/rebelkeithy/mods/atum/blocks/BlockAtumPortal.java @@ -1,13 +1,14 @@ package rebelkeithy.mods.atum.blocks; +import cpw.mods.fml.common.ObfuscationReflectionHelper; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import java.util.Random; - import net.minecraft.block.Block; import net.minecraft.block.BlockBreakable; import net.minecraft.block.material.Material; import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.server.MinecraftServer; import net.minecraft.util.AxisAlignedBB; @@ -15,366 +16,188 @@ import net.minecraft.world.World; import net.minecraft.world.WorldServer; import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.AtumTeleporter; import rebelkeithy.mods.atum.AtumConfig; +import rebelkeithy.mods.atum.AtumTeleporter; import rebelkeithy.mods.atum.TickHandler; import rebelkeithy.mods.particleregistry.ParticleRegistry; -import cpw.mods.fml.common.ObfuscationReflectionHelper; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockAtumPortal extends BlockBreakable -{ - public BlockAtumPortal(int par1) - { - super(par1, "Atum:portal", Material.portal, false); - setTickRandomly(true); - setHardness(-1f); - } - - /** - * Ticks the block if it's been scheduled - */ - @Override - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) - { - super.updateTick(par1World, par2, par3, par4, par5Random); - - if (par1World.provider.isSurfaceWorld() && par5Random.nextInt(2000) < par1World.difficultySetting) - { - /* - int l; - - for (l = par3; !par1World.doesBlockHaveSolidTopSurface(par2, l, par4) && l > 0; --l) - { - ; - } - - if (l > 0 && !par1World.isBlockNormalCube(par2, l + 1, par4)) - { - Entity entity = ItemMonsterPlacer.spawnCreature(par1World, 57, (double)par2 + 0.5D, (double)l + 1.1D, (double)par4 + 0.5D); - - if (entity != null) - { - entity.timeUntilPortal = entity.getPortalCooldown(); - } - } - */ - } - } - - /** - * Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been - * cleared to be reused) - */ - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) - { - return null; - } - - /** - * Updates the blocks bounds based on its current state. Args: world, x, y, z - */ - @Override - public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) - { - float f; - float f1; - /* - if (par1IBlockAccess.getBlockId(par2 - 1, par3, par4) != this.blockID && par1IBlockAccess.getBlockId(par2 + 1, par3, par4) != this.blockID) - { - f = 0.125F; - f1 = 0.5F; - this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f1, 0.5F + f, 1.0F, 0.5F + f1); - } - else - { - f = 0.5F; - f1 = 0.125F; - this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f1, 0.5F + f, 1.0F, 0.5F + f1); - }*/ - } - - /** - * Is this block (a) opaque and (b) a full 1m cube? This determines whether or not to render the shared face of two - * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block. - */ - @Override - public boolean isOpaqueCube() - { - return false; - } - - /** - * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc) - */ - @Override - public boolean renderAsNormalBlock() - { - return true; - } - - /** - * Checks to see if this location is valid to create a portal and will return True if it does. Args: world, x, y, z - */ - public boolean tryToCreatePortal(World par1World, int par2, int par3, int par4) - { - - int id0 = par1World.getBlockId(par2, par3-1, par4); - int id1 = par1World.getBlockId(par2 - 2, par3 + 0, par4); - int id2 = par1World.getBlockId(par2 - 2, par3 + 1, par4); - int id3 = par1World.getBlockId(par2, par3 + 0, par4 - 2); - int id4 = par1World.getBlockId(par2, par3 + 1, par4 - 2); - int id5 = par1World.getBlockId(par2, par3 + 0, par4 + 2); - int id6 = par1World.getBlockId(par2, par3 + 1, par4 + 2); - int id7 = par1World.getBlockId(par2 + 2, par3 + 0, par4); - int id8 = par1World.getBlockId(par2 + 2, par3 + 1, par4); - int id9 = par1World.getBlockId(par2 - 1, par3 + 2, par4); - int id10 = par1World.getBlockId(par2, par3 + 2, par4 - 1); - int id11 = par1World.getBlockId(par2, par3 + 2, par4 + 1); - int id12 = par1World.getBlockId(par2 + 1, par3 + 2, par4); - - if(id1 == id2 && id2 == id3 && id3 == id4 && id4 == id5 && id6 == id7 && id7 == id8 && id8 == id9 && id9 == id10 && id10 == id11 && id11 == id12 && id12 == Block.sandStone.blockID) - { - par1World.setBlock(par2, par3, par4, AtumBlocks.portal.blockID, 0, 2); - par1World.setBlock(par2, par3 + 1, par4, AtumBlocks.portal.blockID, 0, 2); - par1World.setBlock(par2, par3 + 2, par4, AtumBlocks.portal.blockID, 0, 2); - return true; - } - - return false; - } - - /** - * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are - * their own) Args: x, y, z, neighbor blockID - */ - @Override - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) - { - byte b0 = 0; - byte b1 = 1; - if (par1World.getBlockId(par2 - 1, par3, par4) == this.blockID || par1World.getBlockId(par2 + 1, par3, par4) == this.blockID) - { - b0 = 1; - b1 = 0; - } - - int i1; - - for (i1 = par3; par1World.getBlockId(par2, i1 - 1, par4) == this.blockID; --i1) - { +public class BlockAtumPortal extends BlockBreakable { + + public BlockAtumPortal(int par1) { + super(par1, "atum:portal", Material.portal, false); + this.setTickRandomly(true); + this.setHardness(-1.0F); + } + + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + super.updateTick(par1World, par2, par3, par4, par5Random); + if(par1World.provider.isSurfaceWorld() && par5Random.nextInt(2000) < par1World.difficultySetting) { + ; + } + + } + + public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { + return null; + } + + public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) {} + + public boolean isOpaqueCube() { + return false; + } + + public boolean renderAsNormalBlock() { + return true; + } + + public boolean tryToCreatePortal(World par1World, int par2, int par3, int par4) { + par1World.getBlockId(par2, par3 - 1, par4); + int id1 = par1World.getBlockId(par2 - 2, par3 + 0, par4); + int id2 = par1World.getBlockId(par2 - 2, par3 + 1, par4); + int id3 = par1World.getBlockId(par2, par3 + 0, par4 - 2); + int id4 = par1World.getBlockId(par2, par3 + 1, par4 - 2); + int id5 = par1World.getBlockId(par2, par3 + 0, par4 + 2); + int id6 = par1World.getBlockId(par2, par3 + 1, par4 + 2); + int id7 = par1World.getBlockId(par2 + 2, par3 + 0, par4); + int id8 = par1World.getBlockId(par2 + 2, par3 + 1, par4); + int id9 = par1World.getBlockId(par2 - 1, par3 + 2, par4); + int id10 = par1World.getBlockId(par2, par3 + 2, par4 - 1); + int id11 = par1World.getBlockId(par2, par3 + 2, par4 + 1); + int id12 = par1World.getBlockId(par2 + 1, par3 + 2, par4); + if(id1 == id2 && id2 == id3 && id3 == id4 && id4 == id5 && id6 == id7 && id7 == id8 && id8 == id9 && id9 == id10 && id10 == id11 && id11 == id12 && id12 == Block.sandStone.blockID) { + par1World.setBlock(par2, par3, par4, AtumBlocks.portal.blockID, 0, 2); + par1World.setBlock(par2, par3 + 1, par4, AtumBlocks.portal.blockID, 0, 2); + par1World.setBlock(par2, par3 + 2, par4, AtumBlocks.portal.blockID, 0, 2); + return true; + } else { + return false; + } + } + + public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) { + byte b0 = 0; + byte b1 = 1; + if(par1World.getBlockId(par2 - 1, par3, par4) == super.blockID || par1World.getBlockId(par2 + 1, par3, par4) == super.blockID) { + b0 = 1; + b1 = 0; + } + + int i1; + for(i1 = par3; par1World.getBlockId(par2, i1 - 1, par4) == super.blockID; --i1) { + ; + } + + if(par1World.getBlockId(par2, i1 - 1, par4) != Block.sandStone.blockID) { + par1World.setBlockToAir(par2, par3, par4); + } else { + int j1; + for(j1 = 1; j1 < 4 && par1World.getBlockId(par2, i1 + j1, par4) == super.blockID; ++j1) { ; - } - - if (par1World.getBlockId(par2, i1 - 1, par4) != Block.sandStone.blockID) - { + } + + if(j1 == 3 && par1World.getBlockId(par2, i1 + j1, par4) == Block.sandStone.blockID) { + boolean flag = par1World.getBlockId(par2 - 1, par3, par4) == super.blockID || par1World.getBlockId(par2 + 1, par3, par4) == super.blockID; + boolean flag1 = par1World.getBlockId(par2, par3, par4 - 1) == super.blockID || par1World.getBlockId(par2, par3, par4 + 1) == super.blockID; + if(flag && flag1) { + par1World.setBlockToAir(par2, par3, par4); + } else if((par1World.getBlockId(par2 + b0, par3, par4 + b1) != Block.sandStone.blockID || par1World.getBlockId(par2 - b0, par3, par4 - b1) != super.blockID) && (par1World.getBlockId(par2 - b0, par3, par4 - b1) != Block.sandStone.blockID || par1World.getBlockId(par2 + b0, par3, par4 + b1) != super.blockID)) { + par1World.setBlockToAir(par2, par3, par4); + } + } else { par1World.setBlockToAir(par2, par3, par4); - } - else - { - int j1; - - for (j1 = 1; j1 < 4 && par1World.getBlockId(par2, i1 + j1, par4) == this.blockID; ++j1) - { - ; + } + } + + } + + @SideOnly(Side.CLIENT) + public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + if(par1IBlockAccess.getBlockId(par2, par3, par4) == super.blockID) { + return false; + } else { + boolean flag = par1IBlockAccess.getBlockId(par2 - 1, par3, par4) == super.blockID && par1IBlockAccess.getBlockId(par2 - 2, par3, par4) != super.blockID; + boolean flag1 = par1IBlockAccess.getBlockId(par2 + 1, par3, par4) == super.blockID && par1IBlockAccess.getBlockId(par2 + 2, par3, par4) != super.blockID; + boolean flag2 = par1IBlockAccess.getBlockId(par2, par3, par4 - 1) == super.blockID && par1IBlockAccess.getBlockId(par2, par3, par4 - 2) != super.blockID; + boolean flag3 = par1IBlockAccess.getBlockId(par2, par3, par4 + 1) == super.blockID && par1IBlockAccess.getBlockId(par2, par3, par4 + 2) != super.blockID; + boolean flag4 = flag || flag1; + boolean flag5 = flag2 || flag3; + return flag4 && par5 == 4?true:(flag4 && par5 == 5?true:(flag5 && par5 == 2?true:flag5 && par5 == 3)); + } + } + + public int quantityDropped(Random par1Random) { + return 0; + } + + public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int par4, Entity par5Entity) { + if(par5Entity.ridingEntity == null && par5Entity.riddenByEntity == null && par5Entity instanceof EntityPlayerMP) { + EntityPlayerMP player = (EntityPlayerMP)par5Entity; + if(par5Entity.timeUntilPortal == 0 && par5Entity instanceof EntityPlayerMP) { + par5Entity.timeUntilPortal = 100; + MinecraftServer minecraftserver = MinecraftServer.getServer(); + int dimID = par5Entity.dimension; + WorldServer worldserver = minecraftserver.worldServerForDimension(0); + WorldServer worldserver1 = minecraftserver.worldServerForDimension(AtumConfig.dimensionID); + if(dimID == AtumConfig.dimensionID) { + minecraftserver.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP)par5Entity, 0, new AtumTeleporter(worldserver)); + if(par1World.isRemote) { + Minecraft.getMinecraft().gameSettings.renderDistance = TickHandler.defaultFog; + } + } else { + minecraftserver.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP)par5Entity, AtumConfig.dimensionID, new AtumTeleporter(worldserver1)); } - if (j1 == 3 && par1World.getBlockId(par2, i1 + j1, par4) == Block.sandStone.blockID) - { - boolean flag = par1World.getBlockId(par2 - 1, par3, par4) == this.blockID || par1World.getBlockId(par2 + 1, par3, par4) == this.blockID; - boolean flag1 = par1World.getBlockId(par2, par3, par4 - 1) == this.blockID || par1World.getBlockId(par2, par3, par4 + 1) == this.blockID; - - if (flag && flag1) - { - par1World.setBlockToAir(par2, par3, par4); - } - else - { - if ((par1World.getBlockId(par2 + b0, par3, par4 + b1) != Block.sandStone.blockID || par1World.getBlockId(par2 - b0, par3, par4 - b1) != this.blockID) && (par1World.getBlockId(par2 - b0, par3, par4 - b1) != Block.sandStone.blockID || par1World.getBlockId(par2 + b0, par3, par4 + b1) != this.blockID)) - { - par1World.setBlockToAir(par2, par3, par4); - } - } - } - else - { - par1World.setBlockToAir(par2, par3, par4); + try { + EntityPlayerMP e = (EntityPlayerMP)player; + ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[]{"lastExperience", "cp", "field_71144_ck"}); + ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[]{"lastHealth", "cm", "field_71149_ch"}); + ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[]{"lastFoodLevel", "cn", "field_71146_ci"}); + } catch (Exception var12) { + var12.printStackTrace(); } - } - } - - @SideOnly(Side.CLIENT) - - /** - * Returns true if the given side of this block type should be rendered, if the adjacent block is at the given - * coordinates. Args: blockAccess, x, y, z, side - */ - @Override - public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) - { - if (par1IBlockAccess.getBlockId(par2, par3, par4) == this.blockID) - { - return false; - } - else - { - boolean flag = par1IBlockAccess.getBlockId(par2 - 1, par3, par4) == this.blockID && par1IBlockAccess.getBlockId(par2 - 2, par3, par4) != this.blockID; - boolean flag1 = par1IBlockAccess.getBlockId(par2 + 1, par3, par4) == this.blockID && par1IBlockAccess.getBlockId(par2 + 2, par3, par4) != this.blockID; - boolean flag2 = par1IBlockAccess.getBlockId(par2, par3, par4 - 1) == this.blockID && par1IBlockAccess.getBlockId(par2, par3, par4 - 2) != this.blockID; - boolean flag3 = par1IBlockAccess.getBlockId(par2, par3, par4 + 1) == this.blockID && par1IBlockAccess.getBlockId(par2, par3, par4 + 2) != this.blockID; - boolean flag4 = flag || flag1; - boolean flag5 = flag2 || flag3; - return flag4 && par5 == 4 ? true : (flag4 && par5 == 5 ? true : (flag5 && par5 == 2 ? true : flag5 && par5 == 3)); - } - } - - /** - * Returns the quantity of items to drop on block destruction. - */ - @Override - public int quantityDropped(Random par1Random) - { - return 0; - } - - /** - * Triggered whenever an entity collides with this block (enters into the block). Args: world, x, y, z, entity - */ - @Override - public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int par4, Entity par5Entity) - { - if (par5Entity.ridingEntity == null && par5Entity.riddenByEntity == null) - { - if(par5Entity instanceof EntityPlayerMP) - { - EntityPlayer player = (EntityPlayerMP) par5Entity; - //par5Entity.setInPortal(); - //if(par5Entity.getPortalCooldown() == 0) - //if(Math.random() > 0.999) - - if(par5Entity.timeUntilPortal == 0 && par5Entity instanceof EntityPlayerMP) - { - par5Entity.timeUntilPortal = 100; - MinecraftServer minecraftserver = MinecraftServer.getServer(); - int dimID = par5Entity.dimension; - WorldServer worldserver = minecraftserver.worldServerForDimension(0); - WorldServer worldserver1 = minecraftserver.worldServerForDimension(AtumConfig.dimensionID); - if(dimID == AtumConfig.dimensionID) - { - minecraftserver.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP) par5Entity, 0, new AtumTeleporter(worldserver)); - if(par1World.isRemote) - Minecraft.getMinecraft().gameSettings.renderDistance = TickHandler.defaultFog; - //par5Entity.travelToDimension(0); - } else { - minecraftserver.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP) par5Entity, AtumConfig.dimensionID, new AtumTeleporter(worldserver1)); - //par5Entity.travelToDimension(Atum.dimensionID); - } - //par5Entity.travelToDimension(Atum.dimensionID); - try - { - EntityPlayerMP p = (EntityPlayerMP)player; - - ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, p, -1, "lastExperience", "cp", "field_71144_ck"); - ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, p, -1, "lastHealth", "cm", "field_71149_ch"); - ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, p, -1, "lastFoodLevel", "cn", "field_71146_ci"); - // Access lastExperience - /* - Field lastExperience = EntityPlayerMP.class.getField("field_71144_ck"); - lastExperience.setAccessible(true); - lastExperience.set(p, -1); - lastExperience.setAccessible(false); - - - // Access lastHealth - /* - System.out.println(Arrays.toString(p.getClass().getDeclaredFields())); - Field lastHealth = EntityPlayerMP.class.getField("lastHealth"); - - lastHealth.setAccessible(true); - lastHealth.set(p, -1); - lastHealth.setAccessible(false); - - p.lastHealth = -1; - - Field lastFoodLevel = p.getClass().getField("lastFoodLevel"); - lastFoodLevel.setAccessible(true); - lastFoodLevel.set(p, -1); - lastFoodLevel.setAccessible(false); - */ - } - catch (Exception e) - { - e.printStackTrace(); - } - } - - } - } - } - - @SideOnly(Side.CLIENT) - - /** - * Returns which pass should this block be rendered on. 0 for solids and 1 for alpha - */ - @Override - public int getRenderBlockPass() - { - return 1; - } - - @SideOnly(Side.CLIENT) - - /** - * A randomly called display update to be able to add particles or other items for display - */ - @Override - public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) - { - if (par5Random.nextInt(100) == 0) - { - par1World.playSound((double)par2 + 0.5D, (double)par3 + 0.5D, (double)par4 + 0.5D, "portal.portal", 0.5F, par5Random.nextFloat() * 0.4F + 0.8F, false); - } - - for (int l = 0; l < 8; ++l) - { - double d0 = (double)((float)par2 + par5Random.nextFloat()); - double d1 = (double)((float)par3 + par5Random.nextFloat()); - double d2 = (double)((float)par4 + par5Random.nextFloat()); - double d3 = 0.0D; - double d4 = 0.0D; - double d5 = 0.0D; - int i1 = par5Random.nextInt(2) * 2 - 1; - d3 = ((double)par5Random.nextFloat() - 0.5D) * 0.5D; - d4 = ((double)par5Random.nextFloat() - 0.5D) * 0.5D; - d5 = ((double)par5Random.nextFloat() - 0.5D) * 0.5D; - - if (par5Random.nextDouble() > 0.5D) - { - d0 = (double)par2 + 0.5D + 0.25D * (double)i1; - d3 = (double)(par5Random.nextFloat() * 2.0F * (float)i1); - } - else - { - d2 = (double)par4 + 0.5D + 0.25D * (double)i1; - d5 = (double)(par5Random.nextFloat() * 2.0F * (float)i1); - } - - ParticleRegistry.spawnParticle("sandportal", par1World, d0, d1, d2, d3, d4, d5); - } - } - - @SideOnly(Side.CLIENT) - - /** - * only called by clickMiddleMouseButton , and passed to inventory.setCurrentItem (along with isCreative) - */ - @Override - public int idPicked(World par1World, int par2, int par3, int par4) - { - return 0; - } + } + } + + } + + @SideOnly(Side.CLIENT) + public int getRenderBlockPass() { + return 1; + } + + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { + if(par5Random.nextInt(100) == 0) { + par1World.playSound((double)par2 + 0.5D, (double)par3 + 0.5D, (double)par4 + 0.5D, "portal.portal", 0.5F, par5Random.nextFloat() * 0.4F + 0.8F, false); + } + + for(int l = 0; l < 8; ++l) { + double d0 = (double)((float)par2 + par5Random.nextFloat()); + double d1 = (double)((float)par3 + par5Random.nextFloat()); + double d2 = (double)((float)par4 + par5Random.nextFloat()); + double d3 = 0.0D; + double d4 = 0.0D; + double d5 = 0.0D; + int i1 = par5Random.nextInt(2) * 2 - 1; + d3 = ((double)par5Random.nextFloat() - 0.5D) * 0.5D; + d4 = ((double)par5Random.nextFloat() - 0.5D) * 0.5D; + d5 = ((double)par5Random.nextFloat() - 0.5D) * 0.5D; + if(par5Random.nextDouble() > 0.5D) { + d0 = (double)par2 + 0.5D + 0.25D * (double)i1; + d3 = (double)(par5Random.nextFloat() * 2.0F * (float)i1); + } else { + d2 = (double)par4 + 0.5D + 0.25D * (double)i1; + d5 = (double)(par5Random.nextFloat() * 2.0F * (float)i1); + } + + ParticleRegistry.spawnParticle("sandportal", par1World, d0, d1, d2, d3, d4, d5); + } + + } + + @SideOnly(Side.CLIENT) + public int idPicked(World par1World, int par2, int par3, int par4) { + return 0; + } } diff --git a/common/rebelkeithy/mods/atum/blocks/BlockAtumSand.java b/common/rebelkeithy/mods/atum/blocks/BlockAtumSand.java index fa08b99..49448dd 100644 --- a/common/rebelkeithy/mods/atum/blocks/BlockAtumSand.java +++ b/common/rebelkeithy/mods/atum/blocks/BlockAtumSand.java @@ -1,13 +1,17 @@ package rebelkeithy.mods.atum.blocks; +import rebelkeithy.mods.atum.Atum; import net.minecraft.block.BlockSand; +import net.minecraft.client.renderer.texture.IconRegister; -public class BlockAtumSand extends BlockSand -{ +public class BlockAtumSand extends BlockSand { - public BlockAtumSand(int par1) - { + public BlockAtumSand(int par1) { super(par1); } + @Override + public void registerIcons(IconRegister par1IconRegister) { + this.blockIcon = par1IconRegister.registerIcon(Atum.modID + ":AtumSand"); + } } diff --git a/common/rebelkeithy/mods/atum/blocks/BlockAtumSlab.java b/common/rebelkeithy/mods/atum/blocks/BlockAtumSlab.java index c45ed37..c28d234 100644 --- a/common/rebelkeithy/mods/atum/blocks/BlockAtumSlab.java +++ b/common/rebelkeithy/mods/atum/blocks/BlockAtumSlab.java @@ -1,8 +1,10 @@ package rebelkeithy.mods.atum.blocks; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import java.util.List; import java.util.Random; - +import net.minecraft.block.Block; import net.minecraft.block.BlockHalfSlab; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; @@ -10,101 +12,50 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.Icon; import rebelkeithy.mods.atum.AtumBlocks; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class BlockAtumSlab extends BlockHalfSlab -{ - /** The type of tree this slab came from. */ - public static final String[] slabType = new String[] {"smooth", "cracked", "largeBrick", "smallBrick"}; +public class BlockAtumSlab extends BlockHalfSlab { + public static final String[] slabType = { "smooth", "cracked", "largeBrick", "smallBrick" }; - public BlockAtumSlab(int par1, boolean par2, Material mat) - { - super(par1, par2, mat); - } + public BlockAtumSlab(int par1, boolean par2, Material mat) { + super(par1, par2, mat); + } @SideOnly(Side.CLIENT) + public Icon getIcon(int par1, int par2) { + par2 %= 4; + if (par2 == 0) + return AtumBlocks.stone.getIcon(par1, par2 & 0x7); + if (par2 == 1) + return AtumBlocks.cobble.getIcon(par1, par2 & 0x7); + if (par2 == 2) { + return AtumBlocks.largeBrick.getIcon(par1, par2 & 0x7); + } + return AtumBlocks.smallBrick.getIcon(par1, par2 & 0x7); + } + + public int idDropped(int par1, Random par2Random, int par3) { + return AtumBlocks.slabs.blockID; + } + + protected ItemStack createStackedBlock(int par1) { + return new ItemStack(AtumBlocks.slabs.blockID, 2, par1 & 0x7); + } + + public String getFullSlabName(int par1) { + if ((par1 < 0) || (par1 >= slabType.length)) { + par1 = 0; + } + + return super.getUnlocalizedName() + "." + slabType[par1]; + } - /** - * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata - */ - @Override - public Icon getIcon(int par1, int par2) - { - par2 = par2%4; - if(par2 == 0) - return AtumBlocks.stone.getIcon(par1, par2 & 7); - else if(par2 == 1) - return AtumBlocks.cobble.getIcon(par1, par2 & 7); - else if(par2 == 2) - return AtumBlocks.largeBrick.getIcon(par1, par2 & 7); - - return AtumBlocks.smallBrick.getIcon(par1, par2 & 7); - - } - - /** - * Returns the ID of the items to drop on destruction. - */ - @Override - public int idDropped(int par1, Random par2Random, int par3) - { - return AtumBlocks.slabs.blockID; - } - - /** - * Returns an item stack containing a single instance of the current block type. 'i' is the block's subtype/damage - * and is ignored for blocks which do not support subtypes. Blocks which cannot be harvested should return null. - */ - @Override - protected ItemStack createStackedBlock(int par1) - { - return new ItemStack(AtumBlocks.slabs.blockID, 2, par1 & 7); - } - - /** - * Returns the slab block name with step type. - */ - @Override - public String getFullSlabName(int par1) - { - if (par1 < 0 || par1 >= slabType.length) - { - par1 = 0; - } - - return super.getUnlocalizedName() + "." + slabType[par1]; - } - - @SideOnly(Side.CLIENT) - - /** - * returns a list of blocks with the same ID, but different meta (eg: wood returns 4 blocks) - */ - @Override -// public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List) -// { -// if (par1 != Atum.atumSlabs.blockID) -// { -// for (int j = 0; j < 4; ++j) -// { -// par3List.add(new ItemStack(par1, 1, j)); -// } -// } -// } - - public void getSubBlocks(int par1, CreativeTabs tab, List subItems) { - for (int i = 0; i < 4; i++) { - subItems.add(new ItemStack(this, 1, i)); - } - } - - @SideOnly(Side.CLIENT) + @SideOnly(Side.CLIENT) + public void getSubBlocks(int par1, CreativeTabs tab, List subItems) { + for (int i = 0; i < 4; i++) + subItems.add(new ItemStack(this, 1, i)); + } - /** - * When this method is called, your block should register all the icons it needs with the given IconRegister. This - * is the only chance you get to register icons. - */ - @Override - public void registerIcons(IconRegister par1IconRegister) {} -} + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + } +} \ No newline at end of file diff --git a/common/rebelkeithy/mods/atum/blocks/BlockAtumStairs.java b/common/rebelkeithy/mods/atum/blocks/BlockAtumStairs.java index d87b6ca..9d9b066 100644 --- a/common/rebelkeithy/mods/atum/blocks/BlockAtumStairs.java +++ b/common/rebelkeithy/mods/atum/blocks/BlockAtumStairs.java @@ -3,11 +3,9 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockStairs; -public class BlockAtumStairs extends BlockStairs -{ +public class BlockAtumStairs extends BlockStairs { - public BlockAtumStairs(int par1, Block par2Block, int par3) { - super(par1, par2Block, par3); - // TODO Auto-generated constructor stub - } + public BlockAtumStairs(int par1, Block par2Block, int par3) { + super(par1, par2Block, par3); + } } diff --git a/common/rebelkeithy/mods/atum/blocks/BlockAtumWall.java b/common/rebelkeithy/mods/atum/blocks/BlockAtumWall.java index ccc3186..685ce09 100644 --- a/common/rebelkeithy/mods/atum/blocks/BlockAtumWall.java +++ b/common/rebelkeithy/mods/atum/blocks/BlockAtumWall.java @@ -1,7 +1,8 @@ package rebelkeithy.mods.atum.blocks; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import java.util.List; - import net.minecraft.block.Block; import net.minecraft.block.BlockWall; import net.minecraft.client.renderer.texture.IconRegister; @@ -10,48 +11,38 @@ import net.minecraft.util.Icon; import net.minecraft.world.World; import net.minecraftforge.common.ForgeDirection; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class BlockAtumWall extends BlockWall -{ - @SideOnly(Side.CLIENT) - private Icon icon[]; - - public BlockAtumWall(int par1, Block par2Block) - { - super(par1, par2Block); - } - - @Override - public Icon getIcon(int side, int meta) - { - return icon[meta]; - } - - @Override - public boolean isBlockSolidOnSide(World world, int x, int y, int z, ForgeDirection side) - { - return side == ForgeDirection.UP; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister iconRegister) - { - icon = new Icon[4]; - icon[0] = iconRegister.registerIcon("Atum:AtumStone"); - icon[1] = iconRegister.registerIcon("Atum:AtumCobble"); - icon[2] = iconRegister.registerIcon("Atum:AtumBrickLarge"); - icon[3] = iconRegister.registerIcon("Atum:AtumBrickSmall"); - } - - @Override - public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List) - { - par3List.add(new ItemStack(par1, 1, 0)); - par3List.add(new ItemStack(par1, 1, 1)); - par3List.add(new ItemStack(par1, 1, 2)); - par3List.add(new ItemStack(par1, 1, 3)); - } +public class BlockAtumWall extends BlockWall { + + @SideOnly(Side.CLIENT) + private Icon[] icon; + + + public BlockAtumWall(int par1, Block par2Block) { + super(par1, par2Block); + } + + public Icon getIcon(int side, int meta) { + return this.icon[meta]; + } + + public boolean isBlockSolidOnSide(World world, int x, int y, int z, ForgeDirection side) { + return side == ForgeDirection.UP; + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister iconRegister) { + this.icon = new Icon[4]; + this.icon[0] = iconRegister.registerIcon("atum:AtumStone"); + this.icon[1] = iconRegister.registerIcon("atum:AtumCobble"); + this.icon[2] = iconRegister.registerIcon("atum:AtumBrickLarge"); + this.icon[3] = iconRegister.registerIcon("atum:AtumBrickSmall"); + } + + public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List) { + par3List.add(new ItemStack(par1, 1, 0)); + par3List.add(new ItemStack(par1, 1, 1)); + par3List.add(new ItemStack(par1, 1, 2)); + par3List.add(new ItemStack(par1, 1, 3)); + } } diff --git a/common/rebelkeithy/mods/atum/blocks/BlockAtumWorld.java b/common/rebelkeithy/mods/atum/blocks/BlockAtumWorld.java index bc136b5..62a1a19 100644 --- a/common/rebelkeithy/mods/atum/blocks/BlockAtumWorld.java +++ b/common/rebelkeithy/mods/atum/blocks/BlockAtumWorld.java @@ -2,89 +2,58 @@ import java.util.List; -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.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.ItemStack; import net.minecraft.util.Icon; +import rebelkeithy.mods.atum.Atum; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; -public class BlockAtumWorld extends Block -{ - @SideOnly(Side.CLIENT) - private Icon[] iconArray; +public class BlockAtumWorld extends Block { - public BlockAtumWorld(int par1) - { + @SideOnly(Side.CLIENT) + private Icon[] iconArray; + + public BlockAtumWorld(int par1) { super(par1, Material.rock); } - @SideOnly(Side.CLIENT) - - /** - * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata - */ - @Override - public Icon getIcon(int par1, int par2) - { - return this.iconArray[par2 % this.iconArray.length]; - } - - /** - * Determines the damage on the item the block drops. Used in cloth and wood. - */ - @Override - public int damageDropped(int par1) - { - if(par1 == 0) - return 1; - - return par1; - } - - @SideOnly(Side.CLIENT) - - /** - * returns a list of blocks with the same ID, but different meta (eg: wood returns 4 blocks) - */ - @Override - public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List) - { - for (int j = 0; j < 13; ++j) - { - par3List.add(new ItemStack(par1, 1, j)); - } - } - - @SideOnly(Side.CLIENT) + @SideOnly(Side.CLIENT) + public Icon getIcon(int par1, int par2) { + return this.iconArray[par2 % this.iconArray.length]; + } - /** - * When this method is called, your block should register all the icons it needs with the given IconRegister. This - * is the only chance you get to register icons. - */ - @Override - public void registerIcons(IconRegister par1IconRegister) - { - this.iconArray = new Icon[16]; + public int damageDropped(int par1) { + return par1 == 0 ? 1 : par1; + } - for (int i = 0; i < this.iconArray.length; ++i) - { - this.iconArray[i] = par1IconRegister.registerIcon("cloth_" + i); - } - - iconArray[0] = par1IconRegister.registerIcon("Atum:AtumStone"); - iconArray[0] = par1IconRegister.registerIcon("Atum:AtumCobble"); - iconArray[0] = par1IconRegister.registerIcon("Atum:AtumBrickLarge"); - iconArray[0] = par1IconRegister.registerIcon("Atum:AtumBrickSmall"); - iconArray[0] = par1IconRegister.registerIcon("Atum:AtumBrickCarved"); - iconArray[0] = par1IconRegister.registerIcon("Atum:AtumStone"); - iconArray[0] = par1IconRegister.registerIcon("Atum:AtumStone"); - iconArray[0] = par1IconRegister.registerIcon("Atum:AtumCobble"); - iconArray[0] = par1IconRegister.registerIcon("Atum:AtumCobble"); - } + @SideOnly(Side.CLIENT) + public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List) { + for (int j = 0; j < 13; ++j) { + par3List.add(new ItemStack(par1, 1, j)); + } - + } + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + this.iconArray = new Icon[16]; + + for (int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IconRegister.registerIcon("cloth_" + i); + } + + this.iconArray[0] = par1IconRegister.registerIcon(Atum.modID + ":AtumStone"); + this.iconArray[0] = par1IconRegister.registerIcon(Atum.modID + ":AtumCobble"); + this.iconArray[0] = par1IconRegister.registerIcon(Atum.modID + ":AtumBrickLarge"); + this.iconArray[0] = par1IconRegister.registerIcon(Atum.modID + ":AtumBrickSmall"); + this.iconArray[0] = par1IconRegister.registerIcon(Atum.modID + ":AtumBrickCarved"); + this.iconArray[0] = par1IconRegister.registerIcon(Atum.modID + ":AtumStone"); + this.iconArray[0] = par1IconRegister.registerIcon(Atum.modID + ":AtumStone"); + this.iconArray[0] = par1IconRegister.registerIcon(Atum.modID + ":AtumCobble"); + this.iconArray[0] = par1IconRegister.registerIcon(Atum.modID + ":AtumCobble"); + } } diff --git a/common/rebelkeithy/mods/atum/blocks/BlockDate.java b/common/rebelkeithy/mods/atum/blocks/BlockDate.java index ed691f8..af0f388 100644 --- a/common/rebelkeithy/mods/atum/blocks/BlockDate.java +++ b/common/rebelkeithy/mods/atum/blocks/BlockDate.java @@ -1,89 +1,57 @@ package rebelkeithy.mods.atum.blocks; +import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import java.util.Random; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.entity.item.EntityItem; import net.minecraft.item.ItemStack; import net.minecraft.world.World; -import rebelkeithy.mods.atum.Atum; import rebelkeithy.mods.atum.AtumBlocks; import rebelkeithy.mods.atum.AtumItems; -import cpw.mods.fml.client.registry.RenderingRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class BlockDate extends Block -{ - public int renderID = RenderingRegistry.getNextAvailableRenderId(); - - public BlockDate(int id, Material material) - { - super(id, material); - } +public class BlockDate extends Block { + + public int renderID = RenderingRegistry.getNextAvailableRenderId(); + + + public BlockDate(int id, Material material) { + super(id, material); + } + + public boolean isOpaqueCube() { + return false; + } - /** - * Is this block (a) opaque and (b) a full 1m cube? This determines whether or not to render the shared face of two - * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block. - */ - @Override - public boolean isOpaqueCube() - { - return false; - } + public boolean renderAsNormalBlock() { + return false; + } - /** - * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc) - */ - @Override - public boolean renderAsNormalBlock() - { - return false; - } + public int getRenderType() { + return this.renderID; + } - /** - * The type of render function that is called for this block - */ - @Override - public int getRenderType() - { - return renderID; - } - - @Override - public void onNeighborBlockChange(World world, int x, int y, int z, int neighborID) - { - if (world.getBlockId(x, y + 1, z) != AtumBlocks.leaves.blockID) - { - if (!world.isRemote) - { - EntityItem entityItem = new EntityItem(world, x, y, z, new ItemStack(AtumItems.date.itemID, 0, quantityDropped(new Random()))); - entityItem.dropItem(AtumItems.date.itemID, quantityDropped(new Random())); - world.setBlockToAir(x, y, z); - } - } - } + public void onNeighborBlockChange(World world, int x, int y, int z, int neighborID) { + if(world.getBlockId(x, y + 1, z) != AtumBlocks.leaves.blockID && !world.isRemote) { + EntityItem entityItem = new EntityItem(world, (double)x, (double)y, (double)z, new ItemStack(AtumItems.date.itemID, 0, this.quantityDropped(new Random()))); + entityItem.dropItem(AtumItems.date.itemID, this.quantityDropped(new Random())); + world.setBlockToAir(x, y, z); + } - @Override - public int idDropped(int par1, Random rand, int par3) - { - return AtumItems.date.itemID; - } + } - @Override - public int quantityDropped(Random rand) - { - return rand.nextInt(3) + 1; - } - @SideOnly(Side.CLIENT) + public int idDropped(int par1, Random rand, int par3) { + return AtumItems.date.itemID; + } - /** - * only called by clickMiddleMouseButton , and passed to inventory.setCurrentItem (along with isCreative) - */ - public int idPicked(World par1World, int par2, int par3, int par4) - { - return AtumItems.date.itemID; - } + public int quantityDropped(Random rand) { + return rand.nextInt(3) + 1; + } + @SideOnly(Side.CLIENT) + public int idPicked(World par1World, int par2, int par3, int par4) { + return AtumItems.date.itemID; + } } diff --git a/common/rebelkeithy/mods/atum/blocks/BlockFertileDirt.java b/common/rebelkeithy/mods/atum/blocks/BlockFertileDirt.java index 244247f..c86c955 100644 --- a/common/rebelkeithy/mods/atum/blocks/BlockFertileDirt.java +++ b/common/rebelkeithy/mods/atum/blocks/BlockFertileDirt.java @@ -4,11 +4,10 @@ import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; -public class BlockFertileDirt extends Block -{ - protected BlockFertileDirt(int par1) - { - super(par1, Material.ground); - this.setCreativeTab(CreativeTabs.tabBlock); - } +public class BlockFertileDirt extends Block { + + protected BlockFertileDirt(int par1) { + super(par1, Material.ground); + this.setCreativeTab(CreativeTabs.tabBlock); + } } diff --git a/common/rebelkeithy/mods/atum/blocks/BlockFertileSoil.java b/common/rebelkeithy/mods/atum/blocks/BlockFertileSoil.java index 3889dc3..103cc60 100644 --- a/common/rebelkeithy/mods/atum/blocks/BlockFertileSoil.java +++ b/common/rebelkeithy/mods/atum/blocks/BlockFertileSoil.java @@ -1,9 +1,8 @@ package rebelkeithy.mods.atum.blocks; -import static net.minecraftforge.common.ForgeDirection.UP; - +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import java.util.Random; - import net.minecraft.block.Block; import net.minecraft.block.BlockFlower; import net.minecraft.block.material.Material; @@ -16,155 +15,129 @@ import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.IPlantable; import rebelkeithy.mods.atum.AtumBlocks; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; public class BlockFertileSoil extends Block { - @SideOnly(Side.CLIENT) - private Icon iconGrassTop; - @SideOnly(Side.CLIENT) - private Icon iconGrassSideOverlay; - @SideOnly(Side.CLIENT) - private Icon iconDirt; - - public BlockFertileSoil(int par1) - { - super(par1, Material.grass); - this.setTickRandomly(true); - this.setCreativeTab(CreativeTabs.tabBlock); - } - @SideOnly(Side.CLIENT) + @SideOnly(Side.CLIENT) + private Icon iconGrassTop; - /** - * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata - */ - @Override - public Icon getIcon(int par1, int par2) - { - if(par2 == 1) - return this.iconDirt; - else - return par1 == 1 ? this.iconGrassTop : (par1 == 0 ? Block.dirt.getBlockTextureFromSide(par1) : this.blockIcon); + @SideOnly(Side.CLIENT) + private Icon iconGrassSideOverlay; + + @SideOnly(Side.CLIENT) + private Icon iconDirt; + + public BlockFertileSoil(int par1) + { + super(par1, Material.grass); + setTickRandomly(true); + setCreativeTab(CreativeTabs.tabBlock); + } + + @SideOnly(Side.CLIENT) + public Icon getIcon(int par1, int par2) + { + if (par2 == 1) { + return this.iconDirt; } + return par1 == 0 ? Block.dirt.getBlockTextureFromSide(par1) : par1 == 1 ? this.iconGrassTop : this.blockIcon; + } - /** - * Ticks the block if it's been scheduled - */ - @Override - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) + { + if (!par1World.isRemote) { - if (!par1World.isRemote) + if ((par1World.getBlockLightValue(par2, par3 + 1, par4) < 4) && (par1World.getBlockLightOpacity(par2, par3 + 1, par4) > 2)) + { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 1, 2); + } + else if (par1World.getBlockLightValue(par2, par3 + 1, par4) >= 9) + { + for (int l = 0; l < 4; l++) { - if (par1World.getBlockLightValue(par2, par3 + 1, par4) < 4 && par1World.getBlockLightOpacity(par2, par3 + 1, par4) > 2) - { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 1, 2); - //par1World.setBlock(par2, par3, par4, Block.dirt.blockID); - } - else if (par1World.getBlockLightValue(par2, par3 + 1, par4) >= 9) - { - for (int l = 0; l < 4; ++l) - { - int i1 = par2 + par5Random.nextInt(3) - 1; - int j1 = par3 + par5Random.nextInt(5) - 3; - int k1 = par4 + par5Random.nextInt(3) - 1; - int l1 = par1World.getBlockId(i1, j1 + 1, k1); - - if (par1World.getBlockId(i1, j1, k1) == AtumBlocks.fertileSoil.blockID && par1World.getBlockMetadata(i1, j1, k1) == 1 && par1World.getBlockLightValue(i1, j1 + 1, k1) >= 4 && par1World.getBlockLightOpacity(i1, j1 + 1, k1) <= 2) - { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 2); - //par1World.setBlock(i1, j1, k1, Block.grass.blockID); - } - } - } + int i1 = par2 + par5Random.nextInt(3) - 1; + int j1 = par3 + par5Random.nextInt(5) - 3; + int k1 = par4 + par5Random.nextInt(3) - 1; + int l1 = par1World.getBlockId(i1, j1 + 1, k1); + + if ((par1World.getBlockId(i1, j1, k1) == AtumBlocks.fertileSoil.blockID) && (par1World.getBlockMetadata(i1, j1, k1) == 1) && (par1World.getBlockLightValue(i1, j1 + 1, k1) >= 4) && (par1World.getBlockLightOpacity(i1, j1 + 1, k1) <= 2)) + { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 2); + } } + } } - - public boolean canSustainPlant(World world, int x, int y, int z, ForgeDirection direction, IPlantable plant) - { - EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); - - if (plant instanceof BlockFlower) - { - return true; - } + } - switch (plantType) - { - case Desert: return false; - case Nether: return false; - case Crop: return false; - case Cave: return isBlockSolidOnSide(world, x, y, z, UP); - case Plains: return true; - case Water: return false; - case Beach: - boolean hasWater = (world.getBlockMaterial(x - 1, y, z ) == Material.water || - world.getBlockMaterial(x + 1, y, z ) == Material.water || - world.getBlockMaterial(x, y, z - 1) == Material.water || - world.getBlockMaterial(x, y, z + 1) == Material.water); - return hasWater; - } + public boolean canSustainPlant(World world, int x, int y, int z, ForgeDirection direction, IPlantable plant) + { + EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); - return false; + if ((plant instanceof BlockFlower)) + { + return true; } - /** - * Returns the ID of the items to drop on destruction. - */ - @Override - public int idDropped(int par1, Random par2Random, int par3) - { - return AtumBlocks.sand.blockID;//Block.dirt.idDropped(0, par2Random, par3); + switch (plantType.ordinal()) { + case 1: + return false; + case 2: + return false; + case 3: + return false; + case 4: + return isBlockSolidOnSide(world, x, y, z, ForgeDirection.UP); + case 5: + return true; + case 6: + return false; + case 7: + boolean hasWater = (world.getBlockMaterial(x - 1, y, z) == Material.water) || (world.getBlockMaterial(x + 1, y, z) == Material.water) || (world.getBlockMaterial(x, y, z - 1) == Material.water) || (world.getBlockMaterial(x, y, z + 1) == Material.water); + + return hasWater; } - @SideOnly(Side.CLIENT) + return false; + } + + public int idDropped(int par1, Random par2Random, int par3) + { + return AtumBlocks.sand.blockID; + } - /** - * Retrieves the block texture to use based on the display side. Args: iBlockAccess, x, y, z, side - */ - @Override - public Icon getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) + @SideOnly(Side.CLIENT) + public Icon getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) + { + if (par1IBlockAccess.getBlockMetadata(par2, par3, par4) == 1) { - if(par1IBlockAccess.getBlockMetadata(par2, par3, par4) == 1) - { - return iconDirt; - } - else - { - if (par5 == 1) - { - return this.iconGrassTop; - } - else if (par5 == 0) - { - return AtumBlocks.sand.getBlockTextureFromSide(par5); - } - else - { - return this.blockIcon; - } - } + return this.iconDirt; } - @SideOnly(Side.CLIENT) - - /** - * When this method is called, your block should register all the icons it needs with the given IconRegister. This - * is the only chance you get to register icons. - */ - @Override - public void registerIcons(IconRegister par1IconRegister) + if (par5 == 1) { - this.blockIcon = par1IconRegister.registerIcon("Atum:FertileSoilSide"); - this.iconDirt = par1IconRegister.registerIcon("Atum:FertileSoil"); - this.iconGrassTop = par1IconRegister.registerIcon("Atum:FertileSoilTop"); - this.iconGrassSideOverlay = par1IconRegister.registerIcon("grass_side_overlay"); + return this.iconGrassTop; } - - @SideOnly(Side.CLIENT) - public static Icon getIconSideOverlay() + if (par5 == 0) { - return AtumBlocks.fertileSoil.iconGrassSideOverlay; + return AtumBlocks.sand.getBlockTextureFromSide(par5); } -} + + return this.blockIcon; + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) + { + this.blockIcon = par1IconRegister.registerIcon("atum:FertileSoilSide"); + this.iconDirt = par1IconRegister.registerIcon("atum:FertileSoil"); + this.iconGrassTop = par1IconRegister.registerIcon("atum:FertileSoilTop"); + this.iconGrassSideOverlay = par1IconRegister.registerIcon("grass_side_overlay"); + } + + @SideOnly(Side.CLIENT) + public static Icon getIconSideOverlay() + { + return AtumBlocks.fertileSoil.iconGrassSideOverlay; + } +} \ No newline at end of file diff --git a/common/rebelkeithy/mods/atum/blocks/BlockFertileSoilTilled.java b/common/rebelkeithy/mods/atum/blocks/BlockFertileSoilTilled.java index f0f7ab7..1180554 100644 --- a/common/rebelkeithy/mods/atum/blocks/BlockFertileSoilTilled.java +++ b/common/rebelkeithy/mods/atum/blocks/BlockFertileSoilTilled.java @@ -1,14 +1,13 @@ package rebelkeithy.mods.atum.blocks; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import java.util.Random; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemDye; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Icon; import net.minecraft.world.World; @@ -16,244 +15,151 @@ import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.IPlantable; import rebelkeithy.mods.atum.AtumBlocks; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockFertileSoilTilled extends Block -{ - @SideOnly(Side.CLIENT) - private Icon field_94441_a; - @SideOnly(Side.CLIENT) - private Icon field_94440_b; - - public BlockFertileSoilTilled(int par1) - { - super(par1, Material.ground); - this.setTickRandomly(true); - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.9375F, 1.0F); - this.setLightOpacity(255); - } - - @SideOnly(Side.CLIENT) - - /** - * A randomly called display update to be able to add particles or other items for display - */ - public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) - { - int enchanted = ((par1World.getBlockMetadata(par2, par3, par4) & 4) & 4) >> 2; - if(enchanted == 1) - { - if(par5Random.nextDouble() > 0.6) - { - double d0 = par5Random.nextGaussian() * 0.02D; - double d1 = par5Random.nextGaussian() * 0.02D; - double d2 = par5Random.nextGaussian() * 0.02D; - par1World.spawnParticle("happyVillager", (double)((float)par2 + par5Random.nextFloat()), (double)par3 + (double)par5Random.nextFloat() * this.getBlockBoundsMaxY()*0.4 + 1, (double)((float)par4 + par5Random.nextFloat()), d0, d1, d2); - } - } - } - - /** - * Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been - * cleared to be reused) - */ - public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) - { - return AxisAlignedBB.getAABBPool().getAABB((double)(par2 + 0), (double)(par3 + 0), (double)(par4 + 0), (double)(par2 + 1), (double)(par3 + 1), (double)(par4 + 1)); - } - - /** - * Is this block (a) opaque and (b) a full 1m cube? This determines whether or not to render the shared face of two - * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block. - */ - public boolean isOpaqueCube() - { - return false; - } - - /** - * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc) - */ - public boolean renderAsNormalBlock() - { - return false; - } - - @SideOnly(Side.CLIENT) - - /** - * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata - */ - public Icon getIcon(int par1, int par2) - { - if(par2 >> 3 == 0) - return par1 == 1 ? (par2 > 0 ? this.field_94441_a : this.field_94440_b) : AtumBlocks.fertileSoil.getIcon(par1, 1); - else - return Block.tilledField.getIcon(par1, par2); - } - - /** - * Ticks the block if it's been scheduled - */ - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) - { - int meta = par1World.getBlockMetadata(par2, par3, par4); - if (!this.isWaterNearby(par1World, par2, par3, par4) && !par1World.canLightningStrikeAt(par2, par3 + 1, par4)) - { - if ((meta & 3) > 0 && Math.random() > 0.5) - { - par1World.setBlockMetadataWithNotify(par2, par3, par4, meta - 1, 2); - } - else if (!this.isCropsNearby(par1World, par2, par3, par4)) - { - this.revertToDirt(par1World, par2, par3, par4); - } - } - else - { - par1World.setBlockMetadataWithNotify(par2, par3, par4, meta | 3, 2); - } - - int cropID = par1World.getBlockId(par2, par3+1, par4); - if(cropID != 0) - { - for(int i = 0; i < 2; i++) - Block.blocksList[cropID].updateTick(par1World, par2, par3+1, par4, par5Random); - } - } - - /** - * Block's chance to react to an entity falling on it. - */ - public void onFallenUpon(World par1World, int par2, int par3, int par4, Entity par5Entity, float par6) - { - if (!par1World.isRemote && par1World.rand.nextFloat() < par6 - 0.5F) - { - if (!(par5Entity instanceof EntityPlayer) && !par1World.getGameRules().getGameRuleBooleanValue("mobGriefing")) - { - return; - } +public class BlockFertileSoilTilled extends Block { + + @SideOnly(Side.CLIENT) + private Icon field_94441_a; + @SideOnly(Side.CLIENT) + private Icon field_94440_b; + + + public BlockFertileSoilTilled(int par1) { + super(par1, Material.ground); + this.setTickRandomly(true); + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.9375F, 1.0F); + this.setLightOpacity(255); + } + + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { + int enchanted = (par1World.getBlockMetadata(par2, par3, par4) & 4 & 4) >> 2; + if(enchanted == 1 && par5Random.nextDouble() > 0.6D) { + double d0 = par5Random.nextGaussian() * 0.02D; + double d1 = par5Random.nextGaussian() * 0.02D; + double d2 = par5Random.nextGaussian() * 0.02D; + par1World.spawnParticle("happyVillager", (double)((float)par2 + par5Random.nextFloat()), (double)par3 + (double)par5Random.nextFloat() * this.getBlockBoundsMaxY() * 0.4D + 1.0D, (double)((float)par4 + par5Random.nextFloat()), d0, d1, d2); + } + + } + + public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { + return AxisAlignedBB.getAABBPool().getAABB((double)(par2 + 0), (double)(par3 + 0), (double)(par4 + 0), (double)(par2 + 1), (double)(par3 + 1), (double)(par4 + 1)); + } + + public boolean isOpaqueCube() { + return false; + } + + public boolean renderAsNormalBlock() { + return false; + } + + @SideOnly(Side.CLIENT) + public Icon getIcon(int par1, int par2) { + return par2 >> 3 == 0?(par1 == 1?(par2 > 0?this.field_94441_a:this.field_94440_b):AtumBlocks.fertileSoil.getIcon(par1, 1)):Block.tilledField.getIcon(par1, par2); + } + + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + int meta = par1World.getBlockMetadata(par2, par3, par4); + if(!this.isWaterNearby(par1World, par2, par3, par4) && !par1World.canLightningStrikeAt(par2, par3 + 1, par4)) { + if((meta & 3) > 0 && Math.random() > 0.5D) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, meta - 1, 2); + } else if(!this.isCropsNearby(par1World, par2, par3, par4)) { this.revertToDirt(par1World, par2, par3, par4); - } - } - - /** - * returns true if there is at least one cropblock nearby (x-1 to x+1, y+1, z-1 to z+1) - */ - private boolean isCropsNearby(World par1World, int par2, int par3, int par4) - { - byte b0 = 0; - - for (int l = par2 - b0; l <= par2 + b0; ++l) - { - for (int i1 = par4 - b0; i1 <= par4 + b0; ++i1) - { - int j1 = par1World.getBlockId(l, par3 + 1, i1); - - Block plant = blocksList[j1]; - if (plant instanceof IPlantable && canSustainPlant(par1World, par2, par3, par4, ForgeDirection.UP, (IPlantable)plant)) - { - return true; - } + } + } else { + par1World.setBlockMetadataWithNotify(par2, par3, par4, meta | 3, 2); + } + + int cropID = par1World.getBlockId(par2, par3 + 1, par4); + if(cropID != 0) { + for(int i = 0; i < 2; ++i) { + Block.blocksList[cropID].updateTick(par1World, par2, par3 + 1, par4, par5Random); + } + } + + } + + public void onFallenUpon(World par1World, int par2, int par3, int par4, Entity par5Entity, float par6) { + if(!par1World.isRemote && par1World.rand.nextFloat() < par6 - 0.5F) { + if(!(par5Entity instanceof EntityPlayer) && !par1World.getGameRules().getGameRuleBooleanValue("mobGriefing")) { + return; + } + + this.revertToDirt(par1World, par2, par3, par4); + } + + } + + private boolean isCropsNearby(World par1World, int par2, int par3, int par4) { + byte b0 = 0; + + for(int l = par2 - b0; l <= par2 + b0; ++l) { + for(int i1 = par4 - b0; i1 <= par4 + b0; ++i1) { + int j1 = par1World.getBlockId(l, par3 + 1, i1); + Block plant = Block.blocksList[j1]; + if(plant instanceof IPlantable && this.canSustainPlant(par1World, par2, par3, par4, ForgeDirection.UP, (IPlantable)plant)) { + return true; } - } - - return false; - } - - /** - * returns true if there's water nearby (x-4 to x+4, y to y+1, k-4 to k+4) - */ - private boolean isWaterNearby(World par1World, int par2, int par3, int par4) - { - for (int l = par2 - 4; l <= par2 + 4; ++l) - { - for (int i1 = par3; i1 <= par3 + 1; ++i1) - { - for (int j1 = par4 - 4; j1 <= par4 + 4; ++j1) - { - if (par1World.getBlockMaterial(l, i1, j1) == Material.water) - { - return true; - } - } + } + } + + return false; + } + + private boolean isWaterNearby(World par1World, int par2, int par3, int par4) { + for(int l = par2 - 4; l <= par2 + 4; ++l) { + for(int i1 = par3; i1 <= par3 + 1; ++i1) { + for(int j1 = par4 - 4; j1 <= par4 + 4; ++j1) { + if(par1World.getBlockMaterial(l, i1, j1) == Material.water) { + return true; + } } - } - - return false; - } - - /** - * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are - * their own) Args: x, y, z, neighbor blockID - */ - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) - { - super.onNeighborBlockChange(par1World, par2, par3, par4, par5); - Material material = par1World.getBlockMaterial(par2, par3 + 1, par4); - - if (material.isSolid()) - { - this.revertToDirt(par1World, par2, par3, par4); - } - } - - @Override - public boolean canSustainPlant(World world, int x, int y, int z, ForgeDirection direction, IPlantable plant) - { - EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); - - return plantType == EnumPlantType.Crop; - } - - /** - * Returns the ID of the items to drop on destruction. - */ - public int idDropped(int par1, Random par2Random, int par3) - { - if(par1 >> 3 == 0) - return AtumBlocks.sand.blockID;//Block.dirt.idDropped(0, par2Random, par3); - else - return Block.dirt.blockID; - } - - public void revertToDirt(World world, int x, int y, int z) - { - int type = world.getBlockMetadata(x, y, z) >> 3; - if(type == 0) - { - world.setBlock(x, y, z, AtumBlocks.fertileSoil.blockID); - world.setBlockMetadataWithNotify(x, y, z, 1, 2); - } else { - world.setBlock(x, y, z, Block.dirt.blockID); - } - } - - @SideOnly(Side.CLIENT) - - /** - * only called by clickMiddleMouseButton , and passed to inventory.setCurrentItem (along with isCreative) - */ - public int idPicked(World par1World, int par2, int par3, int par4) - { - int type = par1World.getBlockMetadata(par2, par3, par4) >> 3; - if(type == 0) - return AtumBlocks.sand.blockID;//Block.dirt.idDropped(0, par2Random, par3); - else - return Block.dirt.blockID; - } - - @SideOnly(Side.CLIENT) - - /** - * When this method is called, your block should register all the icons it needs with the given IconRegister. This - * is the only chance you get to register icons. - */ - public void registerIcons(IconRegister par1IconRegister) - { - this.field_94441_a = par1IconRegister.registerIcon("farmland_wet"); - this.field_94440_b = par1IconRegister.registerIcon("farmland_dry"); - } + } + } + + return false; + } + + public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) { + super.onNeighborBlockChange(par1World, par2, par3, par4, par5); + Material material = par1World.getBlockMaterial(par2, par3 + 1, par4); + if(material.isSolid()) { + this.revertToDirt(par1World, par2, par3, par4); + } + + } + + public boolean canSustainPlant(World world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { + EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); + return plantType == EnumPlantType.Crop; + } + + public int idDropped(int par1, Random par2Random, int par3) { + return par1 >> 3 == 0?AtumBlocks.sand.blockID:Block.dirt.blockID; + } + + public void revertToDirt(World world, int x, int y, int z) { + int type = world.getBlockMetadata(x, y, z) >> 3; + if(type == 0) { + world.setBlock(x, y, z, AtumBlocks.fertileSoil.blockID); + world.setBlockMetadataWithNotify(x, y, z, 1, 2); + } else { + world.setBlock(x, y, z, Block.dirt.blockID); + } + + } + + @SideOnly(Side.CLIENT) + public int idPicked(World par1World, int par2, int par3, int par4) { + int type = par1World.getBlockMetadata(par2, par3, par4) >> 3; + return type == 0?AtumBlocks.sand.blockID:Block.dirt.blockID; + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + this.field_94441_a = par1IconRegister.registerIcon("farmland_wet"); + this.field_94440_b = par1IconRegister.registerIcon("farmland_dry"); + } } diff --git a/common/rebelkeithy/mods/atum/blocks/BlockFlax.java b/common/rebelkeithy/mods/atum/blocks/BlockFlax.java index 85512de..bb1999d 100644 --- a/common/rebelkeithy/mods/atum/blocks/BlockFlax.java +++ b/common/rebelkeithy/mods/atum/blocks/BlockFlax.java @@ -1,10 +1,9 @@ package rebelkeithy.mods.atum.blocks; -import static net.minecraftforge.common.EnumPlantType.Crop; - +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import java.util.ArrayList; import java.util.Random; - import net.minecraft.block.Block; import net.minecraft.block.BlockFlower; import net.minecraft.client.renderer.texture.IconRegister; @@ -17,262 +16,164 @@ import net.minecraftforge.common.ForgeDirection; import rebelkeithy.mods.atum.AtumBlocks; import rebelkeithy.mods.atum.AtumItems; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class BlockFlax extends BlockFlower -{ - @SideOnly(Side.CLIENT) - private Icon[] iconArray; - - public BlockFlax(int par1) - { - super(par1); - this.setTickRandomly(true); - float f = 0.5F; - this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 0.25F, 0.5F + f); - this.setCreativeTab((CreativeTabs)null); - this.setHardness(0.0F); - this.setStepSound(soundGrassFootstep); - this.disableStats(); - } - - @Override - public EnumPlantType getPlantType(World world, int x, int y, int z) - { - return Crop; - } - - /** - * Can this block stay at this position. Similar to canPlaceBlockAt except gets checked often with plants. - */ - public boolean canBlockStay(World par1World, int par2, int par3, int par4) - { - if(par1World.getBlockMetadata(par2, par3, par4) >> 3 == 1) - return par1World.getBlockId(par2, par3-1, par4) == AtumBlocks.fertileSoil.blockID; - - Block soil = blocksList[par1World.getBlockId(par2, par3 - 1, par4)]; - return (par1World.getFullBlockLightValue(par2, par3, par4) >= 8 || par1World.canBlockSeeTheSky(par2, par3, par4)) && - (soil != null && soil.canSustainPlant(par1World, par2, par3 - 1, par4, ForgeDirection.UP, this)); - } - - /** - * Gets passed in the blockID of the block below and supposed to return true if its allowed to grow on the type of - * blockID passed in. Args: blockID - */ - @Override - protected boolean canThisPlantGrowOnThisBlockID(int par1) - { - return par1 == Block.tilledField.blockID || par1 == AtumBlocks.fertileSoilTilled.blockID; - } - - /** - * Ticks the block if it's been scheduled - */ - @Override - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) - { - super.updateTick(par1World, par2, par3, par4, par5Random); - - if ((par1World.getBlockLightValue(par2, par3 + 1, par4) & 0x0111) >= 9) - { - int l = par1World.getBlockMetadata(par2, par3, par4); - - if ((l & 7) < 5) - { - float f = this.getGrowthRate(par1World, par2, par3, par4); - - if (par5Random.nextInt((int)(25.0F / f) + 1) == 0) - { - ++l; - par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); - } +public class BlockFlax extends BlockFlower { + + @SideOnly(Side.CLIENT) + private Icon[] iconArray; + + + public BlockFlax(int par1) { + super(par1); + this.setTickRandomly(true); + float f = 0.5F; + this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 0.25F, 0.5F + f); + this.setCreativeTab((CreativeTabs)null); + this.setHardness(0.0F); + this.setStepSound(Block.soundGrassFootstep); + this.disableStats(); + } + + public EnumPlantType getPlantType(World world, int x, int y, int z) { + return EnumPlantType.Crop; + } + + public boolean canBlockStay(World par1World, int par2, int par3, int par4) { + if(par1World.getBlockMetadata(par2, par3, par4) >> 3 == 1) { + return par1World.getBlockId(par2, par3 - 1, par4) == AtumBlocks.fertileSoil.blockID; + } else { + Block soil = Block.blocksList[par1World.getBlockId(par2, par3 - 1, par4)]; + return (par1World.getFullBlockLightValue(par2, par3, par4) >= 8 || par1World.canBlockSeeTheSky(par2, par3, par4)) && soil != null && soil.canSustainPlant(par1World, par2, par3 - 1, par4, ForgeDirection.UP, this); + } + } + + protected boolean canThisPlantGrowOnThisBlockID(int par1) { + return par1 == Block.tilledField.blockID || par1 == AtumBlocks.fertileSoilTilled.blockID; + } + + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + super.updateTick(par1World, par2, par3, par4, par5Random); + if((par1World.getBlockLightValue(par2, par3 + 1, par4) & 273) >= 9) { + int l = par1World.getBlockMetadata(par2, par3, par4); + if((l & 7) < 5) { + float f = this.getGrowthRate(par1World, par2, par3, par4); + if(par5Random.nextInt((int)(25.0F / f) + 1) == 0) { + ++l; + par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); } - } - } - - /** - * Apply bonemeal to the crops. - */ - public void fertilize(World par1World, int par2, int par3, int par4) - { - int l = par1World.getBlockMetadata(par2, par3, par4) + MathHelper.getRandomIntegerInRange(par1World.rand, 2, 3); - - if ((l & 7) > 5) - { - l -= (l & 7) - 5; - } - - par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); - } - - /** - * Gets the growth rate for the crop. Setup to encourage rows by halving growth rate if there is diagonals, crops on - * different sides that aren't opposing, and by adding growth for every crop next to this one (and for crop below - * this one). Args: x, y, z - */ - private float getGrowthRate(World par1World, int par2, int par3, int par4) - { - float f = 1.0F; - int l = par1World.getBlockId(par2, par3, par4 - 1); - int i1 = par1World.getBlockId(par2, par3, par4 + 1); - int j1 = par1World.getBlockId(par2 - 1, par3, par4); - int k1 = par1World.getBlockId(par2 + 1, par3, par4); - int l1 = par1World.getBlockId(par2 - 1, par3, par4 - 1); - int i2 = par1World.getBlockId(par2 + 1, par3, par4 - 1); - int j2 = par1World.getBlockId(par2 + 1, par3, par4 + 1); - int k2 = par1World.getBlockId(par2 - 1, par3, par4 + 1); - boolean flag = j1 == this.blockID || k1 == this.blockID; - boolean flag1 = l == this.blockID || i1 == this.blockID; - boolean flag2 = l1 == this.blockID || i2 == this.blockID || j2 == this.blockID || k2 == this.blockID; - - for (int l2 = par2 - 1; l2 <= par2 + 1; ++l2) - { - for (int i3 = par4 - 1; i3 <= par4 + 1; ++i3) - { - int j3 = par1World.getBlockId(l2, par3 - 1, i3); - float f1 = 0.0F; - - if (blocksList[j3] != null && blocksList[j3].canSustainPlant(par1World, l2, par3 - 1, i3, ForgeDirection.UP, this)) - { - f1 = 1.0F; - - if (blocksList[j3].isFertile(par1World, l2, par3 - 1, i3)) - { - f1 = 3.0F; - } - } - - if (l2 != par2 || i3 != par4) - { - f1 /= 4.0F; - } - - f += f1; + } + } + + } + + public void fertilize(World par1World, int par2, int par3, int par4) { + int l = par1World.getBlockMetadata(par2, par3, par4) + MathHelper.getRandomIntegerInRange(par1World.rand, 2, 3); + if((l & 7) > 5) { + l -= (l & 7) - 5; + } + + par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); + } + + private float getGrowthRate(World par1World, int par2, int par3, int par4) { + float f = 1.0F; + int l = par1World.getBlockId(par2, par3, par4 - 1); + int i1 = par1World.getBlockId(par2, par3, par4 + 1); + int j1 = par1World.getBlockId(par2 - 1, par3, par4); + int k1 = par1World.getBlockId(par2 + 1, par3, par4); + int l1 = par1World.getBlockId(par2 - 1, par3, par4 - 1); + int i2 = par1World.getBlockId(par2 + 1, par3, par4 - 1); + int j2 = par1World.getBlockId(par2 + 1, par3, par4 + 1); + int k2 = par1World.getBlockId(par2 - 1, par3, par4 + 1); + boolean flag = j1 == super.blockID || k1 == super.blockID; + boolean flag1 = l == super.blockID || i1 == super.blockID; + boolean flag2 = l1 == super.blockID || i2 == super.blockID || j2 == super.blockID || k2 == super.blockID; + + for(int l2 = par2 - 1; l2 <= par2 + 1; ++l2) { + for(int i3 = par4 - 1; i3 <= par4 + 1; ++i3) { + int j3 = par1World.getBlockId(l2, par3 - 1, i3); + float f1 = 0.0F; + if(Block.blocksList[j3] != null && Block.blocksList[j3].canSustainPlant(par1World, l2, par3 - 1, i3, ForgeDirection.UP, this)) { + f1 = 1.0F; + if(Block.blocksList[j3].isFertile(par1World, l2, par3 - 1, i3)) { + f1 = 3.0F; + } + } + + if(l2 != par2 || i3 != par4) { + f1 /= 4.0F; } - } - - if (flag2 || flag && flag1) - { - f /= 2.0F; - } - - return f; - } - - @SideOnly(Side.CLIENT) - - /** - * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata - */ - @Override - public Icon getIcon(int par1, int par2) - { - int meta = par2 & 7; - if (meta < 0 || meta > 5) - { - meta = 5; - } - - return this.iconArray[meta]; - } - - /** - * The type of render function that is called for this block - */ - @Override - public int getRenderType() - { - return 1; - } - - /** - * Generate a seed ItemStack for this crop. - */ - protected int getSeedItem() - { - return AtumItems.flaxSeeds.itemID; - } - - /** - * Generate a crop produce ItemStack for this crop. - */ - protected int getCropItem() - { - return AtumItems.flax.itemID; - } - - /** - * Drops the block items with a specified chance of dropping the specified items - */ - @Override - public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int par4, int par5, float par6, int par7) - { - super.dropBlockAsItemWithChance(par1World, par2, par3, par4, par5, par6, 0); - } - - @Override - public ArrayList getBlockDropped(World world, int x, int y, int z, int metadata, int fortune) - { - ArrayList ret = super.getBlockDropped(world, x, y, z, metadata, fortune); - - if ((metadata & 7) >= 5) - { - for (int n = 0; n < 3 + fortune; n++) - { - if (world.rand.nextInt(15) <= (metadata & 7)) - { - ret.add(new ItemStack(this.getSeedItem(), 1, 0)); - } + + f += f1; + } + } + + if(flag2 || flag && flag1) { + f /= 2.0F; + } + + return f; + } + + @SideOnly(Side.CLIENT) + public Icon getIcon(int par1, int par2) { + int meta = par2 & 7; + if(meta < 0 || meta > 5) { + meta = 5; + } + + return this.iconArray[meta]; + } + + public int getRenderType() { + return 1; + } + + protected int getSeedItem() { + return AtumItems.flaxSeeds.itemID; + } + + protected int getCropItem() { + return AtumItems.flax.itemID; + } + + public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int par4, int par5, float par6, int par7) { + super.dropBlockAsItemWithChance(par1World, par2, par3, par4, par5, par6, 0); + } + + public ArrayList getBlockDropped(World world, int x, int y, int z, int metadata, int fortune) { + ArrayList ret = super.getBlockDropped(world, x, y, z, metadata, fortune); + if((metadata & 7) >= 5) { + for(int n = 0; n < 3 + fortune; ++n) { + if(world.rand.nextInt(15) <= (metadata & 7)) { + ret.add(new ItemStack(this.getSeedItem(), 1, 0)); } - } - - return ret; - } - - /** - * Returns the ID of the items to drop on destruction. - */ - @Override - public int idDropped(int par1, Random par2Random, int par3) - { - return par1 == 5 ? this.getCropItem() : this.getSeedItem(); - } - - /** - * Returns the quantity of items to drop on block destruction. - */ - @Override - public int quantityDropped(Random par1Random) - { - return 1; - } - - @SideOnly(Side.CLIENT) - - /** - * only called by clickMiddleMouseButton , and passed to inventory.setCurrentItem (along with isCreative) - */ - @Override - public int idPicked(World par1World, int par2, int par3, int par4) - { - return this.getSeedItem(); - } - - @SideOnly(Side.CLIENT) - - /** - * When this method is called, your block should register all the icons it needs with the given IconRegister. This - * is the only chance you get to register icons. - */ - @Override - public void registerIcons(IconRegister par1IconRegister) - { - this.iconArray = new Icon[6]; - - for (int i = 0; i < this.iconArray.length; ++i) - { - this.iconArray[i] = par1IconRegister.registerIcon("Atum:Flax_" + i); - } - } + } + } + + return ret; + } + + public int idDropped(int par1, Random par2Random, int par3) { + return par1 == 5?this.getCropItem():this.getSeedItem(); + } + + public int quantityDropped(Random par1Random) { + return 1; + } + + @SideOnly(Side.CLIENT) + public int idPicked(World par1World, int par2, int par3, int par4) { + return this.getSeedItem(); + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + this.iconArray = new Icon[6]; + + for(int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IconRegister.registerIcon("atum:Flax_" + i); + } + + } } diff --git a/common/rebelkeithy/mods/atum/blocks/BlockPalmLog.java b/common/rebelkeithy/mods/atum/blocks/BlockPalmLog.java index 5e2e98b..cfb03d8 100644 --- a/common/rebelkeithy/mods/atum/blocks/BlockPalmLog.java +++ b/common/rebelkeithy/mods/atum/blocks/BlockPalmLog.java @@ -2,9 +2,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import java.util.List; import java.util.Random; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; @@ -13,160 +11,100 @@ import net.minecraft.util.Icon; import net.minecraft.world.World; -public class BlockPalmLog extends Block -{ - /** The type of tree this log came from. */ - public static final String[] woodType = new String[] {"oak", "spruce", "birch", "jungle"}; - public static final String[] treeTextureTypes = new String[] {"tree_side", "tree_spruce", "tree_birch", "tree_jungle"}; - @SideOnly(Side.CLIENT) - private Icon[] iconArray; - @SideOnly(Side.CLIENT) - private Icon tree_top; - private Icon tree_side; - - public BlockPalmLog(int par1) - { - super(par1, Material.wood); - this.setCreativeTab(CreativeTabs.tabBlock); - this.setBurnProperties(this.blockID, 5, 5); - } - - /** - * The type of render function that is called for this block - */ - @Override - public int getRenderType() - { - return 31; - } - - /** - * Returns the quantity of items to drop on block destruction. - */ - @Override - public int quantityDropped(Random par1Random) - { - return 1; - } - - /** - * ejects contained items into the world, and notifies neighbours of an update, as appropriate - */ - @Override - public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) - { - byte b0 = 4; - int j1 = b0 + 1; - - if (par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1)) - { - for (int k1 = -b0; k1 <= b0; ++k1) - { - for (int l1 = -b0; l1 <= b0; ++l1) - { - for (int i2 = -b0; i2 <= b0; ++i2) - { - int j2 = par1World.getBlockId(par2 + k1, par3 + l1, par4 + i2); - - if (Block.blocksList[j2] != null) - { - Block.blocksList[j2].beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2); - } - } - } +public class BlockPalmLog extends Block { + + public static final String[] woodType = new String[]{"oak", "spruce", "birch", "jungle"}; + public static final String[] treeTextureTypes = new String[]{"tree_side", "tree_spruce", "tree_birch", "tree_jungle"}; + @SideOnly(Side.CLIENT) + private Icon[] iconArray; + @SideOnly(Side.CLIENT) + private Icon tree_top; + private Icon tree_side; + + + public BlockPalmLog(int par1) { + super(par1, Material.wood); + this.setCreativeTab(CreativeTabs.tabBlock); + setBurnProperties(super.blockID, 5, 5); + } + + public int getRenderType() { + return 31; + } + + public int quantityDropped(Random par1Random) { + return 1; + } + + public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) { + byte b0 = 4; + int j1 = b0 + 1; + if(par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1)) { + for(int k1 = -b0; k1 <= b0; ++k1) { + for(int l1 = -b0; l1 <= b0; ++l1) { + for(int i2 = -b0; i2 <= b0; ++i2) { + int j2 = par1World.getBlockId(par2 + k1, par3 + l1, par4 + i2); + if(Block.blocksList[j2] != null) { + Block.blocksList[j2].beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2); + } + } } - } - } - - /** - * Called when a block is placed using its ItemBlock. Args: World, X, Y, Z, side, hitX, hitY, hitZ, block metadata - */ - @Override - public int onBlockPlaced(World par1World, int par2, int par3, int par4, int par5, float par6, float par7, float par8, int par9) - { - int j1 = par9 & 3; - byte b0 = 0; - - switch (par5) - { - case 0: - case 1: - b0 = 0; - break; - case 2: - case 3: - b0 = 8; - break; - case 4: - case 5: - b0 = 4; - } - - return j1 | b0; - } - - @SideOnly(Side.CLIENT) - - /** - * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata - */ - @Override - public Icon getIcon(int par1, int par2) - { - int k = par2 & 12; - int l = par2 & 3; - return k == 0 && (par1 == 1 || par1 == 0) ? this.tree_top : (k == 4 && (par1 == 5 || par1 == 4) ? this.tree_top : (k == 8 && (par1 == 2 || par1 == 3) ? this.tree_top : this.tree_side)); - } - - /** - * Determines the damage on the item the block drops. Used in cloth and wood. - */ - @Override - public int damageDropped(int par1) - { - return par1 & 3; - } - - /** - * returns a number between 0 and 3 - */ - public static int limitToValidMetadata(int par0) - { - return par0 & 3; - } - - /** - * Returns an item stack containing a single instance of the current block type. 'i' is the block's subtype/damage - * and is ignored for blocks which do not support subtypes. Blocks which cannot be harvested should return null. - */ - @Override - protected ItemStack createStackedBlock(int par1) - { - return new ItemStack(this.blockID, 1, limitToValidMetadata(par1)); - } - - @SideOnly(Side.CLIENT) - - /** - * When this method is called, your block should register all the icons it needs with the given IconRegister. This - * is the only chance you get to register icons. - */ - @Override - public void registerIcons(IconRegister par1IconRegister) - { - this.tree_top = par1IconRegister.registerIcon("Atum:tree_top"); - this.tree_side = par1IconRegister.registerIcon("Atum:tree_side"); - } - - @Override - public boolean canSustainLeaves(World world, int x, int y, int z) - { - return true; - } - - @Override - public boolean isWood(World world, int x, int y, int z) - { - return true; - } + } + } + + } + + public int onBlockPlaced(World par1World, int par2, int par3, int par4, int par5, float par6, float par7, float par8, int par9) { + int j1 = par9 & 3; + byte b0 = 0; + switch(par5) { + case 0: + case 1: + b0 = 0; + break; + case 2: + case 3: + b0 = 8; + break; + case 4: + case 5: + b0 = 4; + } + + return j1 | b0; + } + + @SideOnly(Side.CLIENT) + public Icon getIcon(int par1, int par2) { + int k = par2 & 12; + int l = par2 & 3; + return k == 0 && (par1 == 1 || par1 == 0)?this.tree_top:(k == 4 && (par1 == 5 || par1 == 4)?this.tree_top:(k == 8 && (par1 == 2 || par1 == 3)?this.tree_top:this.tree_side)); + } + + public int damageDropped(int par1) { + return par1 & 3; + } + + public static int limitToValidMetadata(int par0) { + return par0 & 3; + } + + protected ItemStack createStackedBlock(int par1) { + return new ItemStack(super.blockID, 1, limitToValidMetadata(par1)); + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + this.tree_top = par1IconRegister.registerIcon("atum:tree_top"); + this.tree_side = par1IconRegister.registerIcon("atum:tree_side"); + } + + public boolean canSustainLeaves(World world, int x, int y, int z) { + return true; + } + + public boolean isWood(World world, int x, int y, int z) { + return true; + } + } diff --git a/common/rebelkeithy/mods/atum/blocks/BlockPalmSapling.java b/common/rebelkeithy/mods/atum/blocks/BlockPalmSapling.java index 6011e33..f6cc0f4 100644 --- a/common/rebelkeithy/mods/atum/blocks/BlockPalmSapling.java +++ b/common/rebelkeithy/mods/atum/blocks/BlockPalmSapling.java @@ -4,110 +4,87 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockFlower; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.world.World; +import rebelkeithy.mods.atum.Atum; import rebelkeithy.mods.atum.AtumBlocks; -public class BlockPalmSapling extends BlockFlower -{ - public BlockPalmSapling(int par1) - { - super(par1); - float f = 0.4F; - this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, f * 2.0F, 0.5F + f); - } - - @Override - public void updateTick(World world, int x, int y, int z, Random rand) - { - if (!world.isRemote) - { - super.updateTick(world, x, y, z, rand); - - if (world.getBlockLightValue(x, y + 1, z) > 9 && rand.nextInt(20) == 0) - { - growTree(world, x, y, z, rand); - } - } - } - - public void growTree(World world, int x, int y, int z, Random rand) - { - // TODO Auto-generated method stub - - int height = rand.nextInt(4) + 5; - - //world.setBlock(x, y, z, AtumBlocks.atumLog.blockID, 0, 0x02); - for(int i = 0; i < height; ++i) - { - world.setBlock(x, y + i, z, AtumBlocks.log.blockID, 0, 0x02); - } - - world.setBlock(x, y + height, z, AtumBlocks.leaves.blockID, 0, 0x02); - - for(int i = -1; i < 2; ++i) - { - for(int j = -1; j < 2; ++j) - { - if(i == 0 && j == 0) - { - continue; - } - - world.setBlock(x + i, y + height - 1, z + j, AtumBlocks.leaves.blockID, 0, 0x02); - } - } - - world.setBlock(x + 2, y + height - 1, z, AtumBlocks.leaves.blockID, 0, 0x02); - world.setBlock(x + 2, y + height - 2, z, AtumBlocks.leaves.blockID, 0, 0x02); - world.setBlock(x + 3, y + height - 2, z, AtumBlocks.leaves.blockID, 0, 0x02); - if (rand.nextInt(100) < 15) - { - world.setBlock(x + 1, y + height - 2, z, AtumBlocks.dateBlock.blockID, 0, 0x02); +public class BlockPalmSapling extends BlockFlower { + + public BlockPalmSapling(int par1) { + super(par1); + float f = 0.4F; + this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, f * 2.0F, 0.5F + f); + } + + public void updateTick(World world, int x, int y, int z, Random rand) { + if (!world.isRemote) { + super.updateTick(world, x, y, z, rand); + if (world.getBlockLightValue(x, y + 1, z) > 9 && rand.nextInt(20) == 0) { + this.growTree(world, x, y, z, rand); + } + } + + } + + public void growTree(World world, int x, int y, int z, Random rand) { + int height = rand.nextInt(4) + 5; + + int i; + for (i = 0; i < height; ++i) { + world.setBlock(x, y + i, z, AtumBlocks.log.blockID, 0, 2); } - - world.setBlock(x - 2, y + height - 1, z, AtumBlocks.leaves.blockID, 0, 0x02); - world.setBlock(x - 2, y + height - 2, z, AtumBlocks.leaves.blockID, 0, 0x02); - world.setBlock(x - 3, y + height - 2, z, AtumBlocks.leaves.blockID, 0, 0x02); - if (rand.nextInt(100) < 15) - { - world.setBlock(x - 1, y + height - 2, z, AtumBlocks.dateBlock.blockID, 0, 0x02); + + world.setBlock(x, y + height, z, AtumBlocks.leaves.blockID, 0, 2); + + for (i = -1; i < 2; ++i) { + for (int j = -1; j < 2; ++j) { + if (i != 0 || j != 0) { + world.setBlock(x + i, y + height - 1, z + j, AtumBlocks.leaves.blockID, 0, 2); + } + } } - - world.setBlock(x, y + height - 1, z + 2, AtumBlocks.leaves.blockID, 0, 0x02); - world.setBlock(x, y + height - 2, z + 2, AtumBlocks.leaves.blockID, 0, 0x02); - world.setBlock(x, y + height - 2, z + 3, AtumBlocks.leaves.blockID, 0, 0x02); - if (rand.nextInt(100) < 15) - { - world.setBlock(x, y + height - 2, z + 1, AtumBlocks.dateBlock.blockID, 0, 0x02); + + world.setBlock(x + 2, y + height - 1, z, AtumBlocks.leaves.blockID, 0, 2); + world.setBlock(x + 2, y + height - 2, z, AtumBlocks.leaves.blockID, 0, 2); + world.setBlock(x + 3, y + height - 2, z, AtumBlocks.leaves.blockID, 0, 2); + if (rand.nextInt(100) < 15) { + world.setBlock(x + 1, y + height - 2, z, AtumBlocks.dateBlock.blockID, 0, 2); } - - world.setBlock(x, y + height - 1, z - 2, AtumBlocks.leaves.blockID, 0, 0x02); - world.setBlock(x, y + height - 2, z - 2, AtumBlocks.leaves.blockID, 0, 0x02); - world.setBlock(x, y + height - 2, z - 3, AtumBlocks.leaves.blockID, 0, 0x02); - if (rand.nextInt(100) < 15) - { - world.setBlock(x, y + height - 2, z - 1, AtumBlocks.dateBlock.blockID, 0, 0x02); + + world.setBlock(x - 2, y + height - 1, z, AtumBlocks.leaves.blockID, 0, 2); + world.setBlock(x - 2, y + height - 2, z, AtumBlocks.leaves.blockID, 0, 2); + world.setBlock(x - 3, y + height - 2, z, AtumBlocks.leaves.blockID, 0, 2); + if (rand.nextInt(100) < 15) { + world.setBlock(x - 1, y + height - 2, z, AtumBlocks.dateBlock.blockID, 0, 2); } + + world.setBlock(x, y + height - 1, z + 2, AtumBlocks.leaves.blockID, 0, 2); + world.setBlock(x, y + height - 2, z + 2, AtumBlocks.leaves.blockID, 0, 2); + world.setBlock(x, y + height - 2, z + 3, AtumBlocks.leaves.blockID, 0, 2); + if (rand.nextInt(100) < 15) { + world.setBlock(x, y + height - 2, z + 1, AtumBlocks.dateBlock.blockID, 0, 2); + } + + world.setBlock(x, y + height - 1, z - 2, AtumBlocks.leaves.blockID, 0, 2); + world.setBlock(x, y + height - 2, z - 2, AtumBlocks.leaves.blockID, 0, 2); + world.setBlock(x, y + height - 2, z - 3, AtumBlocks.leaves.blockID, 0, 2); + if (rand.nextInt(100) < 15) { + world.setBlock(x, y + height - 2, z - 1, AtumBlocks.dateBlock.blockID, 0, 2); + } + + } + + protected boolean canThisPlantGrowOnThisBlockID(int id) { + return id == AtumBlocks.sand.blockID || id == Block.grass.blockID || id == Block.dirt.blockID; + } + + public boolean canBlockStay(World world, int x, int y, int z) { + return world.getBlockId(x, y - 1, z) == AtumBlocks.sand.blockID || world.getBlockId(x, y - 1, z) == Block.grass.blockID || world.getBlockId(x, y - 1, z) == Block.dirt.blockID; + } + + @Override + public void registerIcons(IconRegister par1IconRegister) { + this.blockIcon = par1IconRegister.registerIcon(Atum.modID + ":AtumPalmSapling"); } - - @Override - protected boolean canThisPlantGrowOnThisBlockID(int id) - { - if(id == AtumBlocks.sand.blockID || id == Block.grass.blockID || id == Block.dirt.blockID) - { - return true; - } - return false; - } - - @Override - public boolean canBlockStay(World world, int x, int y, int z) - { - if(world.getBlockId(x, y - 1, z) == AtumBlocks.sand.blockID || world.getBlockId(x, y - 1, z) == Block.grass.blockID || world.getBlockId(x, y - 1, z) == Block.dirt.blockID) - { - return true; - } - - return false; - } } diff --git a/common/rebelkeithy/mods/atum/blocks/BlockPapyrus.java b/common/rebelkeithy/mods/atum/blocks/BlockPapyrus.java index 5ad5f82..f32c400 100644 --- a/common/rebelkeithy/mods/atum/blocks/BlockPapyrus.java +++ b/common/rebelkeithy/mods/atum/blocks/BlockPapyrus.java @@ -1,7 +1,9 @@ package rebelkeithy.mods.atum.blocks; +import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import java.util.Random; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; @@ -15,271 +17,147 @@ import net.minecraftforge.common.IPlantable; import rebelkeithy.mods.atum.AtumBlocks; import rebelkeithy.mods.atum.AtumItems; -import cpw.mods.fml.client.registry.RenderingRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockPapyrus extends Block implements IPlantable -{ - Icon iconPapyrus; - Icon iconPapyrusTop; - public int renderID = RenderingRegistry.getNextAvailableRenderId(); - - public BlockPapyrus(int par1) - { - super(par1, Material.plants); - float f = 0.375F; - this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 1.0F, 0.5F + f); - this.setTickRandomly(true); - } - - - @Override - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) - { - if(par5EntityPlayer.capabilities.isCreativeMode) - { - updateTick(par1World, par2, par3, par4, new Random()); - } - return super.onBlockActivated(par1World, par2, par3, par4, par5EntityPlayer, par6, par7, par8, par9); - } - - /** - * Ticks the block if it's been scheduled - */ - @Override - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) - { - if(par5Random.nextFloat() > 0.75) - return; - - if (par1World.isAirBlock(par2, par3 + 1, par4)) - { - int l; - - for (l = 1; par1World.getBlockId(par2, par3 - l, par4) == this.blockID; ++l) - { - ; - } - - if (l < 5) - { - int i1 = par1World.getBlockMetadata(par2, par3, par4); - int reqHeight = 0; - - if(l == 1) - reqHeight = 2; - else if(l == 2) - reqHeight = 4; - else if(l == 3) - reqHeight = 8; - else if(l == 4) - reqHeight = 15; - - if (i1 >= reqHeight) - { - par1World.setBlock(par2, par3 + 1, par4, this.blockID); - par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 4); - } - else - { - par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 + 1, 4); - } - } - } - } - - @Override - public Icon getIcon(int par1, int par2) - { - return iconPapyrus; - } - - @SideOnly(Side.CLIENT) - /** - * Retrieves the block texture to use based on the display side. Args: iBlockAccess, x, y, z, side - */ - @Override - public Icon getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) - { - boolean top = par1IBlockAccess.getBlockId(par2, par3+1, par4) != this.blockID; - if(top) - return iconPapyrusTop; - - return iconPapyrus; - } +public class BlockPapyrus extends Block implements IPlantable { - /** - * Checks to see if its valid to put this block at the specified coordinates. Args: world, x, y, z - */ - @Override - public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4) - { - Block block = Block.blocksList[par1World.getBlockId(par2, par3 - 1, par4)]; - return (block != null && block.canSustainPlant(par1World, par2, par3 - 1, par4, ForgeDirection.UP, this)); - } + Icon iconPapyrus; + Icon iconPapyrusTop; + public int renderID = RenderingRegistry.getNextAvailableRenderId(); - /** - * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are - * their own) Args: x, y, z, neighbor blockID - */ - @Override - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) - { - this.checkBlockCoordValid(par1World, par2, par3, par4); - } - /** - * Checks if current block pos is valid, if not, breaks the block as dropable item. Used for reed and cactus. - */ - protected final void checkBlockCoordValid(World par1World, int par2, int par3, int par4) - { - if (!this.canBlockStay(par1World, par2, par3, par4)) - { - this.dropBlockAsItem(par1World, par2, par3, par4, par1World.getBlockMetadata(par2, par3, par4), 0); - par1World.setBlockToAir(par2, par3, par4); - } - } + public BlockPapyrus(int par1) { + super(par1, Material.plants); + float f = 0.375F; + this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 1.0F, 0.5F + f); + this.setTickRandomly(true); + } - /** - * Can this block stay at this position. Similar to canPlaceBlockAt except gets checked often with plants. - */ - @Override - public boolean canBlockStay(World par1World, int par2, int par3, int par4) - { - return this.canPlaceBlockAt(par1World, par2, par3, par4); - } + public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { + if(par5EntityPlayer.capabilities.isCreativeMode) { + this.updateTick(par1World, par2, par3, par4, new Random()); + } - /** - * Determines if this block can support the passed in plant, allowing it to be planted and grow. - * Some examples: - * Reeds check if its a reed, or if its sand/dirt/grass and adjacent to water - * Cacti checks if its a cacti, or if its sand - * Nether types check for soul sand - * Crops check for tilled soil - * Caves check if it's a colid surface - * Plains check if its grass or dirt - * Water check if its still water - * - * @param world The current world - * @param x X Position - * @param y Y Position - * @param z Z position - * @param direction The direction relative to the given position the plant wants to be, typically its UP - * @param plant The plant that wants to check - * @return True to allow the plant to be planted/stay. - */ - @Override - public boolean canSustainPlant(World world, int x, int y, int z, ForgeDirection direction, IPlantable plant) - { - int plantID = plant.getPlantID(world, x, y + 1, z); - EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); + return super.onBlockActivated(par1World, par2, par3, par4, par5EntityPlayer, par6, par7, par8, par9); + } - if (plantID == AtumBlocks.papyrus.blockID && blockID == AtumBlocks.papyrus.blockID) - { - return true; - } - - if(plantType == EnumPlantType.Beach) - { - boolean isBeach = (blockID == Block.grass.blockID || blockID == Block.dirt.blockID || blockID == Block.sand.blockID); - boolean hasWater = (world.getBlockMaterial(x - 1, y, z ) == Material.water || - world.getBlockMaterial(x + 1, y, z ) == Material.water || - world.getBlockMaterial(x, y, z - 1) == Material.water || - world.getBlockMaterial(x, y, z + 1) == Material.water); - return isBeach && hasWater; - } - - return false; - } - - /** - * Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been - * cleared to be reused) - */ - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) - { - return null; - } - - /** - * Returns the ID of the items to drop on destruction. - */ - @Override - public int idDropped(int par1, Random par2Random, int par3) - { - return AtumItems.papyrusPlant.itemID; - } - - /** - * Is this block (a) opaque and (b) a full 1m cube? This determines whether or not to render the shared face of two - * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block. - */ - @Override - public boolean isOpaqueCube() - { - return false; - } - - /** - * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc) - */ - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - /** - * The type of render function that is called for this block - */ - @Override - public int getRenderType() - { - return renderID; - } - - @SideOnly(Side.CLIENT) - - /** - * only called by clickMiddleMouseButton , and passed to inventory.setCurrentItem (along with isCreative) - */ - @Override - public int idPicked(World par1World, int par2, int par3, int par4) - { - return AtumItems.papyrusPlant.itemID; - } - - @Override - public EnumPlantType getPlantType(World world, int x, int y, int z) - { - return EnumPlantType.Beach; - } - - @Override - public int getPlantID(World world, int x, int y, int z) - { - return blockID; - } - - @Override - public int getPlantMetadata(World world, int x, int y, int z) - { - return world.getBlockMetadata(x, y, z); - } - - @SideOnly(Side.CLIENT) + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + if((double)par5Random.nextFloat() <= 0.75D) { + if(par1World.isAirBlock(par2, par3 + 1, par4)) { + int l; + for(l = 1; par1World.getBlockId(par2, par3 - l, par4) == super.blockID; ++l) { + ; + } - /** - * When this method is called, your block should register all the icons it needs with the given IconRegister. This - * is the only chance you get to register icons. - */ - @Override - public void registerIcons(IconRegister par1IconRegister) - { - this.iconPapyrus = par1IconRegister.registerIcon("Atum:AtumPapyrus"); - this.iconPapyrusTop = par1IconRegister.registerIcon("Atum:AtumPapyrusTop"); - } + if(l < 5) { + int i1 = par1World.getBlockMetadata(par2, par3, par4); + byte reqHeight = 0; + if(l == 1) { + reqHeight = 2; + } else if(l == 2) { + reqHeight = 4; + } else if(l == 3) { + reqHeight = 8; + } else if(l == 4) { + reqHeight = 15; + } + + if(i1 >= reqHeight) { + par1World.setBlock(par2, par3 + 1, par4, super.blockID); + par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 4); + } else { + par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 + 1, 4); + } + } + } + + } + } + + public Icon getIcon(int par1, int par2) { + return this.iconPapyrus; + } + + @SideOnly(Side.CLIENT) + public Icon getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + boolean top = par1IBlockAccess.getBlockId(par2, par3 + 1, par4) != super.blockID; + return top?this.iconPapyrusTop:this.iconPapyrus; + } + + public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4) { + Block block = Block.blocksList[par1World.getBlockId(par2, par3 - 1, par4)]; + return block != null && block.canSustainPlant(par1World, par2, par3 - 1, par4, ForgeDirection.UP, this); + } + + public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) { + this.checkBlockCoordValid(par1World, par2, par3, par4); + } + + protected final void checkBlockCoordValid(World par1World, int par2, int par3, int par4) { + if(!this.canBlockStay(par1World, par2, par3, par4)) { + this.dropBlockAsItem(par1World, par2, par3, par4, par1World.getBlockMetadata(par2, par3, par4), 0); + par1World.setBlockToAir(par2, par3, par4); + } + + } + + public boolean canBlockStay(World par1World, int par2, int par3, int par4) { + return this.canPlaceBlockAt(par1World, par2, par3, par4); + } + + public boolean canSustainPlant(World world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { + int plantID = plant.getPlantID(world, x, y + 1, z); + EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); + if(plantID == AtumBlocks.papyrus.blockID && super.blockID == AtumBlocks.papyrus.blockID) { + return true; + } else if(plantType != EnumPlantType.Beach) { + return false; + } else { + boolean isBeach = super.blockID == Block.grass.blockID || super.blockID == Block.dirt.blockID || super.blockID == Block.sand.blockID; + boolean hasWater = world.getBlockMaterial(x - 1, y, z) == Material.water || world.getBlockMaterial(x + 1, y, z) == Material.water || world.getBlockMaterial(x, y, z - 1) == Material.water || world.getBlockMaterial(x, y, z + 1) == Material.water; + return isBeach && hasWater; + } + } + + public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { + return null; + } + + public int idDropped(int par1, Random par2Random, int par3) { + return AtumItems.papyrusPlant.itemID; + } + + public boolean isOpaqueCube() { + return false; + } + + public boolean renderAsNormalBlock() { + return false; + } + + public int getRenderType() { + return this.renderID; + } + + @SideOnly(Side.CLIENT) + public int idPicked(World par1World, int par2, int par3, int par4) { + return AtumItems.papyrusPlant.itemID; + } + + public EnumPlantType getPlantType(World world, int x, int y, int z) { + return EnumPlantType.Beach; + } + + public int getPlantID(World world, int x, int y, int z) { + return super.blockID; + } + + public int getPlantMetadata(World world, int x, int y, int z) { + return world.getBlockMetadata(x, y, z); + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + this.iconPapyrus = par1IconRegister.registerIcon("atum:AtumPapyrus"); + this.iconPapyrusTop = par1IconRegister.registerIcon("atum:AtumPapyrusTop"); + } } diff --git a/common/rebelkeithy/mods/atum/blocks/BlockSandLayered.java b/common/rebelkeithy/mods/atum/blocks/BlockSandLayered.java index b190521..2d799de 100644 --- a/common/rebelkeithy/mods/atum/blocks/BlockSandLayered.java +++ b/common/rebelkeithy/mods/atum/blocks/BlockSandLayered.java @@ -1,7 +1,8 @@ package rebelkeithy.mods.atum.blocks; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import java.util.Random; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; @@ -11,187 +12,92 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import rebelkeithy.mods.atum.AtumBlocks; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class BlockSandLayered extends Block -{ - public BlockSandLayered(int par1) - { - super(par1, Material.sand); - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.125F, 1.0F); - this.setTickRandomly(true); - this.func_96478_d(0); - } - - @SideOnly(Side.CLIENT) - - /** - * When this method is called, your block should register all the icons it needs with the given IconRegister. This - * is the only chance you get to register icons. - */ - @Override - public void registerIcons(IconRegister par1IconRegister) - { - this.blockIcon = par1IconRegister.registerIcon("Atum:AtumSand"); - } - - /** - * Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been - * cleared to be reused) - */ - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) - { - return null; - /* - int l = par1World.getBlockMetadata(par2, par3, par4) & 7; - float f = 0.125F; - return AxisAlignedBB.getAABBPool().getAABB((double)par2 + this.minX, (double)par3 + this.minY, (double)par4 + this.minZ, (double)par2 + this.maxX, (double)((float)par3 + (float)l * f), (double)par4 + this.maxZ); - */ - } - - /** - * Is this block (a) opaque and (b) a full 1m cube? This determines whether or not to render the shared face of two - * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block. - */ - @Override - public boolean isOpaqueCube() - { - return false; - } - - /** - * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc) - */ - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - /** - * Sets the block's bounds for rendering it as an item - */ - @Override - public void setBlockBoundsForItemRender() - { - this.func_96478_d(0); - } - - /** - * Updates the blocks bounds based on its current state. Args: world, x, y, z - */ - @Override - public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) - { - this.func_96478_d(par1IBlockAccess.getBlockMetadata(par2, par3, par4)); - } - - protected void func_96478_d(int par1) - { - int j = par1 & 7; - float f = (float)(2 * (1 + j)) / 16.0F; - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, f, 1.0F); - } - - /** - * Checks to see if its valid to put this block at the specified coordinates. Args: world, x, y, z - */ - @Override - public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4) - { - int l = par1World.getBlockId(par2, par3 - 1, par4); - Block block = Block.blocksList[l]; - if (block == null) return false; - if (block.blockID == AtumBlocks.sandLayered.blockID) return true; - if (block == this && (par1World.getBlockMetadata(par2, par3 - 1, par4) & 7) == 7) return true; - if (!block.isLeaves(par1World, par2, par3 - 1, par4) && !Block.blocksList[l].isOpaqueCube()) return false; - return par1World.getBlockMaterial(par2, par3 - 1, par4).blocksMovement(); - } - - /** - * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are - * their own) Args: x, y, z, neighbor blockID - */ - @Override - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) - { - this.canSnowStay(par1World, par2, par3, par4); - } - - /** - * Checks if this snow block can stay at this location. - */ - private boolean canSnowStay(World par1World, int par2, int par3, int par4) - { - if (!this.canPlaceBlockAt(par1World, par2, par3, par4)) - { - par1World.setBlockToAir(par2, par3, par4); - return false; - } - else - { - return false; - } - } - - /** - * Called when the player destroys a block with an item that can harvest it. (i, j, k) are the coordinates of the - * block and l is the block's subtype/damage. - */ - @Override - public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6) - { - super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6); - par1World.setBlockToAir(par3, par4, par5); - } - - /** - * Returns the ID of the items to drop on destruction. - */ - @Override - public int idDropped(int par1, Random par2Random, int par3) - { - return 0; - } - - /** - * Returns the quantity of items to drop on block destruction. - */ - @Override - public int quantityDropped(Random par1Random) - { - return 0; - } - - /** - * Ticks the block if it's been scheduled - */ - @Override - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) - { - if (par1World.getSavedLightValue(EnumSkyBlock.Block, par2, par3, par4) > 11) - { - par1World.setBlockToAir(par2, par3, par4); - } - } - - @SideOnly(Side.CLIENT) - - /** - * Returns true if the given side of this block type should be rendered, if the adjacent block is at the given - * coordinates. Args: blockAccess, x, y, z, side - */ - @Override - public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) - { - return par5 == 1 ? true : super.shouldSideBeRendered(par1IBlockAccess, par2, par3, par4, par5); - } - - @Override - public int quantityDropped(int meta, int fortune, Random random) - { - return (meta & 7) + 1; - } +public class BlockSandLayered extends Block { + + public BlockSandLayered(int par1) { + super(par1, Material.sand); + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.125F, 1.0F); + this.setTickRandomly(true); + this.func_96478_d(0); + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + super.blockIcon = par1IconRegister.registerIcon("atum:AtumSand"); + } + + public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { + return null; + } + + public boolean isOpaqueCube() { + return false; + } + + public boolean renderAsNormalBlock() { + return false; + } + + public void setBlockBoundsForItemRender() { + this.func_96478_d(0); + } + + public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { + this.func_96478_d(par1IBlockAccess.getBlockMetadata(par2, par3, par4)); + } + + protected void func_96478_d(int par1) { + int j = par1 & 7; + float f = (float)(2 * (1 + j)) / 16.0F; + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, f, 1.0F); + } + + public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4) { + int l = par1World.getBlockId(par2, par3 - 1, par4); + Block block = Block.blocksList[l]; + return block == null?false:(block.blockID == AtumBlocks.sandLayered.blockID?true:(block == this && (par1World.getBlockMetadata(par2, par3 - 1, par4) & 7) == 7?true:(!block.isLeaves(par1World, par2, par3 - 1, par4) && !Block.blocksList[l].isOpaqueCube()?false:par1World.getBlockMaterial(par2, par3 - 1, par4).blocksMovement()))); + } + + public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) { + this.canSnowStay(par1World, par2, par3, par4); + } + + private boolean canSnowStay(World par1World, int par2, int par3, int par4) { + if(!this.canPlaceBlockAt(par1World, par2, par3, par4)) { + par1World.setBlockToAir(par2, par3, par4); + return false; + } else { + return false; + } + } + + public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6) { + super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6); + par1World.setBlockToAir(par3, par4, par5); + } + + public int idDropped(int par1, Random par2Random, int par3) { + return 0; + } + + public int quantityDropped(Random par1Random) { + return 0; + } + + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + if(par1World.getSavedLightValue(EnumSkyBlock.Block, par2, par3, par4) > 11) { + par1World.setBlockToAir(par2, par3, par4); + } + + } + + @SideOnly(Side.CLIENT) + public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + return par5 == 1?true:super.shouldSideBeRendered(par1IBlockAccess, par2, par3, par4, par5); + } + + public int quantityDropped(int meta, int fortune, Random random) { + return (meta & 7) + 1; + } } diff --git a/common/rebelkeithy/mods/atum/blocks/BlockShrub.java b/common/rebelkeithy/mods/atum/blocks/BlockShrub.java index dcf1887..810e237 100644 --- a/common/rebelkeithy/mods/atum/blocks/BlockShrub.java +++ b/common/rebelkeithy/mods/atum/blocks/BlockShrub.java @@ -3,6 +3,7 @@ import java.util.Random; import net.minecraft.block.BlockDeadBush; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -11,47 +12,32 @@ import rebelkeithy.mods.atum.Atum; import rebelkeithy.mods.atum.AtumBlocks; -public class BlockShrub extends BlockDeadBush -{ - public BlockShrub(int par1) - { - super(par1); - } - - /** - * Gets passed in the blockID of the block below and supposed to return true if its allowed to grow on the type of - * blockID passed in. Args: blockID - */ - @Override - public boolean canThisPlantGrowOnThisBlockID(int par1) - { - return par1 == AtumBlocks.sand.blockID; - } - - /** - * Returns the ID of the items to drop on destruction. - */ - @Override - public int idDropped(int par1, Random par2Random, int par3) - { - return -1; - } - - /** - * Called when the player destroys a block with an item that can harvest it. (i, j, k) are the coordinates of the - * block and l is the block's subtype/damage. - */ +public class BlockShrub extends BlockDeadBush { + + public BlockShrub(int par1) { + super(par1); + } + + public boolean canThisPlantGrowOnThisBlockID(int par1) { + return par1 == AtumBlocks.sand.blockID; + } + + public int idDropped(int par1, Random par2Random, int par3) { + return -1; + } + + public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6) { + if (!par1World.isRemote && par2EntityPlayer.getCurrentEquippedItem() != null && par2EntityPlayer.getCurrentEquippedItem().itemID == Item.shears.itemID) { + par2EntityPlayer.addStat(StatList.mineBlockStatArray[super.blockID], 1); + this.dropBlockAsItem_do(par1World, par3, par4, par5, new ItemStack(AtumBlocks.shrub, 1, par6)); + } else { + super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6); + } + + } + @Override - public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6) - { - if (!par1World.isRemote && par2EntityPlayer.getCurrentEquippedItem() != null && par2EntityPlayer.getCurrentEquippedItem().itemID == Item.shears.itemID) - { - par2EntityPlayer.addStat(StatList.mineBlockStatArray[this.blockID], 1); - this.dropBlockAsItem_do(par1World, par3, par4, par5, new ItemStack(AtumBlocks.shrub, 1, par6)); - } - else - { - super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6); - } - } + public void registerIcons(IconRegister par1IconRegister) { + this.blockIcon = par1IconRegister.registerIcon(Atum.modID + ":DeadBush"); + } } diff --git a/common/rebelkeithy/mods/atum/blocks/ItemBlockAtumSlab.java b/common/rebelkeithy/mods/atum/blocks/ItemBlockAtumSlab.java index 6f6c28c..4c72c6b 100644 --- a/common/rebelkeithy/mods/atum/blocks/ItemBlockAtumSlab.java +++ b/common/rebelkeithy/mods/atum/blocks/ItemBlockAtumSlab.java @@ -1,5 +1,7 @@ package rebelkeithy.mods.atum.blocks; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.BlockHalfSlab; import net.minecraft.entity.player.EntityPlayer; @@ -7,211 +9,142 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.Icon; import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemBlockAtumSlab extends ItemBlock -{ - private final boolean isFullBlock; - - /** Instance of BlockHalfSlab. */ - private final BlockHalfSlab theHalfSlab; - - /** The double-slab block corresponding to this item. */ - private final BlockHalfSlab doubleSlab; - - public ItemBlockAtumSlab(int par1, BlockHalfSlab par2BlockHalfSlab, BlockHalfSlab par3BlockHalfSlab, boolean par4) - { - super(par1); - this.theHalfSlab = par2BlockHalfSlab; - this.doubleSlab = par3BlockHalfSlab; - this.isFullBlock = par4; - this.setMaxDamage(0); - this.setHasSubtypes(true); - } - - @SideOnly(Side.CLIENT) - - /** - * Gets an icon index based on an item's damage value - */ - @Override - public Icon getIconFromDamage(int par1) - { - return Block.blocksList[this.itemID].getIcon(2, par1); - } - - /** - * Returns the metadata of the block which this Item (ItemBlock) can place - */ - @Override - public int getMetadata(int par1) - { - return par1; - } - - /** - * Returns the unlocalized name of this item. This version accepts an ItemStack so different stacks can have - * different names based on their damage or NBT. - */ - @Override - public String getUnlocalizedName(ItemStack par1ItemStack) - { - return this.theHalfSlab.getFullSlabName(par1ItemStack.getItemDamage()); - } - - /** - * Callback for item usage. If the item does something special on right clicking, he will have one of those. Return - * True if something happen and false if it don't. This is for ITEMS, not BLOCKS - */ - @Override - public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) - { - if (this.isFullBlock) - { - return super.onItemUse(par1ItemStack, par2EntityPlayer, par3World, par4, par5, par6, par7, par8, par9, par10); - } - else if (par1ItemStack.stackSize == 0) - { - return false; - } - else if (!par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack)) - { - return false; - } - else - { - int i1 = par3World.getBlockId(par4, par5, par6); - int j1 = par3World.getBlockMetadata(par4, par5, par6); - int k1 = j1 & 7; - boolean flag = (j1 & 8) != 0; - - if ((par7 == 1 && !flag || par7 == 0 && flag) && i1 == this.theHalfSlab.blockID && k1 == par1ItemStack.getItemDamage()) - { - if (par3World.checkNoEntityCollision(this.doubleSlab.getCollisionBoundingBoxFromPool(par3World, par4, par5, par6)) && par3World.setBlock(par4, par5, par6, this.doubleSlab.blockID, k1, 3)) - { - par3World.playSoundEffect((double)((float)par4 + 0.5F), (double)((float)par5 + 0.5F), (double)((float)par6 + 0.5F), this.doubleSlab.stepSound.getPlaceSound(), (this.doubleSlab.stepSound.getVolume() + 1.0F) / 2.0F, this.doubleSlab.stepSound.getPitch() * 0.8F); - --par1ItemStack.stackSize; - } - - return true; - } - else - { - return this.func_77888_a(par1ItemStack, par2EntityPlayer, par3World, par4, par5, par6, par7) ? true : super.onItemUse(par1ItemStack, par2EntityPlayer, par3World, par4, par5, par6, par7, par8, par9, par10); - } - } - } - - @SideOnly(Side.CLIENT) - - /** - * Returns true if the given ItemBlock can be placed on the given side of the given block position. - */ - @Override - public boolean canPlaceItemBlockOnSide(World par1World, int par2, int par3, int par4, int par5, EntityPlayer par6EntityPlayer, ItemStack par7ItemStack) - { - int i1 = par2; - int j1 = par3; - int k1 = par4; - int l1 = par1World.getBlockId(par2, par3, par4); - int i2 = par1World.getBlockMetadata(par2, par3, par4); - int j2 = i2 & 7; - boolean flag = (i2 & 8) != 0; - - if ((par5 == 1 && !flag || par5 == 0 && flag) && l1 == this.theHalfSlab.blockID && j2 == par7ItemStack.getItemDamage()) - { - return true; - } - else - { - if (par5 == 0) - { - --par3; - } - - if (par5 == 1) - { - ++par3; - } - if (par5 == 2) - { - --par4; +public class ItemBlockAtumSlab extends ItemBlock { + + private final boolean isFullBlock; + private final BlockHalfSlab theHalfSlab; + private final BlockHalfSlab doubleSlab; + + + public ItemBlockAtumSlab(int par1, BlockHalfSlab par2BlockHalfSlab, BlockHalfSlab par3BlockHalfSlab, boolean par4) { + super(par1); + this.theHalfSlab = par2BlockHalfSlab; + this.doubleSlab = par3BlockHalfSlab; + this.isFullBlock = par4; + this.setMaxDamage(0); + this.setHasSubtypes(true); + } + + @SideOnly(Side.CLIENT) + public Icon getIconFromDamage(int par1) { + return Block.blocksList[super.itemID].getIcon(2, par1); + } + + public int getMetadata(int par1) { + return par1; + } + + public String getUnlocalizedName(ItemStack par1ItemStack) { + return this.theHalfSlab.getFullSlabName(par1ItemStack.getItemDamage()); + } + + public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) { + if(this.isFullBlock) { + return super.onItemUse(par1ItemStack, par2EntityPlayer, par3World, par4, par5, par6, par7, par8, par9, par10); + } else if(par1ItemStack.stackSize == 0) { + return false; + } else if(!par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack)) { + return false; + } else { + int i1 = par3World.getBlockId(par4, par5, par6); + int j1 = par3World.getBlockMetadata(par4, par5, par6); + int k1 = j1 & 7; + boolean flag = (j1 & 8) != 0; + if((par7 == 1 && !flag || par7 == 0 && flag) && i1 == this.theHalfSlab.blockID && k1 == par1ItemStack.getItemDamage()) { + if(par3World.checkNoEntityCollision(this.doubleSlab.getCollisionBoundingBoxFromPool(par3World, par4, par5, par6)) && par3World.setBlock(par4, par5, par6, this.doubleSlab.blockID, k1, 3)) { + par3World.playSoundEffect((double)((float)par4 + 0.5F), (double)((float)par5 + 0.5F), (double)((float)par6 + 0.5F), this.doubleSlab.stepSound.getPlaceSound(), (this.doubleSlab.stepSound.getVolume() + 1.0F) / 2.0F, this.doubleSlab.stepSound.getPitch() * 0.8F); + --par1ItemStack.stackSize; } - if (par5 == 3) - { - ++par4; - } - - if (par5 == 4) - { - --par2; - } - - if (par5 == 5) - { - ++par2; - } - - l1 = par1World.getBlockId(par2, par3, par4); - i2 = par1World.getBlockMetadata(par2, par3, par4); - j2 = i2 & 7; - flag = (i2 & 8) != 0; - return l1 == this.theHalfSlab.blockID && j2 == par7ItemStack.getItemDamage() ? true : super.canPlaceItemBlockOnSide(par1World, i1, j1, k1, par5, par6EntityPlayer, par7ItemStack); - } - } - - private boolean func_77888_a(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7) - { - if (par7 == 0) - { - --par5; - } - - if (par7 == 1) - { - ++par5; - } - - if (par7 == 2) - { - --par6; - } - - if (par7 == 3) - { - ++par6; - } - - if (par7 == 4) - { + return true; + } else { + return this.func_77888_a(par1ItemStack, par2EntityPlayer, par3World, par4, par5, par6, par7)?true:super.onItemUse(par1ItemStack, par2EntityPlayer, par3World, par4, par5, par6, par7, par8, par9, par10); + } + } + } + + @SideOnly(Side.CLIENT) + public boolean canPlaceItemBlockOnSide(World par1World, int par2, int par3, int par4, int par5, EntityPlayer par6EntityPlayer, ItemStack par7ItemStack) { + int i1 = par2; + int j1 = par3; + int k1 = par4; + int l1 = par1World.getBlockId(par2, par3, par4); + int i2 = par1World.getBlockMetadata(par2, par3, par4); + int j2 = i2 & 7; + boolean flag = (i2 & 8) != 0; + if((par5 == 1 && !flag || par5 == 0 && flag) && l1 == this.theHalfSlab.blockID && j2 == par7ItemStack.getItemDamage()) { + return true; + } else { + if(par5 == 0) { + --par3; + } + + if(par5 == 1) { + ++par3; + } + + if(par5 == 2) { --par4; - } + } - if (par7 == 5) - { + if(par5 == 3) { ++par4; - } - - int i1 = par3World.getBlockId(par4, par5, par6); - int j1 = par3World.getBlockMetadata(par4, par5, par6); - int k1 = j1 & 7; - - if (i1 == this.theHalfSlab.blockID && k1 == par1ItemStack.getItemDamage()) - { - if (par3World.checkNoEntityCollision(this.doubleSlab.getCollisionBoundingBoxFromPool(par3World, par4, par5, par6)) && par3World.setBlock(par4, par5, par6, this.doubleSlab.blockID, k1, 3)) - { - par3World.playSoundEffect((double)((float)par4 + 0.5F), (double)((float)par5 + 0.5F), (double)((float)par6 + 0.5F), this.doubleSlab.stepSound.getPlaceSound(), (this.doubleSlab.stepSound.getVolume() + 1.0F) / 2.0F, this.doubleSlab.stepSound.getPitch() * 0.8F); - --par1ItemStack.stackSize; - } - - return true; - } - else - { - return false; - } - } + } + + if(par5 == 4) { + --par2; + } + + if(par5 == 5) { + ++par2; + } + + l1 = par1World.getBlockId(par2, par3, par4); + i2 = par1World.getBlockMetadata(par2, par3, par4); + j2 = i2 & 7; + flag = (i2 & 8) != 0; + return l1 == this.theHalfSlab.blockID && j2 == par7ItemStack.getItemDamage()?true:super.canPlaceItemBlockOnSide(par1World, i1, j1, k1, par5, par6EntityPlayer, par7ItemStack); + } + } + + private boolean func_77888_a(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7) { + if(par7 == 0) { + --par5; + } + + if(par7 == 1) { + ++par5; + } + + if(par7 == 2) { + --par6; + } + + if(par7 == 3) { + ++par6; + } + + if(par7 == 4) { + --par4; + } + + if(par7 == 5) { + ++par4; + } + + int i1 = par3World.getBlockId(par4, par5, par6); + int j1 = par3World.getBlockMetadata(par4, par5, par6); + int k1 = j1 & 7; + if(i1 == this.theHalfSlab.blockID && k1 == par1ItemStack.getItemDamage()) { + if(par3World.checkNoEntityCollision(this.doubleSlab.getCollisionBoundingBoxFromPool(par3World, par4, par5, par6)) && par3World.setBlock(par4, par5, par6, this.doubleSlab.blockID, k1, 3)) { + par3World.playSoundEffect((double)((float)par4 + 0.5F), (double)((float)par5 + 0.5F), (double)((float)par6 + 0.5F), this.doubleSlab.stepSound.getPlaceSound(), (this.doubleSlab.stepSound.getVolume() + 1.0F) / 2.0F, this.doubleSlab.stepSound.getPitch() * 0.8F); + --par1ItemStack.stackSize; + } + + return true; + } else { + return false; + } + } } diff --git a/common/rebelkeithy/mods/atum/blocks/ItemBlockAtumWall.java b/common/rebelkeithy/mods/atum/blocks/ItemBlockAtumWall.java index f76fb35..901b0fd 100644 --- a/common/rebelkeithy/mods/atum/blocks/ItemBlockAtumWall.java +++ b/common/rebelkeithy/mods/atum/blocks/ItemBlockAtumWall.java @@ -5,42 +5,34 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.Icon; -public class ItemBlockAtumWall extends ItemBlock -{ - public ItemBlockAtumWall(int par1) - { - super(par1); - this.setMaxDamage(0); - this.setHasSubtypes(true); - } - - @Override - public int getMetadata(int meta) - { - return meta; - } - - @Override - public Icon getIconFromDamage(int meta) - { - return Block.blocksList[this.itemID].getIcon(2, meta); - } - - @Override - public String getUnlocalizedName(ItemStack itemstack) - { - switch(itemstack.getItemDamage()) - { - case 0: - return "Atum:AtumStoneWall"; - case 1: - return "Atum:AtumCobble"; - case 2: - return "Atum:AtumBrickLarge"; - case 3: - return "Atum:AtumBrickSmall"; - default: - return "Atum:Default"; - } - } +public class ItemBlockAtumWall extends ItemBlock { + + public ItemBlockAtumWall(int par1) { + super(par1); + this.setMaxDamage(0); + this.setHasSubtypes(true); + } + + public int getMetadata(int meta) { + return meta; + } + + public Icon getIconFromDamage(int meta) { + return Block.blocksList[super.itemID].getIcon(2, meta); + } + + public String getUnlocalizedName(ItemStack itemstack) { + switch(itemstack.getItemDamage()) { + case 0: + return "atum:AtumStoneWall"; + case 1: + return "atum:AtumCobble"; + case 2: + return "atum:AtumBrickLarge"; + case 3: + return "atum:AtumBrickSmall"; + default: + return "atum:Default"; + } + } } diff --git a/common/rebelkeithy/mods/atum/blocks/ItemPapyrusPlant.java b/common/rebelkeithy/mods/atum/blocks/ItemPapyrusPlant.java index 23dbec3..5d5b5be 100644 --- a/common/rebelkeithy/mods/atum/blocks/ItemPapyrusPlant.java +++ b/common/rebelkeithy/mods/atum/blocks/ItemPapyrusPlant.java @@ -1,98 +1,79 @@ package rebelkeithy.mods.atum.blocks; +import rebelkeithy.mods.atum.Atum; import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; -public class ItemPapyrusPlant extends Item -{ - /** The ID of the block the reed will spawn when used from inventory bar. */ - private int spawnID; +public class ItemPapyrusPlant extends Item { - public ItemPapyrusPlant(int par1, Block par2Block) - { - super(par1); - this.spawnID = par2Block.blockID; - } + private int spawnID; - /** - * Callback for item usage. If the item does something special on right clicking, he will have one of those. Return - * True if something happen and false if it don't. This is for ITEMS, not BLOCKS - */ - @Override - public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) - { - int i1 = par3World.getBlockId(par4, par5, par6); + public ItemPapyrusPlant(int par1, Block par2Block) { + super(par1); + this.spawnID = par2Block.blockID; + } - if (i1 == Block.snow.blockID && (par3World.getBlockMetadata(par4, par5, par6) & 7) < 1) - { - par7 = 1; - } - else if (i1 != Block.vine.blockID && i1 != Block.tallGrass.blockID && i1 != Block.deadBush.blockID) - { - if (par7 == 0) - { - --par5; - } + public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) { + int i1 = par3World.getBlockId(par4, par5, par6); + if (i1 == Block.snow.blockID && (par3World.getBlockMetadata(par4, par5, par6) & 7) < 1) { + par7 = 1; + } else if (i1 != Block.vine.blockID && i1 != Block.tallGrass.blockID && i1 != Block.deadBush.blockID) { + if (par7 == 0) { + --par5; + } - if (par7 == 1) - { - ++par5; - } + if (par7 == 1) { + ++par5; + } - if (par7 == 2) - { - --par6; - } + if (par7 == 2) { + --par6; + } - if (par7 == 3) - { - ++par6; - } + if (par7 == 3) { + ++par6; + } - if (par7 == 4) - { - --par4; - } + if (par7 == 4) { + --par4; + } - if (par7 == 5) - { - ++par4; - } - } + if (par7 == 5) { + ++par4; + } + } - if (!par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack)) - { - return false; - } - else if (par1ItemStack.stackSize == 0) - { - return false; - } - else - { - if (par3World.canPlaceEntityOnSide(this.spawnID, par4, par5, par6, false, par7, (Entity)null, par1ItemStack)) - { - Block block = Block.blocksList[this.spawnID]; - int j1 = block.onBlockPlaced(par3World, par4, par5, par6, par7, par8, par9, par10, 0); + if (!par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack)) { + return false; + } else if (par1ItemStack.stackSize == 0) { + return false; + } else { + if (par3World.canPlaceEntityOnSide(this.spawnID, par4, par5, par6, false, par7, (Entity) null, par1ItemStack)) { + Block block = Block.blocksList[this.spawnID]; + int j1 = block.onBlockPlaced(par3World, par4, par5, par6, par7, par8, par9, par10, 0); + if (par3World.setBlock(par4, par5, par6, this.spawnID, j1, 3)) { + if (par3World.getBlockId(par4, par5, par6) == this.spawnID) { + Block.blocksList[this.spawnID].onBlockPlacedBy(par3World, par4, par5, par6, par2EntityPlayer, par1ItemStack); + Block.blocksList[this.spawnID].onPostBlockPlaced(par3World, par4, par5, par6, j1); + } - if (par3World.setBlock(par4, par5, par6, this.spawnID, j1, 3)) - { - if (par3World.getBlockId(par4, par5, par6) == this.spawnID) - { - Block.blocksList[this.spawnID].onBlockPlacedBy(par3World, par4, par5, par6, par2EntityPlayer, par1ItemStack); - Block.blocksList[this.spawnID].onPostBlockPlaced(par3World, par4, par5, par6, j1); - } + par3World.playSoundEffect((double) ((float) par4 + 0.5F), (double) ((float) par5 + 0.5F), (double) ((float) par6 + 0.5F), block.stepSound.getPlaceSound(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); + --par1ItemStack.stackSize; + } + } - par3World.playSoundEffect((double)((float)par4 + 0.5F), (double)((float)par5 + 0.5F), (double)((float)par6 + 0.5F), block.stepSound.getPlaceSound(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); - --par1ItemStack.stackSize; - } - } + return true; + } + } + + @Override + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon(Atum.modID +":PapyrusPlantItem"); + } - return true; - } - } } diff --git a/common/rebelkeithy/mods/atum/blocks/ItemSandLayered.java b/common/rebelkeithy/mods/atum/blocks/ItemSandLayered.java index e8d0c77..b04e5a7 100644 --- a/common/rebelkeithy/mods/atum/blocks/ItemSandLayered.java +++ b/common/rebelkeithy/mods/atum/blocks/ItemSandLayered.java @@ -7,47 +7,31 @@ import net.minecraft.world.World; import rebelkeithy.mods.atum.AtumBlocks; -public class ItemSandLayered extends ItemBlockWithMetadata -{ - public ItemSandLayered(int par1) - { - super(par1, AtumBlocks.sandLayered); - } +public class ItemSandLayered extends ItemBlockWithMetadata { - /** - * Callback for item usage. If the item does something special on right clicking, he will have one of those. Return - * True if something happen and false if it don't. This is for ITEMS, not BLOCKS - */ - @Override - public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) - { - if (par1ItemStack.stackSize == 0) - { - return false; - } - else if (!par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack)) - { - return false; - } - else - { - int i1 = par3World.getBlockId(par4, par5, par6); + public ItemSandLayered(int par1) { + super(par1, AtumBlocks.sandLayered); + } - if (i1 == AtumBlocks.sandLayered.blockID) - { - Block block = Block.blocksList[this.getBlockID()]; - int j1 = par3World.getBlockMetadata(par4, par5, par6); - int k1 = j1 & 7; - - if (k1 <= 6 && par3World.setBlockMetadataWithNotify(par4, par5, par6, k1 + 1 | j1 & -8, 2)) - { - par3World.playSoundEffect((double)((float)par4 + 0.5F), (double)((float)par5 + 0.5F), (double)((float)par6 + 0.5F), block.stepSound.getPlaceSound(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); - --par1ItemStack.stackSize; - return true; - } + public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) { + if(par1ItemStack.stackSize == 0) { + return false; + } else if(!par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack)) { + return false; + } else { + int i1 = par3World.getBlockId(par4, par5, par6); + if(i1 == AtumBlocks.sandLayered.blockID) { + Block block = Block.blocksList[this.getBlockID()]; + int j1 = par3World.getBlockMetadata(par4, par5, par6); + int k1 = j1 & 7; + if(k1 <= 6 && par3World.setBlockMetadataWithNotify(par4, par5, par6, k1 + 1 | j1 & -8, 2)) { + par3World.playSoundEffect((double)((float)par4 + 0.5F), (double)((float)par5 + 0.5F), (double)((float)par6 + 0.5F), block.stepSound.getPlaceSound(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); + --par1ItemStack.stackSize; + return true; } + } - return super.onItemUse(par1ItemStack, par2EntityPlayer, par3World, par4, par5, par6, par7, par8, par9, par10); - } - } + return super.onItemUse(par1ItemStack, par2EntityPlayer, par3World, par4, par5, par6, par7, par8, par9, par10); + } + } } diff --git a/common/rebelkeithy/mods/atum/blocks/TileEntityArrowTrap.java b/common/rebelkeithy/mods/atum/blocks/TileEntityArrowTrap.java index 6c8740b..514d26d 100644 --- a/common/rebelkeithy/mods/atum/blocks/TileEntityArrowTrap.java +++ b/common/rebelkeithy/mods/atum/blocks/TileEntityArrowTrap.java @@ -1,121 +1,83 @@ package rebelkeithy.mods.atum.blocks; +import java.util.Iterator; import java.util.List; import java.util.Random; - import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.EnumFacing; import net.minecraft.util.Vec3; -public class TileEntityArrowTrap extends TileEntity -{ - private ItemStack[] dispenserContents = new ItemStack[9]; +public class TileEntityArrowTrap extends TileEntity { + + private ItemStack[] dispenserContents = new ItemStack[9]; + private Random dispenserRandom = new Random(); + protected String field_94050_c; + + + public void updateEntity() { + EntityPlayer p = super.worldObj.getClosestPlayer((double)super.xCoord, (double)super.yCoord, (double)super.zCoord, 4.0D); + byte range = 1; + int xMin = super.xCoord; + int xMax = super.xCoord + range; + int yMin = super.yCoord; + int yMax = super.yCoord + range; + int zMin = super.zCoord; + int zMax = super.zCoord + range; + EnumFacing facing = EnumFacing.getFront(super.worldObj.getBlockMetadata(super.xCoord, super.yCoord, super.zCoord)); + xMin += facing.getFrontOffsetX() * range; + xMax += facing.getFrontOffsetX() * range; + yMin += facing.getFrontOffsetY() * range; + yMax += facing.getFrontOffsetY() * range; + zMin += facing.getFrontOffsetZ() * range; + zMax += facing.getFrontOffsetZ() * range; + AxisAlignedBB bb = AxisAlignedBB.getAABBPool().getAABB((double)xMin, (double)yMin, (double)zMin, (double)xMax, (double)yMax, (double)zMax); + List list = super.worldObj.getEntitiesWithinAABB(EntityMob.class, bb); + if(p != null && bb.isVecInside(Vec3.createVectorHelper(p.posX, p.posY + 0.5D, p.posZ))) { + p.setFire(2); + this.spawnFlames(); + } - /** - * random number generator for instance. Used in random item stack selection. - */ - private Random dispenserRandom = new Random(); - protected String field_94050_c; + Iterator i = list.iterator(); - - @Override - public void updateEntity() - { - EntityPlayer p = worldObj.getClosestPlayer(xCoord, yCoord, zCoord, 4); - int range = 1; - int xMin = xCoord; - int xMax = xCoord+range; - int yMin = yCoord; - int yMax = yCoord+range; - int zMin = zCoord; - int zMax = zCoord+range; - - EnumFacing facing = EnumFacing.getFront(worldObj.getBlockMetadata(xCoord, yCoord, zCoord)); - xMin += facing.getFrontOffsetX()*range; - xMax += facing.getFrontOffsetX()*range; - yMin += facing.getFrontOffsetY()*range; - yMax += facing.getFrontOffsetY()*range; - zMin += facing.getFrontOffsetZ()*range; - zMax += facing.getFrontOffsetZ()*range; - + while(i.hasNext()) { + Entity e = (Entity)i.next(); + if(e instanceof EntityLiving) { + e.setFire(2); + } + } - AxisAlignedBB bb = AxisAlignedBB.getAABBPool().getAABB((double)xMin, (double)yMin, (double)zMin, (double)xMax, (double)yMax, (double)zMax); + } - List list = this.worldObj.getEntitiesWithinAABB(EntityMob.class, bb); - - if(p != null) - { - if(bb.isVecInside(Vec3.createVectorHelper(p.posX, p.posY+0.5, p.posZ))) - { - p.setFire(2); - spawnFlames(); - /* - if(facing == EnumFacing.EAST) - worldObj.spawnParticle("flame", xCoord - 0.5D, yCoord + 0.5D, zCoord + 0.5D, 0.0D, 0.1D, 0.0D); - if(facing == EnumFacing.WEST) - worldObj.spawnParticle("flame", xCoord + 2.5D, yCoord + 0.5D, zCoord + 0.5D, 0.0D, 0.1D, 0.0D); - if(facing == EnumFacing.NORTH) - worldObj.spawnParticle("flame", xCoord + 0.5D, yCoord + 0.5D, zCoord - 0.5D, 0.0D, 0.1D, 0.0D); - if(facing == EnumFacing.SOUTH) - worldObj.spawnParticle("flame", xCoord + 0.5D, yCoord + 0.5D, zCoord + 1.5D, 0.0D, 0.1D, 0.0D); - if(facing == EnumFacing.DOWN) - worldObj.spawnParticle("flame", xCoord + 1.5D, yCoord - 0.5D, zCoord + 1.5D, 0.0D, 0.1D, 0.0D); - if(facing == EnumFacing.UP) - worldObj.spawnParticle("flame", xCoord + 0.5D, yCoord + 1.5D, zCoord + 0.5D, 0.0D, 0.1D, 0.0D); - */ - } - } - - for(Entity e : list) - { - if(e instanceof EntityLiving) - { - e.setFire(2); - } - } - } - - public void spawnFlames() - { - Random par5Random = new Random(); - int l = worldObj.getBlockMetadata(xCoord, yCoord, zCoord); - float f = (float)xCoord + 0.5F; - float f1 = (float)yCoord + 3.0F/16.0F + par5Random.nextFloat() * 10.0F / 16.0F; - float f2 = (float)zCoord + 0.5F; - float f3 = 0.52F; - float f4 = par5Random.nextFloat() * 0.6F - 0.3F; - double mx = par5Random.nextDouble() * 0.08-0.04D; - double my = par5Random.nextDouble() * 0.08-0.04D; - double mz = par5Random.nextDouble() * 0.08-0.04D; + public void spawnFlames() { + Random par5Random = new Random(); + int l = super.worldObj.getBlockMetadata(super.xCoord, super.yCoord, super.zCoord); + float f = (float)super.xCoord + 0.5F; + float f1 = (float)super.yCoord + 0.1875F + par5Random.nextFloat() * 10.0F / 16.0F; + float f2 = (float)super.zCoord + 0.5F; + float f3 = 0.52F; + float f4 = par5Random.nextFloat() * 0.6F - 0.3F; + double mx = par5Random.nextDouble() * 0.08D - 0.04D; + double my = par5Random.nextDouble() * 0.08D - 0.04D; + double mz = par5Random.nextDouble() * 0.08D - 0.04D; + if(l == 4) { + super.worldObj.spawnParticle("smoke", (double)(f - f3), (double)f1, (double)(f2 + f4), mx - 0.1D, my, mz); + super.worldObj.spawnParticle("flame", (double)(f - f3), (double)f1, (double)(f2 + f4), mx - 0.1D, my, mz); + } else if(l == 5) { + super.worldObj.spawnParticle("smoke", (double)(f + f3), (double)f1, (double)(f2 + f4), mx + 0.1D, my, mz); + super.worldObj.spawnParticle("flame", (double)(f + f3), (double)f1, (double)(f2 + f4), mx + 0.1D, my, mz); + } else if(l == 2) { + super.worldObj.spawnParticle("smoke", (double)(f + f4), (double)f1, (double)(f2 - f3), mx, my, mz - 0.1D); + super.worldObj.spawnParticle("flame", (double)(f + f4), (double)f1, (double)(f2 - f3), mx, my, mz - 0.1D); + } else if(l == 3) { + super.worldObj.spawnParticle("smoke", (double)(f + f4), (double)f1, (double)(f2 + f3), mx, my, mz + 0.1D); + super.worldObj.spawnParticle("flame", (double)(f + f4), (double)f1, (double)(f2 + f3), mx, my, mz + 0.1D); + } - if (l == 4) - { - worldObj.spawnParticle("smoke", (double)(f - f3), (double)f1, (double)(f2 + f4), mx-0.1D, my, mz); - worldObj.spawnParticle("flame", (double)(f - f3), (double)f1, (double)(f2 + f4), mx-0.1D, my, mz); - } - else if (l == 5) - { - worldObj.spawnParticle("smoke", (double)(f + f3), (double)f1, (double)(f2 + f4), mx+0.1D, my, mz); - worldObj.spawnParticle("flame", (double)(f + f3), (double)f1, (double)(f2 + f4), mx+0.1D, my, mz); - } - else if (l == 2) - { - worldObj.spawnParticle("smoke", (double)(f + f4), (double)f1, (double)(f2 - f3), mx, my, mz-0.1D); - worldObj.spawnParticle("flame", (double)(f + f4), (double)f1, (double)(f2 - f3), mx, my, mz-0.1D); - } - else if (l == 3) - { - worldObj.spawnParticle("smoke", (double)(f + f4), (double)f1, (double)(f2 + f3), mx, my, mz+0.1D); - worldObj.spawnParticle("flame", (double)(f + f4), (double)f1, (double)(f2 + f3), mx, my, mz+0.1D); - } - } + } } diff --git a/common/rebelkeithy/mods/atum/blocks/models/ModelDate.java b/common/rebelkeithy/mods/atum/blocks/models/ModelDate.java index 59b8437..297ac2e 100644 --- a/common/rebelkeithy/mods/atum/blocks/models/ModelDate.java +++ b/common/rebelkeithy/mods/atum/blocks/models/ModelDate.java @@ -1,60 +1,45 @@ -// Date: 4/11/2013 12:08:25 AM -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - package rebelkeithy.mods.atum.blocks.models; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; -public class ModelDate extends ModelBase -{ - // fields - ModelRenderer Fruit; - ModelRenderer Stem; - - public ModelDate() - { - textureWidth = 32; - textureHeight = 32; - - Fruit = new ModelRenderer(this, 0, 0); - Fruit.addBox(0F, 0F, 0F, 6, 8, 6); - Fruit.setRotationPoint(-1F, 3F, -1F); - Fruit.setTextureSize(32, 32); - Fruit.mirror = true; - setRotation(Fruit, 0F, 0F, 0F); - Stem = new ModelRenderer(this, 0, 14); - Stem.addBox(0F, 0F, 0F, 2, 6, 2); - Stem.setRotationPoint(1F, -3F, 1F); - Stem.setTextureSize(32, 32); - Stem.mirror = true; - setRotation(Stem, 0F, 0F, 0F); - } - - @Override - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) - { - super.render(entity, f, f1, f2, f3, f4, f5); - //setRotationAngles(f, f1, f2, f3, f4, f5); - Fruit.render(f5); - Stem.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - @Override - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity par7Entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, par7Entity); - } - +public class ModelDate extends ModelBase { + + ModelRenderer Fruit; + ModelRenderer Stem; + + + public ModelDate() { + super.textureWidth = 32; + super.textureHeight = 32; + this.Fruit = new ModelRenderer(this, 0, 0); + this.Fruit.addBox(0.0F, 0.0F, 0.0F, 6, 8, 6); + this.Fruit.setRotationPoint(-1.0F, 3.0F, -1.0F); + this.Fruit.setTextureSize(32, 32); + this.Fruit.mirror = true; + this.setRotation(this.Fruit, 0.0F, 0.0F, 0.0F); + this.Stem = new ModelRenderer(this, 0, 14); + this.Stem.addBox(0.0F, 0.0F, 0.0F, 2, 6, 2); + this.Stem.setRotationPoint(1.0F, -3.0F, 1.0F); + this.Stem.setTextureSize(32, 32); + this.Stem.mirror = true; + this.setRotation(this.Stem, 0.0F, 0.0F, 0.0F); + } + + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + super.render(entity, f, f1, f2, f3, f4, f5); + this.Fruit.render(f5); + this.Stem.render(f5); + } + + private void setRotation(ModelRenderer model, float x, float y, float z) { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity par7Entity) { + super.setRotationAngles(f, f1, f2, f3, f4, f5, par7Entity); + } } diff --git a/common/rebelkeithy/mods/atum/blocks/ores/BlockAtumOre.java b/common/rebelkeithy/mods/atum/blocks/ores/BlockAtumOre.java index 0087475..d4812c9 100644 --- a/common/rebelkeithy/mods/atum/blocks/ores/BlockAtumOre.java +++ b/common/rebelkeithy/mods/atum/blocks/ores/BlockAtumOre.java @@ -1,7 +1,6 @@ package rebelkeithy.mods.atum.blocks.ores; import java.util.Random; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.item.Item; @@ -9,96 +8,52 @@ import net.minecraft.world.World; import rebelkeithy.mods.atum.AtumBlocks; -public class BlockAtumOre extends Block -{ - public BlockAtumOre(int par1) - { - super(par1, Material.rock); - } - - /** - * Returns the ID of the items to drop on destruction. - */ - @Override - public int idDropped(int par1, Random par2Random, int par3) - { - if(this.blockID == AtumBlocks.coalOre.blockID) - return Item.coal.itemID; - else if(this.blockID == AtumBlocks.diamondOre.blockID) - return Item.diamond.itemID; - else if(this.blockID == AtumBlocks.lapisOre.blockID) - return Item.dyePowder.itemID; - else - return this.blockID; - } - - /** - * Returns the quantity of items to drop on block destruction. - */ - @Override - public int quantityDropped(Random par1Random) - { - return this.blockID == AtumBlocks.lapisOre.blockID ? 4 + par1Random.nextInt(5) : 1; - } - - /** - * Returns the usual quantity dropped by the block plus a bonus of 1 to 'i' (inclusive). - */ - @Override - public int quantityDroppedWithBonus(int par1, Random par2Random) - { - if (par1 > 0 && this.blockID != this.idDropped(0, par2Random, par1)) - { - int j = par2Random.nextInt(par1 + 2) - 1; - - if (j < 0) - { - j = 0; - } - - return this.quantityDropped(par2Random) * (j + 1); - } - else - { - return this.quantityDropped(par2Random); - } - } - - /** - * Drops the block items with a specified chance of dropping the specified items - */ - @Override - public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int par4, int par5, float par6, int par7) - { - super.dropBlockAsItemWithChance(par1World, par2, par3, par4, par5, par6, par7); - - if (this.idDropped(par5, par1World.rand, par7) != this.blockID) - { - int j1 = 0; - - if (this.blockID == AtumBlocks.coalOre.blockID) - { - j1 = MathHelper.getRandomIntegerInRange(par1World.rand, 0, 2); - } - else if (this.blockID == AtumBlocks.diamondOre.blockID) - { - j1 = MathHelper.getRandomIntegerInRange(par1World.rand, 3, 7); - } - else if (this.blockID == AtumBlocks.lapisOre.blockID) - { - j1 = MathHelper.getRandomIntegerInRange(par1World.rand, 2, 5); - } - - this.dropXpOnBlockBreak(par1World, par2, par3, par4, j1); - } - } +public class BlockAtumOre extends Block { + + public BlockAtumOre(int par1) { + super(par1, Material.rock); + } + + public int idDropped(int par1, Random par2Random, int par3) { + return super.blockID == AtumBlocks.coalOre.blockID ? Item.coal.itemID : (super.blockID == AtumBlocks.diamondOre.blockID ? Item.diamond.itemID : (super.blockID == AtumBlocks.lapisOre.blockID ? Item.dyePowder.itemID : super.blockID)); + } + + public int quantityDropped(Random par1Random) { + return super.blockID == AtumBlocks.lapisOre.blockID ? 4 + par1Random.nextInt(5) : 1; + } + + public int quantityDroppedWithBonus(int par1, Random par2Random) { + if (par1 > 0 && super.blockID != this.idDropped(0, par2Random, par1)) { + int j = par2Random.nextInt(par1 + 2) - 1; + if (j < 0) { + j = 0; + } + + return this.quantityDropped(par2Random) * (j + 1); + } else { + return this.quantityDropped(par2Random); + } + } + + public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int par4, int par5, float par6, int par7) { + super.dropBlockAsItemWithChance(par1World, par2, par3, par4, par5, par6, par7); + if (this.idDropped(par5, par1World.rand, par7) != super.blockID) { + int j1 = 0; + if (super.blockID == AtumBlocks.coalOre.blockID) { + j1 = MathHelper.getRandomIntegerInRange(par1World.rand, 0, 2); + } else if (super.blockID == AtumBlocks.diamondOre.blockID) { + j1 = MathHelper.getRandomIntegerInRange(par1World.rand, 3, 7); + } else if (super.blockID == AtumBlocks.lapisOre.blockID) { + j1 = MathHelper.getRandomIntegerInRange(par1World.rand, 2, 5); + } + + this.dropXpOnBlockBreak(par1World, par2, par3, par4, j1); + } + + } + + public int damageDropped(int par1) { + return super.blockID == AtumBlocks.lapisOre.blockID ? 4 : 0; + } - /** - * Determines the damage on the item the block drops. Used in cloth and wood. - */ - @Override - public int damageDropped(int par1) - { - return this.blockID == AtumBlocks.lapisOre.blockID ? 4 : 0; - } } diff --git a/common/rebelkeithy/mods/atum/blocks/ores/BlockAtumRedstone.java b/common/rebelkeithy/mods/atum/blocks/ores/BlockAtumRedstone.java index 2eecec7..5bbfb9a 100644 --- a/common/rebelkeithy/mods/atum/blocks/ores/BlockAtumRedstone.java +++ b/common/rebelkeithy/mods/atum/blocks/ores/BlockAtumRedstone.java @@ -1,7 +1,8 @@ package rebelkeithy.mods.atum.blocks.ores; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import java.util.Random; - import net.minecraft.block.BlockRedstoneOre; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; @@ -9,157 +10,98 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import rebelkeithy.mods.atum.AtumBlocks; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockAtumRedstone extends BlockRedstoneOre -{ - - public BlockAtumRedstone(int par1) - { - super(par1, true); - } - - @Override - public int getLightValue(IBlockAccess world, int x, int y, int z) - { - if(world.getBlockMetadata(x, y, z) == 1) - return (int)(15*0.625); - else - return 0; - } - - /** - * Called when the block is clicked by a player. Args: x, y, z, entityPlayer - */ - @Override - public void onBlockClicked(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer) - { - this.glow(par1World, par2, par3, par4); - super.onBlockClicked(par1World, par2, par3, par4, par5EntityPlayer); - } - - /** - * Called whenever an entity is walking on top of this block. Args: world, x, y, z, entity - */ - @Override - public void onEntityWalking(World par1World, int par2, int par3, int par4, Entity par5Entity) - { - this.glow(par1World, par2, par3, par4); - super.onEntityWalking(par1World, par2, par3, par4, par5Entity); - } - - /** - * Called upon block activation (right click on the block.) - */ - @Override - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) - { - this.glow(par1World, par2, par3, par4); - return super.onBlockActivated(par1World, par2, par3, par4, par5EntityPlayer, par6, par7, par8, par9); - } - - /** - * The redstone ore glows. - */ - private void glow(World par1World, int par2, int par3, int par4) - { - this.sparkle(par1World, par2, par3, par4); - - int meta = par1World.getBlockId(par2, par3, par4); - if (meta != 1) - { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 1, 2); - } - } - - /** - * Ticks the block if it's been scheduled - */ - @Override - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) - { - int meta = par1World.getBlockMetadata(par2, par3, par4); - if (meta == 1) - { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 2); - } - } - - @SideOnly(Side.CLIENT) - - /** - * A randomly called display update to be able to add particles or other items for display - */ - @Override - public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) - { - int meta = par1World.getBlockMetadata(par2, par3, par4); - if (meta == 1) - { - this.sparkle(par1World, par2, par3, par4); - } - } - - /** - * The redstone ore sparkles. - */ - private void sparkle(World par1World, int par2, int par3, int par4) - { - Random random = par1World.rand; - double d0 = 0.0625D; - - for (int l = 0; l < 6; ++l) - { - double d1 = (double)((float)par2 + random.nextFloat()); - double d2 = (double)((float)par3 + random.nextFloat()); - double d3 = (double)((float)par4 + random.nextFloat()); - - if (l == 0 && !par1World.isBlockOpaqueCube(par2, par3 + 1, par4)) - { - d2 = (double)(par3 + 1) + d0; - } - - if (l == 1 && !par1World.isBlockOpaqueCube(par2, par3 - 1, par4)) - { - d2 = (double)(par3 + 0) - d0; - } - - if (l == 2 && !par1World.isBlockOpaqueCube(par2, par3, par4 + 1)) - { - d3 = (double)(par4 + 1) + d0; - } - - if (l == 3 && !par1World.isBlockOpaqueCube(par2, par3, par4 - 1)) - { - d3 = (double)(par4 + 0) - d0; - } - - if (l == 4 && !par1World.isBlockOpaqueCube(par2 + 1, par3, par4)) - { - d1 = (double)(par2 + 1) + d0; - } - - if (l == 5 && !par1World.isBlockOpaqueCube(par2 - 1, par3, par4)) - { - d1 = (double)(par2 + 0) - d0; - } - - if (d1 < (double)par2 || d1 > (double)(par2 + 1) || d2 < 0.0D || d2 > (double)(par3 + 1) || d3 < (double)par4 || d3 > (double)(par4 + 1)) - { - par1World.spawnParticle("reddust", d1, d2, d3, 0.0D, 0.0D, 0.0D); - } - } - } - - /** - * Returns an item stack containing a single instance of the current block type. 'i' is the block's subtype/damage - * and is ignored for blocks which do not support subtypes. Blocks which cannot be harvested should return null. - */ - @Override - protected ItemStack createStackedBlock(int par1) - { - return new ItemStack(AtumBlocks.redstoneOre); - } +public class BlockAtumRedstone extends BlockRedstoneOre { + + public BlockAtumRedstone(int par1) { + super(par1, true); + } + + public int getLightValue(IBlockAccess world, int x, int y, int z) { + return world.getBlockMetadata(x, y, z) == 1?9:0; + } + + public void onBlockClicked(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer) { + this.glow(par1World, par2, par3, par4); + super.onBlockClicked(par1World, par2, par3, par4, par5EntityPlayer); + } + + public void onEntityWalking(World par1World, int par2, int par3, int par4, Entity par5Entity) { + this.glow(par1World, par2, par3, par4); + super.onEntityWalking(par1World, par2, par3, par4, par5Entity); + } + + public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { + this.glow(par1World, par2, par3, par4); + return super.onBlockActivated(par1World, par2, par3, par4, par5EntityPlayer, par6, par7, par8, par9); + } + + private void glow(World par1World, int par2, int par3, int par4) { + this.sparkle(par1World, par2, par3, par4); + int meta = par1World.getBlockId(par2, par3, par4); + if(meta != 1) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 1, 2); + } + + } + + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + int meta = par1World.getBlockMetadata(par2, par3, par4); + if(meta == 1) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 2); + } + + } + + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { + int meta = par1World.getBlockMetadata(par2, par3, par4); + if(meta == 1) { + this.sparkle(par1World, par2, par3, par4); + } + + } + + private void sparkle(World par1World, int par2, int par3, int par4) { + Random random = par1World.rand; + double d0 = 0.0625D; + + for(int l = 0; l < 6; ++l) { + double d1 = (double)((float)par2 + random.nextFloat()); + double d2 = (double)((float)par3 + random.nextFloat()); + double d3 = (double)((float)par4 + random.nextFloat()); + if(l == 0 && !par1World.isBlockOpaqueCube(par2, par3 + 1, par4)) { + d2 = (double)(par3 + 1) + d0; + } + + if(l == 1 && !par1World.isBlockOpaqueCube(par2, par3 - 1, par4)) { + d2 = (double)(par3 + 0) - d0; + } + + if(l == 2 && !par1World.isBlockOpaqueCube(par2, par3, par4 + 1)) { + d3 = (double)(par4 + 1) + d0; + } + + if(l == 3 && !par1World.isBlockOpaqueCube(par2, par3, par4 - 1)) { + d3 = (double)(par4 + 0) - d0; + } + + if(l == 4 && !par1World.isBlockOpaqueCube(par2 + 1, par3, par4)) { + d1 = (double)(par2 + 1) + d0; + } + + if(l == 5 && !par1World.isBlockOpaqueCube(par2 - 1, par3, par4)) { + d1 = (double)(par2 + 0) - d0; + } + + if(d1 < (double)par2 || d1 > (double)(par2 + 1) || d2 < 0.0D || d2 > (double)(par3 + 1) || d3 < (double)par4 || d3 > (double)(par4 + 1)) { + par1World.spawnParticle("reddust", d1, d2, d3, 0.0D, 0.0D, 0.0D); + } + } + + } + + protected ItemStack createStackedBlock(int par1) { + return new ItemStack(AtumBlocks.redstoneOre); + } } diff --git a/common/rebelkeithy/mods/atum/blocks/renderers/DateBlockRenderer.java b/common/rebelkeithy/mods/atum/blocks/renderers/DateBlockRenderer.java index d079236..9571315 100644 --- a/common/rebelkeithy/mods/atum/blocks/renderers/DateBlockRenderer.java +++ b/common/rebelkeithy/mods/atum/blocks/renderers/DateBlockRenderer.java @@ -1,5 +1,6 @@ package rebelkeithy.mods.atum.blocks.renderers; +import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; import net.minecraft.block.Block; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.Tessellator; @@ -8,286 +9,108 @@ import rebelkeithy.mods.atum.AtumBlocks; import rebelkeithy.mods.atum.blocks.BlockDate; import rebelkeithy.mods.atum.blocks.models.ModelDate; -import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; - -public class DateBlockRenderer implements ISimpleBlockRenderingHandler -{ - ModelDate modelDate = new ModelDate(); - - @Override - public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) - { - //renderWorldBlock(null, 0, 0, 0, block, modelID, renderer); - } - - @Override - public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) - { - //BlockDate block = (BlockDate) Atum.atumDateBlock; - Tessellator tessellator = Tessellator.instance; - if(world != null) - tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); - else - tessellator.setBrightness(1); - - tessellator.setColorOpaque_F(1.0F, 1.0F, 1.0F); - Icon icon = block.getIcon(0, 0); - - double sideu1 = icon.getInterpolatedU(0); - double sideu2 = icon.getInterpolatedU(6); - double sidev1 = icon.getInterpolatedV(14); - double sidev2 = icon.getInterpolatedV(6); - - double topu1 = icon.getInterpolatedU(0); - double topu2 = icon.getInterpolatedU(6); - double topv1 = icon.getInterpolatedV(6); - double topv2 = icon.getInterpolatedV(0); - - double fx1 = 5/16.0D; - double fx2 = 11/16.0D; - double fz = 11/16.0D; - double y1 = 2/16.0D; - double y2 = 10/16.0D; - - - double bz = 5/16.0D; - - tessellator.addVertexWithUV(x+fx1, y+y1, z+fz, sideu1, sidev1); - tessellator.addVertexWithUV(x+fx2, y+y1, z+fz, sideu2, sidev1); - tessellator.addVertexWithUV(x+fx2, y+y2, z+fz, sideu2, sidev2); - tessellator.addVertexWithUV(x+fx1, y+y2, z+fz, sideu1, sidev2); - - tessellator.addVertexWithUV(x+fx1, y+y1, z+bz, sideu1, sidev1); - tessellator.addVertexWithUV(x+fx1, y+y2, z+bz, sideu1, sidev2); - tessellator.addVertexWithUV(x+fx2, y+y2, z+bz, sideu2, sidev2); - tessellator.addVertexWithUV(x+fx2, y+y1, z+bz, sideu2, sidev1); - - tessellator.addVertexWithUV(x+fz, y+y1, z+fx1, sideu1, sidev1); - tessellator.addVertexWithUV(x+fz, y+y2, z+fx1, sideu1, sidev2); - tessellator.addVertexWithUV(x+fz, y+y2, z+fx2, sideu2, sidev2); - tessellator.addVertexWithUV(x+fz, y+y1, z+fx2, sideu2, sidev1); - - tessellator.addVertexWithUV(x+bz, y+y1, z+fx1, sideu1, sidev1); - tessellator.addVertexWithUV(x+bz, y+y1, z+fx2, sideu2, sidev1); - tessellator.addVertexWithUV(x+bz, y+y2, z+fx2, sideu2, sidev2); - tessellator.addVertexWithUV(x+bz, y+y2, z+fx1, sideu1, sidev2); - - tessellator.addVertexWithUV(x+bz, y+y2, z+fx1, topu1, topv1); - tessellator.addVertexWithUV(x+bz, y+y2, z+fx2, topu1, topv2); - tessellator.addVertexWithUV(x+fz, y+y2, z+fx2, topu2, topv2); - tessellator.addVertexWithUV(x+fz, y+y2, z+fx1, topu2, topv1); - - tessellator.addVertexWithUV(x+bz, y+y1, z+fx1, topu1, topv1); - tessellator.addVertexWithUV(x+fz, y+y1, z+fx1, topu2, topv1); - tessellator.addVertexWithUV(x+fz, y+y1, z+fx2, topu2, topv2); - tessellator.addVertexWithUV(x+bz, y+y1, z+fx2, topu1, topv2); - - - sideu1 = icon.getInterpolatedU(6); - sideu2 = icon.getInterpolatedU(8); - sidev1 = icon.getInterpolatedV(12); - sidev2 = icon.getInterpolatedV(6); - - topu1 = icon.getInterpolatedU(6); - topu2 = icon.getInterpolatedU(8); - topv1 = icon.getInterpolatedV(2); - topv2 = icon.getInterpolatedV(0); - - fx1 = 7/16.0D; - fx2 = 9/16.0D; - bz = 7/16.0D; - fz = 9/16.0D; - y1 = 10/16.0D; - y2 = 16/16.0D; - - tessellator.addVertexWithUV(x+fx1, y+y1, z+fz, sideu1, sidev1); - tessellator.addVertexWithUV(x+fx2, y+y1, z+fz, sideu2, sidev1); - tessellator.addVertexWithUV(x+fx2, y+y2, z+fz, sideu2, sidev2); - tessellator.addVertexWithUV(x+fx1, y+y2, z+fz, sideu1, sidev2); - - tessellator.addVertexWithUV(x+fx1, y+y1, z+bz, sideu1, sidev1); - tessellator.addVertexWithUV(x+fx1, y+y2, z+bz, sideu1, sidev2); - tessellator.addVertexWithUV(x+fx2, y+y2, z+bz, sideu2, sidev2); - tessellator.addVertexWithUV(x+fx2, y+y1, z+bz, sideu2, sidev1); - - tessellator.addVertexWithUV(x+fz, y+y1, z+fx1, sideu1, sidev1); - tessellator.addVertexWithUV(x+fz, y+y2, z+fx1, sideu1, sidev2); - tessellator.addVertexWithUV(x+fz, y+y2, z+fx2, sideu2, sidev2); - tessellator.addVertexWithUV(x+fz, y+y1, z+fx2, sideu2, sidev1); - - tessellator.addVertexWithUV(x+bz, y+y1, z+fx1, sideu1, sidev1); - tessellator.addVertexWithUV(x+bz, y+y1, z+fx2, sideu2, sidev1); - tessellator.addVertexWithUV(x+bz, y+y2, z+fx2, sideu2, sidev2); - tessellator.addVertexWithUV(x+bz, y+y2, z+fx1, sideu1, sidev2); - - tessellator.addVertexWithUV(x+bz, y+y2, z+fx1, topu1, topv1); - tessellator.addVertexWithUV(x+bz, y+y2, z+fx2, topu1, topv2); - tessellator.addVertexWithUV(x+fz, y+y2, z+fx2, topu2, topv2); - tessellator.addVertexWithUV(x+fz, y+y2, z+fx1, topu2, topv1); - - tessellator.addVertexWithUV(x+bz, y+y1, z+fx1, topu1, topv1); - tessellator.addVertexWithUV(x+fz, y+y1, z+fx1, topu2, topv1); - tessellator.addVertexWithUV(x+fz, y+y1, z+fx2, topu2, topv2); - tessellator.addVertexWithUV(x+bz, y+y1, z+fx2, topu1, topv2); - - - /* - int l = world.getBlockMetadata(x, y, z); - int i1 = BlockDirectional.getDirection(l); - int j1 = BlockCocoa.func_72219_c(l); - Icon icon = block.getBlockTextureFromSide(j1); - int k1 = 4 + j1 * 2; - int l1 = 5 + j1 * 2; - double d0 = 15.0D - (double)k1; - double d1 = 15.0D; - double d2 = 4.0D; - double d3 = 4.0D + (double)l1; - double d4 = (double)icon.getInterpolatedU(d0); - double d5 = (double)icon.getInterpolatedU(d1); - double d6 = (double)icon.getInterpolatedV(d2); - double d7 = (double)icon.getInterpolatedV(d3); - double d8 = 0.0D; - double d9 = 0.0D; - - switch (i1) - { - case 0: - d8 = 8.0D - (double)(k1 / 2); - d9 = 15.0D - (double)k1; - break; - case 1: - d8 = 1.0D; - d9 = 8.0D - (double)(k1 / 2); - break; - case 2: - d8 = 8.0D - (double)(k1 / 2); - d9 = 1.0D; - break; - case 3: - d8 = 15.0D - (double)k1; - d9 = 8.0D - (double)(k1 / 2); - } - - double d10 = (double)x + d8 / 16.0D; - double d11 = (double)x + (d8 + (double)k1) / 16.0D; - double d12 = (double)y + (12.0D - (double)l1) / 16.0D; - double d13 = (double)y + 0.75D; - double d14 = (double)z + d9 / 16.0D; - double d15 = (double)z + (d9 + (double)k1) / 16.0D; - tessellator.addVertexWithUV(d10, d12, d14, d4, d7); - tessellator.addVertexWithUV(d10, d12, d15, d5, d7); - tessellator.addVertexWithUV(d10, d13, d15, d5, d6); - tessellator.addVertexWithUV(d10, d13, d14, d4, d6); - tessellator.addVertexWithUV(d11, d12, d15, d4, d7); - tessellator.addVertexWithUV(d11, d12, d14, d5, d7); - tessellator.addVertexWithUV(d11, d13, d14, d5, d6); - tessellator.addVertexWithUV(d11, d13, d15, d4, d6); - tessellator.addVertexWithUV(d11, d12, d14, d4, d7); - tessellator.addVertexWithUV(d10, d12, d14, d5, d7); - tessellator.addVertexWithUV(d10, d13, d14, d5, d6); - tessellator.addVertexWithUV(d11, d13, d14, d4, d6); - tessellator.addVertexWithUV(d10, d12, d15, d4, d7); - tessellator.addVertexWithUV(d11, d12, d15, d5, d7); - tessellator.addVertexWithUV(d11, d13, d15, d5, d6); - tessellator.addVertexWithUV(d10, d13, d15, d4, d6); - int i2 = k1; - - if (j1 >= 2) - { - i2 = k1 - 1; - } - - d4 = (double)icon.getMinU(); - d5 = (double)icon.getInterpolatedU((double)i2); - d6 = (double)icon.getMinV(); - d7 = (double)icon.getInterpolatedV((double)i2); - tessellator.addVertexWithUV(d10, d13, d15, d4, d7); - tessellator.addVertexWithUV(d11, d13, d15, d5, d7); - tessellator.addVertexWithUV(d11, d13, d14, d5, d6); - tessellator.addVertexWithUV(d10, d13, d14, d4, d6); - tessellator.addVertexWithUV(d10, d12, d14, d4, d6); - tessellator.addVertexWithUV(d11, d12, d14, d5, d6); - tessellator.addVertexWithUV(d11, d12, d15, d5, d7); - tessellator.addVertexWithUV(d10, d12, d15, d4, d7); - d4 = (double)icon.getInterpolatedU(12.0D); - d5 = (double)icon.getMaxU(); - d6 = (double)icon.getMinV(); - d7 = (double)icon.getInterpolatedV(4.0D); - d8 = 8.0D; - d9 = 0.0D; - double d16; - - switch (i1) - { - case 0: - d8 = 8.0D; - d9 = 12.0D; - d16 = d4; - d4 = d5; - d5 = d16; - break; - case 1: - d8 = 0.0D; - d9 = 8.0D; - break; - case 2: - d8 = 8.0D; - d9 = 0.0D; - break; - case 3: - d8 = 12.0D; - d9 = 8.0D; - d16 = d4; - d4 = d5; - d5 = d16; - } - - d10 = (double)x + d8 / 16.0D; - d11 = (double)x + (d8 + 4.0D) / 16.0D; - d12 = (double)y + 0.75D; - d13 = (double)y + 1.0D; - d14 = (double)z + d9 / 16.0D; - d15 = (double)z + (d9 + 4.0D) / 16.0D; - - if (i1 != 2 && i1 != 0) - { - if (i1 == 1 || i1 == 3) - { - tessellator.addVertexWithUV(d11, d12, d14, d4, d7); - tessellator.addVertexWithUV(d10, d12, d14, d5, d7); - tessellator.addVertexWithUV(d10, d13, d14, d5, d6); - tessellator.addVertexWithUV(d11, d13, d14, d4, d6); - tessellator.addVertexWithUV(d10, d12, d14, d5, d7); - tessellator.addVertexWithUV(d11, d12, d14, d4, d7); - tessellator.addVertexWithUV(d11, d13, d14, d4, d6); - tessellator.addVertexWithUV(d10, d13, d14, d5, d6); - } - } - else - { - tessellator.addVertexWithUV(d10, d12, d14, d5, d7); - tessellator.addVertexWithUV(d10, d12, d15, d4, d7); - tessellator.addVertexWithUV(d10, d13, d15, d4, d6); - tessellator.addVertexWithUV(d10, d13, d14, d5, d6); - tessellator.addVertexWithUV(d10, d12, d15, d4, d7); - tessellator.addVertexWithUV(d10, d12, d14, d5, d7); - tessellator.addVertexWithUV(d10, d13, d14, d5, d6); - tessellator.addVertexWithUV(d10, d13, d15, d4, d6); - } - */ - return true; - } - - @Override - public boolean shouldRender3DInInventory() - { - return false; - } - - @Override - public int getRenderId() - { - return ((BlockDate)(AtumBlocks.dateBlock)).renderID; - } +public class DateBlockRenderer implements ISimpleBlockRenderingHandler { + + ModelDate modelDate = new ModelDate(); + + + public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) {} + + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + Tessellator tessellator = Tessellator.instance; + if(world != null) { + tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + } else { + tessellator.setBrightness(1); + } + + tessellator.setColorOpaque_F(1.0F, 1.0F, 1.0F); + Icon icon = block.getIcon(0, 0); + double sideu1 = (double)icon.getInterpolatedU(0.0D); + double sideu2 = (double)icon.getInterpolatedU(6.0D); + double sidev1 = (double)icon.getInterpolatedV(14.0D); + double sidev2 = (double)icon.getInterpolatedV(6.0D); + double topu1 = (double)icon.getInterpolatedU(0.0D); + double topu2 = (double)icon.getInterpolatedU(6.0D); + double topv1 = (double)icon.getInterpolatedV(6.0D); + double topv2 = (double)icon.getInterpolatedV(0.0D); + double fx1 = 0.3125D; + double fx2 = 0.6875D; + double fz = 0.6875D; + double y1 = 0.125D; + double y2 = 0.625D; + double bz = 0.3125D; + tessellator.addVertexWithUV((double)x + fx1, (double)y + y1, (double)z + fz, sideu1, sidev1); + tessellator.addVertexWithUV((double)x + fx2, (double)y + y1, (double)z + fz, sideu2, sidev1); + tessellator.addVertexWithUV((double)x + fx2, (double)y + y2, (double)z + fz, sideu2, sidev2); + tessellator.addVertexWithUV((double)x + fx1, (double)y + y2, (double)z + fz, sideu1, sidev2); + tessellator.addVertexWithUV((double)x + fx1, (double)y + y1, (double)z + bz, sideu1, sidev1); + tessellator.addVertexWithUV((double)x + fx1, (double)y + y2, (double)z + bz, sideu1, sidev2); + tessellator.addVertexWithUV((double)x + fx2, (double)y + y2, (double)z + bz, sideu2, sidev2); + tessellator.addVertexWithUV((double)x + fx2, (double)y + y1, (double)z + bz, sideu2, sidev1); + tessellator.addVertexWithUV((double)x + fz, (double)y + y1, (double)z + fx1, sideu1, sidev1); + tessellator.addVertexWithUV((double)x + fz, (double)y + y2, (double)z + fx1, sideu1, sidev2); + tessellator.addVertexWithUV((double)x + fz, (double)y + y2, (double)z + fx2, sideu2, sidev2); + tessellator.addVertexWithUV((double)x + fz, (double)y + y1, (double)z + fx2, sideu2, sidev1); + tessellator.addVertexWithUV((double)x + bz, (double)y + y1, (double)z + fx1, sideu1, sidev1); + tessellator.addVertexWithUV((double)x + bz, (double)y + y1, (double)z + fx2, sideu2, sidev1); + tessellator.addVertexWithUV((double)x + bz, (double)y + y2, (double)z + fx2, sideu2, sidev2); + tessellator.addVertexWithUV((double)x + bz, (double)y + y2, (double)z + fx1, sideu1, sidev2); + tessellator.addVertexWithUV((double)x + bz, (double)y + y2, (double)z + fx1, topu1, topv1); + tessellator.addVertexWithUV((double)x + bz, (double)y + y2, (double)z + fx2, topu1, topv2); + tessellator.addVertexWithUV((double)x + fz, (double)y + y2, (double)z + fx2, topu2, topv2); + tessellator.addVertexWithUV((double)x + fz, (double)y + y2, (double)z + fx1, topu2, topv1); + tessellator.addVertexWithUV((double)x + bz, (double)y + y1, (double)z + fx1, topu1, topv1); + tessellator.addVertexWithUV((double)x + fz, (double)y + y1, (double)z + fx1, topu2, topv1); + tessellator.addVertexWithUV((double)x + fz, (double)y + y1, (double)z + fx2, topu2, topv2); + tessellator.addVertexWithUV((double)x + bz, (double)y + y1, (double)z + fx2, topu1, topv2); + sideu1 = (double)icon.getInterpolatedU(6.0D); + sideu2 = (double)icon.getInterpolatedU(8.0D); + sidev1 = (double)icon.getInterpolatedV(12.0D); + sidev2 = (double)icon.getInterpolatedV(6.0D); + topu1 = (double)icon.getInterpolatedU(6.0D); + topu2 = (double)icon.getInterpolatedU(8.0D); + topv1 = (double)icon.getInterpolatedV(2.0D); + topv2 = (double)icon.getInterpolatedV(0.0D); + fx1 = 0.4375D; + fx2 = 0.5625D; + bz = 0.4375D; + fz = 0.5625D; + y1 = 0.625D; + y2 = 1.0D; + tessellator.addVertexWithUV((double)x + fx1, (double)y + y1, (double)z + fz, sideu1, sidev1); + tessellator.addVertexWithUV((double)x + fx2, (double)y + y1, (double)z + fz, sideu2, sidev1); + tessellator.addVertexWithUV((double)x + fx2, (double)y + y2, (double)z + fz, sideu2, sidev2); + tessellator.addVertexWithUV((double)x + fx1, (double)y + y2, (double)z + fz, sideu1, sidev2); + tessellator.addVertexWithUV((double)x + fx1, (double)y + y1, (double)z + bz, sideu1, sidev1); + tessellator.addVertexWithUV((double)x + fx1, (double)y + y2, (double)z + bz, sideu1, sidev2); + tessellator.addVertexWithUV((double)x + fx2, (double)y + y2, (double)z + bz, sideu2, sidev2); + tessellator.addVertexWithUV((double)x + fx2, (double)y + y1, (double)z + bz, sideu2, sidev1); + tessellator.addVertexWithUV((double)x + fz, (double)y + y1, (double)z + fx1, sideu1, sidev1); + tessellator.addVertexWithUV((double)x + fz, (double)y + y2, (double)z + fx1, sideu1, sidev2); + tessellator.addVertexWithUV((double)x + fz, (double)y + y2, (double)z + fx2, sideu2, sidev2); + tessellator.addVertexWithUV((double)x + fz, (double)y + y1, (double)z + fx2, sideu2, sidev1); + tessellator.addVertexWithUV((double)x + bz, (double)y + y1, (double)z + fx1, sideu1, sidev1); + tessellator.addVertexWithUV((double)x + bz, (double)y + y1, (double)z + fx2, sideu2, sidev1); + tessellator.addVertexWithUV((double)x + bz, (double)y + y2, (double)z + fx2, sideu2, sidev2); + tessellator.addVertexWithUV((double)x + bz, (double)y + y2, (double)z + fx1, sideu1, sidev2); + tessellator.addVertexWithUV((double)x + bz, (double)y + y2, (double)z + fx1, topu1, topv1); + tessellator.addVertexWithUV((double)x + bz, (double)y + y2, (double)z + fx2, topu1, topv2); + tessellator.addVertexWithUV((double)x + fz, (double)y + y2, (double)z + fx2, topu2, topv2); + tessellator.addVertexWithUV((double)x + fz, (double)y + y2, (double)z + fx1, topu2, topv1); + tessellator.addVertexWithUV((double)x + bz, (double)y + y1, (double)z + fx1, topu1, topv1); + tessellator.addVertexWithUV((double)x + fz, (double)y + y1, (double)z + fx1, topu2, topv1); + tessellator.addVertexWithUV((double)x + fz, (double)y + y1, (double)z + fx2, topu2, topv2); + tessellator.addVertexWithUV((double)x + bz, (double)y + y1, (double)z + fx2, topu1, topv2); + return true; + } + + public boolean shouldRender3DInInventory() { + return false; + } + + public int getRenderId() { + return ((BlockDate)((BlockDate)AtumBlocks.dateBlock)).renderID; + } } diff --git a/common/rebelkeithy/mods/atum/blocks/renderers/PapyrusBlockRenderer.java b/common/rebelkeithy/mods/atum/blocks/renderers/PapyrusBlockRenderer.java index 9c2a1b8..aae42a4 100644 --- a/common/rebelkeithy/mods/atum/blocks/renderers/PapyrusBlockRenderer.java +++ b/common/rebelkeithy/mods/atum/blocks/renderers/PapyrusBlockRenderer.java @@ -1,112 +1,85 @@ package rebelkeithy.mods.atum.blocks.renderers; +import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; import net.minecraft.block.Block; import net.minecraft.client.renderer.EntityRenderer; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.Tessellator; import net.minecraft.util.Icon; import net.minecraft.world.IBlockAccess; -import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; -import cpw.mods.fml.client.registry.RenderingRegistry; - -public class PapyrusBlockRenderer implements ISimpleBlockRenderingHandler -{ - - - @Override - public void renderInventoryBlock(Block block, int metadata, int modelID, - RenderBlocks renderer) - { - // TODO Auto-generated method stub - - } - - @Override - public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) - { - Tessellator tessellator = Tessellator.instance; - tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); - float f = 1.0F; - int l = block.colorMultiplier(world, x, y, z); - float f1 = (float)(l >> 16 & 255) / 255.0F; - float f2 = (float)(l >> 8 & 255) / 255.0F; - float f3 = (float)(l & 255) / 255.0F; - - if (EntityRenderer.anaglyphEnable) - { - float f4 = (f1 * 30.0F + f2 * 59.0F + f3 * 11.0F) / 100.0F; - float f5 = (f1 * 30.0F + f2 * 70.0F) / 100.0F; - float f6 = (f1 * 30.0F + f3 * 70.0F) / 100.0F; - f1 = f4; - f2 = f5; - f3 = f6; - } - tessellator.setColorOpaque_F(f * f1, f * f2, f * f3); - double d0 = (double)x; - double d1 = (double)y; - double d2 = (double)z; +public class PapyrusBlockRenderer implements ISimpleBlockRenderingHandler { - if (block == Block.tallGrass) - { - long i1 = (long)(x * 3129871) ^ (long)z * 116129781L ^ (long)y; - i1 = i1 * i1 * 42317861L + i1 * 11L; - d0 += ((double)((float)(i1 >> 16 & 15L) / 15.0F) - 0.5D) * 0.5D; - d1 += ((double)((float)(i1 >> 20 & 15L) / 15.0F) - 1.0D) * 0.2D; - d2 += ((double)((float)(i1 >> 24 & 15L) / 15.0F) - 0.5D) * 0.5D; - } + public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) {} - Icon icon = block.getBlockTexture(world, x, y, z, 0); - this.drawCrossedSquares(icon, block, world.getBlockMetadata(x, y, z), d0, d1, d2, 1.0F); - return true; - } + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + Tessellator tessellator = Tessellator.instance; + tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + float f = 1.0F; + int l = block.colorMultiplier(world, x, y, z); + float f1 = (float)(l >> 16 & 255) / 255.0F; + float f2 = (float)(l >> 8 & 255) / 255.0F; + float f3 = (float)(l & 255) / 255.0F; + if(EntityRenderer.anaglyphEnable) { + float d0 = (f1 * 30.0F + f2 * 59.0F + f3 * 11.0F) / 100.0F; + float f5 = (f1 * 30.0F + f2 * 70.0F) / 100.0F; + float d1 = (f1 * 30.0F + f3 * 70.0F) / 100.0F; + f1 = d0; + f2 = f5; + f3 = d1; + } - /** - * Utility function to draw crossed swuares - */ - public void drawCrossedSquares(Icon icon, Block par1Block, int par2, double par3, double par5, double par7, float par9) - { - Tessellator tessellator = Tessellator.instance; + tessellator.setColorOpaque_F(f * f1, f * f2, f * f3); + double d01 = (double)x; + double d11 = (double)y; + double d2 = (double)z; + if(block == Block.tallGrass) { + long icon = (long)(x * 3129871) ^ (long)z * 116129781L ^ (long)y; + icon = icon * icon * 42317861L + icon * 11L; + d01 += ((double)((float)(icon >> 16 & 15L) / 15.0F) - 0.5D) * 0.5D; + d11 += ((double)((float)(icon >> 20 & 15L) / 15.0F) - 1.0D) * 0.2D; + d2 += ((double)((float)(icon >> 24 & 15L) / 15.0F) - 0.5D) * 0.5D; + } - double d3 = (double)icon.getMinU(); - double d4 = (double)icon.getMinV(); - double d5 = (double)icon.getMaxU(); - double d6 = (double)icon.getMaxV(); - double d7 = 0.45D * (double)par9; - double d8 = par3 + 0.5D - d7; - double d9 = par3 + 0.5D + d7; - double d10 = par7 + 0.5D - d7; - double d11 = par7 + 0.5D + d7; - tessellator.addVertexWithUV(d8, par5 + (double)par9, d10, d3, d4); - tessellator.addVertexWithUV(d8, par5 + 0.0D, d10, d3, d6); - tessellator.addVertexWithUV(d9, par5 + 0.0D, d11, d5, d6); - tessellator.addVertexWithUV(d9, par5 + (double)par9, d11, d5, d4); - tessellator.addVertexWithUV(d9, par5 + (double)par9, d11, d3, d4); - tessellator.addVertexWithUV(d9, par5 + 0.0D, d11, d3, d6); - tessellator.addVertexWithUV(d8, par5 + 0.0D, d10, d5, d6); - tessellator.addVertexWithUV(d8, par5 + (double)par9, d10, d5, d4); - tessellator.addVertexWithUV(d8, par5 + (double)par9, d11, d3, d4); - tessellator.addVertexWithUV(d8, par5 + 0.0D, d11, d3, d6); - tessellator.addVertexWithUV(d9, par5 + 0.0D, d10, d5, d6); - tessellator.addVertexWithUV(d9, par5 + (double)par9, d10, d5, d4); - tessellator.addVertexWithUV(d9, par5 + (double)par9, d10, d3, d4); - tessellator.addVertexWithUV(d9, par5 + 0.0D, d10, d3, d6); - tessellator.addVertexWithUV(d8, par5 + 0.0D, d11, d5, d6); - tessellator.addVertexWithUV(d8, par5 + (double)par9, d11, d5, d4); - } + Icon icon1 = block.getBlockTexture(world, x, y, z, 0); + this.drawCrossedSquares(icon1, block, world.getBlockMetadata(x, y, z), d01, d11, d2, 1.0F); + return true; + } - @Override - public boolean shouldRender3DInInventory() - { - // TODO Auto-generated method stub - return false; - } + public void drawCrossedSquares(Icon icon, Block par1Block, int par2, double par3, double par5, double par7, float par9) { + Tessellator tessellator = Tessellator.instance; + double d3 = (double)icon.getMinU(); + double d4 = (double)icon.getMinV(); + double d5 = (double)icon.getMaxU(); + double d6 = (double)icon.getMaxV(); + double d7 = 0.45D * (double)par9; + double d8 = par3 + 0.5D - d7; + double d9 = par3 + 0.5D + d7; + double d10 = par7 + 0.5D - d7; + double d11 = par7 + 0.5D + d7; + tessellator.addVertexWithUV(d8, par5 + (double)par9, d10, d3, d4); + tessellator.addVertexWithUV(d8, par5 + 0.0D, d10, d3, d6); + tessellator.addVertexWithUV(d9, par5 + 0.0D, d11, d5, d6); + tessellator.addVertexWithUV(d9, par5 + (double)par9, d11, d5, d4); + tessellator.addVertexWithUV(d9, par5 + (double)par9, d11, d3, d4); + tessellator.addVertexWithUV(d9, par5 + 0.0D, d11, d3, d6); + tessellator.addVertexWithUV(d8, par5 + 0.0D, d10, d5, d6); + tessellator.addVertexWithUV(d8, par5 + (double)par9, d10, d5, d4); + tessellator.addVertexWithUV(d8, par5 + (double)par9, d11, d3, d4); + tessellator.addVertexWithUV(d8, par5 + 0.0D, d11, d3, d6); + tessellator.addVertexWithUV(d9, par5 + 0.0D, d10, d5, d6); + tessellator.addVertexWithUV(d9, par5 + (double)par9, d10, d5, d4); + tessellator.addVertexWithUV(d9, par5 + (double)par9, d10, d3, d4); + tessellator.addVertexWithUV(d9, par5 + 0.0D, d10, d3, d6); + tessellator.addVertexWithUV(d8, par5 + 0.0D, d11, d5, d6); + tessellator.addVertexWithUV(d8, par5 + (double)par9, d11, d5, d4); + } - @Override - public int getRenderId() - { - // TODO Auto-generated method stub - return 0; - } + public boolean shouldRender3DInInventory() { + return false; + } + public int getRenderId() { + return 0; + } } diff --git a/common/rebelkeithy/mods/atum/cursedchest/BlockChestSpawner.java b/common/rebelkeithy/mods/atum/cursedchest/BlockChestSpawner.java index 70dd317..2f5233f 100644 --- a/common/rebelkeithy/mods/atum/cursedchest/BlockChestSpawner.java +++ b/common/rebelkeithy/mods/atum/cursedchest/BlockChestSpawner.java @@ -4,317 +4,176 @@ import cpw.mods.fml.relauncher.SideOnly; import java.util.Iterator; import java.util.Random; - import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.passive.EntityOcelot; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.InventoryLargeChest; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.MobSpawnerBaseLogic; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import net.minecraftforge.common.ForgeDirection; +import rebelkeithy.mods.atum.cursedchest.TileEntityChestSpawner; + +public class BlockChestSpawner extends BlockContainer { + + private final Random random = new Random(); + public final int field_94443_a = 0; + + + public BlockChestSpawner(int par1) { + super(par1, Material.wood); + this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); + } + + public int idDropped(int par1, Random par2Random, int par3) { + return Block.chest.blockID; + } + + public boolean isOpaqueCube() { + return false; + } + + public boolean renderAsNormalBlock() { + return false; + } + + public int getRenderType() { + return 22; + } + + public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { + this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); + } + + public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack) { + int l = par1World.getBlockId(par2, par3, par4 - 1); + int i1 = par1World.getBlockId(par2, par3, par4 + 1); + int j1 = par1World.getBlockId(par2 - 1, par3, par4); + int k1 = par1World.getBlockId(par2 + 1, par3, par4); + byte b0 = 0; + int l1 = MathHelper.floor_double((double)(par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + if(l1 == 0) { + b0 = 2; + } + + if(l1 == 1) { + b0 = 5; + } + + if(l1 == 2) { + b0 = 3; + } + + if(l1 == 3) { + b0 = 4; + } + + if(l != super.blockID && i1 != super.blockID && j1 != super.blockID && k1 != super.blockID) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); + } else { + if((l == super.blockID || i1 == super.blockID) && (b0 == 4 || b0 == 5)) { + if(l == super.blockID) { + par1World.setBlockMetadataWithNotify(par2, par3, par4 - 1, b0, 3); + } else { + par1World.setBlockMetadataWithNotify(par2, par3, par4 + 1, b0, 3); + } -import static net.minecraftforge.common.ForgeDirection.*; - -public class BlockChestSpawner extends BlockContainer -{ - - private final Random random = new Random(); - public final int field_94443_a; - - public BlockChestSpawner(int par1) - { - super(par1, Material.wood); - this.field_94443_a = 0; - this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); - } - - - @Override - public int idDropped(int par1, Random par2Random, int par3) - { - return Block.chest.blockID; - } - - /** - * Is this block (a) opaque and (b) a full 1m cube? This determines whether or not to render the shared face of two - * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block. - */ - @Override - public boolean isOpaqueCube() - { - return false; - } - - /** - * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc) - */ - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - /** - * The type of render function that is called for this block - */ - @Override - public int getRenderType() - { - return 22; - } - - /** - * Updates the blocks bounds based on its current state. Args: world, x, y, z - */ - @Override - public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) - { - this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); - } - - /** - * Called when the block is placed in the world. - */ - @Override - public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack) - { - int l = par1World.getBlockId(par2, par3, par4 - 1); - int i1 = par1World.getBlockId(par2, par3, par4 + 1); - int j1 = par1World.getBlockId(par2 - 1, par3, par4); - int k1 = par1World.getBlockId(par2 + 1, par3, par4); - byte b0 = 0; - int l1 = MathHelper.floor_double((double)(par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; - - if (l1 == 0) - { - b0 = 2; - } - - if (l1 == 1) - { - b0 = 5; - } - - if (l1 == 2) - { - b0 = 3; - } - - if (l1 == 3) - { - b0 = 4; - } - - if (l != this.blockID && i1 != this.blockID && j1 != this.blockID && k1 != this.blockID) - { par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); - } - else - { - if ((l == this.blockID || i1 == this.blockID) && (b0 == 4 || b0 == 5)) - { - if (l == this.blockID) - { - par1World.setBlockMetadataWithNotify(par2, par3, par4 - 1, b0, 3); - } - else - { - par1World.setBlockMetadataWithNotify(par2, par3, par4 + 1, b0, 3); - } - - par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); - } + } - if ((j1 == this.blockID || k1 == this.blockID) && (b0 == 2 || b0 == 3)) - { - if (j1 == this.blockID) - { - par1World.setBlockMetadataWithNotify(par2 - 1, par3, par4, b0, 3); - } - else - { - par1World.setBlockMetadataWithNotify(par2 + 1, par3, par4, b0, 3); - } - - par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); - } - } - - if (par6ItemStack.hasDisplayName()) - { - ((TileEntityChestSpawner)par1World.getBlockTileEntity(par2, par3, par4)).func_94043_a(par6ItemStack.getDisplayName()); - } - } - - /** - * ejects contained items into the world, and notifies neighbours of an update, as appropriate - */ - @Override - public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) - { - par1World.func_96440_m(par2, par3, par4, par5); - - super.breakBlock(par1World, par2, par3, par4, par5, par6); - } - - /** - * Called upon block activation (right click on the block.) - */ - @Override - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) - { - if (par1World.isRemote) - { - return true; - } - else - { - IInventory iinventory = this.getInventory(par1World, par2, par3, par4); - - if (iinventory != null) - { - par5EntityPlayer.displayGUIChest(iinventory); + if((j1 == super.blockID || k1 == super.blockID) && (b0 == 2 || b0 == 3)) { + if(j1 == super.blockID) { + par1World.setBlockMetadataWithNotify(par2 - 1, par3, par4, b0, 3); + } else { + par1World.setBlockMetadataWithNotify(par2 + 1, par3, par4, b0, 3); } + par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); + } + } + + if(par6ItemStack.hasDisplayName()) { + ((TileEntityChestSpawner)par1World.getBlockTileEntity(par2, par3, par4)).func_94043_a(par6ItemStack.getDisplayName()); + } + + } + + public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) { + par1World.func_96440_m(par2, par3, par4, par5); + super.breakBlock(par1World, par2, par3, par4, par5, par6); + } + + public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { + if(par1World.isRemote) { + return true; + } else { + IInventory iinventory = this.getInventory(par1World, par2, par3, par4); + if(iinventory != null) { + par5EntityPlayer.displayGUIChest(iinventory); + } + + return true; + } + } + + public IInventory getInventory(World par1World, int par2, int par3, int par4) { + TileEntityChestSpawner object = (TileEntityChestSpawner)par1World.getBlockTileEntity(par2, par3, par4); + return object == null?null:(par1World.isBlockSolidOnSide(par2, par3 + 1, par4, ForgeDirection.DOWN)?null:(isOcelotBlockingChest(par1World, par2, par3, par4)?null:(IInventory)object)); + } + + public TileEntity createNewTileEntity(World par1World) { + TileEntityChestSpawner TileEntityChestSpawner = new TileEntityChestSpawner(); + return TileEntityChestSpawner; + } + + public boolean canProvidePower() { + return this.field_94443_a == 1; + } + + public int isProvidingWeakPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + if(!this.canProvidePower()) { + return 0; + } else { + int i1 = ((TileEntityChestSpawner)par1IBlockAccess.getBlockTileEntity(par2, par3, par4)).numUsingPlayers; + return MathHelper.clamp_int(i1, 0, 15); + } + } + + public int isProvidingStrongPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + return par5 == 1?this.isProvidingWeakPower(par1IBlockAccess, par2, par3, par4, par5):0; + } + + public static boolean isOcelotBlockingChest(World par0World, int par1, int par2, int par3) { + Iterator iterator = par0World.getEntitiesWithinAABB(EntityOcelot.class, AxisAlignedBB.getAABBPool().getAABB((double)par1, (double)(par2 + 1), (double)par3, (double)(par1 + 1), (double)(par2 + 2), (double)(par3 + 1))).iterator(); + + while(iterator.hasNext()) { + EntityOcelot entityocelot1 = (EntityOcelot)iterator.next(); + if(entityocelot1.isSitting()) { return true; - } - } - - public IInventory getInventory(World par1World, int par2, int par3, int par4) - { - Object object = (TileEntityChestSpawner)par1World.getBlockTileEntity(par2, par3, par4); - - if (object == null) - { - return null; - } - else if (par1World.isBlockSolidOnSide(par2, par3 + 1, par4, DOWN)) - { - return null; - } - else if (isOcelotBlockingChest(par1World, par2, par3, par4)) - { - return null; - } - else - { - return (IInventory)object; - } - } - - /** - * Returns a new instance of a block's tile entity class. Called on placing the block. - */ - @Override - public TileEntity createNewTileEntity(World par1World) - { - TileEntityChestSpawner TileEntityChestSpawner = new TileEntityChestSpawner(); - return TileEntityChestSpawner; - } - - /** - * Can this block provide power. Only wire currently seems to have this change based on its state. - */ - @Override - public boolean canProvidePower() - { - return this.field_94443_a == 1; - } - - /** - * Returns true if the block is emitting indirect/weak redstone power on the specified side. If isBlockNormalCube - * returns true, standard redstone propagation rules will apply instead and this will not be called. Args: World, X, - * Y, Z, side. Note that the side is reversed - eg it is 1 (up) when checking the bottom of the block. - */ - @Override - public int isProvidingWeakPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) - { - if (!this.canProvidePower()) - { - return 0; - } - else - { - int i1 = ((TileEntityChestSpawner)par1IBlockAccess.getBlockTileEntity(par2, par3, par4)).numUsingPlayers; - return MathHelper.clamp_int(i1, 0, 15); - } - } - - /** - * Returns true if the block is emitting direct/strong redstone power on the specified side. Args: World, X, Y, Z, - * side. Note that the side is reversed - eg it is 1 (up) when checking the bottom of the block. - */ - public int isProvidingStrongPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) - { - return par5 == 1 ? this.isProvidingWeakPower(par1IBlockAccess, par2, par3, par4, par5) : 0; - } - - /** - * Looks for a sitting ocelot within certain bounds. Such an ocelot is considered to be blocking access to the - * chest. - */ - public static boolean isOcelotBlockingChest(World par0World, int par1, int par2, int par3) - { - Iterator iterator = par0World.getEntitiesWithinAABB(EntityOcelot.class, AxisAlignedBB.getAABBPool().getAABB((double)par1, (double)(par2 + 1), (double)par3, (double)(par1 + 1), (double)(par2 + 2), (double)(par3 + 1))).iterator(); - EntityOcelot entityocelot; - - do - { - if (!iterator.hasNext()) - { - return false; - } + } + } + + return false; + } + + public boolean hasComparatorInputOverride() { + return true; + } + + public int getComparatorInputOverride(World par1World, int par2, int par3, int par4, int par5) { + return Container.calcRedstoneFromInventory(this.getInventory(par1World, par2, par3, par4)); + } - EntityOcelot entityocelot1 = (EntityOcelot)iterator.next(); - entityocelot = (EntityOcelot)entityocelot1; - } - while (!entityocelot.isSitting()); - - return true; - } - - /** - * If this returns true, then comparators facing away from this block will use the value from - * getComparatorInputOverride instead of the actual redstone signal strength. - */ - @Override - public boolean hasComparatorInputOverride() - { - return true; - } - - /** - * If hasComparatorInputOverride returns true, the return value from this is used instead of the redstone signal - * strength when this block inputs to a comparator. - */ - @Override - public int getComparatorInputOverride(World par1World, int par2, int par3, int par4, int par5) - { - return Container.calcRedstoneFromInventory(this.getInventory(par1World, par2, par3, par4)); - } - - @SideOnly(Side.CLIENT) - - /** - * When this method is called, your block should register all the icons it needs with the given IconRegister. This - * is the only chance you get to register icons. - */ - @Override - public void registerIcons(IconRegister par1IconRegister) - { - this.blockIcon = par1IconRegister.registerIcon("wood"); - } + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + super.blockIcon = par1IconRegister.registerIcon("wood"); + } } diff --git a/common/rebelkeithy/mods/atum/cursedchest/CursedChestBaseLogic.java b/common/rebelkeithy/mods/atum/cursedchest/CursedChestBaseLogic.java index f756d81..55e3009 100644 --- a/common/rebelkeithy/mods/atum/cursedchest/CursedChestBaseLogic.java +++ b/common/rebelkeithy/mods/atum/cursedchest/CursedChestBaseLogic.java @@ -7,9 +7,12 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.EntityList; import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.EntityLivingData; import net.minecraft.nbt.NBTBase; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.MobSpawnerBaseLogic; import net.minecraft.tileentity.WeightedRandomMinecart; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.WeightedRandom; @@ -17,26 +20,37 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public abstract class CursedChestBaseLogic +public abstract class CursedChestBaseLogic extends MobSpawnerBaseLogic { - public int timeRemaining = 20; + /** The delay to spawn. */ + public int spawnDelay = 20; private String mobID = "Pig"; - private List field_98285_e = null; - private WeightedRandomMinecart field_98282_f = null; + + /** List of minecart to spawn. */ + private List minecartToSpawn; + private WeightedRandomMinecart randomMinecart; public double field_98287_c; - public double field_98284_d = 0.0D; + public double field_98284_d; public int minSpawnDelay = 200; public int maxSpawnDelay = 800; - public int numEntities = 4; + + /** A counter for spawn tries. */ + public int spawnCount = 4; private Entity field_98291_j; - public int maxNearbyEntities = 6; - private int field_98289_l = 16; - public int SpawnRange = 1; - public boolean forceSpawn = false; + private int maxNearbyEntities = 6; + + /** The distance from which a player activates the spawner. */ + private int activatingRangeFromPlayer = 16; + + /** The range coefficient for spawning entities around. */ + public int spawnRange = 4; - public String func_98276_e() + /** + * Gets the entity name that should be spawned. + */ + public String getEntityNameToSpawn() { - if (this.func_98269_i() == null) + if (this.getRandomMinecart() == null) { if (this.mobID.equals("Minecart")) { @@ -47,7 +61,7 @@ public String func_98276_e() } else { - return this.func_98269_i().minecartName; + return this.getRandomMinecart().minecartName; } } @@ -61,7 +75,7 @@ public void setMobID(String par1Str) */ public boolean canRun() { - return this.getSpawnerWorld().getClosestPlayer((double)this.getSpawnerX() + 0.5D, (double)this.getSpawnerY() + 0.5D, (double)this.getSpawnerZ() + 0.5D, (double)this.field_98289_l) != null; + return this.getSpawnerWorld().getClosestPlayer((double)this.getSpawnerX() + 0.5D, (double)this.getSpawnerY() + 0.5D, (double)this.getSpawnerZ() + 0.5D, (double)this.activatingRangeFromPlayer) != null; } public void updateSpawner() @@ -78,39 +92,39 @@ public void updateSpawner() this.getSpawnerWorld().spawnParticle("smoke", d1, d2, d0, 0.0D, 0.0D, 0.0D); this.getSpawnerWorld().spawnParticle("flame", d1, d2, d0, 0.0D, 0.0D, 0.0D); - if (this.timeRemaining > 0) + if (this.spawnDelay > 0) { - --this.timeRemaining; + --this.spawnDelay; } this.field_98284_d = this.field_98287_c; - this.field_98287_c = (this.field_98287_c + (double)(1000.0F / ((float)this.timeRemaining + 200.0F))) % 360.0D; + this.field_98287_c = (this.field_98287_c + (double)(1000.0F / ((float)this.spawnDelay + 200.0F))) % 360.0D; } else { - if (this.timeRemaining == -1) + if (this.spawnDelay == -1) { this.func_98273_j(); } - if (this.timeRemaining > 0) + if (this.spawnDelay > 0) { - --this.timeRemaining; + --this.spawnDelay; return; } boolean flag = false; - - for (int i = 0; i < this.numEntities; ++i) + for (int i = 0; i < this.spawnCount; ++i) { - Entity entity = EntityList.createEntityByName(this.func_98276_e(), this.getSpawnerWorld()); + Entity entity = EntityList.createEntityByName(this.getEntityNameToSpawn(), this.getSpawnerWorld()); + if (entity == null) { return; } - int j = this.getSpawnerWorld().getEntitiesWithinAABB(entity.getClass(), AxisAlignedBB.getAABBPool().getAABB((double)this.getSpawnerX(), (double)this.getSpawnerY(), (double)this.getSpawnerZ(), (double)(this.getSpawnerX() + 1), (double)(this.getSpawnerY() + 1), (double)(this.getSpawnerZ() + 1)).expand((double)(this.SpawnRange * 2), 4.0D, (double)(this.SpawnRange * 2))).size(); + int j = this.getSpawnerWorld().getEntitiesWithinAABB(entity.getClass(), AxisAlignedBB.getAABBPool().getAABB((double)this.getSpawnerX(), (double)this.getSpawnerY(), (double)this.getSpawnerZ(), (double)(this.getSpawnerX() + 1), (double)(this.getSpawnerY() + 1), (double)(this.getSpawnerZ() + 1)).expand((double)(this.spawnRange * 2), 4.0D, (double)(this.spawnRange * 2))).size(); if (j >= this.maxNearbyEntities) { @@ -118,9 +132,9 @@ public void updateSpawner() return; } - d0 = (double)this.getSpawnerX() + (this.getSpawnerWorld().rand.nextDouble() - this.getSpawnerWorld().rand.nextDouble()) * (double)this.SpawnRange; + d0 = (double)this.getSpawnerX() + (this.getSpawnerWorld().rand.nextDouble() - this.getSpawnerWorld().rand.nextDouble()) * (double)this.spawnRange; double d3 = (double)(this.getSpawnerY() + this.getSpawnerWorld().rand.nextInt(3) - 1); - double d4 = (double)this.getSpawnerZ() + (this.getSpawnerWorld().rand.nextDouble() - this.getSpawnerWorld().rand.nextDouble()) * (double)this.SpawnRange; + double d4 = (double)this.getSpawnerZ() + (this.getSpawnerWorld().rand.nextDouble() - this.getSpawnerWorld().rand.nextDouble()) * (double)this.spawnRange; EntityLiving entityliving = entity instanceof EntityLiving ? (EntityLiving)entity : null; entity.setLocationAndAngles(d0, d3, d4, this.getSpawnerWorld().rand.nextFloat() * 360.0F, 0.0F); @@ -148,11 +162,11 @@ public void updateSpawner() public Entity func_98265_a(Entity par1Entity) { - if (this.func_98269_i() != null) + if (this.getRandomMinecart() != null) { NBTTagCompound nbttagcompound = new NBTTagCompound(); - par1Entity.addEntityID(nbttagcompound); - Iterator iterator = this.func_98269_i().field_98222_b.getTags().iterator(); + par1Entity.writeToNBTOptional(nbttagcompound); + Iterator iterator = this.getRandomMinecart().field_98222_b.getTags().iterator(); while (iterator.hasNext()) { @@ -172,12 +186,12 @@ public Entity func_98265_a(Entity par1Entity) for (Entity entity1 = par1Entity; nbttagcompound.hasKey("Riding"); nbttagcompound = nbttagcompound1) { nbttagcompound1 = nbttagcompound.getCompoundTag("Riding"); - Entity entity2 = EntityList.createEntityByName(nbttagcompound1.getString("id"), this.getSpawnerWorld()); + Entity entity2 = EntityList.createEntityByName(nbttagcompound1.getString("id"), par1Entity.worldObj); if (entity2 != null) { NBTTagCompound nbttagcompound2 = new NBTTagCompound(); - entity2.addEntityID(nbttagcompound2); + entity2.writeToNBTOptional(nbttagcompound2); Iterator iterator1 = nbttagcompound1.getTags().iterator(); while (iterator1.hasNext()) @@ -188,16 +202,21 @@ public Entity func_98265_a(Entity par1Entity) entity2.readFromNBT(nbttagcompound2); entity2.setLocationAndAngles(entity1.posX, entity1.posY, entity1.posZ, entity1.rotationYaw, entity1.rotationPitch); - this.getSpawnerWorld().spawnEntityInWorld(entity2); + + if (par1Entity.worldObj != null) + { + par1Entity.worldObj.spawnEntityInWorld(entity2); + } + entity1.mountEntity(entity2); } entity1 = entity2; } } - else if (par1Entity instanceof EntityLiving && par1Entity.worldObj != null) + else if (par1Entity instanceof EntityLivingBase && par1Entity.worldObj != null) { - ((EntityLiving)par1Entity).initCreature(); + ((EntityLiving)par1Entity).onSpawnWithEgg((EntityLivingData)null); this.getSpawnerWorld().spawnEntityInWorld(par1Entity); } @@ -208,67 +227,67 @@ private void func_98273_j() { if (this.maxSpawnDelay <= this.minSpawnDelay) { - this.timeRemaining = this.minSpawnDelay; + this.spawnDelay = this.minSpawnDelay; } else { int i = this.maxSpawnDelay - this.minSpawnDelay; - this.timeRemaining = this.minSpawnDelay + this.getSpawnerWorld().rand.nextInt(i); + this.spawnDelay = this.minSpawnDelay + this.getSpawnerWorld().rand.nextInt(i); } - if (this.field_98285_e != null && this.field_98285_e.size() > 0) + if (this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { - this.func_98277_a((WeightedRandomMinecart)WeightedRandom.getRandomItem(this.getSpawnerWorld().rand, this.field_98285_e)); + this.setRandomMinecart((WeightedRandomMinecart)WeightedRandom.getRandomItem(this.getSpawnerWorld().rand, this.minecartToSpawn)); } this.func_98267_a(1); } - public void func_98270_a(NBTTagCompound par1NBTTagCompound) + public void readFromNBT(NBTTagCompound par1NBTTagCompound) { this.mobID = par1NBTTagCompound.getString("EntityId"); - this.timeRemaining = par1NBTTagCompound.getShort("Delay"); + this.spawnDelay = par1NBTTagCompound.getShort("Delay"); if (par1NBTTagCompound.hasKey("SpawnPotentials")) { - this.field_98285_e = new ArrayList(); + this.minecartToSpawn = new ArrayList(); NBTTagList nbttaglist = par1NBTTagCompound.getTagList("SpawnPotentials"); for (int i = 0; i < nbttaglist.tagCount(); ++i) { - //this.field_98285_e.add(new WeightedRandomMinecart(this, (NBTTagCompound)nbttaglist.tagAt(i))); + this.minecartToSpawn.add(new WeightedRandomMinecart(this, (NBTTagCompound)nbttaglist.tagAt(i))); } } else { - this.field_98285_e = null; + this.minecartToSpawn = null; } if (par1NBTTagCompound.hasKey("SpawnData")) { - //this.func_98277_a(new WeightedRandomMinecart(this, par1NBTTagCompound.getCompoundTag("SpawnData"), this.mobID)); + this.setRandomMinecart(new WeightedRandomMinecart(this, par1NBTTagCompound.getCompoundTag("SpawnData"), this.mobID)); } else { - this.func_98277_a((WeightedRandomMinecart)null); + this.setRandomMinecart((WeightedRandomMinecart)null); } if (par1NBTTagCompound.hasKey("MinSpawnDelay")) { this.minSpawnDelay = par1NBTTagCompound.getShort("MinSpawnDelay"); this.maxSpawnDelay = par1NBTTagCompound.getShort("MaxSpawnDelay"); - this.numEntities = par1NBTTagCompound.getShort("SpawnCount"); + this.spawnCount = par1NBTTagCompound.getShort("SpawnCount"); } if (par1NBTTagCompound.hasKey("MaxNearbyEntities")) { this.maxNearbyEntities = par1NBTTagCompound.getShort("MaxNearbyEntities"); - this.field_98289_l = par1NBTTagCompound.getShort("RequiredPlayerRange"); + this.activatingRangeFromPlayer = par1NBTTagCompound.getShort("RequiredPlayerRange"); } if (par1NBTTagCompound.hasKey("SpawnRange")) { - this.SpawnRange = par1NBTTagCompound.getShort("SpawnRange"); + this.spawnRange = par1NBTTagCompound.getShort("SpawnRange"); } if (this.getSpawnerWorld() != null && this.getSpawnerWorld().isRemote) @@ -277,29 +296,29 @@ public void func_98270_a(NBTTagCompound par1NBTTagCompound) } } - public void func_98280_b(NBTTagCompound par1NBTTagCompound) + public void writeToNBT(NBTTagCompound par1NBTTagCompound) { - par1NBTTagCompound.setString("EntityId", this.func_98276_e()); - par1NBTTagCompound.setShort("Delay", (short)this.timeRemaining); + par1NBTTagCompound.setString("EntityId", this.getEntityNameToSpawn()); + par1NBTTagCompound.setShort("Delay", (short)this.spawnDelay); par1NBTTagCompound.setShort("MinSpawnDelay", (short)this.minSpawnDelay); par1NBTTagCompound.setShort("MaxSpawnDelay", (short)this.maxSpawnDelay); - par1NBTTagCompound.setShort("SpawnCount", (short)this.numEntities); + par1NBTTagCompound.setShort("SpawnCount", (short)this.spawnCount); par1NBTTagCompound.setShort("MaxNearbyEntities", (short)this.maxNearbyEntities); - par1NBTTagCompound.setShort("RequiredPlayerRange", (short)this.field_98289_l); - par1NBTTagCompound.setShort("SpawnRange", (short)this.SpawnRange); + par1NBTTagCompound.setShort("RequiredPlayerRange", (short)this.activatingRangeFromPlayer); + par1NBTTagCompound.setShort("SpawnRange", (short)this.spawnRange); - if (this.func_98269_i() != null) + if (this.getRandomMinecart() != null) { - par1NBTTagCompound.setCompoundTag("SpawnData", (NBTTagCompound)this.func_98269_i().field_98222_b.copy()); + par1NBTTagCompound.setCompoundTag("SpawnData", (NBTTagCompound)this.getRandomMinecart().field_98222_b.copy()); } - if (this.func_98269_i() != null || this.field_98285_e != null && this.field_98285_e.size() > 0) + if (this.getRandomMinecart() != null || this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { NBTTagList nbttaglist = new NBTTagList(); - if (this.field_98285_e != null && this.field_98285_e.size() > 0) + if (this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { - Iterator iterator = this.field_98285_e.iterator(); + Iterator iterator = this.minecartToSpawn.iterator(); while (iterator.hasNext()) { @@ -309,18 +328,21 @@ public void func_98280_b(NBTTagCompound par1NBTTagCompound) } else { - nbttaglist.appendTag(this.func_98269_i().func_98220_a()); + nbttaglist.appendTag(this.getRandomMinecart().func_98220_a()); } par1NBTTagCompound.setTag("SpawnPotentials", nbttaglist); } } - public boolean func_98268_b(int par1) + /** + * Sets the delay to minDelay if parameter given is 1, else return false. + */ + public boolean setDelayToMin(int par1) { if (par1 == 1 && this.getSpawnerWorld().isRemote) { - this.timeRemaining = this.minSpawnDelay; + this.spawnDelay = this.minSpawnDelay; return true; } else @@ -334,7 +356,7 @@ public Entity func_98281_h() { if (this.field_98291_j == null) { - Entity entity = EntityList.createEntityByName(this.func_98276_e(), (World)null); + Entity entity = EntityList.createEntityByName(this.getEntityNameToSpawn(), (World)null); entity = this.func_98265_a(entity); this.field_98291_j = entity; } @@ -342,14 +364,14 @@ public Entity func_98281_h() return this.field_98291_j; } - public WeightedRandomMinecart func_98269_i() + public WeightedRandomMinecart getRandomMinecart() { - return this.field_98282_f; + return this.randomMinecart; } - public void func_98277_a(WeightedRandomMinecart par1WeightedRandomMinecart) + public void setRandomMinecart(WeightedRandomMinecart par1WeightedRandomMinecart) { - this.field_98282_f = par1WeightedRandomMinecart; + this.randomMinecart = par1WeightedRandomMinecart; } public abstract void func_98267_a(int i); diff --git a/common/rebelkeithy/mods/atum/cursedchest/CursedChestSpawnerLogic.java b/common/rebelkeithy/mods/atum/cursedchest/CursedChestSpawnerLogic.java index b7dfa62..1e807a5 100644 --- a/common/rebelkeithy/mods/atum/cursedchest/CursedChestSpawnerLogic.java +++ b/common/rebelkeithy/mods/atum/cursedchest/CursedChestSpawnerLogic.java @@ -1,51 +1,45 @@ package rebelkeithy.mods.atum.cursedchest; import net.minecraft.block.Block; -import net.minecraft.tileentity.MobSpawnerBaseLogic; import net.minecraft.tileentity.WeightedRandomMinecart; import net.minecraft.world.World; +import rebelkeithy.mods.atum.cursedchest.CursedChestBaseLogic; +import rebelkeithy.mods.atum.cursedchest.TileEntityChestSpawner; -class CursedChestSpawnerLogic extends CursedChestBaseLogic -{ - final TileEntityChestSpawner field_98295_a; - - CursedChestSpawnerLogic(TileEntityChestSpawner tileEntityChestSpawner) - { - this.field_98295_a = tileEntityChestSpawner; - } - - public void func_98267_a(int par1) - { - this.field_98295_a.worldObj.addBlockEvent(this.field_98295_a.xCoord, this.field_98295_a.yCoord, this.field_98295_a.zCoord, Block.mobSpawner.blockID, par1, 0); - } - - public World getSpawnerWorld() - { - return this.field_98295_a.worldObj; - } - - public int getSpawnerX() - { - return this.field_98295_a.xCoord; - } - - public int getSpawnerY() - { - return this.field_98295_a.yCoord; - } - - public int getSpawnerZ() - { - return this.field_98295_a.zCoord; - } - - public void func_98277_a(WeightedRandomMinecart par1WeightedRandomMinecart) - { - super.func_98277_a(par1WeightedRandomMinecart); - - if (this.getSpawnerWorld() != null) - { - this.getSpawnerWorld().markBlockForUpdate(this.field_98295_a.xCoord, this.field_98295_a.yCoord, this.field_98295_a.zCoord); - } - } +class CursedChestSpawnerLogic extends CursedChestBaseLogic { + + final TileEntityChestSpawner field_98295_a; + + + CursedChestSpawnerLogic(TileEntityChestSpawner tileEntityChestSpawner) { + this.field_98295_a = tileEntityChestSpawner; + } + + public void func_98267_a(int par1) { + this.field_98295_a.worldObj.addBlockEvent(this.field_98295_a.xCoord, this.field_98295_a.yCoord, this.field_98295_a.zCoord, Block.mobSpawner.blockID, par1, 0); + } + + public World getSpawnerWorld() { + return this.field_98295_a.worldObj; + } + + public int getSpawnerX() { + return this.field_98295_a.xCoord; + } + + public int getSpawnerY() { + return this.field_98295_a.yCoord; + } + + public int getSpawnerZ() { + return this.field_98295_a.zCoord; + } + + public void func_98277_a(WeightedRandomMinecart par1WeightedRandomMinecart) { + super.setRandomMinecart(par1WeightedRandomMinecart); + if(this.getSpawnerWorld() != null) { + this.getSpawnerWorld().markBlockForUpdate(this.field_98295_a.xCoord, this.field_98295_a.yCoord, this.field_98295_a.zCoord); + } + + } } diff --git a/common/rebelkeithy/mods/atum/cursedchest/PharaohChest.java b/common/rebelkeithy/mods/atum/cursedchest/PharaohChest.java index a9364e3..7516fb3 100644 --- a/common/rebelkeithy/mods/atum/cursedchest/PharaohChest.java +++ b/common/rebelkeithy/mods/atum/cursedchest/PharaohChest.java @@ -1,342 +1,195 @@ package rebelkeithy.mods.atum.cursedchest; -import static net.minecraftforge.common.ForgeDirection.DOWN; - +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import java.util.Iterator; import java.util.Random; - import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.passive.EntityOcelot; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import net.minecraftforge.common.ForgeDirection; import rebelkeithy.mods.atum.AtumLoot; -import rebelkeithy.mods.atum.entities.EntityPharaoh; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import rebelkeithy.mods.atum.cursedchest.TileEntityPharaohChest; + +public class PharaohChest extends BlockContainer { + + private final Random random = new Random(); + public final int field_94443_a = 0; + + + public PharaohChest(int par1) { + super(par1, Material.wood); + this.setCreativeTab(CreativeTabs.tabDecorations); + this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); + } + + public int idDropped(int par1, Random par2Random, int par3) { + return Block.chest.blockID; + } + + public boolean isOpaqueCube() { + return false; + } + + public boolean renderAsNormalBlock() { + return false; + } + + public int getRenderType() { + return 22; + } + + public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { + this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); + } + + public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack) { + int l = par1World.getBlockId(par2, par3, par4 - 1); + int i1 = par1World.getBlockId(par2, par3, par4 + 1); + int j1 = par1World.getBlockId(par2 - 1, par3, par4); + int k1 = par1World.getBlockId(par2 + 1, par3, par4); + byte b0 = 0; + int l1 = MathHelper.floor_double((double)(par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + if(l1 == 0) { + b0 = 2; + } + + if(l1 == 1) { + b0 = 5; + } + + if(l1 == 2) { + b0 = 3; + } + + if(l1 == 3) { + b0 = 4; + } + + if(l != super.blockID && i1 != super.blockID && j1 != super.blockID && k1 != super.blockID) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); + } else { + if((l == super.blockID || i1 == super.blockID) && (b0 == 4 || b0 == 5)) { + if(l == super.blockID) { + par1World.setBlockMetadataWithNotify(par2, par3, par4 - 1, b0, 3); + } else { + par1World.setBlockMetadataWithNotify(par2, par3, par4 + 1, b0, 3); + } -public class PharaohChest extends BlockContainer -{ - - private final Random random = new Random(); - public final int field_94443_a; - - public PharaohChest(int par1) - { - super(par1, Material.wood); - this.field_94443_a = 0; - this.setCreativeTab(CreativeTabs.tabDecorations); - this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); - } - - @Override - public int idDropped(int par1, Random par2Random, int par3) - { - return Block.chest.blockID; - } - - /** - * Is this block (a) opaque and (b) a full 1m cube? This determines whether or not to render the shared face of two - * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block. - */ - @Override - public boolean isOpaqueCube() - { - return false; - } - - /** - * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc) - */ - @Override - public boolean renderAsNormalBlock() - { - return false; - } - - /** - * The type of render function that is called for this block - */ - @Override - public int getRenderType() - { - return 22; - } - - /** - * Updates the blocks bounds based on its current state. Args: world, x, y, z - */ - @Override - public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) - { - this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); - } - - /** - * Called when the block is placed in the world. - */ - @Override - public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack) - { - int l = par1World.getBlockId(par2, par3, par4 - 1); - int i1 = par1World.getBlockId(par2, par3, par4 + 1); - int j1 = par1World.getBlockId(par2 - 1, par3, par4); - int k1 = par1World.getBlockId(par2 + 1, par3, par4); - byte b0 = 0; - int l1 = MathHelper.floor_double((double)(par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; - - if (l1 == 0) - { - b0 = 2; - } - - if (l1 == 1) - { - b0 = 5; - } - - if (l1 == 2) - { - b0 = 3; - } - - if (l1 == 3) - { - b0 = 4; - } - - if (l != this.blockID && i1 != this.blockID && j1 != this.blockID && k1 != this.blockID) - { par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); - } - else - { - if ((l == this.blockID || i1 == this.blockID) && (b0 == 4 || b0 == 5)) - { - if (l == this.blockID) - { - par1World.setBlockMetadataWithNotify(par2, par3, par4 - 1, b0, 3); - } - else - { - par1World.setBlockMetadataWithNotify(par2, par3, par4 + 1, b0, 3); - } - - par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); - } + } - if ((j1 == this.blockID || k1 == this.blockID) && (b0 == 2 || b0 == 3)) - { - if (j1 == this.blockID) - { - par1World.setBlockMetadataWithNotify(par2 - 1, par3, par4, b0, 3); - } - else - { - par1World.setBlockMetadataWithNotify(par2 + 1, par3, par4, b0, 3); - } - - par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); - } - } - - if (par6ItemStack.hasDisplayName()) - { - ((TileEntityPharaohChest)par1World.getBlockTileEntity(par2, par3, par4)).func_94043_a(par6ItemStack.getDisplayName()); - } - - AtumLoot.fillChest(((TileEntityPharaohChest)par1World.getBlockTileEntity(par2, par3, par4)), 15, 0.9f); - } - - /** - * ejects contained items into the world, and notifies neighbours of an update, as appropriate - */ - @Override - public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) - { - TileEntityPharaohChest TileEntityPharaohChest = (TileEntityPharaohChest)par1World.getBlockTileEntity(par2, par3, par4); - - if (TileEntityPharaohChest != null) - { - par1World.func_96440_m(par2, par3, par4, par5); - } - - super.breakBlock(par1World, par2, par3, par4, par5, par6); - } - - /** - * Called upon block activation (right click on the block.) - */ - @Override - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) - { - /*if (par1World.isRemote) - { - return true; - } - else - {*/ - TileEntity te = par1World.getBlockTileEntity(par2, par3, par4); - if(te instanceof TileEntityPharaohChest) - { - TileEntityPharaohChest tepc = (TileEntityPharaohChest) te; - if(!tepc.hasSpawned()) - { - tepc.spawn(par5EntityPlayer); - } - } - - if(par1World.isRemote) - return true; - - IInventory iinventory = this.getInventory(par1World, par2, par3, par4); - - if (iinventory != null) - { - par5EntityPlayer.displayGUIChest(iinventory); + if((j1 == super.blockID || k1 == super.blockID) && (b0 == 2 || b0 == 3)) { + if(j1 == super.blockID) { + par1World.setBlockMetadataWithNotify(par2 - 1, par3, par4, b0, 3); + } else { + par1World.setBlockMetadataWithNotify(par2 + 1, par3, par4, b0, 3); } + par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); + } + } + + if(par6ItemStack.hasDisplayName()) { + ((TileEntityPharaohChest)par1World.getBlockTileEntity(par2, par3, par4)).func_94043_a(par6ItemStack.getDisplayName()); + } + + AtumLoot.fillChest((TileEntityPharaohChest)par1World.getBlockTileEntity(par2, par3, par4), 15, 0.9F); + } + + public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) { + TileEntityPharaohChest TileEntityPharaohChest = (TileEntityPharaohChest)par1World.getBlockTileEntity(par2, par3, par4); + if(TileEntityPharaohChest != null) { + par1World.func_96440_m(par2, par3, par4, par5); + } + + super.breakBlock(par1World, par2, par3, par4, par5, par6); + } + + public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { + TileEntity te = par1World.getBlockTileEntity(par2, par3, par4); + if(te instanceof TileEntityPharaohChest) { + TileEntityPharaohChest iinventory = (TileEntityPharaohChest)te; + if(!iinventory.hasSpawned()) { + iinventory.spawn(par5EntityPlayer); + } + } + + if(par1World.isRemote) { + return true; + } else { + IInventory iinventory1 = this.getInventory(par1World, par2, par3, par4); + if(iinventory1 != null) { + par5EntityPlayer.displayGUIChest(iinventory1); + } + + return true; + } + } + + public IInventory getInventory(World par1World, int par2, int par3, int par4) { + TileEntityPharaohChest object = (TileEntityPharaohChest)par1World.getBlockTileEntity(par2, par3, par4); + return object == null?null:(par1World.isBlockSolidOnSide(par2, par3 + 1, par4, ForgeDirection.DOWN)?null:(isOcelotBlockingChest(par1World, par2, par3, par4)?null:(IInventory)object)); + } + + public TileEntity createNewTileEntity(World par1World) { + TileEntityPharaohChest TileEntityPharaohChest = new TileEntityPharaohChest(); + return TileEntityPharaohChest; + } + + public boolean canProvidePower() { + return this.field_94443_a == 1; + } + + public int isProvidingWeakPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + if(!this.canProvidePower()) { + return 0; + } else { + int i1 = ((TileEntityPharaohChest)par1IBlockAccess.getBlockTileEntity(par2, par3, par4)).numUsingPlayers; + return MathHelper.clamp_int(i1, 0, 15); + } + } + + public int isProvidingStrongPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + return par5 == 1?this.isProvidingWeakPower(par1IBlockAccess, par2, par3, par4, par5):0; + } + + public static boolean isOcelotBlockingChest(World par0World, int par1, int par2, int par3) { + Iterator iterator = par0World.getEntitiesWithinAABB(EntityOcelot.class, AxisAlignedBB.getAABBPool().getAABB((double)par1, (double)(par2 + 1), (double)par3, (double)(par1 + 1), (double)(par2 + 2), (double)(par3 + 1))).iterator(); + + while(iterator.hasNext()) { + EntityOcelot entityocelot1 = (EntityOcelot)iterator.next(); + if(entityocelot1.isSitting()) { return true; - //} - } - - public IInventory getInventory(World par1World, int par2, int par3, int par4) - { - Object object = (TileEntityPharaohChest)par1World.getBlockTileEntity(par2, par3, par4); - - if (object == null) - { - return null; - } - else if (par1World.isBlockSolidOnSide(par2, par3 + 1, par4, DOWN)) - { - return null; - } - else if (isOcelotBlockingChest(par1World, par2, par3, par4)) - { - return null; - } - else - { - return (IInventory)object; - } - } - - /** - * Returns a new instance of a block's tile entity class. Called on placing the block. - */ - @Override - public TileEntity createNewTileEntity(World par1World) - { - TileEntityPharaohChest TileEntityPharaohChest = new TileEntityPharaohChest(); - return TileEntityPharaohChest; - } - - /** - * Can this block provide power. Only wire currently seems to have this change based on its state. - */ - @Override - public boolean canProvidePower() - { - return this.field_94443_a == 1; - } - - /** - * Returns true if the block is emitting indirect/weak redstone power on the specified side. If isBlockNormalCube - * returns true, standard redstone propagation rules will apply instead and this will not be called. Args: World, X, - * Y, Z, side. Note that the side is reversed - eg it is 1 (up) when checking the bottom of the block. - */ - @Override - public int isProvidingWeakPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) - { - if (!this.canProvidePower()) - { - return 0; - } - else - { - int i1 = ((TileEntityPharaohChest)par1IBlockAccess.getBlockTileEntity(par2, par3, par4)).numUsingPlayers; - return MathHelper.clamp_int(i1, 0, 15); - } - } - - /** - * Returns true if the block is emitting direct/strong redstone power on the specified side. Args: World, X, Y, Z, - * side. Note that the side is reversed - eg it is 1 (up) when checking the bottom of the block. - */ - @Override - public int isProvidingStrongPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) - { - return par5 == 1 ? this.isProvidingWeakPower(par1IBlockAccess, par2, par3, par4, par5) : 0; - } - - /** - * Looks for a sitting ocelot within certain bounds. Such an ocelot is considered to be blocking access to the - * chest. - */ - public static boolean isOcelotBlockingChest(World par0World, int par1, int par2, int par3) - { - Iterator iterator = par0World.getEntitiesWithinAABB(EntityOcelot.class, AxisAlignedBB.getAABBPool().getAABB((double)par1, (double)(par2 + 1), (double)par3, (double)(par1 + 1), (double)(par2 + 2), (double)(par3 + 1))).iterator(); - EntityOcelot entityocelot; - - do - { - if (!iterator.hasNext()) - { - return false; - } + } + } + + return false; + } + + public boolean hasComparatorInputOverride() { + return true; + } + + public int getComparatorInputOverride(World par1World, int par2, int par3, int par4, int par5) { + return Container.calcRedstoneFromInventory(this.getInventory(par1World, par2, par3, par4)); + } - EntityOcelot entityocelot1 = (EntityOcelot)iterator.next(); - entityocelot = (EntityOcelot)entityocelot1; - } - while (!entityocelot.isSitting()); - - return true; - } - - /** - * If this returns true, then comparators facing away from this block will use the value from - * getComparatorInputOverride instead of the actual redstone signal strength. - */ - @Override - public boolean hasComparatorInputOverride() - { - return true; - } - - /** - * If hasComparatorInputOverride returns true, the return value from this is used instead of the redstone signal - * strength when this block inputs to a comparator. - */ - @Override - public int getComparatorInputOverride(World par1World, int par2, int par3, int par4, int par5) - { - return Container.calcRedstoneFromInventory(this.getInventory(par1World, par2, par3, par4)); - } - - @SideOnly(Side.CLIENT) - - /** - * When this method is called, your block should register all the icons it needs with the given IconRegister. This - * is the only chance you get to register icons. - */ - @Override - public void registerIcons(IconRegister par1IconRegister) - { - this.blockIcon = par1IconRegister.registerIcon("wood"); - } + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + super.blockIcon = par1IconRegister.registerIcon("wood"); + } } diff --git a/common/rebelkeithy/mods/atum/cursedchest/TileEntityChestSpawner.java b/common/rebelkeithy/mods/atum/cursedchest/TileEntityChestSpawner.java index c0dbcbe..cd895bb 100644 --- a/common/rebelkeithy/mods/atum/cursedchest/TileEntityChestSpawner.java +++ b/common/rebelkeithy/mods/atum/cursedchest/TileEntityChestSpawner.java @@ -2,7 +2,6 @@ import java.util.Iterator; import java.util.List; - import net.minecraft.block.Block; import net.minecraft.block.BlockChest; import net.minecraft.entity.monster.EntityMob; @@ -15,440 +14,300 @@ import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntityChest; import net.minecraft.util.AxisAlignedBB; +import rebelkeithy.mods.atum.cursedchest.CursedChestSpawnerLogic; + +public class TileEntityChestSpawner extends TileEntityChest implements IInventory { + + private final CursedChestSpawnerLogic chestSpawner = new CursedChestSpawnerLogic(this); + private ItemStack[] chestContents = new ItemStack[36]; + public float f; + public float g; + public int h; + private int ticksSinceSync; + private int field_94046_i = -1; + private String field_94045_s; + + public TileEntityChestSpawner() { + int entityID = (int) (Math.random() * 6.0D); + if (entityID == 0) { + this.chestSpawner.setMobID("AtumMummy"); + } + + if (entityID == 1) { + this.chestSpawner.setMobID("AtumBanditWarrior"); + } + + if (entityID == 2) { + this.chestSpawner.setMobID("AtumBanditArcher"); + } + + if (entityID == 3) { + this.chestSpawner.setMobID("AtumDustySkeleton"); + } + + if (entityID == 4) { + this.chestSpawner.setMobID("AtumDesertGhost"); + } + + if (entityID == 5) { + this.chestSpawner.setMobID("AtumStoneSoldier"); + } + + if (entityID == 6) { + this.chestSpawner.setMobID("AtumDesertWolf"); + } + + this.chestSpawner.minSpawnDelay = 0; + } + + public void setSpawnerEntity(String name) { + this.chestSpawner.setMobID(name); + } + + public void setMaxEntities(int max) { + this.chestSpawner.spawnCount = max; + } + + public void setDelay(int min, int max) { + this.chestSpawner.minSpawnDelay = min; + this.chestSpawner.maxSpawnDelay = max; + } + + public void setRange(int range) { + this.chestSpawner.spawnRange = range; + } + + public int getSizeInventory() { + return 27; + } + + public ItemStack getStackInSlot(int par1) { + return this.chestContents[par1]; + } -public class TileEntityChestSpawner extends TileEntityChest implements IInventory -{ - private final CursedChestSpawnerLogic chestSpawner = new CursedChestSpawnerLogic(this); - private ItemStack[] chestContents = new ItemStack[36]; - - /** The current angle of the lid (between 0 and 1) */ - public float lidAngle; - - /** The angle of the lid last tick */ - public float prevLidAngle; - - /** The number of players currently using this chest */ - public int numUsingPlayers; - - /** Server sync counter (once per 20 ticks) */ - private int ticksSinceSync; - private int field_94046_i = -1; - private String field_94045_s; - - public TileEntityChestSpawner() - { - int entityID = (int) (Math.random() * 6); - if(entityID == 0) - chestSpawner.setMobID("AtumMummy"); - if(entityID == 1) - chestSpawner.setMobID("AtumBanditWarrior"); - if(entityID == 2) - chestSpawner.setMobID("AtumBanditArcher"); - if(entityID == 3) - chestSpawner.setMobID("AtumDustySkeleton"); - if(entityID == 4) - chestSpawner.setMobID("AtumDesertGhost"); - if(entityID == 5) - chestSpawner.setMobID("AtumStoneSoldier"); - if(entityID == 6) - chestSpawner.setMobID("AtumDesertWolf"); - - - chestSpawner.minSpawnDelay = 0; - } - - public void setSpawnerEntity(String name) - { - chestSpawner.setMobID(name); - } - - public void setMaxEntities(int max) - { - chestSpawner.numEntities = max; - } - - public void setDelay(int min, int max) - { - chestSpawner.minSpawnDelay = min; - chestSpawner.maxSpawnDelay = max; - } - - public void setRange(int range) - { - chestSpawner.SpawnRange = range; - } - - /** - * Returns the number of slots in the inventory. - */ - @Override - public int getSizeInventory() - { - return 27; - } - - /** - * Returns the stack in slot i - */ - @Override - public ItemStack getStackInSlot(int par1) - { - return this.chestContents[par1]; - } - - /** - * Removes from an inventory slot (first arg) up to a specified number (second arg) of items and returns them in a - * new stack. - */ - @Override - public ItemStack decrStackSize(int par1, int par2) - { - if (this.chestContents[par1] != null) - { - ItemStack itemstack; - - if (this.chestContents[par1].stackSize <= par2) - { - itemstack = this.chestContents[par1]; - this.chestContents[par1] = null; - this.onInventoryChanged(); - return itemstack; - } - else - { - itemstack = this.chestContents[par1].splitStack(par2); - - if (this.chestContents[par1].stackSize == 0) - { - this.chestContents[par1] = null; - } - - this.onInventoryChanged(); - return itemstack; - } - } - else - { - return null; - } - } - - /** - * When some containers are closed they call this on each slot, then drop whatever it returns as an EntityItem - - * like when you close a workbench GUI. - */ - @Override - public ItemStack getStackInSlotOnClosing(int par1) - { - if (this.chestContents[par1] != null) - { - ItemStack itemstack = this.chestContents[par1]; - this.chestContents[par1] = null; - return itemstack; - } - else - { - return null; - } - } - - /** - * Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections). - */ - @Override - public void setInventorySlotContents(int par1, ItemStack par2ItemStack) - { - this.chestContents[par1] = par2ItemStack; - - if (par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) - { - par2ItemStack.stackSize = this.getInventoryStackLimit(); - } - - this.onInventoryChanged(); - } - - /** - * Returns the name of the inventory. - */ - @Override - public String getInvName() - { - return this.isInvNameLocalized() ? this.field_94045_s : "container.chest"; - } - - /** - * If this returns false, the inventory name will be used as an unlocalized name, and translated into the player's - * language. Otherwise it will be used directly. - */ - @Override - public boolean isInvNameLocalized() - { - return this.field_94045_s != null && this.field_94045_s.length() > 0; - } - - @Override - public void func_94043_a(String par1Str) - { - this.field_94045_s = par1Str; - } - - /** - * Reads a tile entity from NBT. - */ - @Override - public void readFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readFromNBT(par1NBTTagCompound); - NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items"); - this.chestContents = new ItemStack[this.getSizeInventory()]; - - if (par1NBTTagCompound.hasKey("CustomName")) - { - this.field_94045_s = par1NBTTagCompound.getString("CustomName"); - } - - for (int i = 0; i < nbttaglist.tagCount(); ++i) - { - NBTTagCompound nbttagcompound1 = (NBTTagCompound)nbttaglist.tagAt(i); - int j = nbttagcompound1.getByte("Slot") & 255; - - if (j >= 0 && j < this.chestContents.length) - { - this.chestContents[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1); - } - } - this.chestSpawner.func_98270_a(par1NBTTagCompound); - } - - /** - * Writes a tile entity to NBT. - */ - @Override - public void writeToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeToNBT(par1NBTTagCompound); - NBTTagList nbttaglist = new NBTTagList(); - - for (int i = 0; i < this.chestContents.length; ++i) - { - if (this.chestContents[i] != null) - { - NBTTagCompound nbttagcompound1 = new NBTTagCompound(); - nbttagcompound1.setByte("Slot", (byte)i); - this.chestContents[i].writeToNBT(nbttagcompound1); - nbttaglist.appendTag(nbttagcompound1); - } - } - - par1NBTTagCompound.setTag("Items", nbttaglist); - - if (this.isInvNameLocalized()) - { - par1NBTTagCompound.setString("CustomName", this.field_94045_s); - } - this.chestSpawner.func_98280_b(par1NBTTagCompound); - } - - /** - * Returns the maximum stack size for a inventory slot. Seems to always be 64, possibly will be extended. *Isn't - * this more of a set than a get?* - */ - @Override - public int getInventoryStackLimit() - { - return 64; - } - - /** - * Do not make give this method the name canInteractWith because it clashes with Container - */ - @Override - public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) - { - - double d0 = 4.0D; - double d1 = 3.0D; - List list = this.worldObj.getEntitiesWithinAABB(EntityMob.class, AxisAlignedBB.getAABBPool().getAABB((double)xCoord - d0, (double)yCoord - d1, (double)zCoord - d0, (double)xCoord + d0, (double)yCoord + d1, (double)zCoord + d0)); - - if(!list.isEmpty()) - { - if(!this.worldObj.isRemote) - par1EntityPlayer.sendChatToPlayer("There are too many enemies nearby to search this chest"); - return false; - } - - return this.worldObj.getBlockTileEntity(this.xCoord, this.yCoord, this.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double)this.xCoord + 0.5D, (double)this.yCoord + 0.5D, (double)this.zCoord + 0.5D) <= 64.0D; - } - - private boolean func_94044_a(int par1, int par2, int par3) - { - Block block = Block.blocksList[this.worldObj.getBlockId(par1, par2, par3)]; - return block != null && block instanceof BlockChest ? ((BlockChest)block).isTrapped == this.func_98041_l() : false; - } - - /** - * Allows the entity to update its state. Overridden in most subclasses, e.g. the mob spawner uses this to count - * ticks and creates a new spawn inside its implementation. - */ - @Override - public void updateEntity() - { - super.updateEntity(); - this.chestSpawner.updateSpawner(); - ++this.ticksSinceSync; - float f; - - if (!this.worldObj.isRemote && this.numUsingPlayers != 0 && (this.ticksSinceSync + this.xCoord + this.yCoord + this.zCoord) % 200 == 0) - { - this.numUsingPlayers = 0; - f = 5.0F; - List list = this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getAABBPool().getAABB((double)((float)this.xCoord - f), (double)((float)this.yCoord - f), (double)((float)this.zCoord - f), (double)((float)(this.xCoord + 1) + f), (double)((float)(this.yCoord + 1) + f), (double)((float)(this.zCoord + 1) + f))); - Iterator iterator = list.iterator(); - - while (iterator.hasNext()) - { - EntityPlayer entityplayer = (EntityPlayer)iterator.next(); - - if (entityplayer.openContainer instanceof ContainerChest) - { - IInventory iinventory = ((ContainerChest)entityplayer.openContainer).getLowerChestInventory(); - - if (iinventory == this || iinventory instanceof InventoryLargeChest && ((InventoryLargeChest)iinventory).isPartOfLargeChest(this)) - { - ++this.numUsingPlayers; - } - } - } - } - - this.prevLidAngle = this.lidAngle; - f = 0.1F; - double d0; - - if (this.numUsingPlayers > 0 && this.lidAngle == 0.0F) - { - double d1 = (double)this.xCoord + 0.5D; - d0 = (double)this.zCoord + 0.5D; - - this.worldObj.playSoundEffect(d1, (double)this.yCoord + 0.5D, d0, "random.chestopen", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); - } - - if (this.numUsingPlayers == 0 && this.lidAngle > 0.0F || this.numUsingPlayers > 0 && this.lidAngle < 1.0F) - { - float f1 = this.lidAngle; - - if (this.numUsingPlayers > 0) - { - this.lidAngle += f; - } - else - { - this.lidAngle -= f; - } - - if (this.lidAngle > 1.0F) - { - this.lidAngle = 1.0F; - } - - float f2 = 0.5F; - - if (this.lidAngle < f2 && f1 >= f2) - { - d0 = (double)this.xCoord + 0.5D; - double d2 = (double)this.zCoord + 0.5D; - - this.worldObj.playSoundEffect(d0, (double)this.yCoord + 0.5D, d2, "random.chestclosed", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); - } - - if (this.lidAngle < 0.0F) - { - this.lidAngle = 0.0F; - } - } - } - - /** - * Called when a client event is received with the event number and argument, see World.sendClientEvent - */ - @Override - public boolean receiveClientEvent(int par1, int par2) - { - if (par1 == 1) - { - this.numUsingPlayers = par2; - return true; - } - else - { - return super.receiveClientEvent(par1, par2); - } - } - - @Override - public void openChest() - { - if (this.numUsingPlayers < 0) - { - this.numUsingPlayers = 0; - } - - ++this.numUsingPlayers; - this.worldObj.addBlockEvent(this.xCoord, this.yCoord, this.zCoord, this.getBlockType().blockID, 1, this.numUsingPlayers); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord, this.zCoord, this.getBlockType().blockID); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord - 1, this.zCoord, this.getBlockType().blockID); - } - - @Override - public void closeChest() - { - if (this.getBlockType() != null && this.getBlockType() instanceof BlockChest) - { - --this.numUsingPlayers; - this.worldObj.addBlockEvent(this.xCoord, this.yCoord, this.zCoord, this.getBlockType().blockID, 1, this.numUsingPlayers); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord, this.zCoord, this.getBlockType().blockID); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord - 1, this.zCoord, this.getBlockType().blockID); - } - } - - /** - * Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot. - */ - @Override - public boolean isStackValidForSlot(int par1, ItemStack par2ItemStack) - { - return true; - } - - /** - * invalidates a tile entity - */ - @Override - public void invalidate() - { - super.invalidate(); - this.updateContainingBlockInfo(); - } - - @Override - public int func_98041_l() - { - if (this.field_94046_i == -1) - { - if (this.worldObj == null || !(this.getBlockType() instanceof BlockChest)) - { - return 0; - } - - this.field_94046_i = ((BlockChest)this.getBlockType()).isTrapped; - } - - return this.field_94046_i; - } - - public void forceSpawn() - { - chestSpawner.forceSpawn = true; + public ItemStack decrStackSize(int par1, int par2) { + if (this.chestContents[par1] != null) { + ItemStack itemstack; + if (this.chestContents[par1].stackSize <= par2) { + itemstack = this.chestContents[par1]; + this.chestContents[par1] = null; + this.onInventoryChanged(); + return itemstack; + } else { + itemstack = this.chestContents[par1].splitStack(par2); + if (this.chestContents[par1].stackSize == 0) { + this.chestContents[par1] = null; + } + + this.onInventoryChanged(); + return itemstack; + } + } else { + return null; + } } + + public ItemStack getStackInSlotOnClosing(int par1) { + if (this.chestContents[par1] != null) { + ItemStack itemstack = this.chestContents[par1]; + this.chestContents[par1] = null; + return itemstack; + } else { + return null; + } + } + + public void setInventorySlotContents(int par1, ItemStack par2ItemStack) { + this.chestContents[par1] = par2ItemStack; + if (par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) { + par2ItemStack.stackSize = this.getInventoryStackLimit(); + } + + this.onInventoryChanged(); + } + + public String getInvName() { + return this.isInvNameLocalized() ? this.field_94045_s : "container.chest"; + } + + public boolean isInvNameLocalized() { + return this.field_94045_s != null && this.field_94045_s.length() > 0; + } + + public void func_94043_a(String par1Str) { + this.field_94045_s = par1Str; + } + + public void readFromNBT(NBTTagCompound par1NBTTagCompound) { + super.readFromNBT(par1NBTTagCompound); + NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items"); + this.chestContents = new ItemStack[this.getSizeInventory()]; + if (par1NBTTagCompound.hasKey("CustomName")) { + this.field_94045_s = par1NBTTagCompound.getString("CustomName"); + } + + for (int i = 0; i < nbttaglist.tagCount(); ++i) { + NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.tagAt(i); + int j = nbttagcompound1.getByte("Slot") & 255; + if (j >= 0 && j < this.chestContents.length) { + this.chestContents[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1); + } + } + + this.chestSpawner.readFromNBT(par1NBTTagCompound); + } + + public void writeToNBT(NBTTagCompound par1NBTTagCompound) { + super.writeToNBT(par1NBTTagCompound); + NBTTagList nbttaglist = new NBTTagList(); + + for (int i = 0; i < this.chestContents.length; ++i) { + if (this.chestContents[i] != null) { + NBTTagCompound nbttagcompound1 = new NBTTagCompound(); + nbttagcompound1.setByte("Slot", (byte) i); + this.chestContents[i].writeToNBT(nbttagcompound1); + nbttaglist.appendTag(nbttagcompound1); + } + } + + par1NBTTagCompound.setTag("Items", nbttaglist); + if (this.isInvNameLocalized()) { + par1NBTTagCompound.setString("CustomName", this.field_94045_s); + } + + this.chestSpawner.writeToNBT(par1NBTTagCompound); + } + + public int getInventoryStackLimit() { + return 64; + } + + public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { + double d0 = 4.0D; + double d1 = 3.0D; + List list = super.worldObj.getEntitiesWithinAABB(EntityMob.class, AxisAlignedBB.getAABBPool().getAABB((double) super.xCoord - d0, (double) super.yCoord - d1, (double) super.zCoord - d0, (double) super.xCoord + d0, (double) super.yCoord + d1, (double) super.zCoord + d0)); + if (!list.isEmpty()) { + if (!super.worldObj.isRemote) { + par1EntityPlayer.addChatMessage("There are too many enemies nearby to search this chest"); + } + + return false; + } else { + return super.worldObj.getBlockTileEntity(super.xCoord, super.yCoord, super.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double) super.xCoord + 0.5D, (double) super.yCoord + 0.5D, (double) super.zCoord + 0.5D) <= 64.0D; + } + } + + private boolean func_94044_a(int par1, int par2, int par3) { + Block block = Block.blocksList[super.worldObj.getBlockId(par1, par2, par3)]; + return block != null && block instanceof BlockChest ? ((BlockChest) block).chestType == this.func_98041_l() : false; + } + + public void updateEntity() { + super.updateEntity(); + this.chestSpawner.updateSpawner(); + ++this.ticksSinceSync; + float f; + if (!super.worldObj.isRemote && super.numUsingPlayers != 0 && (this.ticksSinceSync + super.xCoord + super.yCoord + super.zCoord) % 200 == 0) { + super.numUsingPlayers = 0; + f = 5.0F; + List d0 = super.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getAABBPool().getAABB((double) ((float) super.xCoord - f), (double) ((float) super.yCoord - f), (double) ((float) super.zCoord - f), (double) ((float) (super.xCoord + 1) + f), (double) ((float) (super.yCoord + 1) + f), (double) ((float) (super.zCoord + 1) + f))); + Iterator iterator = d0.iterator(); + + while (iterator.hasNext()) { + EntityPlayer f1 = (EntityPlayer) iterator.next(); + if (f1.openContainer instanceof ContainerChest) { + IInventory f2 = ((ContainerChest) f1.openContainer).getLowerChestInventory(); + if (f2 == this || f2 instanceof InventoryLargeChest && ((InventoryLargeChest) f2).isPartOfLargeChest(this)) { + ++super.numUsingPlayers; + } + } + } + } + + super.prevLidAngle = super.lidAngle; + f = 0.1F; + double var8; + if (super.numUsingPlayers > 0 && super.lidAngle == 0.0F) { + double var9 = (double) super.xCoord + 0.5D; + var8 = (double) super.zCoord + 0.5D; + super.worldObj.playSoundEffect(var9, (double) super.yCoord + 0.5D, var8, "random.chestopen", 0.5F, super.worldObj.rand.nextFloat() * 0.1F + 0.9F); + } + + if (super.numUsingPlayers == 0 && super.lidAngle > 0.0F || super.numUsingPlayers > 0 && super.lidAngle < 1.0F) { + float var10 = super.lidAngle; + if (super.numUsingPlayers > 0) { + super.lidAngle += f; + } else { + super.lidAngle -= f; + } + + if (super.lidAngle > 1.0F) { + super.lidAngle = 1.0F; + } + + float var11 = 0.5F; + if (super.lidAngle < var11 && var10 >= var11) { + var8 = (double) super.xCoord + 0.5D; + double d2 = (double) super.zCoord + 0.5D; + super.worldObj.playSoundEffect(var8, (double) super.yCoord + 0.5D, d2, "random.chestclosed", 0.5F, super.worldObj.rand.nextFloat() * 0.1F + 0.9F); + } + + if (super.lidAngle < 0.0F) { + super.lidAngle = 0.0F; + } + } + + } + + public boolean receiveClientEvent(int par1, int par2) { + if (par1 == 1) { + super.numUsingPlayers = par2; + return true; + } else { + return super.receiveClientEvent(par1, par2); + } + } + + public void openChest() { + if (super.numUsingPlayers < 0) { + super.numUsingPlayers = 0; + } + + ++super.numUsingPlayers; + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID, 1, super.numUsingPlayers); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType().blockID); + } + + public void closeChest() { + if (this.getBlockType() != null && this.getBlockType() instanceof BlockChest) { + --super.numUsingPlayers; + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID, 1, super.numUsingPlayers); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType().blockID); + } + + } + + public boolean isStackValidForSlot(int par1, ItemStack par2ItemStack) { + return true; + } + + public void invalidate() { + super.invalidate(); + this.updateContainingBlockInfo(); + } + + public int func_98041_l() { + if (this.field_94046_i == -1) { + if (super.worldObj == null || !(this.getBlockType() instanceof BlockChest)) { + return 0; + } + + this.field_94046_i = ((BlockChest) this.getBlockType()).chestType; + } + + return this.field_94046_i; + } + } diff --git a/common/rebelkeithy/mods/atum/cursedchest/TileEntityPharaohChest.java b/common/rebelkeithy/mods/atum/cursedchest/TileEntityPharaohChest.java index 55ec0e0..7430f39 100644 --- a/common/rebelkeithy/mods/atum/cursedchest/TileEntityPharaohChest.java +++ b/common/rebelkeithy/mods/atum/cursedchest/TileEntityPharaohChest.java @@ -1,18 +1,10 @@ package rebelkeithy.mods.atum.cursedchest; +import cpw.mods.fml.common.FMLCommonHandler; import java.util.Iterator; import java.util.List; - -import cpw.mods.fml.common.FMLCommonHandler; - -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.entities.EntityMummy; -import rebelkeithy.mods.atum.entities.EntityPharaoh; - import net.minecraft.block.Block; import net.minecraft.block.BlockChest; -import net.minecraft.entity.Entity; -import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ContainerChest; import net.minecraft.inventory.IInventory; @@ -22,466 +14,298 @@ import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntityChest; import net.minecraft.util.AxisAlignedBB; +import rebelkeithy.mods.atum.entities.EntityMummy; +import rebelkeithy.mods.atum.entities.EntityPharaoh; -public class TileEntityPharaohChest extends TileEntityChest implements IInventory -{ - private ItemStack[] chestContents = new ItemStack[36]; - - /** The current angle of the lid (between 0 and 1) */ - public float lidAngle; - - /** The angle of the lid last tick */ - public float prevLidAngle; - - /** The number of players currently using this chest */ - public int numUsingPlayers; - - /** Server sync counter (once per 20 ticks) */ - private int ticksSinceSync; - private int field_94046_i = -1; - private String field_94045_s; - - private boolean hasSpawned; - private boolean isOpenable; - - public TileEntityPharaohChest() - { - hasSpawned = false; - isOpenable = false; - } - - /** - * Returns the number of slots in the inventory. - */ - @Override - public int getSizeInventory() - { - return 27; - } - - /** - * Returns the stack in slot i - */ - @Override - public ItemStack getStackInSlot(int par1) - { - return this.chestContents[par1]; - } - - /** - * Removes from an inventory slot (first arg) up to a specified number (second arg) of items and returns them in a - * new stack. - */ - @Override - public ItemStack decrStackSize(int par1, int par2) - { - if (this.chestContents[par1] != null) - { - ItemStack itemstack; - - if (this.chestContents[par1].stackSize <= par2) - { - itemstack = this.chestContents[par1]; - this.chestContents[par1] = null; - this.onInventoryChanged(); - return itemstack; - } - else - { - itemstack = this.chestContents[par1].splitStack(par2); - - if (this.chestContents[par1].stackSize == 0) - { - this.chestContents[par1] = null; - } - - this.onInventoryChanged(); - return itemstack; - } - } - else - { - return null; - } - } - - /** - * When some containers are closed they call this on each slot, then drop whatever it returns as an EntityItem - - * like when you close a workbench GUI. - */ - @Override - public ItemStack getStackInSlotOnClosing(int par1) - { - if (this.chestContents[par1] != null) - { - ItemStack itemstack = this.chestContents[par1]; - this.chestContents[par1] = null; - return itemstack; - } - else - { - return null; - } - } - - /** - * Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections). - */ - @Override - public void setInventorySlotContents(int par1, ItemStack par2ItemStack) - { - this.chestContents[par1] = par2ItemStack; - - if (par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) - { - par2ItemStack.stackSize = this.getInventoryStackLimit(); - } - - this.onInventoryChanged(); - } - - /** - * Returns the name of the inventory. - */ - @Override - public String getInvName() - { - return this.isInvNameLocalized() ? this.field_94045_s : "container.chest"; - } - - /** - * If this returns false, the inventory name will be used as an unlocalized name, and translated into the player's - * language. Otherwise it will be used directly. - */ - @Override - public boolean isInvNameLocalized() - { - return this.field_94045_s != null && this.field_94045_s.length() > 0; - } - - @Override - public void func_94043_a(String par1Str) - { - this.field_94045_s = par1Str; - } - - /** - * Reads a tile entity from NBT. - */ - @Override - public void readFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readFromNBT(par1NBTTagCompound); - NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items"); - this.chestContents = new ItemStack[this.getSizeInventory()]; - - if (par1NBTTagCompound.hasKey("CustomName")) - { - this.field_94045_s = par1NBTTagCompound.getString("CustomName"); - } - - for (int i = 0; i < nbttaglist.tagCount(); ++i) - { - NBTTagCompound nbttagcompound1 = (NBTTagCompound)nbttaglist.tagAt(i); - int j = nbttagcompound1.getByte("Slot") & 255; - - if (j >= 0 && j < this.chestContents.length) - { - this.chestContents[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1); - } - } - - this.hasSpawned = par1NBTTagCompound.getBoolean("spawned"); - this.isOpenable = par1NBTTagCompound.getBoolean("openable"); - } - - /** - * Writes a tile entity to NBT. - */ - @Override - public void writeToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeToNBT(par1NBTTagCompound); - NBTTagList nbttaglist = new NBTTagList(); - - for (int i = 0; i < this.chestContents.length; ++i) - { - if (this.chestContents[i] != null) - { - NBTTagCompound nbttagcompound1 = new NBTTagCompound(); - nbttagcompound1.setByte("Slot", (byte)i); - this.chestContents[i].writeToNBT(nbttagcompound1); - nbttaglist.appendTag(nbttagcompound1); - } - } - - par1NBTTagCompound.setTag("Items", nbttaglist); - - if (this.isInvNameLocalized()) - { - par1NBTTagCompound.setString("CustomName", this.field_94045_s); - } - - par1NBTTagCompound.setBoolean("spawned", this.hasSpawned); - par1NBTTagCompound.setBoolean("openable", this.isOpenable); - } - - /** - * Returns the maximum stack size for a inventory slot. Seems to always be 64, possibly will be extended. *Isn't - * this more of a set than a get?* - */ - @Override - public int getInventoryStackLimit() - { - return 64; - } - - /** - * Do not make give this method the name canInteractWith because it clashes with Container - */ - @Override - public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) - { - if(this.isOpenable == false) - return false; - - return this.isOpenable && this.worldObj.getBlockTileEntity(this.xCoord, this.yCoord, this.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double)this.xCoord + 0.5D, (double)this.yCoord + 0.5D, (double)this.zCoord + 0.5D) <= 64.0D; - } - - private boolean func_94044_a(int par1, int par2, int par3) - { - Block block = Block.blocksList[this.worldObj.getBlockId(par1, par2, par3)]; - return block != null && block instanceof BlockChest ? ((BlockChest)block).isTrapped == this.func_98041_l() : false; - } - - /** - * Allows the entity to update its state. Overridden in most subclasses, e.g. the mob spawner uses this to count - * ticks and creates a new spawn inside its implementation. - */ - @Override - public void updateEntity() - { - super.updateEntity(); - ++this.ticksSinceSync; - float f; - - if (!this.worldObj.isRemote && this.numUsingPlayers != 0 && (this.ticksSinceSync + this.xCoord + this.yCoord + this.zCoord) % 200 == 0) - { - this.numUsingPlayers = 0; - f = 5.0F; - List list = this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getAABBPool().getAABB((double)((float)this.xCoord - f), (double)((float)this.yCoord - f), (double)((float)this.zCoord - f), (double)((float)(this.xCoord + 1) + f), (double)((float)(this.yCoord + 1) + f), (double)((float)(this.zCoord + 1) + f))); - Iterator iterator = list.iterator(); - - while (iterator.hasNext()) - { - EntityPlayer entityplayer = (EntityPlayer)iterator.next(); - - if (entityplayer.openContainer instanceof ContainerChest) - { - IInventory iinventory = ((ContainerChest)entityplayer.openContainer).getLowerChestInventory(); - - if (iinventory == this || iinventory instanceof InventoryLargeChest && ((InventoryLargeChest)iinventory).isPartOfLargeChest(this)) - { - ++this.numUsingPlayers; - } - } - } - } - - this.prevLidAngle = this.lidAngle; - f = 0.1F; - double d0; - - if (this.numUsingPlayers > 0 && this.lidAngle == 0.0F) - { - double d1 = (double)this.xCoord + 0.5D; - d0 = (double)this.zCoord + 0.5D; +public class TileEntityPharaohChest extends TileEntityChest implements IInventory { - this.worldObj.playSoundEffect(d1, (double)this.yCoord + 0.5D, d0, "random.chestopen", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); - } + private ItemStack[] chestContents = new ItemStack[36]; + public float f; + public float g; + public int h; + private int ticksSinceSync; + private int field_94046_i = -1; + private String field_94045_s; + private boolean hasSpawned = false; + private boolean isOpenable = false; - if (this.numUsingPlayers == 0 && this.lidAngle > 0.0F || this.numUsingPlayers > 0 && this.lidAngle < 1.0F) - { - float f1 = this.lidAngle; - if (this.numUsingPlayers > 0) - { - this.lidAngle += f; - } - else - { - this.lidAngle -= f; - } + public int getSizeInventory() { + return 27; + } - if (this.lidAngle > 1.0F) - { - this.lidAngle = 1.0F; - } + public ItemStack getStackInSlot(int par1) { + return this.chestContents[par1]; + } - float f2 = 0.5F; - - if (this.lidAngle < f2 && f1 >= f2) - { - d0 = (double)this.xCoord + 0.5D; - double d2 = (double)this.zCoord + 0.5D; - - this.worldObj.playSoundEffect(d0, (double)this.yCoord + 0.5D, d2, "random.chestclosed", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); + public ItemStack decrStackSize(int par1, int par2) { + if(this.chestContents[par1] != null) { + ItemStack itemstack; + if(this.chestContents[par1].stackSize <= par2) { + itemstack = this.chestContents[par1]; + this.chestContents[par1] = null; + this.onInventoryChanged(); + return itemstack; + } else { + itemstack = this.chestContents[par1].splitStack(par2); + if(this.chestContents[par1].stackSize == 0) { + this.chestContents[par1] = null; } - if (this.lidAngle < 0.0F) - { - this.lidAngle = 0.0F; - } - } - } - - /** - * Called when a client event is received with the event number and argument, see World.sendClientEvent - */ - @Override - public boolean receiveClientEvent(int par1, int par2) - { - if (par1 == 1) - { - this.numUsingPlayers = par2; - return true; - } - else - { - return super.receiveClientEvent(par1, par2); - } - } - - @Override - public void openChest() - { - if (this.numUsingPlayers < 0) - { - this.numUsingPlayers = 0; - } - - ++this.numUsingPlayers; - this.worldObj.addBlockEvent(this.xCoord, this.yCoord, this.zCoord, this.getBlockType().blockID, 1, this.numUsingPlayers); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord, this.zCoord, this.getBlockType().blockID); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord - 1, this.zCoord, this.getBlockType().blockID); - } - - @Override - public void closeChest() - { - if (this.getBlockType() != null && this.getBlockType() instanceof BlockChest) - { - --this.numUsingPlayers; - this.worldObj.addBlockEvent(this.xCoord, this.yCoord, this.zCoord, this.getBlockType().blockID, 1, this.numUsingPlayers); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord, this.zCoord, this.getBlockType().blockID); - this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord - 1, this.zCoord, this.getBlockType().blockID); - } - } - - /** - * Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot. - */ - @Override - public boolean isStackValidForSlot(int par1, ItemStack par2ItemStack) - { - return true; - } - - /** - * invalidates a tile entity - */ - @Override - public void invalidate() - { - super.invalidate(); - this.updateContainingBlockInfo(); - } - - @Override - public int func_98041_l() - { - if (this.field_94046_i == -1) - { - if (this.worldObj == null || !(this.getBlockType() instanceof BlockChest)) - { - return 0; + this.onInventoryChanged(); + return itemstack; + } + } else { + return null; + } + } + + public ItemStack getStackInSlotOnClosing(int par1) { + if(this.chestContents[par1] != null) { + ItemStack itemstack = this.chestContents[par1]; + this.chestContents[par1] = null; + return itemstack; + } else { + return null; + } + } + + public void setInventorySlotContents(int par1, ItemStack par2ItemStack) { + this.chestContents[par1] = par2ItemStack; + if(par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) { + par2ItemStack.stackSize = this.getInventoryStackLimit(); + } + + this.onInventoryChanged(); + } + + public String getInvName() { + return this.isInvNameLocalized()?this.field_94045_s:"container.chest"; + } + + public boolean isInvNameLocalized() { + return this.field_94045_s != null && this.field_94045_s.length() > 0; + } + + public void func_94043_a(String par1Str) { + this.field_94045_s = par1Str; + } + + public void readFromNBT(NBTTagCompound par1NBTTagCompound) { + super.readFromNBT(par1NBTTagCompound); + NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items"); + this.chestContents = new ItemStack[this.getSizeInventory()]; + if(par1NBTTagCompound.hasKey("CustomName")) { + this.field_94045_s = par1NBTTagCompound.getString("CustomName"); + } + + for(int i = 0; i < nbttaglist.tagCount(); ++i) { + NBTTagCompound nbttagcompound1 = (NBTTagCompound)nbttaglist.tagAt(i); + int j = nbttagcompound1.getByte("Slot") & 255; + if(j >= 0 && j < this.chestContents.length) { + this.chestContents[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1); + } + } + + this.hasSpawned = par1NBTTagCompound.getBoolean("spawned"); + this.isOpenable = par1NBTTagCompound.getBoolean("openable"); + } + + public void writeToNBT(NBTTagCompound par1NBTTagCompound) { + super.writeToNBT(par1NBTTagCompound); + NBTTagList nbttaglist = new NBTTagList(); + + for(int i = 0; i < this.chestContents.length; ++i) { + if(this.chestContents[i] != null) { + NBTTagCompound nbttagcompound1 = new NBTTagCompound(); + nbttagcompound1.setByte("Slot", (byte)i); + this.chestContents[i].writeToNBT(nbttagcompound1); + nbttaglist.appendTag(nbttagcompound1); + } + } + + par1NBTTagCompound.setTag("Items", nbttaglist); + if(this.isInvNameLocalized()) { + par1NBTTagCompound.setString("CustomName", this.field_94045_s); + } + + par1NBTTagCompound.setBoolean("spawned", this.hasSpawned); + par1NBTTagCompound.setBoolean("openable", this.isOpenable); + } + + public int getInventoryStackLimit() { + return 64; + } + + public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { + return !this.isOpenable?false:(this.isOpenable && super.worldObj.getBlockTileEntity(super.xCoord, super.yCoord, super.zCoord) != this?false:par1EntityPlayer.getDistanceSq((double)super.xCoord + 0.5D, (double)super.yCoord + 0.5D, (double)super.zCoord + 0.5D) <= 64.0D); + } + + private boolean func_94044_a(int par1, int par2, int par3) { + Block block = Block.blocksList[super.worldObj.getBlockId(par1, par2, par3)]; + return block != null && block instanceof BlockChest?((BlockChest)block).chestType == this.func_98041_l():false; + } + + public void updateEntity() { + super.updateEntity(); + ++this.ticksSinceSync; + float f; + if(!super.worldObj.isRemote && super.numUsingPlayers != 0 && (this.ticksSinceSync + super.xCoord + super.yCoord + super.zCoord) % 200 == 0) { + super.numUsingPlayers = 0; + f = 5.0F; + List d0 = super.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getAABBPool().getAABB((double)((float)super.xCoord - f), (double)((float)super.yCoord - f), (double)((float)super.zCoord - f), (double)((float)(super.xCoord + 1) + f), (double)((float)(super.yCoord + 1) + f), (double)((float)(super.zCoord + 1) + f))); + Iterator iterator = d0.iterator(); + + while(iterator.hasNext()) { + EntityPlayer f1 = (EntityPlayer)iterator.next(); + if(f1.openContainer instanceof ContainerChest) { + IInventory f2 = ((ContainerChest)f1.openContainer).getLowerChestInventory(); + if(f2 == this || f2 instanceof InventoryLargeChest && ((InventoryLargeChest)f2).isPartOfLargeChest(this)) { + ++super.numUsingPlayers; + } } - - this.field_94046_i = ((BlockChest)this.getBlockType()).isTrapped; - } - - return this.field_94046_i; - } - - public void setOpenable() - { - isOpenable = true; - - /*if(worldObj.isRemote) - return; - - for(int x = this.xCoord - 15; x < this.xCoord + 15; x++) - { - for(int z = this.zCoord - 15; z < this.zCoord + 15; x++) - { - for(int y = this.yCoord - 10; y < this.yCoord + 5; y++) - { - if(worldObj.getBlockId(x, y, z) == Atum.atumStone.blockID) - { - worldObj.setBlockMetadataWithNotify(x, y, z, 0, 0); - } - } - } - }*/ - } - - public boolean hasSpawned() - { - return hasSpawned; - } - - public void spawn(EntityPlayer player) - { - EntityPharaoh pharaoh = new EntityPharaoh(worldObj); - pharaoh.setPosition(this.xCoord+0.5, yCoord+1, zCoord+0.5); - pharaoh.link(xCoord, yCoord, zCoord); - pharaoh.initCreature(); - if(!worldObj.isRemote) - worldObj.spawnEntityInWorld(pharaoh); - pharaoh.spawnExplosionParticle(); - hasSpawned = true; - - EntityMummy mummy1 = new EntityMummy(worldObj); - mummy1.setPosition(this.xCoord+0.5, yCoord, zCoord-0.5); - mummy1.initCreature(); - if(!worldObj.isRemote) - worldObj.spawnEntityInWorld(mummy1); - mummy1.spawnExplosionParticle(); - - EntityMummy mummy2 = new EntityMummy(worldObj); - mummy2.setPosition(this.xCoord+0.5, yCoord, zCoord+1.5); - mummy2.initCreature(); - if(!worldObj.isRemote) - worldObj.spawnEntityInWorld(mummy2); - mummy2.spawnExplosionParticle(); - - if(!worldObj.isRemote) - { - List players = FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList; - for(EntityPlayer p : players) - { - p.sendChatToPlayer(pharaoh.getEntityName() + " was summoned by " + player.getEntityName()); - } - } - - if(!worldObj.isRemote) - { - System.out.println("Playing Sound"); - worldObj.playSoundAtEntity(pharaoh, "Atum.pharaohspawn", 1, 1); - } - } - - public void setPharaohDespawned() { - hasSpawned = false; - } + } + } + + super.prevLidAngle = super.lidAngle; + f = 0.1F; + double var8; + if(super.numUsingPlayers > 0 && super.lidAngle == 0.0F) { + double var9 = (double)super.xCoord + 0.5D; + var8 = (double)super.zCoord + 0.5D; + super.worldObj.playSoundEffect(var9, (double)super.yCoord + 0.5D, var8, "random.chestopen", 0.5F, super.worldObj.rand.nextFloat() * 0.1F + 0.9F); + } + + if(super.numUsingPlayers == 0 && super.lidAngle > 0.0F || super.numUsingPlayers > 0 && super.lidAngle < 1.0F) { + float var10 = super.lidAngle; + if(super.numUsingPlayers > 0) { + super.lidAngle += f; + } else { + super.lidAngle -= f; + } + + if(super.lidAngle > 1.0F) { + super.lidAngle = 1.0F; + } + + float var11 = 0.5F; + if(super.lidAngle < var11 && var10 >= var11) { + var8 = (double)super.xCoord + 0.5D; + double d2 = (double)super.zCoord + 0.5D; + super.worldObj.playSoundEffect(var8, (double)super.yCoord + 0.5D, d2, "random.chestclosed", 0.5F, super.worldObj.rand.nextFloat() * 0.1F + 0.9F); + } + + if(super.lidAngle < 0.0F) { + super.lidAngle = 0.0F; + } + } + + } + + public boolean receiveClientEvent(int par1, int par2) { + if(par1 == 1) { + super.numUsingPlayers = par2; + return true; + } else { + return super.receiveClientEvent(par1, par2); + } + } + + public void openChest() { + if(super.numUsingPlayers < 0) { + super.numUsingPlayers = 0; + } + + ++super.numUsingPlayers; + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID, 1, super.numUsingPlayers); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType().blockID); + } + + public void closeChest() { + if(this.getBlockType() != null && this.getBlockType() instanceof BlockChest) { + --super.numUsingPlayers; + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID, 1, super.numUsingPlayers); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType().blockID); + } + + } + + public boolean isStackValidForSlot(int par1, ItemStack par2ItemStack) { + return true; + } + + public void invalidate() { + super.invalidate(); + this.updateContainingBlockInfo(); + } + + public int func_98041_l() { + if(this.field_94046_i == -1) { + if(super.worldObj == null || !(this.getBlockType() instanceof BlockChest)) { + return 0; + } + + this.field_94046_i = ((BlockChest)this.getBlockType()).chestType; + } + + return this.field_94046_i; + } + + public void setOpenable() { + this.isOpenable = true; + } + + public boolean hasSpawned() { + return this.hasSpawned; + } + + public void spawn(EntityPlayer player) { + EntityPharaoh pharaoh = new EntityPharaoh(super.worldObj); + pharaoh.setPosition((double)super.xCoord + 0.5D, (double)(super.yCoord + 1), (double)super.zCoord + 0.5D); + pharaoh.link(super.xCoord, super.yCoord, super.zCoord); + pharaoh.entityInit(); + if(!super.worldObj.isRemote) { + super.worldObj.spawnEntityInWorld(pharaoh); + } + + pharaoh.spawnExplosionParticle(); + this.hasSpawned = true; + EntityMummy mummy1 = new EntityMummy(super.worldObj); + mummy1.setPosition((double)super.xCoord + 0.5D, (double)super.yCoord, (double)super.zCoord - 0.5D); + mummy1.entityInit(); + if(!super.worldObj.isRemote) { + super.worldObj.spawnEntityInWorld(mummy1); + } + + mummy1.spawnExplosionParticle(); + EntityMummy mummy2 = new EntityMummy(super.worldObj); + mummy2.setPosition((double)super.xCoord + 0.5D, (double)super.yCoord, (double)super.zCoord + 1.5D); + mummy2.entityInit(); + if(!super.worldObj.isRemote) { + super.worldObj.spawnEntityInWorld(mummy2); + } + + mummy2.spawnExplosionParticle(); + if(!super.worldObj.isRemote) { + List players = FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList; + Iterator i = players.iterator(); + + while(i.hasNext()) { + EntityPlayer p = (EntityPlayer)i.next(); + p.addChatMessage(pharaoh.getEntityName() + " was summoned by " + player.getEntityName()); + } + } + + if(!super.worldObj.isRemote) { + System.out.println("Playing Sound"); + super.worldObj.playSoundAtEntity(pharaoh, "Atum.pharaohspawn", 1.0F, 1.0F); + } + + } + + public void setPharaohDespawned() { + this.hasSpawned = false; + } } diff --git a/common/rebelkeithy/mods/atum/entities/EntityBanditArcher.java b/common/rebelkeithy/mods/atum/entities/EntityBanditArcher.java index 8616b00..398aaf2 100644 --- a/common/rebelkeithy/mods/atum/entities/EntityBanditArcher.java +++ b/common/rebelkeithy/mods/atum/entities/EntityBanditArcher.java @@ -1,9 +1,13 @@ package rebelkeithy.mods.atum.entities; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.EntityLivingData; import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.IRangedAttackMob; import net.minecraft.entity.ai.EntityAIArrowAttack; @@ -22,237 +26,138 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumItems; import rebelkeithy.mods.atum.AtumConfig; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class EntityBanditArcher extends EntityMob implements IRangedAttackMob, IAtumDayMob -{ - private EntityAIArrowAttack aiArrowAttack = new EntityAIArrowAttack(this, 0.25F, 20, 60, 15.0F); - private EntityAIAttackOnCollide aiAttackOnCollide = new EntityAIAttackOnCollide(this, EntityPlayer.class, 0.31F, false); - - public EntityBanditArcher(World par1World) - { - super(par1World); - this.moveSpeed = 0.25F; - this.tasks.addTask(1, new EntityAISwimming(this)); - this.tasks.addTask(2, new EntityAIRestrictSun(this)); - this.tasks.addTask(5, new EntityAIWander(this, this.moveSpeed)); - this.tasks.addTask(6, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); - this.tasks.addTask(6, new EntityAILookIdle(this)); - this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, false)); - this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 16.0F, 0, true)); - - if (par1World != null && !par1World.isRemote) - { - this.setCombatTask(); - } - this.experienceValue = 6; - } - - - /** - * Checks if the entity's current position is a valid location to spawn this entity. - */ - @Override - public boolean getCanSpawnHere() - { - //System.out.println("light level mummy " + this.isValidLightLevel() + " " + super.getCanSpawnHere()); - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - //return true || super.getCanSpawnHere(); - } - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - @Override - protected boolean isValidLightLevel() - { - return true; - } - - @Override - protected void entityInit() - { - super.entityInit(); - } - - /** - * Returns true if the newer Entity AI code should be run - */ - @Override - public boolean isAIEnabled() - { - return true; - } +import rebelkeithy.mods.atum.AtumItems; +import rebelkeithy.mods.atum.entities.IAtumDayMob; + +public class EntityBanditArcher extends EntityMob implements IRangedAttackMob, IAtumDayMob { + + private EntityAIArrowAttack aiArrowAttack = new EntityAIArrowAttack(this, 0.25F, 20, 60, 15.0F); + private EntityAIAttackOnCollide aiAttackOnCollide = new EntityAIAttackOnCollide(this, EntityPlayer.class, 0.31F, false); + + public EntityBanditArcher(World par1World) { + super(par1World); + this.setAIMoveSpeed(0.25F); + this.setHealth(20F); + super.tasks.addTask(1, new EntityAISwimming(this)); + super.tasks.addTask(2, new EntityAIRestrictSun(this)); + super.tasks.addTask(3, this.aiArrowAttack); + super.tasks.addTask(4, new EntityAIWander(this, this.getAIMoveSpeed())); + super.tasks.addTask(5, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); + super.tasks.addTask(6, new EntityAILookIdle(this)); + super.targetTasks.addTask(1, new EntityAIHurtByTarget(this, false)); + super.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 16, true)); + if (par1World != null && !par1World.isRemote) { + this.setCombatTask(); + } - @Override - public int getMaxHealth() - { - return 20; - } + super.experienceValue = 6; + } + public boolean getCanSpawnHere() { + return super.worldObj.checkNoEntityCollision(super.boundingBox) && super.worldObj.getCollidingBoundingBoxes(this, super.boundingBox).isEmpty() && !super.worldObj.isAnyLiquid(super.boundingBox); + } - @Override - public boolean attackEntityAsMob(Entity par1Entity) - { - if (super.attackEntityAsMob(par1Entity)) - { - return true; - } - else - { - return false; - } - } - - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() - { - return EnumCreatureAttribute.UNDEFINED; - } + protected boolean isValidLightLevel() { + return true; + } - /** - * Makes entity wear random armor based on difficulty - */ - @Override - protected void addRandomArmor() - { - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.bow)); - - - for (int i = 0; i < this.equipmentDropChances.length; ++i) - { - this.equipmentDropChances[i] = 0F; - } - } + public boolean isAIEnabled() { + return true; + } - @SideOnly(Side.CLIENT) + public boolean attackEntityAsMob(Entity par1Entity) { + return super.attackEntityAsMob(par1Entity); + } - /** - * Returns the texture's file path as a String. - */ - @Override - public String getTexture() - { - return "/mods/Atum/textures/mobs/BanditArcher.png"; - } + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } - /** - * Initialize this creature. - */ - @Override - public void initCreature() - { - this.tasks.addTask(4, this.aiArrowAttack); - this.addRandomArmor(); - this.func_82162_bC(); - + protected void addRandomArmor() { + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.bow)); - this.setCanPickUpLoot(this.rand.nextFloat() < pickUpLootProability[this.worldObj.difficultySetting]); - } + for (int i = 0; i < super.equipmentDropChances.length; ++i) { + super.equipmentDropChances[i] = 0.0F; + } - /** - * sets this entity's combat AI. - */ - public void setCombatTask() - { - this.tasks.removeTask(this.aiAttackOnCollide); - this.tasks.removeTask(this.aiArrowAttack); - ItemStack itemstack = this.getHeldItem(); + } + @Override + public EntityLivingData onSpawnWithEgg(EntityLivingData par1EntityLivingData) { + par1EntityLivingData = super.onSpawnWithEgg(par1EntityLivingData); + this.addRandomArmor(); + this.enchantEquipment(); + return par1EntityLivingData; + } + @Override + public void entityInit() { + super.entityInit(); + this.setCanPickUpLoot(super.rand.nextFloat() < this.worldObj.getLocationTensionFactor(this.posX, this.posY, this.posZ)); + } - if (itemstack != null && itemstack.itemID == AtumItems.bow.itemID) - { - this.tasks.addTask(4, this.aiArrowAttack); - } - else - { - this.tasks.addTask(4, this.aiAttackOnCollide); - } - } + public void setCombatTask() { + super.tasks.removeTask(this.aiAttackOnCollide); + super.tasks.removeTask(this.aiArrowAttack); + ItemStack itemstack = this.getHeldItem(); + if (itemstack != null && itemstack.itemID == AtumItems.bow.itemID) { + super.tasks.addTask(4, this.aiArrowAttack); + } else { + super.tasks.addTask(4, this.aiAttackOnCollide); + } - /** - * Attack the specified entity using a ranged attack. - */ - @Override - public void attackEntityWithRangedAttack(EntityLiving par1EntityLiving, float par2) - { - EntityArrow entityarrow = new EntityArrow(this.worldObj, this, par1EntityLiving, 1.6F, (float)(14 - this.worldObj.difficultySetting * 4)); - int i = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, this.getHeldItem()); - int j = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, this.getHeldItem()); - entityarrow.setDamage((double)(par2 * 2.0F) + this.rand.nextGaussian() * 0.25D + (double)((float)this.worldObj.difficultySetting * 0.11F)); + } - if (i > 0) - { - entityarrow.setDamage(entityarrow.getDamage() + (double)i * 0.5D + 0.5D); - } + public void attackEntityWithRangedAttack(EntityLivingBase par1EntityLiving, float par2) { + EntityArrow entityarrow = new EntityArrow(super.worldObj, this, par1EntityLiving, 1.6F, (float) (14 - super.worldObj.difficultySetting * 4)); + int i = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, this.getHeldItem()); + int j = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, this.getHeldItem()); + entityarrow.setDamage((double) (par2 * 2.0F) + super.rand.nextGaussian() * 0.25D + (double) ((float) super.worldObj.difficultySetting * 0.11F)); + if (i > 0) { + entityarrow.setDamage(entityarrow.getDamage() + (double) i * 0.5D + 0.5D); + } - if (j > 0) - { - entityarrow.setKnockbackStrength(j); - } + if (j > 0) { + entityarrow.setKnockbackStrength(j); + } - if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, this.getHeldItem()) > 0) - { - entityarrow.setFire(100); - } + if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, this.getHeldItem()) > 0) { + entityarrow.setFire(100); + } - this.playSound("random.bow", 1.0F, 1.0F / (this.getRNG().nextFloat() * 0.4F + 0.8F)); - this.worldObj.spawnEntityInWorld(entityarrow); - } + this.playSound("random.bow", 1.0F, 1.0F / (this.getRNG().nextFloat() * 0.4F + 0.8F)); + super.worldObj.spawnEntityInWorld(entityarrow); + } - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - @Override - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readEntityFromNBT(par1NBTTagCompound); + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + super.readEntityFromNBT(par1NBTTagCompound); + this.setCombatTask(); + } - this.setCombatTask(); - } + public void setCurrentItemOrArmor(int par1, ItemStack par2ItemStack) { + super.setCurrentItemOrArmor(par1, par2ItemStack); + if (!super.worldObj.isRemote && par1 == 0) { + this.setCombatTask(); + } - /** - * Sets the held item, or an armor slot. Slot 0 is held item. Slot 1-4 is armor. Params: Item, slot - */ - @Override - public void setCurrentItemOrArmor(int par1, ItemStack par2ItemStack) - { - super.setCurrentItemOrArmor(par1, par2ItemStack); + } - if (!this.worldObj.isRemote && par1 == 0) - { - this.setCombatTask(); - } - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity - * has recently been hit by a player. @param par2 - Level of Looting used to - * kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) - { - if (rand.nextInt(20) == 0) - { - int damage = (int) (AtumItems.bow.getMaxDamage() - rand.nextInt(AtumItems.bow.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(AtumConfig.bowID, 1, damage), 0.0F); + protected void dropFewItems(boolean par1, int par2) { + int amount; + if (super.rand.nextInt(20) == 0) { + amount = (int) ((double) AtumItems.bow.getMaxDamage() - (double) super.rand.nextInt(AtumItems.bow.getMaxDamage()) * 0.5D + 20.0D); + this.entityDropItem(new ItemStack(AtumConfig.bowID, 1, amount), 0.0F); } - if (rand.nextInt(10) == 0) - { - int amount = rand.nextInt(2) + 1; + if (super.rand.nextInt(10) == 0) { + amount = super.rand.nextInt(2) + 1; this.dropItem(Item.goldNugget.itemID, amount); } - if (rand.nextInt(4) == 0) - { - int amount = rand.nextInt(3) + 1; + if (super.rand.nextInt(4) == 0) { + amount = super.rand.nextInt(3) + 1; this.dropItem(Item.arrow.itemID, amount); } + } -} \ No newline at end of file + +} diff --git a/common/rebelkeithy/mods/atum/entities/EntityBanditWarlord.java b/common/rebelkeithy/mods/atum/entities/EntityBanditWarlord.java index d5432de..41f2059 100644 --- a/common/rebelkeithy/mods/atum/entities/EntityBanditWarlord.java +++ b/common/rebelkeithy/mods/atum/entities/EntityBanditWarlord.java @@ -7,136 +7,79 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumItems; import rebelkeithy.mods.atum.AtumConfig; +import rebelkeithy.mods.atum.AtumItems; +import rebelkeithy.mods.atum.entities.IAtumDayMob; -public class EntityBanditWarlord extends EntityMob implements IAtumDayMob -{ +public class EntityBanditWarlord extends EntityMob implements IAtumDayMob { - public EntityBanditWarlord(World par1World) - { + public EntityBanditWarlord(World par1World) { super(par1World); - this.experienceValue = 16; + super.experienceValue = 16; + this.setHealth(80); + } + + protected void addRandomArmor() { } - @Override - public String getTexture() - { - return "/mods/Atum/textures/mobs/BanditWarlord.png"; - } + public float getSpeedModifier() { + return this.getSpeedModifier(); + } - @Override - public int getMaxHealth() - { - return 80; + public boolean getCanSpawnHere() { + return super.worldObj.checkNoEntityCollision(super.boundingBox) && super.worldObj.getCollidingBoundingBoxes(this, super.boundingBox).isEmpty() && !super.worldObj.isAnyLiquid(super.boundingBox); } - @Override - protected void addRandomArmor() { } - - @Override - public float getSpeedModifier() - { - return super.getSpeedModifier(); - } - - /** - * Checks if the entity's current position is a valid location to spawn this entity. - */ - @Override - public boolean getCanSpawnHere() - { - //System.out.println("light level mummy " + this.isValidLightLevel() + " " + super.getCanSpawnHere()); - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - //return true || super.getCanSpawnHere(); - } - - /** - * Will return how many at most can spawn in a chunk at once. - */ - @Override - public int getMaxSpawnedInChunk() - { - return 1; - } - - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - @Override - protected boolean isValidLightLevel() - { - return true; - } - - @Override - public void initCreature() - { - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.scimitar)); - EnchantmentHelper.addRandomEnchantment(this.rand, this.getHeldItem(), 5 + this.worldObj.difficultySetting * this.rand.nextInt(6)); - - for (int i = 0; i < this.equipmentDropChances.length; ++i) - { - this.equipmentDropChances[i] = 0.05F; - } - } - - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() - { - return EnumCreatureAttribute.UNDEFINED; - } - - /** - * Returns the amount of damage a mob should deal. - */ - @Override - public int getAttackStrength(Entity par1Entity) - { - return 4; - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param - * par2 - Level of Looting used to kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) - { - if(rand.nextInt(20) == 0) - { - int damage = (int) (AtumItems.scimitar.getMaxDamage() - rand.nextInt(AtumItems.scimitar.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(AtumConfig.scimitarID, 1, damage), 0.0F); - } - - if(rand.nextInt(4) == 0) - { - int amount = rand.nextInt(3) + 3; - this.dropItem(Item.goldNugget.itemID, amount); - } - - if(rand.nextInt(4) == 0) - { - int choice = rand.nextInt(4); - if(choice == 0) - { - this.dropItem(AtumItems.wandererHelmet.itemID, 1); - } - else if(choice == 1) - { - this.dropItem(AtumItems.wandererChest.itemID, 1); - } - else if(choice == 2) - { - this.dropItem(AtumItems.wandererLegs.itemID, 1); - } - else if(choice == 3) - { - this.dropItem(AtumItems.wandererBoots.itemID, 1); - } - } - } + public int getMaxSpawnedInChunk() { + return 1; + } + + protected boolean isValidLightLevel() { + return true; + } + + public void initCreature() { + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.scimitar)); + EnchantmentHelper.addRandomEnchantment(super.rand, this.getHeldItem(), 5 + super.worldObj.difficultySetting * super.rand.nextInt(6)); + + for (int i = 0; i < super.equipmentDropChances.length; ++i) { + super.equipmentDropChances[i] = 0.05F; + } + + } + + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } + + public int getAttackStrength(Entity par1Entity) { + return 4; + } + + protected void dropFewItems(boolean par1, int par2) { + int choice; + if (super.rand.nextInt(20) == 0) { + choice = (int) ((double) AtumItems.scimitar.getMaxDamage() - (double) super.rand.nextInt(AtumItems.scimitar.getMaxDamage()) * 0.5D + 20.0D); + this.entityDropItem(new ItemStack(AtumConfig.scimitarID, 1, choice), 0.0F); + } + + if (super.rand.nextInt(4) == 0) { + choice = super.rand.nextInt(3) + 3; + this.dropItem(Item.goldNugget.itemID, choice); + } + + if (super.rand.nextInt(4) == 0) { + choice = super.rand.nextInt(4); + if (choice == 0) { + this.dropItem(AtumItems.wandererHelmet.itemID, 1); + } else if (choice == 1) { + this.dropItem(AtumItems.wandererChest.itemID, 1); + } else if (choice == 2) { + this.dropItem(AtumItems.wandererLegs.itemID, 1); + } else if (choice == 3) { + this.dropItem(AtumItems.wandererBoots.itemID, 1); + } + } + + } } diff --git a/common/rebelkeithy/mods/atum/entities/EntityBanditWarrior.java b/common/rebelkeithy/mods/atum/entities/EntityBanditWarrior.java index bc99a19..493564f 100644 --- a/common/rebelkeithy/mods/atum/entities/EntityBanditWarrior.java +++ b/common/rebelkeithy/mods/atum/entities/EntityBanditWarrior.java @@ -1,131 +1,69 @@ package rebelkeithy.mods.atum.entities; import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingData; import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.monster.EntityMob; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumItems; import rebelkeithy.mods.atum.AtumConfig; +import rebelkeithy.mods.atum.AtumItems; +import rebelkeithy.mods.atum.entities.IAtumDayMob; -public class EntityBanditWarrior extends EntityMob implements IAtumDayMob -{ +public class EntityBanditWarrior extends EntityMob implements IAtumDayMob { - public EntityBanditWarrior(World par1World) - { + public EntityBanditWarrior(World par1World) { super(par1World); - this.experienceValue = 8; + super.experienceValue = 8; + this.setHealth(30); } - @Override - public String getTexture() - { - return "/mods/Atum/textures/mobs/BanditWarrior.png"; - } - - @Override - public int getMaxHealth() - { - return 30; + public float getSpeedModifier() { + return this.getSpeedModifier() * 1.25F; } - @Override - protected void addRandomArmor() { } - - @Override - public float getSpeedModifier() - { - return super.getSpeedModifier() * 1.25F; - } + public boolean getCanSpawnHere() { + return super.worldObj.checkNoEntityCollision(super.boundingBox) && super.worldObj.getCollidingBoundingBoxes(this, super.boundingBox).isEmpty() && !super.worldObj.isAnyLiquid(super.boundingBox); + } - /** - * Checks if the entity's current position is a valid location to spawn this entity. - */ - @Override - public boolean getCanSpawnHere() - { - //System.out.println("light level mummy " + this.isValidLightLevel() + " " + super.getCanSpawnHere()); - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - //return true || super.getCanSpawnHere(); - } - - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - @Override - protected boolean isValidLightLevel() - { - return true; - } + protected boolean isValidLightLevel() { + return true; + } - @Override - public void initCreature() - { - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.scimitar)); - this.func_82162_bC(); - - for (int i = 0; i < this.equipmentDropChances.length; ++i) - { - this.equipmentDropChances[i] = 0F; - } - } - - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() - { - return EnumCreatureAttribute.UNDEFINED; - } + @Override + public EntityLivingData onSpawnWithEgg(EntityLivingData par1EntityLivingData) { + par1EntityLivingData = super.onSpawnWithEgg(par1EntityLivingData); + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.scimitar)); + for (int i = 0; i < super.equipmentDropChances.length; ++i) { + super.equipmentDropChances[i] = 0.0F; + } + return par1EntityLivingData; + } - - /** - * Returns the amount of damage a mob should deal. - */ - /* - @Override - public int getAttackStrength(Entity par1Entity) - { - return 3; - }*/ + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } - /** - * Returns the amount of damage a mob should deal. - */ - public int getAttackStrength(Entity par1Entity) - { - ItemStack itemstack = this.getHeldItem(); - float f = (float)(this.getMaxHealth() - this.getHealth()) / (float)this.getMaxHealth(); - int i = 3 + MathHelper.floor_float(f * 4.0F); + public int getAttackStrength(Entity par1Entity) { + ItemStack itemstack = this.getHeldItem(); + float f = (float) (this.getMaxHealth() - this.getHealth()) / (float) this.getMaxHealth(); + int i = 3 + MathHelper.floor_float(f * 4.0F); + return i; + } - /*if (itemstack != null) - { - i += itemstack.getDamageVsEntity(this); - }*/ + protected void dropFewItems(boolean par1, int par2) { + int amount; + if (super.rand.nextInt(20) == 0) { + amount = (int) ((double) AtumItems.scimitar.getMaxDamage() - (double) super.rand.nextInt(AtumItems.scimitar.getMaxDamage()) * 0.5D + 20.0D); + this.entityDropItem(new ItemStack(AtumConfig.scimitarID, 1, amount), 0.0F); + } - return i; - } + if (super.rand.nextInt(10) == 0) { + amount = super.rand.nextInt(2) + 1; + this.dropItem(Item.goldNugget.itemID, amount); + } - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param - * par2 - Level of Looting used to kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) - { - if(rand.nextInt(20) == 0) - { - int damage = (int) (AtumItems.scimitar.getMaxDamage() - rand.nextInt(AtumItems.scimitar.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(AtumConfig.scimitarID, 1, damage), 0.0F); - } - - if(rand.nextInt(10) == 0) - { - int amount = rand.nextInt(2) + 1; - this.dropItem(Item.goldNugget.itemID, amount); - } - } + } } diff --git a/common/rebelkeithy/mods/atum/entities/EntityBarbarian.java b/common/rebelkeithy/mods/atum/entities/EntityBarbarian.java index 10f6ad8..3023f40 100644 --- a/common/rebelkeithy/mods/atum/entities/EntityBarbarian.java +++ b/common/rebelkeithy/mods/atum/entities/EntityBarbarian.java @@ -1,6 +1,5 @@ package rebelkeithy.mods.atum.entities; -import net.minecraft.enchantment.Enchantment; import net.minecraft.entity.Entity; import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.monster.EntityMob; @@ -8,125 +7,74 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumItems; import rebelkeithy.mods.atum.AtumConfig; +import rebelkeithy.mods.atum.AtumItems; +import rebelkeithy.mods.atum.entities.EntityPharaoh; +import rebelkeithy.mods.atum.entities.EntityStoneSoldier; +import rebelkeithy.mods.atum.entities.IAtumDayMob; + +public class EntityBarbarian extends EntityMob implements IAtumDayMob { + + public EntityBarbarian(World par1World) { + super(par1World); + super.experienceValue = 9; + this.setHealth(30); + } + + + protected void addRandomArmor() {} + + public float getSpeedModifier() { + return this.getSpeedModifier() * 1.5F; + } + + public boolean getCanSpawnHere() { + return super.worldObj.checkNoEntityCollision(super.boundingBox) && super.worldObj.getCollidingBoundingBoxes(this, super.boundingBox).isEmpty() && !super.worldObj.isAnyLiquid(super.boundingBox); + } + + protected boolean isValidLightLevel() { + return true; + } + + public void initCreature() { + ItemStack weapon = new ItemStack(AtumItems.greatsword); + this.setCurrentItemOrArmor(0, weapon); + this.enchantEquipment(); + + for(int i = 0; i < super.equipmentDropChances.length; ++i) { + super.equipmentDropChances[i] = 0.0F; + } + + } + + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } + + public int getAttackStrength(Entity par1Entity) { + return 4; + } + + protected void dropFewItems(boolean par1, int par2) { + int amount; + if(super.rand.nextInt(20) == 0) { + amount = (int)((double)AtumItems.greatsword.getMaxDamage() - (double)super.rand.nextInt(AtumItems.greatsword.getMaxDamage()) * 0.5D + 20.0D); + this.entityDropItem(new ItemStack(AtumConfig.greatswordID, 1, amount), 0.0F); + } + + if(super.rand.nextInt(4) == 0) { + amount = super.rand.nextInt(2) + 1; + this.dropItem(Item.goldNugget.itemID, amount); + } + + } + + protected void attackEntity(Entity mob, float par2) { + if(!(mob instanceof EntityStoneSoldier) && !(mob instanceof EntityPharaoh)) { + float j = 1.2F; + mob.addVelocity((double)(-MathHelper.sin(super.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F), 0.1D, (double)(MathHelper.cos(super.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F)); + } -public class EntityBarbarian extends EntityMob implements IAtumDayMob -{ - - public EntityBarbarian(World par1World) - { - super(par1World); - this.experienceValue = 9; - } - - @Override - public String getTexture() - { - return "/mods/Atum/textures/mobs/Barbarian.png"; - } - - @Override - public int getMaxHealth() - { - return 30; - } - - @Override - protected void addRandomArmor() { } - - @Override - public float getSpeedModifier() - { - return super.getSpeedModifier() * 1.5F; - } - - /** - * Checks if the entity's current position is a valid location to spawn this entity. - */ - @Override - public boolean getCanSpawnHere() - { - //System.out.println("light level mummy " + this.isValidLightLevel() + " " + super.getCanSpawnHere()); - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - //return true || super.getCanSpawnHere(); - } - - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - @Override - protected boolean isValidLightLevel() - { - return true; - } - - @Override - public void initCreature() - { - ItemStack weapon = new ItemStack(AtumItems.greatsword); - - this.setCurrentItemOrArmor(0, weapon); - this.func_82162_bC(); - - for (int i = 0; i < this.equipmentDropChances.length; ++i) - { - this.equipmentDropChances[i] = 0F; - } - } - - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() - { - return EnumCreatureAttribute.UNDEFINED; - } - - - /** - * Returns the amount of damage a mob should deal. - */ - @Override - public int getAttackStrength(Entity par1Entity) - { - return 4; - } - - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param - * par2 - Level of Looting used to kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) - { - if(rand.nextInt(20) == 0) - { - int damage = (int) (AtumItems.greatsword.getMaxDamage() - rand.nextInt(AtumItems.greatsword.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(AtumConfig.greatswordID, 1, damage), 0.0F); - } - - if(rand.nextInt(4) == 0) - { - int amount = rand.nextInt(2) + 1; - this.dropItem(Item.goldNugget.itemID, amount); - } - } - - /** - * Basic mob attack. Default to touch of death in EntityCreature. Overridden by each mob to define their attack. - */ - @Override - protected void attackEntity(Entity mob, float par2) - { - - if(!(mob instanceof EntityStoneSoldier || mob instanceof EntityPharaoh)) - { - float j = 1.2f; - mob.addVelocity((double)(-MathHelper.sin(this.rotationYaw * (float)Math.PI / 180.0F) * (float)j * 0.5F), 0.1D, (double)(MathHelper.cos(this.rotationYaw * (float)Math.PI / 180.0F) * (float)j * 0.5F)); - } - super.attackEntity(mob, par2); - } + super.attackEntity(mob, par2); + } } diff --git a/common/rebelkeithy/mods/atum/entities/EntityBonestorm.java b/common/rebelkeithy/mods/atum/entities/EntityBonestorm.java index 7bcde5a..577144b 100644 --- a/common/rebelkeithy/mods/atum/entities/EntityBonestorm.java +++ b/common/rebelkeithy/mods/atum/entities/EntityBonestorm.java @@ -1,5 +1,7 @@ package rebelkeithy.mods.atum.entities; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.Entity; import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.player.EntityPlayer; @@ -8,247 +10,159 @@ import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class EntityBonestorm extends EntityMob -{ - /** Random offset used in floating behaviour */ - private float heightOffset = 0.5F; - - /** ticks until heightOffset is randomized */ - private int heightOffsetUpdateTime; - private int field_70846_g; - - public EntityBonestorm(World par1World) - { - super(par1World); - this.texture = "/mob/fire.png"; - this.isImmuneToFire = true; - this.experienceValue = 10; - } - - public int getMaxHealth() - { - return 20; - } - - protected void entityInit() - { - super.entityInit(); - this.dataWatcher.addObject(16, new Byte((byte)0)); - } - - /** - * Returns the sound this mob makes while it's alive. - */ - protected String getLivingSound() - { - return "mob.blaze.breathe"; - } - - /** - * Returns the sound this mob makes when it is hurt. - */ - protected String getHurtSound() - { - return "mob.blaze.hit"; - } - - /** - * Returns the sound this mob makes on death. - */ - protected String getDeathSound() - { - return "mob.blaze.death"; - } - - @SideOnly(Side.CLIENT) - public int getBrightnessForRender(float par1) - { - return 15728880; - } - - /** - * Gets how bright this entity is. - */ - public float getBrightness(float par1) - { - return 1.0F; - } - - /** - * Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons - * use this to react to sunlight and start to burn. - */ - public void onLivingUpdate() - { - if (!this.worldObj.isRemote) - { - if (this.isWet()) - { - this.attackEntityFrom(DamageSource.drown, 1); +public class EntityBonestorm extends EntityMob { + + private float heightOffset = 0.5F; + private int heightOffsetUpdateTime; + private int field_70846_g; + + + public EntityBonestorm(World par1World) { + super(par1World); + super.isImmuneToFire = true; + super.experienceValue = 10; + this.setHealth(20f); + } + + protected void entityInit() { + super.entityInit(); + super.dataWatcher.addObject(16, new Byte((byte)0)); + } + + protected String getLivingSound() { + return "mob.blaze.breathe"; + } + + protected String getHurtSound() { + return "mob.blaze.hit"; + } + + protected String getDeathSound() { + return "mob.blaze.death"; + } + + @SideOnly(Side.CLIENT) + public int getBrightnessForRender(float par1) { + return 15728880; + } + + public float getBrightness(float par1) { + return 1.0F; + } + + public void onLivingUpdate() { + if(!super.worldObj.isRemote) { + if(this.isWet()) { + this.attackEntityFrom(DamageSource.drown, 1); + } + + --this.heightOffsetUpdateTime; + if(this.heightOffsetUpdateTime <= 0) { + this.heightOffsetUpdateTime = 100; + this.heightOffset = 0.5F + (float)super.rand.nextGaussian() * 3.0F; + } + + if(this.getEntityToAttack() != null && this.getEntityToAttack().posY + (double)this.getEntityToAttack().getEyeHeight() > super.posY + (double)this.getEyeHeight() + (double)this.heightOffset) { + super.motionY += (0.30000001192092896D - super.motionY) * 0.30000001192092896D; + } + } + + if(super.rand.nextInt(24) == 0) { + super.worldObj.playSoundEffect(super.posX + 0.5D, super.posY + 0.5D, super.posZ + 0.5D, "fire.fire", 1.0F + super.rand.nextFloat(), super.rand.nextFloat() * 0.7F + 0.3F); + } + + if(!super.onGround && super.motionY < 0.0D) { + super.motionY *= 0.6D; + } + + for(int i = 0; i < 2; ++i) { + super.worldObj.spawnParticle("largesmoke", super.posX + (super.rand.nextDouble() - 0.5D) * (double)super.width, super.posY + super.rand.nextDouble() * (double)super.height, super.posZ + (super.rand.nextDouble() - 0.5D) * (double)super.width, 0.0D, 0.0D, 0.0D); + } + + super.onLivingUpdate(); + } + + protected void attackEntity(Entity par1Entity, float par2) { + if(super.attackTime <= 0 && par2 < 2.0F && par1Entity.boundingBox.maxY > super.boundingBox.minY && par1Entity.boundingBox.minY < super.boundingBox.maxY) { + super.attackTime = 20; + this.attackEntityAsMob(par1Entity); + } else if(par2 < 30.0F) { + double d0 = par1Entity.posX - super.posX; + double d1 = par1Entity.boundingBox.minY + (double)(par1Entity.height / 2.0F) - (super.posY + (double)(super.height / 2.0F)); + double d2 = par1Entity.posZ - super.posZ; + if(super.attackTime == 0) { + ++this.field_70846_g; + if(this.field_70846_g == 1) { + super.attackTime = 60; + this.func_70844_e(true); + } else if(this.field_70846_g <= 4) { + super.attackTime = 6; + } else { + super.attackTime = 100; + this.field_70846_g = 0; + this.func_70844_e(false); } - --this.heightOffsetUpdateTime; + if(this.field_70846_g > 1) { + float f1 = MathHelper.sqrt_float(par2) * 0.5F; + super.worldObj.playAuxSFXAtEntity((EntityPlayer)null, 1009, (int)super.posX, (int)super.posY, (int)super.posZ, 0); - if (this.heightOffsetUpdateTime <= 0) - { - this.heightOffsetUpdateTime = 100; - this.heightOffset = 0.5F + (float)this.rand.nextGaussian() * 3.0F; + for(int i = 0; i < 1; ++i) { + EntitySmallFireball entitysmallfireball = new EntitySmallFireball(super.worldObj, this, d0 + super.rand.nextGaussian() * (double)f1, d1, d2 + super.rand.nextGaussian() * (double)f1); + entitysmallfireball.posY = super.posY + (double)(super.height / 2.0F) + 0.5D; + super.worldObj.spawnEntityInWorld(entitysmallfireball); + } } + } - if (this.getEntityToAttack() != null && this.getEntityToAttack().posY + (double)this.getEntityToAttack().getEyeHeight() > this.posY + (double)this.getEyeHeight() + (double)this.heightOffset) - { - this.motionY += (0.30000001192092896D - this.motionY) * 0.30000001192092896D; - } - } - - if (this.rand.nextInt(24) == 0) - { - this.worldObj.playSoundEffect(this.posX + 0.5D, this.posY + 0.5D, this.posZ + 0.5D, "fire.fire", 1.0F + this.rand.nextFloat(), this.rand.nextFloat() * 0.7F + 0.3F); - } - - if (!this.onGround && this.motionY < 0.0D) - { - this.motionY *= 0.6D; - } - - for (int i = 0; i < 2; ++i) - { - this.worldObj.spawnParticle("largesmoke", this.posX + (this.rand.nextDouble() - 0.5D) * (double)this.width, this.posY + this.rand.nextDouble() * (double)this.height, this.posZ + (this.rand.nextDouble() - 0.5D) * (double)this.width, 0.0D, 0.0D, 0.0D); - } - - super.onLivingUpdate(); - } - - /** - * Basic mob attack. Default to touch of death in EntityCreature. Overridden by each mob to define their attack. - */ - protected void attackEntity(Entity par1Entity, float par2) - { - if (this.attackTime <= 0 && par2 < 2.0F && par1Entity.boundingBox.maxY > this.boundingBox.minY && par1Entity.boundingBox.minY < this.boundingBox.maxY) - { - this.attackTime = 20; - this.attackEntityAsMob(par1Entity); - } - else if (par2 < 30.0F) - { - double d0 = par1Entity.posX - this.posX; - double d1 = par1Entity.boundingBox.minY + (double)(par1Entity.height / 2.0F) - (this.posY + (double)(this.height / 2.0F)); - double d2 = par1Entity.posZ - this.posZ; - - if (this.attackTime == 0) - { - ++this.field_70846_g; - - if (this.field_70846_g == 1) - { - this.attackTime = 60; - this.func_70844_e(true); - } - else if (this.field_70846_g <= 4) - { - this.attackTime = 6; - } - else - { - this.attackTime = 100; - this.field_70846_g = 0; - this.func_70844_e(false); - } - - if (this.field_70846_g > 1) - { - float f1 = MathHelper.sqrt_float(par2) * 0.5F; - this.worldObj.playAuxSFXAtEntity((EntityPlayer)null, 1009, (int)this.posX, (int)this.posY, (int)this.posZ, 0); - - for (int i = 0; i < 1; ++i) - { - EntitySmallFireball entitysmallfireball = new EntitySmallFireball(this.worldObj, this, d0 + this.rand.nextGaussian() * (double)f1, d1, d2 + this.rand.nextGaussian() * (double)f1); - entitysmallfireball.posY = this.posY + (double)(this.height / 2.0F) + 0.5D; - this.worldObj.spawnEntityInWorld(entitysmallfireball); - } - } - } + super.rotationYaw = (float)(Math.atan2(d2, d0) * 180.0D / 3.141592653589793D) - 90.0F; + super.hasAttacked = true; + } - this.rotationYaw = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - this.hasAttacked = true; - } - } - - /** - * Called when the mob is falling. Calculates and applies fall damage. - */ - protected void fall(float par1) {} - - /** - * Returns the item ID for the item the mob drops on death. - */ - protected int getDropItemId() - { - return Item.blazeRod.itemID; - } - - /** - * Returns true if the entity is on fire. Used by render to add the fire effect on rendering. - */ - public boolean isBurning() - { - return this.func_70845_n(); - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param - * par2 - Level of Looting used to kill this mob. - */ - protected void dropFewItems(boolean par1, int par2) - { - if (par1) - { - int j = this.rand.nextInt(2 + par2); - - for (int k = 0; k < j; ++k) - { - this.dropItem(Item.blazeRod.itemID, 1); - } - } - } - - public boolean func_70845_n() - { - return (this.dataWatcher.getWatchableObjectByte(16) & 1) != 0; - } - - public void func_70844_e(boolean par1) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - b0 = (byte)(b0 | 1); - } - else - { - b0 &= -2; - } - - this.dataWatcher.updateObject(16, Byte.valueOf(b0)); - } - - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - protected boolean isValidLightLevel() - { - return true; - } - - /** - * Returns the amount of damage a mob should deal. - */ - public int getAttackStrength(Entity par1Entity) - { - return 6; - } + } + + protected void fall(float par1) {} + + protected int getDropItemId() { + return Item.blazeRod.itemID; + } + + public boolean isBurning() { + return this.func_70845_n(); + } + + protected void dropFewItems(boolean par1, int par2) { + if(par1) { + int j = super.rand.nextInt(2 + par2); + + for(int k = 0; k < j; ++k) { + this.dropItem(Item.blazeRod.itemID, 1); + } + } + + } + + public boolean func_70845_n() { + return (super.dataWatcher.getWatchableObjectByte(16) & 1) != 0; + } + + public void func_70844_e(boolean par1) { + byte b0 = super.dataWatcher.getWatchableObjectByte(16); + if(par1) { + b0 = (byte)(b0 | 1); + } else { + b0 &= -2; + } + + super.dataWatcher.updateObject(16, Byte.valueOf(b0)); + } + + protected boolean isValidLightLevel() { + return true; + } + + public int getAttackStrength(Entity par1Entity) { + return 6; + } } diff --git a/common/rebelkeithy/mods/atum/entities/EntityDesertWolf.java b/common/rebelkeithy/mods/atum/entities/EntityDesertWolf.java index 7649c96..5850bfd 100644 --- a/common/rebelkeithy/mods/atum/entities/EntityDesertWolf.java +++ b/common/rebelkeithy/mods/atum/entities/EntityDesertWolf.java @@ -1,9 +1,10 @@ package rebelkeithy.mods.atum.entities; -import net.minecraft.block.BlockCloth; +import net.minecraft.block.BlockColored; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityAgeable; import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.ai.EntityAIAttackOnCollide; import net.minecraft.entity.ai.EntityAIFollowOwner; import net.minecraft.entity.ai.EntityAIHurtByTarget; @@ -17,6 +18,7 @@ import net.minecraft.entity.ai.EntityAIWander; import net.minecraft.entity.ai.EntityAIWatchClosest; import net.minecraft.entity.passive.EntityAnimal; +import net.minecraft.entity.passive.EntitySheep; import net.minecraft.entity.passive.EntityTameable; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntityArrow; @@ -32,645 +34,396 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class EntityDesertWolf extends EntityTameable implements IAtumDayMob -{ - private float field_70926_e; - private float field_70924_f; - - /** true is the wolf is wet else false */ - private boolean isShaking; - private boolean field_70928_h; - - /** - * This time increases while wolf is shaking and emitting water particles. - */ - private float timeWolfIsShaking; - private float prevTimeWolfIsShaking; - - public EntityDesertWolf(World par1World) - { - super(par1World); - this.texture = "/mob/wolf.png"; - this.setSize(0.6F, 0.8F); - this.moveSpeed = 0.3F; - this.getNavigator().setAvoidsWater(true); - this.tasks.addTask(1, new EntityAISwimming(this)); - this.tasks.addTask(2, this.aiSit); - this.tasks.addTask(3, new EntityAILeapAtTarget(this, 0.4F)); - this.tasks.addTask(4, new EntityAIAttackOnCollide(this, this.moveSpeed, true)); - this.tasks.addTask(5, new EntityAIFollowOwner(this, this.moveSpeed, 10.0F, 2.0F)); - this.tasks.addTask(6, new EntityAIMate(this, this.moveSpeed)); - this.tasks.addTask(7, new EntityAIWander(this, this.moveSpeed)); - //this.tasks.addTask(8, new EntityAIBeg(this, 8.0F)); - this.tasks.addTask(9, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); - this.tasks.addTask(9, new EntityAILookIdle(this)); - this.targetTasks.addTask(1, new EntityAIOwnerHurtByTarget(this)); - this.targetTasks.addTask(2, new EntityAIOwnerHurtTarget(this)); - this.targetTasks.addTask(3, new EntityAIHurtByTarget(this, true)); - //this.targetTasks.addTask(4, new EntityAITargetNonTamed(this, EntityMummy.class, 16.0F, 200, false)); - this.targetTasks.addTask(5, new EntityAITargetNonTamed(this, EntityPlayer.class, 16.0F, 0, true)); - } - - /** - * Returns true if the newer Entity AI code should be run - */ - @Override - public boolean isAIEnabled() - { - return true; - } - - /** - * Finds the closest player within 16 blocks to attack, or null if this Entity isn't interested in attacking - * (Animals, Spiders at day, peaceful PigZombies). - */ - @Override - protected Entity findPlayerToAttack() - { - EntityPlayer entityplayer = this.worldObj.getClosestVulnerablePlayerToEntity(this, 16.0D); - return entityplayer != null && this.canEntityBeSeen(entityplayer) ? entityplayer : null; - } - - /** - * Sets the active target the Task system uses for tracking - */ - @Override - public void setAttackTarget(EntityLiving par1EntityLiving) - { - super.setAttackTarget(par1EntityLiving); - - if (par1EntityLiving instanceof EntityPlayer) - { - this.setAngry(true); - } - } - - /** - * main AI tick function, replaces updateEntityActionState - */ - @Override - protected void updateAITick() - { - this.dataWatcher.updateObject(18, Integer.valueOf(this.getHealth())); - } - - @Override - public int getMaxHealth() - { - return this.isTamed() ? 20 : 8; - } - - @Override - protected void entityInit() - { - super.entityInit(); - this.dataWatcher.addObject(18, new Integer(this.getHealth())); - this.dataWatcher.addObject(19, new Byte((byte)0)); - this.dataWatcher.addObject(20, new Byte((byte)BlockCloth.getBlockFromDye(1))); - this.setAngry(true); - this.experienceValue = 6; - } - - /** - * Checks if the entity's current position is a valid location to spawn this entity. - */ - @Override - public boolean getCanSpawnHere() - { - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - } - - @Override - public float getSpeedModifier() - { - return super.getSpeedModifier() * 1.5F; - } - - /** - * Plays step sound at given x, y, z for the entity - */ - @Override - protected void playStepSound(int par1, int par2, int par3, int par4) - { - this.playSound("mob.wolf.step", 0.15F, 1.0F); - } - - @SideOnly(Side.CLIENT) - - /** - * Returns the texture's file path as a String. - */ - @Override - public String getTexture() - { - return this.isTamed() ? "/mods/Atum/textures/mobs/DesertWolf_tame.png" : (this.isAngry() ? "/mods/Atum/textures/mobs/DesertWolf_angry.png" : "/mods/Atum/textures/mobs/DesertWolf"); - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - @Override - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeEntityToNBT(par1NBTTagCompound); - par1NBTTagCompound.setBoolean("Angry", this.isAngry()); - par1NBTTagCompound.setByte("CollarColor", (byte)this.getCollarColor()); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - @Override - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readEntityFromNBT(par1NBTTagCompound); - this.setAngry(par1NBTTagCompound.getBoolean("Angry")); - - if (par1NBTTagCompound.hasKey("CollarColor")) - { - this.setCollarColor(par1NBTTagCompound.getByte("CollarColor")); - } - } - - /** - * Determines if an entity can be despawned, used on idle far away entities - */ - @Override - protected boolean canDespawn() - { - return this.isAngry(); - } - - /** - * Returns the sound this mob makes while it's alive. - */ - @Override - protected String getLivingSound() - { - return this.isAngry() ? "mob.wolf.growl" : (this.rand.nextInt(3) == 0 ? (this.isTamed() && this.dataWatcher.getWatchableObjectInt(18) < 10 ? "mob.wolf.whine" : "mob.wolf.panting") : "mob.wolf.bark"); - } - - /** - * Returns the sound this mob makes when it is hurt. - */ - @Override - protected String getHurtSound() - { - return "mob.wolf.hurt"; - } - - /** - * Returns the sound this mob makes on death. - */ - @Override - protected String getDeathSound() - { - return "mob.wolf.death"; - } - - /** - * Returns the volume for the sounds this mob makes. - */ - @Override - protected float getSoundVolume() - { - return 0.4F; - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param - * par2 - Level of Looting used to kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) - { - if(rand.nextInt(10) == 0) - { - this.dropItem(Item.bone.itemID, 1); - } - if(rand.nextInt(4) == 0) - { - int amount = rand.nextInt(2) + 1; - this.dropItem(AtumItems.pelt.itemID, amount); - } - } - - /** - * Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons - * use this to react to sunlight and start to burn. - */ - @Override - public void onLivingUpdate() - { - super.onLivingUpdate(); - - if (!this.worldObj.isRemote && this.isShaking && !this.field_70928_h && !this.hasPath() && this.onGround) - { - this.field_70928_h = true; - this.timeWolfIsShaking = 0.0F; - this.prevTimeWolfIsShaking = 0.0F; - this.worldObj.setEntityState(this, (byte)8); - } - } - - /** - * Called to update the entity's position/logic. - */ - @Override - public void onUpdate() - { - super.onUpdate(); - - if (!this.worldObj.isRemote && this.worldObj.difficultySetting == 0) - { - this.setDead(); - return; - } - - this.field_70924_f = this.field_70926_e; - - if (this.func_70922_bv()) - { +public class EntityDesertWolf extends EntityTameable implements IAtumDayMob { + + private float field_70926_e; + private float field_70924_f; + private boolean isShaking; + private boolean field_70928_h; + private float timeWolfIsShaking; + private float prevTimeWolfIsShaking; + + + public EntityDesertWolf(World par1World) { + super(par1World); + this.setSize(0.6F, 0.8F); + this.getNavigator().setAvoidsWater(true); + this.tasks.addTask(1, new EntityAISwimming(this)); + this.tasks.addTask(2, this.aiSit); + this.tasks.addTask(3, new EntityAILeapAtTarget(this, 0.4F)); + this.tasks.addTask(4, new EntityAIAttackOnCollide(this, 1.0D, true)); + this.tasks.addTask(5, new EntityAIFollowOwner(this, 1.0D, 10.0F, 2.0F)); + this.tasks.addTask(6, new EntityAIMate(this, 1.0D)); + this.tasks.addTask(7, new EntityAIWander(this, 1.0D)); + this.tasks.addTask(9, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); + this.tasks.addTask(9, new EntityAILookIdle(this)); + this.targetTasks.addTask(1, new EntityAIOwnerHurtByTarget(this)); + this.targetTasks.addTask(2, new EntityAIOwnerHurtTarget(this)); + this.targetTasks.addTask(3, new EntityAIHurtByTarget(this, true)); + this.targetTasks.addTask(4, new EntityAITargetNonTamed(this, EntitySheep.class, 200, false)); + } + + public boolean isAIEnabled() { + return true; + } + + protected Entity findPlayerToAttack() { + EntityPlayer entityplayer = super.worldObj.getClosestVulnerablePlayerToEntity(this, 16.0D); + return entityplayer != null && this.canEntityBeSeen(entityplayer)?entityplayer:null; + } + + @Override + public void setAttackTarget(EntityLivingBase par1EntityLiving) { + super.setAttackTarget(par1EntityLiving); + if(par1EntityLiving instanceof EntityPlayer) { + this.setAngry(true); + } + + } + + protected void updateAITick() { + super.dataWatcher.updateObject(18, this.getHealth()); + } + + + + protected void entityInit() { + super.entityInit(); + super.dataWatcher.addObject(18, this.getHealth()); + super.dataWatcher.addObject(19, new Byte((byte)0)); + super.dataWatcher.addObject(20, new Byte((byte)BlockColored.getBlockFromDye(1))); + this.setAngry(true); + super.experienceValue = 6; + } + + public boolean getCanSpawnHere() { + return super.worldObj.checkNoEntityCollision(super.boundingBox) && super.worldObj.getCollidingBoundingBoxes(this, super.boundingBox).isEmpty() && !super.worldObj.isAnyLiquid(super.boundingBox); + } + + protected void playStepSound(int par1, int par2, int par3, int par4) { + this.playSound("mob.wolf.step", 0.15F, 1.0F); + } + + @SideOnly(Side.CLIENT) + public String getTexture() { + return this.isTamed()?"atum:textures/entities/DesertWolf_tame.png":(this.isAngry()?"atum:textures/entities/DesertWolf_angry.png":"atum:textures/entities/DesertWolf"); + } + + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + super.writeEntityToNBT(par1NBTTagCompound); + par1NBTTagCompound.setBoolean("Angry", this.isAngry()); + par1NBTTagCompound.setByte("CollarColor", (byte)this.getCollarColor()); + } + + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + super.readEntityFromNBT(par1NBTTagCompound); + this.setAngry(par1NBTTagCompound.getBoolean("Angry")); + if(par1NBTTagCompound.hasKey("CollarColor")) { + this.setCollarColor(par1NBTTagCompound.getByte("CollarColor")); + } + + } + + protected boolean canDespawn() { + return this.isAngry(); + } + + protected String getLivingSound() { + return this.isAngry()?"mob.wolf.growl":(super.rand.nextInt(3) == 0?(this.isTamed() && super.dataWatcher.getWatchableObjectInt(18) < 10?"mob.wolf.whine":"mob.wolf.panting"):"mob.wolf.bark"); + } + + protected String getHurtSound() { + return "mob.wolf.hurt"; + } + + protected String getDeathSound() { + return "mob.wolf.death"; + } + + protected float getSoundVolume() { + return 0.4F; + } + + protected void dropFewItems(boolean par1, int par2) { + if(super.rand.nextInt(10) == 0) { + this.dropItem(Item.bone.itemID, 1); + } + + if(super.rand.nextInt(4) == 0) { + int amount = super.rand.nextInt(2) + 1; + this.dropItem(AtumItems.pelt.itemID, amount); + } + + } + + public void onLivingUpdate() { + super.onLivingUpdate(); + if(!super.worldObj.isRemote && this.isShaking && !this.field_70928_h && !this.hasPath() && super.onGround) { + this.field_70928_h = true; + this.timeWolfIsShaking = 0.0F; + this.prevTimeWolfIsShaking = 0.0F; + super.worldObj.setEntityState(this, (byte)8); + } + + } + + public void onUpdate() { + super.onUpdate(); + if(!super.worldObj.isRemote && super.worldObj.difficultySetting == 0) { + this.setDead(); + } else { + this.field_70924_f = this.field_70926_e; + if(this.func_70922_bv()) { this.field_70926_e += (1.0F - this.field_70926_e) * 0.4F; - } - else - { + } else { this.field_70926_e += (0.0F - this.field_70926_e) * 0.4F; - } + } - if (this.func_70922_bv()) - { - this.numTicksToChaseTarget = 10; - } + if(this.func_70922_bv()) { + super.numTicksToChaseTarget = 10; + } - if (this.isWet()) - { + if(this.isWet()) { this.isShaking = true; this.field_70928_h = false; this.timeWolfIsShaking = 0.0F; this.prevTimeWolfIsShaking = 0.0F; - } - else if ((this.isShaking || this.field_70928_h) && this.field_70928_h) - { - if (this.timeWolfIsShaking == 0.0F) - { - this.playSound("mob.wolf.shake", this.getSoundVolume(), (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F); + } else if((this.isShaking || this.field_70928_h) && this.field_70928_h) { + if(this.timeWolfIsShaking == 0.0F) { + this.playSound("mob.wolf.shake", this.getSoundVolume(), (super.rand.nextFloat() - super.rand.nextFloat()) * 0.2F + 1.0F); } this.prevTimeWolfIsShaking = this.timeWolfIsShaking; this.timeWolfIsShaking += 0.05F; - - if (this.prevTimeWolfIsShaking >= 2.0F) - { - this.isShaking = false; - this.field_70928_h = false; - this.prevTimeWolfIsShaking = 0.0F; - this.timeWolfIsShaking = 0.0F; + if(this.prevTimeWolfIsShaking >= 2.0F) { + this.isShaking = false; + this.field_70928_h = false; + this.prevTimeWolfIsShaking = 0.0F; + this.timeWolfIsShaking = 0.0F; } - if (this.timeWolfIsShaking > 0.4F) - { - float f = (float)this.boundingBox.minY; - int i = (int)(MathHelper.sin((this.timeWolfIsShaking - 0.4F) * (float)Math.PI) * 7.0F); - - for (int j = 0; j < i; ++j) - { - float f1 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; - float f2 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; - this.worldObj.spawnParticle("splash", this.posX + (double)f1, (double)(f + 0.8F), this.posZ + (double)f2, this.motionX, this.motionY, this.motionZ); - } - } - } - } - - @SideOnly(Side.CLIENT) - public boolean getWolfShaking() - { - return this.isShaking; - } - - @SideOnly(Side.CLIENT) - - /** - * Used when calculating the amount of shading to apply while the wolf is shaking. - */ - public float getShadingWhileShaking(float par1) - { - return 0.75F + (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * par1) / 2.0F * 0.25F; - } - - @SideOnly(Side.CLIENT) - public float getShakeAngle(float par1, float par2) - { - float f2 = (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * par1 + par2) / 1.8F; - - if (f2 < 0.0F) - { - f2 = 0.0F; - } - else if (f2 > 1.0F) - { - f2 = 1.0F; - } - - return MathHelper.sin(f2 * (float)Math.PI) * MathHelper.sin(f2 * (float)Math.PI * 11.0F) * 0.15F * (float)Math.PI; - } - - @SideOnly(Side.CLIENT) - public float getInterestedAngle(float par1) - { - return (this.field_70924_f + (this.field_70926_e - this.field_70924_f) * par1) * 0.15F * (float)Math.PI; - } - - @Override - public float getEyeHeight() - { - return this.height * 0.8F; - } - - /** - * The speed it takes to move the entityliving's rotationPitch through the faceEntity method. This is only currently - * use in wolves. - */ - @Override - public int getVerticalFaceSpeed() - { - return this.isSitting() ? 20 : super.getVerticalFaceSpeed(); - } - - /** - * Called when the entity is attacked. - */ - @Override - public boolean attackEntityFrom(DamageSource par1DamageSource, int par2) - { - if (this.isEntityInvulnerable()) - { - return false; - } - else - { - Entity entity = par1DamageSource.getEntity(); - this.aiSit.setSitting(false); - - if (entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) - { - par2 = (par2 + 1) / 2; - } + if(this.timeWolfIsShaking > 0.4F) { + float f = (float)super.boundingBox.minY; + int i = (int)(MathHelper.sin((this.timeWolfIsShaking - 0.4F) * 3.1415927F) * 7.0F); - return super.attackEntityFrom(par1DamageSource, par2); - } - } - - @Override - public boolean attackEntityAsMob(Entity par1Entity) - { - int i = this.isTamed() ? 4 : 2; - return par1Entity.attackEntityFrom(DamageSource.causeMobDamage(this), i); - } - - /** - * Called when a player interacts with a mob. e.g. gets milk from a cow, gets into the saddle on a pig. - */ - @Override - public boolean interact(EntityPlayer par1EntityPlayer) - { - ItemStack itemstack = par1EntityPlayer.inventory.getCurrentItem(); - - if (this.isTamed()) - { - if (itemstack != null) - { - if (Item.itemsList[itemstack.itemID] instanceof ItemFood) - { - ItemFood itemfood = (ItemFood)Item.itemsList[itemstack.itemID]; - - if (itemfood.isWolfsFavoriteMeat() && this.dataWatcher.getWatchableObjectInt(18) < 20) - { - if (!par1EntityPlayer.capabilities.isCreativeMode) - { - --itemstack.stackSize; - } - - this.heal(itemfood.getHealAmount()); - - if (itemstack.stackSize <= 0) - { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack)null); - } - - return true; - } - } - else if (itemstack.itemID == Item.dyePowder.itemID) - { - int i = BlockCloth.getBlockFromDye(itemstack.getItemDamage()); - - if (i != this.getCollarColor()) - { - this.setCollarColor(i); - - if (!par1EntityPlayer.capabilities.isCreativeMode && --itemstack.stackSize <= 0) - { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack)null); - } - - return true; - } - } + for(int j = 0; j < i; ++j) { + float f1 = (super.rand.nextFloat() * 2.0F - 1.0F) * super.width * 0.5F; + float f2 = (super.rand.nextFloat() * 2.0F - 1.0F) * super.width * 0.5F; + super.worldObj.spawnParticle("splash", super.posX + (double)f1, (double)(f + 0.8F), super.posZ + (double)f2, super.motionX, super.motionY, super.motionZ); + } } + } - if (par1EntityPlayer.username.equalsIgnoreCase(this.getOwnerName()) && !this.worldObj.isRemote && !this.isBreedingItem(itemstack)) - { - this.aiSit.setSitting(!this.isSitting()); - this.isJumping = false; - this.setPathToEntity((PathEntity)null); - } - } - else if (itemstack != null && itemstack.itemID == Item.bone.itemID && !this.isAngry()) - { - if (!par1EntityPlayer.capabilities.isCreativeMode) - { - --itemstack.stackSize; - } + } + } + + @SideOnly(Side.CLIENT) + public boolean getWolfShaking() { + return this.isShaking; + } + + @SideOnly(Side.CLIENT) + public float getShadingWhileShaking(float par1) { + return 0.75F + (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * par1) / 2.0F * 0.25F; + } + + @SideOnly(Side.CLIENT) + public float getShakeAngle(float par1, float par2) { + float f2 = (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * par1 + par2) / 1.8F; + if(f2 < 0.0F) { + f2 = 0.0F; + } else if(f2 > 1.0F) { + f2 = 1.0F; + } + + return MathHelper.sin(f2 * 3.1415927F) * MathHelper.sin(f2 * 3.1415927F * 11.0F) * 0.15F * 3.1415927F; + } + + @SideOnly(Side.CLIENT) + public float getInterestedAngle(float par1) { + return (this.field_70924_f + (this.field_70926_e - this.field_70924_f) * par1) * 0.15F * 3.1415927F; + } + + public float getEyeHeight() { + return super.height * 0.8F; + } + + public int getVerticalFaceSpeed() { + return this.isSitting()?20:super.getVerticalFaceSpeed(); + } + + public boolean attackEntityFrom(DamageSource par1DamageSource, int par2) { + if(this.isEntityInvulnerable()) { + return false; + } else { + Entity entity = par1DamageSource.getEntity(); + super.aiSit.setSitting(false); + if(entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) { + par2 = (par2 + 1) / 2; + } - if (itemstack.stackSize <= 0) - { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack)null); + return super.attackEntityFrom(par1DamageSource, par2); + } + } + + public boolean attackEntityAsMob(Entity par1Entity) { + int i = this.isTamed()?4:2; + return par1Entity.attackEntityFrom(DamageSource.causeMobDamage(this), i); + } + + public boolean interact(EntityPlayer par1EntityPlayer) { + ItemStack itemstack = par1EntityPlayer.inventory.getCurrentItem(); + if(this.isTamed()) { + if(itemstack != null) { + if(Item.itemsList[itemstack.itemID] instanceof ItemFood) { + ItemFood i = (ItemFood)Item.itemsList[itemstack.itemID]; + if(i.isWolfsFavoriteMeat() && super.dataWatcher.getWatchableObjectInt(18) < 20) { + if(!par1EntityPlayer.capabilities.isCreativeMode) { + --itemstack.stackSize; + } + + this.heal(i.getHealAmount()); + if(itemstack.stackSize <= 0) { + par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack)null); + } + + return true; + } + } else if(itemstack.itemID == Item.dyePowder.itemID) { + int var4 = BlockColored.getBlockFromDye(itemstack.getItemDamage()); + if(var4 != this.getCollarColor()) { + this.setCollarColor(var4); + if(!par1EntityPlayer.capabilities.isCreativeMode && --itemstack.stackSize <= 0) { + par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack)null); + } + + return true; + } } + } - if (!this.worldObj.isRemote) - { - if (this.rand.nextInt(3) == 0) - { - this.setTamed(true); - this.setPathToEntity((PathEntity)null); - this.setAttackTarget((EntityLiving)null); - this.aiSit.setSitting(true); - this.setEntityHealth(20); - this.setOwner(par1EntityPlayer.username); - this.playTameEffect(true); - this.worldObj.setEntityState(this, (byte)7); - } - else - { - this.playTameEffect(false); - this.worldObj.setEntityState(this, (byte)6); - } - } + if(par1EntityPlayer.username.equalsIgnoreCase(this.getOwnerName()) && !super.worldObj.isRemote && !this.isBreedingItem(itemstack)) { + super.aiSit.setSitting(!this.isSitting()); + super.isJumping = false; + this.setPathToEntity((PathEntity)null); + } + } else if(itemstack != null && itemstack.itemID == Item.bone.itemID && !this.isAngry()) { + if(!par1EntityPlayer.capabilities.isCreativeMode) { + --itemstack.stackSize; + } - return true; - } + if(itemstack.stackSize <= 0) { + par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack)null); + } - return super.interact(par1EntityPlayer); - } + if(!super.worldObj.isRemote) { + if(super.rand.nextInt(3) == 0) { + this.setTamed(true); + this.setPathToEntity((PathEntity)null); + this.setAttackTarget((EntityLiving)null); + super.aiSit.setSitting(true); + this.setHealth(20); + this.setOwner(par1EntityPlayer.username); + this.playTameEffect(true); + super.worldObj.setEntityState(this, (byte)7); + } else { + this.playTameEffect(false); + super.worldObj.setEntityState(this, (byte)6); + } + } - @SideOnly(Side.CLIENT) - @Override - public void handleHealthUpdate(byte par1) - { - if (par1 == 8) - { - this.field_70928_h = true; - this.timeWolfIsShaking = 0.0F; - this.prevTimeWolfIsShaking = 0.0F; - } - else - { - super.handleHealthUpdate(par1); - } - } - - @SideOnly(Side.CLIENT) - public float getTailRotation() - { - return this.isAngry() ? 1.5393804F : (this.isTamed() ? (0.55F - (float)(20 - this.dataWatcher.getWatchableObjectInt(18)) * 0.02F) * (float)Math.PI : ((float)Math.PI / 5F)); - } - - /** - * Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on - * the animal type) - */ - @Override - public boolean isBreedingItem(ItemStack par1ItemStack) - { - return par1ItemStack == null ? false : (!(Item.itemsList[par1ItemStack.itemID] instanceof ItemFood) ? false : ((ItemFood)Item.itemsList[par1ItemStack.itemID]).isWolfsFavoriteMeat()); - } - - /** - * Will return how many at most can spawn in a chunk at once. - */ - @Override - public int getMaxSpawnedInChunk() - { - return 8; - } - - /** - * Determines whether this wolf is angry or not. - */ - public boolean isAngry() - { - return (this.dataWatcher.getWatchableObjectByte(16) & 2) != 0; - } - - /** - * Sets whether this wolf is angry or not. - */ - public void setAngry(boolean par1) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 2))); - } - else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -3))); - } - } - - /** - * Return this wolf's collar color. - */ - public int getCollarColor() - { - return this.dataWatcher.getWatchableObjectByte(20) & 15; - } - - /** - * Set this wolf's collar color. - */ - public void setCollarColor(int par1) - { - this.dataWatcher.updateObject(20, Byte.valueOf((byte)(par1 & 15))); - } - - /** - * This function is used when two same-species animals in 'love mode' breed to generate the new baby animal. - */ - public EntityDesertWolf spawnBabyAnimal(EntityAgeable par1EntityAgeable) - { - EntityDesertWolf entitywolf = new EntityDesertWolf(this.worldObj); - String s = this.getOwnerName(); - - if (s != null && s.trim().length() > 0) - { - entitywolf.setOwner(s); - entitywolf.setTamed(true); - } - - return entitywolf; - } - - public void func_70918_i(boolean par1) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(19); - - if (par1) - { - this.dataWatcher.updateObject(19, Byte.valueOf((byte)1)); - } - else - { - this.dataWatcher.updateObject(19, Byte.valueOf((byte)0)); - } - } - - /** - * Returns true if the mob is currently able to mate with the specified mob. - */ - @Override - public boolean canMateWith(EntityAnimal par1EntityAnimal) - { - if (par1EntityAnimal == this) - { - return false; - } - else if (!this.isTamed()) - { - return false; - } - else if (!(par1EntityAnimal instanceof EntityDesertWolf)) - { - return false; - } - else - { - EntityDesertWolf entitywolf = (EntityDesertWolf)par1EntityAnimal; - return !entitywolf.isTamed() ? false : (entitywolf.isSitting() ? false : this.isInLove() && entitywolf.isInLove()); - } - } - - public boolean func_70922_bv() - { - return this.dataWatcher.getWatchableObjectByte(19) == 1; - } - - @Override - public EntityAgeable createChild(EntityAgeable par1EntityAgeable) - { - return this.spawnBabyAnimal(par1EntityAgeable); - } + return true; + } + + return super.interact(par1EntityPlayer); + } + + @SideOnly(Side.CLIENT) + public void handleHealthUpdate(byte par1) { + if(par1 == 8) { + this.field_70928_h = true; + this.timeWolfIsShaking = 0.0F; + this.prevTimeWolfIsShaking = 0.0F; + } else { + super.handleHealthUpdate(par1); + } + + } + + @SideOnly(Side.CLIENT) + public float getTailRotation() { + return this.isAngry()?1.5393804F:(this.isTamed()?(0.55F - (float)(20 - super.dataWatcher.getWatchableObjectInt(18)) * 0.02F) * 3.1415927F:0.62831855F); + } + + public boolean isBreedingItem(ItemStack par1ItemStack) { + return par1ItemStack == null?false:(!(Item.itemsList[par1ItemStack.itemID] instanceof ItemFood)?false:((ItemFood)Item.itemsList[par1ItemStack.itemID]).isWolfsFavoriteMeat()); + } + + public int getMaxSpawnedInChunk() { + return 8; + } + + public boolean isAngry() { + return (super.dataWatcher.getWatchableObjectByte(16) & 2) != 0; + } + + public void setAngry(boolean par1) { + byte b0 = super.dataWatcher.getWatchableObjectByte(16); + if(par1) { + super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 2))); + } else { + super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -3))); + } + + } + + public int getCollarColor() { + return super.dataWatcher.getWatchableObjectByte(20) & 15; + } + + public void setCollarColor(int par1) { + super.dataWatcher.updateObject(20, Byte.valueOf((byte)(par1 & 15))); + } + + public EntityDesertWolf spawnBabyAnimal(EntityAgeable par1EntityAgeable) { + EntityDesertWolf entitywolf = new EntityDesertWolf(super.worldObj); + String s = this.getOwnerName(); + if(s != null && s.trim().length() > 0) { + entitywolf.setOwner(s); + entitywolf.setTamed(true); + } + + return entitywolf; + } + + public void func_70918_i(boolean par1) { + byte b0 = super.dataWatcher.getWatchableObjectByte(19); + if(par1) { + super.dataWatcher.updateObject(19, Byte.valueOf((byte)1)); + } else { + super.dataWatcher.updateObject(19, Byte.valueOf((byte)0)); + } + + } + + public boolean canMateWith(EntityAnimal par1EntityAnimal) { + if(par1EntityAnimal == this) { + return false; + } else if(!this.isTamed()) { + return false; + } else if(!(par1EntityAnimal instanceof EntityDesertWolf)) { + return false; + } else { + EntityDesertWolf entitywolf = (EntityDesertWolf)par1EntityAnimal; + return !entitywolf.isTamed()?false:(entitywolf.isSitting()?false:this.isInLove() && entitywolf.isInLove()); + } + } + + public boolean func_70922_bv() { + return super.dataWatcher.getWatchableObjectByte(19) == 1; + } + + public EntityAgeable createChild(EntityAgeable par1EntityAgeable) { + return this.spawnBabyAnimal(par1EntityAgeable); + } } diff --git a/common/rebelkeithy/mods/atum/entities/EntityDustySkeleton.java b/common/rebelkeithy/mods/atum/entities/EntityDustySkeleton.java index b36bf04..2449d6d 100644 --- a/common/rebelkeithy/mods/atum/entities/EntityDustySkeleton.java +++ b/common/rebelkeithy/mods/atum/entities/EntityDustySkeleton.java @@ -8,102 +8,54 @@ import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; import net.minecraft.world.World; +import rebelkeithy.mods.atum.entities.IAtumNightMob; -public class EntityDustySkeleton extends EntityMob implements IAtumNightMob -{ +public class EntityDustySkeleton extends EntityMob implements IAtumNightMob { - public EntityDustySkeleton(World par1World) - { + public EntityDustySkeleton(World par1World) { super(par1World); - this.isImmuneToFire = true; - this.experienceValue = 6; + super.isImmuneToFire = true; + super.experienceValue = 6; + this.setHealth(20); } - @Override - public int getMaxHealth() - { - return 20; - } - - @Override - public String getTexture() - { - return "/mods/Atum/textures/mobs/DustySkeleton.png"; - } - - @Override - public boolean attackEntityFrom(DamageSource par1DamageSource, int par2) - { + public boolean attackEntityFrom(DamageSource par1DamageSource, int par2) { return super.attackEntityFrom(par1DamageSource, par2); - } + } + public boolean getCanSpawnHere() { + return super.worldObj.checkNoEntityCollision(super.boundingBox) && super.worldObj.getCollidingBoundingBoxes(this, super.boundingBox).isEmpty() && !super.worldObj.isAnyLiquid(super.boundingBox); + } - /** - * Checks if the entity's current position is a valid location to spawn this entity. - */ - @Override - public boolean getCanSpawnHere() - { - //System.out.println("light level mummy " + this.isValidLightLevel() + " " + super.getCanSpawnHere()); - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - //return true || super.getCanSpawnHere(); - } + protected boolean isValidLightLevel() { + return true; + } - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - @Override - protected boolean isValidLightLevel() - { - return true; - } - - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() - { - return EnumCreatureAttribute.UNDEAD; - } + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEAD; + } - /** - * Returns the amount of damage a mob should deal. - */ - @Override - public int getAttackStrength(Entity par1Entity) - { - ItemStack itemstack = this.getHeldItem(); - float f = (float)(this.getMaxHealth() - this.getHealth()) / (float)this.getMaxHealth(); - int i = 3 + MathHelper.floor_float(f * 4.0F); + public int getAttackStrength(Entity par1Entity) { + ItemStack itemstack = this.getHeldItem(); + float f = (float) (this.getMaxHealth() - this.getHealth()) / (float) this.getMaxHealth(); + int i = 3 + MathHelper.floor_float(f * 4.0F); + if (itemstack != null) { + // i += itemstack.getDamageVsEntity(this, itemstack); + } - if (itemstack != null) - { - i += itemstack.getDamageVsEntity(this); - } + return i; + } - return i; - } + public float getSpeedModifier() { + return this.getSpeedModifier() * 1.5F; + } - @Override - public float getSpeedModifier() - { - return super.getSpeedModifier() * 1.5F; - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param - * par2 - Level of Looting used to kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) - { - switch (this.rand.nextInt(4)) - { - case 0: - int amount = rand.nextInt(2) + 1; - this.dropItem(Item.bone.itemID, amount); - break; - } - } + protected void dropFewItems(boolean par1, int par2) { + switch (super.rand.nextInt(4)) { + case 0: + int amount = super.rand.nextInt(2) + 1; + this.dropItem(Item.bone.itemID, amount); + default: + } + } } diff --git a/common/rebelkeithy/mods/atum/entities/EntityGhost.java b/common/rebelkeithy/mods/atum/entities/EntityGhost.java index 09d95b8..0002654 100644 --- a/common/rebelkeithy/mods/atum/entities/EntityGhost.java +++ b/common/rebelkeithy/mods/atum/entities/EntityGhost.java @@ -11,166 +11,94 @@ import net.minecraft.world.World; import net.minecraftforge.common.ForgeHooks; import rebelkeithy.mods.atum.AtumItems; +import rebelkeithy.mods.atum.entities.IAtumNightMob; + +public class EntityGhost extends EntityMob implements IAtumNightMob { -public class EntityGhost extends EntityMob implements IAtumNightMob -{ private int cycleHeight = 0; private int cycleTime = 100; - public EntityGhost(World par1World) - { + public EntityGhost(World par1World) { super(par1World); - this.experienceValue = 6; - cycleTime = (int) ((Math.random() * 40) + 80); - cycleHeight = (int) (Math.random() * cycleTime); + super.experienceValue = 6; + this.cycleTime = (int) (Math.random() * 40.0D + 80.0D); + this.cycleHeight = (int) (Math.random() * (double) this.cycleTime); + this.setHealth(10); + } + + public boolean isAIEnabled() { + return false; + } + + public float getSpeedModifier() { + return super.entityToAttack == null ? this.getSpeedModifier() * 1.5F : this.getSpeedModifier() * 2.0F; + } + + public void onLivingUpdate() { + this.cycleHeight = (this.cycleHeight + 1) % this.cycleTime; + super.onLivingUpdate(); + } + + public boolean getCanSpawnHere() { + return super.worldObj.checkNoEntityCollision(super.boundingBox) && super.worldObj.getCollidingBoundingBoxes(this, super.boundingBox).isEmpty() && !super.worldObj.isAnyLiquid(super.boundingBox); + } + + protected boolean isValidLightLevel() { + return true; + } + + protected void jump() { + super.motionY = 0.5699999868869782D; + if (this.isPotionActive(Potion.jump)) { + super.motionY += (double) ((float) (this.getActivePotionEffect(Potion.jump).getAmplifier() + 1) * 0.1F); + } + + if (this.isSprinting()) { + float f = super.rotationYaw * 0.017453292F; + super.motionX -= (double) (MathHelper.sin(f) * 0.2F); + super.motionZ += (double) (MathHelper.cos(f) * 0.2F); + } + + super.isAirBorne = true; + ForgeHooks.onLivingJump(this); } - - - /** - * Returns true if the newer Entity AI code should be run - */ - @Override - public boolean isAIEnabled() - { - return false; - } - - @Override - public int getMaxHealth() - { - return 10; + + protected void playStepSound(int par1, int par2, int par3, int par4) { } - @Override - public String getTexture() - { - return "/mods/Atum/textures/mobs/DesertGhost.png"; - } - - @Override - public float getSpeedModifier() - { - if(this.entityToAttack == null) - return super.getSpeedModifier() * 1.5F; - else - return super.getSpeedModifier() * 2F; - } - - - public void onLivingUpdate() - { - cycleHeight = (cycleHeight + 1) % cycleTime; - - super.onLivingUpdate(); - } - - /** - * Checks if the entity's current position is a valid location to spawn this entity. - */ - @Override - public boolean getCanSpawnHere() - { - //System.out.println("light level mummy " + this.isValidLightLevel() + " " + super.getCanSpawnHere()); - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - //return true || super.getCanSpawnHere(); - } - - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - @Override - protected boolean isValidLightLevel() - { - return true; - } - - @Override - protected void jump() - { - this.motionY = 0.56999998688697815D; - - if (this.isPotionActive(Potion.jump)) - { - this.motionY += (double)((float)(this.getActivePotionEffect(Potion.jump).getAmplifier() + 1) * 0.1F); - } - - if (this.isSprinting()) - { - float f = this.rotationYaw * 0.017453292F; - this.motionX -= (double)(MathHelper.sin(f) * 0.2F); - this.motionZ += (double)(MathHelper.cos(f) * 0.2F); - } - - this.isAirBorne = true; - ForgeHooks.onLivingJump(this); - } - - /** - * Plays step sound at given x, y, z for the entity - */ - @Override - protected void playStepSound(int par1, int par2, int par3, int par4) {} - - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() - { - return EnumCreatureAttribute.UNDEAD; - } - - - - @Override - public boolean attackEntityFrom(DamageSource par1DamageSource, int par2) - { + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEAD; + } + + public boolean attackEntityFrom(DamageSource par1DamageSource, int par2) { return super.attackEntityFrom(par1DamageSource, par2); - } - - /** - * Basic mob attack. Default to touch of death in EntityCreature. Overridden by each mob to define their attack. - */ - @Override - protected void attackEntity(Entity par1Entity, float par2) - { - if (this.attackTime <= 0 && par2 < 2.0F && par1Entity.boundingBox.maxY > this.boundingBox.minY && par1Entity.boundingBox.minY < this.boundingBox.maxY) - { - this.attackTime = 20; - this.attackEntityAsMob(par1Entity); - if(Math.random() > 0.75 && par1Entity instanceof EntityLiving) - { - EntityLiving e = (EntityLiving) par1Entity; - e.addPotionEffect(new PotionEffect(2, 100, 2)); - } - } - } - - /** - * Returns the amount of damage a mob should deal. - */ - @Override - public int getAttackStrength(Entity par1Entity) - { - return 2; - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param - * par2 - Level of Looting used to kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) - { - if (this.rand.nextInt(4) == 0) - { - int amount = rand.nextInt(3) + 1; - this.dropItem(AtumItems.ectoplasm.itemID, amount); - } - } + } + + protected void attackEntity(Entity par1Entity, float par2) { + if (super.attackTime <= 0 && par2 < 2.0F && par1Entity.boundingBox.maxY > super.boundingBox.minY && par1Entity.boundingBox.minY < super.boundingBox.maxY) { + super.attackTime = 20; + this.attackEntityAsMob(par1Entity); + if (Math.random() > 0.75D && par1Entity instanceof EntityLiving) { + EntityLiving e = (EntityLiving) par1Entity; + e.addPotionEffect(new PotionEffect(2, 100, 2)); + } + } + } + + public int getAttackStrength(Entity par1Entity) { + return 2; + } + + protected void dropFewItems(boolean par1, int par2) { + if (super.rand.nextInt(4) == 0) { + int amount = super.rand.nextInt(3) + 1; + this.dropItem(AtumItems.ectoplasm.itemID, amount); + } + + } public double getFloatingHeight() { - return Math.cos(2*Math.PI*(cycleHeight / (double)cycleTime)) / 3.0F; + return Math.cos(6.283185307179586D * ((double) this.cycleHeight / (double) this.cycleTime)) / 3.0D; } } diff --git a/common/rebelkeithy/mods/atum/entities/EntityMummy.java b/common/rebelkeithy/mods/atum/entities/EntityMummy.java index debbc8a..a398005 100644 --- a/common/rebelkeithy/mods/atum/entities/EntityMummy.java +++ b/common/rebelkeithy/mods/atum/entities/EntityMummy.java @@ -7,118 +7,69 @@ import net.minecraft.util.DamageSource; import net.minecraft.world.World; import rebelkeithy.mods.atum.AtumItems; +import rebelkeithy.mods.atum.entities.IAtumNightMob; -public class EntityMummy extends EntityMob implements IAtumNightMob -{ +public class EntityMummy extends EntityMob implements IAtumNightMob { - public EntityMummy(World par1World) - { - super(par1World); - this.experienceValue = 8; - } + public EntityMummy(World par1World) { + super(par1World); + super.experienceValue = 8; + this.setHealth(40); + } + @Override + public void entityInit(){ + super.entityInit(); + } + public float getSpeedModifier() { + return this.isBurning() ? this.getSpeedModifier() * 1.4F : this.getSpeedModifier(); + } - @Override - public int getMaxHealth() - { - return 40; - } + public boolean getCanSpawnHere() { + return super.worldObj.checkNoEntityCollision(super.boundingBox) && super.worldObj.getCollidingBoundingBoxes(this, super.boundingBox).isEmpty() && !super.worldObj.isAnyLiquid(super.boundingBox); + } - @Override - public String getTexture() - { - return "/mods/Atum/textures/mobs/Mummy.png"; - } + protected boolean isValidLightLevel() { + return true; + } - @Override - public float getSpeedModifier() - { - if(this.isBurning()) - return super.getSpeedModifier() * 1.4F; - - return super.getSpeedModifier(); - } + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEAD; + } - /** - * Checks if the entity's current position is a valid location to spawn this entity. - */ - @Override - public boolean getCanSpawnHere() - { - //System.out.println("light level mummy " + this.isValidLightLevel() + " " + super.getCanSpawnHere()); - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - //return true || super.getCanSpawnHere(); - } + public boolean attackEntityFrom(DamageSource par1DamageSource, int par2) { + if (par1DamageSource.isFireDamage()) { + ++par2; + } - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - @Override - protected boolean isValidLightLevel() - { - return true; - } + if (this.isBurning()) { + par2 = (int) ((double) par2 * 1.5D); + } - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() - { - return EnumCreatureAttribute.UNDEAD; - } + return super.attackEntityFrom(par1DamageSource, par2); + } - @Override - public boolean attackEntityFrom(DamageSource par1DamageSource, int par2) - { - if(par1DamageSource.isFireDamage()) - { - par2 += 1; - } - if(this.isBurning()) - { - par2 = (int) (par2 * 1.5); - } + public boolean attackEntityAsMob(Entity par1Entity) { + boolean flag = super.attackEntityAsMob(par1Entity); + if (flag && this.isBurning() && super.rand.nextFloat() < (float) super.worldObj.difficultySetting * 0.4F) { + par1Entity.setFire(2 * super.worldObj.difficultySetting); + } - return super.attackEntityFrom(par1DamageSource, par2); - } + return flag; + } - @Override - public boolean attackEntityAsMob(Entity par1Entity) - { - boolean flag = super.attackEntityAsMob(par1Entity); + public int getAttackStrength(Entity par1Entity) { + return 2; + } - if (flag && this.isBurning() && this.rand.nextFloat() < (float)this.worldObj.difficultySetting * 0.4F) - { - par1Entity.setFire(2 * this.worldObj.difficultySetting); - } + protected void dropFewItems(boolean par1, int par2) { + if (super.rand.nextInt(4) == 0) { + this.dropItem(Item.rottenFlesh.itemID, 1); + } - return flag; - } + if (super.rand.nextInt(4) == 0) { + int amount = super.rand.nextInt(2) + 1; + this.dropItem(AtumItems.scrap.itemID, amount); + } - /** - * Returns the amount of damage a mob should deal. - */ - @Override - public int getAttackStrength(Entity par1Entity) - { - return 2; - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param - * par2 - Level of Looting used to kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) - { - if(rand.nextInt(4) == 0) - { - this.dropItem(Item.rottenFlesh.itemID, 1); - } - if(rand.nextInt(4) == 0) - { - int amount = rand.nextInt(2) + 1; - this.dropItem(AtumItems.scrap.itemID, amount); - } - } + } } diff --git a/common/rebelkeithy/mods/atum/entities/EntityPharaoh.java b/common/rebelkeithy/mods/atum/entities/EntityPharaoh.java index 14f86db..2511add 100644 --- a/common/rebelkeithy/mods/atum/entities/EntityPharaoh.java +++ b/common/rebelkeithy/mods/atum/entities/EntityPharaoh.java @@ -1,12 +1,12 @@ package rebelkeithy.mods.atum.entities; import java.util.List; -import java.util.Random; import net.minecraft.block.Block; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingData; import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.boss.IBossDisplayData; import net.minecraft.entity.monster.EntityMob; @@ -25,449 +25,358 @@ import rebelkeithy.mods.atum.cursedchest.TileEntityPharaohChest; import cpw.mods.fml.common.FMLCommonHandler; -public class EntityPharaoh extends EntityMob implements IBossDisplayData -{ - int linkedX; - int linkedY; - int linkedZ; - - int stage; - - public static String[] prefix = { "Ama'", "Ata'", "Ato'", "Bak'", "Cal'", "Djet'", "Eje'", "For'", "Gol'", "Gut'", "Hop'", "Hor'", "Huni'", "Iam'", "Jor'", "Kal'", "Khas'", "Khor'", "Lat'", "Mal'", "Not'", "Oap'", "Pra'", "Qo'", - "Ras'", "Shas'", "Thoth'", "Tui'", "Uld'", "Ver'", "Wot'", "Xo'", "Yat'", "Zyt'", "Khep'" }; - public static String[] suffix = { "Ahat", "Amesh", "Amon", "Anut", "Baroom", "Chanta", "Erant", "Funam", "Daresh", "Djer", "Hotesh", "Khaden", "Kron", "Gorkum", "Ialenter", "Ma'at", "Narmer", "Radeem", "Jaloom", "Lepsha", "Quor", - "Oleshet", "Peput", "Talat", "Ulam", "Veresh", "Ranesh", "Snef", "Wollolo", "Hathor", "Intef", "Neferk", "Khatne", "Tepy", "Moret" }; - public static String[] numeral = { "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII", "XIII", "XIV", "XV" }; - - private int suffixID = 0; - private int prefixID = 0; - private int numID = 0; - private int regenTime = 0; - - public EntityPharaoh(World par1World) - { - super(par1World); - this.experienceValue = 250; - Random rand = new Random(); - stage = 0; - } - - public void setName(int par1, int par2, int par3) - { - suffixID = par1; - prefixID = par2; - numID = par3; - this.dataWatcher.updateObject(18, new Integer(suffixID)); - this.dataWatcher.updateObject(19, new Integer(prefixID)); - this.dataWatcher.updateObject(20, new Integer(numID)); - } - - @Override - public void initCreature() - { - super.initCreature(); - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.scepter)); - - for (int i = 0; i < this.equipmentDropChances.length; ++i) - { - this.equipmentDropChances[i] = 0F; - } - } - - public void link(int x, int y, int z) - { - linkedX = x; - linkedY = y; - linkedZ = z; - } - - /** - * Makes the entity despawn if requirements are reached - */ - protected void despawnEntity() - {} - - @Override - public void onDeath(DamageSource par1DamageSource) - { - super.onDeath(par1DamageSource); - - if (par1DamageSource.damageType == "player") - { - EntityPlayer slayer = (EntityPlayer) par1DamageSource.getEntity(); - if (!worldObj.isRemote) - { - List players = FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList; - for (EntityPlayer player : players) - { - player.sendChatToPlayer(this.getEntityName() + " was slain by " + slayer.getEntityName()); - } - } - } - - if (linkedX != 0 && linkedY != 0 && linkedZ != 0) - { - TileEntity te = worldObj.getBlockTileEntity(linkedX, linkedY, linkedZ); - if (te != null) - { - if (te instanceof TileEntityPharaohChest) - { - TileEntityPharaohChest tepc = (TileEntityPharaohChest) te; - tepc.setOpenable(); - } - } - } - } - - @Override - public int getMaxHealth() - { - return 300; - } - - @Override - public String getEntityName() - { - try - { - int s = this.dataWatcher.getWatchableObjectInt(18); - int p = this.dataWatcher.getWatchableObjectInt(19); - int n = this.dataWatcher.getWatchableObjectInt(20); - return "Pharaoh " + prefix[p] + suffix[s] + " " + numeral[n]; - } catch (Exception e) - { - return ""; - } - - } - - @Override - public String getTexture() - { - return "/mods/Atum/textures/mobs/PharaohBlue.png"; - } - - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() - { - return EnumCreatureAttribute.UNDEAD; - } - - @Override - public float getSpeedModifier() - { - return super.getSpeedModifier(); - } - - /** - * knocks back this entity - */ - @Override - public void knockBack(Entity par1Entity, int par2, double par3, double par5) - { - this.isAirBorne = true; - float f = MathHelper.sqrt_double(par3 * par3 + par5 * par5); - float f1 = 0.3F; - this.motionX /= 2.0D; - this.motionY /= 2.0D; - this.motionZ /= 2.0D; - this.motionX -= par3 / (double) f * (double) f1; - // this.motionY += (double)f1; - this.motionZ -= par5 / (double) f * (double) f1; - - if (this.motionY > 0.4000000059604645D) - { - this.motionY = 0.4000000059604645D; - } - } - - @Override - public boolean attackEntityFrom(DamageSource par1DamageSource, int par2) - { - if (par1DamageSource.isFireDamage()) - { - par2 = 0; - } - - if (super.attackEntityFrom(par1DamageSource, par2)) - { - if (par1DamageSource.getEntity() != null) - { - Entity par1Entity = par1DamageSource.getEntity(); - int j = 0; - if (par1Entity instanceof EntityLiving) - { - j += EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, this); - - if (j > 0) - { - this.motionX /= 0.6D; - this.motionZ /= 0.6D; - this.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), -0.1D, - (double) (-MathHelper.cos(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); - } - } - - } - - if (this.getHealth() < this.getMaxHealth() * 0.75 && stage == 0) - { - stage++; - spawnGuards(); - } else if (stage == 1 && this.getHealth() < this.getMaxHealth() * 0.5) - { - stage++; - spawnGuards(); - } else if (stage == 2 && this.getHealth() < this.getMaxHealth() * 0.25) - { - stage++; - spawnGuards(); - } - return true; - } - - return false; - } - - /** - * Destroys all blocks that aren't associated with 'The End' inside the given bounding box. - */ - private boolean destroyBlocksInAABB(AxisAlignedBB par1AxisAlignedBB) - { - int minX = MathHelper.floor_double(par1AxisAlignedBB.minX); - int minY = MathHelper.floor_double(par1AxisAlignedBB.minY); - int minZ = MathHelper.floor_double(par1AxisAlignedBB.minZ); - int maxX = MathHelper.floor_double(par1AxisAlignedBB.maxX); - int maxY = MathHelper.floor_double(par1AxisAlignedBB.maxY); - int maxZ = MathHelper.floor_double(par1AxisAlignedBB.maxZ); - boolean flag = false; - boolean flag1 = false; - - for (int x = minX; x <= maxX; ++x) - { - for (int y = minY; y <= maxY; ++y) - { - for (int z = minZ; z <= maxZ; ++z) - { - int id = this.worldObj.getBlockId(x, y, z); - int metadata = this.worldObj.getBlockMetadata(x, y, z); - Block block = Block.blocksList[id]; - - if (block != null) - { - if (id != AtumBlocks.largeBrick.blockID && id != AtumBlocks.pharaohChest.blockID && Block.blocksList[id].isBlockSolid(worldObj, x, y, z, 0)) - { - Block.blocksList[id].dropBlockAsItem(worldObj, x, y, z, metadata, 0); - flag1 = this.worldObj.setBlockToAir(x, y, z) || flag1; - } - - flag = true; - } - } - } - } - - if (flag1) - { - System.out.println("explode"); - double d0 = par1AxisAlignedBB.minX + (par1AxisAlignedBB.maxX - par1AxisAlignedBB.minX) * (double)this.rand.nextFloat(); - double d1 = par1AxisAlignedBB.minY + (par1AxisAlignedBB.maxY - par1AxisAlignedBB.minY) * (double)this.rand.nextFloat(); - double d2 = par1AxisAlignedBB.minZ + (par1AxisAlignedBB.maxZ - par1AxisAlignedBB.minZ) * (double)this.rand.nextFloat(); - this.worldObj.spawnParticle("largeexplode", d0, d1, d2, 0.0D, 0.0D, 0.0D); - } - - return flag; - } - - private void spawnGuards() - { - int numSpawned = 0; - - if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ)) - { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ - 1)) - { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX, (int) posY, (int) posZ + 1)) - { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX, (int) posY, (int) posZ - 1)) - { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ + 1)) - { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ - 1)) - { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ + 1)) - { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ - 1)) - { - numSpawned++; - } - if (numSpawned >= 2) - return; - - } - - public boolean trySpawnMummy(int x, int y, int z) - { - EntityMummy mummy1 = new EntityMummy(worldObj); - mummy1.setPosition(x, y, z); - if (mummy1.getCanSpawnHere()) - { - if (!worldObj.isRemote) - worldObj.spawnEntityInWorld(mummy1); - mummy1.spawnExplosionParticle(); - return true; - } - - return false; - } - - /** - * Returns the amount of damage a mob should deal. - */ - @Override - public int getAttackStrength(Entity par1Entity) - { - return 4; - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - @Override - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeEntityToNBT(par1NBTTagCompound); - par1NBTTagCompound.setInteger("suffix", dataWatcher.getWatchableObjectInt(18)); - par1NBTTagCompound.setInteger("prefix", dataWatcher.getWatchableObjectInt(19)); - par1NBTTagCompound.setInteger("numeral", dataWatcher.getWatchableObjectInt(20)); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - @Override - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readEntityFromNBT(par1NBTTagCompound); - this.dataWatcher.updateObject(16, Integer.valueOf(this.health)); - suffixID = par1NBTTagCompound.getInteger("suffix"); - prefixID = par1NBTTagCompound.getInteger("prefix"); - numID = par1NBTTagCompound.getInteger("numeral"); - this.dataWatcher.updateObject(18, new Integer(suffixID)); - this.dataWatcher.updateObject(19, new Integer(prefixID)); - this.dataWatcher.updateObject(20, new Integer(numID)); - } - - @Override - protected void entityInit() - { - super.entityInit(); - this.dataWatcher.addObject(16, new Integer(100)); - if (suffixID == 0 && prefixID == 0 && numID == 0) - { - suffixID = rand.nextInt(suffix.length); - prefixID = rand.nextInt(prefix.length); - numID = rand.nextInt(numeral.length); - } - this.dataWatcher.addObject(18, new Integer(suffixID)); - this.dataWatcher.addObject(19, new Integer(prefixID)); - this.dataWatcher.addObject(20, new Integer(numID)); - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() - { - super.onUpdate(); - - if (!this.worldObj.isRemote && this.worldObj.difficultySetting == 0) - { - TileEntity te = worldObj.getBlockTileEntity(linkedX, linkedY, linkedZ); - if (te instanceof TileEntityPharaohChest) - { - ((TileEntityPharaohChest) te).setPharaohDespawned(); - } - this.setDead(); - } - } - - @Override - public void onLivingUpdate() - { - if (!this.worldObj.isRemote) - { - this.dataWatcher.updateObject(16, Integer.valueOf(this.health)); - } - - if (regenTime++ > 20) - { - regenTime = 0; - this.heal(1); - } - - super.onLivingUpdate(); - - if(!worldObj.isRemote) - this.destroyBlocksInAABB(this.boundingBox.expand(0.1, 0, 0.1)); - } - - @Override - public int getBossHealth() - { - return this.dataWatcher.getWatchableObjectInt(16); - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity - * has recently been hit by a player. @param par2 - Level of Looting used to - * kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) - { - int amount = rand.nextInt(2) + 1; - this.dropItem(Item.ingotGold.itemID, amount); - - this.entityDropItem(AtumLoot.getRandomArtifact(), 0.0F); - - } -} +public class EntityPharaoh extends EntityMob implements IBossDisplayData { + int linkedX; + int linkedY; + int linkedZ; + + int stage; + + public static String[] prefix = { "Ama'", "Ata'", "Ato'", "Bak'", "Cal'", "Djet'", "Eje'", "For'", "Gol'", "Gut'", "Hop'", "Hor'", "Huni'", "Iam'", "Jor'", "Kal'", "Khas'", "Khor'", "Lat'", "Mal'", "Not'", "Oap'", "Pra'", "Qo'", "Ras'", "Shas'", "Thoth'", "Tui'", "Uld'", "Ver'", "Wot'", "Xo'", "Yat'", "Zyt'", "Khep'" }; + public static String[] suffix = { "Ahat", "Amesh", "Amon", "Anut", "Baroom", "Chanta", "Erant", "Funam", "Daresh", "Djer", "Hotesh", "Khaden", "Kron", "Gorkum", "Ialenter", "Ma'at", "Narmer", "Radeem", "Jaloom", "Lepsha", "Quor", "Oleshet", "Peput", "Talat", "Ulam", "Veresh", "Ranesh", "Snef", "Wollolo", "Hathor", "Intef", "Neferk", "Khatne", "Tepy", "Moret" }; + public static String[] numeral = { "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII", "XIII", "XIV", "XV" }; + + private int suffixID = 0; + private int prefixID = 0; + private int numID = 0; + private int regenTime = 0; + + public EntityPharaoh(World par1World) { + super(par1World); + this.experienceValue = 250; + stage = 0; + this.setHealth(300); + } + + public void setName(int par1, int par2, int par3) { + suffixID = par1; + prefixID = par2; + numID = par3; + this.dataWatcher.updateObject(18, new Integer(suffixID)); + this.dataWatcher.updateObject(19, new Integer(prefixID)); + this.dataWatcher.updateObject(20, new Integer(numID)); + } + + public void link(int x, int y, int z) { + linkedX = x; + linkedY = y; + linkedZ = z; + } + + /** + * Makes the entity despawn if requirements are reached + */ + protected void despawnEntity() { + } + + @Override + public void onDeath(DamageSource par1DamageSource) { + super.onDeath(par1DamageSource); + + if (par1DamageSource.damageType == "player") { + EntityPlayer slayer = (EntityPlayer) par1DamageSource.getEntity(); + if (!worldObj.isRemote) { + List players = FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList; + for (EntityPlayer player : players) { + player.addChatMessage(this.getEntityName() + " was slain by " + slayer.getEntityName()); + } + } + } + + if (linkedX != 0 && linkedY != 0 && linkedZ != 0) { + TileEntity te = worldObj.getBlockTileEntity(linkedX, linkedY, linkedZ); + if (te != null) { + if (te instanceof TileEntityPharaohChest) { + TileEntityPharaohChest tepc = (TileEntityPharaohChest) te; + tepc.setOpenable(); + } + } + } + } + + @Override + public String getEntityName() { + try { + int s = this.dataWatcher.getWatchableObjectInt(18); + int p = this.dataWatcher.getWatchableObjectInt(19); + int n = this.dataWatcher.getWatchableObjectInt(20); + return "Pharaoh " + prefix[p] + suffix[s] + " " + numeral[n]; + } catch (Exception e) { + return ""; + } + + } + + /** + * Get this Entity's EnumCreatureAttribute + */ + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEAD; + } + + /** + * knocks back this entity + */ + @Override + public void knockBack(Entity par1Entity, float par2, double par3, double par5) { + this.isAirBorne = true; + float f = MathHelper.sqrt_double(par3 * par3 + par5 * par5); + float f1 = 0.3F; + this.motionX /= 2.0D; + this.motionY /= 2.0D; + this.motionZ /= 2.0D; + this.motionX -= par3 / (double) f * (double) f1; + // this.motionY += (double)f1; + this.motionZ -= par5 / (double) f * (double) f1; + + if (this.motionY > 0.4000000059604645D) { + this.motionY = 0.4000000059604645D; + } + } + + @Override + public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { + if (par1DamageSource.isFireDamage()) { + par2 = 0; + } + + if (super.attackEntityFrom(par1DamageSource, par2)) { + if (par1DamageSource.getEntity() != null) { + Entity par1Entity = par1DamageSource.getEntity(); + int j = 0; + if (par1Entity instanceof EntityLiving) { + j += EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, this); + + if (j > 0) { + this.motionX /= 0.6D; + this.motionZ /= 0.6D; + this.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), -0.1D, (double) (-MathHelper.cos(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); + } + } + + } + + if (this.getHealth() < this.getMaxHealth() * 0.75 && stage == 0) { + stage++; + spawnGuards(); + } else if (stage == 1 && this.getHealth() < this.getMaxHealth() * 0.5) { + stage++; + spawnGuards(); + } else if (stage == 2 && this.getHealth() < this.getMaxHealth() * 0.25) { + stage++; + spawnGuards(); + } + return true; + } + + return false; + } + + /** + * Destroys all blocks that aren't associated with 'The End' inside the + * given bounding box. + */ + private boolean destroyBlocksInAABB(AxisAlignedBB par1AxisAlignedBB) { + int minX = MathHelper.floor_double(par1AxisAlignedBB.minX); + int minY = MathHelper.floor_double(par1AxisAlignedBB.minY); + int minZ = MathHelper.floor_double(par1AxisAlignedBB.minZ); + int maxX = MathHelper.floor_double(par1AxisAlignedBB.maxX); + int maxY = MathHelper.floor_double(par1AxisAlignedBB.maxY); + int maxZ = MathHelper.floor_double(par1AxisAlignedBB.maxZ); + boolean flag = false; + boolean flag1 = false; + + for (int x = minX; x <= maxX; ++x) { + for (int y = minY; y <= maxY; ++y) { + for (int z = minZ; z <= maxZ; ++z) { + int id = this.worldObj.getBlockId(x, y, z); + int metadata = this.worldObj.getBlockMetadata(x, y, z); + Block block = Block.blocksList[id]; + + if (block != null) { + if (id != AtumBlocks.largeBrick.blockID && id != AtumBlocks.pharaohChest.blockID && Block.blocksList[id].isBlockSolid(worldObj, x, y, z, 0)) { + Block.blocksList[id].dropBlockAsItem(worldObj, x, y, z, metadata, 0); + flag1 = this.worldObj.setBlockToAir(x, y, z) || flag1; + } + + flag = true; + } + } + } + } + + if (flag1) { + System.out.println("explode"); + double d0 = par1AxisAlignedBB.minX + (par1AxisAlignedBB.maxX - par1AxisAlignedBB.minX) * (double) this.rand.nextFloat(); + double d1 = par1AxisAlignedBB.minY + (par1AxisAlignedBB.maxY - par1AxisAlignedBB.minY) * (double) this.rand.nextFloat(); + double d2 = par1AxisAlignedBB.minZ + (par1AxisAlignedBB.maxZ - par1AxisAlignedBB.minZ) * (double) this.rand.nextFloat(); + this.worldObj.spawnParticle("largeexplode", d0, d1, d2, 0.0D, 0.0D, 0.0D); + } + + return flag; + } + + private void spawnGuards() { + int numSpawned = 0; + + if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ - 1)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + if (trySpawnMummy((int) posX, (int) posY, (int) posZ + 1)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + if (trySpawnMummy((int) posX, (int) posY, (int) posZ - 1)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ + 1)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ - 1)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ + 1)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ - 1)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + } + + public boolean trySpawnMummy(int x, int y, int z) { + EntityMummy mummy1 = new EntityMummy(worldObj); + mummy1.setPosition(x, y, z); + if (mummy1.getCanSpawnHere()) { + if (!worldObj.isRemote) + worldObj.spawnEntityInWorld(mummy1); + mummy1.spawnExplosionParticle(); + return true; + } + + return false; + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + @Override + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + super.writeEntityToNBT(par1NBTTagCompound); + par1NBTTagCompound.setInteger("suffix", dataWatcher.getWatchableObjectInt(18)); + par1NBTTagCompound.setInteger("prefix", dataWatcher.getWatchableObjectInt(19)); + par1NBTTagCompound.setInteger("numeral", dataWatcher.getWatchableObjectInt(20)); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + @Override + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + super.readEntityFromNBT(par1NBTTagCompound); + this.dataWatcher.updateObject(16, this.getHealth()); + suffixID = par1NBTTagCompound.getInteger("suffix"); + prefixID = par1NBTTagCompound.getInteger("prefix"); + numID = par1NBTTagCompound.getInteger("numeral"); + this.dataWatcher.updateObject(18, new Integer(suffixID)); + this.dataWatcher.updateObject(19, new Integer(prefixID)); + this.dataWatcher.updateObject(20, new Integer(numID)); + } + + @Override + public EntityLivingData onSpawnWithEgg(EntityLivingData par1EntityLivingData) { + par1EntityLivingData = super.onSpawnWithEgg(par1EntityLivingData); + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.scepter)); + for (int i = 0; i < this.equipmentDropChances.length; ++i) { + super.equipmentDropChances[i] = 0F; + } + return par1EntityLivingData; + } + + @Override + public void entityInit() { + super.entityInit(); + this.dataWatcher.addObject(16, new Integer(100)); + if (suffixID == 0 && prefixID == 0 && numID == 0) { + suffixID = rand.nextInt(suffix.length); + prefixID = rand.nextInt(prefix.length); + numID = rand.nextInt(numeral.length); + } + this.dataWatcher.addObject(18, new Integer(suffixID)); + this.dataWatcher.addObject(19, new Integer(prefixID)); + this.dataWatcher.addObject(20, new Integer(numID)); + + } + + /** + * Called to update the entity's position/logic. + */ + public void onUpdate() { + super.onUpdate(); + + if (!this.worldObj.isRemote && this.worldObj.difficultySetting == 0) { + TileEntity te = worldObj.getBlockTileEntity(linkedX, linkedY, linkedZ); + if (te instanceof TileEntityPharaohChest) { + ((TileEntityPharaohChest) te).setPharaohDespawned(); + } + this.setDead(); + } + } + + @Override + public void onLivingUpdate() { + if (!this.worldObj.isRemote) { + this.dataWatcher.updateObject(16, this.getHealth()); + } + + if (regenTime++ > 30) { + regenTime = 0; + this.heal(1); + } + + super.onLivingUpdate(); + + if (!worldObj.isRemote) + this.destroyBlocksInAABB(this.boundingBox.expand(0.1, 0, 0.1)); + } + + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + int amount = rand.nextInt(2) + 1; + this.dropItem(Item.ingotGold.itemID, amount); + + this.entityDropItem(AtumLoot.getRandomArtifact(), 0.0F); + + } +} \ No newline at end of file diff --git a/common/rebelkeithy/mods/atum/entities/EntityStone.java b/common/rebelkeithy/mods/atum/entities/EntityStone.java index b89889b..e190c12 100644 --- a/common/rebelkeithy/mods/atum/entities/EntityStone.java +++ b/common/rebelkeithy/mods/atum/entities/EntityStone.java @@ -1,35 +1,19 @@ package rebelkeithy.mods.atum.entities; -import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.monster.EntityMob; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.world.World; -public class EntityStone extends EntityMob -{ +public class EntityStone extends EntityMob { - public EntityStone(World par1World) - { - super(par1World); - } + public EntityStone(World par1World) { + super(par1World); + this.setHealth(10); + } - @Override - public int getMaxHealth() - { - return 10; - } - - - public boolean isPotionApplicable(PotionEffect par1PotionEffect) - { - int i = par1PotionEffect.getPotionID(); - - if (i == Potion.poison.id) - { - return false; - } - - return true; - } + public boolean isPotionApplicable(PotionEffect par1PotionEffect) { + int i = par1PotionEffect.getPotionID(); + return i != Potion.poison.id; + } } diff --git a/common/rebelkeithy/mods/atum/entities/EntityStoneSoldier.java b/common/rebelkeithy/mods/atum/entities/EntityStoneSoldier.java index 03d1d3f..1f91b86 100644 --- a/common/rebelkeithy/mods/atum/entities/EntityStoneSoldier.java +++ b/common/rebelkeithy/mods/atum/entities/EntityStoneSoldier.java @@ -4,151 +4,94 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EnumCreatureAttribute; -import net.minecraft.entity.monster.EntityMob; import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import rebelkeithy.mods.atum.AtumItems; +import rebelkeithy.mods.atum.entities.EntityStone; +import rebelkeithy.mods.atum.entities.IAtumDayMob; +import rebelkeithy.mods.atum.entities.IAtumNightMob; -public class EntityStoneSoldier extends EntityStone implements IAtumNightMob, IAtumDayMob -{ +public class EntityStoneSoldier extends EntityStone implements IAtumNightMob, IAtumDayMob { - public EntityStoneSoldier(World par1World) - { + public EntityStoneSoldier(World par1World) { super(par1World); - this.isImmuneToFire = true; - this.experienceValue = 8; + super.isImmuneToFire = true; + super.experienceValue = 8; + this.setHealth(80); } - @Override - public int getMaxHealth() - { - return 80; + public void initCreature() { + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.stoneSoldierSword)); + + for (int i = 0; i < super.equipmentDropChances.length; ++i) { + super.equipmentDropChances[i] = 0.0F; + } + + } + + public float getSpeedModifier() { + return this.getSpeedModifier() * 0.5F; + } + + public boolean getCanSpawnHere() { + return super.worldObj.checkNoEntityCollision(super.boundingBox) && super.worldObj.getCollidingBoundingBoxes(this, super.boundingBox).isEmpty() && !super.worldObj.isAnyLiquid(super.boundingBox); + } + + protected boolean isValidLightLevel() { + return true; } - @Override - public void initCreature() - { - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.stoneSoldierSword)); - - for (int i = 0; i < this.equipmentDropChances.length; ++i) - { - this.equipmentDropChances[i] = 0F; - } - } - - @Override - public String getTexture() - { - return "/mods/Atum/textures/mobs/StoneSoldier.png"; - } - - @Override - public float getSpeedModifier() - { - return super.getSpeedModifier() * 0.5F; - } - - /** - * Checks if the entity's current position is a valid location to spawn this entity. - */ - @Override - public boolean getCanSpawnHere() - { - //System.out.println("light level mummy " + this.isValidLightLevel() + " " + super.getCanSpawnHere()); - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - //return true || super.getCanSpawnHere(); - } - - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - @Override - protected boolean isValidLightLevel() - { - return true; - } - - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() - { - return EnumCreatureAttribute.UNDEFINED; - } - - @Override - public boolean attackEntityFrom(DamageSource par1DamageSource, int par2) - { - if(super.attackEntityFrom(par1DamageSource, par2)) - { - if(par1DamageSource.getEntity() != null) - { + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } + + public boolean attackEntityFrom(DamageSource par1DamageSource, int par2) { + if (super.attackEntityFrom(par1DamageSource, par2)) { + if (par1DamageSource.getEntity() != null) { Entity par1Entity = par1DamageSource.getEntity(); - int j = 0; - if (par1Entity instanceof EntityLiving) - { - j += EnchantmentHelper.getKnockbackModifier((EntityLiving)par1Entity, this); - - if (j > 0) - { - this.motionX /= 0.6D; - this.motionZ /= 0.6D; - this.addVelocity((double)(MathHelper.sin(par1Entity.rotationYaw * (float)Math.PI / 180.0F) * (float)j * 0.5F), -0.1D, (double)(-MathHelper.cos(par1Entity.rotationYaw * (float)Math.PI / 180.0F) * (float)j * 0.5F)); - } - } - + byte j = 0; + if (par1Entity instanceof EntityLiving) { + int j1 = j + EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, this); + if (j1 > 0) { + super.motionX /= 0.6D; + super.motionZ /= 0.6D; + this.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * 3.1415927F / 180.0F) * (float) j1 * 0.5F), -0.1D, (double) (-MathHelper.cos(par1Entity.rotationYaw * 3.1415927F / 180.0F) * (float) j1 * 0.5F)); + } + } } - return true; + + return true; + } else { + return false; } - - return false; - } - - /** - * knocks back this entity - */ - @Override - public void knockBack(Entity par1Entity, int par2, double par3, double par5) - { - this.isAirBorne = true; - float f = MathHelper.sqrt_double(par3 * par3 + par5 * par5); - float f1 = 0.2F; - this.motionX /= 2.0D; - this.motionY /= 2.0D; - this.motionZ /= 2.0D; - this.motionX -= par3 / (double)f * (double)f1; - //this.motionY += (double)f1; - this.motionZ -= par5 / (double)f * (double)f1; - - if (this.motionY > 0.4000000059604645D) - { - this.motionY = 0.4000000059604645D; - } - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param - * par2 - Level of Looting used to kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) - { - if (this.rand.nextInt(4) == 0) - { - int amount = rand.nextInt(2) + 1; - this.dropItem(AtumItems.stoneChunk.itemID, amount); - } - } - - /** - * Returns the amount of damage a mob should deal. - */ - @Override - public int getAttackStrength(Entity par1Entity) - { - return 4; - } + } + + public void knockBack(Entity par1Entity, int par2, double par3, double par5) { + super.isAirBorne = true; + float f = MathHelper.sqrt_double(par3 * par3 + par5 * par5); + float f1 = 0.2F; + super.motionX /= 2.0D; + super.motionY /= 2.0D; + super.motionZ /= 2.0D; + super.motionX -= par3 / (double) f * (double) f1; + super.motionZ -= par5 / (double) f * (double) f1; + if (super.motionY > 0.4000000059604645D) { + super.motionY = 0.4000000059604645D; + } + + } + + protected void dropFewItems(boolean par1, int par2) { + if (super.rand.nextInt(4) == 0) { + int amount = super.rand.nextInt(2) + 1; + this.dropItem(AtumItems.stoneChunk.itemID, amount); + } + + } + + public int getAttackStrength(Entity par1Entity) { + return 4; + } } diff --git a/common/rebelkeithy/mods/atum/entities/IAtumDayMob.java b/common/rebelkeithy/mods/atum/entities/IAtumDayMob.java index de980aa..76a4e3b 100644 --- a/common/rebelkeithy/mods/atum/entities/IAtumDayMob.java +++ b/common/rebelkeithy/mods/atum/entities/IAtumDayMob.java @@ -1,5 +1,5 @@ package rebelkeithy.mods.atum.entities; -public interface IAtumDayMob -{ + +public interface IAtumDayMob { } diff --git a/common/rebelkeithy/mods/atum/entities/IAtumNightMob.java b/common/rebelkeithy/mods/atum/entities/IAtumNightMob.java index 0373dbc..5065e94 100644 --- a/common/rebelkeithy/mods/atum/entities/IAtumNightMob.java +++ b/common/rebelkeithy/mods/atum/entities/IAtumNightMob.java @@ -1,5 +1,5 @@ package rebelkeithy.mods.atum.entities; -public interface IAtumNightMob { +public interface IAtumNightMob { } diff --git a/common/rebelkeithy/mods/atum/entities/ModelDesertWolf.java b/common/rebelkeithy/mods/atum/entities/ModelDesertWolf.java index dffc5e6..15e2948 100644 --- a/common/rebelkeithy/mods/atum/entities/ModelDesertWolf.java +++ b/common/rebelkeithy/mods/atum/entities/ModelDesertWolf.java @@ -1,187 +1,142 @@ package rebelkeithy.mods.atum.entities; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.passive.EntityWolf; import net.minecraft.util.MathHelper; - import org.lwjgl.opengl.GL11; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import rebelkeithy.mods.atum.entities.EntityDesertWolf; @SideOnly(Side.CLIENT) -public class ModelDesertWolf extends ModelBase -{ - /** main box for the wolf head */ - public ModelRenderer wolfHeadMain; - - /** The wolf's body */ - public ModelRenderer wolfBody; - - /** Wolf'se first leg */ - public ModelRenderer wolfLeg1; - - /** Wolf's second leg */ - public ModelRenderer wolfLeg2; - - /** Wolf's third leg */ - public ModelRenderer wolfLeg3; - - /** Wolf's fourth leg */ - public ModelRenderer wolfLeg4; - - /** The wolf's tail */ - ModelRenderer wolfTail; - - /** The wolf's mane */ - ModelRenderer wolfMane; - - public ModelDesertWolf() - { - float f = 0.0F; - float f1 = 13.5F; - this.wolfHeadMain = new ModelRenderer(this, 0, 0); - this.wolfHeadMain.addBox(-3.0F, -3.0F, -2.0F, 6, 6, 4, f); - this.wolfHeadMain.setRotationPoint(-1.0F, f1, -7.0F); - this.wolfBody = new ModelRenderer(this, 18, 14); - this.wolfBody.addBox(-4.0F, -2.0F, -3.0F, 6, 9, 6, f); - this.wolfBody.setRotationPoint(0.0F, 14.0F, 2.0F); - this.wolfMane = new ModelRenderer(this, 21, 0); - this.wolfMane.addBox(-4.0F, -3.0F, -3.0F, 8, 6, 7, f); - this.wolfMane.setRotationPoint(-1.0F, 14.0F, 2.0F); - this.wolfLeg1 = new ModelRenderer(this, 0, 18); - this.wolfLeg1.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); - this.wolfLeg1.setRotationPoint(-2.5F, 16.0F, 7.0F); - this.wolfLeg2 = new ModelRenderer(this, 0, 18); - this.wolfLeg2.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); - this.wolfLeg2.setRotationPoint(0.5F, 16.0F, 7.0F); - this.wolfLeg3 = new ModelRenderer(this, 0, 18); - this.wolfLeg3.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); - this.wolfLeg3.setRotationPoint(-2.5F, 16.0F, -4.0F); - this.wolfLeg4 = new ModelRenderer(this, 0, 18); - this.wolfLeg4.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); - this.wolfLeg4.setRotationPoint(0.5F, 16.0F, -4.0F); - this.wolfTail = new ModelRenderer(this, 9, 18); - this.wolfTail.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); - this.wolfTail.setRotationPoint(-1.0F, 12.0F, 8.0F); - this.wolfHeadMain.setTextureOffset(16, 14).addBox(-3.0F, -5.0F, 0.0F, 2, 2, 1, f); - this.wolfHeadMain.setTextureOffset(16, 14).addBox(1.0F, -5.0F, 0.0F, 2, 2, 1, f); - this.wolfHeadMain.setTextureOffset(0, 10).addBox(-1.5F, 0.0F, -5.0F, 3, 3, 4, f); - } - - /** - * Sets the models various rotation angles then renders the model. - */ - @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) - { - super.render(par1Entity, par2, par3, par4, par5, par6, par7); - this.setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); - - if (this.isChild) - { - float f6 = 2.0F; - GL11.glPushMatrix(); - GL11.glTranslatef(0.0F, 5.0F * par7, 2.0F * par7); - this.wolfHeadMain.renderWithRotation(par7); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(1.0F / f6, 1.0F / f6, 1.0F / f6); - GL11.glTranslatef(0.0F, 24.0F * par7, 0.0F); - this.wolfBody.render(par7); - this.wolfLeg1.render(par7); - this.wolfLeg2.render(par7); - this.wolfLeg3.render(par7); - this.wolfLeg4.render(par7); - this.wolfTail.renderWithRotation(par7); - this.wolfMane.render(par7); - GL11.glPopMatrix(); - } - else - { - this.wolfHeadMain.renderWithRotation(par7); - this.wolfBody.render(par7); - this.wolfLeg1.render(par7); - this.wolfLeg2.render(par7); - this.wolfLeg3.render(par7); - this.wolfLeg4.render(par7); - this.wolfTail.renderWithRotation(par7); - this.wolfMane.render(par7); - } - } - - /** - * Used for easily adding entity-dependent animations. The second and third float params here are the same second - * and third as in the setRotationAngles method. - */ - @Override - public void setLivingAnimations(EntityLiving par1EntityLiving, float par2, float par3, float par4) - { - EntityDesertWolf entitywolf = (EntityDesertWolf)par1EntityLiving; - - if (entitywolf.isAngry()) - { - this.wolfTail.rotateAngleY = 0.0F; - } - else - { - this.wolfTail.rotateAngleY = MathHelper.cos(par2 * 0.6662F) * 1.4F * par3; - } - - if (entitywolf.isSitting()) - { - this.wolfMane.setRotationPoint(-1.0F, 16.0F, -3.0F); - this.wolfMane.rotateAngleX = ((float)Math.PI * 2F / 5F); - this.wolfMane.rotateAngleY = 0.0F; - this.wolfBody.setRotationPoint(0.0F, 18.0F, 0.0F); - this.wolfBody.rotateAngleX = ((float)Math.PI / 4F); - this.wolfTail.setRotationPoint(-1.0F, 21.0F, 6.0F); - this.wolfLeg1.setRotationPoint(-2.5F, 22.0F, 2.0F); - this.wolfLeg1.rotateAngleX = ((float)Math.PI * 3F / 2F); - this.wolfLeg2.setRotationPoint(0.5F, 22.0F, 2.0F); - this.wolfLeg2.rotateAngleX = ((float)Math.PI * 3F / 2F); - this.wolfLeg3.rotateAngleX = 5.811947F; - this.wolfLeg3.setRotationPoint(-2.49F, 17.0F, -4.0F); - this.wolfLeg4.rotateAngleX = 5.811947F; - this.wolfLeg4.setRotationPoint(0.51F, 17.0F, -4.0F); - } - else - { - this.wolfBody.setRotationPoint(0.0F, 14.0F, 2.0F); - this.wolfBody.rotateAngleX = ((float)Math.PI / 2F); - this.wolfMane.setRotationPoint(-1.0F, 14.0F, -3.0F); - this.wolfMane.rotateAngleX = this.wolfBody.rotateAngleX; - this.wolfTail.setRotationPoint(-1.0F, 12.0F, 8.0F); - this.wolfLeg1.setRotationPoint(-2.5F, 16.0F, 7.0F); - this.wolfLeg2.setRotationPoint(0.5F, 16.0F, 7.0F); - this.wolfLeg3.setRotationPoint(-2.5F, 16.0F, -4.0F); - this.wolfLeg4.setRotationPoint(0.5F, 16.0F, -4.0F); - this.wolfLeg1.rotateAngleX = MathHelper.cos(par2 * 0.6662F) * 1.4F * par3; - this.wolfLeg2.rotateAngleX = MathHelper.cos(par2 * 0.6662F + (float)Math.PI) * 1.4F * par3; - this.wolfLeg3.rotateAngleX = MathHelper.cos(par2 * 0.6662F + (float)Math.PI) * 1.4F * par3; - this.wolfLeg4.rotateAngleX = MathHelper.cos(par2 * 0.6662F) * 1.4F * par3; - } - - this.wolfHeadMain.rotateAngleZ = entitywolf.getInterestedAngle(par4) + entitywolf.getShakeAngle(par4, 0.0F); - this.wolfMane.rotateAngleZ = entitywolf.getShakeAngle(par4, -0.08F); - this.wolfBody.rotateAngleZ = entitywolf.getShakeAngle(par4, -0.16F); - this.wolfTail.rotateAngleZ = entitywolf.getShakeAngle(par4, -0.2F); - } - - /** - * Sets the model's various rotation angles. For bipeds, par1 and par2 are used for animating the movement of arms - * and legs, where par1 represents the time(so that arms and legs swing back and forth) and par2 represents how - * "far" arms and legs can swing at most. - */ - @Override - public void setRotationAngles(float par1, float par2, float par3, float par4, float par5, float par6, Entity par7Entity) - { - super.setRotationAngles(par1, par2, par3, par4, par5, par6, par7Entity); - this.wolfHeadMain.rotateAngleX = par5 / (180F / (float)Math.PI); - this.wolfHeadMain.rotateAngleY = par4 / (180F / (float)Math.PI); - this.wolfTail.rotateAngleX = par3; - } +public class ModelDesertWolf extends ModelBase { + + public ModelRenderer wolfHeadMain; + public ModelRenderer wolfBody; + public ModelRenderer wolfLeg1; + public ModelRenderer wolfLeg2; + public ModelRenderer wolfLeg3; + public ModelRenderer wolfLeg4; + ModelRenderer wolfTail; + ModelRenderer wolfMane; + + + public ModelDesertWolf() { + float f = 0.0F; + float f1 = 13.5F; + this.wolfHeadMain = new ModelRenderer(this, 0, 0); + this.wolfHeadMain.addBox(-3.0F, -3.0F, -2.0F, 6, 6, 4, f); + this.wolfHeadMain.setRotationPoint(-1.0F, f1, -7.0F); + this.wolfBody = new ModelRenderer(this, 18, 14); + this.wolfBody.addBox(-4.0F, -2.0F, -3.0F, 6, 9, 6, f); + this.wolfBody.setRotationPoint(0.0F, 14.0F, 2.0F); + this.wolfMane = new ModelRenderer(this, 21, 0); + this.wolfMane.addBox(-4.0F, -3.0F, -3.0F, 8, 6, 7, f); + this.wolfMane.setRotationPoint(-1.0F, 14.0F, 2.0F); + this.wolfLeg1 = new ModelRenderer(this, 0, 18); + this.wolfLeg1.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); + this.wolfLeg1.setRotationPoint(-2.5F, 16.0F, 7.0F); + this.wolfLeg2 = new ModelRenderer(this, 0, 18); + this.wolfLeg2.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); + this.wolfLeg2.setRotationPoint(0.5F, 16.0F, 7.0F); + this.wolfLeg3 = new ModelRenderer(this, 0, 18); + this.wolfLeg3.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); + this.wolfLeg3.setRotationPoint(-2.5F, 16.0F, -4.0F); + this.wolfLeg4 = new ModelRenderer(this, 0, 18); + this.wolfLeg4.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); + this.wolfLeg4.setRotationPoint(0.5F, 16.0F, -4.0F); + this.wolfTail = new ModelRenderer(this, 9, 18); + this.wolfTail.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); + this.wolfTail.setRotationPoint(-1.0F, 12.0F, 8.0F); + this.wolfHeadMain.setTextureOffset(16, 14).addBox(-3.0F, -5.0F, 0.0F, 2, 2, 1, f); + this.wolfHeadMain.setTextureOffset(16, 14).addBox(1.0F, -5.0F, 0.0F, 2, 2, 1, f); + this.wolfHeadMain.setTextureOffset(0, 10).addBox(-1.5F, 0.0F, -5.0F, 3, 3, 4, f); + } + + public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { + super.render(par1Entity, par2, par3, par4, par5, par6, par7); + this.setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); + if(super.isChild) { + float f6 = 2.0F; + GL11.glPushMatrix(); + GL11.glTranslatef(0.0F, 5.0F * par7, 2.0F * par7); + this.wolfHeadMain.renderWithRotation(par7); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(1.0F / f6, 1.0F / f6, 1.0F / f6); + GL11.glTranslatef(0.0F, 24.0F * par7, 0.0F); + this.wolfBody.render(par7); + this.wolfLeg1.render(par7); + this.wolfLeg2.render(par7); + this.wolfLeg3.render(par7); + this.wolfLeg4.render(par7); + this.wolfTail.renderWithRotation(par7); + this.wolfMane.render(par7); + GL11.glPopMatrix(); + } else { + this.wolfHeadMain.renderWithRotation(par7); + this.wolfBody.render(par7); + this.wolfLeg1.render(par7); + this.wolfLeg2.render(par7); + this.wolfLeg3.render(par7); + this.wolfLeg4.render(par7); + this.wolfTail.renderWithRotation(par7); + this.wolfMane.render(par7); + } + + } + + public void setLivingAnimations(EntityLiving par1EntityLiving, float par2, float par3, float par4) { + EntityDesertWolf entitywolf = (EntityDesertWolf)par1EntityLiving; + if(entitywolf.isAngry()) { + this.wolfTail.rotateAngleY = 0.0F; + } else { + this.wolfTail.rotateAngleY = MathHelper.cos(par2 * 0.6662F) * 1.4F * par3; + } + + if(entitywolf.isSitting()) { + this.wolfMane.setRotationPoint(-1.0F, 16.0F, -3.0F); + this.wolfMane.rotateAngleX = 1.2566371F; + this.wolfMane.rotateAngleY = 0.0F; + this.wolfBody.setRotationPoint(0.0F, 18.0F, 0.0F); + this.wolfBody.rotateAngleX = 0.7853982F; + this.wolfTail.setRotationPoint(-1.0F, 21.0F, 6.0F); + this.wolfLeg1.setRotationPoint(-2.5F, 22.0F, 2.0F); + this.wolfLeg1.rotateAngleX = 4.712389F; + this.wolfLeg2.setRotationPoint(0.5F, 22.0F, 2.0F); + this.wolfLeg2.rotateAngleX = 4.712389F; + this.wolfLeg3.rotateAngleX = 5.811947F; + this.wolfLeg3.setRotationPoint(-2.49F, 17.0F, -4.0F); + this.wolfLeg4.rotateAngleX = 5.811947F; + this.wolfLeg4.setRotationPoint(0.51F, 17.0F, -4.0F); + } else { + this.wolfBody.setRotationPoint(0.0F, 14.0F, 2.0F); + this.wolfBody.rotateAngleX = 1.5707964F; + this.wolfMane.setRotationPoint(-1.0F, 14.0F, -3.0F); + this.wolfMane.rotateAngleX = this.wolfBody.rotateAngleX; + this.wolfTail.setRotationPoint(-1.0F, 12.0F, 8.0F); + this.wolfLeg1.setRotationPoint(-2.5F, 16.0F, 7.0F); + this.wolfLeg2.setRotationPoint(0.5F, 16.0F, 7.0F); + this.wolfLeg3.setRotationPoint(-2.5F, 16.0F, -4.0F); + this.wolfLeg4.setRotationPoint(0.5F, 16.0F, -4.0F); + this.wolfLeg1.rotateAngleX = MathHelper.cos(par2 * 0.6662F) * 1.4F * par3; + this.wolfLeg2.rotateAngleX = MathHelper.cos(par2 * 0.6662F + 3.1415927F) * 1.4F * par3; + this.wolfLeg3.rotateAngleX = MathHelper.cos(par2 * 0.6662F + 3.1415927F) * 1.4F * par3; + this.wolfLeg4.rotateAngleX = MathHelper.cos(par2 * 0.6662F) * 1.4F * par3; + } + + this.wolfHeadMain.rotateAngleZ = entitywolf.getInterestedAngle(par4) + entitywolf.getShakeAngle(par4, 0.0F); + this.wolfMane.rotateAngleZ = entitywolf.getShakeAngle(par4, -0.08F); + this.wolfBody.rotateAngleZ = entitywolf.getShakeAngle(par4, -0.16F); + this.wolfTail.rotateAngleZ = entitywolf.getShakeAngle(par4, -0.2F); + } + + public void setRotationAngles(float par1, float par2, float par3, float par4, float par5, float par6, Entity par7Entity) { + super.setRotationAngles(par1, par2, par3, par4, par5, par6, par7Entity); + this.wolfHeadMain.rotateAngleX = par5 / 57.295776F; + this.wolfHeadMain.rotateAngleY = par4 / 57.295776F; + this.wolfTail.rotateAngleX = par3; + } } diff --git a/common/rebelkeithy/mods/atum/entities/ModelDustySkeleton.java b/common/rebelkeithy/mods/atum/entities/ModelDustySkeleton.java index 027519b..2e88aa6 100644 --- a/common/rebelkeithy/mods/atum/entities/ModelDustySkeleton.java +++ b/common/rebelkeithy/mods/atum/entities/ModelDustySkeleton.java @@ -1,34 +1,32 @@ package rebelkeithy.mods.atum.entities; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.client.model.ModelZombie; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.client.model.ModelZombie; @SideOnly(Side.CLIENT) -public class ModelDustySkeleton extends ModelZombie -{ - public ModelDustySkeleton() - { - this(0.0F); - } +public class ModelDustySkeleton extends ModelZombie { + + public ModelDustySkeleton() { + this(0.0F); + } - public ModelDustySkeleton(float par1) - { - super(par1, 0.0F, 64, 32); - this.bipedRightArm = new ModelRenderer(this, 40, 16); - this.bipedRightArm.addBox(-1.0F, -2.0F, -1.0F, 2, 12, 2, par1); - this.bipedRightArm.setRotationPoint(-5.0F, 2.0F, 0.0F); - this.bipedLeftArm = new ModelRenderer(this, 40, 16); - this.bipedLeftArm.mirror = true; - this.bipedLeftArm.addBox(-1.0F, -2.0F, -1.0F, 2, 12, 2, par1); - this.bipedLeftArm.setRotationPoint(5.0F, 2.0F, 0.0F); - this.bipedRightLeg = new ModelRenderer(this, 0, 16); - this.bipedRightLeg.addBox(-1.0F, 0.0F, -1.0F, 2, 12, 2, par1); - this.bipedRightLeg.setRotationPoint(-2.0F, 12.0F, 0.0F); - this.bipedLeftLeg = new ModelRenderer(this, 0, 16); - this.bipedLeftLeg.mirror = true; - this.bipedLeftLeg.addBox(-1.0F, 0.0F, -1.0F, 2, 12, 2, par1); - this.bipedLeftLeg.setRotationPoint(2.0F, 12.0F, 0.0F); - } + public ModelDustySkeleton(float par1) { + super(par1, 0.0F, 64, 32); + super.bipedRightArm = new ModelRenderer(this, 40, 16); + super.bipedRightArm.addBox(-1.0F, -2.0F, -1.0F, 2, 12, 2, par1); + super.bipedRightArm.setRotationPoint(-5.0F, 2.0F, 0.0F); + super.bipedLeftArm = new ModelRenderer(this, 40, 16); + super.bipedLeftArm.mirror = true; + super.bipedLeftArm.addBox(-1.0F, -2.0F, -1.0F, 2, 12, 2, par1); + super.bipedLeftArm.setRotationPoint(5.0F, 2.0F, 0.0F); + super.bipedRightLeg = new ModelRenderer(this, 0, 16); + super.bipedRightLeg.addBox(-1.0F, 0.0F, -1.0F, 2, 12, 2, par1); + super.bipedRightLeg.setRotationPoint(-2.0F, 12.0F, 0.0F); + super.bipedLeftLeg = new ModelRenderer(this, 0, 16); + super.bipedLeftLeg.mirror = true; + super.bipedLeftLeg.addBox(-1.0F, 0.0F, -1.0F, 2, 12, 2, par1); + super.bipedLeftLeg.setRotationPoint(2.0F, 12.0F, 0.0F); + } } diff --git a/common/rebelkeithy/mods/atum/entities/RenderBandit.java b/common/rebelkeithy/mods/atum/entities/RenderBandit.java deleted file mode 100644 index 6d7a3f8..0000000 --- a/common/rebelkeithy/mods/atum/entities/RenderBandit.java +++ /dev/null @@ -1,153 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import static net.minecraftforge.client.IItemRenderer.ItemRenderType.EQUIPPED; -import static net.minecraftforge.client.IItemRenderer.ItemRendererHelper.BLOCK_3D; -import net.minecraft.block.Block; -import net.minecraft.client.model.ModelBiped; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.entity.RenderBiped; -import net.minecraft.client.renderer.tileentity.TileEntitySkullRenderer; -import net.minecraft.entity.EntityLiving; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; - -import org.lwjgl.opengl.GL11; - -import rebelkeithy.mods.atum.AtumItems; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class RenderBandit extends RenderBiped -{ - - public RenderBandit(ModelBiped par1ModelBiped, float par2) - { - super(par1ModelBiped, par2); - } - - @Override - protected void renderEquippedItems(EntityLiving par1EntityLiving, float par2) - { - float f1 = 1.0F; - GL11.glColor3f(f1, f1, f1); - //super.renderEquippedItems(par1EntityLiving, par2); - ItemStack itemstack = par1EntityLiving.getHeldItem(); - ItemStack itemstack1 = par1EntityLiving.getCurrentArmor(3); - float f2; - - if (itemstack1 != null) - { - GL11.glPushMatrix(); - this.modelBipedMain.bipedHead.postRender(0.0625F); - - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemstack1, EQUIPPED); - boolean is3D = (customRenderer != null && customRenderer.shouldUseRenderHelper(EQUIPPED, itemstack1, BLOCK_3D)); - - if (itemstack1.getItem() instanceof ItemBlock) - { - if (is3D || RenderBlocks.renderItemIn3d(Block.blocksList[itemstack1.itemID].getRenderType())) - { - f2 = 0.625F; - GL11.glTranslatef(0.0F, -0.25F, 0.0F); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glScalef(f2, -f2, -f2); - } - - this.renderManager.itemRenderer.renderItem(par1EntityLiving, itemstack1, 0); - } - else if (itemstack1.getItem().itemID == Item.skull.itemID) - { - f2 = 1.0625F; - GL11.glScalef(f2, -f2, -f2); - String s = ""; - - if (itemstack1.hasTagCompound() && itemstack1.getTagCompound().hasKey("SkullOwner")) - { - s = itemstack1.getTagCompound().getString("SkullOwner"); - } - - TileEntitySkullRenderer.skullRenderer.func_82393_a(-0.5F, 0.0F, -0.5F, 1, 180.0F, itemstack1.getItemDamage(), s); - } - - GL11.glPopMatrix(); - } - - if (itemstack != null) - { - GL11.glPushMatrix(); - - if (this.mainModel.isChild) - { - f2 = 0.5F; - GL11.glTranslatef(0.0F, 0.625F, 0.0F); - GL11.glRotatef(-20.0F, -1.0F, 0.0F, 0.0F); - GL11.glScalef(f2, f2, f2); - } - - this.modelBipedMain.bipedRightArm.postRender(0.0625F); - GL11.glTranslatef(-0.0625F, 0.4375F, 0.0625F); - - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemstack, EQUIPPED); - boolean is3D = (customRenderer != null && customRenderer.shouldUseRenderHelper(EQUIPPED, itemstack, BLOCK_3D)); - - if (itemstack.getItem() instanceof ItemBlock && (is3D || RenderBlocks.renderItemIn3d(Block.blocksList[itemstack.itemID].getRenderType()))) - { - f2 = 0.5F; - GL11.glTranslatef(0.0F, 0.1875F, -0.3125F); - f2 *= 0.75F; - GL11.glRotatef(20.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); - GL11.glScalef(-f2, -f2, f2); - } - else if (itemstack.itemID == AtumItems.bow.itemID && false) - { - f2 = 0.625F; - GL11.glTranslatef(0.0F, 0.125F, 0.3125F); - GL11.glRotatef(-20.0F, 0.0F, 1.0F, 0.0F); - GL11.glScalef(f2, -f2, f2); - GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); - } - else if (Item.itemsList[itemstack.itemID].isFull3D()) - { - f2 = 0.625F; - - if (Item.itemsList[itemstack.itemID].shouldRotateAroundWhenRendering()) - { - GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(0.0F, -0.125F, 0.0F); - } - - this.func_82422_c(); - GL11.glScalef(f2, -f2, f2); - GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); - } - else - { - f2 = 0.375F; - GL11.glTranslatef(0.25F, 0.1875F, -0.1875F); - GL11.glScalef(f2, f2, f2); - GL11.glRotatef(60.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(-90.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(20.0F, 0.0F, 0.0F, 1.0F); - } - - this.renderManager.itemRenderer.renderItem(par1EntityLiving, itemstack, 0); - - if (itemstack.getItem().requiresMultipleRenderPasses()) - { - for (int x = 1; x < itemstack.getItem().getRenderPasses(itemstack.getItemDamage()); x++) - { - this.renderManager.itemRenderer.renderItem(par1EntityLiving, itemstack, x); - } - } - - GL11.glPopMatrix(); - } - } -} diff --git a/common/rebelkeithy/mods/atum/entities/RenderDesertWolf.java b/common/rebelkeithy/mods/atum/entities/RenderDesertWolf.java deleted file mode 100644 index 6baa6af..0000000 --- a/common/rebelkeithy/mods/atum/entities/RenderDesertWolf.java +++ /dev/null @@ -1,69 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.entity.RenderLiving; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.passive.EntitySheep; - -import org.lwjgl.opengl.GL11; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class RenderDesertWolf extends RenderLiving -{ - public RenderDesertWolf(ModelBase par1ModelBase, ModelBase par2ModelBase, float par3) - { - super(par1ModelBase, par3); - this.setRenderPassModel(par2ModelBase); - } - - protected float getTailRotation(EntityDesertWolf par1EntityDesertWolf, float par2) - { - return par1EntityDesertWolf.getTailRotation(); - } - - protected int func_82447_a(EntityDesertWolf par1EntityDesertWolf, int par2, float par3) - { - float f1; - - if (par2 == 0 && par1EntityDesertWolf.getWolfShaking()) - { - f1 = par1EntityDesertWolf.getBrightness(par3) * par1EntityDesertWolf.getShadingWhileShaking(par3); - this.loadTexture(par1EntityDesertWolf.getTexture()); - GL11.glColor3f(f1, f1, f1); - return 1; - } - else if (par2 == 1 && par1EntityDesertWolf.isTamed()) - { - this.loadTexture("/mob/wolf_collar.png"); - f1 = 1.0F; - int j = par1EntityDesertWolf.getCollarColor(); - GL11.glColor3f(f1 * EntitySheep.fleeceColorTable[j][0], f1 * EntitySheep.fleeceColorTable[j][1], f1 * EntitySheep.fleeceColorTable[j][2]); - return 1; - } - else - { - return -1; - } - } - - /** - * Queries whether should render the specified pass or not. - */ - @Override - protected int shouldRenderPass(EntityLiving par1EntityLiving, int par2, float par3) - { - return this.func_82447_a((EntityDesertWolf)par1EntityLiving, par2, par3); - } - - /** - * Defines what float the third param in setRotationAngles of ModelBase is - */ - @Override - protected float handleRotationFloat(EntityLiving par1EntityLiving, float par2) - { - return this.getTailRotation((EntityDesertWolf)par1EntityLiving, par2); - } -} diff --git a/common/rebelkeithy/mods/atum/entities/RenderGhost.java b/common/rebelkeithy/mods/atum/entities/RenderGhost.java deleted file mode 100644 index db9cf12..0000000 --- a/common/rebelkeithy/mods/atum/entities/RenderGhost.java +++ /dev/null @@ -1,549 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import java.util.Random; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelBox; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderHelper; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.util.MathHelper; - -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class RenderGhost extends Render -{ - protected ModelBase mainModel; - - /** The model to be used during the render passes. */ - protected ModelBase renderPassModel; - - public RenderGhost(ModelBase par1ModelBase, float par2) - { - this.mainModel = par1ModelBase; - this.shadowSize = par2; - } - - /** - * Sets the model to be used in the current render pass (the first render pass is done after the primary model is - * rendered) Args: model - */ - public void setRenderPassModel(ModelBase par1ModelBase) - { - this.renderPassModel = par1ModelBase; - } - - /** - * Returns a rotation angle that is inbetween two other rotation angles. par1 and par2 are the angles between which - * to interpolate, par3 is probably a float between 0.0 and 1.0 that tells us where "between" the two angles we are. - * Example: par1 = 30, par2 = 50, par3 = 0.5, then return = 40 - */ - private float interpolateRotation(float par1, float par2, float par3) - { - float f3; - - for (f3 = par2 - par1; f3 < -180.0F; f3 += 360.0F) - { - ; - } - - while (f3 >= 180.0F) - { - f3 -= 360.0F; - } - - return par1 + par3 * f3; - } - - public void doRenderLiving(EntityLiving par1EntityLiving, double par2, double par4, double par6, float par8, float par9) - { - GL11.glPushMatrix(); - GL11.glDisable(GL11.GL_CULL_FACE); - - par4 += ((EntityGhost)par1EntityLiving).getFloatingHeight(); - //System.out.println("height " + ((EntityGhost)par1EntityLiving).cycleHeight); - - this.mainModel.onGround = this.renderSwingProgress(par1EntityLiving, par9); - - if (this.renderPassModel != null) - { - this.renderPassModel.onGround = this.mainModel.onGround; - } - - this.mainModel.isRiding = par1EntityLiving.isRiding(); - - if (this.renderPassModel != null) - { - this.renderPassModel.isRiding = this.mainModel.isRiding; - } - - this.mainModel.isChild = par1EntityLiving.isChild(); - - if (this.renderPassModel != null) - { - this.renderPassModel.isChild = this.mainModel.isChild; - } - - try - { - float f2 = this.interpolateRotation(par1EntityLiving.prevRenderYawOffset, par1EntityLiving.renderYawOffset, par9); - float f3 = this.interpolateRotation(par1EntityLiving.prevRotationYawHead, par1EntityLiving.rotationYawHead, par9); - float f4 = par1EntityLiving.prevRotationPitch + (par1EntityLiving.rotationPitch - par1EntityLiving.prevRotationPitch) * par9; - this.renderLivingAt(par1EntityLiving, par2, par4, par6); - float f5 = this.handleRotationFloat(par1EntityLiving, par9); - this.rotateCorpse(par1EntityLiving, f5, f2, par9); - float f6 = 0.0625F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - GL11.glScalef(-1.0F, -1.0F, 1.0F); - this.preRenderCallback(par1EntityLiving, par9); - GL11.glTranslatef(0.0F, -24.0F * f6 - 0.0078125F, 0.0F); - float f7 = par1EntityLiving.prevLimbYaw + (par1EntityLiving.limbYaw - par1EntityLiving.prevLimbYaw) * par9; - float f8 = par1EntityLiving.limbSwing - par1EntityLiving.limbYaw * (1.0F - par9); - - if (par1EntityLiving.isChild()) - { - f8 *= 3.0F; - } - - if (f7 > 1.0F) - { - f7 = 1.0F; - } - - GL11.glEnable(GL11.GL_ALPHA_TEST); - this.mainModel.setLivingAnimations(par1EntityLiving, f8, f7, par9); - this.renderModel(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); - float f9; - int i; - float f10; - float f11; - - for (int j = 0; j < 4; ++j) - { - i = this.shouldRenderPass(par1EntityLiving, j, par9); - - if (i > 0) - { - this.renderPassModel.setLivingAnimations(par1EntityLiving, f8, f7, par9); - this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); - - if ((i & 240) == 16) - { - this.func_82408_c(par1EntityLiving, j, par9); - this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); - } - - if ((i & 15) == 15) - { - f9 = (float)par1EntityLiving.ticksExisted + par9; - this.loadTexture("%blur%/misc/glint.png"); - GL11.glEnable(GL11.GL_BLEND); - f10 = 0.5F; - GL11.glColor4f(f10, f10, f10, 1.0F); - GL11.glDepthFunc(GL11.GL_EQUAL); - GL11.glDepthMask(false); - - for (int k = 0; k < 2; ++k) - { - GL11.glDisable(GL11.GL_LIGHTING); - f11 = 0.76F; - GL11.glColor4f(0.5F * f11, 0.25F * f11, 0.8F * f11, 1.0F); - GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glLoadIdentity(); - float f12 = f9 * (0.001F + (float)k * 0.003F) * 20.0F; - float f13 = 0.33333334F; - GL11.glScalef(f13, f13, f13); - GL11.glRotatef(30.0F - (float)k * 60.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(0.0F, f12, 0.0F); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); - } - - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glDepthMask(true); - GL11.glLoadIdentity(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - } - - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_ALPHA_TEST); - } - } - - GL11.glDepthMask(true); - this.renderEquippedItems(par1EntityLiving, par9); - float f14 = par1EntityLiving.getBrightness(par9); - i = this.getColorMultiplier(par1EntityLiving, f14, par9); - OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapTexUnit); - GL11.glDisable(GL11.GL_TEXTURE_2D); - OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit); - - if ((i >> 24 & 255) > 0 || par1EntityLiving.hurtTime > 0 || par1EntityLiving.deathTime > 0) - { - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glDisable(GL11.GL_ALPHA_TEST); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - GL11.glDepthFunc(GL11.GL_EQUAL); - - if (par1EntityLiving.hurtTime > 0 || par1EntityLiving.deathTime > 0) - { - GL11.glColor4f(f14, 0.0F, 0.0F, 0.4F); - this.mainModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); - - for (int l = 0; l < 4; ++l) - { - if (this.inheritRenderPass(par1EntityLiving, l, par9) >= 0) - { - GL11.glColor4f(f14, 0.0F, 0.0F, 0.4F); - this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); - } - } - } - - if ((i >> 24 & 255) > 0) - { - f9 = (float)(i >> 16 & 255) / 255.0F; - f10 = (float)(i >> 8 & 255) / 255.0F; - float f15 = (float)(i & 255) / 255.0F; - f11 = (float)(i >> 24 & 255) / 255.0F; - GL11.glColor4f(f9, f10, f15, f11); - this.mainModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); - - for (int i1 = 0; i1 < 4; ++i1) - { - if (this.inheritRenderPass(par1EntityLiving, i1, par9) >= 0) - { - GL11.glColor4f(f9, f10, f15, f11); - this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); - } - } - } - - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_ALPHA_TEST); - GL11.glEnable(GL11.GL_TEXTURE_2D); - } - - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - } - catch (Exception exception) - { - exception.printStackTrace(); - } - - OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapTexUnit); - GL11.glEnable(GL11.GL_TEXTURE_2D); - OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glPopMatrix(); - this.passSpecialRender(par1EntityLiving, par2, par4, par6); - } - - /** - * Renders the model in RenderLiving - */ - protected void renderModel(EntityLiving par1EntityLiving, float par2, float par3, float par4, float par5, float par6, float par7) - { - this.func_98190_a(par1EntityLiving); - - if (!par1EntityLiving.isInvisible()) - { - this.mainModel.render(par1EntityLiving, par2, par3, par4, par5, par6, par7); - } - else if (!par1EntityLiving.func_98034_c(Minecraft.getMinecraft().thePlayer)) - { - GL11.glPushMatrix(); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 0.15F); - GL11.glDepthMask(false); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - GL11.glAlphaFunc(GL11.GL_GREATER, 0.003921569F); - this.mainModel.render(par1EntityLiving, par2, par3, par4, par5, par6, par7); - GL11.glDisable(GL11.GL_BLEND); - GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F); - GL11.glPopMatrix(); - GL11.glDepthMask(true); - } - else - { - this.mainModel.setRotationAngles(par2, par3, par4, par5, par6, par7, par1EntityLiving); - } - } - - protected void func_98190_a(EntityLiving par1EntityLiving) - { - this.loadTexture(par1EntityLiving.getTexture()); - } - - /** - * Sets a simple glTranslate on a LivingEntity. - */ - protected void renderLivingAt(EntityLiving par1EntityLiving, double par2, double par4, double par6) - { - GL11.glTranslatef((float)par2, (float)par4, (float)par6); - } - - protected void rotateCorpse(EntityLiving par1EntityLiving, float par2, float par3, float par4) - { - GL11.glRotatef(180.0F - par3, 0.0F, 1.0F, 0.0F); - - if (par1EntityLiving.deathTime > 0) - { - float f3 = ((float)par1EntityLiving.deathTime + par4 - 1.0F) / 20.0F * 1.6F; - f3 = MathHelper.sqrt_float(f3); - - if (f3 > 1.0F) - { - f3 = 1.0F; - } - - GL11.glRotatef(f3 * this.getDeathMaxRotation(par1EntityLiving), 0.0F, 0.0F, 1.0F); - } - } - - protected float renderSwingProgress(EntityLiving par1EntityLiving, float par2) - { - return par1EntityLiving.getSwingProgress(par2); - } - - /** - * Defines what float the third param in setRotationAngles of ModelBase is - */ - protected float handleRotationFloat(EntityLiving par1EntityLiving, float par2) - { - return (float)par1EntityLiving.ticksExisted + par2; - } - - protected void renderEquippedItems(EntityLiving par1EntityLiving, float par2) {} - - /** - * renders arrows the Entity has been attacked with, attached to it - */ - protected void renderArrowsStuckInEntity(EntityLiving par1EntityLiving, float par2) - { - int i = par1EntityLiving.getArrowCountInEntity(); - - if (i > 0) - { - EntityArrow entityarrow = new EntityArrow(par1EntityLiving.worldObj, par1EntityLiving.posX, par1EntityLiving.posY, par1EntityLiving.posZ); - Random random = new Random((long)par1EntityLiving.entityId); - RenderHelper.disableStandardItemLighting(); - - for (int j = 0; j < i; ++j) - { - GL11.glPushMatrix(); - ModelRenderer modelrenderer = this.mainModel.getRandomModelBox(random); - ModelBox modelbox = (ModelBox)modelrenderer.cubeList.get(random.nextInt(modelrenderer.cubeList.size())); - modelrenderer.postRender(0.0625F); - float f1 = random.nextFloat(); - float f2 = random.nextFloat(); - float f3 = random.nextFloat(); - float f4 = (modelbox.posX1 + (modelbox.posX2 - modelbox.posX1) * f1) / 16.0F; - float f5 = (modelbox.posY1 + (modelbox.posY2 - modelbox.posY1) * f2) / 16.0F; - float f6 = (modelbox.posZ1 + (modelbox.posZ2 - modelbox.posZ1) * f3) / 16.0F; - GL11.glTranslatef(f4, f5, f6); - f1 = f1 * 2.0F - 1.0F; - f2 = f2 * 2.0F - 1.0F; - f3 = f3 * 2.0F - 1.0F; - f1 *= -1.0F; - f2 *= -1.0F; - f3 *= -1.0F; - float f7 = MathHelper.sqrt_float(f1 * f1 + f3 * f3); - entityarrow.prevRotationYaw = entityarrow.rotationYaw = (float)(Math.atan2((double)f1, (double)f3) * 180.0D / Math.PI); - entityarrow.prevRotationPitch = entityarrow.rotationPitch = (float)(Math.atan2((double)f2, (double)f7) * 180.0D / Math.PI); - double d0 = 0.0D; - double d1 = 0.0D; - double d2 = 0.0D; - float f8 = 0.0F; - this.renderManager.renderEntityWithPosYaw(entityarrow, d0, d1, d2, f8, par2); - GL11.glPopMatrix(); - } - - RenderHelper.enableStandardItemLighting(); - } - } - - protected int inheritRenderPass(EntityLiving par1EntityLiving, int par2, float par3) - { - return this.shouldRenderPass(par1EntityLiving, par2, par3); - } - - /** - * Queries whether should render the specified pass or not. - */ - protected int shouldRenderPass(EntityLiving par1EntityLiving, int par2, float par3) - { - return -1; - } - - protected void func_82408_c(EntityLiving par1EntityLiving, int par2, float par3) {} - - protected float getDeathMaxRotation(EntityLiving par1EntityLiving) - { - return 90.0F; - } - - /** - * Returns an ARGB int color back. Args: entityLiving, lightBrightness, partialTickTime - */ - protected int getColorMultiplier(EntityLiving par1EntityLiving, float par2, float par3) - { - return 0; - } - - /** - * Allows the render to do any OpenGL state modifications necessary before the model is rendered. Args: - * entityLiving, partialTickTime - */ - protected void preRenderCallback(EntityLiving par1EntityLiving, float par2) {} - - /** - * Passes the specialRender and renders it - */ - protected void passSpecialRender(EntityLiving par1EntityLiving, double par2, double par4, double par6) - { - if (Minecraft.isGuiEnabled() && par1EntityLiving != this.renderManager.livingPlayer && !par1EntityLiving.func_98034_c(Minecraft.getMinecraft().thePlayer) && (par1EntityLiving.func_94059_bO() || par1EntityLiving.func_94056_bM() && par1EntityLiving == this.renderManager.field_96451_i)) - { - float f = 1.6F; - float f1 = 0.016666668F * f; - double d3 = par1EntityLiving.getDistanceSqToEntity(this.renderManager.livingPlayer); - float f2 = par1EntityLiving.isSneaking() ? 32.0F : 64.0F; - - if (d3 < (double)(f2 * f2)) - { - String s = par1EntityLiving.getTranslatedEntityName(); - - if (par1EntityLiving.isSneaking()) - { - FontRenderer fontrenderer = this.getFontRendererFromRenderManager(); - GL11.glPushMatrix(); - GL11.glTranslatef((float)par2 + 0.0F, (float)par4 + par1EntityLiving.height + 0.5F, (float)par6); - GL11.glNormal3f(0.0F, 1.0F, 0.0F); - GL11.glRotatef(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F); - GL11.glScalef(-f1, -f1, f1); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glTranslatef(0.0F, 0.25F / f1, 0.0F); - GL11.glDepthMask(false); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - Tessellator tessellator = Tessellator.instance; - GL11.glDisable(GL11.GL_TEXTURE_2D); - tessellator.startDrawingQuads(); - int i = fontrenderer.getStringWidth(s) / 2; - tessellator.setColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F); - tessellator.addVertex((double)(-i - 1), -1.0D, 0.0D); - tessellator.addVertex((double)(-i - 1), 8.0D, 0.0D); - tessellator.addVertex((double)(i + 1), 8.0D, 0.0D); - tessellator.addVertex((double)(i + 1), -1.0D, 0.0D); - tessellator.draw(); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glDepthMask(true); - fontrenderer.drawString(s, -fontrenderer.getStringWidth(s) / 2, 0, 553648127); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_BLEND); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glPopMatrix(); - } - else - { - this.func_96449_a(par1EntityLiving, par2, par4, par6, s, f1, d3); - } - } - } - } - - protected void func_96449_a(EntityLiving par1EntityLiving, double par2, double par4, double par6, String par8Str, float par9, double par10) - { - if (par1EntityLiving.isPlayerSleeping()) - { - this.renderLivingLabel(par1EntityLiving, par8Str, par2, par4 - 1.5D, par6, 64); - } - else - { - this.renderLivingLabel(par1EntityLiving, par8Str, par2, par4, par6, 64); - } - } - - /** - * Draws the debug or playername text above a living - */ - protected void renderLivingLabel(EntityLiving par1EntityLiving, String par2Str, double par3, double par5, double par7, int par9) - { - double d3 = par1EntityLiving.getDistanceSqToEntity(this.renderManager.livingPlayer); - - if (d3 <= (double)(par9 * par9)) - { - FontRenderer fontrenderer = this.getFontRendererFromRenderManager(); - float f = 1.6F; - float f1 = 0.016666668F * f; - GL11.glPushMatrix(); - GL11.glTranslatef((float)par3 + 0.0F, (float)par5 + par1EntityLiving.height + 0.5F, (float)par7); - GL11.glNormal3f(0.0F, 1.0F, 0.0F); - GL11.glRotatef(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F); - GL11.glScalef(-f1, -f1, f1); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDepthMask(false); - GL11.glDisable(GL11.GL_DEPTH_TEST); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - Tessellator tessellator = Tessellator.instance; - byte b0 = 0; - - if (par2Str.equals("deadmau5")) - { - b0 = -10; - } - - GL11.glDisable(GL11.GL_TEXTURE_2D); - tessellator.startDrawingQuads(); - int j = fontrenderer.getStringWidth(par2Str) / 2; - tessellator.setColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F); - tessellator.addVertex((double)(-j - 1), (double)(-1 + b0), 0.0D); - tessellator.addVertex((double)(-j - 1), (double)(8 + b0), 0.0D); - tessellator.addVertex((double)(j + 1), (double)(8 + b0), 0.0D); - tessellator.addVertex((double)(j + 1), (double)(-1 + b0), 0.0D); - tessellator.draw(); - GL11.glEnable(GL11.GL_TEXTURE_2D); - fontrenderer.drawString(par2Str, -fontrenderer.getStringWidth(par2Str) / 2, b0, 553648127); - GL11.glEnable(GL11.GL_DEPTH_TEST); - GL11.glDepthMask(true); - fontrenderer.drawString(par2Str, -fontrenderer.getStringWidth(par2Str) / 2, b0, -1); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_BLEND); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glPopMatrix(); - } - } - - /** - * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then - * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic - * (Render= 1.0E-7D) - { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); - } - } - - public EntityFireSpearCombined(World par1World, EntityLiving par2EntityLiving, float par3) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.posY -= 0.10000000149011612D; - this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); - } - - protected void entityInit() - { - this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. - */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) - { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par3 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par5 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) - { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the velocity to the args. Args: x, y, z - */ - public void setVelocity(double par1, double par3, double par5) - { - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.ticksInGround = 0; - } - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() - { - super.onUpdate(); - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); - } - - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - - if (i > 0) - { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) - { - this.inGround = true; - } - } - - if (this.arrowShake > 0) - { - --this.arrowShake; - } - - if (this.inGround) - { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - - if (j == this.inTile && k == this.inData) - { - ++this.ticksInGround; - - if (this.ticksInGround == 1200) - { - this.setDead(); - } - } - else - { - this.inGround = false; - this.motionX *= (double)(this.rand.nextFloat() * 0.2F); - this.motionY *= (double)(this.rand.nextFloat() * 0.2F); - this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } - else - { - ++this.ticksInAir; - Vec3 position = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 new_position = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(position, new_position, false, true); - position = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - new_position = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) - { - new_position = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - int l; - float f1; - - for (l = 0; l < list.size(); ++l) - { - Entity entity1 = (Entity)list.get(l); - - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) - { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(position, new_position); - - if (movingobjectposition1 != null) - { - double d1 = position.distanceTo(movingobjectposition1.hitVec); - - if (d1 < d0 || d0 == 0.0D) - { - entity = entity1; - d0 = d1; - } - } - } +public class EntityFireSpearCombined extends Entity implements IProjectile, IThrowableEntity { + + private int xTile = -1; + private int yTile = -1; + private int zTile = -1; + private int inTile = 0; + private int inData = 0; + private boolean inGround = false; + public int canBePickedUp = 0; + public int arrowShake = 0; + public Entity shootingEntity; + private int ticksInGround; + private int ticksInAir = 0; + private double damage = 2.0D; + private int knockbackStrength; + + + public EntityFireSpearCombined(World par1World) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + } + + public EntityFireSpearCombined(World par1World, double par2, double par4, double par6) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.setPosition(par2, par4, par6); + super.yOffset = 0.0F; + } + + public EntityFireSpearCombined(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + super.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + double d0 = par3EntityLiving.posX - par2EntityLiving.posX; + double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - super.posY; + double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; + double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); + if(d3 >= 1.0E-7D) { + float f2 = (float)(Math.atan2(d2, d0) * 180.0D / 3.141592653589793D) - 90.0F; + float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / 3.141592653589793D)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(par2EntityLiving.posX + d4, super.posY, par2EntityLiving.posZ + d5, f2, f3); + super.yOffset = 0.0F; + float f4 = (float)d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); + } + + } + + public EntityFireSpearCombined(World par1World, EntityLivingBase par2EntityLiving, float par3) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.setSize(0.5F, 0.5F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + super.posX -= (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); + super.posY -= 0.10000000149011612D; + super.posZ -= (double)(MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); + this.setPosition(super.posX, super.posY, super.posZ); + super.yOffset = 0.0F; + super.motionX = (double)(-MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); + super.motionZ = (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); + super.motionY = (double)(-MathHelper.sin(super.rotationPitch / 180.0F * 3.1415927F)); + this.setThrowableHeading(super.motionX, super.motionY, super.motionZ, par3 * 1.5F, 1.0F); + } + + protected void entityInit() { + super.dataWatcher.addObject(16, Byte.valueOf((byte)0)); + } + + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double)f2; + par3 /= (double)f2; + par5 /= (double)f2; + par1 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; + par3 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; + par5 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; + par1 *= (double)par7; + par3 *= (double)par7; + par5 *= (double)par7; + super.motionX = par1; + super.motionY = par3; + super.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / 3.141592653589793D); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { + this.setPosition(par1, par3, par5); + this.setRotation(par7, par8); + } + + @SideOnly(Side.CLIENT) + public void setVelocity(double par1, double par3, double par5) { + super.motionX = par1; + super.motionY = par3; + super.motionZ = par5; + if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch; + super.prevRotationYaw = super.rotationYaw; + this.setLocationAndAngles(super.posX, super.posY, super.posZ, super.rotationYaw, super.rotationPitch); + this.ticksInGround = 0; + } + + } + + public void onUpdate() { + super.onUpdate(); + if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { + float i = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); + super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(super.motionY, (double)i) * 180.0D / 3.141592653589793D); + } + + int var19 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + if(var19 > 0) { + Block.blocksList[var19].setBlockBoundsBasedOnState(super.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB position = Block.blocksList[var19].getCollisionBoundingBoxFromPool(super.worldObj, this.xTile, this.yTile, this.zTile); + if(position != null && position.isVecInside(super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ))) { + this.inGround = true; + } + } + + if(this.arrowShake > 0) { + --this.arrowShake; + } + + if(this.inGround) { + int var20 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + int new_position = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + if(var20 == this.inTile && new_position == this.inData) { + ++this.ticksInGround; + if(this.ticksInGround == 1200) { + this.setDead(); } - - if (entity != null) - { - movingobjectposition = new MovingObjectPosition(entity); + } else { + this.inGround = false; + super.motionX *= (double)(super.rand.nextFloat() * 0.2F); + super.motionY *= (double)(super.rand.nextFloat() * 0.2F); + super.motionZ *= (double)(super.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } + } else { + ++this.ticksInAir; + Vec3 var21 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); + Vec3 var22 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); + MovingObjectPosition movingobjectposition = super.worldObj.rayTraceBlocks_do_do(var21, var22, false, true); + var21 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); + var22 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); + if(movingobjectposition != null) { + var22 = super.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = super.worldObj.getEntitiesWithinAABBExcludingEntity(this, super.boundingBox.addCoord(super.motionX, super.motionY, super.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + + int l; + float f1; + double prevMotionY; + for(l = 0; l < list.size(); ++l) { + Entity f2 = (Entity)list.get(l); + if(f2.canBeCollidedWith() && (f2 != this.shootingEntity || this.ticksInAir >= 5)) { + f1 = 0.3F; + AxisAlignedBB f3 = f2.boundingBox.expand((double)f1, (double)f1, (double)f1); + MovingObjectPosition f4 = f3.calculateIntercept(var21, var22); + if(f4 != null) { + prevMotionY = var21.distanceTo(f4.hitVec); + if(prevMotionY < d0 || d0 == 0.0D) { + entity = f2; + d0 = prevMotionY; + } + } } + } - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) - { - EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; + if(entity != null) { + movingobjectposition = new MovingObjectPosition(entity); + } - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).func_96122_a(entityplayer)) - { - movingobjectposition = null; - } + if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer var23 = (EntityPlayer)movingobjectposition.entityHit; + if(var23.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(var23)) { + movingobjectposition = null; } - - float f2; - float f3; - - if (movingobjectposition != null) - { - if (movingobjectposition.entityHit != null) - { - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double)f2 * this.damage); - - if (this.getIsCritical()) - { - i1 += this.rand.nextInt(i1 / 2 + 2); - } - - DamageSource damagesource = null; - - if (this.shootingEntity == null) - { - damagesource = DamageSource.causeThrownDamage(this, this); - } - else - { - damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) - { - movingobjectposition.entityHit.setFire(5); - } - - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) - { - if (movingobjectposition.entityHit instanceof EntityLiving) - { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; - - if (!this.worldObj.isRemote) - { - entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); - } - - if (this.knockbackStrength > 0) - { - f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - - if (f3 > 0.0F) - { - movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3); - } - } - - if (this.shootingEntity != null) - { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); - } - - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) - { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); - } - } - - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - - if (!(movingobjectposition.entityHit instanceof EntityEnderman)) - { - this.setDead(); + } + + float var25; + float var24; + if(movingobjectposition != null) { + if(movingobjectposition.entityHit != null) { + var25 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); + int var26 = MathHelper.ceiling_double_int((double)var25 * this.damage); + if(this.getIsCritical()) { + var26 += super.rand.nextInt(var26 / 2 + 2); + } + + DamageSource var28 = null; + if(this.shootingEntity == null) { + var28 = DamageSource.causeThrownDamage(this, this); + } else { + var28 = DamageSource.causeThrownDamage(this, this.shootingEntity); + } + + if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + movingobjectposition.entityHit.setFire(5); + } + + if(movingobjectposition.entityHit.attackEntityFrom(var28, var26)) { + if(movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; + if(!super.worldObj.isRemote) { + entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); + } + + if(this.knockbackStrength > 0) { + var24 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); + if(var24 > 0.0F) { + movingobjectposition.entityHit.addVelocity(super.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)var24, 0.1D, super.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)var24); } - } - else - { - this.motionX *= -0.10000000149011612D; - this.motionY *= -0.10000000149011612D; - this.motionZ *= -0.10000000149011612D; - this.rotationYaw += 180.0F; - this.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } - else - { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ)); - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double)f2 * 0.05D; - this.posY -= this.motionY / (double)f2 * 0.05D; - this.posZ -= this.motionZ / (double)f2 * 0.05D; - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - - if (this.inTile != 0) - { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } - } - - if (this.getIsCritical()) - { - for (l = 0; l < 4; ++l) - { - this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); - } - } - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { - this.prevRotationYaw -= 360.0F; + } + + if(this.shootingEntity != null) { + EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, super.rand); + } + + if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + } + } + + this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); + if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { + this.setDead(); + } + } else { + super.motionX *= -0.10000000149011612D; + super.motionY *= -0.10000000149011612D; + super.motionZ *= -0.10000000149011612D; + super.rotationYaw += 180.0F; + super.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } else { + this.xTile = movingobjectposition.blockX; + this.yTile = movingobjectposition.blockY; + this.zTile = movingobjectposition.blockZ; + this.inTile = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inData = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + super.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - super.posX)); + super.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - super.posY)); + super.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - super.posZ)); + var25 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); + super.posX -= super.motionX / (double)var25 * 0.05D; + super.posY -= super.motionY / (double)var25 * 0.05D; + super.posZ -= super.motionZ / (double)var25 * 0.05D; + this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); + this.inGround = true; + this.arrowShake = 7; + this.setIsCritical(false); + if(this.inTile != 0) { + Block.blocksList[this.inTile].onEntityCollidedWithBlock(super.worldObj, this.xTile, this.yTile, this.zTile, this); + } } + } - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { - this.prevRotationYaw += 360.0F; + if(this.getIsCritical()) { + for(l = 0; l < 4; ++l) { + super.worldObj.spawnParticle("crit", super.posX + super.motionX * (double)l / 4.0D, super.posY + super.motionY * (double)l / 4.0D, super.posZ + super.motionZ * (double)l / 4.0D, -super.motionX, -super.motionY + 0.2D, -super.motionZ); } - - this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; - this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; - float f4 = 0.99F; - f1 = 0.05F; - - if (this.isInWater()) - { - for (int j1 = 0; j1 < 4; ++j1) - { - f3 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f3, this.posY - this.motionY * (double)f3, this.posZ - this.motionZ * (double)f3, this.motionX, this.motionY, this.motionZ); - } - - f4 = 0.8F; + } + + super.posX += super.motionX; + super.posY += super.motionY; + super.posZ += super.motionZ; + var25 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); + super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); + + for(super.rotationPitch = (float)(Math.atan2(super.motionY, (double)var25) * 180.0D / 3.141592653589793D); super.rotationPitch - super.prevRotationPitch < -180.0F; super.prevRotationPitch -= 360.0F) { + ; + } + + while(super.rotationPitch - super.prevRotationPitch >= 180.0F) { + super.prevRotationPitch += 360.0F; + } + + while(super.rotationYaw - super.prevRotationYaw < -180.0F) { + super.prevRotationYaw -= 360.0F; + } + + while(super.rotationYaw - super.prevRotationYaw >= 180.0F) { + super.prevRotationYaw += 360.0F; + } + + super.rotationPitch = super.prevRotationPitch + (super.rotationPitch - super.prevRotationPitch) * 0.2F; + super.rotationYaw = super.prevRotationYaw + (super.rotationYaw - super.prevRotationYaw) * 0.2F; + float var27 = 0.99F; + f1 = 0.05F; + if(this.isInWater()) { + for(int var29 = 0; var29 < 4; ++var29) { + var24 = 0.25F; + super.worldObj.spawnParticle("bubble", super.posX - super.motionX * (double)var24, super.posY - super.motionY * (double)var24, super.posZ - super.motionZ * (double)var24, super.motionX, super.motionY, super.motionZ); } - double prevMotionY = motionY; - - this.motionX *= (double)f4; - this.motionY *= (double)f4; - this.motionZ *= (double)f4; - this.motionY -= (double)f1; - this.setPosition(this.posX, this.posY, this.posZ); - - if(Math.random() > 0.0) - { - worldObj.spawnParticle("flame", (double)(this.posX + Math.random() * 0.5 - 0.25), (double)(this.posY + Math.random() * 0.5 - 0.25), (double)(this.posZ + Math.random() * 0.5 - 0.25), 0.0D, 0.0D, 0.0D); - worldObj.spawnParticle("smoke", (double)(this.posX + Math.random() * 0.5 - 0.25), (double)(this.posY + Math.random() * 0.5 - 0.25), (double)(this.posZ + Math.random() * 0.5 - 0.25), 0.0D, 0.0D, 0.0D); - } - - if(this.ticksInAir > 10 && motionY < 0) - { - EntityFireSpearSeperated spear1 = new EntityFireSpearSeperated(this, 0.1F, 0.0F, 0.1F); - EntityFireSpearSeperated spear2 = new EntityFireSpearSeperated(this, -0.1F, 0.0F, -0.1F); - EntityFireSpearSeperated spear3 = new EntityFireSpearSeperated(this, 0.0F, 0.0F, 0.0F); - - if(!worldObj.isRemote) - { - worldObj.spawnEntityInWorld(spear1); - worldObj.spawnEntityInWorld(spear2); - worldObj.spawnEntityInWorld(spear3); - this.setDead(); - } + var27 = 0.8F; + } + + prevMotionY = super.motionY; + super.motionX *= (double)var27; + super.motionY *= (double)var27; + super.motionZ *= (double)var27; + super.motionY -= (double)f1; + this.setPosition(super.posX, super.posY, super.posZ); + if(Math.random() > 0.0D) { + super.worldObj.spawnParticle("flame", super.posX + Math.random() * 0.5D - 0.25D, super.posY + Math.random() * 0.5D - 0.25D, super.posZ + Math.random() * 0.5D - 0.25D, 0.0D, 0.0D, 0.0D); + super.worldObj.spawnParticle("smoke", super.posX + Math.random() * 0.5D - 0.25D, super.posY + Math.random() * 0.5D - 0.25D, super.posZ + Math.random() * 0.5D - 0.25D, 0.0D, 0.0D, 0.0D); + } + + if(this.ticksInAir > 10 && super.motionY < 0.0D) { + EntityFireSpearSeperated spear1 = new EntityFireSpearSeperated(this, 0.1F, 0.0F, 0.1F); + EntityFireSpearSeperated spear2 = new EntityFireSpearSeperated(this, -0.1F, 0.0F, -0.1F); + EntityFireSpearSeperated spear3 = new EntityFireSpearSeperated(this, 0.0F, 0.0F, 0.0F); + if(!super.worldObj.isRemote) { + super.worldObj.spawnEntityInWorld(spear1); + super.worldObj.spawnEntityInWorld(spear2); + super.worldObj.spawnEntityInWorld(spear3); + this.setDead(); } - - this.doBlockCollisions(); - } - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - - if (par1NBTTagCompound.hasKey("damage")) - { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if (par1NBTTagCompound.hasKey("pickup")) - { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } - else if (par1NBTTagCompound.hasKey("player")) - { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; - } - } - - /** - * Called by a player entity when they collide with an entity - */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) - { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) - { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - - if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) - { - flag = false; - } - - if (flag) - { - this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to - * prevent them from trampling crops - */ - protected boolean canTriggerWalking() - { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() - { - return 0.0F; - } - - public void setDamage(double par1) - { - this.damage = par1; - } - - public double getDamage() - { - return this.damage; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int par1) - { - this.knockbackStrength = par1; - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - public boolean canAttackWithItem() - { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public void setIsCritical(boolean par1) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } - else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public boolean getIsCritical() - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - @Override - public Entity getThrower() - { - return shootingEntity; - } - - @Override - public void setThrower(Entity entity) - { - shootingEntity = entity; - } - + } + + this.doBlockCollisions(); + } + + } + + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short)this.xTile); + par1NBTTagCompound.setShort("yTile", (short)this.yTile); + par1NBTTagCompound.setShort("zTile", (short)this.zTile); + par1NBTTagCompound.setByte("inTile", (byte)this.inTile); + par1NBTTagCompound.setByte("inData", (byte)this.inData); + par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte)(this.inGround?1:0)); + par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); + par1NBTTagCompound.setDouble("damage", this.damage); + } + + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inData = par1NBTTagCompound.getByte("inData") & 255; + this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + if(par1NBTTagCompound.hasKey("damage")) { + this.damage = par1NBTTagCompound.getDouble("damage"); + } + + if(par1NBTTagCompound.hasKey("pickup")) { + this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); + } else if(par1NBTTagCompound.hasKey("player")) { + this.canBePickedUp = par1NBTTagCompound.getBoolean("player")?1:0; + } + + } + + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if(!super.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; + if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { + flag = false; + } + + if(flag) { + this.playSound("random.pop", 0.2F, ((super.rand.nextFloat() - super.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + par1EntityPlayer.onItemPickup(this, 1); + this.setDead(); + } + } + + } + + protected boolean canTriggerWalking() { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() { + return 0.0F; + } + + public void setDamage(double par1) { + this.damage = par1; + } + + public double getDamage() { + return this.damage; + } + + public void setKnockbackStrength(int par1) { + this.knockbackStrength = par1; + } + + public boolean canAttackWithItem() { + return false; + } + + public void setIsCritical(boolean par1) { + byte b0 = super.dataWatcher.getWatchableObjectByte(16); + if(par1) { + super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); + } else { + super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); + } + + } + + public boolean getIsCritical() { + byte b0 = super.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } + + public Entity getThrower() { + return this.shootingEntity; + } + + public void setThrower(Entity entity) { + this.shootingEntity = entity; + } } diff --git a/common/rebelkeithy/mods/atum/entities/projectiles/EntityFireSpearSeperated.java b/common/rebelkeithy/mods/atum/entities/projectiles/EntityFireSpearSeperated.java index d955708..a24576f 100644 --- a/common/rebelkeithy/mods/atum/entities/projectiles/EntityFireSpearSeperated.java +++ b/common/rebelkeithy/mods/atum/entities/projectiles/EntityFireSpearSeperated.java @@ -1,14 +1,16 @@ package rebelkeithy.mods.atum.entities.projectiles; -import java.util.List; - import cpw.mods.fml.common.registry.IThrowableEntity; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; + +import java.util.List; + import net.minecraft.block.Block; import net.minecraft.enchantment.EnchantmentThorns; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.IProjectile; import net.minecraft.entity.monster.EntityEnderman; import net.minecraft.entity.player.EntityPlayer; @@ -23,617 +25,458 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; - -public class EntityFireSpearSeperated extends Entity implements IProjectile, IThrowableEntity -{ - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private int inTile = 0; - private int inData = 0; - private boolean inGround = false; - - /** 1 if the player can pick up the arrow */ - public int canBePickedUp = 0; - - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake = 0; - - /** The owner of this arrow. */ - public Entity shootingEntity; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - - /** The amount of knockback an arrow applies when it hits a mob. */ - private int knockbackStrength; - - public EntityFireSpearSeperated(EntityFireSpearCombined spear, float dmx, float dmy, float dmz) - { - super(spear.worldObj); - this.setPosition(spear.posX, spear.posY, spear.posZ); - this.renderDistanceWeight = spear.renderDistanceWeight; - this.shootingEntity = spear.shootingEntity; - this.canBePickedUp = spear.canBePickedUp; - - // Set location and angles - this.lastTickPosX = spear.lastTickPosX; - this.lastTickPosY = spear.lastTickPosY; - this.lastTickPosZ = spear.lastTickPosZ; - this.rotationYaw = spear.rotationYaw; - this.rotationPitch = spear.rotationPitch; - - this.motionX = spear.motionX + dmx; - this.motionY = spear.motionY + dmy; - this.motionZ = spear.motionZ + dmz; - //this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, 0.9F * 1.5F, 1.0F); - } - - public EntityFireSpearSeperated(World par1World) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - - this.setSize(0.5F, 0.5F); - } - - public EntityFireSpearSeperated(World par1World, double par2, double par4, double par6) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - this.yOffset = 0.0F; - } - - public EntityFireSpearSeperated(World par1World, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - this.posY; - double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); - - if (d3 >= 1.0E-7D) - { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); - } - } - - public EntityFireSpearSeperated(World par1World, EntityLiving par2EntityLiving, float par3) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.posY -= 0.10000000149011612D; - this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); - } - - protected void entityInit() - { - this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. - */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) - { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par3 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par5 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) - { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the velocity to the args. Args: x, y, z - */ - public void setVelocity(double par1, double par3, double par5) - { - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.ticksInGround = 0; - } - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() - { - super.onUpdate(); - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); - } - - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - - if (i > 0) - { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) - { - this.inGround = true; - } - } - - if (this.arrowShake > 0) - { - --this.arrowShake; - } - - if (this.inGround) - { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - - if (j == this.inTile && k == this.inData) - { - ++this.ticksInGround; - - if (this.ticksInGround == 1200) - { - this.setDead(); - } - } - else - { - this.inGround = false; - this.motionX *= (double)(this.rand.nextFloat() * 0.2F); - this.motionY *= (double)(this.rand.nextFloat() * 0.2F); - this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; +import rebelkeithy.mods.atum.entities.projectiles.EntityFireSpearCombined; + +public class EntityFireSpearSeperated extends Entity implements IProjectile, IThrowableEntity { + + private int xTile = -1; + private int yTile = -1; + private int zTile = -1; + private int inTile = 0; + private int inData = 0; + private boolean inGround = false; + public int canBePickedUp = 0; + public int arrowShake = 0; + public Entity shootingEntity; + private int ticksInGround; + private int ticksInAir = 0; + private double damage = 2.0D; + private int knockbackStrength; + + + public EntityFireSpearSeperated(EntityFireSpearCombined spear, float dmx, float dmy, float dmz) { + super(spear.worldObj); + this.setPosition(spear.posX, spear.posY, spear.posZ); + super.renderDistanceWeight = spear.renderDistanceWeight; + this.shootingEntity = spear.shootingEntity; + this.canBePickedUp = spear.canBePickedUp; + super.lastTickPosX = spear.lastTickPosX; + super.lastTickPosY = spear.lastTickPosY; + super.lastTickPosZ = spear.lastTickPosZ; + super.rotationYaw = spear.rotationYaw; + super.rotationPitch = spear.rotationPitch; + super.motionX = spear.motionX + (double)dmx; + super.motionY = spear.motionY + (double)dmy; + super.motionZ = spear.motionZ + (double)dmz; + } + + public EntityFireSpearSeperated(World par1World) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.setSize(0.5F, 0.5F); + } + + public EntityFireSpearSeperated(World par1World, double par2, double par4, double par6) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.setPosition(par2, par4, par6); + super.yOffset = 0.0F; + } + + public EntityFireSpearSeperated(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + super.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + double d0 = par3EntityLiving.posX - par2EntityLiving.posX; + double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - super.posY; + double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; + double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); + if(d3 >= 1.0E-7D) { + float f2 = (float)(Math.atan2(d2, d0) * 180.0D / 3.141592653589793D) - 90.0F; + float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / 3.141592653589793D)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(par2EntityLiving.posX + d4, super.posY, par2EntityLiving.posZ + d5, f2, f3); + super.yOffset = 0.0F; + float f4 = (float)d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); + } + + } + + public EntityFireSpearSeperated(World par1World, EntityLivingBase par2EntityLiving, float par3) { + super(par1World); + super.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.setSize(0.5F, 0.5F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + super.posX -= (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); + super.posY -= 0.10000000149011612D; + super.posZ -= (double)(MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); + this.setPosition(super.posX, super.posY, super.posZ); + super.yOffset = 0.0F; + super.motionX = (double)(-MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); + super.motionZ = (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); + super.motionY = (double)(-MathHelper.sin(super.rotationPitch / 180.0F * 3.1415927F)); + this.setThrowableHeading(super.motionX, super.motionY, super.motionZ, par3 * 1.5F, 1.0F); + } + + protected void entityInit() { + super.dataWatcher.addObject(16, Byte.valueOf((byte)0)); + } + + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double)f2; + par3 /= (double)f2; + par5 /= (double)f2; + par1 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; + par3 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; + par5 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; + par1 *= (double)par7; + par3 *= (double)par7; + par5 *= (double)par7; + super.motionX = par1; + super.motionY = par3; + super.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / 3.141592653589793D); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { + this.setPosition(par1, par3, par5); + this.setRotation(par7, par8); + } + + @SideOnly(Side.CLIENT) + public void setVelocity(double par1, double par3, double par5) { + super.motionX = par1; + super.motionY = par3; + super.motionZ = par5; + if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch; + super.prevRotationYaw = super.rotationYaw; + this.setLocationAndAngles(super.posX, super.posY, super.posZ, super.rotationYaw, super.rotationPitch); + this.ticksInGround = 0; + } + + } + + public void onUpdate() { + super.onUpdate(); + if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { + float i = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); + super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); + super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(super.motionY, (double)i) * 180.0D / 3.141592653589793D); + } + + int var16 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + if(var16 > 0) { + Block.blocksList[var16].setBlockBoundsBasedOnState(super.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB vec3 = Block.blocksList[var16].getCollisionBoundingBoxFromPool(super.worldObj, this.xTile, this.yTile, this.zTile); + if(vec3 != null && vec3.isVecInside(super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ))) { + this.inGround = true; + } + } + + if(this.arrowShake > 0) { + --this.arrowShake; + } + + if(this.inGround) { + int var17 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + int vec31 = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + if(var17 == this.inTile && vec31 == this.inData) { + ++this.ticksInGround; + if(this.ticksInGround == 1200) { + this.setDead(); } - } - else - { - ++this.ticksInAir; - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) - { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - int l; - float f1; - - for (l = 0; l < list.size(); ++l) - { - Entity entity1 = (Entity)list.get(l); - - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) - { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - - if (movingobjectposition1 != null) - { - double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - - if (d1 < d0 || d0 == 0.0D) - { - entity = entity1; - d0 = d1; - } - } - } - } - - if (entity != null) - { - movingobjectposition = new MovingObjectPosition(entity); + } else { + this.inGround = false; + super.motionX *= (double)(super.rand.nextFloat() * 0.2F); + super.motionY *= (double)(super.rand.nextFloat() * 0.2F); + super.motionZ *= (double)(super.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } + } else { + ++this.ticksInAir; + Vec3 var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); + Vec3 var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); + MovingObjectPosition movingobjectposition = super.worldObj.rayTraceBlocks_do_do(var18, var19, false, true); + var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); + var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); + if(movingobjectposition != null) { + var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = super.worldObj.getEntitiesWithinAABBExcludingEntity(this, super.boundingBox.addCoord(super.motionX, super.motionY, super.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + + int l; + float f1; + for(l = 0; l < list.size(); ++l) { + Entity f2 = (Entity)list.get(l); + if(f2.canBeCollidedWith() && (f2 != this.shootingEntity || this.ticksInAir >= 5)) { + f1 = 0.3F; + AxisAlignedBB f3 = f2.boundingBox.expand((double)f1, (double)f1, (double)f1); + MovingObjectPosition f4 = f3.calculateIntercept(var18, var19); + if(f4 != null) { + double j1 = var18.distanceTo(f4.hitVec); + if(j1 < d0 || d0 == 0.0D) { + entity = f2; + d0 = j1; + } + } } + } - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) - { - EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; + if(entity != null) { + movingobjectposition = new MovingObjectPosition(entity); + } - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).func_96122_a(entityplayer)) - { - movingobjectposition = null; - } + if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer var20 = (EntityPlayer)movingobjectposition.entityHit; + if(var20.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(var20)) { + movingobjectposition = null; } - - float f2; - float f3; - - if (movingobjectposition != null) - { - if (movingobjectposition.entityHit != null) - { - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double)f2 * this.damage); - - if (this.getIsCritical()) - { - i1 += this.rand.nextInt(i1 / 2 + 2); - } - - DamageSource damagesource = null; - - if (this.shootingEntity == null) - { - damagesource = DamageSource.causeThrownDamage(this, this); - } - else - { - damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) - { - movingobjectposition.entityHit.setFire(5); - } - - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) - { - if (movingobjectposition.entityHit instanceof EntityLiving) - { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; - - if (!this.worldObj.isRemote) - { - entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); - } - - if (this.knockbackStrength > 0) - { - f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - - if (f3 > 0.0F) - { - movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3); - } - } - - if (this.shootingEntity != null) - { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); - } - - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) - { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); - } + } + + float var21; + float var22; + if(movingobjectposition != null) { + if(movingobjectposition.entityHit != null) { + var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); + int var23 = MathHelper.ceiling_double_int((double)var22 * this.damage); + if(this.getIsCritical()) { + var23 += super.rand.nextInt(var23 / 2 + 2); + } + + DamageSource var24 = null; + if(this.shootingEntity == null) { + var24 = DamageSource.causeThrownDamage(this, this); + } else { + var24 = DamageSource.causeThrownDamage(this, this.shootingEntity); + } + + if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + movingobjectposition.entityHit.setFire(5); + } + + if(movingobjectposition.entityHit.attackEntityFrom(var24, var23)) { + if(movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; + if(!super.worldObj.isRemote) { + entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); + } + + if(this.knockbackStrength > 0) { + var21 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); + if(var21 > 0.0F) { + movingobjectposition.entityHit.addVelocity(super.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21, 0.1D, super.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21); } - - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - - if (!(movingobjectposition.entityHit instanceof EntityEnderman)) - { - this.setDead(); - } - } - else - { - this.motionX *= -0.10000000149011612D; - this.motionY *= -0.10000000149011612D; - this.motionZ *= -0.10000000149011612D; - this.rotationYaw += 180.0F; - this.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } - else - { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ)); - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double)f2 * 0.05000000074505806D; - this.posY -= this.motionY / (double)f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / (double)f2 * 0.05000000074505806D; - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - - if (this.inTile != 0) - { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } + } + + if(this.shootingEntity != null) { + EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, super.rand); + } + + if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + } + } + + this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); + if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { + this.setDead(); + } + } else { + super.motionX *= -0.10000000149011612D; + super.motionY *= -0.10000000149011612D; + super.motionZ *= -0.10000000149011612D; + super.rotationYaw += 180.0F; + super.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } else { + this.xTile = movingobjectposition.blockX; + this.yTile = movingobjectposition.blockY; + this.zTile = movingobjectposition.blockZ; + this.inTile = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inData = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + super.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - super.posX)); + super.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - super.posY)); + super.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - super.posZ)); + var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); + super.posX -= super.motionX / (double)var22 * 0.05000000074505806D; + super.posY -= super.motionY / (double)var22 * 0.05000000074505806D; + super.posZ -= super.motionZ / (double)var22 * 0.05000000074505806D; + this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); + this.inGround = true; + this.arrowShake = 7; + this.setIsCritical(false); + if(this.inTile != 0) { + Block.blocksList[this.inTile].onEntityCollidedWithBlock(super.worldObj, this.xTile, this.yTile, this.zTile, this); + } } + } - if (this.getIsCritical()) - { - for (l = 0; l < 4; ++l) - { - this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); - } + if(this.getIsCritical()) { + for(l = 0; l < 4; ++l) { + super.worldObj.spawnParticle("crit", super.posX + super.motionX * (double)l / 4.0D, super.posY + super.motionY * (double)l / 4.0D, super.posZ + super.motionZ * (double)l / 4.0D, -super.motionX, -super.motionY + 0.2D, -super.motionZ); } - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { - this.prevRotationYaw -= 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { - this.prevRotationYaw += 360.0F; - } - - this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; - this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; - float f4 = 0.99F; - f1 = 0.05F; - - if (this.isInWater()) - { - for (int j1 = 0; j1 < 4; ++j1) - { - f3 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f3, this.posY - this.motionY * (double)f3, this.posZ - this.motionZ * (double)f3, this.motionX, this.motionY, this.motionZ); - } - - f4 = 0.8F; - } - - this.motionX *= (double)f4; - this.motionY *= (double)f4; - this.motionZ *= (double)f4; - this.motionY -= (double)f1; - this.setPosition(this.posX, this.posY, this.posZ); - this.doBlockCollisions(); - - if(Math.random() > 0.0) - { - worldObj.spawnParticle("flame", (double)(this.posX + Math.random() * 0.5 - 0.25), (double)(this.posY + Math.random() * 0.5 - 0.25), (double)(this.posZ + Math.random() * 0.5 - 0.25), 0.0D, 0.0D, 0.0D); - worldObj.spawnParticle("smoke", (double)(this.posX + Math.random() * 0.5 - 0.25), (double)(this.posY + Math.random() * 0.5 - 0.25), (double)(this.posZ + Math.random() * 0.5 - 0.25), 0.0D, 0.0D, 0.0D); - } - } - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - - if (par1NBTTagCompound.hasKey("damage")) - { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if (par1NBTTagCompound.hasKey("pickup")) - { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } - else if (par1NBTTagCompound.hasKey("player")) - { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; - } - } - - /** - * Called by a player entity when they collide with an entity - */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) - { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) - { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - - if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) - { - flag = false; - } - - if (flag) - { - this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); + } + + super.posX += super.motionX; + super.posY += super.motionY; + super.posZ += super.motionZ; + var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); + super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); + + for(super.rotationPitch = (float)(Math.atan2(super.motionY, (double)var22) * 180.0D / 3.141592653589793D); super.rotationPitch - super.prevRotationPitch < -180.0F; super.prevRotationPitch -= 360.0F) { + ; + } + + while(super.rotationPitch - super.prevRotationPitch >= 180.0F) { + super.prevRotationPitch += 360.0F; + } + + while(super.rotationYaw - super.prevRotationYaw < -180.0F) { + super.prevRotationYaw -= 360.0F; + } + + while(super.rotationYaw - super.prevRotationYaw >= 180.0F) { + super.prevRotationYaw += 360.0F; + } + + super.rotationPitch = super.prevRotationPitch + (super.rotationPitch - super.prevRotationPitch) * 0.2F; + super.rotationYaw = super.prevRotationYaw + (super.rotationYaw - super.prevRotationYaw) * 0.2F; + float var25 = 0.99F; + f1 = 0.05F; + if(this.isInWater()) { + for(int var26 = 0; var26 < 4; ++var26) { + var21 = 0.25F; + super.worldObj.spawnParticle("bubble", super.posX - super.motionX * (double)var21, super.posY - super.motionY * (double)var21, super.posZ - super.motionZ * (double)var21, super.motionX, super.motionY, super.motionZ); } - } - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to - * prevent them from trampling crops - */ - protected boolean canTriggerWalking() - { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() - { - return 0.0F; - } - - public void setDamage(double par1) - { - this.damage = par1; - } - - public double getDamage() - { - return this.damage; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int par1) - { - this.knockbackStrength = par1; - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - public boolean canAttackWithItem() - { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public void setIsCritical(boolean par1) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } - else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public boolean getIsCritical() - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - @Override - public Entity getThrower() - { - return shootingEntity; - } - - @Override - public void setThrower(Entity entity) - { - shootingEntity = entity; - } + var25 = 0.8F; + } + + super.motionX *= (double)var25; + super.motionY *= (double)var25; + super.motionZ *= (double)var25; + super.motionY -= (double)f1; + this.setPosition(super.posX, super.posY, super.posZ); + this.doBlockCollisions(); + if(Math.random() > 0.0D) { + super.worldObj.spawnParticle("flame", super.posX + Math.random() * 0.5D - 0.25D, super.posY + Math.random() * 0.5D - 0.25D, super.posZ + Math.random() * 0.5D - 0.25D, 0.0D, 0.0D, 0.0D); + super.worldObj.spawnParticle("smoke", super.posX + Math.random() * 0.5D - 0.25D, super.posY + Math.random() * 0.5D - 0.25D, super.posZ + Math.random() * 0.5D - 0.25D, 0.0D, 0.0D, 0.0D); + } + } + + } + + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short)this.xTile); + par1NBTTagCompound.setShort("yTile", (short)this.yTile); + par1NBTTagCompound.setShort("zTile", (short)this.zTile); + par1NBTTagCompound.setByte("inTile", (byte)this.inTile); + par1NBTTagCompound.setByte("inData", (byte)this.inData); + par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte)(this.inGround?1:0)); + par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); + par1NBTTagCompound.setDouble("damage", this.damage); + } + + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inData = par1NBTTagCompound.getByte("inData") & 255; + this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + if(par1NBTTagCompound.hasKey("damage")) { + this.damage = par1NBTTagCompound.getDouble("damage"); + } + + if(par1NBTTagCompound.hasKey("pickup")) { + this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); + } else if(par1NBTTagCompound.hasKey("player")) { + this.canBePickedUp = par1NBTTagCompound.getBoolean("player")?1:0; + } + + } + + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if(!super.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; + if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { + flag = false; + } + + if(flag) { + this.playSound("random.pop", 0.2F, ((super.rand.nextFloat() - super.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + par1EntityPlayer.onItemPickup(this, 1); + this.setDead(); + } + } + + } + + protected boolean canTriggerWalking() { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() { + return 0.0F; + } + + public void setDamage(double par1) { + this.damage = par1; + } + + public double getDamage() { + return this.damage; + } + + public void setKnockbackStrength(int par1) { + this.knockbackStrength = par1; + } + + public boolean canAttackWithItem() { + return false; + } + + public void setIsCritical(boolean par1) { + byte b0 = super.dataWatcher.getWatchableObjectByte(16); + if(par1) { + super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); + } else { + super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); + } + + } + + public boolean getIsCritical() { + byte b0 = super.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } + + public Entity getThrower() { + return this.shootingEntity; + } + + public void setThrower(Entity entity) { + this.shootingEntity = entity; + } } diff --git a/common/rebelkeithy/mods/atum/entities/projectiles/RenderFireSpear.java b/common/rebelkeithy/mods/atum/entities/projectiles/RenderFireSpear.java index a9b9241..b338db3 100644 --- a/common/rebelkeithy/mods/atum/entities/projectiles/RenderFireSpear.java +++ b/common/rebelkeithy/mods/atum/entities/projectiles/RenderFireSpear.java @@ -1,88 +1,83 @@ package rebelkeithy.mods.atum.entities.projectiles; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.entity.Render; import net.minecraft.entity.Entity; import net.minecraft.util.MathHelper; +import net.minecraft.util.ResourceLocation; import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import rebelkeithy.mods.atum.Atum; +import rebelkeithy.mods.atum.entities.projectiles.EntityFireSpearCombined; @SideOnly(Side.CLIENT) -public class RenderFireSpear extends Render -{ - public void renderArrow(EntityFireSpearCombined par1EntityFireSpearCombined, double par2, double par4, double par6, float par8, float par9) - { - this.loadTexture("/mods/Atum/textures/items/ArrowEntity.png"); - GL11.glPushMatrix(); - GL11.glTranslatef((float)par2, (float)par4, (float)par6); - GL11.glRotatef(par1EntityFireSpearCombined.prevRotationYaw + (par1EntityFireSpearCombined.rotationYaw - par1EntityFireSpearCombined.prevRotationYaw) * par9 - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(par1EntityFireSpearCombined.prevRotationPitch + (par1EntityFireSpearCombined.rotationPitch - par1EntityFireSpearCombined.prevRotationPitch) * par9, 0.0F, 0.0F, 1.0F); - Tessellator tessellator = Tessellator.instance; - byte b0 = 0; - float f2 = 0.0F; - float f3 = 0.5F; - float f4 = (float)(0 + b0 * 10) / 32.0F; - float f5 = (float)(5 + b0 * 10) / 32.0F; - float f6 = 0.0F; - float f7 = 0.15625F; - float f8 = (float)(5 + b0 * 10) / 32.0F; - float f9 = (float)(10 + b0 * 10) / 32.0F; - float f10 = 0.05625F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f11 = (float)par1EntityFireSpearCombined.arrowShake - par9; +public class RenderFireSpear extends Render { + + public void renderArrow(EntityFireSpearCombined par1EntityFireSpearCombined, double par2, double par4, double par6, float par8, float par9) { + GL11.glPushMatrix(); + GL11.glTranslatef((float) par2, (float) par4, (float) par6); + GL11.glRotatef(par1EntityFireSpearCombined.prevRotationYaw + (par1EntityFireSpearCombined.rotationYaw - par1EntityFireSpearCombined.prevRotationYaw) * par9 - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(par1EntityFireSpearCombined.prevRotationPitch + (par1EntityFireSpearCombined.rotationPitch - par1EntityFireSpearCombined.prevRotationPitch) * par9, 0.0F, 0.0F, 1.0F); + Tessellator tessellator = Tessellator.instance; + byte b0 = 0; + float f2 = 0.0F; + float f3 = 0.5F; + float f4 = (float) (0 + b0 * 10) / 32.0F; + float f5 = (float) (5 + b0 * 10) / 32.0F; + float f6 = 0.0F; + float f7 = 0.15625F; + float f8 = (float) (5 + b0 * 10) / 32.0F; + float f9 = (float) (10 + b0 * 10) / 32.0F; + float f10 = 0.05625F; + GL11.glEnable('\u803a'); + float f11 = (float) par1EntityFireSpearCombined.arrowShake - par9; + if (f11 > 0.0F) { + float i = -MathHelper.sin(f11 * 3.0F) * f11; + GL11.glRotatef(i, 0.0F, 0.0F, 1.0F); + } - if (f11 > 0.0F) - { - float f12 = -MathHelper.sin(f11 * 3.0F) * f11; - GL11.glRotatef(f12, 0.0F, 0.0F, 1.0F); - } + GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F); + GL11.glScalef(f10, f10, f10); + GL11.glTranslatef(-4.0F, 0.0F, 0.0F); + GL11.glNormal3f(f10, 0.0F, 0.0F); + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double) f6, (double) f8); + tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double) f7, (double) f8); + tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double) f7, (double) f9); + tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double) f6, (double) f9); + tessellator.draw(); + GL11.glNormal3f(-f10, 0.0F, 0.0F); + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double) f6, (double) f8); + tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double) f7, (double) f8); + tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double) f7, (double) f9); + tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double) f6, (double) f9); + tessellator.draw(); - GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F); - GL11.glScalef(f10, f10, f10); - GL11.glTranslatef(-4.0F, 0.0F, 0.0F); - GL11.glNormal3f(f10, 0.0F, 0.0F); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)f6, (double)f8); - tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)f7, (double)f8); - tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)f7, (double)f9); - tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)f6, (double)f9); - tessellator.draw(); - GL11.glNormal3f(-f10, 0.0F, 0.0F); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)f6, (double)f8); - tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)f7, (double)f8); - tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)f7, (double)f9); - tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)f6, (double)f9); - tessellator.draw(); + for (int var23 = 0; var23 < 4; ++var23) { + GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); + GL11.glNormal3f(0.0F, 0.0F, f10); + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(-8.0D, -2.0D, 0.0D, (double) f2, (double) f4); + tessellator.addVertexWithUV(8.0D, -2.0D, 0.0D, (double) f3, (double) f4); + tessellator.addVertexWithUV(8.0D, 2.0D, 0.0D, (double) f3, (double) f5); + tessellator.addVertexWithUV(-8.0D, 2.0D, 0.0D, (double) f2, (double) f5); + tessellator.draw(); + } - for (int i = 0; i < 4; ++i) - { - GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); - GL11.glNormal3f(0.0F, 0.0F, f10); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-8.0D, -2.0D, 0.0D, (double)f2, (double)f4); - tessellator.addVertexWithUV(8.0D, -2.0D, 0.0D, (double)f3, (double)f4); - tessellator.addVertexWithUV(8.0D, 2.0D, 0.0D, (double)f3, (double)f5); - tessellator.addVertexWithUV(-8.0D, 2.0D, 0.0D, (double)f2, (double)f5); - tessellator.draw(); - } + GL11.glDisable('\u803a'); + GL11.glPopMatrix(); + } - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - GL11.glPopMatrix(); - } + public void doRender(Entity par1Entity, double par2, double par4, double par6, float par8, float par9) { + this.renderArrow((EntityFireSpearCombined) par1Entity, par2, par4, par6, par8, par9); + } - /** - * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then - * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic - * (Render 0.0F) { + float i = -MathHelper.sin(f11 * 3.0F) * f11; + GL11.glRotatef(i, 0.0F, 0.0F, 1.0F); + } - if (f11 > 0.0F) - { - float f12 = -MathHelper.sin(f11 * 3.0F) * f11; - GL11.glRotatef(f12, 0.0F, 0.0F, 1.0F); - } + GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F); + GL11.glScalef(f10, f10, f10); + GL11.glTranslatef(-4.0F, 0.0F, 0.0F); + GL11.glNormal3f(f10, 0.0F, 0.0F); + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double) f6, (double) f8); + tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double) f7, (double) f8); + tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double) f7, (double) f9); + tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double) f6, (double) f9); + tessellator.draw(); + GL11.glNormal3f(-f10, 0.0F, 0.0F); + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double) f6, (double) f8); + tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double) f7, (double) f8); + tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double) f7, (double) f9); + tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double) f6, (double) f9); + tessellator.draw(); - GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F); - GL11.glScalef(f10, f10, f10); - GL11.glTranslatef(-4.0F, 0.0F, 0.0F); - GL11.glNormal3f(f10, 0.0F, 0.0F); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)f6, (double)f8); - tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)f7, (double)f8); - tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)f7, (double)f9); - tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)f6, (double)f9); - tessellator.draw(); - GL11.glNormal3f(-f10, 0.0F, 0.0F); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)f6, (double)f8); - tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)f7, (double)f8); - tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)f7, (double)f9); - tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)f6, (double)f9); - tessellator.draw(); + for (int var23 = 0; var23 < 4; ++var23) { + GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); + GL11.glNormal3f(0.0F, 0.0F, f10); + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(-8.0D, -2.0D, 0.0D, (double) f2, (double) f4); + tessellator.addVertexWithUV(8.0D, -2.0D, 0.0D, (double) f3, (double) f4); + tessellator.addVertexWithUV(8.0D, 2.0D, 0.0D, (double) f3, (double) f5); + tessellator.addVertexWithUV(-8.0D, 2.0D, 0.0D, (double) f2, (double) f5); + tessellator.draw(); + } - for (int i = 0; i < 4; ++i) - { - GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); - GL11.glNormal3f(0.0F, 0.0F, f10); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-8.0D, -2.0D, 0.0D, (double)f2, (double)f4); - tessellator.addVertexWithUV(8.0D, -2.0D, 0.0D, (double)f3, (double)f4); - tessellator.addVertexWithUV(8.0D, 2.0D, 0.0D, (double)f3, (double)f5); - tessellator.addVertexWithUV(-8.0D, 2.0D, 0.0D, (double)f2, (double)f5); - tessellator.draw(); - } + GL11.glDisable('\u803a'); + GL11.glPopMatrix(); + } - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - GL11.glPopMatrix(); - } + public void doRender(Entity par1Entity, double par2, double par4, double par6, float par8, float par9) { + System.out.println("render"); + this.renderArrow((EntityFireSpearCombined) par1Entity, par2, par4, par6, par8, par9); + } - /** - * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then - * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic - * (Render 0) { + int k1 = this.furnaceRand.nextInt(21) + 10; + if(k1 > itemstack.stackSize) { + k1 = itemstack.stackSize; + } + + itemstack.stackSize -= k1; + EntityItem entityitem = new EntityItem(par1World, (double)((float)par2 + f), (double)((float)par3 + f1), (double)((float)par4 + f2), new ItemStack(itemstack.itemID, k1, itemstack.getItemDamage())); + if(itemstack.hasTagCompound()) { + entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (double)((float)this.furnaceRand.nextGaussian() * f3); + entityitem.motionY = (double)((float)this.furnaceRand.nextGaussian() * f3 + 0.2F); + entityitem.motionZ = (double)((float)this.furnaceRand.nextGaussian() * f3); + par1World.spawnEntityInWorld(entityitem); + } + } } - if (Block.opaqueCubeLookup[i1] && !Block.opaqueCubeLookup[l]) - { - b0 = 2; - } + par1World.func_96440_m(par2, par3, par4, par5); + } + } - if (Block.opaqueCubeLookup[j1] && !Block.opaqueCubeLookup[k1]) - { - b0 = 5; - } + super.breakBlock(par1World, par2, par3, par4, par5, par6); + } - if (Block.opaqueCubeLookup[k1] && !Block.opaqueCubeLookup[j1]) - { - b0 = 4; - } + public boolean hasComparatorInputOverride() { + return true; + } - par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 2); - } - } - - @SideOnly(Side.CLIENT) - - /** - * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata - */ - @Override - public Icon getIcon(int par1, int par2) - { - if(par2 == 0) - par2 = 3; - - return par1 == 1 ? this.field_94458_cO : (par1 == 0 ? this.field_94458_cO : (par1 != par2 ? this.blockIcon : this.field_94459_cP)); - } - - @SideOnly(Side.CLIENT) - - /** - * When this method is called, your block should register all the icons it needs with the given IconRegister. This - * is the only chance you get to register icons. - */ - @Override - public void registerIcons(IconRegister par1IconRegister) - { - this.blockIcon = par1IconRegister.registerIcon("Atum:FurnaceTop"); - this.field_94459_cP = par1IconRegister.registerIcon(this.isActive ? "Atum:FurnaceBurning" : "Atum:FurnaceFront"); - this.field_94458_cO = par1IconRegister.registerIcon("Atum:FurnaceTop"); - } - - /** - * Called upon block activation (right click on the block.) - */ - @Override - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) - { - if (par1World.isRemote) - { - return true; - } - else - { - TileEntityLimestoneFurnace TileEntityLimestoneFurnace = (TileEntityLimestoneFurnace)par1World.getBlockTileEntity(par2, par3, par4); - - if (TileEntityLimestoneFurnace != null) - { - //par5EntityPlayer.displayGUIFurnace(TileEntityLimestoneFurnace); - par5EntityPlayer.openGui(Atum.instance, 0, par1World, par2, par3, par4); - } + public int getComparatorInputOverride(World par1World, int par2, int par3, int par4, int par5) { + return Container.calcRedstoneFromInventory((IInventory)par1World.getBlockTileEntity(par2, par3, par4)); + } - return true; - } - } - - /** - * Update which block ID the furnace is using depending on whether or not it is burning - */ - public static void updateFurnaceBlockState(boolean par0, World par1World, int par2, int par3, int par4) - { - int l = par1World.getBlockMetadata(par2, par3, par4); - TileEntity tileentity = par1World.getBlockTileEntity(par2, par3, par4); - keepFurnaceInventory = true; - - if (par0) - { - par1World.setBlock(par2, par3, par4, AtumBlocks.furnaceBurning.blockID); - } - else - { - par1World.setBlock(par2, par3, par4, AtumBlocks.furnaceIdle.blockID); - } - - keepFurnaceInventory = false; - par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); - - if (tileentity != null) - { - tileentity.validate(); - par1World.setBlockTileEntity(par2, par3, par4, tileentity); - } - } - - @SideOnly(Side.CLIENT) - - /** - * A randomly called display update to be able to add particles or other items for display - */ - @Override - public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) - { - if (this.isActive) - { - int l = par1World.getBlockMetadata(par2, par3, par4); - float f = (float)par2 + 0.5F; - float f1 = (float)par3 + 0.0F + par5Random.nextFloat() * 6.0F / 16.0F; - float f2 = (float)par4 + 0.5F; - float f3 = 0.52F; - float f4 = par5Random.nextFloat() * 0.6F - 0.3F; - - if (l == 4) - { - par1World.spawnParticle("smoke", (double)(f - f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); - par1World.spawnParticle("flame", (double)(f - f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); - } - else if (l == 5) - { - par1World.spawnParticle("smoke", (double)(f + f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); - par1World.spawnParticle("flame", (double)(f + f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); - } - else if (l == 2) - { - par1World.spawnParticle("smoke", (double)(f + f4), (double)f1, (double)(f2 - f3), 0.0D, 0.0D, 0.0D); - par1World.spawnParticle("flame", (double)(f + f4), (double)f1, (double)(f2 - f3), 0.0D, 0.0D, 0.0D); - } - else if (l == 3) - { - par1World.spawnParticle("smoke", (double)(f + f4), (double)f1, (double)(f2 + f3), 0.0D, 0.0D, 0.0D); - par1World.spawnParticle("flame", (double)(f + f4), (double)f1, (double)(f2 + f3), 0.0D, 0.0D, 0.0D); - } - } - } - - /** - * Returns a new instance of a block's tile entity class. Called on placing the block. - */ - @Override - public TileEntity createNewTileEntity(World par1World) - { - return new TileEntityLimestoneFurnace(); - } - - /** - * Called when the block is placed in the world. - */ - @Override - public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack) - { - int l = MathHelper.floor_double((double)(par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; - - if (l == 0) - { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 2, 2); - } - - if (l == 1) - { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 5, 2); - } - - if (l == 2) - { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 3, 2); - } - - if (l == 3) - { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 4, 2); - } - - if (par6ItemStack.hasDisplayName()) - { - ((TileEntityLimestoneFurnace)par1World.getBlockTileEntity(par2, par3, par4)).func_94129_a(par6ItemStack.getDisplayName()); - } - } - - /** - * ejects contained items into the world, and notifies neighbours of an update, as appropriate - */ - @Override - public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) - { - if (!keepFurnaceInventory) - { - TileEntityLimestoneFurnace TileEntityLimestoneFurnace = (TileEntityLimestoneFurnace)par1World.getBlockTileEntity(par2, par3, par4); - - if (TileEntityLimestoneFurnace != null) - { - for (int j1 = 0; j1 < TileEntityLimestoneFurnace.getSizeInventory(); ++j1) - { - ItemStack itemstack = TileEntityLimestoneFurnace.getStackInSlot(j1); - - if (itemstack != null) - { - float f = this.furnaceRand.nextFloat() * 0.8F + 0.1F; - float f1 = this.furnaceRand.nextFloat() * 0.8F + 0.1F; - float f2 = this.furnaceRand.nextFloat() * 0.8F + 0.1F; - - while (itemstack.stackSize > 0) - { - int k1 = this.furnaceRand.nextInt(21) + 10; - - if (k1 > itemstack.stackSize) - { - k1 = itemstack.stackSize; - } - - itemstack.stackSize -= k1; - EntityItem entityitem = new EntityItem(par1World, (double)((float)par2 + f), (double)((float)par3 + f1), (double)((float)par4 + f2), new ItemStack(itemstack.itemID, k1, itemstack.getItemDamage())); - - if (itemstack.hasTagCompound()) - { - entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); - } - - float f3 = 0.05F; - entityitem.motionX = (double)((float)this.furnaceRand.nextGaussian() * f3); - entityitem.motionY = (double)((float)this.furnaceRand.nextGaussian() * f3 + 0.2F); - entityitem.motionZ = (double)((float)this.furnaceRand.nextGaussian() * f3); - par1World.spawnEntityInWorld(entityitem); - } - } - } - - par1World.func_96440_m(par2, par3, par4, par5); - } - } - - super.breakBlock(par1World, par2, par3, par4, par5, par6); - } - - /** - * If this returns true, then comparators facing away from this block will use the value from - * getComparatorInputOverride instead of the actual redstone signal strength. - */ - @Override - public boolean hasComparatorInputOverride() - { - return true; - } - - /** - * If hasComparatorInputOverride returns true, the return value from this is used instead of the redstone signal - * strength when this block inputs to a comparator. - */ - @Override - public int getComparatorInputOverride(World par1World, int par2, int par3, int par4, int par5) - { - return Container.calcRedstoneFromInventory((IInventory)par1World.getBlockTileEntity(par2, par3, par4)); - } } diff --git a/common/rebelkeithy/mods/atum/furnace/ContainerLimestoneFurnace.java b/common/rebelkeithy/mods/atum/furnace/ContainerLimestoneFurnace.java index 85417c5..f240fa6 100644 --- a/common/rebelkeithy/mods/atum/furnace/ContainerLimestoneFurnace.java +++ b/common/rebelkeithy/mods/atum/furnace/ContainerLimestoneFurnace.java @@ -1,5 +1,7 @@ package rebelkeithy.mods.atum.furnace; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; @@ -9,179 +11,130 @@ import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.tileentity.TileEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ContainerLimestoneFurnace extends Container -{ - private TileEntityLimestoneFurnace furnace; - private int lastCookTime = 0; - private int lastBurnTime = 0; - private int lastItemBurnTime = 0; - - public ContainerLimestoneFurnace(InventoryPlayer par1InventoryPlayer, TileEntity par2TileEntityLimestoneFurnace) - { - this.furnace = (TileEntityLimestoneFurnace) par2TileEntityLimestoneFurnace; - this.addSlotToContainer(new Slot(furnace, 0, 56, 17)); - this.addSlotToContainer(new Slot(furnace, 1, 56, 53)); - this.addSlotToContainer(new SlotFurnace(par1InventoryPlayer.player, furnace, 2, 116, 35)); - int i; - - for (i = 0; i < 3; ++i) - { - for (int j = 0; j < 9; ++j) - { - this.addSlotToContainer(new Slot(par1InventoryPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); - } - } - - for (i = 0; i < 9; ++i) - { - this.addSlotToContainer(new Slot(par1InventoryPlayer, i, 8 + i * 18, 142)); - } - } - - @Override - public void addCraftingToCrafters(ICrafting par1ICrafting) - { - super.addCraftingToCrafters(par1ICrafting); - par1ICrafting.sendProgressBarUpdate(this, 0, this.furnace.furnaceCookTime); - par1ICrafting.sendProgressBarUpdate(this, 1, this.furnace.furnaceBurnTime); - par1ICrafting.sendProgressBarUpdate(this, 2, this.furnace.currentItemBurnTime); - } - - /** - * Looks for changes made in the container, sends them to every listener. - */ - @Override - public void detectAndSendChanges() - { - super.detectAndSendChanges(); - - for (int i = 0; i < this.crafters.size(); ++i) - { - ICrafting icrafting = (ICrafting)this.crafters.get(i); - - if (this.lastCookTime != this.furnace.furnaceCookTime) - { - icrafting.sendProgressBarUpdate(this, 0, this.furnace.furnaceCookTime); - } - - if (this.lastBurnTime != this.furnace.furnaceBurnTime) - { - icrafting.sendProgressBarUpdate(this, 1, this.furnace.furnaceBurnTime); +import rebelkeithy.mods.atum.furnace.TileEntityLimestoneFurnace; + +public class ContainerLimestoneFurnace extends Container { + + private TileEntityLimestoneFurnace furnace; + private int lastCookTime = 0; + private int lastBurnTime = 0; + private int lastItemBurnTime = 0; + + + public ContainerLimestoneFurnace(InventoryPlayer par1InventoryPlayer, TileEntity par2TileEntityLimestoneFurnace) { + this.furnace = (TileEntityLimestoneFurnace)par2TileEntityLimestoneFurnace; + this.addSlotToContainer(new Slot(this.furnace, 0, 56, 17)); + this.addSlotToContainer(new Slot(this.furnace, 1, 56, 53)); + this.addSlotToContainer(new SlotFurnace(par1InventoryPlayer.player, this.furnace, 2, 116, 35)); + + int i; + for(i = 0; i < 3; ++i) { + for(int j = 0; j < 9; ++j) { + this.addSlotToContainer(new Slot(par1InventoryPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); + } + } + + for(i = 0; i < 9; ++i) { + this.addSlotToContainer(new Slot(par1InventoryPlayer, i, 8 + i * 18, 142)); + } + + } + + public void addCraftingToCrafters(ICrafting par1ICrafting) { + super.addCraftingToCrafters(par1ICrafting); + par1ICrafting.sendProgressBarUpdate(this, 0, this.furnace.furnaceCookTime); + par1ICrafting.sendProgressBarUpdate(this, 1, this.furnace.furnaceBurnTime); + par1ICrafting.sendProgressBarUpdate(this, 2, this.furnace.currentItemBurnTime); + } + + public void detectAndSendChanges() { + super.detectAndSendChanges(); + + for(int i = 0; i < super.crafters.size(); ++i) { + ICrafting icrafting = (ICrafting)super.crafters.get(i); + if(this.lastCookTime != this.furnace.furnaceCookTime) { + icrafting.sendProgressBarUpdate(this, 0, this.furnace.furnaceCookTime); + } + + if(this.lastBurnTime != this.furnace.furnaceBurnTime) { + icrafting.sendProgressBarUpdate(this, 1, this.furnace.furnaceBurnTime); + } + + if(this.lastItemBurnTime != this.furnace.currentItemBurnTime) { + icrafting.sendProgressBarUpdate(this, 2, this.furnace.currentItemBurnTime); + } + } + + this.lastCookTime = this.furnace.furnaceCookTime; + this.lastBurnTime = this.furnace.furnaceBurnTime; + this.lastItemBurnTime = this.furnace.currentItemBurnTime; + } + + @SideOnly(Side.CLIENT) + public void updateProgressBar(int par1, int par2) { + if(par1 == 0) { + this.furnace.furnaceCookTime = par2; + } + + if(par1 == 1) { + this.furnace.furnaceBurnTime = par2; + } + + if(par1 == 2) { + this.furnace.currentItemBurnTime = par2; + } + + } + + public boolean canInteractWith(EntityPlayer par1EntityPlayer) { + return this.furnace.isUseableByPlayer(par1EntityPlayer); + } + + public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2) { + ItemStack itemstack = null; + Slot slot = (Slot)super.inventorySlots.get(par2); + if(slot != null && slot.getHasStack()) { + ItemStack itemstack1 = slot.getStack(); + itemstack = itemstack1.copy(); + if(par2 == 2) { + if(!this.mergeItemStack(itemstack1, 3, 39, true)) { + return null; } - if (this.lastItemBurnTime != this.furnace.currentItemBurnTime) - { - icrafting.sendProgressBarUpdate(this, 2, this.furnace.currentItemBurnTime); - } - } - - this.lastCookTime = this.furnace.furnaceCookTime; - this.lastBurnTime = this.furnace.furnaceBurnTime; - this.lastItemBurnTime = this.furnace.currentItemBurnTime; - } - - @SideOnly(Side.CLIENT) - @Override - public void updateProgressBar(int par1, int par2) - { - if (par1 == 0) - { - this.furnace.furnaceCookTime = par2; - } - - if (par1 == 1) - { - this.furnace.furnaceBurnTime = par2; - } - - if (par1 == 2) - { - this.furnace.currentItemBurnTime = par2; - } - } - - @Override - public boolean canInteractWith(EntityPlayer par1EntityPlayer) - { - return this.furnace.isUseableByPlayer(par1EntityPlayer); - } - - /** - * Called when a player shift-clicks on a slot. You must override this or you will crash when someone does that. - */ - @Override - public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2) - { - ItemStack itemstack = null; - Slot slot = (Slot)this.inventorySlots.get(par2); - - if (slot != null && slot.getHasStack()) - { - ItemStack itemstack1 = slot.getStack(); - itemstack = itemstack1.copy(); - - if (par2 == 2) - { - if (!this.mergeItemStack(itemstack1, 3, 39, true)) - { - return null; - } - - slot.onSlotChange(itemstack1, itemstack); - } - else if (par2 != 1 && par2 != 0) - { - if (FurnaceRecipes.smelting().getSmeltingResult(itemstack1) != null) - { - if (!this.mergeItemStack(itemstack1, 0, 1, false)) - { - return null; - } - } - else if (TileEntityLimestoneFurnace.isItemFuel(itemstack1)) - { - if (!this.mergeItemStack(itemstack1, 1, 2, false)) - { - return null; - } - } - else if (par2 >= 3 && par2 < 30) - { - if (!this.mergeItemStack(itemstack1, 30, 39, false)) - { - return null; - } - } - else if (par2 >= 30 && par2 < 39 && !this.mergeItemStack(itemstack1, 3, 30, false)) - { - return null; - } - } - else if (!this.mergeItemStack(itemstack1, 3, 39, false)) - { - return null; + slot.onSlotChange(itemstack1, itemstack); + } else if(par2 != 1 && par2 != 0) { + if(FurnaceRecipes.smelting().getSmeltingResult(itemstack1) != null) { + if(!this.mergeItemStack(itemstack1, 0, 1, false)) { + return null; + } + } else if(TileEntityLimestoneFurnace.isItemFuel(itemstack1)) { + if(!this.mergeItemStack(itemstack1, 1, 2, false)) { + return null; + } + } else if(par2 >= 3 && par2 < 30) { + if(!this.mergeItemStack(itemstack1, 30, 39, false)) { + return null; + } + } else if(par2 >= 30 && par2 < 39 && !this.mergeItemStack(itemstack1, 3, 30, false)) { + return null; } + } else if(!this.mergeItemStack(itemstack1, 3, 39, false)) { + return null; + } - if (itemstack1.stackSize == 0) - { - slot.putStack((ItemStack)null); - } - else - { - slot.onSlotChanged(); - } + if(itemstack1.stackSize == 0) { + slot.putStack((ItemStack)null); + } else { + slot.onSlotChanged(); + } - if (itemstack1.stackSize == itemstack.stackSize) - { - return null; - } + if(itemstack1.stackSize == itemstack.stackSize) { + return null; + } - slot.onPickupFromSlot(par1EntityPlayer, itemstack1); - } + slot.onPickupFromSlot(par1EntityPlayer, itemstack1); + } - return itemstack; - } + return itemstack; + } } diff --git a/common/rebelkeithy/mods/atum/furnace/GuiLimestoneFurnace.java b/common/rebelkeithy/mods/atum/furnace/GuiLimestoneFurnace.java index 1fdf0a7..4f996a4 100644 --- a/common/rebelkeithy/mods/atum/furnace/GuiLimestoneFurnace.java +++ b/common/rebelkeithy/mods/atum/furnace/GuiLimestoneFurnace.java @@ -1,55 +1,45 @@ package rebelkeithy.mods.atum.furnace; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; import net.minecraft.util.StatCollector; + import org.lwjgl.opengl.GL11; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + @SideOnly(Side.CLIENT) -public class GuiLimestoneFurnace extends GuiContainer -{ - private TileEntityLimestoneFurnace furnaceInventory; - - public GuiLimestoneFurnace(InventoryPlayer par1InventoryPlayer, TileEntity par2TileEntityLimestoneFurnace) - { - super(new ContainerLimestoneFurnace(par1InventoryPlayer, par2TileEntityLimestoneFurnace)); - this.furnaceInventory = (TileEntityLimestoneFurnace) par2TileEntityLimestoneFurnace; - } - - /** - * Draw the foreground layer for the GuiContainer (everything in front of the items) - */ - @Override - protected void drawGuiContainerForegroundLayer(int par1, int par2) - { - String s = this.furnaceInventory.isInvNameLocalized() ? this.furnaceInventory.getInvName() : StatCollector.translateToLocal(this.furnaceInventory.getInvName()); - this.fontRenderer.drawString(s, this.xSize / 2 - this.fontRenderer.getStringWidth(s) / 2, 6, 4210752); - this.fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 8, this.ySize - 96 + 2, 4210752); - } - - /** - * Draw the background layer for the GuiContainer (everything behind the items) - */ - @Override - protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) - { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - this.mc.renderEngine.bindTexture("/gui/furnace.png"); - int k = (this.width - this.xSize) / 2; - int l = (this.height - this.ySize) / 2; - this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize); - int i1; - - if (this.furnaceInventory.isBurning()) - { - i1 = this.furnaceInventory.getBurnTimeRemainingScaled(12); - this.drawTexturedModalRect(k + 56, l + 36 + 12 - i1, 176, 12 - i1, 14, i1 + 2); - } - - i1 = this.furnaceInventory.getCookProgressScaled(24); - this.drawTexturedModalRect(k + 79, l + 34, 176, 14, i1 + 1, 16); - } +public class GuiLimestoneFurnace extends GuiContainer { + + private TileEntityLimestoneFurnace furnaceInventory; + + public GuiLimestoneFurnace(InventoryPlayer par1InventoryPlayer, TileEntity par2TileEntityLimestoneFurnace) { + super(new ContainerLimestoneFurnace(par1InventoryPlayer, par2TileEntityLimestoneFurnace)); + this.furnaceInventory = (TileEntityLimestoneFurnace) par2TileEntityLimestoneFurnace; + } + + protected void drawGuiContainerForegroundLayer(int par1, int par2) { + String s = this.furnaceInventory.isInvNameLocalized() ? this.furnaceInventory.getInvName() : StatCollector.translateToLocal(this.furnaceInventory.getInvName()); + super.fontRenderer.drawString(s, super.xSize / 2 - super.fontRenderer.getStringWidth(s) / 2, 6, 4210752); + super.fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 8, super.ySize - 96 + 2, 4210752); + } + + protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + super.mc.renderEngine.bindTexture(new ResourceLocation("/gui/furnace.png")); + int k = (super.width - super.xSize) / 2; + int l = (super.height - super.ySize) / 2; + this.drawTexturedModalRect(k, l, 0, 0, super.xSize, super.ySize); + int i1; + if (this.furnaceInventory.isBurning()) { + i1 = this.furnaceInventory.getBurnTimeRemainingScaled(12); + this.drawTexturedModalRect(k + 56, l + 36 + 12 - i1, 176, 12 - i1, 14, i1 + 2); + } + + i1 = this.furnaceInventory.getCookProgressScaled(24); + this.drawTexturedModalRect(k + 79, l + 34, 176, 14, i1 + 1, 16); + } } diff --git a/common/rebelkeithy/mods/atum/furnace/TileEntityLimestoneFurnace.java b/common/rebelkeithy/mods/atum/furnace/TileEntityLimestoneFurnace.java index f946ddc..2d9f746 100644 --- a/common/rebelkeithy/mods/atum/furnace/TileEntityLimestoneFurnace.java +++ b/common/rebelkeithy/mods/atum/furnace/TileEntityLimestoneFurnace.java @@ -4,7 +4,6 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; -import net.minecraft.block.BlockFurnace; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ISidedInventory; @@ -18,500 +17,278 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; -import net.minecraft.tileentity.TileEntityFurnace; import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.ForgeDummyContainer; +import rebelkeithy.mods.atum.furnace.BlockLimeStoneFurnace; + +public class TileEntityLimestoneFurnace extends TileEntity implements ISidedInventory { + + private static final int[] field_102010_d = new int[] { 0 }; + private static final int[] field_102011_e = new int[] { 2, 1 }; + private static final int[] field_102009_f = new int[] { 1 }; + private ItemStack[] furnaceItemStacks = new ItemStack[3]; + public int furnaceBurnTime = 0; + public int currentItemBurnTime = 0; + public int furnaceCookTime = 0; + private String field_94130_e; + + public int getSizeInventory() { + return this.furnaceItemStacks.length; + } + + public ItemStack getStackInSlot(int par1) { + return this.furnaceItemStacks[par1]; + } + + public ItemStack decrStackSize(int par1, int par2) { + if (this.furnaceItemStacks[par1] != null) { + ItemStack itemstack; + if (this.furnaceItemStacks[par1].stackSize <= par2) { + itemstack = this.furnaceItemStacks[par1]; + this.furnaceItemStacks[par1] = null; + return itemstack; + } else { + itemstack = this.furnaceItemStacks[par1].splitStack(par2); + if (this.furnaceItemStacks[par1].stackSize == 0) { + this.furnaceItemStacks[par1] = null; + } + + return itemstack; + } + } else { + return null; + } + } + + public ItemStack getStackInSlotOnClosing(int par1) { + if (this.furnaceItemStacks[par1] != null) { + ItemStack itemstack = this.furnaceItemStacks[par1]; + this.furnaceItemStacks[par1] = null; + return itemstack; + } else { + return null; + } + } + + public void setInventorySlotContents(int par1, ItemStack par2ItemStack) { + this.furnaceItemStacks[par1] = par2ItemStack; + if (par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) { + par2ItemStack.stackSize = this.getInventoryStackLimit(); + } + + } + + public String getInvName() { + return this.isInvNameLocalized() ? this.field_94130_e : "container.furnace"; + } + + public boolean isInvNameLocalized() { + return this.field_94130_e != null && this.field_94130_e.length() > 0; + } + + public void func_94129_a(String par1Str) { + this.field_94130_e = par1Str; + } + + public void readFromNBT(NBTTagCompound par1NBTTagCompound) { + super.readFromNBT(par1NBTTagCompound); + NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items"); + this.furnaceItemStacks = new ItemStack[this.getSizeInventory()]; + + for (int i = 0; i < nbttaglist.tagCount(); ++i) { + NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.tagAt(i); + byte b0 = nbttagcompound1.getByte("Slot"); + if (b0 >= 0 && b0 < this.furnaceItemStacks.length) { + this.furnaceItemStacks[b0] = ItemStack.loadItemStackFromNBT(nbttagcompound1); + } + } + + this.furnaceBurnTime = par1NBTTagCompound.getShort("BurnTime"); + this.furnaceCookTime = par1NBTTagCompound.getShort("CookTime"); + this.currentItemBurnTime = getItemBurnTime(this.furnaceItemStacks[1]); + if (par1NBTTagCompound.hasKey("CustomName")) { + this.field_94130_e = par1NBTTagCompound.getString("CustomName"); + } + + } + + public void writeToNBT(NBTTagCompound par1NBTTagCompound) { + super.writeToNBT(par1NBTTagCompound); + par1NBTTagCompound.setShort("BurnTime", (short) this.furnaceBurnTime); + par1NBTTagCompound.setShort("CookTime", (short) this.furnaceCookTime); + NBTTagList nbttaglist = new NBTTagList(); + + for (int i = 0; i < this.furnaceItemStacks.length; ++i) { + if (this.furnaceItemStacks[i] != null) { + NBTTagCompound nbttagcompound1 = new NBTTagCompound(); + nbttagcompound1.setByte("Slot", (byte) i); + this.furnaceItemStacks[i].writeToNBT(nbttagcompound1); + nbttaglist.appendTag(nbttagcompound1); + } + } + + par1NBTTagCompound.setTag("Items", nbttaglist); + if (this.isInvNameLocalized()) { + par1NBTTagCompound.setString("CustomName", this.field_94130_e); + } + + } + + public int getInventoryStackLimit() { + return 64; + } + + @SideOnly(Side.CLIENT) + public int getCookProgressScaled(int par1) { + return this.furnaceCookTime * par1 / 200; + } + + @SideOnly(Side.CLIENT) + public int getBurnTimeRemainingScaled(int par1) { + if (this.currentItemBurnTime == 0) { + this.currentItemBurnTime = 200; + } + + return this.furnaceBurnTime * par1 / this.currentItemBurnTime; + } + + public boolean isBurning() { + return this.furnaceBurnTime > 0; + } + + public void updateEntity() { + boolean flag = this.furnaceBurnTime > 0; + boolean flag1 = false; + if (this.furnaceBurnTime > 0) { + --this.furnaceBurnTime; + } + + if (!super.worldObj.isRemote) { + if (this.furnaceBurnTime == 0 && this.canSmelt()) { + this.currentItemBurnTime = this.furnaceBurnTime = getItemBurnTime(this.furnaceItemStacks[1]); + if (this.furnaceBurnTime > 0) { + flag1 = true; + if (this.furnaceItemStacks[1] != null) { + --this.furnaceItemStacks[1].stackSize; + if (this.furnaceItemStacks[1].stackSize == 0) { + this.furnaceItemStacks[1] = this.furnaceItemStacks[1].getItem().getContainerItemStack(this.furnaceItemStacks[1]); + } + } + } + } + + if (this.isBurning() && this.canSmelt()) { + ++this.furnaceCookTime; + if (this.furnaceCookTime == 200) { + this.furnaceCookTime = 0; + this.smeltItem(); + flag1 = true; + } + } else { + this.furnaceCookTime = 0; + } + + if (flag != this.furnaceBurnTime > 0) { + flag1 = true; + BlockLimeStoneFurnace.updateFurnaceBlockState(this.furnaceBurnTime > 0, super.worldObj, super.xCoord, super.yCoord, super.zCoord); + } + } + + if (flag1) { + this.onInventoryChanged(); + } + + } + + private boolean canSmelt() { + if (this.furnaceItemStacks[0] == null) { + return false; + } else { + ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(this.furnaceItemStacks[0]); + if (itemstack == null) { + return false; + } else if (this.furnaceItemStacks[2] == null) { + return true; + } else if (!this.furnaceItemStacks[2].isItemEqual(itemstack)) { + return false; + } else { + int result = this.furnaceItemStacks[2].stackSize + itemstack.stackSize; + return result <= this.getInventoryStackLimit() && result <= itemstack.getMaxStackSize(); + } + } + } + + public void smeltItem() { + if (this.canSmelt()) { + ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(this.furnaceItemStacks[0]); + if (this.furnaceItemStacks[2] == null) { + this.furnaceItemStacks[2] = itemstack.copy(); + } else if (this.furnaceItemStacks[2].isItemEqual(itemstack)) { + this.furnaceItemStacks[2].stackSize += itemstack.stackSize; + } + + --this.furnaceItemStacks[0].stackSize; + if (this.furnaceItemStacks[0].stackSize <= 0) { + this.furnaceItemStacks[0] = null; + } + } + + } + + public static int getItemBurnTime(ItemStack par0ItemStack) { + if (par0ItemStack == null) { + return 0; + } else { + int i = par0ItemStack.getItem().itemID; + Item item = par0ItemStack.getItem(); + if (par0ItemStack.getItem() instanceof ItemBlock && Block.blocksList[i] != null) { + Block block = Block.blocksList[i]; + if (block == Block.woodSingleSlab) { + return 150; + } + + if (block.blockMaterial == Material.wood) { + return 300; + } + } + + return item instanceof ItemTool && ((ItemTool) item).getToolMaterialName().equals("WOOD") ? 200 : (item instanceof ItemSword && ((ItemSword) item).getToolMaterialName().equals("WOOD") ? 200 : (item instanceof ItemHoe && ((ItemHoe) item).getMaterialName().equals("WOOD") ? 200 : (i == Item.stick.itemID ? 100 : (i == Item.coal.itemID ? 1600 : (i == Item.bucketLava.itemID ? 20000 : (i == Block.sapling.blockID ? 100 : (i == Item.blazeRod.itemID ? 2400 : GameRegistry.getFuelValue(par0ItemStack)))))))); + } + } + + public static boolean isItemFuel(ItemStack par0ItemStack) { + return getItemBurnTime(par0ItemStack) > 0; + } + + public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { + return super.worldObj.getBlockTileEntity(super.xCoord, super.yCoord, super.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double) super.xCoord + 0.5D, (double) super.yCoord + 0.5D, (double) super.zCoord + 0.5D) <= 64.0D; + } + + public void openChest() { + } + + public void closeChest() { + } + + @Override + public boolean isItemValidForSlot(int par1, ItemStack par2ItemStack) { + return par1 == 2 ? false : (par1 == 1 ? isItemFuel(par2ItemStack) : true); + } + + public int[] getAccessibleSlotsFromSide(int par1) { + return par1 == 0 ? field_102011_e : (par1 == 1 ? field_102010_d : field_102009_f); + } + + public boolean canInsertItem(int par1, ItemStack par2ItemStack, int par3) { + return this.isItemValidForSlot(par1, par2ItemStack); + } + + public boolean canExtractItem(int par1, ItemStack par2ItemStack, int par3) { + return par3 != 0 || par1 != 1 || par2ItemStack.itemID == Item.bucketEmpty.itemID; + } + + public int getSizeInventorySide(ForgeDirection side) { + return 1; + } -public class TileEntityLimestoneFurnace extends TileEntity implements ISidedInventory, net.minecraftforge.common.ISidedInventory -{ - private static final int[] field_102010_d = new int[] {0}; - private static final int[] field_102011_e = new int[] {2, 1}; - private static final int[] field_102009_f = new int[] {1}; - - /** - * The ItemStacks that hold the items currently being used in the furnace - */ - private ItemStack[] furnaceItemStacks = new ItemStack[3]; - - /** The number of ticks that the furnace will keep burning */ - public int furnaceBurnTime = 0; - - /** - * The number of ticks that a fresh copy of the currently-burning item would keep the furnace burning for - */ - public int currentItemBurnTime = 0; - - /** The number of ticks that the current item has been cooking for */ - public int furnaceCookTime = 0; - private String field_94130_e; - - /** - * Returns the number of slots in the inventory. - */ - @Override - public int getSizeInventory() - { - return this.furnaceItemStacks.length; - } - - /** - * Returns the stack in slot i - */ - @Override - public ItemStack getStackInSlot(int par1) - { - return this.furnaceItemStacks[par1]; - } - - /** - * Removes from an inventory slot (first arg) up to a specified number (second arg) of items and returns them in a - * new stack. - */ - @Override - public ItemStack decrStackSize(int par1, int par2) - { - if (this.furnaceItemStacks[par1] != null) - { - ItemStack itemstack; - - if (this.furnaceItemStacks[par1].stackSize <= par2) - { - itemstack = this.furnaceItemStacks[par1]; - this.furnaceItemStacks[par1] = null; - return itemstack; - } - else - { - itemstack = this.furnaceItemStacks[par1].splitStack(par2); - - if (this.furnaceItemStacks[par1].stackSize == 0) - { - this.furnaceItemStacks[par1] = null; - } - - return itemstack; - } - } - else - { - return null; - } - } - - /** - * When some containers are closed they call this on each slot, then drop whatever it returns as an EntityItem - - * like when you close a workbench GUI. - */ - @Override - public ItemStack getStackInSlotOnClosing(int par1) - { - if (this.furnaceItemStacks[par1] != null) - { - ItemStack itemstack = this.furnaceItemStacks[par1]; - this.furnaceItemStacks[par1] = null; - return itemstack; - } - else - { - return null; - } - } - - /** - * Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections). - */ - @Override - public void setInventorySlotContents(int par1, ItemStack par2ItemStack) - { - this.furnaceItemStacks[par1] = par2ItemStack; - - if (par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) - { - par2ItemStack.stackSize = this.getInventoryStackLimit(); - } - } - - /** - * Returns the name of the inventory. - */ - @Override - public String getInvName() - { - return this.isInvNameLocalized() ? this.field_94130_e : "container.furnace"; - } - - /** - * If this returns false, the inventory name will be used as an unlocalized name, and translated into the player's - * language. Otherwise it will be used directly. - */ - @Override - public boolean isInvNameLocalized() - { - return this.field_94130_e != null && this.field_94130_e.length() > 0; - } - - public void func_94129_a(String par1Str) - { - this.field_94130_e = par1Str; - } - - /** - * Reads a tile entity from NBT. - */ - @Override - public void readFromNBT(NBTTagCompound par1NBTTagCompound) - { - super.readFromNBT(par1NBTTagCompound); - NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items"); - this.furnaceItemStacks = new ItemStack[this.getSizeInventory()]; - - for (int i = 0; i < nbttaglist.tagCount(); ++i) - { - NBTTagCompound nbttagcompound1 = (NBTTagCompound)nbttaglist.tagAt(i); - byte b0 = nbttagcompound1.getByte("Slot"); - - if (b0 >= 0 && b0 < this.furnaceItemStacks.length) - { - this.furnaceItemStacks[b0] = ItemStack.loadItemStackFromNBT(nbttagcompound1); - } - } - - this.furnaceBurnTime = par1NBTTagCompound.getShort("BurnTime"); - this.furnaceCookTime = par1NBTTagCompound.getShort("CookTime"); - this.currentItemBurnTime = getItemBurnTime(this.furnaceItemStacks[1]); - - if (par1NBTTagCompound.hasKey("CustomName")) - { - this.field_94130_e = par1NBTTagCompound.getString("CustomName"); - } - } - - /** - * Writes a tile entity to NBT. - */ - @Override - public void writeToNBT(NBTTagCompound par1NBTTagCompound) - { - super.writeToNBT(par1NBTTagCompound); - par1NBTTagCompound.setShort("BurnTime", (short)this.furnaceBurnTime); - par1NBTTagCompound.setShort("CookTime", (short)this.furnaceCookTime); - NBTTagList nbttaglist = new NBTTagList(); - - for (int i = 0; i < this.furnaceItemStacks.length; ++i) - { - if (this.furnaceItemStacks[i] != null) - { - NBTTagCompound nbttagcompound1 = new NBTTagCompound(); - nbttagcompound1.setByte("Slot", (byte)i); - this.furnaceItemStacks[i].writeToNBT(nbttagcompound1); - nbttaglist.appendTag(nbttagcompound1); - } - } - - par1NBTTagCompound.setTag("Items", nbttaglist); - - if (this.isInvNameLocalized()) - { - par1NBTTagCompound.setString("CustomName", this.field_94130_e); - } - } - - /** - * Returns the maximum stack size for a inventory slot. Seems to always be 64, possibly will be extended. *Isn't - * this more of a set than a get?* - */ - @Override - public int getInventoryStackLimit() - { - return 64; - } - - @SideOnly(Side.CLIENT) - - /** - * Returns an integer between 0 and the passed value representing how close the current item is to being completely - * cooked - */ - public int getCookProgressScaled(int par1) - { - return this.furnaceCookTime * par1 / 200; - } - - @SideOnly(Side.CLIENT) - - /** - * Returns an integer between 0 and the passed value representing how much burn time is left on the current fuel - * item, where 0 means that the item is exhausted and the passed value means that the item is fresh - */ - public int getBurnTimeRemainingScaled(int par1) - { - if (this.currentItemBurnTime == 0) - { - this.currentItemBurnTime = 200; - } - - return this.furnaceBurnTime * par1 / this.currentItemBurnTime; - } - - /** - * Returns true if the furnace is currently burning - */ - public boolean isBurning() - { - return this.furnaceBurnTime > 0; - } - - /** - * Allows the entity to update its state. Overridden in most subclasses, e.g. the mob spawner uses this to count - * ticks and creates a new spawn inside its implementation. - */ - @Override - public void updateEntity() - { - boolean flag = this.furnaceBurnTime > 0; - boolean flag1 = false; - - if (this.furnaceBurnTime > 0) - { - --this.furnaceBurnTime; - } - - if (!this.worldObj.isRemote) - { - if (this.furnaceBurnTime == 0 && this.canSmelt()) - { - this.currentItemBurnTime = this.furnaceBurnTime = getItemBurnTime(this.furnaceItemStacks[1]); - - if (this.furnaceBurnTime > 0) - { - flag1 = true; - - if (this.furnaceItemStacks[1] != null) - { - --this.furnaceItemStacks[1].stackSize; - - if (this.furnaceItemStacks[1].stackSize == 0) - { - this.furnaceItemStacks[1] = this.furnaceItemStacks[1].getItem().getContainerItemStack(furnaceItemStacks[1]); - } - } - } - } - - if (this.isBurning() && this.canSmelt()) - { - ++this.furnaceCookTime; - - if (this.furnaceCookTime == 200) - { - this.furnaceCookTime = 0; - this.smeltItem(); - flag1 = true; - } - } - else - { - this.furnaceCookTime = 0; - } - - if (flag != this.furnaceBurnTime > 0) - { - flag1 = true; - BlockLimeStoneFurnace.updateFurnaceBlockState(this.furnaceBurnTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord); - } - } - - if (flag1) - { - this.onInventoryChanged(); - } - } - - /** - * Returns true if the furnace can smelt an item, i.e. has a source item, destination stack isn't full, etc. - */ - private boolean canSmelt() - { - if (this.furnaceItemStacks[0] == null) - { - return false; - } - else - { - ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(this.furnaceItemStacks[0]); - if (itemstack == null) return false; - if (this.furnaceItemStacks[2] == null) return true; - if (!this.furnaceItemStacks[2].isItemEqual(itemstack)) return false; - int result = furnaceItemStacks[2].stackSize + itemstack.stackSize; - return (result <= getInventoryStackLimit() && result <= itemstack.getMaxStackSize()); - } - } - - /** - * Turn one item from the furnace source stack into the appropriate smelted item in the furnace result stack - */ - public void smeltItem() - { - if (this.canSmelt()) - { - ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(this.furnaceItemStacks[0]); - - if (this.furnaceItemStacks[2] == null) - { - this.furnaceItemStacks[2] = itemstack.copy(); - } - else if (this.furnaceItemStacks[2].isItemEqual(itemstack)) - { - furnaceItemStacks[2].stackSize += itemstack.stackSize; - } - - --this.furnaceItemStacks[0].stackSize; - - if (this.furnaceItemStacks[0].stackSize <= 0) - { - this.furnaceItemStacks[0] = null; - } - } - } - - /** - * Returns the number of ticks that the supplied fuel item will keep the furnace burning, or 0 if the item isn't - * fuel - */ - public static int getItemBurnTime(ItemStack par0ItemStack) - { - if (par0ItemStack == null) - { - return 0; - } - else - { - int i = par0ItemStack.getItem().itemID; - Item item = par0ItemStack.getItem(); - - if (par0ItemStack.getItem() instanceof ItemBlock && Block.blocksList[i] != null) - { - Block block = Block.blocksList[i]; - - if (block == Block.woodSingleSlab) - { - return 150; - } - - if (block.blockMaterial == Material.wood) - { - return 300; - } - } - - if (item instanceof ItemTool && ((ItemTool) item).getToolMaterialName().equals("WOOD")) return 200; - if (item instanceof ItemSword && ((ItemSword) item).getToolMaterialName().equals("WOOD")) return 200; - if (item instanceof ItemHoe && ((ItemHoe) item).getMaterialName().equals("WOOD")) return 200; - if (i == Item.stick.itemID) return 100; - if (i == Item.coal.itemID) return 1600; - if (i == Item.bucketLava.itemID) return 20000; - if (i == Block.sapling.blockID) return 100; - if (i == Item.blazeRod.itemID) return 2400; - return GameRegistry.getFuelValue(par0ItemStack); - } - } - - /** - * Return true if item is a fuel source (getItemBurnTime() > 0). - */ - public static boolean isItemFuel(ItemStack par0ItemStack) - { - return getItemBurnTime(par0ItemStack) > 0; - } - - /** - * Do not make give this method the name canInteractWith because it clashes with Container - */ - @Override - public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) - { - return this.worldObj.getBlockTileEntity(this.xCoord, this.yCoord, this.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double)this.xCoord + 0.5D, (double)this.yCoord + 0.5D, (double)this.zCoord + 0.5D) <= 64.0D; - } - - @Override - public void openChest() {} - - @Override - public void closeChest() {} - - /** - * Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot. - */ - @Override - public boolean isStackValidForSlot(int par1, ItemStack par2ItemStack) - { - return par1 == 2 ? false : (par1 == 1 ? isItemFuel(par2ItemStack) : true); - } - - /** - * Get the size of the side inventory. - */ - @Override - public int[] getAccessibleSlotsFromSide(int par1) - { - return par1 == 0 ? field_102011_e : (par1 == 1 ? field_102010_d : field_102009_f); - } - - @Override - public boolean canInsertItem(int par1, ItemStack par2ItemStack, int par3) - { - return this.isStackValidForSlot(par1, par2ItemStack); - } - - @Override - public boolean canExtractItem(int par1, ItemStack par2ItemStack, int par3) - { - return par3 != 0 || par1 != 1 || par2ItemStack.itemID == Item.bucketEmpty.itemID; - } - - /*********************************************************************************** - * This function is here for compatibilities sake, Modders should Check for - * Sided before ContainerWorldly, Vanilla Minecraft does not follow the sided standard - * that Modding has for a while. - * - * In vanilla: - * - * Top: Ores - * Sides: Fuel - * Bottom: Output - * - * Standard Modding: - * Top: Ores - * Sides: Output - * Bottom: Fuel - * - * The Modding one is designed after the GUI, the vanilla one is designed because its - * intended use is for the hopper, which logically would take things in from the top. - * - * This will possibly be removed in future updates, and make vanilla the definitive - * standard. - */ - - @Override - public int getStartInventorySide(ForgeDirection side) - { - if (ForgeDummyContainer.legacyFurnaceSides) - { - if (side == ForgeDirection.DOWN) return 1; - if (side == ForgeDirection.UP) return 0; - return 2; - } - else - { - if (side == ForgeDirection.DOWN) return 2; - if (side == ForgeDirection.UP) return 0; - return 1; - } - } - - @Override - public int getSizeInventorySide(ForgeDirection side) - { - return 1; - } } diff --git a/common/rebelkeithy/mods/atum/items/ItemAtumBow.java b/common/rebelkeithy/mods/atum/items/ItemAtumBow.java index ab6885e..6685d28 100644 --- a/common/rebelkeithy/mods/atum/items/ItemAtumBow.java +++ b/common/rebelkeithy/mods/atum/items/ItemAtumBow.java @@ -1,86 +1,56 @@ package rebelkeithy.mods.atum.items; +import rebelkeithy.mods.atum.Atum; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; import net.minecraft.item.ItemBow; import net.minecraft.item.ItemStack; import net.minecraft.util.Icon; -public class ItemAtumBow extends ItemBow -{ - public static final String[] bowPullIconNameArray = new String[] - { "bow_pull_0", "bow_pull_1", "bow_pull_2" }; +public class ItemAtumBow extends ItemBow { + + public static final String[] bowPullIconNameArray = new String[] { "bow_pull_0", "bow_pull_1", "bow_pull_2" }; Icon[] iconArray; - public ItemAtumBow(int par1) - { + public ItemAtumBow(int par1) { super(par1); } @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IconRegister par1IconRegister) - { - super.registerIcons(par1IconRegister); + public void registerIcons(IconRegister par1IconRegister) { this.iconArray = new Icon[bowPullIconNameArray.length]; - for (int i = 0; i < this.iconArray.length; ++i) - { - this.iconArray[i] = par1IconRegister.registerIcon("Atum:" - + bowPullIconNameArray[i]); + this.itemIcon = par1IconRegister.registerIcon("atum:Bow"); + for (int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); } - } - /** - * Player, Render pass, and item usage sensitive version of getIconIndex. - * - * @param stack - * The item stack to get the icon for. (Usually this, and - * usingItem will be the same if usingItem is not null) - * @param renderPass - * The pass to get the icon for, 0 is default. - * @param player - * The player holding the item - * @param usingItem - * The item the player is actively using. Can be null if not - * using anything. - * @param useRemaining - * The ticks remaining for the active item. - * @return The icon index - */ - @Override - public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, - ItemStack usingItem, int useRemaining) - { - if (usingItem != null) - { - int j = getMaxItemUseDuration(stack) - useRemaining; + } - if (j >= 18) - { - return getItemIconForUseDuration(2); + public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + if (usingItem != null) { + int j = this.getMaxItemUseDuration(stack) - useRemaining; + if (j >= 18) { + return this.getItemIconForUseDuration(2); } - if (j > 13) - { - return getItemIconForUseDuration(1); + if (j > 13) { + return this.getItemIconForUseDuration(1); } - if (j > 0) - { - return getItemIconForUseDuration(0); + if (j > 0) { + return this.getItemIconForUseDuration(0); } } - return getIcon(stack, renderPass); + + return this.getIcon(stack, renderPass); } @SideOnly(Side.CLIENT) - @Override - public Icon getItemIconForUseDuration(int par1) - { + public Icon getItemIconForUseDuration(int par1) { return this.iconArray[par1]; } + } diff --git a/common/rebelkeithy/mods/atum/items/ItemFish.java b/common/rebelkeithy/mods/atum/items/ItemFish.java index 20e3e2e..baaef9d 100644 --- a/common/rebelkeithy/mods/atum/items/ItemFish.java +++ b/common/rebelkeithy/mods/atum/items/ItemFish.java @@ -1,59 +1,50 @@ package rebelkeithy.mods.atum.items; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + import java.util.List; +import rebelkeithy.mods.atum.Atum; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.Icon; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class ItemFish extends Item -{ +public class ItemFish extends Item { + Icon[] icons; - - public ItemFish(int par1) - { + + public ItemFish(int par1) { super(par1); this.setHasSubtypes(true); } - @SideOnly(Side.CLIENT) - /** - * Gets an icon index based on an item's damage value - */ - public Icon getIconFromDamage(int par1) - { - return icons[par1]; - } - - @Override - public String getUnlocalizedName(ItemStack par1ItemStack) - { - return super.getUnlocalizedName() + "." + par1ItemStack.getItemDamage(); - } - - @SideOnly(Side.CLIENT) - @Override - public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List) - { - for(int i = 0; i < 4; i++) - { - par3List.add(new ItemStack(this.itemID, 1, i)); - } - } - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IconRegister par1IconRegister) - { - icons = new Icon[4]; - - for (int i = 0; i < 4; i++) - { - icons[i] = par1IconRegister.registerIcon("Atum:Fish" + i); - } - } + @SideOnly(Side.CLIENT) + public Icon getIconFromDamage(int par1) { + return this.icons[par1]; + } + + public String getUnlocalizedName(ItemStack par1ItemStack) { + return super.getUnlocalizedName() + "." + par1ItemStack.getItemDamage(); + } + + @SideOnly(Side.CLIENT) + public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List) { + for (int i = 0; i < 4; ++i) { + par3List.add(new ItemStack(super.itemID, 1, i)); + } + + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + this.icons = new Icon[4]; + + for (int i = 0; i < 4; ++i) { + this.icons[i] = par1IconRegister.registerIcon(Atum.modID + ":Fish" + i); + } + + } } diff --git a/common/rebelkeithy/mods/atum/items/ItemGreatsword.java b/common/rebelkeithy/mods/atum/items/ItemGreatsword.java index 3fe47ac..f20e536 100644 --- a/common/rebelkeithy/mods/atum/items/ItemGreatsword.java +++ b/common/rebelkeithy/mods/atum/items/ItemGreatsword.java @@ -1,38 +1,25 @@ package rebelkeithy.mods.atum.items; -import rebelkeithy.mods.atum.entities.EntityPharaoh; -import rebelkeithy.mods.atum.entities.EntityStoneSoldier; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import rebelkeithy.mods.atum.entities.EntityPharaoh; +import rebelkeithy.mods.atum.entities.EntityStoneSoldier; + +public class ItemGreatsword extends ItemSword { -public class ItemGreatsword extends ItemSword -{ + public ItemGreatsword(int par1, EnumToolMaterial par2EnumToolMaterial) { + super(par1, par2EnumToolMaterial); + } - public ItemGreatsword(int par1, EnumToolMaterial par2EnumToolMaterial) - { - super(par1, par2EnumToolMaterial); - } + public boolean hitEntity(ItemStack par1ItemStack, EntityLiving mob, EntityLiving player) { + if(!(mob instanceof EntityStoneSoldier) && !(mob instanceof EntityPharaoh)) { + float j = 1.2F; + mob.addVelocity((double)(-MathHelper.sin(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F), 0.1D, (double)(MathHelper.cos(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F)); + } - @Override - public boolean hitEntity(ItemStack par1ItemStack, EntityLiving mob, EntityLiving player) - { - if(!(mob instanceof EntityStoneSoldier || mob instanceof EntityPharaoh)) - { - float j = 1.2f; - mob.addVelocity((double)(-MathHelper.sin(player.rotationYaw * (float)Math.PI / 180.0F) * (float)j * 0.5F), 0.1D, (double)(MathHelper.cos(player.rotationYaw * (float)Math.PI / 180.0F) * (float)j * 0.5F)); - } - return super.hitEntity(par1ItemStack, mob, player); - } + return super.hitEntity(par1ItemStack, mob, player); + } } diff --git a/common/rebelkeithy/mods/atum/items/ItemLoot.java b/common/rebelkeithy/mods/atum/items/ItemLoot.java index 9928c00..e7a182f 100644 --- a/common/rebelkeithy/mods/atum/items/ItemLoot.java +++ b/common/rebelkeithy/mods/atum/items/ItemLoot.java @@ -1,5 +1,8 @@ package rebelkeithy.mods.atum.items; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + import java.util.List; import java.util.Random; @@ -11,140 +14,91 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.Icon; import net.minecraft.util.MathHelper; +import rebelkeithy.mods.atum.Atum; import rebelkeithy.mods.atum.AtumItems; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -// Uses bit compression to store what type of loot this item is -// Format is TTTTQQQQD -// D: indicates weather or not it is dirty -// Q: Loot quality -// T: Loot type -public class ItemLoot extends Item -{ - private static String[] typeArray = {"Idol", "Necklace", "Ring", "Broach", "Scepter"}; - private static String[] qualityArray = {"Dirty", "Silver", "Gold", "Sapphire", "Ruby", "Emerald", "Diamond"}; +public class ItemLoot extends Item { + + private static String[] typeArray = new String[] { "Idol", "Necklace", "Ring", "Broach", "Scepter" }; + private static String[] qualityArray = new String[] { "Dirty", "Silver", "Gold", "Sapphire", "Ruby", "Emerald", "Diamond" }; Icon[] iconArray; - - public ItemLoot(int par1) - { + + public ItemLoot(int par1) { super(par1); - this.setHasSubtypes(true); - this.setMaxDamage(0); + this.setHasSubtypes(true); + this.setMaxDamage(0); } - - public static ItemStack getRandomLoot(Random rand, boolean isDirty) - { + + public static ItemStack getRandomLoot(Random rand, boolean isDirty) { int type = rand.nextInt(typeArray.length); - int quality = rand.nextInt(qualityArray.length-1) + 1; + int quality = rand.nextInt(qualityArray.length - 1) + 1; return new ItemStack(AtumItems.loot.itemID, 1, type << 5 | quality << 1 | (isDirty ? 1 : 0)); } - @Override - public String getItemDisplayName(ItemStack par1ItemStack) - { - int dirty = par1ItemStack.getItemDamage() & 1; - int quality = par1ItemStack.getItemDamage() >> 1 & 15; - int type = par1ItemStack.getItemDamage() >> 5 & 15; - if(dirty == 1) - return "Dirty " + typeArray[type]; - else - return qualityArray[quality] + " " + typeArray[type]; - } - - /** - * Returns the unlocalized name of this item. This version accepts an ItemStack so different stacks can have - * different names based on their damage or NBT. - */ - @Override - public String getUnlocalizedName(ItemStack par1ItemStack) - { - int dirty = par1ItemStack.getItemDamage() & 1; - int quality = par1ItemStack.getItemDamage() >> 1 & 15; - int type = par1ItemStack.getItemDamage() >> 5 & 15; - if(dirty == 1) - return super.getUnlocalizedName() + ".Dirty" + typeArray[type]; - else - return super.getUnlocalizedName() + "." + qualityArray[quality] + typeArray[type]; - - - } - - /** - * Called by the default implemetation of EntityItem's onUpdate method, allowing for cleaner - * control over the update of the item without having to write a subclass. - * - * @param entityItem The entity Item - * @return Return true to skip any further update code. - */ - @Override - public boolean onEntityItemUpdate(EntityItem entityItem) - { + public String getItemDisplayName(ItemStack par1ItemStack) { + int dirty = par1ItemStack.getItemDamage() & 1; + int quality = par1ItemStack.getItemDamage() >> 1 & 15; + int type = par1ItemStack.getItemDamage() >> 5 & 15; + return dirty == 1 ? "Dirty " + typeArray[type] : qualityArray[quality] + " " + typeArray[type]; + } + + public String getUnlocalizedName(ItemStack par1ItemStack) { + int dirty = par1ItemStack.getItemDamage() & 1; + int quality = par1ItemStack.getItemDamage() >> 1 & 15; + int type = par1ItemStack.getItemDamage() >> 5 & 15; + return dirty == 1 ? super.getUnlocalizedName() + ".Dirty" + typeArray[type] : super.getUnlocalizedName() + "." + qualityArray[quality] + typeArray[type]; + } + + public boolean onEntityItemUpdate(EntityItem entityItem) { int id = entityItem.worldObj.getBlockId(MathHelper.floor_double(entityItem.posX), MathHelper.floor_double(entityItem.posY), MathHelper.floor_double(entityItem.posZ)); - if (id == Block.waterStill.blockID || id == Block.waterMoving.blockID) - { - ItemStack item = entityItem.getEntityItem(); - int damage = item.getItemDamage() >> 1; - int quality = damage & 15; - if(quality == 0) - damage = damage | ((int)(Math.random()*6))+1; - item.setItemDamage(damage << 1); - entityItem.setEntityItemStack(item); - } + if (id == Block.waterStill.blockID || id == Block.waterMoving.blockID) { + ItemStack item = entityItem.getEntityItem(); + int damage = item.getItemDamage() >> 1; + int quality = damage & 15; + if (quality == 0) { + damage |= (int) (Math.random() * 6.0D) + 1; + } + + item.setItemDamage(damage << 1); + entityItem.setEntityItemStack(item); + } + return super.onEntityItemUpdate(entityItem); - } - - @SideOnly(Side.CLIENT) - - /** - * returns a list of items with the same ID, but different meta (eg: dye returns 16 items) - */ - @Override - public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List) - { - for (int type = 0; type < typeArray.length; type++) - { - par3List.add(new ItemStack(par1, 1, type << 5 | 1)); - for(int quality = 1; quality < qualityArray.length; quality++) - { - par3List.add(new ItemStack(par1, 1, type << 5 | quality << 1)); - } - } - } - - @SideOnly(Side.CLIENT) - - /** - * Gets an icon index based on an item's damage value - */ - @Override - public Icon getIconFromDamage(int par1) - { - - int dirty = par1 & 1; - int quality = (par1 >> 1) & 15; - int type = (par1 >> 5) & 15; - if(dirty == 1) - return iconArray[type*7]; - else - return iconArray[type*7 + quality]; - } - - @SideOnly(Side.CLIENT) - @Override - public void registerIcons(IconRegister par1IconRegister) - { - iconArray = new Icon[(typeArray.length)*(qualityArray.length+1)]; - - for (int type = 0; type < 5; type++) - { - iconArray[type*7] = par1IconRegister.registerIcon("Atum:Dirty" + typeArray[type]); - for(int quality = 1; quality < 7; quality++) - { - iconArray[((type*7) + quality)] = par1IconRegister.registerIcon("Atum:" + qualityArray[quality] + typeArray[type]); - } - } - } - - + } + + @SideOnly(Side.CLIENT) + public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List) { + for (int type = 0; type < typeArray.length; ++type) { + par3List.add(new ItemStack(par1, 1, type << 5 | 1)); + + for (int quality = 1; quality < qualityArray.length; ++quality) { + par3List.add(new ItemStack(par1, 1, type << 5 | quality << 1)); + } + } + + } + + @SideOnly(Side.CLIENT) + public Icon getIconFromDamage(int par1) { + int dirty = par1 & 1; + int quality = par1 >> 1 & 15; + int type = par1 >> 5 & 15; + return dirty == 1 ? this.iconArray[type * 7] : this.iconArray[type * 7 + quality]; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + this.iconArray = new Icon[typeArray.length * (qualityArray.length + 1)]; + + for (int type = 0; type < 5; ++type) { + this.iconArray[type * 7] = par1IconRegister.registerIcon(Atum.modID + ":Dirty" + typeArray[type]); + + for (int quality = 1; quality < 7; ++quality) { + this.iconArray[type * 7 + quality] = par1IconRegister.registerIcon(Atum.modID + ":" + qualityArray[quality] + typeArray[type]); + } + } + + } + } diff --git a/common/rebelkeithy/mods/atum/items/ItemScarab.java b/common/rebelkeithy/mods/atum/items/ItemScarab.java index 8182a7c..3385ba3 100644 --- a/common/rebelkeithy/mods/atum/items/ItemScarab.java +++ b/common/rebelkeithy/mods/atum/items/ItemScarab.java @@ -1,52 +1,55 @@ package rebelkeithy.mods.atum.items; -import rebelkeithy.mods.atum.AtumBlocks; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; +import rebelkeithy.mods.atum.Atum; +import rebelkeithy.mods.atum.AtumBlocks; -public class ItemScarab extends Item -{ - public ItemScarab(int id) - { +public class ItemScarab extends Item { + + public ItemScarab(int id) { super(id); - this.maxStackSize = 1; + super.maxStackSize = 1; } - - public boolean hasEffect(ItemStack par1ItemStack) - { + + public boolean hasEffect(ItemStack par1ItemStack) { return true; } - public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) - { + public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) { + int blockID = par3World.getBlockId(par4, par5, par6); + if (blockID == Block.sandStone.blockID) { + if (!AtumBlocks.portal.tryToCreatePortal(par3World, par4, par5 + 1, par6)) { + if (par2EntityPlayer.capabilities.isCreativeMode) { + par3World.setBlock(par4 + 2, par5 + 1, par6, Block.sandStone.blockID); + par3World.setBlock(par4 + 2, par5 + 2, par6, Block.sandStone.blockID); + par3World.setBlock(par4 - 2, par5 + 1, par6, Block.sandStone.blockID); + par3World.setBlock(par4 - 2, par5 + 2, par6, Block.sandStone.blockID); + par3World.setBlock(par4, par5 + 1, par6 + 2, Block.sandStone.blockID); + par3World.setBlock(par4, par5 + 2, par6 + 2, Block.sandStone.blockID); + par3World.setBlock(par4, par5 + 1, par6 - 2, Block.sandStone.blockID); + par3World.setBlock(par4, par5 + 2, par6 - 2, Block.sandStone.blockID); + par3World.setBlock(par4, par5 + 3, par6 + 1, Block.sandStone.blockID); + par3World.setBlock(par4, par5 + 3, par6 - 1, Block.sandStone.blockID); + par3World.setBlock(par4 - 1, par5 + 3, par6, Block.sandStone.blockID); + par3World.setBlock(par4 + 1, par5 + 3, par6, Block.sandStone.blockID); + } + } else { + --par2EntityPlayer.getCurrentEquippedItem().stackSize; + } + } - int blockID = par3World.getBlockId(par4, par5, par6); - if(blockID == Block.sandStone.blockID) - { - if(!AtumBlocks.portal.tryToCreatePortal(par3World, par4, par5 + 1, par6)) - { - if(par2EntityPlayer.capabilities.isCreativeMode) - { - par3World.setBlock(par4+2, par5+1, par6, Block.sandStone.blockID); - par3World.setBlock(par4+2, par5+2, par6, Block.sandStone.blockID); - par3World.setBlock(par4-2, par5+1, par6, Block.sandStone.blockID); - par3World.setBlock(par4-2, par5+2, par6, Block.sandStone.blockID); - par3World.setBlock(par4, par5+1, par6+2, Block.sandStone.blockID); - par3World.setBlock(par4, par5+2, par6+2, Block.sandStone.blockID); - par3World.setBlock(par4, par5+1, par6-2, Block.sandStone.blockID); - par3World.setBlock(par4, par5+2, par6-2, Block.sandStone.blockID); - par3World.setBlock(par4, par5+3, par6+1, Block.sandStone.blockID); - par3World.setBlock(par4, par5+3, par6-1, Block.sandStone.blockID); - par3World.setBlock(par4-1, par5+3, par6, Block.sandStone.blockID); - par3World.setBlock(par4+1, par5+3, par6, Block.sandStone.blockID); - } - } else { - par2EntityPlayer.getCurrentEquippedItem().stackSize--; - } - } - return true; - } + return true; + } + + @Override + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":Scarab"); + } } diff --git a/common/rebelkeithy/mods/atum/items/ItemScepter.java b/common/rebelkeithy/mods/atum/items/ItemScepter.java index 0cd1299..0c57882 100644 --- a/common/rebelkeithy/mods/atum/items/ItemScepter.java +++ b/common/rebelkeithy/mods/atum/items/ItemScepter.java @@ -1,25 +1,18 @@ package rebelkeithy.mods.atum.items; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; +import rebelkeithy.mods.atum.Atum; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; -import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class ItemScepter extends ItemSword -{ +public class ItemScepter extends ItemSword { - public ItemScepter(int par1, EnumToolMaterial par2EnumToolMaterial) - { - super(par1, par2EnumToolMaterial); - } + public ItemScepter(int par1, EnumToolMaterial par2EnumToolMaterial) { + super(par1, par2EnumToolMaterial); + } + @Override + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":Scepter"); + } } diff --git a/common/rebelkeithy/mods/atum/items/ItemScimitar.java b/common/rebelkeithy/mods/atum/items/ItemScimitar.java index 5f50bf9..c55fcc5 100644 --- a/common/rebelkeithy/mods/atum/items/ItemScimitar.java +++ b/common/rebelkeithy/mods/atum/items/ItemScimitar.java @@ -1,25 +1,18 @@ package rebelkeithy.mods.atum.items; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; +import rebelkeithy.mods.atum.Atum; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; -import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class ItemScimitar extends ItemSword -{ - - public ItemScimitar(int par1, EnumToolMaterial par2EnumToolMaterial) - { - super(par1, par2EnumToolMaterial); - } +public class ItemScimitar extends ItemSword { + public ItemScimitar(int par1, EnumToolMaterial par2EnumToolMaterial) { + super(par1, par2EnumToolMaterial); + } + + @Override + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":Scimitar"); + } } diff --git a/common/rebelkeithy/mods/atum/items/ItemStoneSoldierSword.java b/common/rebelkeithy/mods/atum/items/ItemStoneSoldierSword.java index 69d2d16..b82fa94 100644 --- a/common/rebelkeithy/mods/atum/items/ItemStoneSoldierSword.java +++ b/common/rebelkeithy/mods/atum/items/ItemStoneSoldierSword.java @@ -1,26 +1,18 @@ package rebelkeithy.mods.atum.items; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; +import rebelkeithy.mods.atum.Atum; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; -import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public class ItemStoneSoldierSword extends ItemSword -{ +public class ItemStoneSoldierSword extends ItemSword { - public ItemStoneSoldierSword(int par1, EnumToolMaterial par2EnumToolMaterial) - { - super(par1, par2EnumToolMaterial); - } + public ItemStoneSoldierSword(int par1, EnumToolMaterial par2EnumToolMaterial) { + super(par1, par2EnumToolMaterial); + } - + @Override + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":StoneSoldierSword"); + } } diff --git a/common/rebelkeithy/mods/atum/items/ItemTexturedArmor.java b/common/rebelkeithy/mods/atum/items/ItemTexturedArmor.java index 75d56d0..ea47dd4 100644 --- a/common/rebelkeithy/mods/atum/items/ItemTexturedArmor.java +++ b/common/rebelkeithy/mods/atum/items/ItemTexturedArmor.java @@ -1,47 +1,39 @@ package rebelkeithy.mods.atum.items; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.entity.Entity; import net.minecraft.item.EnumArmorMaterial; -import net.minecraft.item.Item; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; -import net.minecraftforge.common.IArmorTextureProvider; +import net.minecraft.util.Icon; -public class ItemTexturedArmor extends ItemArmor implements IArmorTextureProvider -{ +public class ItemTexturedArmor extends ItemArmor { private String textureFile; private int repairItemID = 0; + private Icon[] armour; - public ItemTexturedArmor(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) - { + public ItemTexturedArmor(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); } - - public ItemTexturedArmor setRepairItem(int id) - { - repairItemID = id; + + public ItemTexturedArmor setRepairItem(int id) { + this.repairItemID = id; return this; } - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == repairItemID; - } - - public ItemTexturedArmor setTextureFile(String filename) - { - textureFile = filename; + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == this.repairItemID; + } + + public ItemTexturedArmor setTextureFile(String filename) { + this.textureFile = filename; return this; } @Override - public String getArmorTextureFile(ItemStack itemstack) - { - return "/armor/" + textureFile + ".png"; + public String getArmorTexture(ItemStack itemstack, Entity entity, int slot, int layer) { + return "atum:textures/armor/" + this.textureFile + ".png"; } } diff --git a/common/rebelkeithy/mods/atum/items/RendererItemBow.java b/common/rebelkeithy/mods/atum/items/RendererItemBow.java index f2f0909..2ff5596 100644 --- a/common/rebelkeithy/mods/atum/items/RendererItemBow.java +++ b/common/rebelkeithy/mods/atum/items/RendererItemBow.java @@ -4,142 +4,107 @@ import net.minecraft.client.renderer.ItemRenderer; import net.minecraft.client.renderer.Tessellator; import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.Icon; +import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.IItemRenderer; +import net.minecraftforge.client.IItemRenderer.ItemRenderType; +import net.minecraftforge.client.IItemRenderer.ItemRendererHelper; import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; -public class RendererItemBow implements IItemRenderer -{ +public class RendererItemBow implements IItemRenderer { - @Override - public boolean handleRenderType(ItemStack item, ItemRenderType type) - { - if(type == ItemRenderType.EQUIPPED) - { - return true; - } - - return false; + public boolean handleRenderType(ItemStack item, ItemRenderType type) { + return type == ItemRenderType.EQUIPPED; } - @Override - public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) - { - if(type == ItemRenderType.EQUIPPED) - return false; - - return false; + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { + return type == ItemRenderType.EQUIPPED ? false : false; } - @Override - public void renderItem(ItemRenderType type, ItemStack item, Object... data) - { - EntityLiving e = (EntityLiving) data[1]; + public void renderItem(ItemRenderType type, ItemStack item, Object... data) { + EntityLivingBase e = (EntityLivingBase) data[1]; + GL11.glPopMatrix(); + boolean renderFirstPerson = false; + if (e instanceof EntityPlayer && ((EntityPlayer) e).username.equals(Minecraft.getMinecraft().thePlayer.username) && Minecraft.getMinecraft().gameSettings.thirdPersonView == 0) { + renderFirstPerson = true; + } + + if (!renderFirstPerson) { + float f22 = 0.375F; + GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(-60.0F, 0.0F, 0.0F, 1.0F); + GL11.glScalef(1.0F / f22, 1.0F / f22, 1.0F / f22); + GL11.glTranslatef(-0.25F, -0.1875F, 0.1875F); + float f2 = 0.625F; + GL11.glTranslatef(0.0F, 0.125F, 0.3125F); + GL11.glRotatef(-20.0F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(f2, -f2, f2); + GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); + } - GL11.glPopMatrix(); - - boolean renderFirstPerson = false; - - if(e instanceof EntityPlayer) - { - if(((EntityPlayer)e).username.equals(Minecraft.getMinecraft().thePlayer.username)) - { - if(Minecraft.getMinecraft().gameSettings.thirdPersonView == 0) - { - renderFirstPerson = true; - } - } - } - - if(!renderFirstPerson) - { - float f22 = 0.375F; - GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(-60.0F, 0.0F, 0.0F, 1.0F); - GL11.glScalef(1.0f/f22, 1.0f/f22, 1.0f/f22); - GL11.glTranslatef(-0.25F, -0.1875F, 0.1875F); - - float f2 = 0.625F; - GL11.glTranslatef(0.0F, 0.125F, 0.3125F); - GL11.glRotatef(-20.0F, 0.0F, 1.0F, 0.0F); - GL11.glScalef(f2, -f2, f2); - GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); - } - this.renderItem(e, item, 0); - GL11.glPushMatrix(); + GL11.glPushMatrix(); } - /** - * Renders the item stack for being in an entity's hand Args: itemStack - */ - public void renderItem(EntityLiving par1EntityLiving, ItemStack par2ItemStack, int par3) - { - GL11.glPushMatrix(); - - Icon icon = par1EntityLiving.getItemIcon(par2ItemStack, par3); - - if (icon == null) - { - GL11.glPopMatrix(); - return; - } + public void renderItem(EntityLivingBase par1EntityLiving, ItemStack par2ItemStack, int par3) { + GL11.glPushMatrix(); + Icon icon = par1EntityLiving.getItemIcon(par2ItemStack, par3); + if (icon == null) { + GL11.glPopMatrix(); + } else { + Tessellator tessellator = Tessellator.instance; + float f = icon.getMinU(); + float f1 = icon.getMaxU(); + float f2 = icon.getMinV(); + float f3 = icon.getMaxV(); + float f4 = 0.0F; + float f5 = 0.3F; + GL11.glEnable('\u803a'); + GL11.glTranslatef(-f4, -f5, 0.0F); + float f6 = 1.5F; + GL11.glScalef(f6, f6, f6); + GL11.glRotatef(50.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(335.0F, 0.0F, 0.0F, 1.0F); + GL11.glTranslatef(-0.9375F, -0.0625F, 0.0F); + ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, icon.getIconWidth(), icon.getIconHeight(), 0.0625F); + if (par2ItemStack != null && par2ItemStack.hasEffect() && par3 == 0) { + GL11.glDepthFunc(514); + GL11.glDisable(2896); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation("%blur%/misc/glint.png")); + GL11.glEnable(3042); + GL11.glBlendFunc(768, 1); + float f7 = 0.76F; + GL11.glColor4f(0.5F * f7, 0.25F * f7, 0.8F * f7, 1.0F); + GL11.glMatrixMode(5890); + GL11.glPushMatrix(); + float f8 = 0.125F; + GL11.glScalef(f8, f8, f8); + float f9 = (float) (Minecraft.getSystemTime() % 3000L) / 3000.0F * 8.0F; + GL11.glTranslatef(f9, 0.0F, 0.0F); + GL11.glRotatef(-50.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(f8, f8, f8); + f9 = (float) (Minecraft.getSystemTime() % 4873L) / 4873.0F * 8.0F; + GL11.glTranslatef(-f9, 0.0F, 0.0F); + GL11.glRotatef(10.0F, 0.0F, 0.0F, 1.0F); + ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); + GL11.glPopMatrix(); + GL11.glMatrixMode(5888); + GL11.glDisable(3042); + GL11.glEnable(2896); + GL11.glDepthFunc(515); + GL11.glDisable('\u803a'); + } - Tessellator tessellator = Tessellator.instance; - float f = icon.getMinU(); - float f1 = icon.getMaxU(); - float f2 = icon.getMinV(); - float f3 = icon.getMaxV(); - float f4 = 0.0F; - float f5 = 0.3F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - GL11.glTranslatef(-f4, -f5, 0.0F); - float f6 = 1.5F; - GL11.glScalef(f6, f6, f6); - GL11.glRotatef(50.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(335.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-0.9375F, -0.0625F, 0.0F); - ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, icon.getSheetWidth(), icon.getSheetHeight(), 0.0625F); - - if (par2ItemStack != null && par2ItemStack.hasEffect() && par3 == 0) - { - GL11.glDepthFunc(GL11.GL_EQUAL); - GL11.glDisable(GL11.GL_LIGHTING); - Minecraft.getMinecraft().renderEngine.bindTexture("%blur%/misc/glint.png"); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE); - float f7 = 0.76F; - GL11.glColor4f(0.5F * f7, 0.25F * f7, 0.8F * f7, 1.0F); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glPushMatrix(); - float f8 = 0.125F; - GL11.glScalef(f8, f8, f8); - float f9 = (float)(Minecraft.getSystemTime() % 3000L) / 3000.0F * 8.0F; - GL11.glTranslatef(f9, 0.0F, 0.0F); - GL11.glRotatef(-50.0F, 0.0F, 0.0F, 1.0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(f8, f8, f8); - f9 = (float)(Minecraft.getSystemTime() % 4873L) / 4873.0F * 8.0F; - GL11.glTranslatef(-f9, 0.0F, 0.0F); - GL11.glRotatef(10.0F, 0.0F, 0.0F, 1.0F); - ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F); - GL11.glPopMatrix(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDepthFunc(GL11.GL_LEQUAL); - - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - } - - GL11.glPopMatrix(); - } + GL11.glPopMatrix(); + } + } } diff --git a/common/rebelkeithy/mods/atum/particles/EntityCritFX.java b/common/rebelkeithy/mods/atum/particles/EntityCritFX.java index 43e5fe3..0f92aa4 100644 --- a/common/rebelkeithy/mods/atum/particles/EntityCritFX.java +++ b/common/rebelkeithy/mods/atum/particles/EntityCritFX.java @@ -1,95 +1,79 @@ package rebelkeithy.mods.atum.particles; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.particle.EntityFX; import net.minecraft.client.renderer.Tessellator; import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) -public class EntityCritFX extends EntityFX -{ - float field_70561_a; +public class EntityCritFX extends EntityFX { - public EntityCritFX(World par1World, double par2, double par4, double par6, double par8, double par10, double par12) - { - this(par1World, par2, par4, par6, par8, par10, par12, 1.0F); - } + float field_70561_a; - public EntityCritFX(World par1World, double x, double y, double z, double dx, double dy, double dz, double r, double g, double b) - { - this(par1World, x, y, z, dx, dy, dz, 1.0F); - - float colorOffset = (float) ((Math.random() - 0.5F) * 0.2F); - this.particleRed = (float) r + colorOffset; - this.particleBlue = (float) b + colorOffset; - this.particleGreen = (float) g + colorOffset; - } - public EntityCritFX(World par1World, double par2, double par4, double par6, double par8, double par10, double par12, float par14) - { - super(par1World, par2, par4, par6, 0.0D, 0.0D, 0.0D); - this.motionX *= 0.10000000149011612D; - this.motionY *= 0.10000000149011612D; - this.motionZ *= 0.10000000149011612D; - this.motionX += par8 * 0.4D; - this.motionY += par10 * 0.4D; - this.motionZ += par12 * 0.4D; - this.particleRed = this.particleGreen = this.particleBlue = (float)(Math.random() * 0.30000001192092896D + 0.6000000238418579D); - this.particleScale *= 0.75F; - this.particleScale *= par14; - this.field_70561_a = this.particleScale; - this.particleMaxAge = (int)(6.0D / (Math.random() * 0.8D + 0.6D)); - this.particleMaxAge = (int)((float)this.particleMaxAge * par14); - this.noClip = false; - this.setParticleTextureIndex(65); - this.onUpdate(); - } + public EntityCritFX(World par1World, double par2, double par4, double par6, double par8, double par10, double par12) { + this(par1World, par2, par4, par6, par8, par10, par12, 1.0F); + } - public void renderParticle(Tessellator par1Tessellator, float par2, float par3, float par4, float par5, float par6, float par7) - { - float f6 = ((float)this.particleAge + par2) / (float)this.particleMaxAge * 32.0F; + public EntityCritFX(World par1World, double x, double y, double z, double dx, double dy, double dz, double r, double g, double b) { + this(par1World, x, y, z, dx, dy, dz, 1.0F); + float colorOffset = (float)((Math.random() - 0.5D) * 0.20000000298023224D); + super.particleRed = (float)r + colorOffset; + super.particleBlue = (float)b + colorOffset; + super.particleGreen = (float)g + colorOffset; + } - if (f6 < 0.0F) - { - f6 = 0.0F; - } + public EntityCritFX(World par1World, double par2, double par4, double par6, double par8, double par10, double par12, float par14) { + super(par1World, par2, par4, par6, 0.0D, 0.0D, 0.0D); + super.motionX *= 0.10000000149011612D; + super.motionY *= 0.10000000149011612D; + super.motionZ *= 0.10000000149011612D; + super.motionX += par8 * 0.4D; + super.motionY += par10 * 0.4D; + super.motionZ += par12 * 0.4D; + super.particleRed = super.particleGreen = super.particleBlue = (float)(Math.random() * 0.30000001192092896D + 0.6000000238418579D); + super.particleScale *= 0.75F; + super.particleScale *= par14; + this.field_70561_a = super.particleScale; + super.particleMaxAge = (int)(6.0D / (Math.random() * 0.8D + 0.6D)); + super.particleMaxAge = (int)((float)super.particleMaxAge * par14); + super.noClip = false; + this.setParticleTextureIndex(65); + this.onUpdate(); + } - if (f6 > 1.0F) - { - f6 = 1.0F; - } + public void renderParticle(Tessellator par1Tessellator, float par2, float par3, float par4, float par5, float par6, float par7) { + float f6 = ((float)super.particleAge + par2) / (float)super.particleMaxAge * 32.0F; + if(f6 < 0.0F) { + f6 = 0.0F; + } - this.particleScale = this.field_70561_a * f6; - super.renderParticle(par1Tessellator, par2, par3, par4, par5, par6, par7); - } + if(f6 > 1.0F) { + f6 = 1.0F; + } - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() - { - this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; + super.particleScale = this.field_70561_a * f6; + super.renderParticle(par1Tessellator, par2, par3, par4, par5, par6, par7); + } - if (this.particleAge++ >= this.particleMaxAge) - { - this.setDead(); - } + public void onUpdate() { + super.prevPosX = super.posX; + super.prevPosY = super.posY; + super.prevPosZ = super.posZ; + if(super.particleAge++ >= super.particleMaxAge) { + this.setDead(); + } - this.moveEntity(this.motionX, this.motionY, this.motionZ); - //this.particleGreen = (float)((double)this.particleGreen * 0.96D); - //this.particleBlue = (float)((double)this.particleBlue * 0.9D); - this.motionX *= 0.699999988079071D; - this.motionY *= 0.699999988079071D; - this.motionZ *= 0.699999988079071D; - this.motionY -= 0.019999999552965164D; + this.moveEntity(super.motionX, super.motionY, super.motionZ); + super.motionX *= 0.699999988079071D; + super.motionY *= 0.699999988079071D; + super.motionZ *= 0.699999988079071D; + super.motionY -= 0.019999999552965164D; + if(super.onGround) { + super.motionX *= 0.699999988079071D; + super.motionZ *= 0.699999988079071D; + } - if (this.onGround) - { - this.motionX *= 0.699999988079071D; - this.motionZ *= 0.699999988079071D; - } - } + } } diff --git a/common/rebelkeithy/mods/atum/particles/EntitySandFX.java b/common/rebelkeithy/mods/atum/particles/EntitySandFX.java index 9f11698..9d37bb6 100644 --- a/common/rebelkeithy/mods/atum/particles/EntitySandFX.java +++ b/common/rebelkeithy/mods/atum/particles/EntitySandFX.java @@ -1,122 +1,105 @@ package rebelkeithy.mods.atum.particles; -import org.lwjgl.opengl.GL11; - -import cpw.mods.fml.client.FMLClientHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.Minecraft; import net.minecraft.client.particle.EntityFX; import net.minecraft.client.renderer.Tessellator; import net.minecraft.src.ModLoader; +import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; -@SideOnly(Side.CLIENT) -public class EntitySandFX extends EntityFX -{ - float smokeParticleScale; - - public EntitySandFX(World par1World, double par2, double par4, double par6, double par8, double par10, double par12) - { - this(par1World, par2, par4, par6, par8, par10, par12, 1.0F); - } - - public EntitySandFX(World par1World, double par2, double par4, double par6, double par8, double par10, double par12, float par14) - { - super(par1World, par2, par4, par6, 0.0D, 0.0D, 0.0D); - this.motionX *= 0.10000000149011612D; - this.motionY *= 0.10000000149011612D; - this.motionZ *= 0.10000000149011612D; - this.motionX += par8; - this.motionY += par10; - this.motionZ += par12; - this.particleRed = this.particleGreen = this.particleBlue = 1; - this.particleScale *= 0.75F; - this.particleScale *= par14; - this.smokeParticleScale = this.particleScale; - this.particleMaxAge = (int)(4.0D / (Math.random() * 0.8D + 0.2D)); - this.particleMaxAge = (int)((float)this.particleMaxAge * par14); - this.noClip = false; - } - - @Override - public void renderParticle(Tessellator tessellator, float f, float f1, float f2, float f3, float f4, float f5) - { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - - Tessellator tessellator1 = new Tessellator(); - tessellator1.startDrawingQuads(); - tessellator1.setBrightness(getBrightnessForRender(f)); - - float f6 = (((float)particleAge + f) / (float)particleMaxAge) * 32F; - if(f6 < 0.0F) - { - f6 = 0.0F; - } - if(f6 > 1.0F) - { - f6 = 1.0F; - } - - float var8 = ((float)this.particleAge + f) / (float)this.particleMaxAge; - this.particleScale = (1.0F - var8 * var8 * 0.5F); - - int index = 3*particleAge/particleMaxAge; - GL11.glBindTexture(3553 /*GL_TEXTURE_2D*/, ModLoader.getMinecraftInstance().renderEngine.getTexture("/mods/Atum/textures/particles/Sand.png")); - float f0 = index/16F;//(float)(getParticleTextureIndex() % 16) / 16F; - float f7 = f0 + 1/16F; - float f8 = 1;//(float)(getParticleTextureIndex() / 16) / 16F; - float f9 = f8 + 1/16F; - float f10 = 0.1F * particleScale; - float f11 = (float)((prevPosX + (posX - prevPosX) * (double)f) - interpPosX); - float f12 = (float)((prevPosY + (posY - prevPosY) * (double)f) - interpPosY); - float f13 = (float)((prevPosZ + (posZ - prevPosZ) * (double)f) - interpPosZ); - float f14 = 1.0F; - //tessellator1.setColorOpaque_F(particleRed * f14, particleGreen * f14, particleBlue * f14); - //tessellator1.setColorOpaque_F(this.particleRed, this.particleGreen, this.particleBlue); - float brightness = this.rand.nextFloat() * 0.2F + 0.5F; - tessellator1.setColorRGBA_F(0.7F * brightness, 0.55F * brightness, 0.35F * brightness, 0.6F); - tessellator1.addVertexWithUV(f11 - f1 * f10 - f4 * f10, f12 - f2 * f10, f13 - f3 * f10 - f5 * f10, f7, f9); - tessellator1.addVertexWithUV((f11 - f1 * f10) + f4 * f10, f12 + f2 * f10, (f13 - f3 * f10) + f5 * f10, f7, f8); - tessellator1.addVertexWithUV(f11 + f1 * f10 + f4 * f10, f12 + f2 * f10, f13 + f3 * f10 + f5 * f10, f0, f8); - tessellator1.addVertexWithUV((f11 + f1 * f10) - f4 * f10, f12 - f2 * f10, (f13 + f3 * f10) - f5 * f10, f0, f9); - - tessellator1.draw(); - GL11.glBindTexture(3553 /*GL_TEXTURE_2D*/, ModLoader.getMinecraftInstance().renderEngine.getTexture("/particles.png")); - } - - /** - * Called to update the entity's position/logic. - */ - @Override - public void onUpdate() - { - this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - - if (this.particleAge++ >= this.particleMaxAge) - { - this.setDead(); - } - - this.setParticleTextureIndex(7 - this.particleAge * 8 / this.particleMaxAge); - this.motionY += 0.004D; - this.moveEntity(this.motionX, this.motionY, this.motionZ); - - if (this.posY == this.prevPosY) - { - this.motionX *= 1.1D; - this.motionZ *= 1.1D; - } +import org.lwjgl.opengl.GL11; - this.motionX *= 0.9599999785423279D; - this.motionY *= 0.9599999785423279D; - this.motionZ *= 0.9599999785423279D; +import rebelkeithy.mods.atum.Atum; - if (this.onGround) - { - this.motionX *= 0.699999988079071D; - this.motionZ *= 0.699999988079071D; - } - } +@SideOnly(Side.CLIENT) +public class EntitySandFX extends EntityFX { + + float smokeParticleScale; + + + public EntitySandFX(World par1World, double par2, double par4, double par6, double par8, double par10, double par12) { + this(par1World, par2, par4, par6, par8, par10, par12, 1.0F); + } + + public EntitySandFX(World par1World, double par2, double par4, double par6, double par8, double par10, double par12, float par14) { + super(par1World, par2, par4, par6, 0.0D, 0.0D, 0.0D); + super.motionX *= 0.10000000149011612D; + super.motionY *= 0.10000000149011612D; + super.motionZ *= 0.10000000149011612D; + super.motionX += par8; + super.motionY += par10; + super.motionZ += par12; + super.particleRed = super.particleGreen = super.particleBlue = 1.0F; + super.particleScale *= 0.75F; + super.particleScale *= par14; + this.smokeParticleScale = super.particleScale; + super.particleMaxAge = (int)(4.0D / (Math.random() * 0.8D + 0.2D)); + super.particleMaxAge = (int)((float)super.particleMaxAge * par14); + super.noClip = false; + } + + public void renderParticle(Tessellator tessellator, float f, float f1, float f2, float f3, float f4, float f5) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Tessellator tessellator1 = new Tessellator(); + tessellator1.startDrawingQuads(); + tessellator1.setBrightness(this.getBrightnessForRender(f)); + float f6 = ((float)super.particleAge + f) / (float)super.particleMaxAge * 32.0F; + if(f6 < 0.0F) { + f6 = 0.0F; + } + + if(f6 > 1.0F) { + f6 = 1.0F; + } + + float var8 = ((float)super.particleAge + f) / (float)super.particleMaxAge; + super.particleScale = 1.0F - var8 * var8 * 0.5F; + int index = 3 * super.particleAge / super.particleMaxAge; + GL11.glBindTexture(3553, Minecraft.getMinecraft().renderEngine.getTexture(new ResourceLocation(Atum.modID + "/textures/particles/Sand.png")).getGlTextureId()); + float f0 = (float)index / 16.0F; + float f7 = f0 + 0.0625F; + float f8 = 1.0F; + float f9 = f8 + 0.0625F; + float f10 = 0.1F * super.particleScale; + float f11 = (float)(super.prevPosX + (super.posX - super.prevPosX) * (double)f - EntityFX.interpPosX); + float f12 = (float)(super.prevPosY + (super.posY - super.prevPosY) * (double)f - EntityFX.interpPosY); + float f13 = (float)(super.prevPosZ + (super.posZ - super.prevPosZ) * (double)f - EntityFX.interpPosZ); + float f14 = 1.0F; + float brightness = super.rand.nextFloat() * 0.2F + 0.5F; + tessellator1.setColorRGBA_F(0.7F * brightness, 0.55F * brightness, 0.35F * brightness, 0.6F); + tessellator1.addVertexWithUV((double)(f11 - f1 * f10 - f4 * f10), (double)(f12 - f2 * f10), (double)(f13 - f3 * f10 - f5 * f10), (double)f7, (double)f9); + tessellator1.addVertexWithUV((double)(f11 - f1 * f10 + f4 * f10), (double)(f12 + f2 * f10), (double)(f13 - f3 * f10 + f5 * f10), (double)f7, (double)f8); + tessellator1.addVertexWithUV((double)(f11 + f1 * f10 + f4 * f10), (double)(f12 + f2 * f10), (double)(f13 + f3 * f10 + f5 * f10), (double)f0, (double)f8); + tessellator1.addVertexWithUV((double)(f11 + f1 * f10 - f4 * f10), (double)(f12 - f2 * f10), (double)(f13 + f3 * f10 - f5 * f10), (double)f0, (double)f9); + tessellator1.draw(); + GL11.glBindTexture(3553, Minecraft.getMinecraft().renderEngine.getTexture(new ResourceLocation("/particles.png")).getGlTextureId()); + } + + public void onUpdate() { + super.prevPosX = super.posX; + super.prevPosY = super.posY; + super.prevPosZ = super.posZ; + if(super.particleAge++ >= super.particleMaxAge) { + this.setDead(); + } + + this.setParticleTextureIndex(7 - super.particleAge * 8 / super.particleMaxAge); + super.motionY += 0.004D; + this.moveEntity(super.motionX, super.motionY, super.motionZ); + if(super.posY == super.prevPosY) { + super.motionX *= 1.1D; + super.motionZ *= 1.1D; + } + + super.motionX *= 0.9599999785423279D; + super.motionY *= 0.9599999785423279D; + super.motionZ *= 0.9599999785423279D; + if(super.onGround) { + super.motionX *= 0.699999988079071D; + super.motionZ *= 0.699999988079071D; + } + + } } diff --git a/common/rebelkeithy/mods/atum/particles/EntitySandPortalFX.java b/common/rebelkeithy/mods/atum/particles/EntitySandPortalFX.java index 1f6cc94..021462a 100644 --- a/common/rebelkeithy/mods/atum/particles/EntitySandPortalFX.java +++ b/common/rebelkeithy/mods/atum/particles/EntitySandPortalFX.java @@ -7,95 +7,78 @@ import net.minecraft.world.World; @SideOnly(Side.CLIENT) -public class EntitySandPortalFX extends EntityFX -{ - private float portalParticleScale; - private double portalPosX; - private double portalPosY; - private double portalPosZ; +public class EntitySandPortalFX extends EntityFX { - public EntitySandPortalFX(World par1World, double par2, double par4, double par6, double par8, double par10, double par12) - { - super(par1World, par2, par4, par6, par8, par10, par12); - this.motionX = par8; - this.motionY = par10; - this.motionZ = par12; - this.portalPosX = this.posX = par2; - this.portalPosY = this.posY = par4; - this.portalPosZ = this.posZ = par6; - float f = this.rand.nextFloat() * 0.6F + 0.4F; - this.portalParticleScale = this.particleScale = this.rand.nextFloat() * 0.2F + 0.5F; - this.particleRed = this.particleGreen = this.particleBlue = 1.0F * f; - this.particleGreen *= 0.3F; - this.particleRed *= 0.5F; - this.particleBlue *= 0.1F; - this.particleMaxAge = (int)(Math.random() * 10.0D) + 40; - this.noClip = true; - this.setParticleTextureIndex((int)(Math.random() * 8.0D)); - } + private float portalParticleScale; + private double portalPosX; + private double portalPosY; + private double portalPosZ; - @Override - public void renderParticle(Tessellator par1Tessellator, float par2, float par3, float par4, float par5, float par6, float par7) - { - float f6 = ((float)this.particleAge + par2) / (float)this.particleMaxAge; - f6 = 1.0F - f6; - f6 *= f6; - f6 = 1.0F - f6; - this.particleScale = this.portalParticleScale * f6; - super.renderParticle(par1Tessellator, par2, par3, par4, par5, par6, par7); - } - @Override - public int getBrightnessForRender(float par1) - { - int i = super.getBrightnessForRender(par1); - float f1 = (float)this.particleAge / (float)this.particleMaxAge; - f1 *= f1; - f1 *= f1; - int j = i & 255; - int k = i >> 16 & 255; - k += (int)(f1 * 15.0F * 16.0F); + public EntitySandPortalFX(World par1World, double par2, double par4, double par6, double par8, double par10, double par12) { + super(par1World, par2, par4, par6, par8, par10, par12); + super.motionX = par8; + super.motionY = par10; + super.motionZ = par12; + this.portalPosX = super.posX = par2; + this.portalPosY = super.posY = par4; + this.portalPosZ = super.posZ = par6; + float f = super.rand.nextFloat() * 0.6F + 0.4F; + this.portalParticleScale = super.particleScale = super.rand.nextFloat() * 0.2F + 0.5F; + super.particleRed = super.particleGreen = super.particleBlue = 1.0F * f; + super.particleGreen *= 0.3F; + super.particleRed *= 0.5F; + super.particleBlue *= 0.1F; + super.particleMaxAge = (int)(Math.random() * 10.0D) + 40; + super.noClip = true; + this.setParticleTextureIndex((int)(Math.random() * 8.0D)); + } - if (k > 240) - { - k = 240; - } + public void renderParticle(Tessellator par1Tessellator, float par2, float par3, float par4, float par5, float par6, float par7) { + float f6 = ((float)super.particleAge + par2) / (float)super.particleMaxAge; + f6 = 1.0F - f6; + f6 *= f6; + f6 = 1.0F - f6; + super.particleScale = this.portalParticleScale * f6; + super.renderParticle(par1Tessellator, par2, par3, par4, par5, par6, par7); + } - return j | k << 16; - } + public int getBrightnessForRender(float par1) { + int i = super.getBrightnessForRender(par1); + float f1 = (float)super.particleAge / (float)super.particleMaxAge; + f1 *= f1; + f1 *= f1; + int j = i & 255; + int k = i >> 16 & 255; + k += (int)(f1 * 15.0F * 16.0F); + if(k > 240) { + k = 240; + } - /** - * Gets how bright this entity is. - */ - @Override - public float getBrightness(float par1) - { - float f1 = super.getBrightness(par1); - float f2 = (float)this.particleAge / (float)this.particleMaxAge; - f2 = f2 * f2 * f2 * f2; - return f1 * (1.0F - f2) + f2; - } + return j | k << 16; + } - /** - * Called to update the entity's position/logic. - */ - @Override - public void onUpdate() - { - this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - float f = (float)this.particleAge / (float)this.particleMaxAge; - float f1 = f; - f = -f + f * f * 2.0F; - f = 1.0F - f; - this.posX = this.portalPosX + this.motionX * (double)f; - this.posY = this.portalPosY + this.motionY * (double)f + (double)(1.0F - f1); - this.posZ = this.portalPosZ + this.motionZ * (double)f; + public float getBrightness(float par1) { + float f1 = super.getBrightness(par1); + float f2 = (float)super.particleAge / (float)super.particleMaxAge; + f2 = f2 * f2 * f2 * f2; + return f1 * (1.0F - f2) + f2; + } - if (this.particleAge++ >= this.particleMaxAge) - { - this.setDead(); - } - } + public void onUpdate() { + super.prevPosX = super.posX; + super.prevPosY = super.posY; + super.prevPosZ = super.posZ; + float f = (float)super.particleAge / (float)super.particleMaxAge; + float f1 = f; + f = -f + f * f * 2.0F; + f = 1.0F - f; + super.posX = this.portalPosX + super.motionX * (double)f; + super.posY = this.portalPosY + super.motionY * (double)f + (double)(1.0F - f1); + super.posZ = this.portalPosZ + super.motionZ * (double)f; + if(super.particleAge++ >= super.particleMaxAge) { + this.setDead(); + } + + } } diff --git a/common/rebelkeithy/mods/atum/tools/LimestoneAxe.java b/common/rebelkeithy/mods/atum/tools/LimestoneAxe.java index 0ea9642..6ccfe5e 100644 --- a/common/rebelkeithy/mods/atum/tools/LimestoneAxe.java +++ b/common/rebelkeithy/mods/atum/tools/LimestoneAxe.java @@ -6,26 +6,17 @@ import net.minecraft.item.ItemStack; import rebelkeithy.mods.atum.AtumBlocks; -public class LimestoneAxe extends ItemAxe -{ - - public LimestoneAxe(int par1, EnumToolMaterial par2EnumToolMaterial) - { - super(par1, par2EnumToolMaterial); - } +public class LimestoneAxe extends ItemAxe { - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == AtumBlocks.cobble.blockID; - } + public LimestoneAxe(int par1, EnumToolMaterial par2EnumToolMaterial) { + super(par1, par2EnumToolMaterial); + } - @Override - public void registerIcons(IconRegister par1IconRegister) - { - itemIcon = par1IconRegister.registerIcon("Atum:LimestoneAxe"); - } + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == AtumBlocks.cobble.blockID; + } + + public void registerIcons(IconRegister par1IconRegister) { + super.itemIcon = par1IconRegister.registerIcon("atum:LimestoneAxe"); + } } diff --git a/common/rebelkeithy/mods/atum/tools/LimestoneHoe.java b/common/rebelkeithy/mods/atum/tools/LimestoneHoe.java index 083f27b..064df60 100644 --- a/common/rebelkeithy/mods/atum/tools/LimestoneHoe.java +++ b/common/rebelkeithy/mods/atum/tools/LimestoneHoe.java @@ -6,26 +6,17 @@ import net.minecraft.item.ItemStack; import rebelkeithy.mods.atum.AtumBlocks; -public class LimestoneHoe extends ItemHoe -{ +public class LimestoneHoe extends ItemHoe { - public LimestoneHoe(int par1, EnumToolMaterial par2EnumToolMaterial) - { - super(par1, par2EnumToolMaterial); - } + public LimestoneHoe(int par1, EnumToolMaterial par2EnumToolMaterial) { + super(par1, par2EnumToolMaterial); + } - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == AtumBlocks.cobble.blockID; - } + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == AtumBlocks.cobble.blockID; + } - @Override - public void registerIcons(IconRegister par1IconRegister) - { - itemIcon = par1IconRegister.registerIcon("Atum:LimestoneHoe"); - } + public void registerIcons(IconRegister par1IconRegister) { + super.itemIcon = par1IconRegister.registerIcon("atum:LimestoneHoe"); + } } diff --git a/common/rebelkeithy/mods/atum/tools/LimestonePickaxe.java b/common/rebelkeithy/mods/atum/tools/LimestonePickaxe.java index 51451d8..9ce89dc 100644 --- a/common/rebelkeithy/mods/atum/tools/LimestonePickaxe.java +++ b/common/rebelkeithy/mods/atum/tools/LimestonePickaxe.java @@ -6,26 +6,17 @@ import net.minecraft.item.ItemStack; import rebelkeithy.mods.atum.AtumBlocks; -public class LimestonePickaxe extends ItemPickaxe -{ +public class LimestonePickaxe extends ItemPickaxe { - public LimestonePickaxe(int par1, EnumToolMaterial par2EnumToolMaterial) - { - super(par1, par2EnumToolMaterial); - } + public LimestonePickaxe(int par1, EnumToolMaterial par2EnumToolMaterial) { + super(par1, par2EnumToolMaterial); + } - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == AtumBlocks.cobble.blockID; - } + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == AtumBlocks.cobble.blockID; + } - @Override - public void registerIcons(IconRegister par1IconRegister) - { - itemIcon = par1IconRegister.registerIcon("Atum:LimestonePickaxe"); - } + public void registerIcons(IconRegister par1IconRegister) { + super.itemIcon = par1IconRegister.registerIcon("atum:LimestonePickaxe"); + } } diff --git a/common/rebelkeithy/mods/atum/tools/LimestoneShovel.java b/common/rebelkeithy/mods/atum/tools/LimestoneShovel.java index fdb716f..b211419 100644 --- a/common/rebelkeithy/mods/atum/tools/LimestoneShovel.java +++ b/common/rebelkeithy/mods/atum/tools/LimestoneShovel.java @@ -6,26 +6,17 @@ import net.minecraft.item.ItemStack; import rebelkeithy.mods.atum.AtumBlocks; -public class LimestoneShovel extends ItemSpade -{ +public class LimestoneShovel extends ItemSpade { - public LimestoneShovel(int par1, EnumToolMaterial par2EnumToolMaterial) - { - super(par1, par2EnumToolMaterial); - } + public LimestoneShovel(int par1, EnumToolMaterial par2EnumToolMaterial) { + super(par1, par2EnumToolMaterial); + } - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == AtumBlocks.cobble.blockID; - } + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == AtumBlocks.cobble.blockID; + } - @Override - public void registerIcons(IconRegister par1IconRegister) - { - itemIcon = par1IconRegister.registerIcon("Atum:LimestoneShovel"); - } + public void registerIcons(IconRegister par1IconRegister) { + super.itemIcon = par1IconRegister.registerIcon("atum:LimestoneShovel"); + } } diff --git a/common/rebelkeithy/mods/atum/tools/LimestoneSword.java b/common/rebelkeithy/mods/atum/tools/LimestoneSword.java index 602b236..2fc5200 100644 --- a/common/rebelkeithy/mods/atum/tools/LimestoneSword.java +++ b/common/rebelkeithy/mods/atum/tools/LimestoneSword.java @@ -6,26 +6,17 @@ import net.minecraft.item.ItemSword; import rebelkeithy.mods.atum.AtumBlocks; -public class LimestoneSword extends ItemSword -{ +public class LimestoneSword extends ItemSword { - public LimestoneSword(int par1, EnumToolMaterial par2EnumToolMaterial) - { - super(par1, par2EnumToolMaterial); - } + public LimestoneSword(int par1, EnumToolMaterial par2EnumToolMaterial) { + super(par1, par2EnumToolMaterial); + } - /** - * Return whether this item is repairable in an anvil. - */ - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) - { - return par2ItemStack.itemID == AtumBlocks.cobble.blockID; - } + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == AtumBlocks.cobble.blockID; + } - @Override - public void registerIcons(IconRegister par1IconRegister) - { - itemIcon = par1IconRegister.registerIcon("Atum:LimestoneSword"); - } + public void registerIcons(IconRegister par1IconRegister) { + super.itemIcon = par1IconRegister.registerIcon("atum:LimestoneSword"); + } } diff --git a/common/rebelkeithy/mods/atum/world/AtumChunkProvider.java b/common/rebelkeithy/mods/atum/world/AtumChunkProvider.java index 268ae4c..d39c2df 100644 --- a/common/rebelkeithy/mods/atum/world/AtumChunkProvider.java +++ b/common/rebelkeithy/mods/atum/world/AtumChunkProvider.java @@ -1,16 +1,7 @@ package rebelkeithy.mods.atum.world; -import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.CAVE; -import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.MINESHAFT; -import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.RAVINE; -import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.SCATTERED_FEATURE; -import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.STRONGHOLD; -import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.VILLAGE; -import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.LAVA; - import java.util.List; import java.util.Random; - import net.minecraft.block.Block; import net.minecraft.block.BlockSand; import net.minecraft.entity.EnumCreatureType; @@ -32,665 +23,413 @@ import net.minecraft.world.gen.structure.MapGenVillage; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.Event.Result; -import net.minecraftforge.event.terraingen.ChunkProviderEvent; -import net.minecraftforge.event.terraingen.PopulateChunkEvent; import net.minecraftforge.event.terraingen.TerrainGen; +import net.minecraftforge.event.terraingen.ChunkProviderEvent.InitNoiseField; +import net.minecraftforge.event.terraingen.InitMapGenEvent.EventType; +import net.minecraftforge.event.terraingen.PopulateChunkEvent.Post; +import net.minecraftforge.event.terraingen.PopulateChunkEvent.Pre; import rebelkeithy.mods.atum.AtumBlocks; +import rebelkeithy.mods.atum.world.AtumMapGenCaves; import rebelkeithy.mods.atum.world.biome.BiomeGenAtumDesert; -public class AtumChunkProvider implements IChunkProvider -{ - /** RNG. */ - private Random rand; - - /** A NoiseGeneratorOctaves used in generating terrain */ - private NoiseGeneratorOctaves noiseGen1; - - /** A NoiseGeneratorOctaves used in generating terrain */ - private NoiseGeneratorOctaves noiseGen2; - - /** A NoiseGeneratorOctaves used in generating terrain */ - private NoiseGeneratorOctaves noiseGen3; - - /** A NoiseGeneratorOctaves used in generating terrain */ - private NoiseGeneratorOctaves noiseGen4; - - /** A NoiseGeneratorOctaves used in generating terrain */ - public NoiseGeneratorOctaves noiseGen5; - - /** A NoiseGeneratorOctaves used in generating terrain */ - public NoiseGeneratorOctaves noiseGen6; - public NoiseGeneratorOctaves mobSpawnerNoise; - - /** Reference to the World object. */ - private World worldObj; - - /** are map structures going to be generated (e.g. strongholds) */ - private final boolean mapFeaturesEnabled; - - /** Holds the overall noise array used in chunk generation */ - private double[] noiseArray; - private double[] stoneNoise = new double[256]; - private MapGenBase caveGenerator = new AtumMapGenCaves(); - - /** Holds Stronghold Generator */ - private MapGenStronghold strongholdGenerator = new MapGenStronghold(); - - /** Holds Village Generator */ - private MapGenVillage villageGenerator = new MapGenVillage(); - - /** Holds Mineshaft Generator */ - private MapGenMineshaft mineshaftGenerator = new MapGenMineshaft(); - private MapGenScatteredFeature scatteredFeatureGenerator = new MapGenScatteredFeature(); - - - //WorldGenAtumTrees treeGenerator; - - /** Holds ravine generator */ - private MapGenBase ravineGenerator = new MapGenRavine(); - - /** The biomes that are used to generate the chunk */ - private BiomeGenBase[] biomesForGeneration; - - /** A double array that hold terrain noise from noiseGen3 */ - double[] noise3; - - /** A double array that hold terrain noise */ - double[] noise1; - - /** A double array that hold terrain noise from noiseGen2 */ - double[] noise2; - - /** A double array that hold terrain noise from noiseGen5 */ - double[] noise5; - - /** A double array that holds terrain noise from noiseGen6 */ - double[] noise6; - - /** - * Used to store the 5x5 parabolic field that is used during terrain generation. - */ - float[] parabolicField; - int[][] field_73219_j = new int[32][32]; - - { - caveGenerator = TerrainGen.getModdedMapGen(caveGenerator, CAVE); - strongholdGenerator = (MapGenStronghold) TerrainGen.getModdedMapGen(strongholdGenerator, STRONGHOLD); - villageGenerator = (MapGenVillage) TerrainGen.getModdedMapGen(villageGenerator, VILLAGE); - mineshaftGenerator = (MapGenMineshaft) TerrainGen.getModdedMapGen(mineshaftGenerator, MINESHAFT); - scatteredFeatureGenerator = (MapGenScatteredFeature) TerrainGen.getModdedMapGen(scatteredFeatureGenerator, SCATTERED_FEATURE); - ravineGenerator = TerrainGen.getModdedMapGen(ravineGenerator, RAVINE); - - //treeGenerator = new WorldGenAtumTrees(true); - } - - public AtumChunkProvider(World par1World, long par2, boolean par4) - { - this.worldObj = par1World; - this.mapFeaturesEnabled = par4; - this.rand = new Random(par2); - this.noiseGen1 = new NoiseGeneratorOctaves(this.rand, 16); - this.noiseGen2 = new NoiseGeneratorOctaves(this.rand, 16); - this.noiseGen3 = new NoiseGeneratorOctaves(this.rand, 8); - this.noiseGen4 = new NoiseGeneratorOctaves(this.rand, 4); - this.noiseGen5 = new NoiseGeneratorOctaves(this.rand, 10); - this.noiseGen6 = new NoiseGeneratorOctaves(this.rand, 16); - this.mobSpawnerNoise = new NoiseGeneratorOctaves(this.rand, 8); - - NoiseGeneratorOctaves[] noiseGens = {noiseGen1, noiseGen2, noiseGen3, noiseGen4, noiseGen5, noiseGen6, mobSpawnerNoise}; - noiseGens = TerrainGen.getModdedNoiseGenerators(par1World, this.rand, noiseGens); - this.noiseGen1 = noiseGens[0]; - this.noiseGen2 = noiseGens[1]; - this.noiseGen3 = noiseGens[2]; - this.noiseGen4 = noiseGens[3]; - this.noiseGen5 = noiseGens[4]; - this.noiseGen6 = noiseGens[5]; - this.mobSpawnerNoise = noiseGens[6]; - } - - /** - * Generates the shape of the terrain for the chunk though its all stone though the water is frozen if the - * temperature is low enough - */ - public void generateTerrain(int par1, int par2, short[] par3ArrayOfByte) - { - byte b0 = 4; - byte b1 = 16; - byte b2 = 63; - int k = b0 + 1; - byte b3 = 17; - int l = b0 + 1; - this.biomesForGeneration = this.worldObj.getWorldChunkManager().getBiomesForGeneration(this.biomesForGeneration, par1 * 4 - 2, par2 * 4 - 2, k + 5, l + 5); - this.noiseArray = this.initializeNoiseField(this.noiseArray, par1 * b0, 0, par2 * b0, k, b3, l); - - for (int x1 = 0; x1 < b0; ++x1) - { - for (int z1 = 0; z1 < b0; ++z1) - { - for (int y1 = 0; y1 < b1; ++y1) - { - double d0 = 0.125D; - double d1 = this.noiseArray[((x1 + 0) * l + z1 + 0) * b3 + y1 + 0]; - double d2 = this.noiseArray[((x1 + 0) * l + z1 + 1) * b3 + y1 + 0]; - double d3 = this.noiseArray[((x1 + 1) * l + z1 + 0) * b3 + y1 + 0]; - double d4 = this.noiseArray[((x1 + 1) * l + z1 + 1) * b3 + y1 + 0]; - double d5 = (this.noiseArray[((x1 + 0) * l + z1 + 0) * b3 + y1 + 1] - d1) * d0; - double d6 = (this.noiseArray[((x1 + 0) * l + z1 + 1) * b3 + y1 + 1] - d2) * d0; - double d7 = (this.noiseArray[((x1 + 1) * l + z1 + 0) * b3 + y1 + 1] - d3) * d0; - double d8 = (this.noiseArray[((x1 + 1) * l + z1 + 1) * b3 + y1 + 1] - d4) * d0; - - for (int y2 = 0; y2 < 8; ++y2) - { - double d10 = d1; - double d11 = d2; - double d12 = (d3 - d1) * 0.25D; - double d13 = (d4 - d2) * 0.25D; - - for (int x2 = 0; x2 < 4; ++x2) - { - //int index = x2 + x1 * 4 << 11 | 0 + z1 * 4 << 7 | y1 * 8 + y2; - //index = 0; - int index = y1 * 8 + y2 << 8 | 0 + z1 * 4 << 4 | x2 + x1 * 4; - int dy = 1 << 4; - index -= dy; - double d15 = (d11 - d10) * 0.25D; - double d16 = d10 - d15; - - for (int n = 0; n < 4; ++n) - { - if ((d16 += d15) > 0.0D) - { - if(index + dy >= par3ArrayOfByte.length) - continue; - par3ArrayOfByte[index += dy] = (short)AtumBlocks.stone.blockID; - } - else if (y1 * 8 + y2 < b2) - { - if(index + dy >= par3ArrayOfByte.length) - continue; - par3ArrayOfByte[index += dy] = (short)AtumBlocks.stone.blockID; - } - else - { - if(index + dy >= par3ArrayOfByte.length) - continue; - par3ArrayOfByte[index += dy] = 0; - } - } - - d10 += d12; - d11 += d13; - } - - d1 += d5; - d2 += d6; - d3 += d7; - d4 += d8; - } - } - } - } - } - - /** - * Replaces the stone that was placed in with blocks that match the biome - */ - public void replaceBlocksForBiome(int par1, int par2, short[] par3ArrayOfByte, BiomeGenBase[] par4ArrayOfBiomeGenBase) - { - //ChunkProviderEvent.ReplaceBiomeBlocks event = new ChunkProviderEvent.ReplaceBiomeBlocks(this, par1, par2, par3ArrayOfByte, par4ArrayOfBiomeGenBase); - //MinecraftForge.EVENT_BUS.post(event); - //if (event.getResult() == Result.DENY) return; - - byte b0 = 63; - double d0 = 0.03125D; - this.stoneNoise = this.noiseGen4.generateNoiseOctaves(this.stoneNoise, par1 * 16, par2 * 16, 0, 16, 16, 1, d0 * 2.0D, d0 * 2.0D, d0 * 2.0D); - - for (int z = 0; z < 16; ++z) - { - for (int x = 0; x < 16; ++x) - { - BiomeGenBase biomegenbase = par4ArrayOfBiomeGenBase[x + z * 16]; - float f = biomegenbase.getFloatTemperature(); - int i1 = (int)(this.stoneNoise[z + x * 16] / 3.0D + 3.0D + this.rand.nextDouble() * 0.25D); - int j1 = -1; - short b1 = ((BiomeGenAtumDesert)biomegenbase).sTopBlock; - short b2 = ((BiomeGenAtumDesert)biomegenbase).sFillerBlock; - - for (int y = 127; y >= 0; --y) - { - //int l1 = (x * 16 + z) * 128 + y; - int l1 = y << 8 | z << 4 | x; - - if (y <= 0 + this.rand.nextInt(5)) - { - par3ArrayOfByte[l1] = (byte)Block.bedrock.blockID; - } - else - { - short b3 = par3ArrayOfByte[l1]; - - if (b3 == 0) - { - j1 = -1; - } - else if (b3 == AtumBlocks.stone.blockID) - { - if (j1 == -1) - { - if (i1 <= 0) - { - b1 = 0; - b2 = (short)AtumBlocks.stone.blockID; - } - else if (y >= b0 - 4 && y <= b0 + 1) - { - b1 = ((BiomeGenAtumDesert)biomegenbase).sTopBlock; - b2 = ((BiomeGenAtumDesert)biomegenbase).sFillerBlock; - } - - j1 = i1; - - if (y >= b0 - 1) - { - par3ArrayOfByte[l1] = b1; - } - else - { - par3ArrayOfByte[l1] = b2; - } - } - else if (j1 > 0) - { - --j1; - par3ArrayOfByte[l1] = b2; - - if (j1 == 0 && b2 == AtumBlocks.sand.blockID) - { - j1 = this.rand.nextInt(4); - b2 = (short)AtumBlocks.stone.blockID; - } - } - } - } - } - } - } - } - - /** - * loads or generates the chunk at the chunk location specified - */ - @Override - public Chunk loadChunk(int par1, int par2) - { - return this.provideChunk(par1, par2); - } - - /** - * Will return back a chunk, if it doesn't exist and its not a MP client it will generates all the blocks for the - * specified chunk from the map seed and chunk seed - */ - @Override - public Chunk provideChunk(int par1, int par2) - { - long time = System.currentTimeMillis(); - this.rand.setSeed((long)par1 * 341873128712L + (long)par2 * 132897987541L); - short[] abyte = new short[32768]; - this.generateTerrain(par1, par2, abyte); - this.biomesForGeneration = this.worldObj.getWorldChunkManager().loadBlockGeneratorData(this.biomesForGeneration, par1 * 16, par2 * 16, 16, 16); - //this.biomesForGeneration = new BiomeGenBase[] {BiomeGenBase.desert}; - this.replaceBlocksForBiome(par1, par2, abyte, this.biomesForGeneration); - //this.caveGenerator.generate((IChunkProvider)this, this.worldObj, par1, par2, abyte); - //this.ravineGenerator.generate(this, this.worldObj, par1, par2, abyte); - - if (this.mapFeaturesEnabled) - { - //this.mineshaftGenerator.generate(this, this.worldObj, par1, par2, abyte); - //this.villageGenerator.generate(this, this.worldObj, par1, par2, abyte); - //this.strongholdGenerator.generate(this, this.worldObj, par1, par2, abyte); - //this.scatteredFeatureGenerator.generate(this, this.worldObj, par1, par2, abyte); - } - - - /*short[] ashort = new short[32768]; - int yMax = 32768/256; - for(int x = 0; x < 16; x++) - { - for(int z = 0; z < 16; z++) - { - for(int y = 0; y < yMax; y++) - { - int idx = y << 8 | z << 4 | x; - int ido = x << 11 | z << 7 | y; - ashort[idx] = abyte[ido]; - } - } - }*/ - - Chunk chunk = new Chunk(this.worldObj, abyte, new byte[32768], par1, par2); - byte[] abyte1 = chunk.getBiomeArray(); - - for (int k = 0; k < abyte1.length; ++k) - { - abyte1[k] = (byte)this.biomesForGeneration[k].biomeID; - } - - chunk.generateSkylightMap(); - //System.out.println("Providing Chunk: " + (System.currentTimeMillis() - time) + "ms"); - return chunk; - } - - /** - * generates a subset of the level's terrain data. Takes 7 arguments: the [empty] noise array, the position, and the - * size. - */ - private double[] initializeNoiseField(double[] par1ArrayOfDouble, int par2, int par3, int par4, int par5, int par6, int par7) - { - ChunkProviderEvent.InitNoiseField event = new ChunkProviderEvent.InitNoiseField(this, par1ArrayOfDouble, par2, par3, par4, par5, par6, par7); - MinecraftForge.EVENT_BUS.post(event); - if (event.getResult() == Result.DENY) return event.noisefield; - - if (par1ArrayOfDouble == null) - { - par1ArrayOfDouble = new double[par5 * par6 * par7]; - } - - if (this.parabolicField == null) - { - this.parabolicField = new float[25]; - - for (int k1 = -2; k1 <= 2; ++k1) - { - for (int l1 = -2; l1 <= 2; ++l1) - { - float f = 10.0F / MathHelper.sqrt_float((float)(k1 * k1 + l1 * l1) + 0.2F); - this.parabolicField[k1 + 2 + (l1 + 2) * 5] = f; - } - } - } - - double d0 = 684.412D; - double d1 = 684.412D; - this.noise5 = this.noiseGen5.generateNoiseOctaves(this.noise5, par2, par4, par5, par7, 1.121D, 1.121D, 0.5D); - this.noise6 = this.noiseGen6.generateNoiseOctaves(this.noise6, par2, par4, par5, par7, 200.0D, 200.0D, 0.5D); - this.noise3 = this.noiseGen3.generateNoiseOctaves(this.noise3, par2, par3, par4, par5, par6, par7, d0 / 80.0D, d1 / 160.0D, d0 / 80.0D); - this.noise1 = this.noiseGen1.generateNoiseOctaves(this.noise1, par2, par3, par4, par5, par6, par7, d0, d1, d0); - this.noise2 = this.noiseGen2.generateNoiseOctaves(this.noise2, par2, par3, par4, par5, par6, par7, d0, d1, d0); - boolean flag = false; - boolean flag1 = false; - int i2 = 0; - int j2 = 0; - - for (int k2 = 0; k2 < par5; ++k2) - { - for (int l2 = 0; l2 < par7; ++l2) - { - float f1 = 0.0F; - float f2 = 0.0F; - float f3 = 0.0F; - byte b0 = 2; - BiomeGenBase biomegenbase = this.biomesForGeneration[k2 + 2 + (l2 + 2) * (par5 + 5)]; - - for (int i3 = -b0; i3 <= b0; ++i3) - { - for (int j3 = -b0; j3 <= b0; ++j3) - { - BiomeGenBase biomegenbase1 = this.biomesForGeneration[k2 + i3 + 2 + (l2 + j3 + 2) * (par5 + 5)]; - float f4 = this.parabolicField[i3 + 2 + (j3 + 2) * 5] / (biomegenbase1.minHeight + 2.0F); - - if (biomegenbase1.minHeight > biomegenbase.minHeight) - { - f4 /= 2.0F; - } - - f1 += biomegenbase1.maxHeight * f4; - f2 += biomegenbase1.minHeight * f4; - f3 += f4; - } - } - - f1 /= f3; - f2 /= f3; - f1 = f1 * 0.9F + 0.1F; - f2 = (f2 * 4.0F - 1.0F) / 8.0F; - double d2 = this.noise6[j2] / 8000.0D; - - if (d2 < 0.0D) - { - d2 = -d2 * 0.3D; - } - - d2 = d2 * 3.0D - 2.0D; - - if (d2 < 0.0D) - { - d2 /= 2.0D; - - if (d2 < -1.0D) - { - d2 = -1.0D; - } - - d2 /= 1.4D; - d2 /= 2.0D; - } - else - { - if (d2 > 1.0D) - { - d2 = 1.0D; - } - - d2 /= 8.0D; - } - - ++j2; - - for (int k3 = 0; k3 < par6; ++k3) - { - double d3 = (double)f2; - double d4 = (double)f1; - d3 += d2 * 0.2D; - d3 = d3 * (double)par6 / 16.0D; - double d5 = (double)par6 / 2.0D + d3 * 4.0D; - double d6 = 0.0D; - double d7 = ((double)k3 - d5) * 12.0D * 128.0D / 128.0D / d4; - - if (d7 < 0.0D) - { - d7 *= 4.0D; - } - - double d8 = this.noise1[i2] / 512.0D; - double d9 = this.noise2[i2] / 512.0D; - double d10 = (this.noise3[i2] / 10.0D + 1.0D) / 2.0D; - - if (d10 < 0.0D) - { - d6 = d8; - } - else if (d10 > 1.0D) - { - d6 = d9; - } - else - { - d6 = d8 + (d9 - d8) * d10; - } - - d6 -= d7; - - if (k3 > par6 - 4) - { - double d11 = (double)((float)(k3 - (par6 - 4)) / 3.0F); - d6 = d6 * (1.0D - d11) + -10.0D * d11; - } - - par1ArrayOfDouble[i2] = d6; - ++i2; - } - } - } - - return par1ArrayOfDouble; - } - - /** - * Checks to see if a chunk exists at x, y - */ - @Override - public boolean chunkExists(int par1, int par2) - { - return true; - } - - /** - * Populates chunk with ores etc etc - */ - @Override - public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) - { - long time = System.currentTimeMillis(); - BlockSand.fallInstantly = true; - int k = par2 * 16; - int l = par3 * 16; - BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(k + 16, l + 16); - this.rand.setSeed(this.worldObj.getSeed()); - long i1 = this.rand.nextLong() / 2L * 2L + 1L; - long j1 = this.rand.nextLong() / 2L * 2L + 1L; - this.rand.setSeed((long)par2 * i1 + (long)par3 * j1 ^ this.worldObj.getSeed()); - boolean flag = false; - - - MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Pre(par1IChunkProvider, worldObj, rand, par2, par3, flag)); - - /* - if (this.mapFeaturesEnabled) - { - this.mineshaftGenerator.generateStructuresInChunk(this.worldObj, this.rand, par2, par3); - flag = this.villageGenerator.generateStructuresInChunk(this.worldObj, this.rand, par2, par3); - this.strongholdGenerator.generateStructuresInChunk(this.worldObj, this.rand, par2, par3); - this.scatteredFeatureGenerator.generateStructuresInChunk(this.worldObj, this.rand, par2, par3); - }*/ - - int k1; - int l1; - int i2; - - if (TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag, LAVA) && !flag && this.rand.nextInt(8) == 0) - { - k1 = k + this.rand.nextInt(16) + 8; - l1 = this.rand.nextInt(this.rand.nextInt(120) + 8); - i2 = l + this.rand.nextInt(16) + 8; - - - if (l1 < 63 || this.rand.nextInt(10) == 0) - { - (new WorldGenLakes(Block.lavaStill.blockID)).generate(this.worldObj, this.rand, k1, l1, i2); - } - } - - - - /*boolean doGen = TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag, DUNGEON); - for (k1 = 0; doGen && k1 < 8; ++k1) - { - l1 = k + this.rand.nextInt(16) + 8; - i2 = this.rand.nextInt(128); - int j2 = l + this.rand.nextInt(16) + 8; - - if ((new WorldGenDungeons()).generate(this.worldObj, this.rand, l1, i2, j2)) - { - ; - } - }*/ - - biomegenbase.decorate(this.worldObj, this.rand, k, l); - SpawnerAnimals.performWorldGenSpawning(this.worldObj, biomegenbase, k + 8, l + 8, 16, 16, this.rand); - k += 8; - l += 8; - - MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Post(par1IChunkProvider, worldObj, rand, par2, par3, flag)); - - BlockSand.fallInstantly = false; - - //System.out.println("Populating chunk: " + (System.currentTimeMillis() - time) + "ms"); - } - - /** - * Two modes of operation: if passed true, save all Chunks in one go. If passed false, save up to two chunks. - * Return true if all chunks have been saved. - */ - @Override - public boolean saveChunks(boolean par1, IProgressUpdate par2IProgressUpdate) - { - return true; - } - - /** - * Unloads chunks that are marked to be unloaded. This is not guaranteed to unload every such chunk. - */ - @Override - public boolean unloadQueuedChunks() - { - return false; - } - - /** - * Returns if the IChunkProvider supports saving. - */ - @Override - public boolean canSave() - { - return true; - } - - /** - * Converts the instance data to a readable string. - */ - @Override - public String makeString() - { - return "RandomLevelSource"; - } - - /** - * Returns a list of creatures of the specified type that can spawn at the given location. - */ - @Override - public List getPossibleCreatures(EnumCreatureType par1EnumCreatureType, int par2, int par3, int par4) - { - BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(par2, par4); - return biomegenbase == null ? null : (biomegenbase == BiomeGenBase.swampland && par1EnumCreatureType == EnumCreatureType.monster && this.scatteredFeatureGenerator.hasStructureAt(par2, par3, par4) ? this.scatteredFeatureGenerator.getScatteredFeatureSpawnList() : biomegenbase.getSpawnableList(par1EnumCreatureType)); - } - - /** - * Returns the location of the closest structure of the specified type. If not found returns null. - */ - @Override - public ChunkPosition findClosestStructure(World par1World, String par2Str, int par3, int par4, int par5) - { - return "Stronghold".equals(par2Str) && this.strongholdGenerator != null ? this.strongholdGenerator.getNearestInstance(par1World, par3, par4, par5) : null; - } - - @Override - public int getLoadedChunkCount() - { - return 0; - } - - @Override - public void recreateStructures(int par1, int par2) - { - if (this.mapFeaturesEnabled) - { - this.mineshaftGenerator.generate(this, this.worldObj, par1, par2, (byte[])null); - this.villageGenerator.generate(this, this.worldObj, par1, par2, (byte[])null); - this.strongholdGenerator.generate(this, this.worldObj, par1, par2, (byte[])null); - this.scatteredFeatureGenerator.generate(this, this.worldObj, par1, par2, (byte[])null); - } - } +public class AtumChunkProvider implements IChunkProvider { + + private Random rand; + private NoiseGeneratorOctaves noiseGen1; + private NoiseGeneratorOctaves noiseGen2; + private NoiseGeneratorOctaves noiseGen3; + private NoiseGeneratorOctaves noiseGen4; + public NoiseGeneratorOctaves noiseGen5; + public NoiseGeneratorOctaves noiseGen6; + public NoiseGeneratorOctaves mobSpawnerNoise; + private World worldObj; + private final boolean mapFeaturesEnabled; + private double[] noiseArray; + private double[] stoneNoise = new double[256]; + private MapGenBase caveGenerator = new AtumMapGenCaves(); + private MapGenStronghold strongholdGenerator = new MapGenStronghold(); + private MapGenVillage villageGenerator = new MapGenVillage(); + private MapGenMineshaft mineshaftGenerator = new MapGenMineshaft(); + private MapGenScatteredFeature scatteredFeatureGenerator = new MapGenScatteredFeature(); + private MapGenBase ravineGenerator = new MapGenRavine(); + private BiomeGenBase[] biomesForGeneration; + double[] noise3; + double[] noise1; + double[] noise2; + double[] noise5; + double[] noise6; + float[] parabolicField; + int[][] field_73219_j = new int[32][32]; + + public AtumChunkProvider(World par1World, long par2, boolean par4) { + this.caveGenerator = TerrainGen.getModdedMapGen(this.caveGenerator, EventType.CAVE); + this.strongholdGenerator = (MapGenStronghold) TerrainGen.getModdedMapGen(this.strongholdGenerator, EventType.STRONGHOLD); + this.villageGenerator = (MapGenVillage) TerrainGen.getModdedMapGen(this.villageGenerator, EventType.VILLAGE); + this.mineshaftGenerator = (MapGenMineshaft) TerrainGen.getModdedMapGen(this.mineshaftGenerator, EventType.MINESHAFT); + this.scatteredFeatureGenerator = (MapGenScatteredFeature) TerrainGen.getModdedMapGen(this.scatteredFeatureGenerator, EventType.SCATTERED_FEATURE); + this.ravineGenerator = TerrainGen.getModdedMapGen(this.ravineGenerator, EventType.RAVINE); + this.worldObj = par1World; + this.mapFeaturesEnabled = par4; + this.rand = new Random(par2); + this.noiseGen1 = new NoiseGeneratorOctaves(this.rand, 16); + this.noiseGen2 = new NoiseGeneratorOctaves(this.rand, 16); + this.noiseGen3 = new NoiseGeneratorOctaves(this.rand, 8); + this.noiseGen4 = new NoiseGeneratorOctaves(this.rand, 4); + this.noiseGen5 = new NoiseGeneratorOctaves(this.rand, 10); + this.noiseGen6 = new NoiseGeneratorOctaves(this.rand, 16); + this.mobSpawnerNoise = new NoiseGeneratorOctaves(this.rand, 8); + NoiseGeneratorOctaves[] noiseGens = new NoiseGeneratorOctaves[] { this.noiseGen1, this.noiseGen2, this.noiseGen3, this.noiseGen4, this.noiseGen5, this.noiseGen6, this.mobSpawnerNoise }; + noiseGens = TerrainGen.getModdedNoiseGenerators(par1World, this.rand, noiseGens); + this.noiseGen1 = noiseGens[0]; + this.noiseGen2 = noiseGens[1]; + this.noiseGen3 = noiseGens[2]; + this.noiseGen4 = noiseGens[3]; + this.noiseGen5 = noiseGens[4]; + this.noiseGen6 = noiseGens[5]; + this.mobSpawnerNoise = noiseGens[6]; + } + + public void generateTerrain(int par1, int par2, short[] par3ArrayOfByte) { + byte b0 = 4; + byte b1 = 16; + byte b2 = 63; + int k = b0 + 1; + byte b3 = 17; + int l = b0 + 1; + this.biomesForGeneration = this.worldObj.getWorldChunkManager().getBiomesForGeneration(this.biomesForGeneration, par1 * 4 - 2, par2 * 4 - 2, k + 5, l + 5); + this.noiseArray = this.initializeNoiseField(this.noiseArray, par1 * b0, 0, par2 * b0, k, b3, l); + + for (int x1 = 0; x1 < b0; ++x1) { + for (int z1 = 0; z1 < b0; ++z1) { + for (int y1 = 0; y1 < b1; ++y1) { + double d0 = 0.125D; + double d1 = this.noiseArray[((x1 + 0) * l + z1 + 0) * b3 + y1 + 0]; + double d2 = this.noiseArray[((x1 + 0) * l + z1 + 1) * b3 + y1 + 0]; + double d3 = this.noiseArray[((x1 + 1) * l + z1 + 0) * b3 + y1 + 0]; + double d4 = this.noiseArray[((x1 + 1) * l + z1 + 1) * b3 + y1 + 0]; + double d5 = (this.noiseArray[((x1 + 0) * l + z1 + 0) * b3 + y1 + 1] - d1) * d0; + double d6 = (this.noiseArray[((x1 + 0) * l + z1 + 1) * b3 + y1 + 1] - d2) * d0; + double d7 = (this.noiseArray[((x1 + 1) * l + z1 + 0) * b3 + y1 + 1] - d3) * d0; + double d8 = (this.noiseArray[((x1 + 1) * l + z1 + 1) * b3 + y1 + 1] - d4) * d0; + + for (int y2 = 0; y2 < 8; ++y2) { + double d10 = d1; + double d11 = d2; + double d12 = (d3 - d1) * 0.25D; + double d13 = (d4 - d2) * 0.25D; + + for (int x2 = 0; x2 < 4; ++x2) { + int index = y1 * 8 + y2 << 8 | 0 + z1 * 4 << 4 | x2 + x1 * 4; + byte dy = 16; + index -= dy; + double d15 = (d11 - d10) * 0.25D; + double d16 = d10 - d15; + + for (int n = 0; n < 4; ++n) { + if ((d16 += d15) > 0.0D) { + if (index + dy < par3ArrayOfByte.length) { + par3ArrayOfByte[index += dy] = (short) AtumBlocks.stone.blockID; + } + } else if (y1 * 8 + y2 < b2) { + if (index + dy < par3ArrayOfByte.length) { + par3ArrayOfByte[index += dy] = (short) AtumBlocks.stone.blockID; + } + } else if (index + dy < par3ArrayOfByte.length) { + par3ArrayOfByte[index += dy] = 0; + } + } + + d10 += d12; + d11 += d13; + } + + d1 += d5; + d2 += d6; + d3 += d7; + d4 += d8; + } + } + } + } + + } + + public void replaceBlocksForBiome(int par1, int par2, short[] par3ArrayOfByte, BiomeGenBase[] par4ArrayOfBiomeGenBase) { + byte b0 = 63; + double d0 = 0.03125D; + this.stoneNoise = this.noiseGen4.generateNoiseOctaves(this.stoneNoise, par1 * 16, par2 * 16, 0, 16, 16, 1, d0 * 2.0D, d0 * 2.0D, d0 * 2.0D); + + for (int z = 0; z < 16; ++z) { + for (int x = 0; x < 16; ++x) { + BiomeGenBase biomegenbase = par4ArrayOfBiomeGenBase[x + z * 16]; + float f = biomegenbase.getFloatTemperature(); + int i1 = (int) (this.stoneNoise[z + x * 16] / 3.0D + 3.0D + this.rand.nextDouble() * 0.25D); + int j1 = -1; + short b1 = ((BiomeGenAtumDesert) biomegenbase).sTopBlock; + short b2 = ((BiomeGenAtumDesert) biomegenbase).sFillerBlock; + + for (int y = 127; y >= 0; --y) { + int l1 = y << 8 | z << 4 | x; + if (y <= 0 + this.rand.nextInt(5)) { + par3ArrayOfByte[l1] = (short) ((byte) Block.bedrock.blockID); + } else { + short b3 = par3ArrayOfByte[l1]; + if (b3 == 0) { + j1 = -1; + } else if (b3 == AtumBlocks.stone.blockID) { + if (j1 == -1) { + if (i1 <= 0) { + b1 = 0; + b2 = (short) AtumBlocks.stone.blockID; + } else if (y >= b0 - 4 && y <= b0 + 1) { + b1 = ((BiomeGenAtumDesert) biomegenbase).sTopBlock; + b2 = ((BiomeGenAtumDesert) biomegenbase).sFillerBlock; + } + + j1 = i1; + if (y >= b0 - 1) { + par3ArrayOfByte[l1] = b1; + } else { + par3ArrayOfByte[l1] = b2; + } + } else if (j1 > 0) { + --j1; + par3ArrayOfByte[l1] = b2; + if (j1 == 0 && b2 == AtumBlocks.sand.blockID) { + j1 = this.rand.nextInt(4); + b2 = (short) AtumBlocks.stone.blockID; + } + } + } + } + } + } + } + + } + + public Chunk loadChunk(int par1, int par2) { + return this.provideChunk(par1, par2); + } + + public Chunk provideChunk(int par1, int par2) { + long time = System.currentTimeMillis(); + this.rand.setSeed((long) par1 * 341873128712L + (long) par2 * 132897987541L); + short[] abyte = new short['\u8000']; + this.generateTerrain(par1, par2, abyte); + this.biomesForGeneration = this.worldObj.getWorldChunkManager().loadBlockGeneratorData(this.biomesForGeneration, par1 * 16, par2 * 16, 16, 16); + this.replaceBlocksForBiome(par1, par2, abyte, this.biomesForGeneration); + if (this.mapFeaturesEnabled) { + ; + } + + Chunk chunk = new Chunk(this.worldObj, abyte, new byte['\u8000'], par1, par2); + byte[] abyte1 = chunk.getBiomeArray(); + + for (int k = 0; k < abyte1.length; ++k) { + abyte1[k] = (byte) this.biomesForGeneration[k].biomeID; + } + + chunk.generateSkylightMap(); + return chunk; + } + + private double[] initializeNoiseField(double[] par1ArrayOfDouble, int par2, int par3, int par4, int par5, int par6, int par7) { + InitNoiseField event = new InitNoiseField(this, par1ArrayOfDouble, par2, par3, par4, par5, par6, par7); + MinecraftForge.EVENT_BUS.post(event); + if (event.getResult() == Result.DENY) { + return event.noisefield; + } else { + if (par1ArrayOfDouble == null) { + par1ArrayOfDouble = new double[par5 * par6 * par7]; + } + + if (this.parabolicField == null) { + this.parabolicField = new float[25]; + + for (int d0 = -2; d0 <= 2; ++d0) { + for (int l1 = -2; l1 <= 2; ++l1) { + float d1 = 10.0F / MathHelper.sqrt_float((float) (d0 * d0 + l1 * l1) + 0.2F); + this.parabolicField[d0 + 2 + (l1 + 2) * 5] = d1; + } + } + } + + double var45 = 684.412D; + double var46 = 684.412D; + this.noise5 = this.noiseGen5.generateNoiseOctaves(this.noise5, par2, par4, par5, par7, 1.121D, 1.121D, 0.5D); + this.noise6 = this.noiseGen6.generateNoiseOctaves(this.noise6, par2, par4, par5, par7, 200.0D, 200.0D, 0.5D); + this.noise3 = this.noiseGen3.generateNoiseOctaves(this.noise3, par2, par3, par4, par5, par6, par7, var45 / 80.0D, var46 / 160.0D, var45 / 80.0D); + this.noise1 = this.noiseGen1.generateNoiseOctaves(this.noise1, par2, par3, par4, par5, par6, par7, var45, var46, var45); + this.noise2 = this.noiseGen2.generateNoiseOctaves(this.noise2, par2, par3, par4, par5, par6, par7, var45, var46, var45); + boolean flag = false; + boolean flag1 = false; + int i2 = 0; + int j2 = 0; + + for (int k2 = 0; k2 < par5; ++k2) { + for (int l2 = 0; l2 < par7; ++l2) { + float f1 = 0.0F; + float f2 = 0.0F; + float f3 = 0.0F; + byte b0 = 2; + BiomeGenBase biomegenbase = this.biomesForGeneration[k2 + 2 + (l2 + 2) * (par5 + 5)]; + + for (int d2 = -b0; d2 <= b0; ++d2) { + for (int j3 = -b0; j3 <= b0; ++j3) { + BiomeGenBase k3 = this.biomesForGeneration[k2 + d2 + 2 + (l2 + j3 + 2) * (par5 + 5)]; + float d3 = this.parabolicField[d2 + 2 + (j3 + 2) * 5] / (k3.minHeight + 2.0F); + if (k3.minHeight > biomegenbase.minHeight) { + d3 /= 2.0F; + } + + f1 += k3.maxHeight * d3; + f2 += k3.minHeight * d3; + f3 += d3; + } + } + + f1 /= f3; + f2 /= f3; + f1 = f1 * 0.9F + 0.1F; + f2 = (f2 * 4.0F - 1.0F) / 8.0F; + double var47 = this.noise6[j2] / 8000.0D; + if (var47 < 0.0D) { + var47 = -var47 * 0.3D; + } + + var47 = var47 * 3.0D - 2.0D; + if (var47 < 0.0D) { + var47 /= 2.0D; + if (var47 < -1.0D) { + var47 = -1.0D; + } + + var47 /= 1.4D; + var47 /= 2.0D; + } else { + if (var47 > 1.0D) { + var47 = 1.0D; + } + + var47 /= 8.0D; + } + + ++j2; + + for (int var49 = 0; var49 < par6; ++var49) { + double var48 = (double) f2; + double d4 = (double) f1; + var48 += var47 * 0.2D; + var48 = var48 * (double) par6 / 16.0D; + double d5 = (double) par6 / 2.0D + var48 * 4.0D; + double d6 = 0.0D; + double d7 = ((double) var49 - d5) * 12.0D * 128.0D / 128.0D / d4; + if (d7 < 0.0D) { + d7 *= 4.0D; + } + + double d8 = this.noise1[i2] / 512.0D; + double d9 = this.noise2[i2] / 512.0D; + double d10 = (this.noise3[i2] / 10.0D + 1.0D) / 2.0D; + if (d10 < 0.0D) { + d6 = d8; + } else if (d10 > 1.0D) { + d6 = d9; + } else { + d6 = d8 + (d9 - d8) * d10; + } + + d6 -= d7; + if (var49 > par6 - 4) { + double d11 = (double) ((float) (var49 - (par6 - 4)) / 3.0F); + d6 = d6 * (1.0D - d11) + -10.0D * d11; + } + + par1ArrayOfDouble[i2] = d6; + ++i2; + } + } + } + + return par1ArrayOfDouble; + } + } + + public boolean chunkExists(int par1, int par2) { + return true; + } + + public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) { + long time = System.currentTimeMillis(); + BlockSand.fallInstantly = true; + int k = par2 * 16; + int l = par3 * 16; + BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(k + 16, l + 16); + this.rand.setSeed(this.worldObj.getSeed()); + long i1 = this.rand.nextLong() / 2L * 2L + 1L; + long j1 = this.rand.nextLong() / 2L * 2L + 1L; + this.rand.setSeed((long) par2 * i1 + (long) par3 * j1 ^ this.worldObj.getSeed()); + boolean flag = false; + MinecraftForge.EVENT_BUS.post(new Pre(par1IChunkProvider, this.worldObj, this.rand, par2, par3, flag)); + if (TerrainGen.populate(par1IChunkProvider, this.worldObj, this.rand, par2, par3, flag, net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.LAVA) && !flag && this.rand.nextInt(8) == 0) { + int k1 = k + this.rand.nextInt(16) + 8; + int l1 = this.rand.nextInt(this.rand.nextInt(120) + 8); + int i2 = l + this.rand.nextInt(16) + 8; + if (l1 < 63 || this.rand.nextInt(10) == 0) { + (new WorldGenLakes(Block.lavaStill.blockID)).generate(this.worldObj, this.rand, k1, l1, i2); + } + } + + biomegenbase.decorate(this.worldObj, this.rand, k, l); + SpawnerAnimals.performWorldGenSpawning(this.worldObj, biomegenbase, k + 8, l + 8, 16, 16, this.rand); + k += 8; + l += 8; + MinecraftForge.EVENT_BUS.post(new Post(par1IChunkProvider, this.worldObj, this.rand, par2, par3, flag)); + BlockSand.fallInstantly = false; + } + + public boolean saveChunks(boolean par1, IProgressUpdate par2IProgressUpdate) { + return true; + } + + public boolean unloadQueuedChunks() { + return false; + } + + public boolean canSave() { + return true; + } + + public String makeString() { + return "RandomLevelSource"; + } + + public List getPossibleCreatures(EnumCreatureType par1EnumCreatureType, int par2, int par3, int par4) { + BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(par2, par4); + return biomegenbase == null ? null : (biomegenbase == BiomeGenBase.swampland && par1EnumCreatureType == EnumCreatureType.monster && this.scatteredFeatureGenerator.hasStructureAt(par2, par3, par4) ? this.scatteredFeatureGenerator.getScatteredFeatureSpawnList() : biomegenbase.getSpawnableList(par1EnumCreatureType)); + } + + public ChunkPosition findClosestStructure(World par1World, String par2Str, int par3, int par4, int par5) { + return "Stronghold".equals(par2Str) && this.strongholdGenerator != null ? this.strongholdGenerator.getNearestInstance(par1World, par3, par4, par5) : null; + } + + public int getLoadedChunkCount() { + return 0; + } + + public void recreateStructures(int par1, int par2) { + if (this.mapFeaturesEnabled) { + this.mineshaftGenerator.generate(this, this.worldObj, par1, par2, (byte[]) null); + this.villageGenerator.generate(this, this.worldObj, par1, par2, (byte[]) null); + this.strongholdGenerator.generate(this, this.worldObj, par1, par2, (byte[]) null); + this.scatteredFeatureGenerator.generate(this, this.worldObj, par1, par2, (byte[]) null); + } + + } @Override - public void func_104112_b() {} + public void saveExtraData() { + + } } diff --git a/common/rebelkeithy/mods/atum/world/AtumMapGenCaves.java b/common/rebelkeithy/mods/atum/world/AtumMapGenCaves.java index 125ae9e..9a67051 100644 --- a/common/rebelkeithy/mods/atum/world/AtumMapGenCaves.java +++ b/common/rebelkeithy/mods/atum/world/AtumMapGenCaves.java @@ -1,261 +1,196 @@ package rebelkeithy.mods.atum.world; import java.util.Random; - import net.minecraft.block.Block; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraft.world.gen.MapGenBase; import rebelkeithy.mods.atum.AtumBlocks; -public class AtumMapGenCaves extends MapGenBase -{ - /** - * Generates a larger initial cave node than usual. Called 25% of the time. - */ - protected void generateLargeCaveNode(long par1, int par3, int par4, byte[] par5ArrayOfByte, double par6, double par8, double par10) - { - this.generateCaveNode(par1, par3, par4, par5ArrayOfByte, par6, par8, par10, 1.0F + this.rand.nextFloat() * 6.0F, 0.0F, 0.0F, -1, -1, 0.5D); - } - - /** - * Generates a node in the current cave system recursion tree. - */ - protected void generateCaveNode(long par1, int par3, int par4, byte[] par5ArrayOfByte, double par6, double par8, double par10, float par12, float par13, float par14, int par15, int par16, double par17) - { - double d4 = (double)(par3 * 16 + 8); - double d5 = (double)(par4 * 16 + 8); - float f3 = 0.0F; - float f4 = 0.0F; - Random random = new Random(par1); - - if (par16 <= 0) - { - int j1 = this.range * 16 - 16; - par16 = j1 - random.nextInt(j1 / 4); - } - - boolean flag = false; - - if (par15 == -1) - { - par15 = par16 / 2; - flag = true; - } - - int k1 = random.nextInt(par16 / 2) + par16 / 4; - - for (boolean flag1 = random.nextInt(6) == 0; par15 < par16; ++par15) - { - double d6 = 1.5D + (double)(MathHelper.sin((float)par15 * (float)Math.PI / (float)par16) * par12 * 1.0F); - double d7 = d6 * par17; - float f5 = MathHelper.cos(par14); - float f6 = MathHelper.sin(par14); - par6 += (double)(MathHelper.cos(par13) * f5); - par8 += (double)f6; - par10 += (double)(MathHelper.sin(par13) * f5); - - if (flag1) - { - par14 *= 0.92F; - } - else - { - par14 *= 0.7F; +public class AtumMapGenCaves extends MapGenBase { + + protected void generateLargeCaveNode(long par1, int par3, int par4, byte[] par5ArrayOfByte, double par6, double par8, double par10) { + this.generateCaveNode(par1, par3, par4, par5ArrayOfByte, par6, par8, par10, 1.0F + super.rand.nextFloat() * 6.0F, 0.0F, 0.0F, -1, -1, 0.5D); + } + + protected void generateCaveNode(long par1, int par3, int par4, byte[] par5ArrayOfByte, double par6, double par8, double par10, float par12, float par13, float par14, int par15, int par16, double par17) { + double d4 = (double)(par3 * 16 + 8); + double d5 = (double)(par4 * 16 + 8); + float f3 = 0.0F; + float f4 = 0.0F; + Random random = new Random(par1); + if(par16 <= 0) { + int flag = super.range * 16 - 16; + par16 = flag - random.nextInt(flag / 4); + } + + boolean var62 = false; + if(par15 == -1) { + par15 = par16 / 2; + var62 = true; + } + + int k1 = random.nextInt(par16 / 2) + par16 / 4; + + for(boolean flag1 = random.nextInt(6) == 0; par15 < par16; ++par15) { + double d6 = 1.5D + (double)(MathHelper.sin((float)par15 * 3.1415927F / (float)par16) * par12 * 1.0F); + double d7 = d6 * par17; + float f5 = MathHelper.cos(par14); + float f6 = MathHelper.sin(par14); + par6 += (double)(MathHelper.cos(par13) * f5); + par8 += (double)f6; + par10 += (double)(MathHelper.sin(par13) * f5); + if(flag1) { + par14 *= 0.92F; + } else { + par14 *= 0.7F; + } + + par14 += f4 * 0.1F; + par13 += f3 * 0.1F; + f4 *= 0.9F; + f3 *= 0.75F; + f4 += (random.nextFloat() - random.nextFloat()) * random.nextFloat() * 2.0F; + f3 += (random.nextFloat() - random.nextFloat()) * random.nextFloat() * 4.0F; + if(!var62 && par15 == k1 && par12 > 1.0F && par16 > 0) { + this.generateCaveNode(random.nextLong(), par3, par4, par5ArrayOfByte, par6, par8, par10, random.nextFloat() * 0.5F + 0.5F, par13 - 1.5707964F, par14 / 3.0F, par15, par16, 1.0D); + this.generateCaveNode(random.nextLong(), par3, par4, par5ArrayOfByte, par6, par8, par10, random.nextFloat() * 0.5F + 0.5F, par13 + 1.5707964F, par14 / 3.0F, par15, par16, 1.0D); + return; + } + + if(var62 || random.nextInt(4) != 0) { + double d8 = par6 - d4; + double d9 = par10 - d5; + double d10 = (double)(par16 - par15); + double d11 = (double)(par12 + 2.0F + 16.0F); + if(d8 * d8 + d9 * d9 - d10 * d10 > d11 * d11) { + return; } - par14 += f4 * 0.1F; - par13 += f3 * 0.1F; - f4 *= 0.9F; - f3 *= 0.75F; - f4 += (random.nextFloat() - random.nextFloat()) * random.nextFloat() * 2.0F; - f3 += (random.nextFloat() - random.nextFloat()) * random.nextFloat() * 4.0F; - - if (!flag && par15 == k1 && par12 > 1.0F && par16 > 0) - { - this.generateCaveNode(random.nextLong(), par3, par4, par5ArrayOfByte, par6, par8, par10, random.nextFloat() * 0.5F + 0.5F, par13 - ((float)Math.PI / 2F), par14 / 3.0F, par15, par16, 1.0D); - this.generateCaveNode(random.nextLong(), par3, par4, par5ArrayOfByte, par6, par8, par10, random.nextFloat() * 0.5F + 0.5F, par13 + ((float)Math.PI / 2F), par14 / 3.0F, par15, par16, 1.0D); - return; - } - - if (flag || random.nextInt(4) != 0) - { - double d8 = par6 - d4; - double d9 = par10 - d5; - double d10 = (double)(par16 - par15); - double d11 = (double)(par12 + 2.0F + 16.0F); - - if (d8 * d8 + d9 * d9 - d10 * d10 > d11 * d11) - { - return; - } - - if (par6 >= d4 - 16.0D - d6 * 2.0D && par10 >= d5 - 16.0D - d6 * 2.0D && par6 <= d4 + 16.0D + d6 * 2.0D && par10 <= d5 + 16.0D + d6 * 2.0D) - { - int l1 = MathHelper.floor_double(par6 - d6) - par3 * 16 - 1; - int i2 = MathHelper.floor_double(par6 + d6) - par3 * 16 + 1; - int j2 = MathHelper.floor_double(par8 - d7) - 1; - int k2 = MathHelper.floor_double(par8 + d7) + 1; - int l2 = MathHelper.floor_double(par10 - d6) - par4 * 16 - 1; - int i3 = MathHelper.floor_double(par10 + d6) - par4 * 16 + 1; - - if (l1 < 0) - { - l1 = 0; - } - - if (i2 > 16) - { - i2 = 16; - } - - if (j2 < 1) - { - j2 = 1; - } - - if (k2 > 120) - { - k2 = 120; - } - - if (l2 < 0) - { - l2 = 0; - } - - if (i3 > 16) - { - i3 = 16; - } - - boolean flag2 = false; - int j3; - int k3; - - for (j3 = l1; !flag2 && j3 < i2; ++j3) - { - for (int l3 = l2; !flag2 && l3 < i3; ++l3) - { - for (int i4 = k2 + 1; !flag2 && i4 >= j2 - 1; --i4) - { - k3 = (j3 * 16 + l3) * 128 + i4; - - if (i4 >= 0 && i4 < 128) - { - if (par5ArrayOfByte[k3] == Block.waterMoving.blockID || par5ArrayOfByte[k3] == Block.waterStill.blockID) - { - flag2 = true; - } - - if (i4 != j2 - 1 && j3 != l1 && j3 != i2 - 1 && l3 != l2 && l3 != i3 - 1) - { - i4 = j2; - } - } - } + if(par6 >= d4 - 16.0D - d6 * 2.0D && par10 >= d5 - 16.0D - d6 * 2.0D && par6 <= d4 + 16.0D + d6 * 2.0D && par10 <= d5 + 16.0D + d6 * 2.0D) { + int l1 = MathHelper.floor_double(par6 - d6) - par3 * 16 - 1; + int i2 = MathHelper.floor_double(par6 + d6) - par3 * 16 + 1; + int j2 = MathHelper.floor_double(par8 - d7) - 1; + int k2 = MathHelper.floor_double(par8 + d7) + 1; + int l2 = MathHelper.floor_double(par10 - d6) - par4 * 16 - 1; + int i3 = MathHelper.floor_double(par10 + d6) - par4 * 16 + 1; + if(l1 < 0) { + l1 = 0; + } + + if(i2 > 16) { + i2 = 16; + } + + if(j2 < 1) { + j2 = 1; + } + + if(k2 > 120) { + k2 = 120; + } + + if(l2 < 0) { + l2 = 0; + } + + if(i3 > 16) { + i3 = 16; + } + + boolean flag2 = false; + + int k3; + int j3; + for(j3 = l1; !flag2 && j3 < i2; ++j3) { + for(int d12 = l2; !flag2 && d12 < i3; ++d12) { + for(int i4 = k2 + 1; !flag2 && i4 >= j2 - 1; --i4) { + k3 = (j3 * 16 + d12) * 128 + i4; + if(i4 >= 0 && i4 < 128) { + if(par5ArrayOfByte[k3] == Block.waterMoving.blockID || par5ArrayOfByte[k3] == Block.waterStill.blockID) { + flag2 = true; + } + + if(i4 != j2 - 1 && j3 != l1 && j3 != i2 - 1 && d12 != l2 && d12 != i3 - 1) { + i4 = j2; + } } - } - - if (!flag2) - { - for (j3 = l1; j3 < i2; ++j3) - { - double d12 = ((double)(j3 + par3 * 16) + 0.5D - par6) / d6; - - for (k3 = l2; k3 < i3; ++k3) - { - double d13 = ((double)(k3 + par4 * 16) + 0.5D - par10) / d6; - int j4 = (j3 * 16 + k3) * 128 + k2; - boolean flag3 = false; - - if (d12 * d12 + d13 * d13 < 1.0D) - { - for (int k4 = k2 - 1; k4 >= j2; --k4) - { - double d14 = ((double)k4 + 0.5D - par8) / d7; - - if (d14 > -0.7D && d12 * d12 + d14 * d14 + d13 * d13 < 1.0D) - { - byte b0 = par5ArrayOfByte[j4]; - - if (b0 == Block.grass.blockID) - { - flag3 = true; - } - - if (b0 == AtumBlocks.stone.blockID || b0 == AtumBlocks.sand.blockID) - { - if (k4 < 10) - { - par5ArrayOfByte[j4] = (byte)Block.lavaMoving.blockID; - } - else - { - par5ArrayOfByte[j4] = 0; - - if (flag3 && par5ArrayOfByte[j4 - 1] == AtumBlocks.sand.blockID) - { - par5ArrayOfByte[j4 - 1] = this.worldObj.getBiomeGenForCoords(j3 + par3 * 16, k3 + par4 * 16).topBlock; - } - } - } - } - - --j4; + } + } + } + + if(!flag2) { + for(j3 = l1; j3 < i2; ++j3) { + double var63 = ((double)(j3 + par3 * 16) + 0.5D - par6) / d6; + + for(k3 = l2; k3 < i3; ++k3) { + double d13 = ((double)(k3 + par4 * 16) + 0.5D - par10) / d6; + int j4 = (j3 * 16 + k3) * 128 + k2; + boolean flag3 = false; + if(var63 * var63 + d13 * d13 < 1.0D) { + for(int k4 = k2 - 1; k4 >= j2; --k4) { + double d14 = ((double)k4 + 0.5D - par8) / d7; + if(d14 > -0.7D && var63 * var63 + d14 * d14 + d13 * d13 < 1.0D) { + byte b0 = par5ArrayOfByte[j4]; + if(b0 == Block.grass.blockID) { + flag3 = true; + } + + if(b0 == AtumBlocks.stone.blockID || b0 == AtumBlocks.sand.blockID) { + if(k4 < 10) { + par5ArrayOfByte[j4] = (byte)Block.lavaMoving.blockID; + } else { + par5ArrayOfByte[j4] = 0; + if(flag3 && par5ArrayOfByte[j4 - 1] == AtumBlocks.sand.blockID) { + par5ArrayOfByte[j4 - 1] = super.worldObj.getBiomeGenForCoords(j3 + par3 * 16, k3 + par4 * 16).topBlock; + } } - } - } - } + } + } - if (flag) - { - break; + --j4; + } } - } - } - } - } - } - - /** - * Recursively called by generate() (generate) and optionally by itself. - */ - protected void recursiveGenerate(World par1World, int par2, int par3, int par4, int par5, byte[] par6ArrayOfByte) - { - int i1 = this.rand.nextInt(this.rand.nextInt(this.rand.nextInt(40) + 1) + 1); + } + } - if (this.rand.nextInt(15) != 0) - { - i1 = 0; - } - - for (int j1 = 0; j1 < i1; ++j1) - { - double d0 = (double)(par2 * 16 + this.rand.nextInt(16)); - double d1 = (double)this.rand.nextInt(this.rand.nextInt(120) + 8); - double d2 = (double)(par3 * 16 + this.rand.nextInt(16)); - int k1 = 1; - - if (this.rand.nextInt(4) == 0) - { - this.generateLargeCaveNode(this.rand.nextLong(), par4, par5, par6ArrayOfByte, d0, d1, d2); - k1 += this.rand.nextInt(4); + if(var62) { + break; + } + } + } + } + } + + } + + protected void recursiveGenerate(World par1World, int par2, int par3, int par4, int par5, byte[] par6ArrayOfByte) { + int i1 = super.rand.nextInt(super.rand.nextInt(super.rand.nextInt(40) + 1) + 1); + if(super.rand.nextInt(15) != 0) { + i1 = 0; + } + + for(int j1 = 0; j1 < i1; ++j1) { + double d0 = (double)(par2 * 16 + super.rand.nextInt(16)); + double d1 = (double)super.rand.nextInt(super.rand.nextInt(120) + 8); + double d2 = (double)(par3 * 16 + super.rand.nextInt(16)); + int k1 = 1; + if(super.rand.nextInt(4) == 0) { + this.generateLargeCaveNode(super.rand.nextLong(), par4, par5, par6ArrayOfByte, d0, d1, d2); + k1 += super.rand.nextInt(4); + } + + for(int l1 = 0; l1 < k1; ++l1) { + float f = super.rand.nextFloat() * 3.1415927F * 2.0F; + float f1 = (super.rand.nextFloat() - 0.5F) * 2.0F / 8.0F; + float f2 = super.rand.nextFloat() * 2.0F + super.rand.nextFloat(); + if(super.rand.nextInt(10) == 0) { + f2 *= super.rand.nextFloat() * super.rand.nextFloat() * 3.0F + 1.0F; } - for (int l1 = 0; l1 < k1; ++l1) - { - float f = this.rand.nextFloat() * (float)Math.PI * 2.0F; - float f1 = (this.rand.nextFloat() - 0.5F) * 2.0F / 8.0F; - float f2 = this.rand.nextFloat() * 2.0F + this.rand.nextFloat(); - - if (this.rand.nextInt(10) == 0) - { - f2 *= this.rand.nextFloat() * this.rand.nextFloat() * 3.0F + 1.0F; - } + this.generateCaveNode(super.rand.nextLong(), par4, par5, par6ArrayOfByte, d0, d1, d2, f2, f, f1, 0, 0, 1.0D); + } + } - this.generateCaveNode(this.rand.nextLong(), par4, par5, par6ArrayOfByte, d0, d1, d2, f2, f, f1, 0, 0, 1.0D); - } - } - } + } } diff --git a/common/rebelkeithy/mods/atum/world/AtumWorldProvider.java b/common/rebelkeithy/mods/atum/world/AtumWorldProvider.java index 2d4c218..6362de4 100644 --- a/common/rebelkeithy/mods/atum/world/AtumWorldProvider.java +++ b/common/rebelkeithy/mods/atum/world/AtumWorldProvider.java @@ -1,5 +1,7 @@ package rebelkeithy.mods.atum.world; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.WorldProvider; @@ -7,133 +9,87 @@ import net.minecraft.world.chunk.IChunkProvider; import rebelkeithy.mods.atum.Atum; import rebelkeithy.mods.atum.AtumConfig; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class AtumWorldProvider extends WorldProvider -{ - - @Override - public String getDimensionName() - { - return "Atum"; - } - - /** - * creates a new world chunk manager for WorldProvider - */ - @Override - protected void registerWorldChunkManager() - { - worldChunkMgr = new WorldChunkManagerHell(Atum.atumDesert, 0.8F, 0.1F); - this.dimensionId = AtumConfig.dimensionID; - } - - /** - * Returns a new chunk provider which generates chunks for this world - */ - @Override - public IChunkProvider createChunkGenerator() - { - return new AtumChunkProvider(this.worldObj, worldObj.getSeed(), true); - } - - /** - * Creates the light to brightness table - */ - @Override - protected void generateLightBrightnessTable() - { - float f = 0.0F; - - for (int i = 0; i <= 15; ++i) - { - float scaledBrightness = i / 15.0F; - float f1 = 1.0F - scaledBrightness; - if(i < 5) - this.lightBrightnessTable[i] = 0.5F * scaledBrightness / (f1 * 3.0F + 1.0F) * (1.0F - f) + f; - else - this.lightBrightnessTable[i] = scaledBrightness / (f1 * 3.0F + 1.0F) * (1.0F - f) + f; - - - } - } - - /** - * Calculates the angle of sun and moon in the sky relative to a specified time (usually worldTime) - */ - @Override - public float calculateCelestialAngle(long par1, float par3) - { - int j = (int)(par1 % 48000L); - float f1 = ((float)j + par3) / 48000.0F - 0.25F; - - if (f1 < 0.0F) - { - ++f1; - } - - if (f1 > 1.0F) - { - --f1; - } - - float f2 = f1; - f1 = 1.0F - (float)((Math.cos((double)f1 * Math.PI) + 1.0D) / 2.0D); - f1 = f2 + (f1 - f2) / 3.0F; - return f1; - //return (float) Math.sin(f2); - //return 1F; - } - - @SideOnly(Side.CLIENT) - - /** - * Return Vec3D with biome specific fog color - */ - @Override - public Vec3 getFogColor(float par1, float par2) - { - float f2 = MathHelper.cos(par1 * (float)Math.PI * 2.0F) * 2.0F + 0.5F; - - if (f2 < 0.2F) - { - f2 = 0.2F; - } - - if (f2 > 1.0F) - { - f2 = 1.0F; - } - - float f3 = 0.7529412F; - float f4 = 0.84705883F; - float f5 = 1.0F; - f3 *= f2 * 0.94F + 0.06F; - f4 *= f2 * 0.94F + 0.06F; - f5 *= f2 * 0.91F + 0.09F; - f3 = 0.9F * f2; - f4 = 0.75F * f2; - f5 = 0.6F * f2; - return this.worldObj.getWorldVec3Pool().getVecFromPool((double)f3, (double)f4, (double)f5); - } - - @Override - public boolean doesXZShowFog(int par1, int par2) - { - return false; - } - - @Override - public String getWelcomeMessage() - { - return "Entering Atum"; - } - - @Override - public String getDepartMessage() - { - return "Leaving Atum"; - } - +import rebelkeithy.mods.atum.world.AtumChunkProvider; + +public class AtumWorldProvider extends WorldProvider { + + public String getDimensionName() { + return "Atum"; + } + + protected void registerWorldChunkManager() { + super.worldChunkMgr = new WorldChunkManagerHell(Atum.atumDesert, 0.8F, 0.1F); + super.dimensionId = AtumConfig.dimensionID; + } + + public IChunkProvider createChunkGenerator() { + return new AtumChunkProvider(super.worldObj, super.worldObj.getSeed(), true); + } + + protected void generateLightBrightnessTable() { + float f = 0.0F; + + for(int i = 0; i <= 15; ++i) { + float scaledBrightness = (float)i / 15.0F; + float f1 = 1.0F - scaledBrightness; + if(i < 5) { + super.lightBrightnessTable[i] = 0.5F * scaledBrightness / (f1 * 3.0F + 1.0F) * (1.0F - f) + f; + } else { + super.lightBrightnessTable[i] = scaledBrightness / (f1 * 3.0F + 1.0F) * (1.0F - f) + f; + } + } + + } + + public float calculateCelestialAngle(long par1, float par3) { + int j = (int)(par1 % 48000L); + float f1 = ((float)j + par3) / 48000.0F - 0.25F; + if(f1 < 0.0F) { + ++f1; + } + + if(f1 > 1.0F) { + --f1; + } + + float f2 = f1; + f1 = 1.0F - (float)((Math.cos((double)f1 * 3.141592653589793D) + 1.0D) / 2.0D); + f1 = f2 + (f1 - f2) / 3.0F; + return f1; + } + + @SideOnly(Side.CLIENT) + public Vec3 getFogColor(float par1, float par2) { + float f2 = MathHelper.cos(par1 * 3.1415927F * 2.0F) * 2.0F + 0.5F; + if(f2 < 0.2F) { + f2 = 0.2F; + } + + if(f2 > 1.0F) { + f2 = 1.0F; + } + + float f3 = 0.7529412F; + float f4 = 0.84705883F; + float f5 = 1.0F; + float var10000 = f3 * (f2 * 0.94F + 0.06F); + var10000 = f4 * (f2 * 0.94F + 0.06F); + var10000 = f5 * (f2 * 0.91F + 0.09F); + f3 = 0.9F * f2; + f4 = 0.75F * f2; + f5 = 0.6F * f2; + return super.worldObj.getWorldVec3Pool().getVecFromPool((double)f3, (double)f4, (double)f5); + } + + public boolean doesXZShowFog(int par1, int par2) { + return false; + } + + public String getWelcomeMessage() { + return "Entering Atum"; + } + + public String getDepartMessage() { + return "Leaving Atum"; + } } diff --git a/common/rebelkeithy/mods/atum/world/AtumWorldServer.java b/common/rebelkeithy/mods/atum/world/AtumWorldServer.java index 04c7c45..85fff9b 100644 --- a/common/rebelkeithy/mods/atum/world/AtumWorldServer.java +++ b/common/rebelkeithy/mods/atum/world/AtumWorldServer.java @@ -1,94 +1,21 @@ package rebelkeithy.mods.atum.world; -import static net.minecraftforge.common.ChestGenHooks.BONUS_CHEST; - -import java.io.File; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Random; -import java.util.Set; -import java.util.TreeSet; - -import rebelkeithy.mods.atum.AtumTeleporter; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockEventData; -import net.minecraft.crash.CrashReport; -import net.minecraft.crash.CrashReportCategory; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityTracker; -import net.minecraft.entity.EnumCreatureType; -import net.minecraft.entity.INpc; -import net.minecraft.entity.effect.EntityLightningBolt; -import net.minecraft.entity.passive.EntityAnimal; -import net.minecraft.entity.passive.EntityWaterMob; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; import net.minecraft.logging.ILogAgent; -import net.minecraft.network.packet.Packet38EntityStatus; -import net.minecraft.network.packet.Packet54PlayNoteBlock; -import net.minecraft.network.packet.Packet60Explosion; -import net.minecraft.network.packet.Packet70GameEvent; -import net.minecraft.network.packet.Packet71Weather; import net.minecraft.profiler.Profiler; -import net.minecraft.scoreboard.ScoreboardSaveData; -import net.minecraft.scoreboard.ServerScoreboard; import net.minecraft.server.MinecraftServer; -import net.minecraft.server.management.PlayerManager; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ChunkCoordinates; -import net.minecraft.util.IProgressUpdate; -import net.minecraft.util.IntHashMap; -import net.minecraft.util.ReportedException; -import net.minecraft.util.Vec3; -import net.minecraft.util.WeightedRandom; -import net.minecraft.util.WeightedRandomChestContent; -import net.minecraft.world.ChunkCoordIntPair; -import net.minecraft.world.ChunkPosition; -import net.minecraft.world.Explosion; -import net.minecraft.world.MinecraftException; -import net.minecraft.world.NextTickListEntry; -import net.minecraft.world.SpawnerAnimals; import net.minecraft.world.Teleporter; -import net.minecraft.world.WorldProvider; import net.minecraft.world.WorldServer; import net.minecraft.world.WorldSettings; -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.biome.SpawnListEntry; -import net.minecraft.world.biome.WorldChunkManager; -import net.minecraft.world.chunk.Chunk; -import net.minecraft.world.chunk.IChunkProvider; -import net.minecraft.world.chunk.storage.AnvilChunkLoader; -import net.minecraft.world.chunk.storage.ExtendedBlockStorage; -import net.minecraft.world.chunk.storage.IChunkLoader; -import net.minecraft.world.gen.ChunkProviderServer; -import net.minecraft.world.gen.feature.WorldGeneratorBonusChest; import net.minecraft.world.storage.ISaveHandler; -import net.minecraftforge.common.ChestGenHooks; -import net.minecraftforge.common.DimensionManager; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.ForgeEventFactory; -import net.minecraftforge.event.world.WorldEvent; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import rebelkeithy.mods.atum.AtumTeleporter; + +public class AtumWorldServer extends WorldServer { -public class AtumWorldServer extends WorldServer -{ - public AtumWorldServer(MinecraftServer par1MinecraftServer, - ISaveHandler par2iSaveHandler, String par3Str, int par4, - WorldSettings par5WorldSettings, Profiler par6Profiler, - ILogAgent par7iLogAgent) { - super(par1MinecraftServer, par2iSaveHandler, par3Str, par4, par5WorldSettings, - par6Profiler, par7iLogAgent); - // TODO Auto-generated constructor stub - } + public AtumWorldServer(MinecraftServer par1MinecraftServer, ISaveHandler par2iSaveHandler, String par3Str, int par4, WorldSettings par5WorldSettings, Profiler par6Profiler, ILogAgent par7iLogAgent) { + super(par1MinecraftServer, par2iSaveHandler, par3Str, par4, par5WorldSettings, par6Profiler, par7iLogAgent); + } - @Override - public Teleporter getDefaultTeleporter() - { - return new AtumTeleporter(this); - } + public Teleporter getDefaultTeleporter() { + return new AtumTeleporter(this); + } } diff --git a/common/rebelkeithy/mods/atum/world/biome/BiomeDecoratorAtum.java b/common/rebelkeithy/mods/atum/world/biome/BiomeDecoratorAtum.java index 0f47f4f..5f3a87f 100644 --- a/common/rebelkeithy/mods/atum/world/biome/BiomeDecoratorAtum.java +++ b/common/rebelkeithy/mods/atum/world/biome/BiomeDecoratorAtum.java @@ -1,17 +1,6 @@ package rebelkeithy.mods.atum.world.biome; -import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.GRASS; -import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.LAKE; -import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.SAND_PASS2; -import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.COAL; -import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.DIAMOND; -import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.GOLD; -import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.IRON; -import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.LAPIS; -import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.REDSTONE; - import java.util.Random; - import net.minecraft.block.Block; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeDecorator; @@ -26,239 +15,179 @@ import net.minecraft.world.gen.feature.WorldGenWaterlily; import net.minecraft.world.gen.feature.WorldGenerator; import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.terraingen.DecorateBiomeEvent; -import net.minecraftforge.event.terraingen.OreGenEvent; import net.minecraftforge.event.terraingen.TerrainGen; -import rebelkeithy.mods.atum.Atum; +import net.minecraftforge.event.terraingen.DecorateBiomeEvent.Post; +import net.minecraftforge.event.terraingen.DecorateBiomeEvent.Pre; +import net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType; import rebelkeithy.mods.atum.AtumBlocks; import rebelkeithy.mods.atum.world.decorators.WorldGenShrub; -public class BiomeDecoratorAtum extends BiomeDecorator -{ - - private float shrubChance; - - public BiomeDecoratorAtum(BiomeGenBase par1BiomeGenBase) - { - super(par1BiomeGenBase); - this.sandGen = new WorldGenSand(7, AtumBlocks.sand.blockID); - this.gravelAsSandGen = new WorldGenSand(6, Block.gravel.blockID); - this.dirtGen = new WorldGenMinable(Block.dirt.blockID, 32); - this.gravelGen = new WorldGenMinable(Block.gravel.blockID, 32); - this.coalGen = new WorldGenMinable(AtumBlocks.coalOre.blockID, 16, AtumBlocks.stone.blockID); - this.ironGen = new WorldGenMinable(AtumBlocks.ironOre.blockID, 8, AtumBlocks.stone.blockID); - this.goldGen = new WorldGenMinable(AtumBlocks.goldOre.blockID, 8, AtumBlocks.stone.blockID); - this.redstoneGen = new WorldGenMinable(AtumBlocks.redstoneOre.blockID, 7, AtumBlocks.stone.blockID); - this.diamondGen = new WorldGenMinable(AtumBlocks.diamondOre.blockID, 7, AtumBlocks.stone.blockID); - this.lapisGen = new WorldGenMinable(AtumBlocks.lapisOre.blockID, 6); - this.plantYellowGen = new WorldGenFlowers(Block.plantYellow.blockID); - this.plantRedGen = new WorldGenFlowers(Block.plantRed.blockID); - this.mushroomBrownGen = new WorldGenFlowers(Block.mushroomBrown.blockID); - this.mushroomRedGen = new WorldGenFlowers(Block.mushroomRed.blockID); - this.bigMushroomGen = new WorldGenBigMushroom(); - this.reedGen = new WorldGenReed(); - this.cactusGen = new WorldGenCactus(); - this.waterlilyGen = new WorldGenWaterlily(); - this.waterlilyPerChunk = 0; - this.treesPerChunk = 0; - this.flowersPerChunk = 2; - this.grassPerChunk = 1; - this.deadBushPerChunk = 1; - this.shrubChance = 0.3F; - this.mushroomsPerChunk = 0; - this.reedsPerChunk = 0; - this.cactiPerChunk = 0; - this.sandPerChunk = 1; - this.sandPerChunk2 = 3; - this.clayPerChunk = 1; - this.bigMushroomsPerChunk = 0; - this.generateLakes = true; - this.biome = par1BiomeGenBase; - - //this.treeGenerator = new WorldGenAtumTrees(true); - } - - /** - * Decorates the world. Calls code that was formerly (pre-1.8) in ChunkProviderGenerate.populate - */ - @Override - public void decorate(World par1World, Random par2Random, int par3, int par4) - { - if (this.currentWorld != null) - { - throw new RuntimeException("Already decorating!!"); - } - else - { - this.currentWorld = par1World; - this.randomGenerator = par2Random; - this.chunk_X = par3; - this.chunk_Z = par4; - this.decorate(); - this.currentWorld = null; - this.randomGenerator = null; - } - } - - /** - * The method that does the work of actually decorating chunks - */ - @Override - protected void decorate() - { - MinecraftForge.EVENT_BUS.post(new DecorateBiomeEvent.Pre(currentWorld, randomGenerator, chunk_X, chunk_Z)); - - this.generateOres(); - int i; - int j; - int k; - - long time; - boolean doGen; - - /*boolean doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, SAND); - for (i = 0; doGen && i < this.sandPerChunk2; ++i) - { - j = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - k = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - time = System.nanoTime(); - this.sandGen.generate(this.currentWorld, this.randomGenerator, j, this.currentWorld.getTopSolidOrLiquidBlock(j, k), k); - //System.out.println("Gen Sand: " + (System.nanoTime() - time)); - //this.treeGenerator.generate(this.currentWorld, this.randomGenerator, j, this.currentWorld.getTopSolidOrLiquidBlock(j, k), k); - }*/ - - doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, SAND_PASS2); - for (i = 0; doGen && i < this.sandPerChunk; ++i) - { - j = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - k = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - time = System.nanoTime(); - this.sandGen.generate(this.currentWorld, this.randomGenerator, j, this.currentWorld.getTopSolidOrLiquidBlock(j, k), k); - //System.out.println("Gen More Sand: " + (System.nanoTime() - time)); - } - - i = this.treesPerChunk; - - if (this.randomGenerator.nextInt(10) == 0) - { - ++i; - } - - int l; - - /* - doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, TREE); - i = (int) (this.randomGenerator.nextFloat() + 0.1); - for (j = 0; doGen && j < i; ++j) - { - k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - l = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - WorldGenerator worldgenerator = this.biome.getRandomWorldGenForTrees(this.randomGenerator); - worldgenerator.setScale(1.0D, 1.0D, 1.0D); - time = System.nanoTime(); - worldgenerator.generate(this.currentWorld, this.randomGenerator, k, this.currentWorld.getHeightValue(k, l), l); - //System.out.println("Gen Trees: " + (System.nanoTime() - time)); - }*/ - - int i1; - - time = System.nanoTime(); - doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, GRASS); - for (j = 0; doGen && j < this.grassPerChunk; ++j) - { - k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - l = this.randomGenerator.nextInt(128); - i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - WorldGenerator worldgenerator1 = this.biome.getRandomWorldGenForGrass(this.randomGenerator); - worldgenerator1.generate(this.currentWorld, this.randomGenerator, k, l, i1); - } - - if(randomGenerator.nextFloat() < shrubChance) - { - k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - l = this.randomGenerator.nextInt(128); - i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - time = System.nanoTime(); - (new WorldGenShrub(AtumBlocks.shrub.blockID, 8)).generate(this.currentWorld, this.randomGenerator, k, l, i1); - //System.out.println("Gen Shrub: " + (System.nanoTime() - time)); - } - - if(randomGenerator.nextFloat() < shrubChance) - { - k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - l = this.randomGenerator.nextInt(128); - i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; +public class BiomeDecoratorAtum extends BiomeDecorator { + + private float shrubChance; + + + public BiomeDecoratorAtum(BiomeGenBase par1BiomeGenBase) { + super(par1BiomeGenBase); + super.sandGen = new WorldGenSand(7, AtumBlocks.sand.blockID); + super.gravelAsSandGen = new WorldGenSand(6, Block.gravel.blockID); + super.dirtGen = new WorldGenMinable(Block.dirt.blockID, 32); + super.gravelGen = new WorldGenMinable(Block.gravel.blockID, 32); + super.coalGen = new WorldGenMinable(AtumBlocks.coalOre.blockID, 16, AtumBlocks.stone.blockID); + super.ironGen = new WorldGenMinable(AtumBlocks.ironOre.blockID, 8, AtumBlocks.stone.blockID); + super.goldGen = new WorldGenMinable(AtumBlocks.goldOre.blockID, 8, AtumBlocks.stone.blockID); + super.redstoneGen = new WorldGenMinable(AtumBlocks.redstoneOre.blockID, 7, AtumBlocks.stone.blockID); + super.diamondGen = new WorldGenMinable(AtumBlocks.diamondOre.blockID, 7, AtumBlocks.stone.blockID); + super.lapisGen = new WorldGenMinable(AtumBlocks.lapisOre.blockID, 6); + super.plantYellowGen = new WorldGenFlowers(Block.plantYellow.blockID); + super.plantRedGen = new WorldGenFlowers(Block.plantRed.blockID); + super.mushroomBrownGen = new WorldGenFlowers(Block.mushroomBrown.blockID); + super.mushroomRedGen = new WorldGenFlowers(Block.mushroomRed.blockID); + super.bigMushroomGen = new WorldGenBigMushroom(); + super.reedGen = new WorldGenReed(); + super.cactusGen = new WorldGenCactus(); + super.waterlilyGen = new WorldGenWaterlily(); + super.waterlilyPerChunk = 0; + super.treesPerChunk = 0; + super.flowersPerChunk = 2; + super.grassPerChunk = 1; + super.deadBushPerChunk = 1; + this.shrubChance = 0.3F; + super.mushroomsPerChunk = 0; + super.reedsPerChunk = 0; + super.cactiPerChunk = 0; + super.sandPerChunk = 1; + super.sandPerChunk2 = 3; + super.clayPerChunk = 1; + super.bigMushroomsPerChunk = 0; + super.generateLakes = true; + super.biome = par1BiomeGenBase; + } + + public void decorate(World par1World, Random par2Random, int par3, int par4) { + if(super.currentWorld != null) { + throw new RuntimeException("Already decorating!!"); + } else { + super.currentWorld = par1World; + super.randomGenerator = par2Random; + super.chunk_X = par3; + super.chunk_Z = par4; + this.decorate(); + super.currentWorld = null; + super.randomGenerator = null; + } + } + + protected void decorate() { + MinecraftForge.EVENT_BUS.post(new Pre(super.currentWorld, super.randomGenerator, super.chunk_X, super.chunk_Z)); + this.generateOres(); + boolean doGen = TerrainGen.decorate(super.currentWorld, super.randomGenerator, super.chunk_X, super.chunk_Z, EventType.SAND_PASS2); + + int i; + int j; + int k; + long time; + for(i = 0; doGen && i < super.sandPerChunk; ++i) { + j = super.chunk_X + super.randomGenerator.nextInt(16) + 8; + k = super.chunk_Z + super.randomGenerator.nextInt(16) + 8; + time = System.nanoTime(); + super.sandGen.generate(super.currentWorld, super.randomGenerator, j, super.currentWorld.getTopSolidOrLiquidBlock(j, k), k); + } + + i = super.treesPerChunk; + if(super.randomGenerator.nextInt(10) == 0) { + ++i; + } + + time = System.nanoTime(); + doGen = TerrainGen.decorate(super.currentWorld, super.randomGenerator, super.chunk_X, super.chunk_Z, EventType.GRASS); + + int l; + int i1; + for(j = 0; doGen && j < super.grassPerChunk; ++j) { + k = super.chunk_X + super.randomGenerator.nextInt(16) + 8; + l = super.randomGenerator.nextInt(128); + i1 = super.chunk_Z + super.randomGenerator.nextInt(16) + 8; + WorldGenerator worldgenerator1 = super.biome.getRandomWorldGenForGrass(super.randomGenerator); + worldgenerator1.generate(super.currentWorld, super.randomGenerator, k, l, i1); + } + + if(super.randomGenerator.nextFloat() < this.shrubChance) { + k = super.chunk_X + super.randomGenerator.nextInt(16) + 8; + l = super.randomGenerator.nextInt(128); + i1 = super.chunk_Z + super.randomGenerator.nextInt(16) + 8; + time = System.nanoTime(); + (new WorldGenShrub(AtumBlocks.shrub.blockID, 8)).generate(super.currentWorld, super.randomGenerator, k, l, i1); + } + + if(super.randomGenerator.nextFloat() < this.shrubChance) { + k = super.chunk_X + super.randomGenerator.nextInt(16) + 8; + l = super.randomGenerator.nextInt(128); + i1 = super.chunk_Z + super.randomGenerator.nextInt(16) + 8; + time = System.nanoTime(); + (new WorldGenShrub(AtumBlocks.weed.blockID, 8)).generate(super.currentWorld, super.randomGenerator, k, l, i1); + } + + doGen = TerrainGen.decorate(super.currentWorld, super.randomGenerator, super.chunk_X, super.chunk_Z, EventType.LAKE); + if(doGen && super.generateLakes) { + for(j = 0; j < 20; ++j) { + k = super.chunk_X + super.randomGenerator.nextInt(16) + 8; + l = super.randomGenerator.nextInt(super.randomGenerator.nextInt(super.randomGenerator.nextInt(112) + 8) + 8); + i1 = super.chunk_Z + super.randomGenerator.nextInt(16) + 8; time = System.nanoTime(); - (new WorldGenShrub(AtumBlocks.weed.blockID, 8)).generate(this.currentWorld, this.randomGenerator, k, l, i1); - //System.out.println("Gen Weeds: " + (System.nanoTime() - time)); - } - - doGen = TerrainGen.decorate(currentWorld, randomGenerator, chunk_X, chunk_Z, LAKE); - if (doGen && this.generateLakes) - { - for (j = 0; j < 20; ++j) - { - k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - l = this.randomGenerator.nextInt(this.randomGenerator.nextInt(this.randomGenerator.nextInt(112) + 8) + 8); - i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - time = System.nanoTime(); - (new WorldGenLiquids(Block.lavaMoving.blockID)).generate(this.currentWorld, this.randomGenerator, k, l, i1); - //System.out.println("Gen Lava: " + (System.nanoTime() - time)); - } - } - - MinecraftForge.EVENT_BUS.post(new DecorateBiomeEvent.Post(currentWorld, randomGenerator, chunk_X, chunk_Z)); - } - - /** - * Standard ore generation helper. Generates most ores. - */ - @Override - protected void genStandardOre1(int par1, WorldGenerator par2WorldGenerator, int par3, int par4) - { - for (int l = 0; l < par1; ++l) - { - int i1 = this.chunk_X + this.randomGenerator.nextInt(16); - int j1 = this.randomGenerator.nextInt(par4 - par3) + par3; - int k1 = this.chunk_Z + this.randomGenerator.nextInt(16); - par2WorldGenerator.generate(this.currentWorld, this.randomGenerator, i1, j1, k1); - } - } - - /** - * Standard ore generation helper. Generates Lapis Lazuli. - */ - @Override - protected void genStandardOre2(int par1, WorldGenerator par2WorldGenerator, int par3, int par4) - { - for (int l = 0; l < par1; ++l) - { - int i1 = this.chunk_X + this.randomGenerator.nextInt(16); - int j1 = this.randomGenerator.nextInt(par4) + this.randomGenerator.nextInt(par4) + (par3 - par4); - int k1 = this.chunk_Z + this.randomGenerator.nextInt(16); - par2WorldGenerator.generate(this.currentWorld, this.randomGenerator, i1, j1, k1); - } - } - - /** - * Generates ores in the current chunk - */ - @Override - protected void generateOres() - { - MinecraftForge.ORE_GEN_BUS.post(new OreGenEvent.Pre(currentWorld, randomGenerator, chunk_X, chunk_Z)); - if (TerrainGen.generateOre(currentWorld, randomGenerator, coalGen, chunk_X, chunk_Z, COAL)) - this.genStandardOre1(20, this.coalGen, 0, 128); - if (TerrainGen.generateOre(currentWorld, randomGenerator, ironGen, chunk_X, chunk_Z, IRON)) - this.genStandardOre1(20, this.ironGen, 0, 64); - if (TerrainGen.generateOre(currentWorld, randomGenerator, goldGen, chunk_X, chunk_Z, GOLD)) - this.genStandardOre1(2, this.goldGen, 0, 32); - if (TerrainGen.generateOre(currentWorld, randomGenerator, redstoneGen, chunk_X, chunk_Z, REDSTONE)) - this.genStandardOre1(8, this.redstoneGen, 0, 16); - if (TerrainGen.generateOre(currentWorld, randomGenerator, diamondGen, chunk_X, chunk_Z, DIAMOND)) - this.genStandardOre1(1, this.diamondGen, 0, 16); - if (TerrainGen.generateOre(currentWorld, randomGenerator, lapisGen, chunk_X, chunk_Z, LAPIS)) - this.genStandardOre2(1, this.lapisGen, 16, 16); - MinecraftForge.ORE_GEN_BUS.post(new OreGenEvent.Post(currentWorld, randomGenerator, chunk_X, chunk_Z)); - } + (new WorldGenLiquids(Block.lavaMoving.blockID)).generate(super.currentWorld, super.randomGenerator, k, l, i1); + } + } + + MinecraftForge.EVENT_BUS.post(new Post(super.currentWorld, super.randomGenerator, super.chunk_X, super.chunk_Z)); + } + + protected void genStandardOre1(int par1, WorldGenerator par2WorldGenerator, int par3, int par4) { + for(int l = 0; l < par1; ++l) { + int i1 = super.chunk_X + super.randomGenerator.nextInt(16); + int j1 = super.randomGenerator.nextInt(par4 - par3) + par3; + int k1 = super.chunk_Z + super.randomGenerator.nextInt(16); + par2WorldGenerator.generate(super.currentWorld, super.randomGenerator, i1, j1, k1); + } + + } + + protected void genStandardOre2(int par1, WorldGenerator par2WorldGenerator, int par3, int par4) { + for(int l = 0; l < par1; ++l) { + int i1 = super.chunk_X + super.randomGenerator.nextInt(16); + int j1 = super.randomGenerator.nextInt(par4) + super.randomGenerator.nextInt(par4) + (par3 - par4); + int k1 = super.chunk_Z + super.randomGenerator.nextInt(16); + par2WorldGenerator.generate(super.currentWorld, super.randomGenerator, i1, j1, k1); + } + + } + + protected void generateOres() { + MinecraftForge.ORE_GEN_BUS.post(new net.minecraftforge.event.terraingen.OreGenEvent.Pre(super.currentWorld, super.randomGenerator, super.chunk_X, super.chunk_Z)); + if(TerrainGen.generateOre(super.currentWorld, super.randomGenerator, super.coalGen, super.chunk_X, super.chunk_Z, net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.COAL)) { + this.genStandardOre1(20, super.coalGen, 0, 128); + } + + if(TerrainGen.generateOre(super.currentWorld, super.randomGenerator, super.ironGen, super.chunk_X, super.chunk_Z, net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.IRON)) { + this.genStandardOre1(20, super.ironGen, 0, 64); + } + + if(TerrainGen.generateOre(super.currentWorld, super.randomGenerator, super.goldGen, super.chunk_X, super.chunk_Z, net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.GOLD)) { + this.genStandardOre1(2, super.goldGen, 0, 32); + } + + if(TerrainGen.generateOre(super.currentWorld, super.randomGenerator, super.redstoneGen, super.chunk_X, super.chunk_Z, net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.REDSTONE)) { + this.genStandardOre1(8, super.redstoneGen, 0, 16); + } + + if(TerrainGen.generateOre(super.currentWorld, super.randomGenerator, super.diamondGen, super.chunk_X, super.chunk_Z, net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.DIAMOND)) { + this.genStandardOre1(1, super.diamondGen, 0, 16); + } + + if(TerrainGen.generateOre(super.currentWorld, super.randomGenerator, super.lapisGen, super.chunk_X, super.chunk_Z, net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.LAPIS)) { + this.genStandardOre2(1, super.lapisGen, 16, 16); + } + + MinecraftForge.ORE_GEN_BUS.post(new net.minecraftforge.event.terraingen.OreGenEvent.Post(super.currentWorld, super.randomGenerator, super.chunk_X, super.chunk_Z)); + } } diff --git a/common/rebelkeithy/mods/atum/world/biome/BiomeGenAtumDesert.java b/common/rebelkeithy/mods/atum/world/biome/BiomeGenAtumDesert.java index c1bebc9..ed79cdf 100644 --- a/common/rebelkeithy/mods/atum/world/biome/BiomeGenAtumDesert.java +++ b/common/rebelkeithy/mods/atum/world/biome/BiomeGenAtumDesert.java @@ -17,6 +17,7 @@ import rebelkeithy.mods.atum.entities.EntityGhost; import rebelkeithy.mods.atum.entities.EntityMummy; import rebelkeithy.mods.atum.entities.EntityStoneSoldier; +import rebelkeithy.mods.atum.world.biome.BiomeDecoratorAtum; import rebelkeithy.mods.atum.world.decorators.WorldGenAtumTrees; import rebelkeithy.mods.atum.world.decorators.WorldGenOasis; import rebelkeithy.mods.atum.world.decorators.WorldGenPalace; @@ -24,137 +25,103 @@ import rebelkeithy.mods.atum.world.decorators.WorldGenPyramid; import rebelkeithy.mods.atum.world.decorators.WorldGenRuins; -public class BiomeGenAtumDesert extends BiomeGenBase -{ - public WorldGenerator treeGenerator; - public WorldGenerator palmGenerator; - public WorldGenerator ruinsGenerator; - - public short sTopBlock; - public short sFillerBlock; - - public BiomeGenAtumDesert(int par1) - { - super(par1); - this.spawnableCreatureList.clear(); - this.sTopBlock = (short) AtumBlocks.sand.blockID; - this.sFillerBlock = (short) AtumBlocks.sand.blockID; - this.theBiomeDecorator.treesPerChunk = 1; - this.theBiomeDecorator.deadBushPerChunk = 5; - this.theBiomeDecorator.reedsPerChunk = 0; - this.theBiomeDecorator.cactiPerChunk = 0; - this.treeGenerator = new WorldGenAtumTrees(true); - this.palmGenerator = new WorldGenPalm(true); - ruinsGenerator = new WorldGenRuins(); - this.spawnableMonsterList.clear(); - this.spawnableCreatureList.clear(); - this.spawnableWaterCreatureList.clear(); - this.spawnableCaveCreatureList.clear(); - - this.spawnableMonsterList.add(new SpawnListEntry(EntityMummy.class, 6, 4, 4)); - this.spawnableMonsterList.add(new SpawnListEntry(EntityBanditWarlord.class, 1, 1, 1)); - this.spawnableMonsterList.add(new SpawnListEntry(EntityBanditWarrior.class, 6, 2, 2)); - this.spawnableMonsterList.add(new SpawnListEntry(EntityBarbarian.class, 2, 4, 4)); - this.spawnableMonsterList.add(new SpawnListEntry(EntityBanditArcher.class, 6, 4, 4)); - this.spawnableMonsterList.add(new SpawnListEntry(EntityDustySkeleton.class, 6, 4, 4)); - this.spawnableMonsterList.add(new SpawnListEntry(EntityGhost.class, 6, 4, 4)); - this.spawnableMonsterList.add(new SpawnListEntry(EntityDesertWolf.class, 6, 4, 4)); - this.spawnableMonsterList.add(new SpawnListEntry(EntityStoneSoldier.class, 6, 4, 4)); - } - - - /** - * Allocate a new BiomeDecorator for this BiomeGenBase - */ - @Override - public BiomeDecorator createBiomeDecorator() - { - return new BiomeDecoratorAtum(this); - } - - /** - * Gets a WorldGen appropriate for this biome. - */ - @Override - public WorldGenerator getRandomWorldGenForTrees(Random par1Random) - { - return treeGenerator; - } - - @Override - public void decorate(World par1World, Random par2Random, int par3, int par4) - { - super.decorate(par1World, par2Random, par3, par4); - - long time; - - if (par2Random.nextInt(100) == 0) - { - int k = par3 + par2Random.nextInt(16) + 8; - int l = par4 + par2Random.nextInt(16) + 8; - time = System.nanoTime(); - (new WorldGenOasis(false)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); - //System.out.println("Gen Oasis: " + (System.nanoTime() - time)); - } - - if (par2Random.nextInt(20) == 0) - { - //Minecraft.getMinecraft().mcProfiler.startSection("Atum Gen"); - int k = par3 + par2Random.nextInt(16) + 8; - int l = par4 + par2Random.nextInt(16) + 8; - time = System.nanoTime(); - ruinsGenerator.generate(par1World, par2Random, k, par1World.getHeightValue(k, l) + 1, l); - //System.out.println("Gen Ruins: " + (System.nanoTime() - time)); - //Minecraft.getMinecraft().mcProfiler.endSection(); - } - - if (par2Random.nextInt(5) == 0) - { - int k = par3 + par2Random.nextInt(16) + 8; - int l = par4 + par2Random.nextInt(16) + 8; - int height = par2Random.nextInt(4) + 5; - time = System.nanoTime(); - (new WorldGenPalm(true, height, 0, 0)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); - //System.out.println("Gen Palm: " + (System.nanoTime() - time)); - } - - if (par2Random.nextInt(7) == 0) - { - int k = par3 + par2Random.nextInt(16) + 8; - int l = par4 + par2Random.nextInt(16) + 8; - int height = par2Random.nextInt(4) + 4; - time = System.nanoTime(); - (new WorldGenAtumTrees(true)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); - //System.out.println("Gen Palm: " + (System.nanoTime() - time)); - } - - if (par2Random.nextInt(120) == 0) - { - int k = par3 + par2Random.nextInt(16) + 8; - int l = par4 + par2Random.nextInt(16) + 8; - time = System.nanoTime(); - (new WorldGenPyramid()).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); - //System.out.println("Gen Pyramid: " + (System.nanoTime() - time)); - } - - /*if (par2Random.nextInt(1000) == 0) - { - int k = par3 + par2Random.nextInt(16) + 8; - int l = par4 + par2Random.nextInt(16) + 8; - WorldGenDesertWells worldgendesertwells = new WorldGenDesertWells(); - time = System.nanoTime(); - worldgendesertwells.generate(par1World, par2Random, k, par1World.getHeightValue(k, l) + 1, l); - //System.out.println("Gen Well: " + (System.nanoTime() - time)); - }*/ - - if (par2Random.nextInt(160) == 0) { - int k = par3 + par2Random.nextInt(16) + 8; - int l = par4 + par2Random.nextInt(16) + 8; - int height = par2Random.nextInt(10); - if(height <= 20){ - height += 30; - } - (new WorldGenPalace()).generate(par1World, par2Random, k, height, l); - } - } +public class BiomeGenAtumDesert extends BiomeGenBase { + + public WorldGenerator treeGenerator; + public WorldGenerator palmGenerator; + public WorldGenerator ruinsGenerator; + public short sTopBlock; + public short sFillerBlock; + + + public BiomeGenAtumDesert(int par1) { + super(par1); + super.spawnableCreatureList.clear(); + this.sTopBlock = (short)AtumBlocks.sand.blockID; + this.sFillerBlock = (short)AtumBlocks.sand.blockID; + super.theBiomeDecorator.treesPerChunk = 1; + super.theBiomeDecorator.deadBushPerChunk = 5; + super.theBiomeDecorator.reedsPerChunk = 0; + super.theBiomeDecorator.cactiPerChunk = 0; + this.treeGenerator = new WorldGenAtumTrees(true); + this.palmGenerator = new WorldGenPalm(true); + this.ruinsGenerator = new WorldGenRuins(); + super.spawnableMonsterList.clear(); + super.spawnableCreatureList.clear(); + super.spawnableWaterCreatureList.clear(); + super.spawnableCaveCreatureList.clear(); + super.spawnableMonsterList.add(new SpawnListEntry(EntityMummy.class, 6, 4, 4)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditWarlord.class, 1, 1, 1)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditWarrior.class, 6, 2, 2)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityBarbarian.class, 2, 4, 4)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditArcher.class, 6, 4, 4)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityDustySkeleton.class, 6, 4, 4)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityGhost.class, 6, 4, 4)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityDesertWolf.class, 6, 4, 4)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityStoneSoldier.class, 6, 4, 4)); + } + + public BiomeDecorator createBiomeDecorator() { + return new BiomeDecoratorAtum(this); + } + + public WorldGenerator getRandomWorldGenForTrees(Random par1Random) { + return this.treeGenerator; + } + + public void decorate(World par1World, Random par2Random, int par3, int par4) { + super.decorate(par1World, par2Random, par3, par4); + long time; + int k; + int l; + if(par2Random.nextInt(100) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + time = System.nanoTime(); + (new WorldGenOasis(false)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); + } + + if(par2Random.nextInt(20) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + time = System.nanoTime(); + this.ruinsGenerator.generate(par1World, par2Random, k, par1World.getHeightValue(k, l) + 1, l); + } + + int height; + if(par2Random.nextInt(5) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + height = par2Random.nextInt(4) + 5; + time = System.nanoTime(); + (new WorldGenPalm(true, height, 0, 0)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); + } + + if(par2Random.nextInt(7) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + height = par2Random.nextInt(4) + 4; + time = System.nanoTime(); + (new WorldGenAtumTrees(true)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); + } + + if(par2Random.nextInt(120) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + time = System.nanoTime(); + (new WorldGenPyramid()).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); + } + + if(par2Random.nextInt(160) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + height = par2Random.nextInt(10); + if(height <= 20) { + height += 30; + } + + (new WorldGenPalace()).generate(par1World, par2Random, k, height, l); + } + + } } diff --git a/common/rebelkeithy/mods/atum/world/biome/MobSpawnController.java b/common/rebelkeithy/mods/atum/world/biome/MobSpawnController.java index ca05b02..4bc6c18 100644 --- a/common/rebelkeithy/mods/atum/world/biome/MobSpawnController.java +++ b/common/rebelkeithy/mods/atum/world/biome/MobSpawnController.java @@ -1,31 +1,27 @@ package rebelkeithy.mods.atum.world.biome; import java.util.List; - import net.minecraft.world.biome.SpawnListEntry; import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.world.WorldEvent.PotentialSpawns; import rebelkeithy.mods.atum.entities.IAtumDayMob; import rebelkeithy.mods.atum.entities.IAtumNightMob; -public class MobSpawnController -{ - @ForgeSubscribe - public void getPotentialSpawns(PotentialSpawns event) - { - List list = event.list; - int time = (int) (event.world.getWorldTime() % 48000); - System.out.println(time); - for(int i = 0; i < list.size(); i++) - { - System.out.println(time); - if(IAtumDayMob.class.isAssignableFrom(list.get(i).entityClass) && time > 0 && time < 24000) {} - else if(IAtumNightMob.class.isAssignableFrom(list.get(i).entityClass) && time > 24000 && time < 48000) {} - else - { - list.remove(i); - i--; - } - } - } +public class MobSpawnController { + + @ForgeSubscribe + public void getPotentialSpawns(PotentialSpawns event) { + List list = event.list; + int time = (int)(event.world.getWorldTime() % 48000L); + System.out.println(time); + + for(int i = 0; i < list.size(); ++i) { + System.out.println(time); + if((!IAtumDayMob.class.isAssignableFrom(((SpawnListEntry)list.get(i)).entityClass) || time <= 0 || time >= 24000) && (!IAtumNightMob.class.isAssignableFrom(((SpawnListEntry)list.get(i)).entityClass) || time <= 24000 || time >= '\ubb80')) { + list.remove(i); + --i; + } + } + + } } diff --git a/common/rebelkeithy/mods/atum/world/decorators/WorldGenAtumTrees.java b/common/rebelkeithy/mods/atum/world/decorators/WorldGenAtumTrees.java index 7a6e006..7b14950 100644 --- a/common/rebelkeithy/mods/atum/world/decorators/WorldGenAtumTrees.java +++ b/common/rebelkeithy/mods/atum/world/decorators/WorldGenAtumTrees.java @@ -1,518 +1,367 @@ package rebelkeithy.mods.atum.world.decorators; import java.util.Random; - import net.minecraft.block.Block; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; import rebelkeithy.mods.atum.AtumBlocks; -public class WorldGenAtumTrees extends WorldGenerator -{ - /** - * Contains three sets of two values that provide complimentary indices for a given 'major' index - 1 and 2 for 0, 0 - * and 2 for 1, and 0 and 1 for 2. - */ - static final byte[] otherCoordPairs = new byte[] {(byte)2, (byte)0, (byte)0, (byte)1, (byte)2, (byte)1}; - - /** random seed for GenBigTree */ - Random rand = new Random(); - - /** Reference to the World object. */ - World worldObj; - int[] basePos = new int[] {0, 0, 0}; - int heightLimit = 0; - int height; - double heightAttenuation = 0.618D; - double branchDensity = 1.0D; - double branchSlope = 0.381D; - double scaleWidth = 1.0D; - double leafDensity = 1.0D; - - /** - * Currently always 1, can be set to 2 in the class constructor to generate a double-sized tree trunk for big trees. - */ - int trunkSize = 1; - - /** - * Sets the limit of the random value used to initialize the height limit. - */ - int heightLimitLimit = 12; - - /** - * Sets the distance limit for how far away the generator will populate leaves from the base leaf node. - */ - int leafDistanceLimit = 4; - - /** Contains a list of a points at which to generate groups of leaves. */ - int[][] leafNodes; - - public WorldGenAtumTrees(boolean par1) - { - super(par1); - } - - /** - * Generates a list of leaf nodes for the tree, to be populated by generateLeaves. - */ - void generateLeafNodeList() - { - this.height = (int)((double)this.heightLimit * this.heightAttenuation); - - if (this.height >= this.heightLimit) - { - this.height = this.heightLimit - 1; - } - - int i = (int)(1.382D + Math.pow(this.leafDensity * (double)this.heightLimit / 13.0D, 2.0D)); - - if (i < 1) - { - i = 1; - } - - int[][] aint = new int[i * this.heightLimit][4]; - int j = this.basePos[1] + this.heightLimit - this.leafDistanceLimit; - int k = 1; - int l = this.basePos[1] + this.height; - int i1 = j - this.basePos[1]; - aint[0][0] = this.basePos[0]; - aint[0][1] = j; - aint[0][2] = this.basePos[2]; - aint[0][3] = l; - --j; - - while (i1 >= 0) - { - int j1 = 0; - float f = this.layerSize(i1); - - if (f < 0.0F) - { - --j; - --i1; - } - else - { - for (double d0 = 0.5D; j1 < i; ++j1) - { - double d1 = this.scaleWidth * (double)f * ((double)this.rand.nextFloat() + 0.328D); - double d2 = (double)this.rand.nextFloat() * 2.0D * Math.PI; - int k1 = MathHelper.floor_double(d1 * Math.sin(d2) + (double)this.basePos[0] + d0); - int l1 = MathHelper.floor_double(d1 * Math.cos(d2) + (double)this.basePos[2] + d0); - int[] aint1 = new int[] {k1, j, l1}; - int[] aint2 = new int[] {k1, j + this.leafDistanceLimit, l1}; - - if (this.checkBlockLine(aint1, aint2) == -1) - { - int[] aint3 = new int[] {this.basePos[0], this.basePos[1], this.basePos[2]}; - double d3 = Math.sqrt(Math.pow((double)Math.abs(this.basePos[0] - aint1[0]), 2.0D) + Math.pow((double)Math.abs(this.basePos[2] - aint1[2]), 2.0D)); - double d4 = d3 * this.branchSlope; - - if ((double)aint1[1] - d4 > (double)l) - { - aint3[1] = l; - } - else - { - aint3[1] = (int)((double)aint1[1] - d4); - } - - if (this.checkBlockLine(aint3, aint1) == -1) - { - aint[k][0] = k1; - aint[k][1] = j; - aint[k][2] = l1; - aint[k][3] = aint3[1]; - ++k; - } - } - } - - --j; - --i1; - } - } - - this.leafNodes = new int[k][4]; - System.arraycopy(aint, 0, this.leafNodes, 0, k); - } - - void genTreeLayer(int par1, int par2, int par3, float par4, byte par5, int par6) - { - int i1 = (int)((double)par4 + 0.618D); - byte b1 = otherCoordPairs[par5]; - byte b2 = otherCoordPairs[par5 + 3]; - int[] aint = new int[] {par1, par2, par3}; - int[] aint1 = new int[] {0, 0, 0}; - int j1 = -i1; - int k1 = -i1; - - for (aint1[par5] = aint[par5]; j1 <= i1; ++j1) - { - aint1[b1] = aint[b1] + j1; - k1 = -i1; - - while (k1 <= i1) - { - double d0 = Math.pow((double)Math.abs(j1) + 0.5D, 2.0D) + Math.pow((double)Math.abs(k1) + 0.5D, 2.0D); - - if (d0 > (double)(par4 * par4)) - { - ++k1; - } - else - { - aint1[b2] = aint[b2] + k1; - int l1 = this.worldObj.getBlockId(aint1[0], aint1[1], aint1[2]); - - if (l1 != 0 && l1 != Block.leaves.blockID) - { - ++k1; - } - else - { - if(par6 != Block.leaves.blockID) - this.setBlockAndMetadata(this.worldObj, aint1[0], aint1[1], aint1[2], par6, 0); - ++k1; - } - } - } - } - } - - /** - * Gets the rough size of a layer of the tree. - */ - float layerSize(int par1) - { - if ((double)par1 < (double)((float)this.heightLimit) * 0.3D) - { - return -1.618F; - } - else - { - float f = (float)this.heightLimit / 2.0F; - float f1 = (float)this.heightLimit / 2.0F - (float)par1; - float f2; - - if (f1 == 0.0F) - { - f2 = f; - } - else if (Math.abs(f1) >= f) - { - f2 = 0.0F; - } - else - { - f2 = (float)Math.sqrt(Math.pow((double)Math.abs(f), 2.0D) - Math.pow((double)Math.abs(f1), 2.0D)); - } - - f2 *= 0.5F; - return f2; - } - } - - float leafSize(int par1) - { - return par1 >= 0 && par1 < this.leafDistanceLimit ? (par1 != 0 && par1 != this.leafDistanceLimit - 1 ? 3.0F : 2.0F) : -1.0F; - } - - /** - * Generates the leaves surrounding an individual entry in the leafNodes list. - */ - void generateLeafNode(int par1, int par2, int par3) - { - int l = par2; - - for (int i1 = par2 + this.leafDistanceLimit; l < i1; ++l) - { - float f = this.leafSize(l - par2); - this.genTreeLayer(par1, l, par3, f, (byte)1, Block.leaves.blockID); - } - } - - /** - * Places a line of the specified block ID into the world from the first coordinate triplet to the second. - */ - void placeBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger, int par3) - { - int[] aint2 = new int[] {0, 0, 0}; - byte b0 = 0; - byte b1; - - for (b1 = 0; b0 < 3; ++b0) - { - aint2[b0] = par2ArrayOfInteger[b0] - par1ArrayOfInteger[b0]; - - if (Math.abs(aint2[b0]) > Math.abs(aint2[b1])) - { - b1 = b0; - } - } - - if (aint2[b1] != 0) - { - byte b2 = otherCoordPairs[b1]; - byte b3 = otherCoordPairs[b1 + 3]; - byte b4; - - if (aint2[b1] > 0) - { - b4 = 1; - } - else - { - b4 = -1; +public class WorldGenAtumTrees extends WorldGenerator { + + static final byte[] otherCoordPairs = new byte[]{(byte)2, (byte)0, (byte)0, (byte)1, (byte)2, (byte)1}; + Random rand = new Random(); + World worldObj; + int[] basePos = new int[]{0, 0, 0}; + int heightLimit = 0; + int height; + double heightAttenuation = 0.618D; + double branchDensity = 1.0D; + double branchSlope = 0.381D; + double scaleWidth = 1.0D; + double leafDensity = 1.0D; + int trunkSize = 1; + int heightLimitLimit = 12; + int leafDistanceLimit = 4; + int[][] leafNodes; + + + public WorldGenAtumTrees(boolean par1) { + super(par1); + } + + void generateLeafNodeList() { + this.height = (int)((double)this.heightLimit * this.heightAttenuation); + if(this.height >= this.heightLimit) { + this.height = this.heightLimit - 1; + } + + int i = (int)(1.382D + Math.pow(this.leafDensity * (double)this.heightLimit / 13.0D, 2.0D)); + if(i < 1) { + i = 1; + } + + int[][] aint = new int[i * this.heightLimit][4]; + int j = this.basePos[1] + this.heightLimit - this.leafDistanceLimit; + int k = 1; + int l = this.basePos[1] + this.height; + int i1 = j - this.basePos[1]; + aint[0][0] = this.basePos[0]; + aint[0][1] = j; + aint[0][2] = this.basePos[2]; + aint[0][3] = l; + --j; + + while(i1 >= 0) { + int j1 = 0; + float f = this.layerSize(i1); + if(f < 0.0F) { + --j; + --i1; + } else { + for(double d0 = 0.5D; j1 < i; ++j1) { + double d1 = this.scaleWidth * (double)f * ((double)this.rand.nextFloat() + 0.328D); + double d2 = (double)this.rand.nextFloat() * 2.0D * 3.141592653589793D; + int k1 = MathHelper.floor_double(d1 * Math.sin(d2) + (double)this.basePos[0] + d0); + int l1 = MathHelper.floor_double(d1 * Math.cos(d2) + (double)this.basePos[2] + d0); + int[] aint1 = new int[]{k1, j, l1}; + int[] aint2 = new int[]{k1, j + this.leafDistanceLimit, l1}; + if(this.checkBlockLine(aint1, aint2) == -1) { + int[] aint3 = new int[]{this.basePos[0], this.basePos[1], this.basePos[2]}; + double d3 = Math.sqrt(Math.pow((double)Math.abs(this.basePos[0] - aint1[0]), 2.0D) + Math.pow((double)Math.abs(this.basePos[2] - aint1[2]), 2.0D)); + double d4 = d3 * this.branchSlope; + if((double)aint1[1] - d4 > (double)l) { + aint3[1] = l; + } else { + aint3[1] = (int)((double)aint1[1] - d4); + } + + if(this.checkBlockLine(aint3, aint1) == -1) { + aint[k][0] = k1; + aint[k][1] = j; + aint[k][2] = l1; + aint[k][3] = aint3[1]; + ++k; + } + } } - double d0 = (double)aint2[b2] / (double)aint2[b1]; - double d1 = (double)aint2[b3] / (double)aint2[b1]; - int[] aint3 = new int[] {0, 0, 0}; - int j = 0; - - for (int k = aint2[b1] + b4; j != k; j += b4) - { - aint3[b1] = MathHelper.floor_double((double)(par1ArrayOfInteger[b1] + j) + 0.5D); - aint3[b2] = MathHelper.floor_double((double)par1ArrayOfInteger[b2] + (double)j * d0 + 0.5D); - aint3[b3] = MathHelper.floor_double((double)par1ArrayOfInteger[b3] + (double)j * d1 + 0.5D); - byte b5 = 0; - int l = Math.abs(aint3[0] - par1ArrayOfInteger[0]); - int i1 = Math.abs(aint3[2] - par1ArrayOfInteger[2]); - int j1 = Math.max(l, i1); - - if (j1 > 0) - { - if (l == j1) - { - b5 = 4; - } - else if (i1 == j1) - { - b5 = 8; - } - } - - this.setBlockAndMetadata(this.worldObj, aint3[0], aint3[1], aint3[2], par3, b5); - } - } - } - - /** - * Generates the leaf portion of the tree as specified by the leafNodes list. - */ - void generateLeaves() - { - int i = 0; - - for (int j = this.leafNodes.length; i < j; ++i) - { - int k = this.leafNodes[i][0]; - int l = this.leafNodes[i][1]; - int i1 = this.leafNodes[i][2]; - this.generateLeafNode(k, l, i1); - } - } - - /** - * Indicates whether or not a leaf node requires additional wood to be added to preserve integrity. - */ - boolean leafNodeNeedsBase(int par1) - { - return (double)par1 >= (double)this.heightLimit * 0.2D; - } - - /** - * Places the trunk for the big tree that is being generated. Able to generate double-sized trunks by changing a - * field that is always 1 to 2. - */ - void generateTrunk() - { - int i = this.basePos[0]; - int j = this.basePos[1]; - int k = this.basePos[1] + this.height; - int l = this.basePos[2]; - int[] aint = new int[] {i, j, l}; - int[] aint1 = new int[] {i, k, l}; - this.placeBlockLine(aint, aint1, Block.wood.blockID); - - if (this.trunkSize == 2) - { - ++aint[0]; - ++aint1[0]; - this.placeBlockLine(aint, aint1, Block.wood.blockID); - ++aint[2]; - ++aint1[2]; - this.placeBlockLine(aint, aint1, Block.wood.blockID); - aint[0] += -1; - aint1[0] += -1; - this.placeBlockLine(aint, aint1, Block.wood.blockID); - } - } - - /** - * Generates additional wood blocks to fill out the bases of different leaf nodes that would otherwise degrade. - */ - void generateLeafNodeBases() - { - int i = 0; - int j = this.leafNodes.length; - - for (int[] aint = new int[] {this.basePos[0], this.basePos[1], this.basePos[2]}; i < j; ++i) - { - int[] aint1 = this.leafNodes[i]; - int[] aint2 = new int[] {aint1[0], aint1[1], aint1[2]}; - aint[1] = aint1[3]; - int k = aint[1] - this.basePos[1]; - - if (this.leafNodeNeedsBase(k)) - { - this.placeBlockLine(aint, aint2, (byte)Block.wood.blockID); - } - } - } - - /** - * Checks a line of blocks in the world from the first coordinate to triplet to the second, returning the distance - * (in blocks) before a non-air, non-leaf block is encountered and/or the end is encountered. - */ - int checkBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger) - { - int[] aint2 = new int[] {0, 0, 0}; - byte b0 = 0; - byte b1; - - for (b1 = 0; b0 < 3; ++b0) - { - aint2[b0] = par2ArrayOfInteger[b0] - par1ArrayOfInteger[b0]; - - if (Math.abs(aint2[b0]) > Math.abs(aint2[b1])) - { - b1 = b0; + --j; + --i1; + } + } + + this.leafNodes = new int[k][4]; + System.arraycopy(aint, 0, this.leafNodes, 0, k); + } + + void genTreeLayer(int par1, int par2, int par3, float par4, byte par5, int par6) { + int i1 = (int)((double)par4 + 0.618D); + byte b1 = otherCoordPairs[par5]; + byte b2 = otherCoordPairs[par5 + 3]; + int[] aint = new int[]{par1, par2, par3}; + int[] aint1 = new int[]{0, 0, 0}; + int j1 = -i1; + int k1 = -i1; + + for(aint1[par5] = aint[par5]; j1 <= i1; ++j1) { + aint1[b1] = aint[b1] + j1; + k1 = -i1; + + while(k1 <= i1) { + double d0 = Math.pow((double)Math.abs(j1) + 0.5D, 2.0D) + Math.pow((double)Math.abs(k1) + 0.5D, 2.0D); + if(d0 > (double)(par4 * par4)) { + ++k1; + } else { + aint1[b2] = aint[b2] + k1; + int l1 = this.worldObj.getBlockId(aint1[0], aint1[1], aint1[2]); + if(l1 != 0 && l1 != Block.leaves.blockID) { + ++k1; + } else { + if(par6 != Block.leaves.blockID) { + this.setBlockAndMetadata(this.worldObj, aint1[0], aint1[1], aint1[2], par6, 0); + } + + ++k1; + } } - } - - if (aint2[b1] == 0) - { - return -1; - } - else - { - byte b2 = otherCoordPairs[b1]; - byte b3 = otherCoordPairs[b1 + 3]; - byte b4; - - if (aint2[b1] > 0) - { - b4 = 1; - } - else - { - b4 = -1; + } + } + + } + + float layerSize(int par1) { + if((double)par1 < (double)((float)this.heightLimit) * 0.3D) { + return -1.618F; + } else { + float f = (float)this.heightLimit / 2.0F; + float f1 = (float)this.heightLimit / 2.0F - (float)par1; + float f2; + if(f1 == 0.0F) { + f2 = f; + } else if(Math.abs(f1) >= f) { + f2 = 0.0F; + } else { + f2 = (float)Math.sqrt(Math.pow((double)Math.abs(f), 2.0D) - Math.pow((double)Math.abs(f1), 2.0D)); + } + + f2 *= 0.5F; + return f2; + } + } + + float leafSize(int par1) { + return par1 >= 0 && par1 < this.leafDistanceLimit?(par1 != 0 && par1 != this.leafDistanceLimit - 1?3.0F:2.0F):-1.0F; + } + + void generateLeafNode(int par1, int par2, int par3) { + int l = par2; + + for(int i1 = par2 + this.leafDistanceLimit; l < i1; ++l) { + float f = this.leafSize(l - par2); + this.genTreeLayer(par1, l, par3, f, (byte)1, Block.leaves.blockID); + } + + } + + void placeBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger, int par3) { + int[] aint2 = new int[]{0, 0, 0}; + byte b0 = 0; + + byte b1; + for(b1 = 0; b0 < 3; ++b0) { + aint2[b0] = par2ArrayOfInteger[b0] - par1ArrayOfInteger[b0]; + if(Math.abs(aint2[b0]) > Math.abs(aint2[b1])) { + b1 = b0; + } + } + + if(aint2[b1] != 0) { + byte b2 = otherCoordPairs[b1]; + byte b3 = otherCoordPairs[b1 + 3]; + byte b4; + if(aint2[b1] > 0) { + b4 = 1; + } else { + b4 = -1; + } + + double d0 = (double)aint2[b2] / (double)aint2[b1]; + double d1 = (double)aint2[b3] / (double)aint2[b1]; + int[] aint3 = new int[]{0, 0, 0}; + int j = 0; + + for(int k = aint2[b1] + b4; j != k; j += b4) { + aint3[b1] = MathHelper.floor_double((double)(par1ArrayOfInteger[b1] + j) + 0.5D); + aint3[b2] = MathHelper.floor_double((double)par1ArrayOfInteger[b2] + (double)j * d0 + 0.5D); + aint3[b3] = MathHelper.floor_double((double)par1ArrayOfInteger[b3] + (double)j * d1 + 0.5D); + byte b5 = 0; + int l = Math.abs(aint3[0] - par1ArrayOfInteger[0]); + int i1 = Math.abs(aint3[2] - par1ArrayOfInteger[2]); + int j1 = Math.max(l, i1); + if(j1 > 0) { + if(l == j1) { + b5 = 4; + } else if(i1 == j1) { + b5 = 8; + } } - double d0 = (double)aint2[b2] / (double)aint2[b1]; - double d1 = (double)aint2[b3] / (double)aint2[b1]; - int[] aint3 = new int[] {0, 0, 0}; - int i = 0; - int j; - - for (j = aint2[b1] + b4; i != j; i += b4) - { - aint3[b1] = par1ArrayOfInteger[b1] + i; - aint3[b2] = MathHelper.floor_double((double)par1ArrayOfInteger[b2] + (double)i * d0); - aint3[b3] = MathHelper.floor_double((double)par1ArrayOfInteger[b3] + (double)i * d1); - int k = this.worldObj.getBlockId(aint3[0], aint3[1], aint3[2]); - - if (k != 0 && k != Block.leaves.blockID) - { - break; - } + this.setBlockAndMetadata(this.worldObj, aint3[0], aint3[1], aint3[2], par3, b5); + } + } + + } + + void generateLeaves() { + int i = 0; + + for(int j = this.leafNodes.length; i < j; ++i) { + int k = this.leafNodes[i][0]; + int l = this.leafNodes[i][1]; + int i1 = this.leafNodes[i][2]; + this.generateLeafNode(k, l, i1); + } + + } + + boolean leafNodeNeedsBase(int par1) { + return (double)par1 >= (double)this.heightLimit * 0.2D; + } + + void generateTrunk() { + int i = this.basePos[0]; + int j = this.basePos[1]; + int k = this.basePos[1] + this.height; + int l = this.basePos[2]; + int[] aint = new int[]{i, j, l}; + int[] aint1 = new int[]{i, k, l}; + this.placeBlockLine(aint, aint1, Block.wood.blockID); + if(this.trunkSize == 2) { + ++aint[0]; + ++aint1[0]; + this.placeBlockLine(aint, aint1, Block.wood.blockID); + ++aint[2]; + ++aint1[2]; + this.placeBlockLine(aint, aint1, Block.wood.blockID); + aint[0] += -1; + aint1[0] += -1; + this.placeBlockLine(aint, aint1, Block.wood.blockID); + } + + } + + void generateLeafNodeBases() { + int i = 0; + int j = this.leafNodes.length; + + for(int[] aint = new int[]{this.basePos[0], this.basePos[1], this.basePos[2]}; i < j; ++i) { + int[] aint1 = this.leafNodes[i]; + int[] aint2 = new int[]{aint1[0], aint1[1], aint1[2]}; + aint[1] = aint1[3]; + int k = aint[1] - this.basePos[1]; + if(this.leafNodeNeedsBase(k)) { + this.placeBlockLine(aint, aint2, (byte)Block.wood.blockID); + } + } + + } + + int checkBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger) { + int[] aint2 = new int[]{0, 0, 0}; + byte b0 = 0; + + byte b1; + for(b1 = 0; b0 < 3; ++b0) { + aint2[b0] = par2ArrayOfInteger[b0] - par1ArrayOfInteger[b0]; + if(Math.abs(aint2[b0]) > Math.abs(aint2[b1])) { + b1 = b0; + } + } + + if(aint2[b1] == 0) { + return -1; + } else { + byte b2 = otherCoordPairs[b1]; + byte b3 = otherCoordPairs[b1 + 3]; + byte b4; + if(aint2[b1] > 0) { + b4 = 1; + } else { + b4 = -1; + } + + double d0 = (double)aint2[b2] / (double)aint2[b1]; + double d1 = (double)aint2[b3] / (double)aint2[b1]; + int[] aint3 = new int[]{0, 0, 0}; + int i = 0; + + int j; + for(j = aint2[b1] + b4; i != j; i += b4) { + aint3[b1] = par1ArrayOfInteger[b1] + i; + aint3[b2] = MathHelper.floor_double((double)par1ArrayOfInteger[b2] + (double)i * d0); + aint3[b3] = MathHelper.floor_double((double)par1ArrayOfInteger[b3] + (double)i * d1); + int k = this.worldObj.getBlockId(aint3[0], aint3[1], aint3[2]); + if(k != 0 && k != Block.leaves.blockID) { + break; } - - return i == j ? -1 : Math.abs(i); - } - } - - /** - * Returns a boolean indicating whether or not the current location for the tree, spanning basePos to to the height - * limit, is valid. - */ - boolean validTreeLocation() - { - int[] aint = new int[] {this.basePos[0], this.basePos[1], this.basePos[2]}; - int[] aint1 = new int[] {this.basePos[0], this.basePos[1] + this.heightLimit - 1, this.basePos[2]}; - int i = this.worldObj.getBlockId(this.basePos[0], this.basePos[1] - 1, this.basePos[2]); - - Block soil = Block.blocksList[i]; - boolean isValidSoil = i == AtumBlocks.sand.blockID; - if (!isValidSoil) - { - return false; - } - else - { - int j = this.checkBlockLine(aint, aint1); - - if (j == -1) - { - return true; - } - else if (j < 6) - { - return false; - } - else - { - this.heightLimit = j; - return true; - } - } - } - - /** - * Rescales the generator settings, only used in WorldGenBigTree - */ - public void setScale(double par1, double par3, double par5) - { - this.heightLimitLimit = (int)(par1 * 12.0D); - - if (par1 > 0.5D) - { - this.leafDistanceLimit = 5; - } - - this.scaleWidth = par3; - this.leafDensity = par5; - } - - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) - { - this.worldObj = par1World; - long l = par2Random.nextLong(); - this.rand.setSeed(l); - this.basePos[0] = par3; - this.basePos[1] = par4; - this.basePos[2] = par5; - - if (this.heightLimit == 0) - { - this.heightLimit = 5 + this.rand.nextInt(this.heightLimitLimit); - } - - if (!this.validTreeLocation()) - { + } + + return i == j?-1:Math.abs(i); + } + } + + boolean validTreeLocation() { + int[] aint = new int[]{this.basePos[0], this.basePos[1], this.basePos[2]}; + int[] aint1 = new int[]{this.basePos[0], this.basePos[1] + this.heightLimit - 1, this.basePos[2]}; + int i = this.worldObj.getBlockId(this.basePos[0], this.basePos[1] - 1, this.basePos[2]); + Block var10000 = Block.blocksList[i]; + boolean isValidSoil = i == AtumBlocks.sand.blockID; + if(!isValidSoil) { + return false; + } else { + int j = this.checkBlockLine(aint, aint1); + if(j == -1) { + return true; + } else if(j < 6) { return false; - } - else - { - this.generateLeafNodeList(); - this.generateLeaves(); - this.generateTrunk(); - this.generateLeafNodeBases(); + } else { + this.heightLimit = j; return true; - } - } + } + } + } + + public void setScale(double par1, double par3, double par5) { + this.heightLimitLimit = (int)(par1 * 12.0D); + if(par1 > 0.5D) { + this.leafDistanceLimit = 5; + } + + this.scaleWidth = par3; + this.leafDensity = par5; + } + + public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) { + this.worldObj = par1World; + long l = par2Random.nextLong(); + this.rand.setSeed(l); + this.basePos[0] = par3; + this.basePos[1] = par4; + this.basePos[2] = par5; + if(this.heightLimit == 0) { + this.heightLimit = 5 + this.rand.nextInt(this.heightLimitLimit); + } + + if(!this.validTreeLocation()) { + return false; + } else { + this.generateLeafNodeList(); + this.generateLeaves(); + this.generateTrunk(); + this.generateLeafNodeBases(); + return true; + } + } + } diff --git a/common/rebelkeithy/mods/atum/world/decorators/WorldGenOasis.java b/common/rebelkeithy/mods/atum/world/decorators/WorldGenOasis.java index 2b06843..65a8c0e 100644 --- a/common/rebelkeithy/mods/atum/world/decorators/WorldGenOasis.java +++ b/common/rebelkeithy/mods/atum/world/decorators/WorldGenOasis.java @@ -1,7 +1,6 @@ package rebelkeithy.mods.atum.world.decorators; import java.util.Random; - import net.minecraft.block.Block; import net.minecraft.inventory.IInventory; import net.minecraft.tileentity.TileEntity; @@ -11,208 +10,168 @@ import net.minecraftforge.common.IPlantable; import rebelkeithy.mods.atum.AtumBlocks; import rebelkeithy.mods.atum.AtumLoot; +import rebelkeithy.mods.atum.world.decorators.WorldGenPalm; + +public class WorldGenOasis extends WorldGenerator { + + private final int minTreeHeight; + private final int metaWood; + private final int metaLeaves; + + + public WorldGenOasis(boolean par1) { + this(par1, 4, 0, 0); + } + + public WorldGenOasis(boolean par1, int par2, int par3, int par4) { + super(par1); + this.minTreeHeight = par2; + this.metaWood = par3; + this.metaLeaves = par4; + } + + public boolean generate(World world, Random par2Random, int par3, int par4, int par5) { + int width = par2Random.nextInt(6) + 6; + int depth = par2Random.nextInt(5) + 5; + int id = world.getBlockId(par3, par4 - 1, par5); + if(id != AtumBlocks.sand.blockID) { + return false; + } else { + id = world.getBlockId(par3 + width, world.getHeightValue(par3 + width, par5) - 1, par5); + if(id != AtumBlocks.sand.blockID) { + return false; + } else { + id = world.getBlockId(par3, world.getHeightValue(par3, par5 + depth) - 1, par5 + depth); + if(id != AtumBlocks.sand.blockID) { + return false; + } else { + id = world.getBlockId(par3 + width, world.getHeightValue(par3 + width, par5 + depth) - 1, par5 + depth); + if(id != AtumBlocks.sand.blockID) { + return false; + } else { + int minHeight = world.getHeightValue(par3, par5); + int maxHeight = world.getHeightValue(par3, par5); + int height = world.getHeightValue(par3 + width, par5); + if(height < minHeight) { + minHeight = height; + } else if(height > maxHeight) { + maxHeight = height; + } + + height = world.getHeightValue(par3, par5 + depth); + if(height < minHeight) { + minHeight = height; + } else if(height > maxHeight) { + maxHeight = height; + } + + height = world.getHeightValue(par3 + width, par5 + depth); + if(height < minHeight) { + minHeight = height; + } else if(height > maxHeight) { + maxHeight = height; + } + + int papyrus; + int i; + int z; + int dx; + int y; + if(maxHeight - minHeight < 6) { + float treeCount = (float)width / 2.0F; + float chest = (float)depth / 2.0F; + + for(papyrus = (int)(0.0F - treeCount - 6.0F); (float)papyrus <= treeCount + 6.0F; ++papyrus) { + for(i = (int)(0.0F - chest - 6.0F); (float)i <= chest + 6.0F; ++i) { + float x = (float)(papyrus * papyrus) / (treeCount * treeCount) + (float)(i * i) / (chest * chest); + if(x <= 1.0F) { + z = world.getHeightValue(papyrus + par3, i + par5); + if(world.getBlockId(papyrus + par3, z - 1, i + par5) == AtumBlocks.sand.blockID) { + world.setBlock(papyrus + par3, z - 1, i + par5, Block.waterStill.blockID); + if((double)x < 0.6D) { + z = world.getHeightValue(papyrus + par3, i + par5); + world.setBlock(papyrus + par3, z - 2, i + par5, Block.waterStill.blockID); + } + } + } else { + x = (float)(papyrus * papyrus) / ((treeCount + 4.0F) * (treeCount + 4.0F)) + (float)(i * i) / ((chest + 4.0F) * (chest + 4.0F)); + z = world.getHeightValue(papyrus + par3, i + par5); + if(world.getBlockId(papyrus + par3, z - 1, i + par5) == AtumBlocks.sand.blockID && x < 1.0F) { + world.setBlock(papyrus + par3, z - 1, i + par5, AtumBlocks.fertileSoil.blockID); + if((double)x < 0.3D && par2Random.nextInt(8) == 0) { + for(y = -1; y <= 1; ++y) { + for(dx = -1; dx <= 1; ++dx) { + if(AtumBlocks.papyrus.canBlockStay(world, par3 + papyrus + y, z, par5 + i + dx)) { + world.setBlock(papyrus + par3 + y, z, i + par5 + dx, AtumBlocks.papyrus.blockID); + } + } + } + } + } + } + } + } + } + + int var24 = 0; + + for(int var26 = 0; var26 < 6; ++var26) { + papyrus = par2Random.nextInt(width); + i = par2Random.nextInt(depth); + id = world.getBlockId(par3 + papyrus, world.getHeightValue(par3 + papyrus, par5 + i) - 1, par5 + i); + if(id == AtumBlocks.fertileSoil.blockID) { + (new WorldGenPalm(true, 5, 0, 0)).generate(world, par2Random, par3 + papyrus, world.getHeightValue(par3 + papyrus, par5 + i), par5 + i); + ++var24; + } + + if(var24 > 2) { + break; + } + } + + boolean var25 = false; + boolean var27 = false; + + for(i = 0; i < 10; ++i) { + int var28 = par2Random.nextInt(width); + z = par2Random.nextInt(depth); + y = world.getHeightValue(par3 + var28, par5 + z); + id = world.getBlockId(par3 + var28, y - 1, par5 + z); + if(!var25 && id == AtumBlocks.fertileSoil.blockID) { + world.setBlock(par3 + var28, y, par5 + z, Block.chest.blockID); + TileEntity var29 = world.getBlockTileEntity(par3 + var28, world.getHeightValue(par3 + var28, par5 + z), par5 + z); + AtumLoot.fillChest((IInventory)var29, 5, 0.2F); + var25 = true; + } else { + int dz; + if(!var27 && Block.blocksList[id].canSustainPlant(world, par3 + var28, y, par5 + z, ForgeDirection.UP, (IPlantable)((IPlantable)AtumBlocks.papyrus))) { + for(dx = -1; dx <= 1; ++dx) { + for(dz = -1; dz <= 1; ++dz) { + if(Block.blocksList[id].canSustainPlant(world, par3 + var28 + dx, y, par5 + z + dz, ForgeDirection.UP, (IPlantable)((IPlantable)AtumBlocks.papyrus))) { + world.setBlock(par3 + var28, y, par5 + z, AtumBlocks.papyrus.blockID); + var27 = true; + } + } + } + } else if(par2Random.nextInt(5) == 0) { + for(dx = -1; dx <= 1; ++dx) { + for(dz = -1; dz <= 1; ++dz) { + int currentY = world.getHeightValue(par3 + var28, par5 + z); + int belowID = world.getBlockId(par3 + var28 + dx, currentY - 1, par5 + z + dz); + int currentID = world.getBlockId(par3 + var28 + dx, currentY, par5 + z + dz); + if(par2Random.nextInt(3) == 0 && belowID == AtumBlocks.fertileSoil.blockID && currentID == 0) { + world.setBlock(par3 + var28 + dx, currentY, par5 + z + dz, AtumBlocks.flax.blockID, 13, 0); + } + } + } + } + } + } -public class WorldGenOasis extends WorldGenerator -{ - /** The minimum height of a generated tree. */ - private final int minTreeHeight; - - /** The metadata value of the wood to use in tree generation. */ - private final int metaWood; - - /** The metadata value of the leaves to use in tree generation. */ - private final int metaLeaves; - - public WorldGenOasis(boolean par1) - { - this(par1, 4, 0, 0); - } - - public WorldGenOasis(boolean par1, int par2, int par3, int par4) - { - super(par1); - this.minTreeHeight = par2; - this.metaWood = par3; - this.metaLeaves = par4; - } - - public boolean generate(World world, Random par2Random, int par3, int par4, int par5) - { - int width = par2Random.nextInt(6) + 6; - int depth = par2Random.nextInt(5) + 5; - - int id = world.getBlockId(par3, par4-1, par5); - if(id != AtumBlocks.sand.blockID) - return false; - id = world.getBlockId(par3+width, world.getHeightValue(par3+width, par5)-1, par5); - if(id != AtumBlocks.sand.blockID) - return false; - id = world.getBlockId(par3, world.getHeightValue(par3, par5+depth)-1, par5+depth); - if(id != AtumBlocks.sand.blockID) - return false; - id = world.getBlockId(par3+width, world.getHeightValue(par3+width, par5+depth)-1, par5+depth); - if(id != AtumBlocks.sand.blockID) - return false; - - int minHeight = world.getHeightValue(par3, par5); - int maxHeight = world.getHeightValue(par3, par5); - int height; - - height = world.getHeightValue(par3 + width, par5); - if(height < minHeight) - minHeight = height; - else if(height > maxHeight) - maxHeight = height; - - height = world.getHeightValue(par3, par5 + depth); - if(height < minHeight) - minHeight = height; - else if(height > maxHeight) - maxHeight = height; - - height = world.getHeightValue(par3 + width, par5 + depth); - if(height < minHeight) - minHeight = height; - else if(height > maxHeight) - maxHeight = height; - if((maxHeight - minHeight) < 6) - { - //System.out.println("Starting Oasis Generation"); - //System.out.println("oasis" + par3 + " " + par5 + " size " + width + " " + depth); - float radius = width / 2.0F; - float radius2 = depth / 2.0F; - for(int x = (int) (0 - radius - 6); x <= radius + 6; x++) - { - for(int z = (int) (0 - radius2 - 6); z <= radius2 + 6; z++) - { - float check = (x*x)/(radius*radius) + (z*z)/(radius2*radius2); - //System.out.println(check); - if( check <= 1) - { - int y = world.getHeightValue(x+par3, z+par5); - - if(world.getBlockId(x+par3, y-1, z+par5) != AtumBlocks.sand.blockID) - continue; - - world.setBlock(x+par3, y-1, z+par5, Block.waterStill.blockID); - - /* - if(world.getBlockId(x+par3 + 1, y-1, z+par5) == 0) - world.setBlock(x+par3 + 1, y-1, z+par5, Block.grass.blockID); - if(world.getBlockId(x+par3 - 1, y-1, z+par5) == 0) - world.setBlock(x+par3 - 1, y-1, z+par5, Block.grass.blockID); - if(world.getBlockId(x+par3, y-1, z+par5 + 1) == 0) - world.setBlock(x+par3, y-1, z+par5 + 1, Block.grass.blockID); - if(world.getBlockId(x+par3, y-1, z+par5 - 1) == 0) - world.setBlock(x+par3, y-1, z+par5 - 1, Block.grass.blockID); - */ - - if(check < 0.6) - { - y = world.getHeightValue(x+par3, z+par5); - world.setBlock(x+par3, y-2, z+par5, Block.waterStill.blockID); - } - } else { - check = (x*x)/((radius+4)*(radius+4)) + (z*z)/((radius2+4)*(radius2+4)); - int y = world.getHeightValue(x+par3, z+par5); - - if(world.getBlockId(x+par3, y-1, z+par5) != AtumBlocks.sand.blockID) - continue; - - if(check < 1) - { - world.setBlock(x+par3, y-1, z+par5, AtumBlocks.fertileSoil.blockID); - if(check < 0.3) - { - if(par2Random.nextInt(8) == 0) - { - for(int dx = -1; dx <= 1; dx++) - { - for(int dz = -1; dz <= 1; dz++) - { - if(AtumBlocks.papyrus.canBlockStay(world, par3+x+dx, y, par5+z+dz)) - { - world.setBlock(x+par3+dx, y, z+par5+dz, AtumBlocks.papyrus.blockID); - } - } - } - } - } - } - } - } - } - } - - int treeCount = 0; - for(int i = 0; i < 6; i++) - { - int x = par2Random.nextInt(width); - int z = par2Random.nextInt(depth); - - id = world.getBlockId(par3+x, world.getHeightValue(par3+x, par5+z)-1, par5+z); - if(id == AtumBlocks.fertileSoil.blockID) - { - (new WorldGenPalm(true, 5, 0, 0)).generate(world, par2Random, par3+x, world.getHeightValue(par3+x, par5+z), par5+z); - treeCount++; - } - if(treeCount > 2) - break; - } - - boolean chest = false; - boolean papyrus = false; - for(int i = 0; i < 10; i++) - { - int x = par2Random.nextInt(width); - int z = par2Random.nextInt(depth); - int y = world.getHeightValue(par3+x, par5+z); - - id = world.getBlockId(par3+x, y-1, par5+z); - if(!chest && id == AtumBlocks.fertileSoil.blockID) - { - world.setBlock(par3+x, y, par5+z, Block.chest.blockID); - TileEntity te = world.getBlockTileEntity(par3+x, world.getHeightValue(par3+x, par5+z), par5+z); - AtumLoot.fillChest((IInventory) te, 5, 0.2f); - chest = true; - continue; - } - - if(!papyrus && Block.blocksList[id].canSustainPlant(world, par3+x, y, par5+z, ForgeDirection.UP, (IPlantable)(AtumBlocks.papyrus))) - { - for(int dx = -1; dx <= 1; dx++) - { - for(int dz = -1; dz <= 1; dz++) - { - if(Block.blocksList[id].canSustainPlant(world, par3+x+dx, y, par5+z+dz, ForgeDirection.UP, (IPlantable)(AtumBlocks.papyrus))) - { - world.setBlock(par3+x, y, par5+z, AtumBlocks.papyrus.blockID); - papyrus = true; - } - } - } - continue; - } - - if(par2Random.nextInt(5) == 0) - { - for(int dx = -1; dx <= 1; dx++) - { - for(int dz = -1; dz <= 1; dz++) - { - int currentY = world.getHeightValue(par3+x, par5+z); - int belowID = world.getBlockId(par3+x+dx, currentY - 1, par5+z+dz); - int currentID = world.getBlockId(par3+x+dx, currentY, par5+z+dz); - if(par2Random.nextInt(3) == 0 && belowID == AtumBlocks.fertileSoil.blockID && currentID == 0) - { - world.setBlock(par3+x+dx, currentY, par5+z+dz, AtumBlocks.flax.blockID, 13, 0); - } - } - } - } - } - - return false; - - } + return false; + } + } + } + } + } } diff --git a/common/rebelkeithy/mods/atum/world/decorators/WorldGenPalace.java b/common/rebelkeithy/mods/atum/world/decorators/WorldGenPalace.java index f7dbc7c..e07a705 100644 --- a/common/rebelkeithy/mods/atum/world/decorators/WorldGenPalace.java +++ b/common/rebelkeithy/mods/atum/world/decorators/WorldGenPalace.java @@ -1,7 +1,6 @@ package rebelkeithy.mods.atum.world.decorators; import java.util.Random; - import net.minecraft.block.Block; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; @@ -9,6209 +8,6206 @@ public class WorldGenPalace extends WorldGenerator { - public int largeLimestoneBricks = AtumBlocks.largeBrick.blockID; - public int smallLimestoneBricks = AtumBlocks.smallBrick.blockID; - public int carvedLimestone = AtumBlocks.carvedBrick.blockID; - public int largeLimestoneBricksStairs = AtumBlocks.largeStoneStairs.blockID; - - public WorldGenPalace() { - } - - @Override - public boolean generate(World world, Random random, int i, int j, int k) { - - world.setBlock(i + 0, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 9, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 10, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 11, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 12, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 13, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 14, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 15, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 16, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 17, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 18, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 19, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 20, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 21, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 22, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 23, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 24, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 25, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 26, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 27, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 28, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 29, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 30, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 31, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 32, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 33, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 34, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 35, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 36, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 37, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 38, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 39, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 40, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 41, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 42, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 43, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 44, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 45, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 46, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 47, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 48, largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 1, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 1, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 9, largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 12, largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 18, largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 21, largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 24, largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 27, largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 33, largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 36, largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 45, largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 48, largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 9, largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 12, largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 18, largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 21, largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 24, largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 27, largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 30, largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 33, largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 36, largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 39, largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 45, largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 48, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 2, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 2, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 3, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 3, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 4, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 4, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 4, j + 2, k + 9, largeLimestoneBricks); - world.setBlock(i + 4, j + 2, k + 48, largeLimestoneBricks); - world.setBlock(i + 4, j + 5, k + 9, largeLimestoneBricks); - world.setBlock(i + 4, j + 5, k + 48, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 5, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 5, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 6, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 6, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 18, largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 21, largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 24, largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 27, largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 33, largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 36, largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 18, largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 21, largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 24, largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 27, largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 30, largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 33, largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 36, largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 39, largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 18, largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 21, largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 24, largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 27, largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 30, largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 33, largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 36, largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 39, largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 18, largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 21, largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 24, largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 27, largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 30, largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 33, largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 36, largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 39, largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 7, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 7, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 9, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 14, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 16, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 17, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 18, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 19, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 20, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 21, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 22, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 23, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 24, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 25, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 26, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 27, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 28, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 29, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 31, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 32, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 33, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 34, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 35, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 36, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 37, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 38, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 40, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 41, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 43, largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 48, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 16, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 17, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 18, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 19, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 20, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 21, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 22, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 23, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 24, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 25, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 26, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 27, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 28, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 29, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 30, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 31, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 32, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 33, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 34, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 35, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 36, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 37, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 38, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 39, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 40, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 41, largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 16, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 17, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 18, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 19, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 20, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 21, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 22, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 23, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 24, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 25, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 26, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 27, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 28, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 29, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 30, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 31, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 32, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 33, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 34, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 35, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 36, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 37, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 38, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 39, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 40, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 41, largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 9, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 16, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 17, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 18, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 19, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 20, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 21, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 22, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 23, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 24, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 25, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 26, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 27, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 28, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 29, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 30, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 31, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 32, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 33, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 34, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 35, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 36, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 37, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 38, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 39, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 40, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 41, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 43, largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 48, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 14, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 17, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 18, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 19, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 20, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 21, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 22, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 23, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 24, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 25, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 26, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 27, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 28, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 29, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 30, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 31, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 32, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 33, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 34, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 35, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 36, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 37, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 38, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 39, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 40, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 41, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 43, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 16, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 17, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 18, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 19, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 20, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 21, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 22, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 23, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 24, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 25, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 26, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 27, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 28, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 29, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 30, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 31, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 32, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 33, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 34, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 35, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 36, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 37, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 38, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 39, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 40, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 41, largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 16, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 17, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 18, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 19, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 20, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 21, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 22, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 23, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 24, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 25, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 26, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 27, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 28, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 29, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 30, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 31, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 32, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 33, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 34, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 35, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 36, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 37, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 38, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 39, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 40, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 41, largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 14, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 17, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 18, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 19, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 20, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 21, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 22, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 23, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 24, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 25, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 26, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 27, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 28, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 29, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 30, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 31, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 32, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 33, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 34, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 35, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 36, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 37, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 38, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 39, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 40, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 41, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 43, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 8, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 8, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 8, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 8, j + 2, k + 37, largeLimestoneBricks); - world.setBlock(i + 8, j + 2, k + 38, largeLimestoneBricks); - world.setBlock(i + 8, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 8, j + 2, k + 40, largeLimestoneBricks); - world.setBlock(i + 8, j + 2, k + 41, largeLimestoneBricks); - world.setBlock(i + 8, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 8, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 8, j + 3, k + 38, largeLimestoneBricks); - world.setBlock(i + 8, j + 3, k + 39, largeLimestoneBricks); - world.setBlock(i + 8, j + 3, k + 40, largeLimestoneBricks); - world.setBlock(i + 8, j + 3, k + 41, largeLimestoneBricks); - world.setBlock(i + 8, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 8, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 8, j + 4, k + 39, largeLimestoneBricks); - world.setBlock(i + 8, j + 4, k + 40, largeLimestoneBricks); - world.setBlock(i + 8, j + 4, k + 41, largeLimestoneBricks); - world.setBlock(i + 8, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 8, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 8, j + 5, k + 40, largeLimestoneBricks); - world.setBlock(i + 8, j + 5, k + 41, largeLimestoneBricks); - world.setBlock(i + 8, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 16, Block.netherrack.blockID); - world.setBlock(i + 8, j + 7, k + 17, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 19, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 20, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 21, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 23, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 24, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 25, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 27, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 28, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 29, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 31, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 32, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 33, largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 8, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 8, j + 8, k + 16, Block.fire.blockID); - world.setBlock(i + 8, j + 8, k + 19, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 20, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 21, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 27, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 28, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 29, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 8, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 8, j + 9, k + 19, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 20, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 21, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 27, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 28, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 29, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 17, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 19, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 20, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 21, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 23, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 24, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 25, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 27, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 28, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 29, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 31, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 32, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 33, largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 9, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 9, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 9, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 9, j + 2, k + 37, largeLimestoneBricks); - world.setBlock(i + 9, j + 2, k + 38, largeLimestoneBricks); - world.setBlock(i + 9, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 9, j + 2, k + 40, largeLimestoneBricks); - world.setBlock(i + 9, j + 2, k + 41, largeLimestoneBricks); - world.setBlock(i + 9, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 9, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 9, j + 3, k + 38, largeLimestoneBricks); - world.setBlock(i + 9, j + 3, k + 39, largeLimestoneBricks); - world.setBlock(i + 9, j + 3, k + 40, largeLimestoneBricks); - world.setBlock(i + 9, j + 3, k + 41, largeLimestoneBricks); - world.setBlock(i + 9, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 9, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 9, j + 4, k + 39, largeLimestoneBricks); - world.setBlock(i + 9, j + 4, k + 40, largeLimestoneBricks); - world.setBlock(i + 9, j + 4, k + 41, largeLimestoneBricks); - world.setBlock(i + 9, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 9, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 9, j + 5, k + 40, largeLimestoneBricks); - world.setBlock(i + 9, j + 5, k + 41, largeLimestoneBricks); - world.setBlock(i + 9, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 9, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 9, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 9, j + 7, k + 17, largeLimestoneBricks); - world.setBlock(i + 9, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 9, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 9, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 9, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 9, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 9, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 9, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 9, j + 10, k + 17, largeLimestoneBricks); - world.setBlock(i + 9, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 10, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 10, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 9, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 14, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 22, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 23, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 24, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 25, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 26, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 31, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 32, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 33, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 34, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 43, largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 48, largeLimestoneBricks); - world.setBlock(i + 10, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 10, j + 3, k + 22, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 26, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 30, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 34, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 10, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 10, j + 4, k + 22, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 26, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 30, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 34, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 9, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 22, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 23, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 24, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 25, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 26, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 30, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 31, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 32, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 33, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 34, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 43, largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 48, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 34, largeLimestoneBricks); - - generate2(world, random, i, j, k); - return true; - } - - public boolean generate2(World world, Random rand, int i, int j, int k) { - world.setBlock(i + 10, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 10, j + 7, k + 14, largeLimestoneBricks); - world.setBlock(i + 10, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 10, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 10, j + 7, k + 43, largeLimestoneBricks); - world.setBlock(i + 10, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 10, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 10, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 10, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 10, j + 10, k + 14, largeLimestoneBricks); - world.setBlock(i + 10, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 10, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 10, j + 10, k + 43, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 11, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 11, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 11, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 11, j + 2, k + 19, largeLimestoneBricks); - world.setBlock(i + 11, j + 2, k + 38, largeLimestoneBricks); - world.setBlock(i + 11, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 11, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 11, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 11, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 11, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 11, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 11, j + 5, k + 19, largeLimestoneBricks); - world.setBlock(i + 11, j + 5, k + 38, largeLimestoneBricks); - world.setBlock(i + 11, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 11, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 11, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 11, j + 7, k + 19, largeLimestoneBricks); - world.setBlock(i + 11, j + 7, k + 38, largeLimestoneBricks); - world.setBlock(i + 11, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 11, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 11, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 11, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 11, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 11, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 11, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 11, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 11, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 11, j + 10, k + 19, largeLimestoneBricks); - world.setBlock(i + 11, j + 10, k + 38, largeLimestoneBricks); - world.setBlock(i + 11, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 12, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 12, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 12, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 12, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 12, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 12, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 12, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 12, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 12, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 12, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 12, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 12, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 12, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 12, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 12, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 12, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 12, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 12, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 12, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 12, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 12, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 12, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 0, largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 1, largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 2, largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 3, largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 4, largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 5, largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 6, largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 7, largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 1, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 2, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 3, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 4, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 5, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 6, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 7, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 13, j + 2, k + 9, largeLimestoneBricks); - world.setBlock(i + 13, j + 2, k + 14, largeLimestoneBricks); - world.setBlock(i + 13, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 13, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 13, j + 2, k + 43, largeLimestoneBricks); - world.setBlock(i + 13, j + 2, k + 48, largeLimestoneBricks); - world.setBlock(i + 13, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 13, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 13, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 13, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 13, j + 5, k + 9, largeLimestoneBricks); - world.setBlock(i + 13, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 13, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 13, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 13, j + 5, k + 43, largeLimestoneBricks); - world.setBlock(i + 13, j + 5, k + 48, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 13, j + 7, k + 14, largeLimestoneBricks); - world.setBlock(i + 13, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 13, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 13, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 13, j + 7, k + 43, largeLimestoneBricks); - world.setBlock(i + 13, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 13, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 13, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 13, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 13, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 13, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 13, j + 10, k + 14, largeLimestoneBricks); - world.setBlock(i + 13, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 13, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 13, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 13, j + 10, k + 43, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 0, largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 1, largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 2, largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 3, largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 4, largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 5, largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 6, largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 7, largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 1, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 2, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 3, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 4, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 5, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 6, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 7, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 14, j + 2, k + 4, Block.netherrack.blockID); - world.setBlock(i + 14, j + 2, k + 14, largeLimestoneBricks); - world.setBlock(i + 14, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 14, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 14, j + 3, k + 4, Block.fire.blockID); - world.setBlock(i + 14, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 14, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 14, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 14, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 14, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 14, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 14, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 14, j + 7, k + 41, largeLimestoneBricks); - world.setBlock(i + 14, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 14, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 14, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 14, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 14, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 14, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 14, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 14, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 14, j + 10, k + 41, largeLimestoneBricks); - world.setBlock(i + 14, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 0, largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 1, largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 2, largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 3, largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 4, largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 5, largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 6, largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 7, largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 1, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 2, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 3, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 4, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 5, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 6, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 7, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 15, j + 2, k + 14, largeLimestoneBricks); - world.setBlock(i + 15, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 15, j + 2, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 2, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 2, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 2, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 15, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 15, j + 3, k + 14, largeLimestoneBricks); - world.setBlock(i + 15, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 15, j + 3, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 15, j + 4, k + 14, largeLimestoneBricks); - world.setBlock(i + 15, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 15, j + 4, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 15, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 15, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 15, j + 5, k + 39, largeLimestoneBricks); - world.setBlock(i + 15, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 15, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 15, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 15, j + 7, k + 41, largeLimestoneBricks); - world.setBlock(i + 15, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 15, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 15, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 15, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 15, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 15, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 15, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 15, j + 10, k + 41, largeLimestoneBricks); - world.setBlock(i + 15, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 16, j + 0, k + 6, largeLimestoneBricks); - world.setBlock(i + 16, j + 0, k + 7, largeLimestoneBricks); - world.setBlock(i + 16, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 16, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 7, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 9, largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 13, largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 14, largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 2, k + 25, largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 26, largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 31, largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 43, largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 48, largeLimestoneBricks); - world.setBlock(i + 16, j + 3, k + 14, largeLimestoneBricks); - world.setBlock(i + 16, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 16, j + 3, k + 25, largeLimestoneBricks); - world.setBlock(i + 16, j + 3, k + 31, largeLimestoneBricks); - world.setBlock(i + 16, j + 3, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 16, j + 4, k + 14, largeLimestoneBricks); - world.setBlock(i + 16, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 16, j + 4, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 9, largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 13, largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 39, largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 43, largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 48, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 16, j + 7, k + 14, largeLimestoneBricks); - world.setBlock(i + 16, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 16, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 16, j + 7, k + 41, largeLimestoneBricks); - world.setBlock(i + 16, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 16, j + 7, k + 43, largeLimestoneBricks); - world.setBlock(i + 16, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 16, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 16, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 16, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 16, j + 10, k + 14, largeLimestoneBricks); - world.setBlock(i + 16, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 16, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 16, j + 10, k + 41, largeLimestoneBricks); - world.setBlock(i + 16, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 16, j + 10, k + 43, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 17, j + 0, k + 7, largeLimestoneBricks); - world.setBlock(i + 17, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 17, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 12, largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 13, largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 14, largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 16, largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 25, largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 26, largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 27, largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 28, largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 29, largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 31, largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 17, j + 3, k + 13, largeLimestoneBricks); - world.setBlock(i + 17, j + 3, k + 14, largeLimestoneBricks); - world.setBlock(i + 17, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 17, j + 3, k + 16, largeLimestoneBricks); - world.setBlock(i + 17, j + 3, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 17, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 17, j + 4, k + 13, largeLimestoneBricks); - world.setBlock(i + 17, j + 4, k + 14, largeLimestoneBricks); - world.setBlock(i + 17, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 17, j + 4, k + 16, largeLimestoneBricks); - world.setBlock(i + 17, j + 4, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 17, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 17, j + 5, k + 12, largeLimestoneBricks); - world.setBlock(i + 17, j + 5, k + 13, largeLimestoneBricks); - world.setBlock(i + 17, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 17, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 17, j + 5, k + 39, largeLimestoneBricks); - world.setBlock(i + 17, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 17, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 17, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 17, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 17, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 17, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 17, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 17, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 17, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 17, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 17, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 17, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 17, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 18, j + 0, k + 7, largeLimestoneBricks); - world.setBlock(i + 18, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 18, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 18, j + 2, k + 26, largeLimestoneBricks); - world.setBlock(i + 18, j + 2, k + 27, largeLimestoneBricks); - world.setBlock(i + 18, j + 2, k + 28, largeLimestoneBricks); - world.setBlock(i + 18, j + 2, k + 29, largeLimestoneBricks); - world.setBlock(i + 18, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 18, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 18, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 18, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 18, j + 5, k + 13, largeLimestoneBricks); - world.setBlock(i + 18, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 18, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 18, j + 5, k + 16, largeLimestoneBricks); - world.setBlock(i + 18, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 18, j + 7, k + 13, largeLimestoneBricks); - world.setBlock(i + 18, j + 7, k + 14, largeLimestoneBricks); - world.setBlock(i + 18, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 18, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 18, j + 7, k + 41, largeLimestoneBricks); - world.setBlock(i + 18, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 18, j + 8, k + 14, largeLimestoneBricks); - world.setBlock(i + 18, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 18, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 18, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 18, j + 9, k + 13, largeLimestoneBricks); - world.setBlock(i + 18, j + 9, k + 14, largeLimestoneBricks); - world.setBlock(i + 18, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 18, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 18, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 18, j + 10, k + 14, largeLimestoneBricks); - world.setBlock(i + 18, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 18, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 18, j + 10, k + 41, largeLimestoneBricks); - world.setBlock(i + 18, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 19, j + 0, k + 7, largeLimestoneBricks); - world.setBlock(i + 19, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 19, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 26, largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 27, largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 28, largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 29, largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 43, largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 48, largeLimestoneBricks); - world.setBlock(i + 19, j + 3, k + 14, carvedLimestone); - world.setBlock(i + 19, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 19, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 19, j + 5, k + 13, largeLimestoneBricks); - world.setBlock(i + 19, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 19, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 19, j + 5, k + 16, largeLimestoneBricks); - world.setBlock(i + 19, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 19, j + 5, k + 43, largeLimestoneBricks); - world.setBlock(i + 19, j + 5, k + 48, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 19, j + 7, k + 41, largeLimestoneBricks); - world.setBlock(i + 19, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 19, j + 7, k + 43, largeLimestoneBricks); - world.setBlock(i + 19, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 19, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 19, j + 9, k + 13, carvedLimestone); - world.setBlock(i + 19, j + 9, k + 14, largeLimestoneBricks); - world.setBlock(i + 19, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 19, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 19, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 19, j + 10, k + 13, largeLimestoneBricks); - world.setBlock(i + 19, j + 10, k + 14, largeLimestoneBricks); - world.setBlock(i + 19, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 19, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 19, j + 10, k + 41, largeLimestoneBricks); - world.setBlock(i + 19, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 19, j + 10, k + 43, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 20, j + 0, k + 7, largeLimestoneBricks); - world.setBlock(i + 20, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 20, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 20, j + 2, k + 26, largeLimestoneBricks); - world.setBlock(i + 20, j + 2, k + 27, largeLimestoneBricks); - world.setBlock(i + 20, j + 2, k + 28, largeLimestoneBricks); - world.setBlock(i + 20, j + 2, k + 29, largeLimestoneBricks); - world.setBlock(i + 20, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 20, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 20, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 20, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 20, j + 5, k + 13, largeLimestoneBricks); - world.setBlock(i + 20, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 20, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 20, j + 5, k + 16, largeLimestoneBricks); - world.setBlock(i + 20, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 20, j + 7, k + 13, largeLimestoneBricks); - world.setBlock(i + 20, j + 7, k + 14, largeLimestoneBricks); - world.setBlock(i + 20, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 20, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 20, j + 7, k + 41, largeLimestoneBricks); - world.setBlock(i + 20, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 20, j + 8, k + 14, largeLimestoneBricks); - world.setBlock(i + 20, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 20, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 20, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 20, j + 9, k + 13, largeLimestoneBricks); - world.setBlock(i + 20, j + 9, k + 14, largeLimestoneBricks); - world.setBlock(i + 20, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 20, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 20, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 20, j + 10, k + 14, largeLimestoneBricks); - world.setBlock(i + 20, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 20, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 20, j + 10, k + 41, largeLimestoneBricks); - world.setBlock(i + 20, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 21, j + 0, k + 7, largeLimestoneBricks); - world.setBlock(i + 21, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 21, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 12, largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 13, largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 14, largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 16, largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 25, largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 26, largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 27, largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 28, largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 29, largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 31, largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 21, j + 3, k + 13, largeLimestoneBricks); - world.setBlock(i + 21, j + 3, k + 14, largeLimestoneBricks); - world.setBlock(i + 21, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 21, j + 3, k + 16, largeLimestoneBricks); - world.setBlock(i + 21, j + 3, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 21, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 21, j + 4, k + 13, largeLimestoneBricks); - world.setBlock(i + 21, j + 4, k + 14, largeLimestoneBricks); - world.setBlock(i + 21, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 21, j + 4, k + 16, largeLimestoneBricks); - world.setBlock(i + 21, j + 4, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 21, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 21, j + 5, k + 12, largeLimestoneBricks); - world.setBlock(i + 21, j + 5, k + 13, largeLimestoneBricks); - world.setBlock(i + 21, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 21, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 21, j + 5, k + 39, largeLimestoneBricks); - world.setBlock(i + 21, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 9, largeLimestoneBricks); - - generate3(world, rand, i, j, k); - return true; - } + public int largeLimestoneBricks; + public int smallLimestoneBricks; + public int carvedLimestone; + public int largeLimestoneBricksStairs; - public boolean generate3(World world, Random rand, int i, int j, int k) { - world.setBlock(i + 21, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 21, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 21, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 21, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 21, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 21, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 21, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 21, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 21, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 21, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 21, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 21, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 21, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 22, j + 0, k + 6, largeLimestoneBricks); - world.setBlock(i + 22, j + 0, k + 7, largeLimestoneBricks); - world.setBlock(i + 22, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 22, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 7, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 9, largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 13, largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 14, largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 2, k + 25, largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 26, largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 31, largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 43, largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 48, largeLimestoneBricks); - world.setBlock(i + 22, j + 3, k + 14, largeLimestoneBricks); - world.setBlock(i + 22, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 22, j + 3, k + 25, largeLimestoneBricks); - world.setBlock(i + 22, j + 3, k + 31, largeLimestoneBricks); - world.setBlock(i + 22, j + 3, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 22, j + 4, k + 14, largeLimestoneBricks); - world.setBlock(i + 22, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 22, j + 4, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 9, largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 13, largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 39, largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 43, largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 48, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 22, j + 7, k + 14, largeLimestoneBricks); - world.setBlock(i + 22, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 22, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 22, j + 7, k + 41, largeLimestoneBricks); - world.setBlock(i + 22, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 22, j + 7, k + 43, largeLimestoneBricks); - world.setBlock(i + 22, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 22, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 22, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 22, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 22, j + 10, k + 14, largeLimestoneBricks); - world.setBlock(i + 22, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 22, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 22, j + 10, k + 41, largeLimestoneBricks); - world.setBlock(i + 22, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 22, j + 10, k + 43, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 0, largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 1, largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 2, largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 3, largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 4, largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 5, largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 6, largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 7, largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 1, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 2, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 3, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 4, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 5, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 6, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 7, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 23, j + 2, k + 14, largeLimestoneBricks); - world.setBlock(i + 23, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 23, j + 2, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 2, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 2, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 2, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 23, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 23, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 23, j + 3, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 23, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 23, j + 4, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 23, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 23, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 23, j + 5, k + 39, largeLimestoneBricks); - world.setBlock(i + 23, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 23, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 23, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 23, j + 7, k + 41, largeLimestoneBricks); - world.setBlock(i + 23, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 23, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 23, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 23, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 23, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 23, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 23, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 23, j + 10, k + 41, largeLimestoneBricks); - world.setBlock(i + 23, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 0, largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 1, largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 2, largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 3, largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 4, largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 5, largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 6, largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 7, largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 1, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 2, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 3, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 4, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 5, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 6, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 7, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 24, j + 2, k + 4, Block.netherrack.blockID); - world.setBlock(i + 24, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 24, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 24, j + 3, k + 4, Block.fire.blockID); - world.setBlock(i + 24, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 24, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 24, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 24, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 24, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 24, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 24, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 24, j + 7, k + 41, largeLimestoneBricks); - world.setBlock(i + 24, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 24, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 24, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 24, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 24, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 24, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 24, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 24, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 24, j + 10, k + 41, largeLimestoneBricks); - world.setBlock(i + 24, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 0, largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 1, largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 2, largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 3, largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 4, largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 5, largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 6, largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 7, largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 1, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 2, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 3, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 4, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 5, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 6, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 7, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 25, j + 2, k + 9, largeLimestoneBricks); - world.setBlock(i + 25, j + 2, k + 14, largeLimestoneBricks); - world.setBlock(i + 25, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 25, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 25, j + 2, k + 43, largeLimestoneBricks); - world.setBlock(i + 25, j + 2, k + 48, largeLimestoneBricks); - world.setBlock(i + 25, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 25, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 25, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 25, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 25, j + 5, k + 9, largeLimestoneBricks); - world.setBlock(i + 25, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 25, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 25, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 25, j + 5, k + 43, largeLimestoneBricks); - world.setBlock(i + 25, j + 5, k + 48, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 25, j + 7, k + 14, largeLimestoneBricks); - world.setBlock(i + 25, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 25, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 25, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 25, j + 7, k + 43, largeLimestoneBricks); - world.setBlock(i + 25, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 25, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 25, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 25, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 25, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 25, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 25, j + 10, k + 14, largeLimestoneBricks); - world.setBlock(i + 25, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 25, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 25, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 25, j + 10, k + 43, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 26, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 26, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 26, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 26, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 26, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 26, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 26, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 26, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 26, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 26, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 26, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 26, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 26, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 26, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 26, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 26, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 26, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 26, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 26, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 26, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 26, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 26, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 27, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 27, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 27, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 27, j + 2, k + 19, largeLimestoneBricks); - world.setBlock(i + 27, j + 2, k + 38, largeLimestoneBricks); - world.setBlock(i + 27, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 27, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 27, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 27, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 27, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 27, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 27, j + 5, k + 19, largeLimestoneBricks); - world.setBlock(i + 27, j + 5, k + 38, largeLimestoneBricks); - world.setBlock(i + 27, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 27, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 27, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 27, j + 7, k + 19, largeLimestoneBricks); - world.setBlock(i + 27, j + 7, k + 38, largeLimestoneBricks); - world.setBlock(i + 27, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 27, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 27, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 27, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 27, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 27, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 27, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 27, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 27, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 27, j + 10, k + 19, largeLimestoneBricks); - world.setBlock(i + 27, j + 10, k + 38, largeLimestoneBricks); - world.setBlock(i + 27, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 28, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 28, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 9, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 14, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 22, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 23, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 24, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 25, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 26, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 31, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 32, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 33, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 34, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 43, largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 48, largeLimestoneBricks); - world.setBlock(i + 28, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 28, j + 3, k + 22, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 26, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 30, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 34, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 28, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 28, j + 4, k + 22, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 26, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 30, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 34, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 9, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 22, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 23, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 24, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 25, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 26, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 30, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 31, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 32, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 33, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 34, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 43, largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 48, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 28, j + 7, k + 14, largeLimestoneBricks); - world.setBlock(i + 28, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 28, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 28, j + 7, k + 43, largeLimestoneBricks); - world.setBlock(i + 28, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 28, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 28, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 28, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 28, j + 10, k + 14, largeLimestoneBricks); - world.setBlock(i + 28, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 28, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 28, j + 10, k + 43, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 29, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 29, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 29, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 29, j + 2, k + 37, largeLimestoneBricks); - world.setBlock(i + 29, j + 2, k + 38, largeLimestoneBricks); - world.setBlock(i + 29, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 29, j + 2, k + 40, largeLimestoneBricks); - world.setBlock(i + 29, j + 2, k + 41, largeLimestoneBricks); - world.setBlock(i + 29, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 29, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 29, j + 3, k + 38, largeLimestoneBricks); - world.setBlock(i + 29, j + 3, k + 39, largeLimestoneBricks); - world.setBlock(i + 29, j + 3, k + 40, largeLimestoneBricks); - world.setBlock(i + 29, j + 3, k + 41, largeLimestoneBricks); - world.setBlock(i + 29, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 29, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 29, j + 4, k + 39, largeLimestoneBricks); - world.setBlock(i + 29, j + 4, k + 40, largeLimestoneBricks); - world.setBlock(i + 29, j + 4, k + 41, largeLimestoneBricks); - world.setBlock(i + 29, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 29, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 29, j + 5, k + 40, largeLimestoneBricks); - world.setBlock(i + 29, j + 5, k + 41, largeLimestoneBricks); - world.setBlock(i + 29, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 29, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 29, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 29, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 29, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 29, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 29, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 29, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 29, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 29, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 29, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 30, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 30, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 30, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 30, j + 2, k + 37, largeLimestoneBricks); - world.setBlock(i + 30, j + 2, k + 38, largeLimestoneBricks); - world.setBlock(i + 30, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 30, j + 2, k + 40, largeLimestoneBricks); - world.setBlock(i + 30, j + 2, k + 41, largeLimestoneBricks); - world.setBlock(i + 30, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 30, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 30, j + 3, k + 38, largeLimestoneBricks); - world.setBlock(i + 30, j + 3, k + 39, largeLimestoneBricks); - world.setBlock(i + 30, j + 3, k + 40, largeLimestoneBricks); - world.setBlock(i + 30, j + 3, k + 41, largeLimestoneBricks); - world.setBlock(i + 30, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 30, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 30, j + 4, k + 39, largeLimestoneBricks); - world.setBlock(i + 30, j + 4, k + 40, largeLimestoneBricks); - world.setBlock(i + 30, j + 4, k + 41, largeLimestoneBricks); - world.setBlock(i + 30, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 30, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 30, j + 5, k + 40, largeLimestoneBricks); - world.setBlock(i + 30, j + 5, k + 41, largeLimestoneBricks); - world.setBlock(i + 30, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 16, Block.netherrack.blockID); - world.setBlock(i + 30, j + 7, k + 17, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 19, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 20, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 21, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 23, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 24, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 25, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 27, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 28, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 29, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 31, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 32, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 33, largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 30, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 30, j + 8, k + 16, Block.fire.blockID); - world.setBlock(i + 30, j + 8, k + 19, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 20, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 21, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 27, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 28, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 29, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 30, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 30, j + 9, k + 19, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 20, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 21, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 27, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 28, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 29, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 17, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 19, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 20, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 21, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 23, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 24, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 25, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 27, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 28, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 29, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 31, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 32, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 33, largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 31, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 31, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 9, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 14, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 16, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 17, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 18, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 19, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 20, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 21, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 22, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 23, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 24, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 25, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 26, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 27, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 28, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 29, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 31, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 32, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 33, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 34, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 35, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 36, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 37, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 38, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 40, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 41, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 43, largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 48, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 15, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 16, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 17, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 18, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 19, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 20, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 21, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 22, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 23, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 24, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 25, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 26, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 27, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 28, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 29, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 30, largeLimestoneBricks); - generate4(world, rand, i, j, k); - return true; - } + public WorldGenPalace() { + this.largeLimestoneBricks = AtumBlocks.largeBrick.blockID; + this.smallLimestoneBricks = AtumBlocks.smallBrick.blockID; + this.carvedLimestone = AtumBlocks.carvedBrick.blockID; + this.largeLimestoneBricksStairs = AtumBlocks.largeStoneStairs.blockID; + } - public boolean generate4(World world, Random rand, int i, int j, int k) { - world.setBlock(i + 31, j + 3, k + 31, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 32, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 33, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 34, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 35, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 36, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 37, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 38, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 39, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 40, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 41, largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 42, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 15, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 16, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 17, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 18, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 19, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 20, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 21, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 22, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 23, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 24, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 25, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 26, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 27, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 28, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 29, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 30, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 31, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 32, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 33, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 34, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 35, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 36, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 37, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 38, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 39, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 40, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 41, largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 42, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 9, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 14, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 16, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 17, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 18, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 19, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 20, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 21, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 22, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 23, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 24, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 25, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 26, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 27, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 28, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 29, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 30, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 31, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 32, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 33, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 34, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 35, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 36, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 37, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 38, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 39, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 40, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 41, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 43, largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 48, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 14, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 16, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 17, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 18, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 19, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 20, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 21, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 22, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 23, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 24, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 25, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 26, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 27, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 28, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 29, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 30, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 31, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 32, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 33, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 34, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 35, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 36, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 37, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 38, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 39, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 40, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 41, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 43, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 15, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 16, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 17, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 18, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 19, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 20, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 21, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 22, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 23, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 24, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 25, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 26, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 27, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 28, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 29, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 30, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 31, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 32, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 33, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 34, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 35, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 36, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 37, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 38, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 39, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 40, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 41, largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 42, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 15, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 16, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 17, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 18, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 19, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 20, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 21, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 22, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 23, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 24, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 25, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 26, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 27, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 28, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 29, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 30, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 31, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 32, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 33, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 34, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 35, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 36, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 37, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 38, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 39, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 40, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 41, largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 42, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 14, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 16, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 17, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 18, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 19, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 20, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 21, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 22, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 23, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 24, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 25, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 26, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 27, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 28, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 29, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 30, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 31, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 32, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 33, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 34, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 35, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 36, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 37, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 38, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 39, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 40, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 41, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 43, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 32, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 32, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 18, largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 21, largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 24, largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 27, largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 33, largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 36, largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 18, largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 21, largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 24, largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 27, largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 30, largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 33, largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 36, largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 39, largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 15, largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 18, largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 21, largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 24, largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 27, largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 30, largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 33, largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 36, largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 39, largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 42, largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 15, largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 18, largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 21, largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 24, largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 27, largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 30, largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 33, largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 36, largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 39, largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 42, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 14, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 15, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 16, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 17, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 18, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 19, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 20, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 21, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 22, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 23, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 24, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 25, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 26, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 27, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 28, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 29, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 30, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 31, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 32, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 33, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 34, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 35, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 36, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 37, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 38, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 39, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 40, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 41, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 42, largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 43, largeLimestoneBricks); - world.setBlock(i + 33, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 33, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 34, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 34, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 34, j + 2, k + 9, largeLimestoneBricks); - world.setBlock(i + 34, j + 2, k + 48, largeLimestoneBricks); - world.setBlock(i + 34, j + 5, k + 9, largeLimestoneBricks); - world.setBlock(i + 34, j + 5, k + 48, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 35, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 35, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 36, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 36, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 37, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 37, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 9, largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 12, largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 15, largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 18, largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 21, largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 24, largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 27, largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 30, largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 33, largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 36, largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 39, largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 42, largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 45, largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 48, largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 9, largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 12, largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 15, largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 18, largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 21, largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 24, largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 27, largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 30, largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 33, largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 36, largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 39, largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 42, largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 45, largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 48, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 9, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 10, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 11, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 12, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 13, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 14, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 15, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 16, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 17, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 18, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 19, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 20, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 21, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 22, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 23, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 24, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 25, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 26, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 27, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 28, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 29, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 30, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 31, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 32, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 33, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 34, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 35, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 36, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 37, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 38, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 39, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 40, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 41, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 42, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 43, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 44, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 45, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 46, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 47, largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 48, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 8, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 9, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 10, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 11, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 12, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 13, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 14, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 15, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 16, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 17, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 18, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 19, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 20, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 21, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 22, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 23, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 24, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 25, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 26, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 27, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 28, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 29, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 30, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 31, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 32, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 33, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 34, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 35, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 36, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 37, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 38, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 39, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 40, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 41, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 42, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 43, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 44, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 45, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 46, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 47, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 48, largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 49, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 8, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 9, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 10, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 11, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 12, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 13, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 14, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 15, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 16, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 17, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 18, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 19, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 20, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 21, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 22, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 23, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 24, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 25, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 26, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 27, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 28, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 29, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 30, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 31, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 32, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 33, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 34, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 35, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 36, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 37, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 38, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 39, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 40, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 41, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 42, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 43, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 44, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 45, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 46, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 47, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 48, largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 49, largeLimestoneBricks); - world.setBlock(i + 0, j + 6, k + 8, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 9, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 10, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 11, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 12, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 13, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 14, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 15, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 16, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 17, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 18, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 19, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 20, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 21, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 22, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 23, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 24, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 25, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 26, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 27, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 28, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 29, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 30, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 31, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 32, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 33, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 34, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 35, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 36, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 37, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 38, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 39, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 40, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 41, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 42, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 43, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 44, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 45, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 46, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 47, largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 48, largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 0, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlock(i + 1, j + 3, k + 9, smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 12, smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 15, smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 18, smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 21, smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 24, smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 27, smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 30, smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 33, smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 36, smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 39, smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 42, smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 45, smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 48, smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 9, smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 12, smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 15, smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 18, smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 21, smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 24, smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 27, smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 30, smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 33, smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 36, smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 39, smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 42, smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 45, smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 48, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 1, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 1, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlock(i + 1, j + 7, k + 9, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 10, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 11, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 12, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 13, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 14, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 15, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 16, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 17, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 18, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 19, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 20, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 21, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 22, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 23, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 24, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 25, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 26, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 27, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 28, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 29, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 30, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 31, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 32, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 33, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 34, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 35, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 36, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 37, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 38, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 39, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 40, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 41, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 42, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 43, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 44, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 45, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 46, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 47, largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 48, largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 2, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 2, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 2, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 2, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 3, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 3, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 3, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 3, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 4, j + 3, k + 9, smallLimestoneBricks); - world.setBlock(i + 4, j + 3, k + 48, smallLimestoneBricks); - world.setBlock(i + 4, j + 4, k + 9, smallLimestoneBricks); - world.setBlock(i + 4, j + 4, k + 48, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 4, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 4, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 4, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 4, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 5, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 5, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 5, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 5, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 6, j + 3, k + 15, smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 18, smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 21, smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 24, smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 27, smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 30, smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 33, smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 36, smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 39, smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 42, smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 15, smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 18, smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 21, smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 24, smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 27, smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 30, smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 33, smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 36, smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 39, smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 42, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 6, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 6, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 6, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 6, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 6, j + 8, k + 15, smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 18, smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 21, smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 24, smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 27, smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 30, smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 33, smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 36, smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 39, smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 42, smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 15, smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 18, smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 21, smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 24, smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 27, smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 30, smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 33, smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 36, smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 39, smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 42, smallLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 9, smallLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 14, smallLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 43, smallLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 48, smallLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 9, smallLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 14, smallLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 43, smallLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 48, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 7, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 7, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 7, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 7, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 7, j + 8, k + 14, smallLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 43, smallLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 14, smallLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 43, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 8, j + 2, k + 36, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 8, j + 3, k + 37, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 8, j + 4, k + 38, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 8, j + 5, k + 39, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 8, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 8, j + 6, k + 40, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 8, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 8, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 8, j + 7, k + 18, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 8, j + 7, k + 22, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 8, j + 7, k + 26, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 8, j + 7, k + 30, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 8, j + 7, k + 34, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 8, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 8, j + 10, k + 18, largeLimestoneBricksStairs, 5); - world.setBlockMetadataWithNotify(i + 8, j + 10, k + 22, largeLimestoneBricksStairs, 5); - world.setBlockMetadataWithNotify(i + 8, j + 10, k + 26, largeLimestoneBricksStairs, 5); - world.setBlockMetadataWithNotify(i + 8, j + 10, k + 30, largeLimestoneBricksStairs, 5); - world.setBlockMetadataWithNotify(i + 8, j + 10, k + 34, largeLimestoneBricksStairs, 5); - world.setBlockMetadataWithNotify(i + 9, j + 2, k + 36, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 9, j + 3, k + 37, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 9, j + 4, k + 38, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 9, j + 5, k + 39, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 9, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 9, j + 6, k + 40, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 9, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 9, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 9, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 10, j + 2, k + 21, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 10, j + 2, k + 35, largeLimestoneBricksStairs, 3); - world.setBlock(i + 10, j + 3, k + 9, smallLimestoneBricks); - world.setBlock(i + 10, j + 3, k + 14, smallLimestoneBricks); - world.setBlock(i + 10, j + 3, k + 43, smallLimestoneBricks); - world.setBlock(i + 10, j + 3, k + 48, smallLimestoneBricks); - world.setBlock(i + 10, j + 4, k + 9, smallLimestoneBricks); - world.setBlock(i + 10, j + 4, k + 14, smallLimestoneBricks); - world.setBlock(i + 10, j + 4, k + 43, smallLimestoneBricks); - world.setBlock(i + 10, j + 4, k + 48, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 10, j + 5, k + 21, largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 10, j + 5, k + 27, largeLimestoneBricksStairs, 7); - world.setBlockMetadataWithNotify(i + 10, j + 5, k + 29, largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 10, j + 5, k + 35, largeLimestoneBricksStairs, 7); - world.setBlockMetadataWithNotify(i + 10, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 10, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 10, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 10, j + 7, k + 16, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 10, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 10, j + 8, k + 14, smallLimestoneBricks); - world.setBlock(i + 10, j + 8, k + 43, smallLimestoneBricks); - world.setBlock(i + 10, j + 9, k + 14, smallLimestoneBricks); - world.setBlock(i + 10, j + 9, k + 43, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 10, j + 10, k + 16, largeLimestoneBricksStairs, 7); - world.setBlock(i + 11, j + 3, k + 19, smallLimestoneBricks); - world.setBlock(i + 11, j + 3, k + 38, smallLimestoneBricks); - world.setBlock(i + 11, j + 4, k + 19, smallLimestoneBricks); - world.setBlock(i + 11, j + 4, k + 38, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 11, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 11, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 11, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 11, j + 7, k + 28, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 11, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 11, j + 8, k + 19, smallLimestoneBricks); - world.setBlock(i + 11, j + 8, k + 38, smallLimestoneBricks); - world.setBlock(i + 11, j + 9, k + 19, smallLimestoneBricks); - world.setBlock(i + 11, j + 9, k + 38, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 12, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 12, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 12, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 12, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 13, j + 2, k + 4, largeLimestoneBricksStairs); - world.setBlock(i + 13, j + 3, k + 9, smallLimestoneBricks); - world.setBlock(i + 13, j + 3, k + 14, smallLimestoneBricks); - world.setBlock(i + 13, j + 3, k + 43, smallLimestoneBricks); - world.setBlock(i + 13, j + 3, k + 48, smallLimestoneBricks); - world.setBlock(i + 13, j + 4, k + 9, smallLimestoneBricks); - world.setBlock(i + 13, j + 4, k + 14, smallLimestoneBricks); - world.setBlock(i + 13, j + 4, k + 43, smallLimestoneBricks); - world.setBlock(i + 13, j + 4, k + 48, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 13, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 13, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 13, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlock(i + 13, j + 7, k + 41, largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 13, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 13, j + 8, k + 14, smallLimestoneBricks); - world.setBlock(i + 13, j + 8, k + 43, smallLimestoneBricks); - world.setBlock(i + 13, j + 9, k + 14, smallLimestoneBricks); - world.setBlock(i + 13, j + 9, k + 43, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 13, j + 10, k + 41, largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 14, j + 2, k + 3, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 14, j + 2, k + 5, largeLimestoneBricksStairs, 3); - world.setBlock(i + 14, j + 2, k + 39, largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 14, j + 5, k + 39, largeLimestoneBricksStairs, 4); - world.setBlockMetadataWithNotify(i + 14, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 14, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 14, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 14, j + 7, k + 16, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 14, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 14, j + 10, k + 16, largeLimestoneBricksStairs, 7); - world.setBlockMetadataWithNotify(i + 15, j + 2, k + 4, largeLimestoneBricksStairs, 1); - world.setBlock(i + 15, j + 2, k + 26, largeLimestoneBricksStairs); - world.setBlock(i + 15, j + 2, k + 30, largeLimestoneBricksStairs); - world.setBlock(i + 15, j + 3, k + 24, largeLimestoneBricksStairs); - world.setBlock(i + 15, j + 3, k + 25, largeLimestoneBricksStairs); - world.setBlock(i + 15, j + 3, k + 31, largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 15, j + 3, k + 32, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 15, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 15, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 15, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 15, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 16, j + 2, k + 27, largeLimestoneBricksStairs); - world.setBlock(i + 16, j + 2, k + 28, largeLimestoneBricksStairs); - world.setBlock(i + 16, j + 2, k + 29, largeLimestoneBricksStairs); - world.setBlock(i + 16, j + 3, k + 9, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 16, j + 3, k + 24, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 16, j + 3, k + 32, largeLimestoneBricksStairs, 3); - world.setBlock(i + 16, j + 3, k + 43, smallLimestoneBricks); - world.setBlock(i + 16, j + 3, k + 48, smallLimestoneBricks); - world.setBlock(i + 16, j + 4, k + 9, smallLimestoneBricks); - world.setBlock(i + 16, j + 4, k + 43, smallLimestoneBricks); - world.setBlock(i + 16, j + 4, k + 48, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 16, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 16, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 16, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 16, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 16, j + 8, k + 14, smallLimestoneBricks); - world.setBlock(i + 16, j + 8, k + 43, smallLimestoneBricks); - world.setBlock(i + 16, j + 9, k + 14, smallLimestoneBricks); - world.setBlock(i + 16, j + 9, k + 43, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 17, j + 0, k + 6, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 17, j + 1, k + 7, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 17, j + 2, k + 24, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 17, j + 2, k + 32, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 17, j + 3, k + 12, Block.torchWood.blockID, 4); - world.setBlockMetadataWithNotify(i + 17, j + 3, k + 26, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 17, j + 3, k + 30, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 17, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 17, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 17, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 17, j + 7, k + 41, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 17, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 17, j + 10, k + 41, largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 18, j + 0, k + 6, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 18, j + 1, k + 7, largeLimestoneBricksStairs, 2); - world.setBlock(i + 18, j + 2, k + 14, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 18, j + 2, k + 17, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 18, j + 2, k + 25, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 18, j + 2, k + 31, largeLimestoneBricksStairs, 3); - world.setBlock(i + 18, j + 3, k + 14, smallLimestoneBricks); - world.setBlock(i + 18, j + 4, k + 14, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 18, j + 5, k + 39, largeLimestoneBricksStairs, 5); - world.setBlockMetadataWithNotify(i + 18, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 18, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 18, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 18, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 18, j + 8, k + 13, smallLimestoneBricks); - world.setBlock(i + 18, j + 8, k + 16, smallLimestoneBricks); - world.setBlock(i + 18, j + 9, k + 16, smallLimestoneBricks); - world.setBlock(i + 18, j + 10, k + 13, largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 19, j + 0, k + 6, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 19, j + 1, k + 7, largeLimestoneBricksStairs, 2); - world.setBlock(i + 19, j + 2, k + 14, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 19, j + 2, k + 25, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 19, j + 2, k + 31, largeLimestoneBricksStairs, 3); - world.setBlock(i + 19, j + 3, k + 43, smallLimestoneBricks); - world.setBlock(i + 19, j + 3, k + 48, smallLimestoneBricks); - world.setBlock(i + 19, j + 4, k + 14, smallLimestoneBricks); - world.setBlock(i + 19, j + 4, k + 43, smallLimestoneBricks); - world.setBlock(i + 19, j + 4, k + 48, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 19, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 19, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 19, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 19, j + 7, k + 19, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 19, j + 7, k + 38, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 19, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 19, j + 8, k + 43, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 19, j + 9, k + 16, largeLimestoneBricksStairs, 7); - world.setBlock(i + 19, j + 9, k + 43, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 20, j + 0, k + 6, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 20, j + 1, k + 7, largeLimestoneBricksStairs, 2); - world.setBlock(i + 20, j + 2, k + 14, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 20, j + 2, k + 25, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 20, j + 2, k + 31, largeLimestoneBricksStairs, 3); - world.setBlock(i + 20, j + 3, k + 14, smallLimestoneBricks); - world.setBlock(i + 20, j + 4, k + 14, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 20, j + 5, k + 39, largeLimestoneBricksStairs, 4); - world.setBlockMetadataWithNotify(i + 20, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 20, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 20, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 20, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 20, j + 8, k + 13, smallLimestoneBricks); - world.setBlock(i + 20, j + 8, k + 16, smallLimestoneBricks); - world.setBlock(i + 20, j + 9, k + 16, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 20, j + 10, k + 13, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 21, j + 0, k + 6, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 21, j + 1, k + 7, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 21, j + 2, k + 24, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 21, j + 2, k + 32, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 21, j + 3, k + 12, Block.torchWood.blockID, 4); - world.setBlockMetadataWithNotify(i + 21, j + 3, k + 26, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 21, j + 3, k + 30, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 21, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 21, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 21, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 21, j + 7, k + 41, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 21, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 21, j + 10, k + 41, largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 22, j + 2, k + 27, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 22, j + 2, k + 28, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 22, j + 2, k + 29, largeLimestoneBricksStairs, 1); - world.setBlock(i + 22, j + 3, k + 9, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 22, j + 3, k + 24, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 22, j + 3, k + 32, largeLimestoneBricksStairs, 3); - world.setBlock(i + 22, j + 3, k + 43, smallLimestoneBricks); - world.setBlock(i + 22, j + 3, k + 48, smallLimestoneBricks); - world.setBlock(i + 22, j + 4, k + 9, smallLimestoneBricks); - world.setBlock(i + 22, j + 4, k + 43, smallLimestoneBricks); - world.setBlock(i + 22, j + 4, k + 48, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 22, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 22, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 22, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 22, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 22, j + 8, k + 14, smallLimestoneBricks); - world.setBlock(i + 22, j + 8, k + 43, smallLimestoneBricks); - world.setBlock(i + 22, j + 9, k + 14, smallLimestoneBricks); - world.setBlock(i + 22, j + 9, k + 43, smallLimestoneBricks); - world.setBlock(i + 23, j + 2, k + 4, largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 23, j + 2, k + 26, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 23, j + 2, k + 30, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 23, j + 3, k + 24, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 23, j + 3, k + 25, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 23, j + 3, k + 31, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 23, j + 3, k + 32, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 23, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 23, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 23, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 23, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 24, j + 2, k + 3, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 24, j + 2, k + 5, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 24, j + 2, k + 39, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 24, j + 5, k + 39, largeLimestoneBricksStairs, 5); - world.setBlockMetadataWithNotify(i + 24, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 24, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 24, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 24, j + 7, k + 16, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 24, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 24, j + 10, k + 16, largeLimestoneBricksStairs, 7); - world.setBlockMetadataWithNotify(i + 25, j + 2, k + 4, largeLimestoneBricksStairs, 1); - world.setBlock(i + 25, j + 3, k + 9, smallLimestoneBricks); - world.setBlock(i + 25, j + 3, k + 14, smallLimestoneBricks); - world.setBlock(i + 25, j + 3, k + 43, smallLimestoneBricks); - world.setBlock(i + 25, j + 3, k + 48, smallLimestoneBricks); - world.setBlock(i + 25, j + 4, k + 9, smallLimestoneBricks); - world.setBlock(i + 25, j + 4, k + 14, smallLimestoneBricks); - world.setBlock(i + 25, j + 4, k + 43, smallLimestoneBricks); - world.setBlock(i + 25, j + 4, k + 48, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 25, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 25, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 25, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 25, j + 7, k + 41, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 25, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 25, j + 8, k + 14, smallLimestoneBricks); - world.setBlock(i + 25, j + 8, k + 43, smallLimestoneBricks); - world.setBlock(i + 25, j + 9, k + 14, smallLimestoneBricks); - world.setBlock(i + 25, j + 9, k + 43, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 25, j + 10, k + 41, largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 26, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 26, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 26, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 26, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 27, j + 3, k + 19, smallLimestoneBricks); - world.setBlock(i + 27, j + 3, k + 38, smallLimestoneBricks); - world.setBlock(i + 27, j + 4, k + 19, smallLimestoneBricks); - world.setBlock(i + 27, j + 4, k + 38, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 27, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 27, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 27, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 27, j + 7, k + 28, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 27, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 27, j + 8, k + 19, smallLimestoneBricks); - world.setBlock(i + 27, j + 8, k + 38, smallLimestoneBricks); - world.setBlock(i + 27, j + 9, k + 19, smallLimestoneBricks); - world.setBlock(i + 27, j + 9, k + 38, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 28, j + 2, k + 21, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 28, j + 2, k + 35, largeLimestoneBricksStairs, 3); - world.setBlock(i + 28, j + 3, k + 9, smallLimestoneBricks); - world.setBlock(i + 28, j + 3, k + 14, smallLimestoneBricks); - world.setBlock(i + 28, j + 3, k + 43, smallLimestoneBricks); - world.setBlock(i + 28, j + 3, k + 48, smallLimestoneBricks); - world.setBlock(i + 28, j + 4, k + 9, smallLimestoneBricks); - world.setBlock(i + 28, j + 4, k + 14, smallLimestoneBricks); - world.setBlock(i + 28, j + 4, k + 43, smallLimestoneBricks); - world.setBlock(i + 28, j + 4, k + 48, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 28, j + 5, k + 21, largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 28, j + 5, k + 27, largeLimestoneBricksStairs, 7); - world.setBlockMetadataWithNotify(i + 28, j + 5, k + 29, largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 28, j + 5, k + 35, largeLimestoneBricksStairs, 7); - world.setBlockMetadataWithNotify(i + 28, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 28, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 28, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 28, j + 7, k + 16, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 28, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 28, j + 8, k + 14, smallLimestoneBricks); - world.setBlock(i + 28, j + 8, k + 43, smallLimestoneBricks); - world.setBlock(i + 28, j + 9, k + 14, smallLimestoneBricks); - world.setBlock(i + 28, j + 9, k + 43, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 28, j + 10, k + 16, largeLimestoneBricksStairs, 7); - world.setBlockMetadataWithNotify(i + 29, j + 2, k + 36, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 29, j + 3, k + 37, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 29, j + 4, k + 38, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 29, j + 5, k + 39, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 29, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 29, j + 6, k + 40, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 29, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 29, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 29, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 30, j + 2, k + 36, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 30, j + 3, k + 37, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 30, j + 4, k + 38, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 30, j + 5, k + 39, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 30, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 30, j + 6, k + 40, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 30, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 30, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlock(i + 30, j + 7, k + 18, largeLimestoneBricksStairs); - world.setBlock(i + 30, j + 7, k + 22, largeLimestoneBricksStairs); - world.setBlock(i + 30, j + 7, k + 26, largeLimestoneBricksStairs); - world.setBlock(i + 30, j + 7, k + 30, largeLimestoneBricksStairs); - world.setBlock(i + 30, j + 7, k + 34, largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 30, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 30, j + 10, k + 18, largeLimestoneBricksStairs, 4); - world.setBlockMetadataWithNotify(i + 30, j + 10, k + 22, largeLimestoneBricksStairs, 4); - world.setBlockMetadataWithNotify(i + 30, j + 10, k + 26, largeLimestoneBricksStairs, 4); - world.setBlockMetadataWithNotify(i + 30, j + 10, k + 30, largeLimestoneBricksStairs, 4); - world.setBlockMetadataWithNotify(i + 30, j + 10, k + 34, largeLimestoneBricksStairs, 4); - world.setBlock(i + 31, j + 3, k + 9, smallLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 14, smallLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 43, smallLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 48, smallLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 9, smallLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 14, smallLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 43, smallLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 48, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 31, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 31, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 31, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 31, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 31, j + 8, k + 14, smallLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 43, smallLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 14, smallLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 43, smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 15, smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 18, smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 21, smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 24, smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 27, smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 30, smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 33, smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 36, smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 39, smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 42, smallLimestoneBricks); + public boolean generate(World world, Random random, int i, int j, int k) { + world.setBlock(i + 0, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 2, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 2, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 2, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 3, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 3, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 3, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 3, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 4, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 4, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 4, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 5, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 5, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 16, Block.netherrack.blockID); + world.setBlock(i + 8, j + 7, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 8, k + 16, Block.fire.blockID); + world.setBlock(i + 8, j + 8, k + 19, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 20, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 21, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 23, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 27, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 28, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 29, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 33, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 9, k + 19, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 20, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 21, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 23, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 27, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 28, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 29, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 33, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 2, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 2, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 2, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 3, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 3, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 3, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 3, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 4, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 4, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 4, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 5, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 5, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 7, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 10, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 3, k + 22, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 23, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 26, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 30, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 33, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 34, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 4, k + 22, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 23, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 26, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 30, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 33, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 34, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 34, this.largeLimestoneBricks); + this.generate2(world, random, i, j, k); + return true; + } - generate5(world, rand, i, j, k); - return true; - } + public boolean generate2(World world, Random rand, int i, int j, int k) { + world.setBlock(i + 10, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 2, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 5, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 5, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 7, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 7, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 11, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 11, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 10, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 10, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 12, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 12, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 0, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 13, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 13, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 0, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 2, k + 4, Block.netherrack.blockID); + world.setBlock(i + 14, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 3, k + 4, Block.fire.blockID); + world.setBlock(i + 14, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 8, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 14, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 9, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 14, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 0, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 2, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 2, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 2, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 2, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 3, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 3, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 4, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 4, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 8, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 9, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 16, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 16, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 3, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 3, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 3, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 3, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 16, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 4, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 4, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 16, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 16, j + 8, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 16, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 16, j + 9, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 16, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 3, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 3, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 3, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 3, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 17, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 4, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 4, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 4, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 4, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 17, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 5, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 5, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 17, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 17, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 2, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 2, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 5, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 5, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 7, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 8, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 8, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 18, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 9, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 9, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 9, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 18, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 3, k + 14, this.carvedLimestone); + world.setBlock(i + 19, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 5, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 5, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 8, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 19, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 9, k + 13, this.carvedLimestone); + world.setBlock(i + 19, j + 9, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 9, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 19, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 10, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 2, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 2, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 5, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 5, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 7, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 8, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 8, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 20, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 9, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 9, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 9, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 20, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 3, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 3, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 3, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 3, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 21, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 4, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 4, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 4, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 4, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 21, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 5, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 5, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 9, this.largeLimestoneBricks); + this.generate3(world, rand, i, j, k); + return true; + } - public boolean generate5(World world, Random rand, int i, int j, int k) { - world.setBlock(i + 32, j + 4, k + 15, smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 18, smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 21, smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 24, smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 27, smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 30, smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 33, smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 36, smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 39, smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 42, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 32, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 32, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 32, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 32, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 32, j + 8, k + 15, smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 18, smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 21, smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 24, smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 27, smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 30, smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 33, smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 36, smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 39, smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 42, smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 15, smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 18, smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 21, smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 24, smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 27, smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 30, smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 33, smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 36, smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 39, smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 42, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 33, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 33, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 33, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 33, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 34, j + 3, k + 9, smallLimestoneBricks); - world.setBlock(i + 34, j + 3, k + 48, smallLimestoneBricks); - world.setBlock(i + 34, j + 4, k + 9, smallLimestoneBricks); - world.setBlock(i + 34, j + 4, k + 48, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 34, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 34, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 34, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 34, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 35, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 35, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 35, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 35, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 36, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 36, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 36, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 36, j + 7, k + 48, largeLimestoneBricksStairs, 3); - world.setBlock(i + 37, j + 3, k + 9, smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 12, smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 15, smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 18, smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 21, smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 24, smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 27, smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 30, smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 33, smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 36, smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 39, smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 42, smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 45, smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 48, smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 9, smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 12, smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 15, smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 18, smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 21, smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 24, smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 27, smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 30, smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 33, smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 36, smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 39, smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 42, smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 45, smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 48, smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 37, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 37, j + 6, k + 49, largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 9, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 10, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 11, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 12, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 13, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 14, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 15, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 16, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 17, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 18, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 19, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 20, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 21, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 22, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 23, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 24, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 25, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 26, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 27, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 28, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 29, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 30, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 31, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 32, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 33, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 34, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 35, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 36, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 37, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 38, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 39, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 40, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 41, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 42, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 43, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 44, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 45, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 46, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 47, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 48, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 8, largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 9, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 10, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 11, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 12, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 13, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 14, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 15, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 16, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 17, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 18, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 19, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 20, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 21, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 22, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 23, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 24, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 25, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 26, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 27, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 28, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 29, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 30, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 31, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 32, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 33, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 34, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 35, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 36, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 37, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 38, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 39, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 40, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 41, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 42, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 43, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 44, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 45, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 46, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 47, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 48, largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 49, largeLimestoneBricksStairs, 1); + public boolean generate3(World world, Random rand, int i, int j, int k) { + world.setBlock(i + 21, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 21, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 21, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 22, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 22, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 3, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 3, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 3, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 3, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 22, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 4, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 4, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 22, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 22, j + 8, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 22, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 22, j + 9, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 22, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 0, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 2, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 2, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 2, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 2, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 3, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 4, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 8, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 9, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 0, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 2, k + 4, Block.netherrack.blockID); + world.setBlock(i + 24, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 3, k + 4, Block.fire.blockID); + world.setBlock(i + 24, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 8, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 24, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 9, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 24, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 0, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 25, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 25, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 26, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 26, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 2, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 5, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 5, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 7, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 7, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 27, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 27, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 10, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 10, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 3, k + 22, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 23, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 26, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 30, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 33, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 34, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 4, k + 22, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 23, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 26, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 30, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 33, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 34, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 2, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 2, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 2, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 3, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 3, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 3, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 3, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 4, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 4, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 4, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 5, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 5, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 2, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 2, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 2, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 3, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 3, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 3, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 3, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 4, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 4, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 4, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 5, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 5, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 16, Block.netherrack.blockID); + world.setBlock(i + 30, j + 7, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 8, k + 16, Block.fire.blockID); + world.setBlock(i + 30, j + 8, k + 19, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 20, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 21, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 23, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 27, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 28, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 29, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 33, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 9, k + 19, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 20, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 21, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 23, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 27, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 28, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 29, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 33, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 30, this.largeLimestoneBricks); + this.generate4(world, rand, i, j, k); + return true; + } - return true; - } + public boolean generate4(World world, Random rand, int i, int j, int k) { + world.setBlock(i + 31, j + 3, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 6, k + 8, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 9, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 10, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 11, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 12, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 13, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 14, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 15, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 16, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 17, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 18, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 19, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 20, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 21, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 22, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 23, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 24, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 25, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 26, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 27, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 28, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 29, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 30, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 31, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 32, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 33, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 34, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 35, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 36, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 37, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 38, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 39, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 40, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 41, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 42, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 43, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 44, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 45, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 46, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 47, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 48, this.largeLimestoneBricksStairs); + world.setBlockMetadataWithNotify(i + 0, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 1, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 12, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 45, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 12, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 45, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 48, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 1, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 1, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 1, j + 7, k + 9, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 10, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 11, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 12, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 13, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 14, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 15, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 16, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 17, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 18, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 19, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 20, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 21, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 22, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 23, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 24, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 25, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 26, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 27, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 28, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 29, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 30, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 31, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 32, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 33, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 34, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 35, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 36, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 37, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 38, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 39, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 40, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 41, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 42, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 43, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 44, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 45, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 46, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 47, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 48, this.largeLimestoneBricksStairs); + world.setBlockMetadataWithNotify(i + 2, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 2, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 2, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 2, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 3, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 3, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 3, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 3, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 4, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 4, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 4, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 4, j + 4, k + 48, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 4, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 4, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 4, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 4, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 5, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 5, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 5, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 5, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 6, j + 3, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 42, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 6, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 6, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 6, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 6, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 6, j + 8, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 48, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 7, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 7, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 7, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 7, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 7, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 43, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 8, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 8, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 8, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 8, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 8, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 8, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 8, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 8, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 8, j + 7, k + 18, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 8, j + 7, k + 22, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 8, j + 7, k + 26, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 8, j + 7, k + 30, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 8, j + 7, k + 34, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 8, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 8, j + 10, k + 18, this.largeLimestoneBricksStairs, 5); + world.setBlockMetadataWithNotify(i + 8, j + 10, k + 22, this.largeLimestoneBricksStairs, 5); + world.setBlockMetadataWithNotify(i + 8, j + 10, k + 26, this.largeLimestoneBricksStairs, 5); + world.setBlockMetadataWithNotify(i + 8, j + 10, k + 30, this.largeLimestoneBricksStairs, 5); + world.setBlockMetadataWithNotify(i + 8, j + 10, k + 34, this.largeLimestoneBricksStairs, 5); + world.setBlockMetadataWithNotify(i + 9, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 9, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 9, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 9, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 9, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 9, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 9, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 9, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 9, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 10, j + 2, k + 21, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 10, j + 2, k + 35, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 10, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 4, k + 48, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 10, j + 5, k + 21, this.largeLimestoneBricksStairs, 6); + world.setBlockMetadataWithNotify(i + 10, j + 5, k + 27, this.largeLimestoneBricksStairs, 7); + world.setBlockMetadataWithNotify(i + 10, j + 5, k + 29, this.largeLimestoneBricksStairs, 6); + world.setBlockMetadataWithNotify(i + 10, j + 5, k + 35, this.largeLimestoneBricksStairs, 7); + world.setBlockMetadataWithNotify(i + 10, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 10, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 10, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 10, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 10, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 10, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 9, k + 43, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 10, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); + world.setBlock(i + 11, j + 3, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 11, j + 3, k + 38, this.smallLimestoneBricks); + world.setBlock(i + 11, j + 4, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 11, j + 4, k + 38, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 11, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 11, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 11, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 11, j + 7, k + 28, Block.torchWood.blockID, 5); + world.setBlockMetadataWithNotify(i + 11, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 11, j + 8, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 11, j + 8, k + 38, this.smallLimestoneBricks); + world.setBlock(i + 11, j + 9, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 11, j + 9, k + 38, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 12, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 12, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 12, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 12, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 13, j + 2, k + 4, this.largeLimestoneBricksStairs); + world.setBlock(i + 13, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 4, k + 48, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 13, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 13, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 13, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlock(i + 13, j + 7, k + 41, this.largeLimestoneBricksStairs); + world.setBlockMetadataWithNotify(i + 13, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 13, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 9, k + 43, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 13, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); + world.setBlockMetadataWithNotify(i + 14, j + 2, k + 3, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 14, j + 2, k + 5, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 14, j + 2, k + 39, this.largeLimestoneBricksStairs); + world.setBlockMetadataWithNotify(i + 14, j + 5, k + 39, this.largeLimestoneBricksStairs, 4); + world.setBlockMetadataWithNotify(i + 14, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 14, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 14, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 14, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 14, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 14, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); + world.setBlockMetadataWithNotify(i + 15, j + 2, k + 4, this.largeLimestoneBricksStairs, 1); + world.setBlock(i + 15, j + 2, k + 26, this.largeLimestoneBricksStairs); + world.setBlock(i + 15, j + 2, k + 30, this.largeLimestoneBricksStairs); + world.setBlock(i + 15, j + 3, k + 24, this.largeLimestoneBricksStairs); + world.setBlock(i + 15, j + 3, k + 25, this.largeLimestoneBricksStairs); + world.setBlock(i + 15, j + 3, k + 31, this.largeLimestoneBricksStairs); + world.setBlockMetadataWithNotify(i + 15, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 15, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 15, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 15, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 15, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 16, j + 2, k + 27, this.largeLimestoneBricksStairs); + world.setBlock(i + 16, j + 2, k + 28, this.largeLimestoneBricksStairs); + world.setBlock(i + 16, j + 2, k + 29, this.largeLimestoneBricksStairs); + world.setBlock(i + 16, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 16, j + 3, k + 24, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 16, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 16, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 16, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 16, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 16, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 16, j + 4, k + 48, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 16, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 16, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 16, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 16, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 16, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 16, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 16, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 16, j + 9, k + 43, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 17, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 17, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 17, j + 2, k + 24, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 17, j + 2, k + 32, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 17, j + 3, k + 12, Block.torchWood.blockID, 4); + world.setBlockMetadataWithNotify(i + 17, j + 3, k + 26, Block.torchWood.blockID, 5); + world.setBlockMetadataWithNotify(i + 17, j + 3, k + 30, Block.torchWood.blockID, 5); + world.setBlockMetadataWithNotify(i + 17, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 17, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 17, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 17, j + 7, k + 41, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 17, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 17, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); + world.setBlockMetadataWithNotify(i + 18, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 18, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); + world.setBlock(i + 18, j + 2, k + 14, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 18, j + 2, k + 17, Block.torchWood.blockID, 5); + world.setBlockMetadataWithNotify(i + 18, j + 2, k + 25, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 18, j + 2, k + 31, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 18, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 18, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 18, j + 5, k + 39, this.largeLimestoneBricksStairs, 5); + world.setBlockMetadataWithNotify(i + 18, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 18, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 18, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 18, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 18, j + 8, k + 13, this.smallLimestoneBricks); + world.setBlock(i + 18, j + 8, k + 16, this.smallLimestoneBricks); + world.setBlock(i + 18, j + 9, k + 16, this.smallLimestoneBricks); + world.setBlock(i + 18, j + 10, k + 13, this.largeLimestoneBricksStairs); + world.setBlockMetadataWithNotify(i + 19, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 19, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); + world.setBlock(i + 19, j + 2, k + 14, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 19, j + 2, k + 25, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 19, j + 2, k + 31, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 19, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 19, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 19, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 19, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 19, j + 4, k + 48, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 19, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 19, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 19, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 19, j + 7, k + 19, Block.torchWood.blockID, 5); + world.setBlockMetadataWithNotify(i + 19, j + 7, k + 38, Block.torchWood.blockID, 5); + world.setBlockMetadataWithNotify(i + 19, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 19, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 19, j + 9, k + 16, this.largeLimestoneBricksStairs, 7); + world.setBlock(i + 19, j + 9, k + 43, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 20, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 20, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); + world.setBlock(i + 20, j + 2, k + 14, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 20, j + 2, k + 25, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 20, j + 2, k + 31, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 20, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 20, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 20, j + 5, k + 39, this.largeLimestoneBricksStairs, 4); + world.setBlockMetadataWithNotify(i + 20, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 20, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 20, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 20, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 20, j + 8, k + 13, this.smallLimestoneBricks); + world.setBlock(i + 20, j + 8, k + 16, this.smallLimestoneBricks); + world.setBlock(i + 20, j + 9, k + 16, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 20, j + 10, k + 13, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 21, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 21, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 21, j + 2, k + 24, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 21, j + 2, k + 32, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 21, j + 3, k + 12, Block.torchWood.blockID, 4); + world.setBlockMetadataWithNotify(i + 21, j + 3, k + 26, Block.torchWood.blockID, 5); + world.setBlockMetadataWithNotify(i + 21, j + 3, k + 30, Block.torchWood.blockID, 5); + world.setBlockMetadataWithNotify(i + 21, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 21, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 21, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 21, j + 7, k + 41, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 21, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 21, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); + world.setBlockMetadataWithNotify(i + 22, j + 2, k + 27, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 22, j + 2, k + 28, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 22, j + 2, k + 29, this.largeLimestoneBricksStairs, 1); + world.setBlock(i + 22, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 22, j + 3, k + 24, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 22, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 22, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 22, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 22, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 22, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 22, j + 4, k + 48, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 22, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 22, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 22, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 22, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 22, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 22, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 22, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 22, j + 9, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 23, j + 2, k + 4, this.largeLimestoneBricksStairs); + world.setBlockMetadataWithNotify(i + 23, j + 2, k + 26, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 23, j + 2, k + 30, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 23, j + 3, k + 24, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 23, j + 3, k + 25, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 23, j + 3, k + 31, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 23, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 23, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 23, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 23, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 23, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 24, j + 2, k + 3, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 24, j + 2, k + 5, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 24, j + 2, k + 39, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 24, j + 5, k + 39, this.largeLimestoneBricksStairs, 5); + world.setBlockMetadataWithNotify(i + 24, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 24, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 24, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 24, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 24, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 24, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); + world.setBlockMetadataWithNotify(i + 25, j + 2, k + 4, this.largeLimestoneBricksStairs, 1); + world.setBlock(i + 25, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 4, k + 48, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 25, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 25, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 25, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 25, j + 7, k + 41, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 25, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 25, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 9, k + 43, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 25, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); + world.setBlockMetadataWithNotify(i + 26, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 26, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 26, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 26, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 27, j + 3, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 27, j + 3, k + 38, this.smallLimestoneBricks); + world.setBlock(i + 27, j + 4, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 27, j + 4, k + 38, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 27, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 27, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 27, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 27, j + 7, k + 28, Block.torchWood.blockID, 5); + world.setBlockMetadataWithNotify(i + 27, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 27, j + 8, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 27, j + 8, k + 38, this.smallLimestoneBricks); + world.setBlock(i + 27, j + 9, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 27, j + 9, k + 38, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 28, j + 2, k + 21, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 28, j + 2, k + 35, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 28, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 4, k + 48, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 28, j + 5, k + 21, this.largeLimestoneBricksStairs, 6); + world.setBlockMetadataWithNotify(i + 28, j + 5, k + 27, this.largeLimestoneBricksStairs, 7); + world.setBlockMetadataWithNotify(i + 28, j + 5, k + 29, this.largeLimestoneBricksStairs, 6); + world.setBlockMetadataWithNotify(i + 28, j + 5, k + 35, this.largeLimestoneBricksStairs, 7); + world.setBlockMetadataWithNotify(i + 28, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 28, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 28, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 28, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 28, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 28, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 9, k + 43, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 28, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); + world.setBlockMetadataWithNotify(i + 29, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 29, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 29, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 29, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 29, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 29, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 29, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 29, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 29, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 30, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 30, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 30, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 30, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 30, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 30, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 30, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 30, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlock(i + 30, j + 7, k + 18, this.largeLimestoneBricksStairs); + world.setBlock(i + 30, j + 7, k + 22, this.largeLimestoneBricksStairs); + world.setBlock(i + 30, j + 7, k + 26, this.largeLimestoneBricksStairs); + world.setBlock(i + 30, j + 7, k + 30, this.largeLimestoneBricksStairs); + world.setBlock(i + 30, j + 7, k + 34, this.largeLimestoneBricksStairs); + world.setBlockMetadataWithNotify(i + 30, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 30, j + 10, k + 18, this.largeLimestoneBricksStairs, 4); + world.setBlockMetadataWithNotify(i + 30, j + 10, k + 22, this.largeLimestoneBricksStairs, 4); + world.setBlockMetadataWithNotify(i + 30, j + 10, k + 26, this.largeLimestoneBricksStairs, 4); + world.setBlockMetadataWithNotify(i + 30, j + 10, k + 30, this.largeLimestoneBricksStairs, 4); + world.setBlockMetadataWithNotify(i + 30, j + 10, k + 34, this.largeLimestoneBricksStairs, 4); + world.setBlock(i + 31, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 48, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 31, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 31, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 31, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 31, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 31, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 42, this.smallLimestoneBricks); + this.generate5(world, rand, i, j, k); + return true; + } -} \ No newline at end of file + public boolean generate5(World world, Random rand, int i, int j, int k) { + world.setBlock(i + 32, j + 4, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 42, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 32, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 32, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 32, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 32, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 32, j + 8, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 42, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 33, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 33, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 33, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 33, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 34, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 34, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 34, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 34, j + 4, k + 48, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 34, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 34, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 34, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 34, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 35, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 35, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 35, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 35, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 36, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 36, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 36, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 36, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 37, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 12, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 45, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 12, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 45, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 48, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 37, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 37, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 10, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 11, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 12, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 13, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 14, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 15, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 16, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 17, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 18, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 19, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 20, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 21, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 22, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 23, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 24, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 25, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 26, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 27, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 28, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 29, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 30, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 31, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 32, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 33, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 34, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 35, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 36, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 37, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 38, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 39, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 40, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 41, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 42, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 43, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 44, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 45, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 46, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 47, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 48, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 9, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 10, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 11, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 12, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 13, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 14, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 15, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 16, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 17, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 18, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 19, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 20, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 21, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 22, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 23, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 24, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 25, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 26, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 27, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 28, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 29, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 30, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 31, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 32, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 33, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 34, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 35, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 36, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 37, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 38, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 39, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 40, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 41, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 42, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 43, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 44, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 45, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 46, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 47, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 48, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 49, this.largeLimestoneBricksStairs, 1); + return true; + } +} diff --git a/common/rebelkeithy/mods/atum/world/decorators/WorldGenPalm.java b/common/rebelkeithy/mods/atum/world/decorators/WorldGenPalm.java index b6887df..a150ae3 100644 --- a/common/rebelkeithy/mods/atum/world/decorators/WorldGenPalm.java +++ b/common/rebelkeithy/mods/atum/world/decorators/WorldGenPalm.java @@ -1,186 +1,136 @@ package rebelkeithy.mods.atum.world.decorators; import java.util.Random; - import net.minecraft.block.Block; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; import rebelkeithy.mods.atum.AtumBlocks; -public class WorldGenPalm extends WorldGenerator -{ - /** The minimum height of a generated tree. */ - private final int minTreeHeight; - - /** The metadata value of the wood to use in tree generation. */ - private final int metaWood; - - /** The metadata value of the leaves to use in tree generation. */ - private final int metaLeaves; - - public WorldGenPalm(boolean par1) - { - this(par1, 5, 0, 0); - } - - public WorldGenPalm(boolean par1, int par2, int par3, int par4) - { - super(par1); - this.minTreeHeight = par2; - this.metaWood = par3; - this.metaLeaves = par4; - } - - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) - { - int l = par2Random.nextInt(3) + this.minTreeHeight; - boolean flag = true; - - int id = par1World.getBlockId(par3, par4 - 1, par5); - - if ((id == AtumBlocks.sand.blockID || id == AtumBlocks.fertileSoil.blockID || id == Block.dirt.blockID) && par4 >= 1 && par4 + l + 1 <= 256) - { - int i1; - byte b0; - int j1; - int k1; - - for (i1 = par4; i1 <= par4 + 1 + l; ++i1) - { - b0 = 1; - - if (i1 == par4) - { - b0 = 0; - } - - if (i1 >= par4 + 1 + l - 2) - { - b0 = 2; - } - - for (int l1 = par3 - b0; l1 <= par3 + b0 && flag; ++l1) - { - for (j1 = par5 - b0; j1 <= par5 + b0 && flag; ++j1) - { - if (i1 >= 0 && i1 < 256) - { - k1 = par1World.getBlockId(l1, i1, j1); - - Block block = Block.blocksList[k1]; - - if (k1 != 0 && - !block.isLeaves(par1World, l1, i1, j1) && - k1 != AtumBlocks.fertileSoil.blockID && - k1 != Block.dirt.blockID && - !block.isWood(par1World, l1, i1, j1)) - { - flag = false; - } - } - else - { - flag = false; - } - } - } +public class WorldGenPalm extends WorldGenerator { + + private final int minTreeHeight; + private final int metaWood; + private final int metaLeaves; + + + public WorldGenPalm(boolean par1) { + this(par1, 5, 0, 0); + } + + public WorldGenPalm(boolean par1, int par2, int par3, int par4) { + super(par1); + this.minTreeHeight = par2; + this.metaWood = par3; + this.metaLeaves = par4; + } + + public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) { + int l = par2Random.nextInt(3) + this.minTreeHeight; + boolean flag = true; + int id = par1World.getBlockId(par3, par4 - 1, par5); + if((id == AtumBlocks.sand.blockID || id == AtumBlocks.fertileSoil.blockID || id == Block.dirt.blockID) && par4 >= 1 && par4 + l + 1 <= 256) { + int i1; + int j1; + int k1; + for(i1 = par4; i1 <= par4 + 1 + l; ++i1) { + byte b0 = 1; + if(i1 == par4) { + b0 = 0; } - if (!flag) - { - return false; + if(i1 >= par4 + 1 + l - 2) { + b0 = 2; } - else - { - i1 = par1World.getBlockId(par3, par4 - 1, par5); - Block soil = Block.blocksList[i1]; - - if (par4 < 256 - l - 1) - { - if(soil != null) - soil.onPlantGrow(par1World, par3, par4 - 1, par5, par3, par4, par5); - b0 = 3; - byte b1 = 0; - int i2; - int j2; - int k2; - - spawnLeaf(par1World, par3, par4+l+1, par5); - - for(int x = -1; x <= 1; x++) - { - for(int z = -1; z <= 1; z++) - { - if(x != 0 || z != 0) - { - spawnLeaf(par1World, par3 + x, par4+l, par5 + z); - } - } - } - spawnLeaf(par1World, par3+2, par4+l, par5); - spawnLeaf(par1World, par3-2, par4+l, par5); - spawnLeaf(par1World, par3, par4+l, par5+2); - spawnLeaf(par1World, par3, par4+l, par5-2); - spawnLeaf(par1World, par3, par4+l-1, par5-2); - spawnLeaf(par1World, par3, par4+l-1, par5+2); - spawnLeaf(par1World, par3+2, par4+l-1, par5); - spawnLeaf(par1World, par3-2, par4+l-1, par5); - - spawnLeaf(par1World, par3, par4+l-1, par5-3); - spawnLeaf(par1World, par3, par4+l-1, par5+3); - spawnLeaf(par1World, par3+3, par4+l-1, par5); - spawnLeaf(par1World, par3-3, par4+l-1, par5); - - if (par2Random.nextInt(100) < 15) - { - par1World.setBlock(par3 + 1, par4 + l - 1, par5, AtumBlocks.dateBlock.blockID, 0, 0x02); - } - if (par2Random.nextInt(100) < 15) - { - par1World.setBlock(par3 - 1, par4 + l - 1, par5, AtumBlocks.dateBlock.blockID, 0, 0x02); - } - if (par2Random.nextInt(100) < 15) - { - par1World.setBlock(par3, par4 + l - 1, par5 + 1, AtumBlocks.dateBlock.blockID, 0, 0x02); - } - if (par2Random.nextInt(100) < 15) - { - par1World.setBlock(par3, par4 + l - 1, par5 - 1, AtumBlocks.dateBlock.blockID, 0, 0x02); - } - - for (j1 = 0; j1 <= l; ++j1) - { - k1 = par1World.getBlockId(par3, par4 + j1, par5); - - Block block = Block.blocksList[k1]; - - if (k1 == 0 || block == null || block.isLeaves(par1World, par3, par4 + j1, par5)) - { - this.setBlockAndMetadata(par1World, par3, par4 + j1, par5, AtumBlocks.log.blockID, this.metaWood); - } - } - - return true; - } - else - { - return false; - } + + for(int soil = par3 - b0; soil <= par3 + b0 && flag; ++soil) { + for(j1 = par5 - b0; j1 <= par5 + b0 && flag; ++j1) { + if(i1 >= 0 && i1 < 256) { + k1 = par1World.getBlockId(soil, i1, j1); + Block b1 = Block.blocksList[k1]; + if(k1 != 0 && !b1.isLeaves(par1World, soil, i1, j1) && k1 != AtumBlocks.fertileSoil.blockID && k1 != Block.dirt.blockID && !b1.isWood(par1World, soil, i1, j1)) { + flag = false; + } + } else { + flag = false; + } + } } - } - else - { + } + + if(!flag) { return false; - } - } - - public void spawnLeaf(World par1World, int x, int y, int z) - { - int j3 = par1World.getBlockId(x, y, z); - Block block = Block.blocksList[j3]; - if (block == null || block.canBeReplacedByLeaves(par1World, x, y, z)) - { - this.setBlockAndMetadata(par1World, x, y, z, AtumBlocks.leaves.blockID, this.metaLeaves); - } - } + } else { + i1 = par1World.getBlockId(par3, par4 - 1, par5); + Block var21 = Block.blocksList[i1]; + if(par4 >= 256 - l - 1) { + return false; + } else { + if(var21 != null) { + var21.onPlantGrow(par1World, par3, par4 - 1, par5, par3, par4, par5); + } + + boolean var20 = true; + boolean var22 = false; + this.spawnLeaf(par1World, par3, par4 + l + 1, par5); + + for(int block = -1; block <= 1; ++block) { + for(int z = -1; z <= 1; ++z) { + if(block != 0 || z != 0) { + this.spawnLeaf(par1World, par3 + block, par4 + l, par5 + z); + } + } + } + + this.spawnLeaf(par1World, par3 + 2, par4 + l, par5); + this.spawnLeaf(par1World, par3 - 2, par4 + l, par5); + this.spawnLeaf(par1World, par3, par4 + l, par5 + 2); + this.spawnLeaf(par1World, par3, par4 + l, par5 - 2); + this.spawnLeaf(par1World, par3, par4 + l - 1, par5 - 2); + this.spawnLeaf(par1World, par3, par4 + l - 1, par5 + 2); + this.spawnLeaf(par1World, par3 + 2, par4 + l - 1, par5); + this.spawnLeaf(par1World, par3 - 2, par4 + l - 1, par5); + this.spawnLeaf(par1World, par3, par4 + l - 1, par5 - 3); + this.spawnLeaf(par1World, par3, par4 + l - 1, par5 + 3); + this.spawnLeaf(par1World, par3 + 3, par4 + l - 1, par5); + this.spawnLeaf(par1World, par3 - 3, par4 + l - 1, par5); + if(par2Random.nextInt(100) < 15) { + par1World.setBlock(par3 + 1, par4 + l - 1, par5, AtumBlocks.dateBlock.blockID, 0, 2); + } + + if(par2Random.nextInt(100) < 15) { + par1World.setBlock(par3 - 1, par4 + l - 1, par5, AtumBlocks.dateBlock.blockID, 0, 2); + } + + if(par2Random.nextInt(100) < 15) { + par1World.setBlock(par3, par4 + l - 1, par5 + 1, AtumBlocks.dateBlock.blockID, 0, 2); + } + + if(par2Random.nextInt(100) < 15) { + par1World.setBlock(par3, par4 + l - 1, par5 - 1, AtumBlocks.dateBlock.blockID, 0, 2); + } + + for(j1 = 0; j1 <= l; ++j1) { + k1 = par1World.getBlockId(par3, par4 + j1, par5); + Block var23 = Block.blocksList[k1]; + if(k1 == 0 || var23 == null || var23.isLeaves(par1World, par3, par4 + j1, par5)) { + this.setBlockAndMetadata(par1World, par3, par4 + j1, par5, AtumBlocks.log.blockID, this.metaWood); + } + } + + return true; + } + } + } else { + return false; + } + } + + public void spawnLeaf(World par1World, int x, int y, int z) { + int j3 = par1World.getBlockId(x, y, z); + Block block = Block.blocksList[j3]; + if(block == null || block.canBeReplacedByLeaves(par1World, x, y, z)) { + this.setBlockAndMetadata(par1World, x, y, z, AtumBlocks.leaves.blockID, this.metaLeaves); + } + + } } diff --git a/common/rebelkeithy/mods/atum/world/decorators/WorldGenPyramid.java b/common/rebelkeithy/mods/atum/world/decorators/WorldGenPyramid.java index e2878f0..bf65f9b 100644 --- a/common/rebelkeithy/mods/atum/world/decorators/WorldGenPyramid.java +++ b/common/rebelkeithy/mods/atum/world/decorators/WorldGenPyramid.java @@ -15,233 +15,199 @@ import rebelkeithy.mods.atum.AtumLoot; import rebelkeithy.mods.atum.cursedchest.TileEntityPharaohChest; -public class WorldGenPyramid extends WorldGenerator -{ - class Pair - { +public class WorldGenPyramid extends WorldGenerator { + class Pair { public int x; public int y; - - Pair(int x, int y) - { + + Pair(int x, int y) { this.x = x; this.y = y; } - + @Override - public boolean equals(Object p) - { - if(p instanceof Pair) - return ((Pair)p).x == x && ((Pair)p).y == y; + public boolean equals(Object p) { + if (p instanceof Pair) + return ((Pair) p).x == x && ((Pair) p).y == y; else return false; } } @Override - public boolean generate(World world, Random random, int i, int j, int k) - { - if(random.nextFloat() > 0.3) + public boolean generate(World world, Random random, int i, int j, int k) { + if (random.nextFloat() > 0.3) j -= 8; - + int width = 17; int depth = 17; - + boolean[][] maze = new boolean[17][17]; - + ArrayList points = new ArrayList(); - + int zIn = 9; - + maze[0][zIn] = true; generateMaze(maze, random, 1, zIn); - - for(int y = -6; y < 10; y++) - { - for(int x = y; x <= width - y; x++) - { - for(int z = y; z <= depth - y; z++) - { - //int id = world.getBlockId(x+i, y+j+3, z+k); - //if(id == 0 || id == AtumBlocks.atumSand.blockID) - world.setBlock(x+i, y+j+3, z+k, AtumBlocks.largeBrick.blockID, 1, 0); + for (int y = -6; y < 10; y++) { + for (int x = y; x <= width - y; x++) { + for (int z = y; z <= depth - y; z++) { + // int id = world.getBlockId(x+i, y+j+3, z+k); + // if(id == 0 || id == AtumBlocks.atumSand.blockID) + world.setBlock(x + i, y + j + 3, z + k, AtumBlocks.largeBrick.blockID, 1, 0); } } } - - for(int x = -3; x < width+3; x++) - { - for(int z = -3; z < depth+3; z++) - { - if(x >= 0 && x < width && z >= 0 && z < depth) - { - world.setBlock(x+i, j-1, z+k, AtumBlocks.stone.blockID); - if(!maze[x][z]) - { - if(random.nextFloat() > 0.1F) - world.setBlock(x+i, j, z+k, AtumBlocks.largeBrick.blockID, 1, 0); + + for (int x = -3; x < width + 3; x++) { + for (int z = -3; z < depth + 3; z++) { + if (x >= 0 && x < width && z >= 0 && z < depth) { + world.setBlock(x + i, j - 1, z + k, AtumBlocks.stone.blockID); + if (!maze[x][z]) { + if (random.nextFloat() > 0.1F) + world.setBlock(x + i, j, z + k, AtumBlocks.largeBrick.blockID, 1, 0); else - placeTrap(world, x+i, j, z+k); - world.setBlock(x+i, j+1, z+k, AtumBlocks.largeBrick.blockID, 1, 0); - world.setBlock(x+i, j+2, z+k, AtumBlocks.largeBrick.blockID, 1, 0); + placeTrap(world, x + i, j, z + k); + world.setBlock(x + i, j + 1, z + k, AtumBlocks.largeBrick.blockID, 1, 0); + world.setBlock(x + i, j + 2, z + k, AtumBlocks.largeBrick.blockID, 1, 0); } else { int meta = random.nextInt(5); - world.setBlock(x+i, j, z+k, AtumBlocks.sandLayered.blockID, meta, 0); - world.setBlockToAir(x+i, j+1, z+k); - world.setBlockToAir(x+i, j+2, z+k); + world.setBlock(x + i, j, z + k, AtumBlocks.sandLayered.blockID, meta, 0); + world.setBlockToAir(x + i, j + 1, z + k); + world.setBlockToAir(x + i, j + 2, z + k); } - world.setBlock(x+i, j+3, z+k, AtumBlocks.largeBrick.blockID, 1, 0); + world.setBlock(x + i, j + 3, z + k, AtumBlocks.largeBrick.blockID, 1, 0); } } } - - world.setBlockToAir(i-1, j, k+zIn); - world.setBlockToAir(i-1, j+1, k+zIn); - world.setBlockToAir(i-2, j, k+zIn); - world.setBlockToAir(i-2, j+1, k+zIn); - world.setBlockToAir(i-3, j, k+zIn); - world.setBlockToAir(i-3, j+1, k+zIn); - world.setBlockToAir(i-4, j, k+zIn); - world.setBlockToAir(i-4, j+1, k+zIn); - - for(int y = 4; y < 8; y++) - { - for(int x = 6; x < 12; x++) - { - for(int z = 6; z < 12; z++) - { - world.setBlockToAir(i+x, j+y, k+z); + + world.setBlockToAir(i - 1, j, k + zIn); + world.setBlockToAir(i - 1, j + 1, k + zIn); + world.setBlockToAir(i - 2, j, k + zIn); + world.setBlockToAir(i - 2, j + 1, k + zIn); + world.setBlockToAir(i - 3, j, k + zIn); + world.setBlockToAir(i - 3, j + 1, k + zIn); + world.setBlockToAir(i - 4, j, k + zIn); + world.setBlockToAir(i - 4, j + 1, k + zIn); + + for (int y = 4; y < 8; y++) { + for (int x = 6; x < 12; x++) { + for (int z = 6; z < 12; z++) { + world.setBlockToAir(i + x, j + y, k + z); } } } - - world.setBlock(i+11, j+6, k+7, Block.torchWood.blockID, 2, 0); - world.setBlock(i+11, j+6, k+10, Block.torchWood.blockID, 2, 0); - - world.setBlock(i+ 10, j + 4, k + 8, AtumBlocks.pharaohChest.blockID, 0, 2); - try - { - TileEntityPharaohChest te = (TileEntityPharaohChest) world.getBlockTileEntity(i+ 10, j + 4, k + 8); + + world.setBlock(i + 11, j + 6, k + 7, Block.torchWood.blockID, 2, 0); + world.setBlock(i + 11, j + 6, k + 10, Block.torchWood.blockID, 2, 0); + + world.setBlock(i + 10, j + 4, k + 8, AtumBlocks.pharaohChest.blockID, 0, 2); + try { + TileEntityPharaohChest te = (TileEntityPharaohChest) world.getBlockTileEntity(i + 10, j + 4, k + 8); AtumLoot.fillChest(te, 15, 0.9f); - } catch(ClassCastException e){} - if(world.isAirBlock(i+7, j+1, k+7)) - { - placeLadders(world, i+7, j, k+7, 4); - }else{ + } catch (ClassCastException e) { + } + if (world.isAirBlock(i + 7, j + 1, k + 7)) { + placeLadders(world, i + 7, j, k + 7, 4); + } else { boolean found = false; - for(int dx = -1; dx <= 1; dx++) - { - if(found) + for (int dx = -1; dx <= 1; dx++) { + if (found) break; - - for(int dz = -1; dz <= 1; dz++) - { - if(world.isAirBlock(i+7+dx, j+1, k+7+dz)) - { - placeLadders(world, i+7+dx, j, k+7+dz, 3); + + for (int dz = -1; dz <= 1; dz++) { + if (world.isAirBlock(i + 7 + dx, j + 1, k + 7 + dz)) { + placeLadders(world, i + 7 + dx, j, k + 7 + dz, 3); found = true; break; } } } } - - - /*if(world.isAirBlock(i+7+1, j+1, k+7)) { - } - placeLadders(world, i+7+1, j+1, k+7, 4); - }else if(world.isAirBlock(i+7-1, j+1, k+7)) { - placeLadders(world, i+7-1, j+1, k+7, 4); - }else if(world.isAirBlock(i+7, j+1, k+7+1)) { - placeLadders(world, i+7, j+1, k+7+1, 4); - }else if(world.isAirBlock(i+7, j+1, k+7-1)) { - placeLadders(world, i+7, j+1, k+7-1, 4); - }*/ + + /* + * if(world.isAirBlock(i+7+1, j+1, k+7)) { } placeLadders(world, i+7+1, + * j+1, k+7, 4); }else if(world.isAirBlock(i+7-1, j+1, k+7)) { + * placeLadders(world, i+7-1, j+1, k+7, 4); }else + * if(world.isAirBlock(i+7, j+1, k+7+1)) { placeLadders(world, i+7, j+1, + * k+7+1, 4); }else if(world.isAirBlock(i+7, j+1, k+7-1)) { + * placeLadders(world, i+7, j+1, k+7-1, 4); } + */ return false; } - - public void placeTrap(World world, int x, int y, int z) - { - int meta = 0; - if (world.isBlockSolidOnSide(x, y, z + 1, NORTH)) - { - meta = 2;; - } - - if (world.isBlockSolidOnSide(x, y, z - 1, SOUTH)) - { - meta = 3; - } - - if (world.isBlockSolidOnSide(x + 1, y, z, WEST)) - { - meta = 4; - } - - if (world.isBlockSolidOnSide(x - 1, y, z, EAST)) - { - meta = 5; - } - - world.setBlock(x, y, z, AtumBlocks.trapArrow.blockID, meta, 0); + + public void placeTrap(World world, int x, int y, int z) { + int meta = 0; + if (world.isBlockSolidOnSide(x, y, z + 1, NORTH)) { + meta = 2; + ; + } + + if (world.isBlockSolidOnSide(x, y, z - 1, SOUTH)) { + meta = 3; + } + + if (world.isBlockSolidOnSide(x + 1, y, z, WEST)) { + meta = 4; + } + + if (world.isBlockSolidOnSide(x - 1, y, z, EAST)) { + meta = 5; + } + + world.setBlock(x, y, z, AtumBlocks.trapArrow.blockID, meta, 0); } - - public void placeLadders(World world, int x, int y, int z, int height) - { - int meta = 0; - if (world.isBlockSolidOnSide(x, y, z + 1, NORTH)) - { - meta = 2;; - } - - if (world.isBlockSolidOnSide(x, y, z - 1, SOUTH)) - { - meta = 3; - } - - if (world.isBlockSolidOnSide(x + 1, y, z, WEST)) - { - meta = 4; - } - - if (world.isBlockSolidOnSide(x - 1, y, z, EAST)) - { - meta = 5; - } - - for(int i = 0; i < height; i++) - world.setBlock(x, y+i, z, Block.ladder.blockID, meta, 0); + + public void placeLadders(World world, int x, int y, int z, int height) { + int meta = 0; + if (world.isBlockSolidOnSide(x, y, z + 1, NORTH)) { + meta = 2; + ; + } + + if (world.isBlockSolidOnSide(x, y, z - 1, SOUTH)) { + meta = 3; + } + + if (world.isBlockSolidOnSide(x + 1, y, z, WEST)) { + meta = 4; + } + + if (world.isBlockSolidOnSide(x - 1, y, z, EAST)) { + meta = 5; + } + + for (int i = 0; i < height; i++) + world.setBlock(x, y + i, z, Block.ladder.blockID, meta, 0); } - - public void generateMaze(boolean[][] array, Random random, int x, int y) - { + + public void generateMaze(boolean[][] array, Random random, int x, int y) { int dx = 0; int dy = 0; ArrayList choices = new ArrayList(); - do - { + do { choices.clear(); - if(x+2 < 16 && array[x+2][y] == false) + if (x + 2 < 16 && array[x + 2][y] == false) choices.add(new Pair(2, 0)); - if(x-2 >= 0 && array[x-2][y] == false) + if (x - 2 >= 0 && array[x - 2][y] == false) choices.add(new Pair(-2, 0)); - if(y+2 < 16 && array[x][y+2] == false) + if (y + 2 < 16 && array[x][y + 2] == false) choices.add(new Pair(0, 2)); - if(y-2 >= 0 && array[x][y-2] == false) + if (y - 2 >= 0 && array[x][y - 2] == false) choices.add(new Pair(0, -2)); - - if(choices.size() > 0) - { + + if (choices.size() > 0) { int i = random.nextInt(choices.size()); Pair choice = choices.get(i); choices.remove(i); - array[choice.x+x][choice.y+y] = true; - array[x + choice.x/2][y + choice.y/2] = true; - generateMaze(array, random, x+choice.x, y+choice.y); + array[choice.x + x][choice.y + y] = true; + array[x + choice.x / 2][y + choice.y / 2] = true; + generateMaze(array, random, x + choice.x, y + choice.y); } - - }while (choices.size() > 0); + + } while (choices.size() > 0); } -} +} \ No newline at end of file diff --git a/common/rebelkeithy/mods/atum/world/decorators/WorldGenRuins.java b/common/rebelkeithy/mods/atum/world/decorators/WorldGenRuins.java index c1ff0bc..a1c19ed 100644 --- a/common/rebelkeithy/mods/atum/world/decorators/WorldGenRuins.java +++ b/common/rebelkeithy/mods/atum/world/decorators/WorldGenRuins.java @@ -1,112 +1,92 @@ package rebelkeithy.mods.atum.world.decorators; import java.util.Random; - import net.minecraft.inventory.IInventory; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; import rebelkeithy.mods.atum.AtumBlocks; import rebelkeithy.mods.atum.AtumLoot; -public class WorldGenRuins extends WorldGenerator -{ +public class WorldGenRuins extends WorldGenerator { + + public boolean generate(World world, Random random, int i, int j, int k) { + int width = random.nextInt(4) + 6; + int depth = random.nextInt(2) + 5; + int height = world.getHeightValue(i, k); + int x2; + int z2; + if(world.getHeightValue(i + width, k + depth) >= height) { + x2 = i + width; + z2 = k + depth; + } else if(world.getHeightValue(i - width, k + depth) >= height) { + x2 = i - width; + z2 = k + depth; + } else if(world.getHeightValue(i + width, k - depth) >= height) { + x2 = i + width; + z2 = k - depth; + } else { + if(world.getHeightValue(i - width, k - depth) < height) { + return false; + } + + x2 = i - width; + z2 = k - depth; + } + + int chestX; + int chestZ; + int chestY; + for(chestX = Math.min(x2, i); chestX <= Math.max(x2, i); ++chestX) { + for(chestZ = Math.min(z2, k); chestZ <= Math.max(z2, k); ++chestZ) { + int meta = random.nextInt(4); + + for(chestY = -1; chestY < 15; ++chestY) { + if(chestX != x2 && chestZ != z2 && chestX != i && chestZ != k && chestY != -1) { + world.setBlockToAir(chestX, chestY + height, chestZ); + } else if(chestY < meta) { + if((double)random.nextFloat() > 0.1D) { + world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.largeBrick.blockID); + } else { + world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.smallBrick.blockID); + } + } else if(chestY == meta && (double)random.nextFloat() > 0.7D) { + if((double)random.nextFloat() > 0.1D) { + world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.slabs.blockID, 2, 0); + } else { + world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.slabs.blockID, 3, 0); + } + } + } + } + } - @Override - public boolean generate(World world, Random random, int i, int j, int k) - { - int width = random.nextInt(4) + 6; - int depth = random.nextInt(2) + 5; - - int x2; - int z2; - - int height = world.getHeightValue(i, k); - if(world.getHeightValue(i + width, k + depth) >= height) - { - x2 = i + width; - z2 = k + depth; - } else if(world.getHeightValue(i - width, k + depth) >= height) { - x2 = i - width; - z2 = k + depth; - }else if(world.getHeightValue(i + width, k - depth) >= height) { - x2 = i + width; - z2 = k - depth; - }else if(world.getHeightValue(i - width, k - depth) >= height) { - x2 = i - width; - z2 = k - depth; - }else{ - return false; - } + chestX = width / 2 + i; + chestZ = Math.max(z2, k) - 1; + boolean var16 = false; + if((double)random.nextFloat() > 0.5D) { + chestX = random.nextInt(width - 1) + 1 + Math.min(i, x2); + if((double)random.nextFloat() > 0.5D) { + chestZ = Math.max(z2, k) - 1; + var16 = true; + } else { + chestZ = Math.min(z2, k) + 1; + var16 = true; + } + } else { + chestZ = random.nextInt(depth - 1) + 1 + Math.min(k, z2); + if((double)random.nextFloat() > 0.5D) { + chestX = Math.max(x2, i) - 1; + var16 = true; + } else { + chestX = Math.min(x2, i) + 1; + var16 = true; + } + } - for(int x = Math.min(x2, i); x <= Math.max(x2, i); x++) - { - for(int z = Math.min(z2, k); z <= Math.max(z2, k); z++) - { - int wallHeight = random.nextInt(4); - for(int y = -1; y < 15; y++) - { - if(x == x2 || z == z2 || x == i || z == k || y == -1) - { - if(y < wallHeight) - { - if(random.nextFloat() > 0.1) - { - world.setBlock(x, y + height, z, AtumBlocks.largeBrick.blockID); - } else { - world.setBlock(x, y + height, z, AtumBlocks.smallBrick.blockID); - } - } else if(y == wallHeight) - { - if(random.nextFloat() > 0.7) - { - if(random.nextFloat() > 0.1) - { - world.setBlock(x, y + height, z, AtumBlocks.slabs.blockID, 2, 0); - } else { - world.setBlock(x, y + height, z, AtumBlocks.slabs.blockID, 3, 0); - } - } - } - } else { - world.setBlockToAir(x, y + height, z); - } - } - } - } - - - - int chestX = width/2 + i; - int chestZ = Math.max(z2, k) - 1; - int meta = 0; - if(random.nextFloat() > 0.5) - { - chestX = random.nextInt(width-1) + 1 + Math.min(i, x2); - if(random.nextFloat() > 0.5) - { - chestZ = Math.max(z2, k) - 1; - meta = 3; - } else { - chestZ = Math.min(z2, k) + 1; - meta = 1; - } - } else { - chestZ = random.nextInt(depth-1) + 1 + Math.min(k, z2); - if(random.nextFloat() > 0.5) - { - chestX = Math.max(x2, i) - 1; - meta = 2; - } else { - chestX = Math.min(x2, i) + 1; - meta = 4; - } - } - int chestY = world.getHeightValue(chestX, chestZ); - world.setBlock(chestX, chestY, chestZ, AtumBlocks.cursedChest.blockID, 0, 2); - IInventory chest = (IInventory) world.getBlockTileEntity(chestX, chestY, chestZ); - AtumLoot.fillChest(chest, 5, 0.5F); - - return false; - } - + chestY = world.getHeightValue(chestX, chestZ); + world.setBlock(chestX, chestY, chestZ, AtumBlocks.cursedChest.blockID, 0, 2); + IInventory chest = (IInventory)world.getBlockTileEntity(chestX, chestY, chestZ); + AtumLoot.fillChest(chest, 5, 0.5F); + return false; + } } diff --git a/common/rebelkeithy/mods/atum/world/decorators/WorldGenShrub.java b/common/rebelkeithy/mods/atum/world/decorators/WorldGenShrub.java index d72e10c..c67ad41 100644 --- a/common/rebelkeithy/mods/atum/world/decorators/WorldGenShrub.java +++ b/common/rebelkeithy/mods/atum/world/decorators/WorldGenShrub.java @@ -1,39 +1,34 @@ package rebelkeithy.mods.atum.world.decorators; import java.util.Random; - import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; import rebelkeithy.mods.atum.AtumBlocks; -public class WorldGenShrub extends WorldGenerator -{ - /** stores the ID for WorldGenDeadBush */ - private int deadBushID; - private int groupSize; - - public WorldGenShrub(int par1, int par2) - { - this.deadBushID = par1; - this.groupSize = par2; - } - - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) - { - int size = par2Random.nextInt(groupSize/2) + groupSize/2; - for (int i1 = 0; i1 < size; ++i1) - { - int range = 6; - int x = par3 + par2Random.nextInt(range+1) - range/2; - int z = par5 + par2Random.nextInt(range+1) - range/2; - int y = par1World.getHeightValue(x, z); - - if (par1World.isAirBlock(x, y, z) && AtumBlocks.shrub.canBlockStay(par1World, x, y, z)) - { - par1World.setBlock(x, y, z, deadBushID); - } - } - - return true; - } +public class WorldGenShrub extends WorldGenerator { + + private int deadBushID; + private int groupSize; + + + public WorldGenShrub(int par1, int par2) { + this.deadBushID = par1; + this.groupSize = par2; + } + + public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) { + int size = par2Random.nextInt(this.groupSize / 2) + this.groupSize / 2; + + for(int i1 = 0; i1 < size; ++i1) { + byte range = 6; + int x = par3 + par2Random.nextInt(range + 1) - range / 2; + int z = par5 + par2Random.nextInt(range + 1) - range / 2; + int y = par1World.getHeightValue(x, z); + if(par1World.isAirBlock(x, y, z) && AtumBlocks.shrub.canBlockStay(par1World, x, y, z)) { + par1World.setBlock(x, y, z, this.deadBushID); + } + } + + return true; + } } diff --git a/common/rebelkeithy/mods/metaitem/MetadataItem.java b/common/rebelkeithy/mods/metaitem/MetadataItem.java index 881a070..f8361d5 100644 --- a/common/rebelkeithy/mods/metaitem/MetadataItem.java +++ b/common/rebelkeithy/mods/metaitem/MetadataItem.java @@ -1,138 +1,109 @@ package rebelkeithy.mods.metaitem; +import java.io.PrintStream; import java.util.ArrayList; import java.util.List; - import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.EntityLiving; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -public class MetadataItem extends Item -{ - public class OutOffDamageValueBitsException extends RuntimeException { - public OutOffDamageValueBitsException(String message) { - super(message); - } - } - - public class DamageVariableDoesNotExistException extends RuntimeException { - public DamageVariableDoesNotExistException(String message) { - super(message); - } - } - - private List varNames; - private List varLengths; +public class MetadataItem extends Item { + private List varNames; + private List varLengths; int totalOffset; - - public MetadataItem(int par1) - { + + public MetadataItem(int par1) { super(par1); - varNames = new ArrayList(); - varLengths = new ArrayList(); - totalOffset = 0; + this.varNames = new ArrayList(); + this.varLengths = new ArrayList(); + this.totalOffset = 0; } - public void addDamageVariable(String name, int bitlength) - { - int prevMaxDamage = this.getMaxDamage(); - - this.setMaxDamage(this.getMaxDamage() << bitlength); - totalOffset += bitlength; - - varNames.add(name); - varLengths.add(bitlength); - - if(prevMaxDamage < getMaxDamage()) - { + public void addDamageVariable(String name, int bitlength) { + int prevMaxDamage = getMaxDamage(); + + setMaxDamage(getMaxDamage() << bitlength); + this.totalOffset += bitlength; + + this.varNames.add(name); + this.varLengths.add(Integer.valueOf(bitlength)); + + if (prevMaxDamage < getMaxDamage()) { throw new OutOffDamageValueBitsException("Variable " + name + " of length " + bitlength + " caused max damage value to shift off the left"); } } - - public int getVar(int damage, String name) - { + + public int getVar(int damage, String name) { return getDamageVariable(damage, name); } - - public int getVar(ItemStack stack, String name) - { + + public int getVar(ItemStack stack, String name) { return getDamageVariable(stack, name); } - - public int getDamageVariable(ItemStack stack, String name) - { + + public int getDamageVariable(ItemStack stack, String name) { int damage = stack.getItemDamage(); - + return getDamageVariable(damage, name); } - - public int getDamageVariable(int damage, String name) - { - if(!varNames.contains(name)) + + public int getDamageVariable(int damage, String name) { + if (!this.varNames.contains(name)) { throw new DamageVariableDoesNotExistException("Items does not contain damage variable: " + name); - - for(int i = 0; i < varNames.size(); i++) - { - int length = varLengths.get(i); - if(varNames.get(i).equals(name)) - { - int mask = ~(Integer.MAX_VALUE << length); - damage = damage & mask; + } + for (int i = 0; i < this.varNames.size(); i++) { + int length = ((Integer) this.varLengths.get(i)).intValue(); + if (((String) this.varNames.get(i)).equals(name)) { + int mask = 2147483647 << length ^ 0xFFFFFFFF; + damage &= mask; break; - } else { - damage = damage >> length; } + damage >>= length; } - + return damage; } - /** - * set max damage of an Item - */ - @Override - public Item setMaxDamage(int par1) - { - long shiftedDamageLong = ((long)par1) << totalOffset; - int shiftedDamage = (int)shiftedDamageLong; - if(shiftedDamage != shiftedDamageLong) - throw new OutOffDamageValueBitsException("Setting damage to " + par1 + " caused an integer overflow. Damage variables use " + totalOffset + " bits"); - System.out.println(); - return super.setMaxDamage(shiftedDamage); - } - - /** - * Returns the maximum damage an item can take. - */ - @Override - public int getMaxDamage() - { - //return 0; - return super.getMaxDamage() >> totalOffset; - } - - public void damageItem(ItemStack stack, int amount, EntityLiving entity) - { - stack.damageItem(amount << totalOffset, entity); - } - - public void getSubItems(String string, int amount, int par1, CreativeTabs par2CreativeTabs, List par3List) - { + public Item setMaxDamage(int par1) { + long shiftedDamageLong = par1 << this.totalOffset; + int shiftedDamage = (int) shiftedDamageLong; + if (shiftedDamage != shiftedDamageLong) + throw new OutOffDamageValueBitsException("Setting damage to " + par1 + " caused an integer overflow. Damage variables use " + this.totalOffset + " bits"); + return super.setMaxDamage(shiftedDamage); + } + + public int getMaxDamage() { + return super.getMaxDamage() >> this.totalOffset; + } + + public void damageItem(ItemStack stack, int amount, EntityLiving entity) { + stack.damageItem(amount << this.totalOffset, entity); + } + + public void getSubItems(String string, int amount, int par1, CreativeTabs par2CreativeTabs, List par3List) { int offset = 0; - for(int i = 0; i < varNames.size(); i++) - { - if(varNames.get(i).equals(string)) - { + for (int i = 0; i < this.varNames.size(); i++) { + if (((String) this.varNames.get(i)).equals(string)) { break; - } else { - offset += varLengths.get(i); } + offset += ((Integer) this.varLengths.get(i)).intValue(); + } + + for (int i = 0; i < amount; i++) { + par3List.add(new ItemStack(par1, 1, i << offset)); + } + } + + public class DamageVariableDoesNotExistException extends RuntimeException { + public DamageVariableDoesNotExistException(String message) { + super(); + } + } + + public class OutOffDamageValueBitsException extends RuntimeException { + public OutOffDamageValueBitsException(String message) { + super(); } - - for (int i = 0; i < amount; i++) - { - par3List.add(new ItemStack(par1, 1, i << offset)); - } } -} +} \ No newline at end of file diff --git a/common/rebelkeithy/mods/particleregistry/ParticleRegistry.java b/common/rebelkeithy/mods/particleregistry/ParticleRegistry.java index 49a3212..411ecfb 100644 --- a/common/rebelkeithy/mods/particleregistry/ParticleRegistry.java +++ b/common/rebelkeithy/mods/particleregistry/ParticleRegistry.java @@ -1,64 +1,55 @@ package rebelkeithy.mods.particleregistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import java.lang.reflect.Constructor; -import java.lang.reflect.InvocationTargetException; import java.util.HashMap; import java.util.Map; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - import net.minecraft.client.Minecraft; import net.minecraft.client.particle.EntityFX; import net.minecraft.world.World; -public class ParticleRegistry -{ - private static Map> particleList = new HashMap>(); +public class ParticleRegistry { + + private static Map particleList = new HashMap(); + + + public static void registerParticle(String name, Class particle) { + particleList.put(name, particle); + } + + @SideOnly(Side.CLIENT) + public static void spawnParticle(String string, World par1World, double x, double y, double z, double dx, double dy, double dz, double r, double g, double b) { + Class entityClass = (Class)particleList.get(string); + if(entityClass != null) { + try { + Constructor entityConstructor = entityClass.getConstructor(new Class[]{World.class, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE}); + if(entityConstructor != null) { + EntityFX e = (EntityFX)entityConstructor.newInstance(new Object[]{par1World, Double.valueOf(x), Double.valueOf(y), Double.valueOf(z), Double.valueOf(dx), Double.valueOf(dy), Double.valueOf(dz), Double.valueOf(r), Double.valueOf(g), Double.valueOf(b)}); + Minecraft.getMinecraft().effectRenderer.addEffect(e); + } + } catch (Exception var23) { + var23.printStackTrace(); + } + } + + } - public static void registerParticle(String name, Class particle) - { - particleList.put(name, particle); - } + @SideOnly(Side.CLIENT) + public static void spawnParticle(String string, World par1World, double x, double y, double z, double r, double g, double b) { + Class entityClass = (Class)particleList.get(string); + if(entityClass != null) { + try { + Constructor entityConstructor = entityClass.getConstructor(new Class[]{World.class, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE}); + if(entityConstructor != null) { + EntityFX e = (EntityFX)entityConstructor.newInstance(new Object[]{par1World, Double.valueOf(x), Double.valueOf(y), Double.valueOf(z), Double.valueOf(r), Double.valueOf(g), Double.valueOf(b)}); + Minecraft.getMinecraft().effectRenderer.addEffect(e); + } + } catch (Exception var17) { + var17.printStackTrace(); + } + } - @SideOnly(Side.CLIENT) - public static void spawnParticle(String string, World par1World, double x, double y, double z, double dx, double dy, double dz, double r, double g, double b) - { - Class entityClass = particleList.get(string); - if(entityClass != null) - { - Constructor entityConstructor; - try { - entityConstructor = entityClass.getConstructor(World.class, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE); - if(entityConstructor != null) - { - EntityFX entity = (EntityFX) entityConstructor.newInstance(par1World, x, y, z, dx, dy, dz, r, g, b); - Minecraft.getMinecraft().effectRenderer.addEffect(entity); - } - } catch (Exception e) { - e.printStackTrace(); - } - } - } + } - @SideOnly(Side.CLIENT) - public static void spawnParticle(String string, World par1World, double x, double y, double z, double r, double g, double b) - { - Class entityClass = particleList.get(string); - if(entityClass != null) - { - Constructor entityConstructor; - try { - entityConstructor = entityClass.getConstructor(World.class, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE); - if(entityConstructor != null) - { - EntityFX entity = (EntityFX) entityConstructor.newInstance(par1World, x, y, z, r, g, b); - //entity.setRBGColorF((float)r, (float)g, (float)b); - Minecraft.getMinecraft().effectRenderer.addEffect(entity); - } - } catch (Exception e) { - e.printStackTrace(); - } - } - } -} \ No newline at end of file +} diff --git a/resources/armor/diamond_1.png b/resources/armor/diamond_1.png deleted file mode 100644 index 14fecf2113d32da96d4c6952447d59f7bdce2c32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1906 zcmV-&2aWiNP)b=x3$8$E z`jQ78`@dCDq&`-aA~lsNM2Qp?(niJ?N`Ts+1P9#MU}Jkcb7szM?>_8dNJFVB5o1C3 z+ZpY1`PN?FWvvnHuxitnY`(RHf8YT5))p!(p(+*f?K&94ji3EW@ER|@-#~));J_Ve=drMfm%E^yUK)ynP52Mc6dOS_?sduJj;$pEqIc2!Lrev3ZV3 zQ><}0FSJHVi9bC2<^xbP8Z_qT+=Y~+t1IZAwZ}-$bHUe_5L$zg z-I|iEt?fMkCQUd~U!tgQq5JxY7Z)g+O>}QBs$3@9*yz&KT5C@({H;6w)@CkSTNKp3 z_!BnIQBfKH;6Ya|I$c62&BT*?*t|gcz5_u@yeL9ft9uWCDwk<3E;!2Hxx?-EfBnLo z9KU@P={;+IH%|WYxxL3{uUHZI2q}?4fGu)NJ8@uCDqu_(92o?AUj%pi1-0o*79c!) z7>vQB88**Izx@`W)Sio}SN8JbvsbK)B7~Hfq|MyeFJ5aE`NpgrPvO+koHcPw(P+55 z-($*--??T@lAxk8vRr2R;OI+zkKAz*tk<3T3qzi^%)MOg2M?I5oks*djT>{jKMMPA zy+!tT4R7BNCXV+U02zi%tSzD{6;!2X_W@|%zfaLT@cR2nmX{Hphboo! zz6*^1F2t_@%c}! z4BW_^t*zk=3}D)AWEdiY(9IV~f@!xAp69elPY=4cmvm*tIakK)*lpy?0+2mf=lbDO z_y-QSvDg^qYUdgK>|^`gU@D_ysHlwY>t}X!3f0p~zFntix0oHBqBe8cj(+yB9lQDm zTbsUQ=W6FMtu{hwZcbh7-eb~~>qkyA^X?=z%do~UKmHzbweuto9}+JtFgrTM?9sEB zH2vW$u@@rfd7P;)J)=~oP~M!n$mpMcXLWx+bG7sQJXxWLo0z1{WZyDEDOXs9JA?W0 z_c&8uLPZf*^*-l8T0_3M;j~8M0W$EhnVTYyUHilZP_6P|yv~OvMpvr{rT9&<#Yb5k zq14NFfgN+G6R^-4;dx!7bYg9h^4KvK*yh(1+jVS~IV}JPArMLAM&<6wAtf>_fpkhxJ_SKatdvZ~%kF-_rb%~yys&^Qm0V5(GAv=* z?)k|#OGwYBh?_KT-NK}at3Oh*eSNy?Uhh5tQAE*bbUq+KmP*bttyr0is=ts;PuJHFRV2NTjX6j+ahh;wGO*2bqkQT@mWI$wF&n5ID*kgYK=OdwMD2 z*!hj$XMi7cr_WuTD^QY|pH5IdI^s?sOPM`-mh#9b!uQD@J!0;}1%w}vEH9(N5_2am z&~x%6-r!)D0eOAvKQcggUgu;T18nC0T*>QOd6-DSu#Q{_4alch6yYB}i z%gam-AHb$5McgD^S>eo~B~+#2>~F0({m)ydO2q~2`J6NB&KM0tOdQj$*RffSH!z3@ ze3#==BEFM{))@SueV8nz@%I}DA-mR_&>EZP{%NQ_*yk36=hDfP|O`VZxvkZTD zm~3?wZ~uORw|`8&v57x4)MDEEOyyG_2m&CSUVp3Akd&;MvEW5=FZ>uEy!tFK-t zq)y!Wi+yUi3MnzIHYRDm62nx>Fhq7n%IN3_$u~<}KXRJ0=_-wTcPSnI3D#PQW`p$6 zYDXBA(0zS8b(6opZcct6j?Z4PCQVS~GQ#u!tBRZ(Ik#sDQ`Dv}*`n1#Na^}!r(gkH s`y1nix}x1eR~_|>?QMiouf4JHFZuj~E`Od`lK=n!07*qoM6N<$g17&sb^rhX diff --git a/resources/armor/diamond_2.png b/resources/armor/diamond_2.png deleted file mode 100644 index 2cca05667ced578ee5fa9407d345adfae9068ef8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 687 zcmV;g0#N;lP)pHQAtEWRA@u(mwPKkK@`P(9PjJR#b;Gg zk`zhuE^m@o$SZI1CP|UB&2M!!@~_++cc!L0bI#0d*4k^YJ*S``w#YzaATkgchzvvq zA_I|u$UtNuG7uSv3`7R@nA!h5`d+?PUvD)5Wc6Cg>490w$lX08Z-nG<~s4>C%|y7Ugx{sjS)JEBQc z0Yqm^q)SFR<@yd71^Arz#RKi>R{)^=;-lK1R0RMM@xq=Kl}9@Bj}%F&0G@$zs1lG< z)YqzCR}<^Yrg~+dMg46WQ*D%9!C%~XIS2O-{>RUe6OZvbfE+#?jHq%bcYMGU4|RMV zG?2t$t2U=a7VAE)&dI$&50d5;1r?z#K+#Am#=igi9yjGb?=eIXbpQx3{w)Dup5ZU@ znBXf;fT~PT5Ge-XG)$NE?mz6wi2{Dguu>*~anEo<@D)!juQF0ia<6E9yOGo(#XZQ& zG5_UN=%?rV_5GxfM-DK4ks^|$5}+xefJ7l$AEL`MavlQNkBa06VXli;=(+e7c?bJZ VF64Q<>O}wm002ovPDHLkV1l##F=7A! diff --git a/resources/mods/Atum/music/LittleLullaby.ogg b/resources/assets/atum/music/ALongJourney.ogg similarity index 100% rename from resources/mods/Atum/music/LittleLullaby.ogg rename to resources/assets/atum/music/ALongJourney.ogg diff --git a/resources/mods/Atum/music/LongLost.ogg b/resources/assets/atum/music/Hostiles.ogg similarity index 100% rename from resources/mods/Atum/music/LongLost.ogg rename to resources/assets/atum/music/Hostiles.ogg diff --git a/resources/mods/Atum/music/ScorchingSand.ogg b/resources/assets/atum/music/ScorchingSand.ogg similarity index 100% rename from resources/mods/Atum/music/ScorchingSand.ogg rename to resources/assets/atum/music/ScorchingSand.ogg diff --git a/resources/mods/Atum/music/TempleTales.ogg b/resources/assets/atum/music/TempleTales.ogg similarity index 100% rename from resources/mods/Atum/music/TempleTales.ogg rename to resources/assets/atum/music/TempleTales.ogg diff --git a/resources/mods/Atum/music/WearyWanderer.ogg b/resources/assets/atum/music/TheWanderer.ogg similarity index 100% rename from resources/mods/Atum/music/WearyWanderer.ogg rename to resources/assets/atum/music/TheWanderer.ogg diff --git a/resources/mods/Atum/sounds/pharaohspawn.ogg b/resources/assets/atum/sound/pharaohspawn.ogg similarity index 100% rename from resources/mods/Atum/sounds/pharaohspawn.ogg rename to resources/assets/atum/sound/pharaohspawn.ogg diff --git a/resources/armor/DesertArmor_1.png b/resources/assets/atum/textures/armor/DesertArmor_1.png similarity index 100% rename from resources/armor/DesertArmor_1.png rename to resources/assets/atum/textures/armor/DesertArmor_1.png diff --git a/resources/armor/DesertArmor_2.png b/resources/assets/atum/textures/armor/DesertArmor_2.png similarity index 100% rename from resources/armor/DesertArmor_2.png rename to resources/assets/atum/textures/armor/DesertArmor_2.png diff --git a/resources/armor/EgyptianArmor_1.png b/resources/assets/atum/textures/armor/EgyptianArmor_1.png similarity index 100% rename from resources/armor/EgyptianArmor_1.png rename to resources/assets/atum/textures/armor/EgyptianArmor_1.png diff --git a/resources/armor/EgyptianArmor_2.png b/resources/assets/atum/textures/armor/EgyptianArmor_2.png similarity index 100% rename from resources/armor/EgyptianArmor_2.png rename to resources/assets/atum/textures/armor/EgyptianArmor_2.png diff --git a/resources/armor/MummyArmor_1.png b/resources/assets/atum/textures/armor/MummyArmor_1.png similarity index 100% rename from resources/armor/MummyArmor_1.png rename to resources/assets/atum/textures/armor/MummyArmor_1.png diff --git a/resources/armor/MummyArmor_2.png b/resources/assets/atum/textures/armor/MummyArmor_2.png similarity index 100% rename from resources/armor/MummyArmor_2.png rename to resources/assets/atum/textures/armor/MummyArmor_2.png diff --git a/resources/armor/RubyArtifactArmor_1.png b/resources/assets/atum/textures/armor/RubyArtifactArmor_1.png similarity index 100% rename from resources/armor/RubyArtifactArmor_1.png rename to resources/assets/atum/textures/armor/RubyArtifactArmor_1.png diff --git a/resources/armor/RubyArtifactArmor_2.png b/resources/assets/atum/textures/armor/RubyArtifactArmor_2.png similarity index 100% rename from resources/armor/RubyArtifactArmor_2.png rename to resources/assets/atum/textures/armor/RubyArtifactArmor_2.png diff --git a/resources/armor/WandererArmor_1.png b/resources/assets/atum/textures/armor/WandererArmor_1.png similarity index 100% rename from resources/armor/WandererArmor_1.png rename to resources/assets/atum/textures/armor/WandererArmor_1.png diff --git a/resources/armor/WandererArmor_1_old.png b/resources/assets/atum/textures/armor/WandererArmor_1_old.png similarity index 100% rename from resources/armor/WandererArmor_1_old.png rename to resources/assets/atum/textures/armor/WandererArmor_1_old.png diff --git a/resources/armor/WandererArmor_2.png b/resources/assets/atum/textures/armor/WandererArmor_2.png similarity index 100% rename from resources/armor/WandererArmor_2.png rename to resources/assets/atum/textures/armor/WandererArmor_2.png diff --git a/resources/mods/Atum/textures/blocks/AtumBrickCarved.png b/resources/assets/atum/textures/blocks/AtumBrickCarved.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumBrickCarved.png rename to resources/assets/atum/textures/blocks/AtumBrickCarved.png diff --git a/resources/mods/Atum/textures/blocks/AtumBrickLarge.png b/resources/assets/atum/textures/blocks/AtumBrickLarge.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumBrickLarge.png rename to resources/assets/atum/textures/blocks/AtumBrickLarge.png diff --git a/resources/mods/Atum/textures/blocks/AtumBrickSmall.png b/resources/assets/atum/textures/blocks/AtumBrickSmall.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumBrickSmall.png rename to resources/assets/atum/textures/blocks/AtumBrickSmall.png diff --git a/resources/mods/Atum/textures/blocks/AtumCoal.png b/resources/assets/atum/textures/blocks/AtumCoal.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumCoal.png rename to resources/assets/atum/textures/blocks/AtumCoal.png diff --git a/resources/mods/Atum/textures/blocks/AtumCobble.png b/resources/assets/atum/textures/blocks/AtumCobble.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumCobble.png rename to resources/assets/atum/textures/blocks/AtumCobble.png diff --git a/resources/mods/Atum/textures/blocks/AtumCrackedLargeBrick.png b/resources/assets/atum/textures/blocks/AtumCrackedLargeBrick.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumCrackedLargeBrick.png rename to resources/assets/atum/textures/blocks/AtumCrackedLargeBrick.png diff --git a/resources/mods/Atum/textures/blocks/AtumCrystalGlass.png b/resources/assets/atum/textures/blocks/AtumCrystalGlass.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumCrystalGlass.png rename to resources/assets/atum/textures/blocks/AtumCrystalGlass.png diff --git a/resources/mods/Atum/textures/blocks/AtumDate.png b/resources/assets/atum/textures/blocks/AtumDate.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumDate.png rename to resources/assets/atum/textures/blocks/AtumDate.png diff --git a/resources/mods/Atum/textures/blocks/AtumDiamond.png b/resources/assets/atum/textures/blocks/AtumDiamond.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumDiamond.png rename to resources/assets/atum/textures/blocks/AtumDiamond.png diff --git a/resources/mods/Atum/textures/blocks/AtumFramedGlass.png b/resources/assets/atum/textures/blocks/AtumFramedGlass.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumFramedGlass.png rename to resources/assets/atum/textures/blocks/AtumFramedGlass.png diff --git a/resources/mods/Atum/textures/blocks/AtumGold.png b/resources/assets/atum/textures/blocks/AtumGold.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumGold.png rename to resources/assets/atum/textures/blocks/AtumGold.png diff --git a/resources/mods/Atum/textures/blocks/AtumIron.png b/resources/assets/atum/textures/blocks/AtumIron.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumIron.png rename to resources/assets/atum/textures/blocks/AtumIron.png diff --git a/resources/mods/Atum/textures/blocks/AtumLapis.png b/resources/assets/atum/textures/blocks/AtumLapis.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumLapis.png rename to resources/assets/atum/textures/blocks/AtumLapis.png diff --git a/resources/mods/Atum/textures/blocks/AtumLeaves.png b/resources/assets/atum/textures/blocks/AtumLeaves.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumLeaves.png rename to resources/assets/atum/textures/blocks/AtumLeaves.png diff --git a/resources/mods/Atum/textures/blocks/AtumPalmSapling.png b/resources/assets/atum/textures/blocks/AtumPalmSapling.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumPalmSapling.png rename to resources/assets/atum/textures/blocks/AtumPalmSapling.png diff --git a/resources/mods/Atum/textures/blocks/AtumPapyrus.png b/resources/assets/atum/textures/blocks/AtumPapyrus.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumPapyrus.png rename to resources/assets/atum/textures/blocks/AtumPapyrus.png diff --git a/resources/mods/Atum/textures/blocks/AtumPapyrusTop.png b/resources/assets/atum/textures/blocks/AtumPapyrusTop.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumPapyrusTop.png rename to resources/assets/atum/textures/blocks/AtumPapyrusTop.png diff --git a/resources/mods/Atum/textures/blocks/AtumRedstone.png b/resources/assets/atum/textures/blocks/AtumRedstone.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumRedstone.png rename to resources/assets/atum/textures/blocks/AtumRedstone.png diff --git a/resources/mods/Atum/textures/blocks/AtumSand.png b/resources/assets/atum/textures/blocks/AtumSand.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumSand.png rename to resources/assets/atum/textures/blocks/AtumSand.png diff --git a/resources/mods/Atum/textures/blocks/AtumStone.png b/resources/assets/atum/textures/blocks/AtumStone.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumStone.png rename to resources/assets/atum/textures/blocks/AtumStone.png diff --git a/resources/mods/Atum/textures/blocks/AtumiteOre.png b/resources/assets/atum/textures/blocks/AtumiteOre.png similarity index 100% rename from resources/mods/Atum/textures/blocks/AtumiteOre.png rename to resources/assets/atum/textures/blocks/AtumiteOre.png diff --git a/resources/mods/Atum/textures/blocks/deadbush.png b/resources/assets/atum/textures/blocks/DeadBush.png similarity index 100% rename from resources/mods/Atum/textures/blocks/deadbush.png rename to resources/assets/atum/textures/blocks/DeadBush.png diff --git a/resources/mods/Atum/textures/blocks/FertileSoil.png b/resources/assets/atum/textures/blocks/FertileSoil.png similarity index 100% rename from resources/mods/Atum/textures/blocks/FertileSoil.png rename to resources/assets/atum/textures/blocks/FertileSoil.png diff --git a/resources/mods/Atum/textures/blocks/FertileSoilSide.png b/resources/assets/atum/textures/blocks/FertileSoilSide.png similarity index 100% rename from resources/mods/Atum/textures/blocks/FertileSoilSide.png rename to resources/assets/atum/textures/blocks/FertileSoilSide.png diff --git a/resources/mods/Atum/textures/blocks/FertileSoilTop.png b/resources/assets/atum/textures/blocks/FertileSoilTop.png similarity index 100% rename from resources/mods/Atum/textures/blocks/FertileSoilTop.png rename to resources/assets/atum/textures/blocks/FertileSoilTop.png diff --git a/resources/mods/Atum/textures/blocks/Flax_0.png b/resources/assets/atum/textures/blocks/Flax_0.png similarity index 100% rename from resources/mods/Atum/textures/blocks/Flax_0.png rename to resources/assets/atum/textures/blocks/Flax_0.png diff --git a/resources/mods/Atum/textures/blocks/Flax_1.png b/resources/assets/atum/textures/blocks/Flax_1.png similarity index 100% rename from resources/mods/Atum/textures/blocks/Flax_1.png rename to resources/assets/atum/textures/blocks/Flax_1.png diff --git a/resources/mods/Atum/textures/blocks/Flax_2.png b/resources/assets/atum/textures/blocks/Flax_2.png similarity index 100% rename from resources/mods/Atum/textures/blocks/Flax_2.png rename to resources/assets/atum/textures/blocks/Flax_2.png diff --git a/resources/mods/Atum/textures/blocks/Flax_3.png b/resources/assets/atum/textures/blocks/Flax_3.png similarity index 100% rename from resources/mods/Atum/textures/blocks/Flax_3.png rename to resources/assets/atum/textures/blocks/Flax_3.png diff --git a/resources/mods/Atum/textures/blocks/Flax_4.png b/resources/assets/atum/textures/blocks/Flax_4.png similarity index 100% rename from resources/mods/Atum/textures/blocks/Flax_4.png rename to resources/assets/atum/textures/blocks/Flax_4.png diff --git a/resources/mods/Atum/textures/blocks/Flax_5.png b/resources/assets/atum/textures/blocks/Flax_5.png similarity index 100% rename from resources/mods/Atum/textures/blocks/Flax_5.png rename to resources/assets/atum/textures/blocks/Flax_5.png diff --git a/resources/mods/Atum/textures/blocks/FurnaceBurning.png b/resources/assets/atum/textures/blocks/FurnaceBurning.png similarity index 100% rename from resources/mods/Atum/textures/blocks/FurnaceBurning.png rename to resources/assets/atum/textures/blocks/FurnaceBurning.png diff --git a/resources/mods/Atum/textures/blocks/FurnaceFront.png b/resources/assets/atum/textures/blocks/FurnaceFront.png similarity index 100% rename from resources/mods/Atum/textures/blocks/FurnaceFront.png rename to resources/assets/atum/textures/blocks/FurnaceFront.png diff --git a/resources/mods/Atum/textures/blocks/FurnaceTop.png b/resources/assets/atum/textures/blocks/FurnaceTop.png similarity index 100% rename from resources/mods/Atum/textures/blocks/FurnaceTop.png rename to resources/assets/atum/textures/blocks/FurnaceTop.png diff --git a/resources/mods/Atum/textures/blocks/PapyrusPlantItem.png b/resources/assets/atum/textures/blocks/PapyrusPlantItem.png similarity index 100% rename from resources/mods/Atum/textures/blocks/PapyrusPlantItem.png rename to resources/assets/atum/textures/blocks/PapyrusPlantItem.png diff --git a/resources/mods/Atum/textures/blocks/Planks.png b/resources/assets/atum/textures/blocks/Planks.png similarity index 100% rename from resources/mods/Atum/textures/blocks/Planks.png rename to resources/assets/atum/textures/blocks/Planks.png diff --git a/resources/mods/Atum/textures/blocks/Shrub.png b/resources/assets/atum/textures/blocks/Shrub.png similarity index 100% rename from resources/mods/Atum/textures/blocks/Shrub.png rename to resources/assets/atum/textures/blocks/Shrub.png diff --git a/resources/mods/Atum/textures/blocks/TrapFire.png b/resources/assets/atum/textures/blocks/TrapFire.png similarity index 100% rename from resources/mods/Atum/textures/blocks/TrapFire.png rename to resources/assets/atum/textures/blocks/TrapFire.png diff --git a/resources/mods/Atum/textures/blocks/TrapSide.png b/resources/assets/atum/textures/blocks/TrapSide.png similarity index 100% rename from resources/mods/Atum/textures/blocks/TrapSide.png rename to resources/assets/atum/textures/blocks/TrapSide.png diff --git a/resources/mods/Atum/textures/blocks/Weed.png b/resources/assets/atum/textures/blocks/Weed.png similarity index 100% rename from resources/mods/Atum/textures/blocks/Weed.png rename to resources/assets/atum/textures/blocks/Weed.png diff --git a/resources/assets/atum/textures/blocks/portal.mcmeta b/resources/assets/atum/textures/blocks/portal.mcmeta new file mode 100644 index 0000000..4f0718a --- /dev/null +++ b/resources/assets/atum/textures/blocks/portal.mcmeta @@ -0,0 +1,3 @@ +{ + "animation": {} +} \ No newline at end of file diff --git a/resources/mods/Atum/textures/blocks/portal.png b/resources/assets/atum/textures/blocks/portal.png similarity index 100% rename from resources/mods/Atum/textures/blocks/portal.png rename to resources/assets/atum/textures/blocks/portal.png diff --git a/resources/mods/Atum/textures/blocks/stonebricksmooth_mossy.png b/resources/assets/atum/textures/blocks/stonebricksmooth_mossy.png similarity index 100% rename from resources/mods/Atum/textures/blocks/stonebricksmooth_mossy.png rename to resources/assets/atum/textures/blocks/stonebricksmooth_mossy.png diff --git a/resources/mods/Atum/textures/blocks/thinglass_top.png b/resources/assets/atum/textures/blocks/thinglass_top.png similarity index 100% rename from resources/mods/Atum/textures/blocks/thinglass_top.png rename to resources/assets/atum/textures/blocks/thinglass_top.png diff --git a/resources/mods/Atum/textures/blocks/tree_side.png b/resources/assets/atum/textures/blocks/tree_side.png similarity index 100% rename from resources/mods/Atum/textures/blocks/tree_side.png rename to resources/assets/atum/textures/blocks/tree_side.png diff --git a/resources/mods/Atum/textures/blocks/tree_top.png b/resources/assets/atum/textures/blocks/tree_top.png similarity index 100% rename from resources/mods/Atum/textures/blocks/tree_top.png rename to resources/assets/atum/textures/blocks/tree_top.png diff --git a/resources/mods/Atum/textures/mobs/BanditArcher.png b/resources/assets/atum/textures/entities/BanditArcher.png similarity index 100% rename from resources/mods/Atum/textures/mobs/BanditArcher.png rename to resources/assets/atum/textures/entities/BanditArcher.png diff --git a/resources/mods/Atum/textures/mobs/BanditWarlord.png b/resources/assets/atum/textures/entities/BanditWarlord.png similarity index 100% rename from resources/mods/Atum/textures/mobs/BanditWarlord.png rename to resources/assets/atum/textures/entities/BanditWarlord.png diff --git a/resources/mods/Atum/textures/mobs/BanditWarrior.png b/resources/assets/atum/textures/entities/BanditWarrior.png similarity index 100% rename from resources/mods/Atum/textures/mobs/BanditWarrior.png rename to resources/assets/atum/textures/entities/BanditWarrior.png diff --git a/resources/mods/Atum/textures/mobs/Barbarian.png b/resources/assets/atum/textures/entities/Barbarian.png similarity index 100% rename from resources/mods/Atum/textures/mobs/Barbarian.png rename to resources/assets/atum/textures/entities/Barbarian.png diff --git a/resources/mods/Atum/textures/mobs/Bonestorm.png b/resources/assets/atum/textures/entities/Bonestorm.png similarity index 100% rename from resources/mods/Atum/textures/mobs/Bonestorm.png rename to resources/assets/atum/textures/entities/Bonestorm.png diff --git a/resources/mods/Atum/textures/mobs/DesertGhost.png b/resources/assets/atum/textures/entities/DesertGhost.png similarity index 100% rename from resources/mods/Atum/textures/mobs/DesertGhost.png rename to resources/assets/atum/textures/entities/DesertGhost.png diff --git a/resources/mods/Atum/textures/mobs/DesertWolf.png b/resources/assets/atum/textures/entities/DesertWolf.png similarity index 100% rename from resources/mods/Atum/textures/mobs/DesertWolf.png rename to resources/assets/atum/textures/entities/DesertWolf.png diff --git a/resources/mods/Atum/textures/mobs/DesertWolf_angry.png b/resources/assets/atum/textures/entities/DesertWolf_angry.png similarity index 100% rename from resources/mods/Atum/textures/mobs/DesertWolf_angry.png rename to resources/assets/atum/textures/entities/DesertWolf_angry.png diff --git a/resources/mods/Atum/textures/mobs/DesertWolf_tame.png b/resources/assets/atum/textures/entities/DesertWolf_tame.png similarity index 100% rename from resources/mods/Atum/textures/mobs/DesertWolf_tame.png rename to resources/assets/atum/textures/entities/DesertWolf_tame.png diff --git a/resources/mods/Atum/textures/mobs/DustySkeleton.png b/resources/assets/atum/textures/entities/DustySkeleton.png similarity index 100% rename from resources/mods/Atum/textures/mobs/DustySkeleton.png rename to resources/assets/atum/textures/entities/DustySkeleton.png diff --git a/resources/mods/Atum/textures/mobs/Mummy.png b/resources/assets/atum/textures/entities/Mummy.png similarity index 100% rename from resources/mods/Atum/textures/mobs/Mummy.png rename to resources/assets/atum/textures/entities/Mummy.png diff --git a/resources/mods/Atum/textures/mobs/PharaohBlue.png b/resources/assets/atum/textures/entities/PharaohBlue.png similarity index 100% rename from resources/mods/Atum/textures/mobs/PharaohBlue.png rename to resources/assets/atum/textures/entities/PharaohBlue.png diff --git a/resources/mods/Atum/textures/mobs/PharaohBlue_old.png b/resources/assets/atum/textures/entities/PharaohBlue_old.png similarity index 100% rename from resources/mods/Atum/textures/mobs/PharaohBlue_old.png rename to resources/assets/atum/textures/entities/PharaohBlue_old.png diff --git a/resources/mods/Atum/textures/mobs/PharaohGreen.png b/resources/assets/atum/textures/entities/PharaohGreen.png similarity index 100% rename from resources/mods/Atum/textures/mobs/PharaohGreen.png rename to resources/assets/atum/textures/entities/PharaohGreen.png diff --git a/resources/mods/Atum/textures/mobs/PharaohRed.png b/resources/assets/atum/textures/entities/PharaohRed.png similarity index 100% rename from resources/mods/Atum/textures/mobs/PharaohRed.png rename to resources/assets/atum/textures/entities/PharaohRed.png diff --git a/resources/mods/Atum/textures/mobs/StoneSoldier.png b/resources/assets/atum/textures/entities/StoneSoldier.png similarity index 100% rename from resources/mods/Atum/textures/mobs/StoneSoldier.png rename to resources/assets/atum/textures/entities/StoneSoldier.png diff --git a/resources/mods/Atum/textures/hud/mummyblur.png b/resources/assets/atum/textures/hud/mummyblur.png similarity index 100% rename from resources/mods/Atum/textures/hud/mummyblur.png rename to resources/assets/atum/textures/hud/mummyblur.png diff --git a/resources/mods/Atum/textures/items/AkersToil.png b/resources/assets/atum/textures/items/AkersToil.png similarity index 100% rename from resources/mods/Atum/textures/items/AkersToil.png rename to resources/assets/atum/textures/items/AkersToil.png diff --git a/resources/mods/Atum/textures/items/AmunetsHomecoming.png b/resources/assets/atum/textures/items/AmunetsHomecoming.png similarity index 100% rename from resources/mods/Atum/textures/items/AmunetsHomecoming.png rename to resources/assets/atum/textures/items/AmunetsHomecoming.png diff --git a/resources/mods/Atum/textures/items/Anhur's Might.png b/resources/assets/atum/textures/items/Anhur's Might.png similarity index 100% rename from resources/mods/Atum/textures/items/Anhur's Might.png rename to resources/assets/atum/textures/items/Anhur's Might.png diff --git a/resources/mods/Atum/textures/items/AnhursMight.png b/resources/assets/atum/textures/items/AnhursMight.png similarity index 100% rename from resources/mods/Atum/textures/items/AnhursMight.png rename to resources/assets/atum/textures/items/AnhursMight.png diff --git a/resources/mods/Atum/textures/items/AnubisMercy.png b/resources/assets/atum/textures/items/AnubisMercy.png similarity index 100% rename from resources/mods/Atum/textures/items/AnubisMercy.png rename to resources/assets/atum/textures/items/AnubisMercy.png diff --git a/resources/mods/Atum/textures/items/AnuketsBounty.png b/resources/assets/atum/textures/items/AnuketsBounty.png similarity index 100% rename from resources/mods/Atum/textures/items/AnuketsBounty.png rename to resources/assets/atum/textures/items/AnuketsBounty.png diff --git a/resources/mods/Atum/textures/items/Arrow.png b/resources/assets/atum/textures/items/Arrow.png similarity index 100% rename from resources/mods/Atum/textures/items/Arrow.png rename to resources/assets/atum/textures/items/Arrow.png diff --git a/resources/mods/Atum/textures/items/ArrowEntity.png b/resources/assets/atum/textures/items/ArrowEntity.png similarity index 100% rename from resources/mods/Atum/textures/items/ArrowEntity.png rename to resources/assets/atum/textures/items/ArrowEntity.png diff --git a/resources/mods/Atum/textures/items/AtensFury.png b/resources/assets/atum/textures/items/AtensFury.png similarity index 100% rename from resources/mods/Atum/textures/items/AtensFury.png rename to resources/assets/atum/textures/items/AtensFury.png diff --git a/resources/mods/Atum/textures/items/Bow.png b/resources/assets/atum/textures/items/Bow.png similarity index 100% rename from resources/mods/Atum/textures/items/Bow.png rename to resources/assets/atum/textures/items/Bow.png diff --git a/resources/mods/Atum/textures/items/ClothScrap.png b/resources/assets/atum/textures/items/ClothScrap.png similarity index 100% rename from resources/mods/Atum/textures/items/ClothScrap.png rename to resources/assets/atum/textures/items/ClothScrap.png diff --git a/resources/mods/Atum/textures/items/Date.png b/resources/assets/atum/textures/items/Date.png similarity index 100% rename from resources/mods/Atum/textures/items/Date.png rename to resources/assets/atum/textures/items/Date.png diff --git a/resources/mods/Atum/textures/items/DesertBoots.png b/resources/assets/atum/textures/items/DesertBoots.png similarity index 100% rename from resources/mods/Atum/textures/items/DesertBoots.png rename to resources/assets/atum/textures/items/DesertBoots.png diff --git a/resources/mods/Atum/textures/items/DesertChest.png b/resources/assets/atum/textures/items/DesertChest.png similarity index 100% rename from resources/mods/Atum/textures/items/DesertChest.png rename to resources/assets/atum/textures/items/DesertChest.png diff --git a/resources/mods/Atum/textures/items/DesertHelmet.png b/resources/assets/atum/textures/items/DesertHelmet.png similarity index 100% rename from resources/mods/Atum/textures/items/DesertHelmet.png rename to resources/assets/atum/textures/items/DesertHelmet.png diff --git a/resources/mods/Atum/textures/items/DesertLegs.png b/resources/assets/atum/textures/items/DesertLegs.png similarity index 100% rename from resources/mods/Atum/textures/items/DesertLegs.png rename to resources/assets/atum/textures/items/DesertLegs.png diff --git a/resources/mods/Atum/textures/items/DiamondBroach.png b/resources/assets/atum/textures/items/DiamondBroach.png similarity index 100% rename from resources/mods/Atum/textures/items/DiamondBroach.png rename to resources/assets/atum/textures/items/DiamondBroach.png diff --git a/resources/mods/Atum/textures/items/DiamondIdol.png b/resources/assets/atum/textures/items/DiamondIdol.png similarity index 100% rename from resources/mods/Atum/textures/items/DiamondIdol.png rename to resources/assets/atum/textures/items/DiamondIdol.png diff --git a/resources/mods/Atum/textures/items/DiamondNecklace.png b/resources/assets/atum/textures/items/DiamondNecklace.png similarity index 100% rename from resources/mods/Atum/textures/items/DiamondNecklace.png rename to resources/assets/atum/textures/items/DiamondNecklace.png diff --git a/resources/mods/Atum/textures/items/DiamondRing.png b/resources/assets/atum/textures/items/DiamondRing.png similarity index 100% rename from resources/mods/Atum/textures/items/DiamondRing.png rename to resources/assets/atum/textures/items/DiamondRing.png diff --git a/resources/mods/Atum/textures/items/DiamondScepter.png b/resources/assets/atum/textures/items/DiamondScepter.png similarity index 100% rename from resources/mods/Atum/textures/items/DiamondScepter.png rename to resources/assets/atum/textures/items/DiamondScepter.png diff --git a/resources/mods/Atum/textures/items/DirtyBroach.png b/resources/assets/atum/textures/items/DirtyBroach.png similarity index 100% rename from resources/mods/Atum/textures/items/DirtyBroach.png rename to resources/assets/atum/textures/items/DirtyBroach.png diff --git a/resources/mods/Atum/textures/items/DirtyIdol.png b/resources/assets/atum/textures/items/DirtyIdol.png similarity index 100% rename from resources/mods/Atum/textures/items/DirtyIdol.png rename to resources/assets/atum/textures/items/DirtyIdol.png diff --git a/resources/mods/Atum/textures/items/DirtyNecklace.png b/resources/assets/atum/textures/items/DirtyNecklace.png similarity index 100% rename from resources/mods/Atum/textures/items/DirtyNecklace.png rename to resources/assets/atum/textures/items/DirtyNecklace.png diff --git a/resources/mods/Atum/textures/items/DirtyRing.png b/resources/assets/atum/textures/items/DirtyRing.png similarity index 100% rename from resources/mods/Atum/textures/items/DirtyRing.png rename to resources/assets/atum/textures/items/DirtyRing.png diff --git a/resources/mods/Atum/textures/items/DirtyScepter.png b/resources/assets/atum/textures/items/DirtyScepter.png similarity index 100% rename from resources/mods/Atum/textures/items/DirtyScepter.png rename to resources/assets/atum/textures/items/DirtyScepter.png diff --git a/resources/mods/Atum/textures/items/Ectoplasm.png b/resources/assets/atum/textures/items/Ectoplasm.png similarity index 100% rename from resources/mods/Atum/textures/items/Ectoplasm.png rename to resources/assets/atum/textures/items/Ectoplasm.png diff --git a/resources/mods/Atum/textures/items/EmeraldBroach.png b/resources/assets/atum/textures/items/EmeraldBroach.png similarity index 100% rename from resources/mods/Atum/textures/items/EmeraldBroach.png rename to resources/assets/atum/textures/items/EmeraldBroach.png diff --git a/resources/mods/Atum/textures/items/EmeraldIdol.png b/resources/assets/atum/textures/items/EmeraldIdol.png similarity index 100% rename from resources/mods/Atum/textures/items/EmeraldIdol.png rename to resources/assets/atum/textures/items/EmeraldIdol.png diff --git a/resources/mods/Atum/textures/items/EmeraldNecklace.png b/resources/assets/atum/textures/items/EmeraldNecklace.png similarity index 100% rename from resources/mods/Atum/textures/items/EmeraldNecklace.png rename to resources/assets/atum/textures/items/EmeraldNecklace.png diff --git a/resources/mods/Atum/textures/items/EmeraldRing.png b/resources/assets/atum/textures/items/EmeraldRing.png similarity index 100% rename from resources/mods/Atum/textures/items/EmeraldRing.png rename to resources/assets/atum/textures/items/EmeraldRing.png diff --git a/resources/mods/Atum/textures/items/EmeraldScepter.png b/resources/assets/atum/textures/items/EmeraldScepter.png similarity index 100% rename from resources/mods/Atum/textures/items/EmeraldScepter.png rename to resources/assets/atum/textures/items/EmeraldScepter.png diff --git a/resources/mods/Atum/textures/items/Fish0.png b/resources/assets/atum/textures/items/Fish0.png similarity index 100% rename from resources/mods/Atum/textures/items/Fish0.png rename to resources/assets/atum/textures/items/Fish0.png diff --git a/resources/mods/Atum/textures/items/Fish1.png b/resources/assets/atum/textures/items/Fish1.png similarity index 100% rename from resources/mods/Atum/textures/items/Fish1.png rename to resources/assets/atum/textures/items/Fish1.png diff --git a/resources/mods/Atum/textures/items/Fish2.png b/resources/assets/atum/textures/items/Fish2.png similarity index 100% rename from resources/mods/Atum/textures/items/Fish2.png rename to resources/assets/atum/textures/items/Fish2.png diff --git a/resources/mods/Atum/textures/items/Fish3.png b/resources/assets/atum/textures/items/Fish3.png similarity index 100% rename from resources/mods/Atum/textures/items/Fish3.png rename to resources/assets/atum/textures/items/Fish3.png diff --git a/resources/mods/Atum/textures/items/Fish4.png b/resources/assets/atum/textures/items/Fish4.png similarity index 100% rename from resources/mods/Atum/textures/items/Fish4.png rename to resources/assets/atum/textures/items/Fish4.png diff --git a/resources/mods/Atum/textures/items/FlaxItem.png b/resources/assets/atum/textures/items/FlaxItem.png similarity index 100% rename from resources/mods/Atum/textures/items/FlaxItem.png rename to resources/assets/atum/textures/items/FlaxItem.png diff --git a/resources/mods/Atum/textures/items/FlaxSeeds.png b/resources/assets/atum/textures/items/FlaxSeeds.png similarity index 100% rename from resources/mods/Atum/textures/items/FlaxSeeds.png rename to resources/assets/atum/textures/items/FlaxSeeds.png diff --git a/resources/mods/Atum/textures/items/GebsBlessing.png b/resources/assets/atum/textures/items/GebsBlessing.png similarity index 100% rename from resources/mods/Atum/textures/items/GebsBlessing.png rename to resources/assets/atum/textures/items/GebsBlessing.png diff --git a/resources/mods/Atum/textures/items/GebsSolidarity.png b/resources/assets/atum/textures/items/GebsSolidarity.png similarity index 100% rename from resources/mods/Atum/textures/items/GebsSolidarity.png rename to resources/assets/atum/textures/items/GebsSolidarity.png diff --git a/resources/mods/Atum/textures/items/GoldBroach.png b/resources/assets/atum/textures/items/GoldBroach.png similarity index 100% rename from resources/mods/Atum/textures/items/GoldBroach.png rename to resources/assets/atum/textures/items/GoldBroach.png diff --git a/resources/mods/Atum/textures/items/GoldIdol.png b/resources/assets/atum/textures/items/GoldIdol.png similarity index 100% rename from resources/mods/Atum/textures/items/GoldIdol.png rename to resources/assets/atum/textures/items/GoldIdol.png diff --git a/resources/mods/Atum/textures/items/GoldNecklace.png b/resources/assets/atum/textures/items/GoldNecklace.png similarity index 100% rename from resources/mods/Atum/textures/items/GoldNecklace.png rename to resources/assets/atum/textures/items/GoldNecklace.png diff --git a/resources/mods/Atum/textures/items/GoldRing.png b/resources/assets/atum/textures/items/GoldRing.png similarity index 100% rename from resources/mods/Atum/textures/items/GoldRing.png rename to resources/assets/atum/textures/items/GoldRing.png diff --git a/resources/mods/Atum/textures/items/GoldScepter.png b/resources/assets/atum/textures/items/GoldScepter.png similarity index 100% rename from resources/mods/Atum/textures/items/GoldScepter.png rename to resources/assets/atum/textures/items/GoldScepter.png diff --git a/resources/mods/Atum/textures/items/Greatsword.png b/resources/assets/atum/textures/items/Greatsword.png similarity index 100% rename from resources/mods/Atum/textures/items/Greatsword.png rename to resources/assets/atum/textures/items/Greatsword.png diff --git a/resources/mods/Atum/textures/items/HedetetsSting.png b/resources/assets/atum/textures/items/HedetetsSting.png similarity index 100% rename from resources/mods/Atum/textures/items/HedetetsSting.png rename to resources/assets/atum/textures/items/HedetetsSting.png diff --git a/resources/mods/Atum/textures/items/HedetetsVenom.png b/resources/assets/atum/textures/items/HedetetsVenom.png similarity index 100% rename from resources/mods/Atum/textures/items/HedetetsVenom.png rename to resources/assets/atum/textures/items/HedetetsVenom.png diff --git a/resources/mods/Atum/textures/items/HedetetsVenom_pull_0.png b/resources/assets/atum/textures/items/HedetetsVenom_pull_0.png similarity index 100% rename from resources/mods/Atum/textures/items/HedetetsVenom_pull_0.png rename to resources/assets/atum/textures/items/HedetetsVenom_pull_0.png diff --git a/resources/mods/Atum/textures/items/HedetetsVenom_pull_1.png b/resources/assets/atum/textures/items/HedetetsVenom_pull_1.png similarity index 100% rename from resources/mods/Atum/textures/items/HedetetsVenom_pull_1.png rename to resources/assets/atum/textures/items/HedetetsVenom_pull_1.png diff --git a/resources/mods/Atum/textures/items/HedetetsVenom_pull_2.png b/resources/assets/atum/textures/items/HedetetsVenom_pull_2.png similarity index 100% rename from resources/mods/Atum/textures/items/HedetetsVenom_pull_2.png rename to resources/assets/atum/textures/items/HedetetsVenom_pull_2.png diff --git a/resources/mods/Atum/textures/items/HorusFlight.png b/resources/assets/atum/textures/items/HorusFlight.png similarity index 100% rename from resources/mods/Atum/textures/items/HorusFlight.png rename to resources/assets/atum/textures/items/HorusFlight.png diff --git a/resources/mods/Atum/textures/items/HorusSoaring.png b/resources/assets/atum/textures/items/HorusSoaring.png similarity index 100% rename from resources/mods/Atum/textures/items/HorusSoaring.png rename to resources/assets/atum/textures/items/HorusSoaring.png diff --git a/resources/mods/Atum/textures/items/HorusSoaring_pull_0.png b/resources/assets/atum/textures/items/HorusSoaring_pull_0.png similarity index 100% rename from resources/mods/Atum/textures/items/HorusSoaring_pull_0.png rename to resources/assets/atum/textures/items/HorusSoaring_pull_0.png diff --git a/resources/mods/Atum/textures/items/HorusSoaring_pull_1.png b/resources/assets/atum/textures/items/HorusSoaring_pull_1.png similarity index 100% rename from resources/mods/Atum/textures/items/HorusSoaring_pull_1.png rename to resources/assets/atum/textures/items/HorusSoaring_pull_1.png diff --git a/resources/mods/Atum/textures/items/HorusSoaring_pull_2.png b/resources/assets/atum/textures/items/HorusSoaring_pull_2.png similarity index 100% rename from resources/mods/Atum/textures/items/HorusSoaring_pull_2.png rename to resources/assets/atum/textures/items/HorusSoaring_pull_2.png diff --git a/resources/mods/Atum/textures/items/IsisEmbrace.png b/resources/assets/atum/textures/items/IsisEmbrace.png similarity index 100% rename from resources/mods/Atum/textures/items/IsisEmbrace.png rename to resources/assets/atum/textures/items/IsisEmbrace.png diff --git a/resources/mods/Atum/textures/items/IsisHealing.png b/resources/assets/atum/textures/items/IsisHealing.png similarity index 100% rename from resources/mods/Atum/textures/items/IsisHealing.png rename to resources/assets/atum/textures/items/IsisHealing.png diff --git a/resources/mods/Atum/textures/items/LimestoneAxe.png b/resources/assets/atum/textures/items/LimestoneAxe.png similarity index 100% rename from resources/mods/Atum/textures/items/LimestoneAxe.png rename to resources/assets/atum/textures/items/LimestoneAxe.png diff --git a/resources/mods/Atum/textures/items/LimestoneHoe.png b/resources/assets/atum/textures/items/LimestoneHoe.png similarity index 100% rename from resources/mods/Atum/textures/items/LimestoneHoe.png rename to resources/assets/atum/textures/items/LimestoneHoe.png diff --git a/resources/mods/Atum/textures/items/LimestonePickaxe.png b/resources/assets/atum/textures/items/LimestonePickaxe.png similarity index 100% rename from resources/mods/Atum/textures/items/LimestonePickaxe.png rename to resources/assets/atum/textures/items/LimestonePickaxe.png diff --git a/resources/mods/Atum/textures/items/LimestoneShovel.png b/resources/assets/atum/textures/items/LimestoneShovel.png similarity index 100% rename from resources/mods/Atum/textures/items/LimestoneShovel.png rename to resources/assets/atum/textures/items/LimestoneShovel.png diff --git a/resources/mods/Atum/textures/items/LimestoneSword.png b/resources/assets/atum/textures/items/LimestoneSword.png similarity index 100% rename from resources/mods/Atum/textures/items/LimestoneSword.png rename to resources/assets/atum/textures/items/LimestoneSword.png diff --git a/resources/mods/Atum/textures/items/Linen.png b/resources/assets/atum/textures/items/Linen.png similarity index 100% rename from resources/mods/Atum/textures/items/Linen.png rename to resources/assets/atum/textures/items/Linen.png diff --git a/resources/mods/Atum/textures/items/MaatsBalance.png b/resources/assets/atum/textures/items/MaatsBalance.png similarity index 100% rename from resources/mods/Atum/textures/items/MaatsBalance.png rename to resources/assets/atum/textures/items/MaatsBalance.png diff --git a/resources/mods/Atum/textures/items/MafdetsQuickness.png b/resources/assets/atum/textures/items/MafdetsQuickness.png similarity index 100% rename from resources/mods/Atum/textures/items/MafdetsQuickness.png rename to resources/assets/atum/textures/items/MafdetsQuickness.png diff --git a/resources/mods/Atum/textures/items/MnevisHorns.png b/resources/assets/atum/textures/items/MnevisHorns.png similarity index 100% rename from resources/mods/Atum/textures/items/MnevisHorns.png rename to resources/assets/atum/textures/items/MnevisHorns.png diff --git a/resources/mods/Atum/textures/items/MonthusBlast.png b/resources/assets/atum/textures/items/MonthusBlast.png similarity index 100% rename from resources/mods/Atum/textures/items/MonthusBlast.png rename to resources/assets/atum/textures/items/MonthusBlast.png diff --git a/resources/mods/Atum/textures/items/MonthusBlast_pull_0.png b/resources/assets/atum/textures/items/MonthusBlast_pull_0.png similarity index 100% rename from resources/mods/Atum/textures/items/MonthusBlast_pull_0.png rename to resources/assets/atum/textures/items/MonthusBlast_pull_0.png diff --git a/resources/mods/Atum/textures/items/MonthusBlast_pull_1.png b/resources/assets/atum/textures/items/MonthusBlast_pull_1.png similarity index 100% rename from resources/mods/Atum/textures/items/MonthusBlast_pull_1.png rename to resources/assets/atum/textures/items/MonthusBlast_pull_1.png diff --git a/resources/mods/Atum/textures/items/MonthusBlast_pull_2.png b/resources/assets/atum/textures/items/MonthusBlast_pull_2.png similarity index 100% rename from resources/mods/Atum/textures/items/MonthusBlast_pull_2.png rename to resources/assets/atum/textures/items/MonthusBlast_pull_2.png diff --git a/resources/mods/Atum/textures/items/MonthusStrike.png b/resources/assets/atum/textures/items/MonthusStrike.png similarity index 100% rename from resources/mods/Atum/textures/items/MonthusStrike.png rename to resources/assets/atum/textures/items/MonthusStrike.png diff --git a/resources/mods/Atum/textures/items/MummyBoots.png b/resources/assets/atum/textures/items/MummyBoots.png similarity index 100% rename from resources/mods/Atum/textures/items/MummyBoots.png rename to resources/assets/atum/textures/items/MummyBoots.png diff --git a/resources/mods/Atum/textures/items/MummyChest.png b/resources/assets/atum/textures/items/MummyChest.png similarity index 100% rename from resources/mods/Atum/textures/items/MummyChest.png rename to resources/assets/atum/textures/items/MummyChest.png diff --git a/resources/mods/Atum/textures/items/MummyHelmet.png b/resources/assets/atum/textures/items/MummyHelmet.png similarity index 100% rename from resources/mods/Atum/textures/items/MummyHelmet.png rename to resources/assets/atum/textures/items/MummyHelmet.png diff --git a/resources/mods/Atum/textures/items/MummyLegs.png b/resources/assets/atum/textures/items/MummyLegs.png similarity index 100% rename from resources/mods/Atum/textures/items/MummyLegs.png rename to resources/assets/atum/textures/items/MummyLegs.png diff --git a/resources/mods/Atum/textures/items/NeithsAudacity.png b/resources/assets/atum/textures/items/NeithsAudacity.png similarity index 100% rename from resources/mods/Atum/textures/items/NeithsAudacity.png rename to resources/assets/atum/textures/items/NeithsAudacity.png diff --git a/resources/mods/Atum/textures/items/NusFlux.png b/resources/assets/atum/textures/items/NusFlux.png similarity index 100% rename from resources/mods/Atum/textures/items/NusFlux.png rename to resources/assets/atum/textures/items/NusFlux.png diff --git a/resources/mods/Atum/textures/items/NutsAgility.png b/resources/assets/atum/textures/items/NutsAgility.png similarity index 100% rename from resources/mods/Atum/textures/items/NutsAgility.png rename to resources/assets/atum/textures/items/NutsAgility.png diff --git a/resources/mods/Atum/textures/items/NutsCall.png b/resources/assets/atum/textures/items/NutsCall.png similarity index 100% rename from resources/mods/Atum/textures/items/NutsCall.png rename to resources/assets/atum/textures/items/NutsCall.png diff --git a/resources/mods/Atum/textures/items/OsirisWill.png b/resources/assets/atum/textures/items/OsirisWill.png similarity index 100% rename from resources/mods/Atum/textures/items/OsirisWill.png rename to resources/assets/atum/textures/items/OsirisWill.png diff --git a/resources/mods/Atum/textures/items/PapyrusPlantItem.png b/resources/assets/atum/textures/items/PapyrusPlantItem.png similarity index 100% rename from resources/mods/Atum/textures/items/PapyrusPlantItem.png rename to resources/assets/atum/textures/items/PapyrusPlantItem.png diff --git a/resources/mods/Atum/textures/items/ptahsDecadence.png b/resources/assets/atum/textures/items/PtahsDecadence.png similarity index 100% rename from resources/mods/Atum/textures/items/ptahsDecadence.png rename to resources/assets/atum/textures/items/PtahsDecadence.png diff --git a/resources/mods/Atum/textures/items/PtahsDestruction.png b/resources/assets/atum/textures/items/PtahsDestruction.png similarity index 100% rename from resources/mods/Atum/textures/items/PtahsDestruction.png rename to resources/assets/atum/textures/items/PtahsDestruction.png diff --git a/resources/mods/Atum/textures/items/RasGlory.png b/resources/assets/atum/textures/items/RasGlory.png similarity index 100% rename from resources/mods/Atum/textures/items/RasGlory.png rename to resources/assets/atum/textures/items/RasGlory.png diff --git a/resources/mods/Atum/textures/items/RubyBroach.png b/resources/assets/atum/textures/items/RubyBroach.png similarity index 100% rename from resources/mods/Atum/textures/items/RubyBroach.png rename to resources/assets/atum/textures/items/RubyBroach.png diff --git a/resources/mods/Atum/textures/items/RubyIdol.png b/resources/assets/atum/textures/items/RubyIdol.png similarity index 100% rename from resources/mods/Atum/textures/items/RubyIdol.png rename to resources/assets/atum/textures/items/RubyIdol.png diff --git a/resources/mods/Atum/textures/items/RubyNecklace.png b/resources/assets/atum/textures/items/RubyNecklace.png similarity index 100% rename from resources/mods/Atum/textures/items/RubyNecklace.png rename to resources/assets/atum/textures/items/RubyNecklace.png diff --git a/resources/mods/Atum/textures/items/RubyRing.png b/resources/assets/atum/textures/items/RubyRing.png similarity index 100% rename from resources/mods/Atum/textures/items/RubyRing.png rename to resources/assets/atum/textures/items/RubyRing.png diff --git a/resources/mods/Atum/textures/items/RubyScepter.png b/resources/assets/atum/textures/items/RubyScepter.png similarity index 100% rename from resources/mods/Atum/textures/items/RubyScepter.png rename to resources/assets/atum/textures/items/RubyScepter.png diff --git a/resources/mods/Atum/textures/items/SapphireBroach.png b/resources/assets/atum/textures/items/SapphireBroach.png similarity index 100% rename from resources/mods/Atum/textures/items/SapphireBroach.png rename to resources/assets/atum/textures/items/SapphireBroach.png diff --git a/resources/mods/Atum/textures/items/SapphireIdol.png b/resources/assets/atum/textures/items/SapphireIdol.png similarity index 100% rename from resources/mods/Atum/textures/items/SapphireIdol.png rename to resources/assets/atum/textures/items/SapphireIdol.png diff --git a/resources/mods/Atum/textures/items/SapphireNecklace.png b/resources/assets/atum/textures/items/SapphireNecklace.png similarity index 100% rename from resources/mods/Atum/textures/items/SapphireNecklace.png rename to resources/assets/atum/textures/items/SapphireNecklace.png diff --git a/resources/mods/Atum/textures/items/SapphireRing.png b/resources/assets/atum/textures/items/SapphireRing.png similarity index 100% rename from resources/mods/Atum/textures/items/SapphireRing.png rename to resources/assets/atum/textures/items/SapphireRing.png diff --git a/resources/mods/Atum/textures/items/SapphireScepter.png b/resources/assets/atum/textures/items/SapphireScepter.png similarity index 100% rename from resources/mods/Atum/textures/items/SapphireScepter.png rename to resources/assets/atum/textures/items/SapphireScepter.png diff --git a/resources/mods/Atum/textures/items/Scarab.png b/resources/assets/atum/textures/items/Scarab.png similarity index 100% rename from resources/mods/Atum/textures/items/Scarab.png rename to resources/assets/atum/textures/items/Scarab.png diff --git a/resources/mods/Atum/textures/items/Scepter.png b/resources/assets/atum/textures/items/Scepter.png similarity index 100% rename from resources/mods/Atum/textures/items/Scepter.png rename to resources/assets/atum/textures/items/Scepter.png diff --git a/resources/mods/Atum/textures/items/Scimitar.png b/resources/assets/atum/textures/items/Scimitar.png similarity index 100% rename from resources/mods/Atum/textures/items/Scimitar.png rename to resources/assets/atum/textures/items/Scimitar.png diff --git a/resources/mods/Atum/textures/items/Scroll.png b/resources/assets/atum/textures/items/Scroll.png similarity index 100% rename from resources/mods/Atum/textures/items/Scroll.png rename to resources/assets/atum/textures/items/Scroll.png diff --git a/resources/mods/Atum/textures/items/SekhmetsWrath.png b/resources/assets/atum/textures/items/SekhmetsWrath.png similarity index 100% rename from resources/mods/Atum/textures/items/SekhmetsWrath.png rename to resources/assets/atum/textures/items/SekhmetsWrath.png diff --git a/resources/mods/Atum/textures/items/ShusBreath.png b/resources/assets/atum/textures/items/ShusBreath.png similarity index 100% rename from resources/mods/Atum/textures/items/ShusBreath.png rename to resources/assets/atum/textures/items/ShusBreath.png diff --git a/resources/mods/Atum/textures/items/ShusBreath_pull_0.png b/resources/assets/atum/textures/items/ShusBreath_pull_0.png similarity index 100% rename from resources/mods/Atum/textures/items/ShusBreath_pull_0.png rename to resources/assets/atum/textures/items/ShusBreath_pull_0.png diff --git a/resources/mods/Atum/textures/items/ShusBreath_pull_1.png b/resources/assets/atum/textures/items/ShusBreath_pull_1.png similarity index 100% rename from resources/mods/Atum/textures/items/ShusBreath_pull_1.png rename to resources/assets/atum/textures/items/ShusBreath_pull_1.png diff --git a/resources/mods/Atum/textures/items/ShusBreath_pull_2.png b/resources/assets/atum/textures/items/ShusBreath_pull_2.png similarity index 100% rename from resources/mods/Atum/textures/items/ShusBreath_pull_2.png rename to resources/assets/atum/textures/items/ShusBreath_pull_2.png diff --git a/resources/mods/Atum/textures/items/SilverBroach.png b/resources/assets/atum/textures/items/SilverBroach.png similarity index 100% rename from resources/mods/Atum/textures/items/SilverBroach.png rename to resources/assets/atum/textures/items/SilverBroach.png diff --git a/resources/mods/Atum/textures/items/SilverIdol.png b/resources/assets/atum/textures/items/SilverIdol.png similarity index 100% rename from resources/mods/Atum/textures/items/SilverIdol.png rename to resources/assets/atum/textures/items/SilverIdol.png diff --git a/resources/mods/Atum/textures/items/SilverNecklace.png b/resources/assets/atum/textures/items/SilverNecklace.png similarity index 100% rename from resources/mods/Atum/textures/items/SilverNecklace.png rename to resources/assets/atum/textures/items/SilverNecklace.png diff --git a/resources/mods/Atum/textures/items/SilverRing.png b/resources/assets/atum/textures/items/SilverRing.png similarity index 100% rename from resources/mods/Atum/textures/items/SilverRing.png rename to resources/assets/atum/textures/items/SilverRing.png diff --git a/resources/mods/Atum/textures/items/SilverScepter.png b/resources/assets/atum/textures/items/SilverScepter.png similarity index 100% rename from resources/mods/Atum/textures/items/SilverScepter.png rename to resources/assets/atum/textures/items/SilverScepter.png diff --git a/resources/mods/Atum/textures/items/SoteksRage.png b/resources/assets/atum/textures/items/SobeksRage.png similarity index 100% rename from resources/mods/Atum/textures/items/SoteksRage.png rename to resources/assets/atum/textures/items/SobeksRage.png diff --git a/resources/mods/Atum/textures/items/StoneChunk.png b/resources/assets/atum/textures/items/StoneChunk.png similarity index 100% rename from resources/mods/Atum/textures/items/StoneChunk.png rename to resources/assets/atum/textures/items/StoneChunk.png diff --git a/resources/mods/Atum/textures/items/StoneSoldierSword.png b/resources/assets/atum/textures/items/StoneSoldierSword.png similarity index 100% rename from resources/mods/Atum/textures/items/StoneSoldierSword.png rename to resources/assets/atum/textures/items/StoneSoldierSword.png diff --git a/resources/mods/Atum/textures/items/WandererBoots.png b/resources/assets/atum/textures/items/WandererBoots.png similarity index 100% rename from resources/mods/Atum/textures/items/WandererBoots.png rename to resources/assets/atum/textures/items/WandererBoots.png diff --git a/resources/mods/Atum/textures/items/WandererChest.png b/resources/assets/atum/textures/items/WandererChest.png similarity index 100% rename from resources/mods/Atum/textures/items/WandererChest.png rename to resources/assets/atum/textures/items/WandererChest.png diff --git a/resources/mods/Atum/textures/items/WandererHelmet.png b/resources/assets/atum/textures/items/WandererHelmet.png similarity index 100% rename from resources/mods/Atum/textures/items/WandererHelmet.png rename to resources/assets/atum/textures/items/WandererHelmet.png diff --git a/resources/mods/Atum/textures/items/WandererLegs.png b/resources/assets/atum/textures/items/WandererLegs.png similarity index 100% rename from resources/mods/Atum/textures/items/WandererLegs.png rename to resources/assets/atum/textures/items/WandererLegs.png diff --git a/resources/mods/Atum/textures/items/WolfPelt.png b/resources/assets/atum/textures/items/WolfPelt.png similarity index 100% rename from resources/mods/Atum/textures/items/WolfPelt.png rename to resources/assets/atum/textures/items/WolfPelt.png diff --git a/resources/mods/Atum/textures/items/atens_pull_0.png b/resources/assets/atum/textures/items/atens_pull_0.png similarity index 100% rename from resources/mods/Atum/textures/items/atens_pull_0.png rename to resources/assets/atum/textures/items/atens_pull_0.png diff --git a/resources/mods/Atum/textures/items/atens_pull_1.png b/resources/assets/atum/textures/items/atens_pull_1.png similarity index 100% rename from resources/mods/Atum/textures/items/atens_pull_1.png rename to resources/assets/atum/textures/items/atens_pull_1.png diff --git a/resources/mods/Atum/textures/items/atens_pull_2.png b/resources/assets/atum/textures/items/atens_pull_2.png similarity index 100% rename from resources/mods/Atum/textures/items/atens_pull_2.png rename to resources/assets/atum/textures/items/atens_pull_2.png diff --git a/resources/mods/Atum/textures/items/bow_pull_0.png b/resources/assets/atum/textures/items/bow_pull_0.png similarity index 100% rename from resources/mods/Atum/textures/items/bow_pull_0.png rename to resources/assets/atum/textures/items/bow_pull_0.png diff --git a/resources/mods/Atum/textures/items/bow_pull_1.png b/resources/assets/atum/textures/items/bow_pull_1.png similarity index 100% rename from resources/mods/Atum/textures/items/bow_pull_1.png rename to resources/assets/atum/textures/items/bow_pull_1.png diff --git a/resources/mods/Atum/textures/items/bow_pull_2.png b/resources/assets/atum/textures/items/bow_pull_2.png similarity index 100% rename from resources/mods/Atum/textures/items/bow_pull_2.png rename to resources/assets/atum/textures/items/bow_pull_2.png diff --git a/resources/mods/Atum/textures/items/neiths_pull_0.png b/resources/assets/atum/textures/items/neiths_pull_0.png similarity index 100% rename from resources/mods/Atum/textures/items/neiths_pull_0.png rename to resources/assets/atum/textures/items/neiths_pull_0.png diff --git a/resources/mods/Atum/textures/items/neiths_pull_1.png b/resources/assets/atum/textures/items/neiths_pull_1.png similarity index 100% rename from resources/mods/Atum/textures/items/neiths_pull_1.png rename to resources/assets/atum/textures/items/neiths_pull_1.png diff --git a/resources/mods/Atum/textures/items/neiths_pull_2.png b/resources/assets/atum/textures/items/neiths_pull_2.png similarity index 100% rename from resources/mods/Atum/textures/items/neiths_pull_2.png rename to resources/assets/atum/textures/items/neiths_pull_2.png diff --git a/resources/mods/Atum/textures/particles/Sand.png b/resources/assets/atum/textures/particles/Sand.png similarity index 100% rename from resources/mods/Atum/textures/particles/Sand.png rename to resources/assets/atum/textures/particles/Sand.png diff --git a/resources/mods/Atum/textures/projectiles/arrows_double.png b/resources/assets/atum/textures/projectiles/arrows_double.png similarity index 100% rename from resources/mods/Atum/textures/projectiles/arrows_double.png rename to resources/assets/atum/textures/projectiles/arrows_double.png diff --git a/resources/mods/Atum/textures/projectiles/arrows_exploding.png b/resources/assets/atum/textures/projectiles/arrows_exploding.png similarity index 100% rename from resources/mods/Atum/textures/projectiles/arrows_exploding.png rename to resources/assets/atum/textures/projectiles/arrows_exploding.png diff --git a/resources/mods/Atum/textures/projectiles/arrows_fire.png b/resources/assets/atum/textures/projectiles/arrows_fire.png similarity index 100% rename from resources/mods/Atum/textures/projectiles/arrows_fire.png rename to resources/assets/atum/textures/projectiles/arrows_fire.png diff --git a/resources/mods/Atum/textures/projectiles/arrows_poison.png b/resources/assets/atum/textures/projectiles/arrows_poison.png similarity index 100% rename from resources/mods/Atum/textures/projectiles/arrows_poison.png rename to resources/assets/atum/textures/projectiles/arrows_poison.png diff --git a/resources/mods/Atum/textures/projectiles/arrows_quickdraw.png b/resources/assets/atum/textures/projectiles/arrows_quickdraw.png similarity index 100% rename from resources/mods/Atum/textures/projectiles/arrows_quickdraw.png rename to resources/assets/atum/textures/projectiles/arrows_quickdraw.png diff --git a/resources/mods/Atum/textures/projectiles/arrows_velocity.png b/resources/assets/atum/textures/projectiles/arrows_velocity.png similarity index 100% rename from resources/mods/Atum/textures/projectiles/arrows_velocity.png rename to resources/assets/atum/textures/projectiles/arrows_velocity.png diff --git a/resources/mods/Atum/textures/projectiles/nutscall.png b/resources/assets/atum/textures/projectiles/nutscall.png similarity index 100% rename from resources/mods/Atum/textures/projectiles/nutscall.png rename to resources/assets/atum/textures/projectiles/nutscall.png diff --git a/resources/mods/Atum/textures/blocks/portal.txt b/resources/mods/Atum/textures/blocks/portal.txt deleted file mode 100644 index e69de29..0000000 From ebcf0f1582282d94090757eed4e7b1c6a10f2e0a Mon Sep 17 00:00:00 2001 From: Freyja Date: Fri, 27 Sep 2013 00:27:58 -0400 Subject: [PATCH 002/157] Update build.xml --- build.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build.xml b/build.xml index 7bca470..c7fcf24 100644 --- a/build.xml +++ b/build.xml @@ -170,9 +170,9 @@ - + @@ -191,4 +191,4 @@ - \ No newline at end of file + From d8378759b2790ea44d1da7b67faaa2a1d009d49a Mon Sep 17 00:00:00 2001 From: lclc98 Date: Fri, 27 Sep 2013 14:32:35 +1000 Subject: [PATCH 003/157] Fixed crash --- common/rebelkeithy/mods/atum/particles/EntitySandFX.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/rebelkeithy/mods/atum/particles/EntitySandFX.java b/common/rebelkeithy/mods/atum/particles/EntitySandFX.java index 9d37bb6..84b4b8a 100644 --- a/common/rebelkeithy/mods/atum/particles/EntitySandFX.java +++ b/common/rebelkeithy/mods/atum/particles/EntitySandFX.java @@ -57,7 +57,7 @@ public void renderParticle(Tessellator tessellator, float f, float f1, float f2, float var8 = ((float)super.particleAge + f) / (float)super.particleMaxAge; super.particleScale = 1.0F - var8 * var8 * 0.5F; int index = 3 * super.particleAge / super.particleMaxAge; - GL11.glBindTexture(3553, Minecraft.getMinecraft().renderEngine.getTexture(new ResourceLocation(Atum.modID + "/textures/particles/Sand.png")).getGlTextureId()); + GL11.glBindTexture(3553, Minecraft.getMinecraft().renderEngine.getTexture(new ResourceLocation("atum:textures/particles/Sand.png")).getGlTextureId()); float f0 = (float)index / 16.0F; float f7 = f0 + 0.0625F; float f8 = 1.0F; From 5d18aedf6b37748814586baccb01c421644348aa Mon Sep 17 00:00:00 2001 From: lclc98 Date: Wed, 22 Jan 2014 21:58:23 +1000 Subject: [PATCH 004/157] Started Rewrite --- common/com/teammetallurgy/atum/Atum.java | 64 + .../com/teammetallurgy/atum/AtumConfig.java | 137 + common/com/teammetallurgy/atum/AtumIDS.java | 114 + .../atum/LocalizationHelper.java | 55 + .../atum/blocks/BlockArrowTrap.java | 69 +- .../teammetallurgy/atum/blocks/BlockAtum.java | 12 + .../atum/blocks/BlockAtumGlass.java | 40 + .../atum/blocks/BlockAtumOres.java | 15 + .../atum/blocks/BlockAtumPane.java | 15 + .../atum/blocks/BlockChestSpawner.java | 194 + .../teammetallurgy/atum/blocks/BlockDate.java | 64 + .../atum/blocks/BlockFertileSoil.java | 130 + .../atum/blocks/BlockFertileSoilTilled.java | 176 + .../teammetallurgy/atum/blocks/BlockFlax.java | 190 + .../atum/blocks/BlockLeave.java | 269 + .../atum/blocks/BlockLimeStoneFurnace.java | 39 + .../atum/blocks/BlockPalmLog.java | 116 + .../atum/blocks/BlockPalmSapling.java | 92 + .../atum/blocks/BlockPapyrus.java | 184 + .../atum/blocks/BlockPharaohChest.java | 201 + .../atum/blocks/BlockPortal.java | 210 + .../atum/blocks/BlockSandLayered.java | 117 + .../atum/blocks/BlockSands.java | 18 + .../atum/blocks/BlockShrub.java | 23 +- .../teammetallurgy/atum/blocks/BlockSlab.java | 62 + .../atum/blocks/BlockStair.java | 12 + .../atum/blocks/BlockStones.java | 24 + .../atum/blocks/BlockWalls.java | 52 + .../teammetallurgy/atum/blocks/Blocks.java | 120 + .../tileentity/CursedChestBaseLogic.java | 334 + .../tileentity/CursedChestSpawnerLogic.java | 48 + .../tileentity}/TileEntityChestSpawner.java | 102 +- .../tileentity}/TileEntityPharaohChest.java | 87 +- .../client/model/tileentity/ModelDate.java | 44 + .../client/render/item}/RendererItemBow.java | 14 +- .../client/render/tileentity/RenderDate.java | 118 + .../render/tileentity/RenderPapyrus.java | 91 + .../atum/items/ItemAtumBow.java | 22 +- .../teammetallurgy}/atum/items/ItemFish.java | 22 +- .../atum/items/ItemGreatsword.java | 25 + .../teammetallurgy}/atum/items/ItemLoot.java | 41 +- .../atum/items}/ItemPapyrusPlant.java | 32 +- .../atum/items/ItemScarab.java | 19 +- .../atum/items/ItemScepter.java | 5 +- .../atum/items/ItemScimitar.java | 17 + .../atum/items/ItemStoneSoldierSword.java | 5 +- .../atum/items/ItemTexturedArmor.java | 3 +- .../com/teammetallurgy/atum/items/Items.java | 201 + .../atum/items/LimestoneAxe.java | 25 + .../atum/items/LimestoneHoe.java | 25 + .../atum/items/LimestonePickaxe.java | 25 + .../atum/items/LimestoneShovel.java | 25 + .../atum/items/LimestoneSword.java | 23 + .../atum/items}/artifacts/IsisEmbrace.java | 9 +- .../atum/items}/artifacts/ItemAkersToil.java | 17 +- .../artifacts/ItemAmunetsHomecoming.java | 24 +- .../items}/artifacts/ItemAnhursMight.java | 27 +- .../items}/artifacts/ItemAnubisMercy.java | 36 +- .../items}/artifacts/ItemAnuketsBounty.java | 30 +- .../atum/items}/artifacts/ItemAtensFury.java | 84 +- .../items}/artifacts/ItemGebsBlessing.java | 12 +- .../items}/artifacts/ItemGebsSolidarity.java | 22 +- .../items/artifacts/ItemHedetetsSting.java | 62 + .../items}/artifacts/ItemHedetetsVenom.java | 92 +- .../items}/artifacts/ItemHorusFlight.java | 20 +- .../items}/artifacts/ItemHorusSoaring.java | 83 +- .../items}/artifacts/ItemIsisHealing.java | 24 +- .../items}/artifacts/ItemMaatsBalance.java | 22 +- .../artifacts/ItemMafdetsQuickness.java | 21 +- .../items}/artifacts/ItemMnevisHorns.java | 18 +- .../items}/artifacts/ItemMonthusBlast.java | 76 +- .../items}/artifacts/ItemMonthusStrike.java | 57 +- .../items}/artifacts/ItemNeithsAudacity.java | 135 +- .../atum/items}/artifacts/ItemNusFlux.java | 55 +- .../items}/artifacts/ItemNutsAgility.java | 16 +- .../atum/items}/artifacts/ItemNutsCall.java | 39 +- .../atum/items}/artifacts/ItemOsirisWill.java | 31 +- .../items}/artifacts/ItemPtahsDecadence.java | 14 +- .../artifacts/ItemPtahsDestruction.java | 21 +- .../atum/items}/artifacts/ItemRasGlory.java | 12 +- .../items}/artifacts/ItemSekhmetsWrath.java | 25 +- .../atum/items/artifacts/ItemShusBreath.java | 152 + .../atum/items}/artifacts/ItemSobeksRage.java | 32 +- .../atum/items/artifacts/ItemSpear.java | 33 + .../atum/proxy/ClientProxy.java | 28 + .../atum/proxy/CommonProxy.java | 14 + .../teammetallurgy/atum/worldgen/World.java | 8 + common/rebelkeithy/mods/atum/Atum.java | 163 - common/rebelkeithy/mods/atum/AtumBlocks.java | 241 - common/rebelkeithy/mods/atum/AtumConfig.java | 248 - .../mods/atum/AtumEventListener.java | 85 - common/rebelkeithy/mods/atum/AtumFish.java | 28 - .../rebelkeithy/mods/atum/AtumGuiHandler.java | 24 - common/rebelkeithy/mods/atum/AtumItems.java | 278 - common/rebelkeithy/mods/atum/AtumLoot.java | 129 - .../mods/atum/AtumMusicListener.java | 60 - .../mods/atum/AtumPortalPosition.java | 17 - common/rebelkeithy/mods/atum/AtumRecipes.java | 77 - common/rebelkeithy/mods/atum/AtumTab.java | 16 - .../rebelkeithy/mods/atum/AtumTeleporter.java | 409 -- .../mods/atum/AtumWeightedLootSet.java | 67 - common/rebelkeithy/mods/atum/ClientProxy.java | 100 - common/rebelkeithy/mods/atum/CommonProxy.java | 25 - common/rebelkeithy/mods/atum/PotionStun.java | 33 - .../mods/atum/ServerTickHandler.java | 57 - common/rebelkeithy/mods/atum/TickHandler.java | 118 - .../atum/artifacts/ItemHedetetsSting.java | 64 - .../mods/atum/artifacts/ItemShusBreath.java | 149 - .../mods/atum/artifacts/ItemSpear.java | 33 - .../atum/artifacts/arrow/CustomArrow.java | 29 - .../arrow/EntityArrowDoubleShot.java | 464 -- .../artifacts/arrow/EntityArrowExplosive.java | 470 -- .../atum/artifacts/arrow/EntityArrowFire.java | 468 -- .../artifacts/arrow/EntityArrowPoison.java | 467 -- .../artifacts/arrow/EntityArrowQuickdraw.java | 464 -- .../artifacts/arrow/EntityArrowVelocity.java | 464 -- .../artifacts/arrow/EntityAtumFishHook.java | 420 -- .../atum/artifacts/arrow/EntityNutsCall.java | 470 -- .../artifacts/arrow/RenderCustomArrow.java | 83 - .../atum/artifacts/arrow/RenderNutsCall.java | 58 - .../mods/atum/blocks/AtumStone.java | 25 - .../mods/atum/blocks/BlockAtumBrick.java | 51 - .../mods/atum/blocks/BlockAtumGlass.java | 35 - .../mods/atum/blocks/BlockAtumLeaves.java | 258 - .../mods/atum/blocks/BlockAtumPane.java | 11 - .../mods/atum/blocks/BlockAtumPortal.java | 203 - .../mods/atum/blocks/BlockAtumSand.java | 17 - .../mods/atum/blocks/BlockAtumSlab.java | 61 - .../mods/atum/blocks/BlockAtumStairs.java | 11 - .../mods/atum/blocks/BlockAtumWall.java | 48 - .../mods/atum/blocks/BlockAtumWorld.java | 59 - .../mods/atum/blocks/BlockDate.java | 57 - .../mods/atum/blocks/BlockFertileDirt.java | 13 - .../mods/atum/blocks/BlockFertileSoil.java | 143 - .../atum/blocks/BlockFertileSoilTilled.java | 165 - .../mods/atum/blocks/BlockFlax.java | 179 - .../mods/atum/blocks/BlockPalmLog.java | 110 - .../mods/atum/blocks/BlockPalmSapling.java | 90 - .../mods/atum/blocks/BlockPapyrus.java | 163 - .../mods/atum/blocks/BlockSandLayered.java | 103 - .../mods/atum/blocks/ItemBlockAtumSlab.java | 150 - .../mods/atum/blocks/ItemBlockAtumWall.java | 38 - .../mods/atum/blocks/ItemSandLayered.java | 37 - .../mods/atum/blocks/TileEntityArrowTrap.java | 83 - .../mods/atum/blocks/models/ModelDate.java | 45 - .../mods/atum/blocks/ores/BlockAtumOre.java | 59 - .../atum/blocks/ores/BlockAtumRedstone.java | 107 - .../blocks/renderers/DateBlockRenderer.java | 116 - .../renderers/PapyrusBlockRenderer.java | 85 - .../atum/cursedchest/BlockChestSpawner.java | 179 - .../cursedchest/CursedChestBaseLogic.java | 386 - .../cursedchest/CursedChestSpawnerLogic.java | 45 - .../mods/atum/cursedchest/PharaohChest.java | 195 - .../atum/entities/EntityBanditArcher.java | 163 - .../atum/entities/EntityBanditWarlord.java | 85 - .../atum/entities/EntityBanditWarrior.java | 69 - .../mods/atum/entities/EntityBarbarian.java | 80 - .../mods/atum/entities/EntityBonestorm.java | 168 - .../mods/atum/entities/EntityDesertWolf.java | 429 -- .../atum/entities/EntityDustySkeleton.java | 61 - .../mods/atum/entities/EntityGhost.java | 104 - .../mods/atum/entities/EntityMummy.java | 75 - .../mods/atum/entities/EntityPharaoh.java | 382 - .../mods/atum/entities/EntityStone.java | 19 - .../atum/entities/EntityStoneSoldier.java | 97 - .../mods/atum/entities/IAtumDayMob.java | 5 - .../mods/atum/entities/IAtumNightMob.java | 5 - .../mods/atum/entities/ModelDesertWolf.java | 142 - .../atum/entities/ModelDustySkeleton.java | 32 - .../projectiles/EntityFireSpearCombined.java | 478 -- .../projectiles/EntityFireSpearSeperated.java | 482 -- .../entities/projectiles/RenderFireSpear.java | 83 - .../projectiles/RenderFireSpearSeperated.java | 84 - .../entities/render/CustomRenderBiped.java | 20 - .../atum/entities/render/RenderBandit.java | 39 - .../atum/entities/render/RenderBarbarian.java | 12 - .../entities/render/RenderDesertWolf.java | 50 - .../atum/entities/render/RenderGhost.java | 27 - .../atum/entities/render/RenderPharaoh.java | 31 - .../atum/furnace/BlockLimeStoneFurnace.java | 227 - .../furnace/ContainerLimestoneFurnace.java | 140 - .../atum/furnace/GuiLimestoneFurnace.java | 45 - .../furnace/TileEntityLimestoneFurnace.java | 294 - .../mods/atum/items/ItemGreatsword.java | 25 - .../mods/atum/items/ItemScimitar.java | 18 - .../mods/atum/particles/EntityCritFX.java | 79 - .../mods/atum/particles/EntitySandFX.java | 105 - .../atum/particles/EntitySandPortalFX.java | 84 - .../mods/atum/tools/LimestoneAxe.java | 22 - .../mods/atum/tools/LimestoneHoe.java | 22 - .../mods/atum/tools/LimestonePickaxe.java | 22 - .../mods/atum/tools/LimestoneShovel.java | 22 - .../mods/atum/tools/LimestoneSword.java | 22 - .../mods/atum/world/AtumChunkProvider.java | 435 -- .../mods/atum/world/AtumMapGenCaves.java | 196 - .../mods/atum/world/AtumWorldProvider.java | 95 - .../mods/atum/world/AtumWorldServer.java | 21 - .../atum/world/biome/BiomeDecoratorAtum.java | 193 - .../atum/world/biome/BiomeGenAtumDesert.java | 127 - .../atum/world/biome/MobSpawnController.java | 27 - .../world/decorators/WorldGenAtumTrees.java | 367 - .../atum/world/decorators/WorldGenOasis.java | 177 - .../atum/world/decorators/WorldGenPalace.java | 6213 ----------------- .../atum/world/decorators/WorldGenPalm.java | 136 - .../world/decorators/WorldGenPyramid.java | 213 - .../atum/world/decorators/WorldGenRuins.java | 92 - .../atum/world/decorators/WorldGenShrub.java | 34 - .../mods/metaitem/MetadataItem.java | 109 - .../particleregistry/ParticleRegistry.java | 55 - resources/assets/atum/lang/en_US.properties | 110 + .../{portal.mcmeta => portal.png.mcmeta} | 0 211 files changed, 4902 insertions(+), 23170 deletions(-) create mode 100644 common/com/teammetallurgy/atum/Atum.java create mode 100644 common/com/teammetallurgy/atum/AtumConfig.java create mode 100644 common/com/teammetallurgy/atum/AtumIDS.java create mode 100644 common/com/teammetallurgy/atum/LocalizationHelper.java rename common/{rebelkeithy/mods => com/teammetallurgy}/atum/blocks/BlockArrowTrap.java (66%) create mode 100644 common/com/teammetallurgy/atum/blocks/BlockAtum.java create mode 100644 common/com/teammetallurgy/atum/blocks/BlockAtumGlass.java create mode 100644 common/com/teammetallurgy/atum/blocks/BlockAtumOres.java create mode 100644 common/com/teammetallurgy/atum/blocks/BlockAtumPane.java create mode 100644 common/com/teammetallurgy/atum/blocks/BlockChestSpawner.java create mode 100644 common/com/teammetallurgy/atum/blocks/BlockDate.java create mode 100644 common/com/teammetallurgy/atum/blocks/BlockFertileSoil.java create mode 100644 common/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java create mode 100644 common/com/teammetallurgy/atum/blocks/BlockFlax.java create mode 100644 common/com/teammetallurgy/atum/blocks/BlockLeave.java create mode 100644 common/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java create mode 100644 common/com/teammetallurgy/atum/blocks/BlockPalmLog.java create mode 100644 common/com/teammetallurgy/atum/blocks/BlockPalmSapling.java create mode 100644 common/com/teammetallurgy/atum/blocks/BlockPapyrus.java create mode 100644 common/com/teammetallurgy/atum/blocks/BlockPharaohChest.java create mode 100644 common/com/teammetallurgy/atum/blocks/BlockPortal.java create mode 100644 common/com/teammetallurgy/atum/blocks/BlockSandLayered.java create mode 100644 common/com/teammetallurgy/atum/blocks/BlockSands.java rename common/{rebelkeithy/mods => com/teammetallurgy}/atum/blocks/BlockShrub.java (63%) create mode 100644 common/com/teammetallurgy/atum/blocks/BlockSlab.java create mode 100644 common/com/teammetallurgy/atum/blocks/BlockStair.java create mode 100644 common/com/teammetallurgy/atum/blocks/BlockStones.java create mode 100644 common/com/teammetallurgy/atum/blocks/BlockWalls.java create mode 100644 common/com/teammetallurgy/atum/blocks/Blocks.java create mode 100644 common/com/teammetallurgy/atum/blocks/tileentity/CursedChestBaseLogic.java create mode 100644 common/com/teammetallurgy/atum/blocks/tileentity/CursedChestSpawnerLogic.java rename common/{rebelkeithy/mods/atum/cursedchest => com/teammetallurgy/atum/blocks/tileentity}/TileEntityChestSpawner.java (79%) rename common/{rebelkeithy/mods/atum/cursedchest => com/teammetallurgy/atum/blocks/tileentity}/TileEntityPharaohChest.java (83%) create mode 100644 common/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java rename common/{rebelkeithy/mods/atum/items => com/teammetallurgy/atum/client/render/item}/RendererItemBow.java (90%) create mode 100644 common/com/teammetallurgy/atum/client/render/tileentity/RenderDate.java create mode 100644 common/com/teammetallurgy/atum/client/render/tileentity/RenderPapyrus.java rename common/{rebelkeithy/mods => com/teammetallurgy}/atum/items/ItemAtumBow.java (83%) rename common/{rebelkeithy/mods => com/teammetallurgy}/atum/items/ItemFish.java (79%) create mode 100644 common/com/teammetallurgy/atum/items/ItemGreatsword.java rename common/{rebelkeithy/mods => com/teammetallurgy}/atum/items/ItemLoot.java (73%) rename common/{rebelkeithy/mods/atum/blocks => com/teammetallurgy/atum/items}/ItemPapyrusPlant.java (65%) rename common/{rebelkeithy/mods => com/teammetallurgy}/atum/items/ItemScarab.java (79%) rename common/{rebelkeithy/mods => com/teammetallurgy}/atum/items/ItemScepter.java (72%) create mode 100644 common/com/teammetallurgy/atum/items/ItemScimitar.java rename common/{rebelkeithy/mods => com/teammetallurgy}/atum/items/ItemStoneSoldierSword.java (71%) rename common/{rebelkeithy/mods => com/teammetallurgy}/atum/items/ItemTexturedArmor.java (95%) create mode 100644 common/com/teammetallurgy/atum/items/Items.java create mode 100644 common/com/teammetallurgy/atum/items/LimestoneAxe.java create mode 100644 common/com/teammetallurgy/atum/items/LimestoneHoe.java create mode 100644 common/com/teammetallurgy/atum/items/LimestonePickaxe.java create mode 100644 common/com/teammetallurgy/atum/items/LimestoneShovel.java create mode 100644 common/com/teammetallurgy/atum/items/LimestoneSword.java rename common/{rebelkeithy/mods/atum => com/teammetallurgy/atum/items}/artifacts/IsisEmbrace.java (89%) rename common/{rebelkeithy/mods/atum => com/teammetallurgy/atum/items}/artifacts/ItemAkersToil.java (83%) rename common/{rebelkeithy/mods/atum => com/teammetallurgy/atum/items}/artifacts/ItemAmunetsHomecoming.java (86%) rename common/{rebelkeithy/mods/atum => com/teammetallurgy/atum/items}/artifacts/ItemAnhursMight.java (79%) rename common/{rebelkeithy/mods/atum => com/teammetallurgy/atum/items}/artifacts/ItemAnubisMercy.java (84%) rename common/{rebelkeithy/mods/atum => com/teammetallurgy/atum/items}/artifacts/ItemAnuketsBounty.java (82%) rename common/{rebelkeithy/mods/atum => com/teammetallurgy/atum/items}/artifacts/ItemAtensFury.java (68%) rename common/{rebelkeithy/mods/atum => com/teammetallurgy/atum/items}/artifacts/ItemGebsBlessing.java (87%) rename common/{rebelkeithy/mods/atum => com/teammetallurgy/atum/items}/artifacts/ItemGebsSolidarity.java (87%) create mode 100644 common/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java rename common/{rebelkeithy/mods/atum => com/teammetallurgy/atum/items}/artifacts/ItemHedetetsVenom.java (60%) rename common/{rebelkeithy/mods/atum => com/teammetallurgy/atum/items}/artifacts/ItemHorusFlight.java (79%) rename common/{rebelkeithy/mods/atum => com/teammetallurgy/atum/items}/artifacts/ItemHorusSoaring.java (65%) rename common/{rebelkeithy/mods/atum => com/teammetallurgy/atum/items}/artifacts/ItemIsisHealing.java (75%) rename common/{rebelkeithy/mods/atum => com/teammetallurgy/atum/items}/artifacts/ItemMaatsBalance.java (81%) rename common/{rebelkeithy/mods/atum => com/teammetallurgy/atum/items}/artifacts/ItemMafdetsQuickness.java (76%) rename common/{rebelkeithy/mods/atum => com/teammetallurgy/atum/items}/artifacts/ItemMnevisHorns.java (84%) rename common/{rebelkeithy/mods/atum => com/teammetallurgy/atum/items}/artifacts/ItemMonthusBlast.java (67%) rename common/{rebelkeithy/mods/atum => com/teammetallurgy/atum/items}/artifacts/ItemMonthusStrike.java (75%) rename common/{rebelkeithy/mods/atum => com/teammetallurgy/atum/items}/artifacts/ItemNeithsAudacity.java (56%) rename common/{rebelkeithy/mods/atum => com/teammetallurgy/atum/items}/artifacts/ItemNusFlux.java (64%) rename common/{rebelkeithy/mods/atum => com/teammetallurgy/atum/items}/artifacts/ItemNutsAgility.java (85%) rename common/{rebelkeithy/mods/atum => com/teammetallurgy/atum/items}/artifacts/ItemNutsCall.java (77%) rename common/{rebelkeithy/mods/atum => com/teammetallurgy/atum/items}/artifacts/ItemOsirisWill.java (75%) rename common/{rebelkeithy/mods/atum => com/teammetallurgy/atum/items}/artifacts/ItemPtahsDecadence.java (89%) rename common/{rebelkeithy/mods/atum => com/teammetallurgy/atum/items}/artifacts/ItemPtahsDestruction.java (81%) rename common/{rebelkeithy/mods/atum => com/teammetallurgy/atum/items}/artifacts/ItemRasGlory.java (89%) rename common/{rebelkeithy/mods/atum => com/teammetallurgy/atum/items}/artifacts/ItemSekhmetsWrath.java (77%) create mode 100644 common/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java rename common/{rebelkeithy/mods/atum => com/teammetallurgy/atum/items}/artifacts/ItemSobeksRage.java (69%) create mode 100644 common/com/teammetallurgy/atum/items/artifacts/ItemSpear.java create mode 100644 common/com/teammetallurgy/atum/proxy/ClientProxy.java create mode 100644 common/com/teammetallurgy/atum/proxy/CommonProxy.java create mode 100644 common/com/teammetallurgy/atum/worldgen/World.java delete mode 100644 common/rebelkeithy/mods/atum/Atum.java delete mode 100644 common/rebelkeithy/mods/atum/AtumBlocks.java delete mode 100644 common/rebelkeithy/mods/atum/AtumConfig.java delete mode 100644 common/rebelkeithy/mods/atum/AtumEventListener.java delete mode 100644 common/rebelkeithy/mods/atum/AtumFish.java delete mode 100644 common/rebelkeithy/mods/atum/AtumGuiHandler.java delete mode 100644 common/rebelkeithy/mods/atum/AtumItems.java delete mode 100644 common/rebelkeithy/mods/atum/AtumLoot.java delete mode 100644 common/rebelkeithy/mods/atum/AtumMusicListener.java delete mode 100644 common/rebelkeithy/mods/atum/AtumPortalPosition.java delete mode 100644 common/rebelkeithy/mods/atum/AtumRecipes.java delete mode 100644 common/rebelkeithy/mods/atum/AtumTab.java delete mode 100644 common/rebelkeithy/mods/atum/AtumTeleporter.java delete mode 100644 common/rebelkeithy/mods/atum/AtumWeightedLootSet.java delete mode 100644 common/rebelkeithy/mods/atum/ClientProxy.java delete mode 100644 common/rebelkeithy/mods/atum/CommonProxy.java delete mode 100644 common/rebelkeithy/mods/atum/PotionStun.java delete mode 100644 common/rebelkeithy/mods/atum/ServerTickHandler.java delete mode 100644 common/rebelkeithy/mods/atum/TickHandler.java delete mode 100644 common/rebelkeithy/mods/atum/artifacts/ItemHedetetsSting.java delete mode 100644 common/rebelkeithy/mods/atum/artifacts/ItemShusBreath.java delete mode 100644 common/rebelkeithy/mods/atum/artifacts/ItemSpear.java delete mode 100644 common/rebelkeithy/mods/atum/artifacts/arrow/CustomArrow.java delete mode 100644 common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowDoubleShot.java delete mode 100644 common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowExplosive.java delete mode 100644 common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowFire.java delete mode 100644 common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowPoison.java delete mode 100644 common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowQuickdraw.java delete mode 100644 common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowVelocity.java delete mode 100644 common/rebelkeithy/mods/atum/artifacts/arrow/EntityAtumFishHook.java delete mode 100644 common/rebelkeithy/mods/atum/artifacts/arrow/EntityNutsCall.java delete mode 100644 common/rebelkeithy/mods/atum/artifacts/arrow/RenderCustomArrow.java delete mode 100644 common/rebelkeithy/mods/atum/artifacts/arrow/RenderNutsCall.java delete mode 100644 common/rebelkeithy/mods/atum/blocks/AtumStone.java delete mode 100644 common/rebelkeithy/mods/atum/blocks/BlockAtumBrick.java delete mode 100644 common/rebelkeithy/mods/atum/blocks/BlockAtumGlass.java delete mode 100644 common/rebelkeithy/mods/atum/blocks/BlockAtumLeaves.java delete mode 100644 common/rebelkeithy/mods/atum/blocks/BlockAtumPane.java delete mode 100644 common/rebelkeithy/mods/atum/blocks/BlockAtumPortal.java delete mode 100644 common/rebelkeithy/mods/atum/blocks/BlockAtumSand.java delete mode 100644 common/rebelkeithy/mods/atum/blocks/BlockAtumSlab.java delete mode 100644 common/rebelkeithy/mods/atum/blocks/BlockAtumStairs.java delete mode 100644 common/rebelkeithy/mods/atum/blocks/BlockAtumWall.java delete mode 100644 common/rebelkeithy/mods/atum/blocks/BlockAtumWorld.java delete mode 100644 common/rebelkeithy/mods/atum/blocks/BlockDate.java delete mode 100644 common/rebelkeithy/mods/atum/blocks/BlockFertileDirt.java delete mode 100644 common/rebelkeithy/mods/atum/blocks/BlockFertileSoil.java delete mode 100644 common/rebelkeithy/mods/atum/blocks/BlockFertileSoilTilled.java delete mode 100644 common/rebelkeithy/mods/atum/blocks/BlockFlax.java delete mode 100644 common/rebelkeithy/mods/atum/blocks/BlockPalmLog.java delete mode 100644 common/rebelkeithy/mods/atum/blocks/BlockPalmSapling.java delete mode 100644 common/rebelkeithy/mods/atum/blocks/BlockPapyrus.java delete mode 100644 common/rebelkeithy/mods/atum/blocks/BlockSandLayered.java delete mode 100644 common/rebelkeithy/mods/atum/blocks/ItemBlockAtumSlab.java delete mode 100644 common/rebelkeithy/mods/atum/blocks/ItemBlockAtumWall.java delete mode 100644 common/rebelkeithy/mods/atum/blocks/ItemSandLayered.java delete mode 100644 common/rebelkeithy/mods/atum/blocks/TileEntityArrowTrap.java delete mode 100644 common/rebelkeithy/mods/atum/blocks/models/ModelDate.java delete mode 100644 common/rebelkeithy/mods/atum/blocks/ores/BlockAtumOre.java delete mode 100644 common/rebelkeithy/mods/atum/blocks/ores/BlockAtumRedstone.java delete mode 100644 common/rebelkeithy/mods/atum/blocks/renderers/DateBlockRenderer.java delete mode 100644 common/rebelkeithy/mods/atum/blocks/renderers/PapyrusBlockRenderer.java delete mode 100644 common/rebelkeithy/mods/atum/cursedchest/BlockChestSpawner.java delete mode 100644 common/rebelkeithy/mods/atum/cursedchest/CursedChestBaseLogic.java delete mode 100644 common/rebelkeithy/mods/atum/cursedchest/CursedChestSpawnerLogic.java delete mode 100644 common/rebelkeithy/mods/atum/cursedchest/PharaohChest.java delete mode 100644 common/rebelkeithy/mods/atum/entities/EntityBanditArcher.java delete mode 100644 common/rebelkeithy/mods/atum/entities/EntityBanditWarlord.java delete mode 100644 common/rebelkeithy/mods/atum/entities/EntityBanditWarrior.java delete mode 100644 common/rebelkeithy/mods/atum/entities/EntityBarbarian.java delete mode 100644 common/rebelkeithy/mods/atum/entities/EntityBonestorm.java delete mode 100644 common/rebelkeithy/mods/atum/entities/EntityDesertWolf.java delete mode 100644 common/rebelkeithy/mods/atum/entities/EntityDustySkeleton.java delete mode 100644 common/rebelkeithy/mods/atum/entities/EntityGhost.java delete mode 100644 common/rebelkeithy/mods/atum/entities/EntityMummy.java delete mode 100644 common/rebelkeithy/mods/atum/entities/EntityPharaoh.java delete mode 100644 common/rebelkeithy/mods/atum/entities/EntityStone.java delete mode 100644 common/rebelkeithy/mods/atum/entities/EntityStoneSoldier.java delete mode 100644 common/rebelkeithy/mods/atum/entities/IAtumDayMob.java delete mode 100644 common/rebelkeithy/mods/atum/entities/IAtumNightMob.java delete mode 100644 common/rebelkeithy/mods/atum/entities/ModelDesertWolf.java delete mode 100644 common/rebelkeithy/mods/atum/entities/ModelDustySkeleton.java delete mode 100644 common/rebelkeithy/mods/atum/entities/projectiles/EntityFireSpearCombined.java delete mode 100644 common/rebelkeithy/mods/atum/entities/projectiles/EntityFireSpearSeperated.java delete mode 100644 common/rebelkeithy/mods/atum/entities/projectiles/RenderFireSpear.java delete mode 100644 common/rebelkeithy/mods/atum/entities/projectiles/RenderFireSpearSeperated.java delete mode 100644 common/rebelkeithy/mods/atum/entities/render/CustomRenderBiped.java delete mode 100644 common/rebelkeithy/mods/atum/entities/render/RenderBandit.java delete mode 100644 common/rebelkeithy/mods/atum/entities/render/RenderBarbarian.java delete mode 100644 common/rebelkeithy/mods/atum/entities/render/RenderDesertWolf.java delete mode 100644 common/rebelkeithy/mods/atum/entities/render/RenderGhost.java delete mode 100644 common/rebelkeithy/mods/atum/entities/render/RenderPharaoh.java delete mode 100644 common/rebelkeithy/mods/atum/furnace/BlockLimeStoneFurnace.java delete mode 100644 common/rebelkeithy/mods/atum/furnace/ContainerLimestoneFurnace.java delete mode 100644 common/rebelkeithy/mods/atum/furnace/GuiLimestoneFurnace.java delete mode 100644 common/rebelkeithy/mods/atum/furnace/TileEntityLimestoneFurnace.java delete mode 100644 common/rebelkeithy/mods/atum/items/ItemGreatsword.java delete mode 100644 common/rebelkeithy/mods/atum/items/ItemScimitar.java delete mode 100644 common/rebelkeithy/mods/atum/particles/EntityCritFX.java delete mode 100644 common/rebelkeithy/mods/atum/particles/EntitySandFX.java delete mode 100644 common/rebelkeithy/mods/atum/particles/EntitySandPortalFX.java delete mode 100644 common/rebelkeithy/mods/atum/tools/LimestoneAxe.java delete mode 100644 common/rebelkeithy/mods/atum/tools/LimestoneHoe.java delete mode 100644 common/rebelkeithy/mods/atum/tools/LimestonePickaxe.java delete mode 100644 common/rebelkeithy/mods/atum/tools/LimestoneShovel.java delete mode 100644 common/rebelkeithy/mods/atum/tools/LimestoneSword.java delete mode 100644 common/rebelkeithy/mods/atum/world/AtumChunkProvider.java delete mode 100644 common/rebelkeithy/mods/atum/world/AtumMapGenCaves.java delete mode 100644 common/rebelkeithy/mods/atum/world/AtumWorldProvider.java delete mode 100644 common/rebelkeithy/mods/atum/world/AtumWorldServer.java delete mode 100644 common/rebelkeithy/mods/atum/world/biome/BiomeDecoratorAtum.java delete mode 100644 common/rebelkeithy/mods/atum/world/biome/BiomeGenAtumDesert.java delete mode 100644 common/rebelkeithy/mods/atum/world/biome/MobSpawnController.java delete mode 100644 common/rebelkeithy/mods/atum/world/decorators/WorldGenAtumTrees.java delete mode 100644 common/rebelkeithy/mods/atum/world/decorators/WorldGenOasis.java delete mode 100644 common/rebelkeithy/mods/atum/world/decorators/WorldGenPalace.java delete mode 100644 common/rebelkeithy/mods/atum/world/decorators/WorldGenPalm.java delete mode 100644 common/rebelkeithy/mods/atum/world/decorators/WorldGenPyramid.java delete mode 100644 common/rebelkeithy/mods/atum/world/decorators/WorldGenRuins.java delete mode 100644 common/rebelkeithy/mods/atum/world/decorators/WorldGenShrub.java delete mode 100644 common/rebelkeithy/mods/metaitem/MetadataItem.java delete mode 100644 common/rebelkeithy/mods/particleregistry/ParticleRegistry.java create mode 100644 resources/assets/atum/lang/en_US.properties rename resources/assets/atum/textures/blocks/{portal.mcmeta => portal.png.mcmeta} (100%) diff --git a/common/com/teammetallurgy/atum/Atum.java b/common/com/teammetallurgy/atum/Atum.java new file mode 100644 index 0000000..07b90ca --- /dev/null +++ b/common/com/teammetallurgy/atum/Atum.java @@ -0,0 +1,64 @@ +package com.teammetallurgy.atum; + +import java.util.logging.Logger; + +import net.minecraft.creativetab.CreativeTabs; + +import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.proxy.CommonProxy; +import com.teammetallurgy.atum.worldgen.World; + +import cpw.mods.fml.common.Mod; +import cpw.mods.fml.common.Mod.EventHandler; +import cpw.mods.fml.common.Mod.Instance; +import cpw.mods.fml.common.SidedProxy; +import cpw.mods.fml.common.event.FMLInitializationEvent; +import cpw.mods.fml.common.event.FMLPostInitializationEvent; +import cpw.mods.fml.common.event.FMLPreInitializationEvent; + +@Mod(modid = Atum.MODID, name = Atum.NAME, version = Atum.VERSION) +public class Atum { + public static final String MODID = "Atum"; + public static final String NAME = "Atum"; + public static final String VERSION = "0.0.1"; + + @Instance(Atum.MODID) + public static Atum instance; + + @SidedProxy(clientSide = "com.teammetallurgy.atum.proxy.ClientProxy", serverSide = "com.teammetallurgy.atum.proxy.CommonProxy") + public static CommonProxy proxy; + + public static final Logger LOGGER = Logger.getLogger(Atum.class.getSimpleName()); + + public static AtumConfig config; + public static CreativeTabs creativeTab = new CreativeTabs("Atum"); + + @EventHandler + public void preInit(FMLPreInitializationEvent event) { + LOGGER.info("Loading Configuration"); + config = new AtumConfig(event.getSuggestedConfigurationFile()); + config.load(); + } + + @EventHandler + public void init(FMLInitializationEvent event) { + LOGGER.info("Block Init"); + Blocks.INSTANCE.registerBlocks(); + LOGGER.info("Item Init"); + Items.INSTANCE.registerItems(); + LOGGER.info("World Init"); + World.load(); + + LOGGER.info("Proxy Init"); + proxy.init(); + proxy.initRenders(); + proxy.initTiles(); + + } + + @EventHandler + public void postInit(FMLPostInitializationEvent event) { + + } +} diff --git a/common/com/teammetallurgy/atum/AtumConfig.java b/common/com/teammetallurgy/atum/AtumConfig.java new file mode 100644 index 0000000..7794d91 --- /dev/null +++ b/common/com/teammetallurgy/atum/AtumConfig.java @@ -0,0 +1,137 @@ +package com.teammetallurgy.atum; + +import java.io.File; + +import net.minecraftforge.common.Configuration; + +public class AtumConfig { + + private final Configuration CONFIG; + + public AtumConfig(File file) { + this.CONFIG = new Configuration(file); + } + + public void load() { + this.CONFIG.load(); + AtumIDS.BLOCK_PORTAL_ID = getBlock("Portal Block", 1024); + AtumIDS.BLOCK_CURSEDCHEST_ID = getBlock("CursedChest", 1025); + AtumIDS.BLOCK_SAND_ID = getBlock("Strange Sand", 1026); + AtumIDS.BLOCK_STONE_ID = getBlock("Limestone", 1027); + AtumIDS.BLOCK_COBBLE_ID = getBlock("Cracked Limestone", 1028); + AtumIDS.BLOCK_LARGEBRICK_ID = getBlock("Large Brick", 1029); + AtumIDS.BLOCK_SMALLBRICK_ID = getBlock("Small Brick", 1030); + AtumIDS.BLOCK_CARVEDBRICK_ID = getBlock("Carved Limestone", 1031); + AtumIDS.BLOCK_SLABS_ID = getBlock("Limestone Slabs", 1032); + AtumIDS.BLOCK_DOUBLE_SLAB_ID = getBlock("Double Limestone Slabs", 1033); + AtumIDS.BLOCK_SMOOTHSTAIRS_ID = getBlock("Limestone Stairs", 1034); + AtumIDS.BLOCK_COBBLESTAIRS_ID = getBlock("Cracked Stairs", 1035); + AtumIDS.BLOCK_LARGESTONESTAIRS_ID = getBlock("Large Brick Stairs", 1036); + AtumIDS.BLOCK_SMALLSTONESTAIRS_ID = getBlock("Small Brick Stairs", 1037); + AtumIDS.BLOCK_SANDLAYERED_ID = getBlock("Sand Layer", 1038); + AtumIDS.BLOCK_CRACKEDLARGEBRICK_ID = getBlock("Cracked Large Brick", 1039); + AtumIDS.BLOCK_WALL_ID = getBlock("Limestone Wall", 1040); + AtumIDS.BLOCK_CRYSTALGLASS_ID = getBlock("Crystal Glass", 1041); + AtumIDS.BLOCK_FRAMEDGLASS_ID = getBlock("Framed Glass", 1042); + AtumIDS.BLOCK_PALMSAPLING_ID = getBlock("Palm Sapling", 1043); + AtumIDS.BLOCK_DATEBLOCK_ID = getBlock("Date Block", 1044); + AtumIDS.BLOCK_SHRUB_ID = getBlock("Shrub", 1045); + AtumIDS.BLOCK_WEED_ID = getBlock("Weed", 1046); + AtumIDS.BLOCK_PAPYRUS_ID = getBlock("Papyrus", 1047); + AtumIDS.BLOCK_FLAX_ID = getBlock("Flax", 1048); + AtumIDS.BLOCK_FERTILESOIL_ID = getBlock("Fertile Soil", 1049); + AtumIDS.BLOCK_FERTILESOILTILLED_ID = getBlock("Fertile Soil Tilled", 1050); + AtumIDS.BLOCK_LOG_ID = getBlock("Palm Log", 1051); + AtumIDS.BLOCK_LEAVES_ID = getBlock("Palm Leaves", 1052); + AtumIDS.BLOCK_PLANKS_ID = getBlock("Palm Planks", 1053); + AtumIDS.BLOCK_THINCRYSTALGLASS_ID = getBlock("Thin Crystal Glass", 1054); + AtumIDS.BLOCK_THINFRAMEDGLASS_ID = getBlock("Thin Framed Glass", 1055); + AtumIDS.BLOCK_TRAPARROW_ID = getBlock("Trap Arrows", 1056); + AtumIDS.BLOCK_PHARAOHCHEST_ID = getBlock("Pharaoh Chest", 1057); + AtumIDS.BLOCK_REDSTONEORE_ID = getBlock("Atum Redstone Ore", 1058); + AtumIDS.BLOCK_COALORE_ID = getBlock("Atum Coal Ore", 1059); + AtumIDS.BLOCK_IRONORE_ID = getBlock("Atum Iron Ore", 1060); + AtumIDS.BLOCK_GOLDORE_ID = getBlock("Atum Gold Ore", 1061); + AtumIDS.BLOCK_LAPISORE_ID = getBlock("Atum Lapis Ore", 1062); + AtumIDS.BLOCK_DIAMONDORE_ID = getBlock("Atum Diamond Ore", 1063); + AtumIDS.BLOCK_FURNACEIDLE_ID = getBlock("Atum Furnace Idle", 1064); + AtumIDS.BLOCK_FURNACEBURNING_ID = getBlock("Atum Furnace Burning", 1065); + + AtumIDS.ITEM_SCARAB_ID = getItem("Scarab", 5000); + AtumIDS.ITEM_SCIMITAR_ID = getItem("Scimitar", 5001); + AtumIDS.ITEM_GREATSWORD_ID = getItem("Great Sword", 5002); + AtumIDS.ITEM_SCEPTER_ID = getItem("Scepter", 5003); + AtumIDS.ITEM_STONESOLDIERSWORD_ID = getItem("Stone Soldier Sword", 5004); + AtumIDS.ITEM_BOW_ID = getItem("Bow", 5005); + AtumIDS.ITEM_LOOT_ID = getItem("Loot", 5006); + AtumIDS.ITEM_PTAHSPICK_ID = getItem("Ptahs Pickaxe", 5007); + AtumIDS.ITEM_SOBEKSRAGE_ID = getItem("Sobeks Rage", 5008); + AtumIDS.ITEM_OSIRISWILL_ID = getItem("Osiris Will", 5009); + AtumIDS.ITEM_AKERSTOIL_ID = getItem("AkerStoil", 5010); + AtumIDS.ITEM_GEBSBLESSING_ID = getItem("Gebs Blessing", 5010); + AtumIDS.ITEM_ATENSFURY_ID = getItem("Atens Fury", 5011); + AtumIDS.ITEM_RASGLORY_ID = getItem("Ras Glory", 5012); + AtumIDS.ITEM_SEKHMETSWRATH_ID = getItem("Sekhmets Wrath", 5013); + AtumIDS.ITEM_NUTSAGILITY_ID = getItem("Nuts Agility", 5014); + AtumIDS.ITEM_HORUSFLIGHT_ID = getItem("Horus Flight", 5015); + AtumIDS.ITEM_MONTHUSSTRIKE_ID = getItem("Monthus Strike", 5016); + AtumIDS.ITEM_ANHURSMIGHT_ID = getItem("Anhurs Might", 5017); + AtumIDS.ITEM_HEDETETSSTING_ID = getItem("Hedetet Sting", 5018); + AtumIDS.ITEM_HORUSSOARING_ID = getItem("Horus Soaring", 5019); + AtumIDS.ITEM_SHUSBREATH_ID = getItem("Shus Breath", 5020); + AtumIDS.ITEM_PTAHSDESTRUCTION_ID = getItem("Ptahs Destruction", 5021); + AtumIDS.ITEM_MONTHUSBLAST_ID = getItem("Monthus Blast", 5022); + AtumIDS.ITEM_NUSFLUX_ID = getItem("Nus Flux", 5023); + AtumIDS.ITEM_MNEVISHORNS_ID = getItem("Mnevis Horns", 5024); + AtumIDS.ITEM_ISISEMBRACE_ID = getItem("Isis Brace", 5025); + AtumIDS.ITEM_MAATSBALANCE_ID = getItem("Maats Balance", 5026); + AtumIDS.ITEM_HEDETETSVENOM_ID = getItem("Hedetets Venom", 5027); + AtumIDS.ITEM_GEBSSOLIDARITY_ID = getItem("Gevs Solidarity", 5028); + AtumIDS.ITEM_NUTSCALL_ID = getItem("Nuts Call", 5029); + AtumIDS.ITEM_ANUKETSBOUNTY_ID = getItem("Anukets Bounty", 5030); + AtumIDS.ITEM_MAFDETSQUICKNESS_ID = getItem("Mafdets Quickness", 5031); + AtumIDS.ITEM_ISISHEALING_ID = getItem("Isis Healing", 5032); + AtumIDS.ITEM_AMUNETSHOMECOMING_ID = getItem("Amunets Home Coming", 5033); + AtumIDS.ITEM_ANUBISMERCY_ID = getItem("Anubis Mercy", 5034); + AtumIDS.ITEM_LIMESTONESHOVEL_ID = getItem("Limestone Shovel", 5035); + AtumIDS.ITEM_LIMESTONEPICKAXE_ID = getItem("Limestone Pickaxe", 5036); + AtumIDS.ITEM_LIMESTONEAXE_ID = getItem("Limestone Axe", 5037); + AtumIDS.ITEM_LIMESTONESWORD_ID = getItem("Limestone Sword", 5038); + AtumIDS.ITEM_LIMESTONEHOE_ID = getItem("Limestone Hoe", 5039); + AtumIDS.ITEM_MUMMYHELMET_ID = getItem("Mummy Helmet", 5040); + AtumIDS.ITEM_MUMMYCHEST_ID = getItem("Mummy Chestplate", 5041); + AtumIDS.ITEM_MUMMYLEGS_ID = getItem("Mummy Leggings", 5042); + AtumIDS.ITEM_MUMMYBOOTS_ID = getItem("Mummy Boots", 5043); + AtumIDS.ITEM_WANDERERHELMET_ID = getItem("Wanderer Helmet", 5044); + AtumIDS.ITEM_WANDERERCHEST_ID = getItem("Wanderer Chestplate", 5045); + AtumIDS.ITEM_WANDERERLEGS_ID = getItem("Wanderer Leggings", 5046); + AtumIDS.ITEM_WANDERERBOOTS_ID = getItem("Wanderer Boots", 5047); + AtumIDS.ITEM_DESERTHELMET_ID = getItem("Desert Helmet", 5048); + AtumIDS.ITEM_DESERTCHEST_ID = getItem("Desert Chestplate", 5049); + AtumIDS.ITEM_DESERTLEGS_ID = getItem("Desert Leggings", 5050); + AtumIDS.ITEM_DESERTBOOTS_ID = getItem("Desert Boots", 5051); + AtumIDS.ITEM_PAPYRUSPLANT_ID = getItem("Papyris Plant", 5052); + AtumIDS.ITEM_ECTOPLASM_ID = getItem("Ectoplasm", 5053); + AtumIDS.ITEM_STONECHUNK_ID = getItem("Stone Chunk", 5054); + AtumIDS.ITEM_SCRAP_ID = getItem("Scrap", 5055); + AtumIDS.ITEM_SCROLL_ID = getItem("Scroll", 5056); + AtumIDS.ITEM_PELT_ID = getItem("Pelt", 5057); + AtumIDS.ITEM_DATE_ID = getItem("Date", 5058); + AtumIDS.ITEM_LINEN_ID = getItem("Linen", 5059); + AtumIDS.ITEM_FLAX_ID = getItem("Flax", 5060); + AtumIDS.ITEM_FLAXSEEDS_ID = getItem("Flax Seed", 5061); + AtumIDS.ITEM_FISH_ID = getItem("Fish", 5062); + AtumIDS.ITEM_NEITHSAUDACITY_ID = getItem("Neiths Audacity", 5063); + AtumIDS.ITEM_SPEAR_ID = getItem("Spear", 5064); + this.CONFIG.save(); + } + + private int getItem(String name, int defaultId) { + return this.CONFIG.getItem(name, defaultId).getInt(); + } + + private int getBlock(String name, int defaultId) { + return this.CONFIG.getBlock(name, defaultId).getInt(); + } + +} diff --git a/common/com/teammetallurgy/atum/AtumIDS.java b/common/com/teammetallurgy/atum/AtumIDS.java new file mode 100644 index 0000000..49b91be --- /dev/null +++ b/common/com/teammetallurgy/atum/AtumIDS.java @@ -0,0 +1,114 @@ +package com.teammetallurgy.atum; + +public class AtumIDS { + + public static int BLOCK_PORTAL_ID; + public static int BLOCK_CURSEDCHEST_ID; + public static int BLOCK_SAND_ID; + public static int BLOCK_STONE_ID; + public static int BLOCK_COBBLE_ID; + public static int BLOCK_LARGEBRICK_ID; + public static int BLOCK_SMALLBRICK_ID; + public static int BLOCK_CARVEDBRICK_ID; + public static int BLOCK_SLABS_ID; + public static int BLOCK_DOUBLE_SLAB_ID; + public static int BLOCK_SMOOTHSTAIRS_ID; + public static int BLOCK_COBBLESTAIRS_ID; + public static int BLOCK_LARGESTONESTAIRS_ID; + public static int BLOCK_SMALLSTONESTAIRS_ID; + public static int BLOCK_SANDLAYERED_ID; + public static int BLOCK_CRACKEDLARGEBRICK_ID; + public static int BLOCK_WALL_ID; + public static int BLOCK_CRYSTALGLASS_ID; + public static int BLOCK_FRAMEDGLASS_ID; + public static int BLOCK_PALMSAPLING_ID; + public static int BLOCK_DATEBLOCK_ID; + public static int BLOCK_SHRUB_ID; + public static int BLOCK_WEED_ID; + public static int BLOCK_PAPYRUS_ID; + public static int BLOCK_FLAX_ID; + public static int BLOCK_FERTILESOIL_ID; + public static int BLOCK_FERTILESOILTILLED_ID; + public static int BLOCK_LOG_ID; + public static int BLOCK_LEAVES_ID; + public static int BLOCK_PLANKS_ID; + public static int BLOCK_THINCRYSTALGLASS_ID; + public static int BLOCK_THINFRAMEDGLASS_ID; + public static int BLOCK_TRAPARROW_ID; + public static int BLOCK_PHARAOHCHEST_ID; + public static int BLOCK_REDSTONEORE_ID; + public static int BLOCK_COALORE_ID; + public static int BLOCK_IRONORE_ID; + public static int BLOCK_GOLDORE_ID; + public static int BLOCK_LAPISORE_ID; + public static int BLOCK_DIAMONDORE_ID; + public static int BLOCK_FURNACEIDLE_ID; + public static int BLOCK_FURNACEBURNING_ID; + + public static int ITEM_SCARAB_ID; + public static int ITEM_SCIMITAR_ID; + public static int ITEM_GREATSWORD_ID; + public static int ITEM_SCEPTER_ID; + public static int ITEM_STONESOLDIERSWORD_ID; + public static int ITEM_BOW_ID; + public static int ITEM_LOOT_ID; + public static int ITEM_PTAHSPICK_ID; + public static int ITEM_SOBEKSRAGE_ID; + public static int ITEM_OSIRISWILL_ID; + public static int ITEM_AKERSTOIL_ID; + public static int ITEM_GEBSBLESSING_ID; + public static int ITEM_ATENSFURY_ID; + public static int ITEM_RASGLORY_ID; + public static int ITEM_SEKHMETSWRATH_ID; + public static int ITEM_NUTSAGILITY_ID; + public static int ITEM_HORUSFLIGHT_ID; + public static int ITEM_MONTHUSSTRIKE_ID; + public static int ITEM_ANHURSMIGHT_ID; + public static int ITEM_HEDETETSSTING_ID; + public static int ITEM_HORUSSOARING_ID; + public static int ITEM_SHUSBREATH_ID; + public static int ITEM_PTAHSDESTRUCTION_ID; + public static int ITEM_MONTHUSBLAST_ID; + public static int ITEM_NUSFLUX_ID; + public static int ITEM_MNEVISHORNS_ID; + public static int ITEM_ISISEMBRACE_ID; + public static int ITEM_MAATSBALANCE_ID; + public static int ITEM_HEDETETSVENOM_ID; + public static int ITEM_GEBSSOLIDARITY_ID; + public static int ITEM_NUTSCALL_ID; + public static int ITEM_ANUKETSBOUNTY_ID; + public static int ITEM_MAFDETSQUICKNESS_ID; + public static int ITEM_ISISHEALING_ID; + public static int ITEM_AMUNETSHOMECOMING_ID; + public static int ITEM_ANUBISMERCY_ID; + public static int ITEM_LIMESTONESHOVEL_ID; + public static int ITEM_LIMESTONEPICKAXE_ID; + public static int ITEM_LIMESTONEAXE_ID; + public static int ITEM_LIMESTONESWORD_ID; + public static int ITEM_LIMESTONEHOE_ID; + public static int ITEM_MUMMYHELMET_ID; + public static int ITEM_MUMMYCHEST_ID; + public static int ITEM_MUMMYLEGS_ID; + public static int ITEM_MUMMYBOOTS_ID; + public static int ITEM_WANDERERHELMET_ID; + public static int ITEM_WANDERERCHEST_ID; + public static int ITEM_WANDERERLEGS_ID; + public static int ITEM_WANDERERBOOTS_ID; + public static int ITEM_DESERTHELMET_ID; + public static int ITEM_DESERTCHEST_ID; + public static int ITEM_DESERTLEGS_ID; + public static int ITEM_DESERTBOOTS_ID; + public static int ITEM_PAPYRUSPLANT_ID; + public static int ITEM_ECTOPLASM_ID; + public static int ITEM_STONECHUNK_ID; + public static int ITEM_SCRAP_ID; + public static int ITEM_SCROLL_ID; + public static int ITEM_PELT_ID; + public static int ITEM_DATE_ID; + public static int ITEM_LINEN_ID; + public static int ITEM_FLAX_ID; + public static int ITEM_FLAXSEEDS_ID; + public static int ITEM_FISH_ID; + public static int ITEM_NEITHSAUDACITY_ID; + public static int ITEM_SPEAR_ID; +} diff --git a/common/com/teammetallurgy/atum/LocalizationHelper.java b/common/com/teammetallurgy/atum/LocalizationHelper.java new file mode 100644 index 0000000..794ae58 --- /dev/null +++ b/common/com/teammetallurgy/atum/LocalizationHelper.java @@ -0,0 +1,55 @@ +package com.teammetallurgy.atum; + +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.Reader; +import java.util.HashMap; +import java.util.Properties; + +public enum LocalizationHelper { + INSTANCE; + + private final String LANG_DIR = "/assets/atum/lang"; + private final HashMap LANG_MAP = new HashMap(); + + private LocalizationHelper() { + this.loadLanguage("en_US"); + } + + private void loadLanguage(String lang) { + InputStream stream = this.getClass().getResourceAsStream(String.format("%s/%s.properties", this.LANG_DIR, lang)); + + try { + if(stream != null) { + Reader reader = new InputStreamReader(stream); + Properties props = new Properties(); + + props.load(reader); + this.LANG_MAP.put(lang, props); + reader.close(); + } else { + throw new NullPointerException("Cannot build stream for language: " + lang); + } + } catch(Exception ex) { + throw new RuntimeException(ex); + } + } + + public static String localize(String tag) { + return INSTANCE.translate(tag, "en_US"); + } + + public String translate(String tag, String lang) { + if(this.LANG_MAP.containsKey(lang)) { + Properties props = this.LANG_MAP.get(lang); + + if(props.containsKey(tag)) { + return props.getProperty(tag); + } else { + throw new NullPointerException("Cannot find tag: " + tag + " in language: " + lang); + } + } else { + throw new NullPointerException("Cannot find language: " + lang); + } + } +} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockArrowTrap.java b/common/com/teammetallurgy/atum/blocks/BlockArrowTrap.java similarity index 66% rename from common/rebelkeithy/mods/atum/blocks/BlockArrowTrap.java rename to common/com/teammetallurgy/atum/blocks/BlockArrowTrap.java index 420ef87..79b9808 100644 --- a/common/rebelkeithy/mods/atum/blocks/BlockArrowTrap.java +++ b/common/com/teammetallurgy/atum/blocks/BlockArrowTrap.java @@ -1,7 +1,4 @@ -package rebelkeithy.mods.atum.blocks; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +package com.teammetallurgy.atum.blocks; import java.util.Random; @@ -14,67 +11,69 @@ import net.minecraft.dispenser.BehaviorDefaultDispenseItem; import net.minecraft.dispenser.IRegistry; import net.minecraft.dispenser.RegistryDefaulted; -import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumFacing; import net.minecraft.util.Icon; import net.minecraft.world.World; -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.blocks.TileEntityArrowTrap; + +import com.teammetallurgy.atum.Atum; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class BlockArrowTrap extends BlockContainer { public static final IRegistry dispenseBehaviorRegistry = new RegistryDefaulted(new BehaviorDefaultDispenseItem()); protected Random random = new Random(); @SideOnly(Side.CLIENT) - protected Icon field_94463_c; - @SideOnly(Side.CLIENT) - protected Icon field_94462_cO; - @SideOnly(Side.CLIENT) - protected Icon field_96473_e; + protected Icon fireTrap; public BlockArrowTrap(int par1) { super(par1, Material.rock); + this.setUnlocalizedName("atum:arrowTrap"); this.setCreativeTab(CreativeTabs.tabRedstone); this.setHardness(-1.0F); } + @Override public float getBlockHardness(World par1World, int par2, int par3, int par4) { - return par1World.getBlockId(par2, par3 + 1, par4) == AtumBlocks.largeBrick.blockID && par1World.getBlockMetadata(par2, par3 + 1, par4) == 1 ? -1.0F : super.blockHardness; + return par1World.getBlockId(par2, par3 + 1, par4) == Blocks.BLOCK_LARGEBRICK.blockID && par1World.getBlockMetadata(par2, par3 + 1, par4) == 1 ? -1.0F : super.blockHardness; } + @Override public int tickRate(World par1World) { return 4; } + @Override public void onBlockAdded(World par1World, int par2, int par3, int par4) { super.onBlockAdded(par1World, par2, par3, par4); this.setDispenserDefaultDirection(par1World, par2, par3, par4); } private void setDispenserDefaultDirection(World par1World, int par2, int par3, int par4) { - if (!par1World.isRemote) { + if(!par1World.isRemote) { int l = par1World.getBlockId(par2, par3, par4 - 1); int i1 = par1World.getBlockId(par2, par3, par4 + 1); int j1 = par1World.getBlockId(par2 - 1, par3, par4); int k1 = par1World.getBlockId(par2 + 1, par3, par4); byte b0 = 3; - if (Block.opaqueCubeLookup[l] && !Block.opaqueCubeLookup[i1]) { + if(Block.opaqueCubeLookup[l] && !Block.opaqueCubeLookup[i1]) { b0 = 3; } - if (Block.opaqueCubeLookup[i1] && !Block.opaqueCubeLookup[l]) { + if(Block.opaqueCubeLookup[i1] && !Block.opaqueCubeLookup[l]) { b0 = 2; } - if (Block.opaqueCubeLookup[j1] && !Block.opaqueCubeLookup[k1]) { + if(Block.opaqueCubeLookup[j1] && !Block.opaqueCubeLookup[k1]) { b0 = 5; } - if (Block.opaqueCubeLookup[k1] && !Block.opaqueCubeLookup[j1]) { + if(Block.opaqueCubeLookup[k1] && !Block.opaqueCubeLookup[j1]) { b0 = 4; } @@ -86,54 +85,56 @@ private void setDispenserDefaultDirection(World par1World, int par2, int par3, i @SideOnly(Side.CLIENT) @Override public Icon getIcon(int par1, int par2) { - if (par2 == 0) { + if(par2 == 0) { par2 = 3; } int k = par2 & 7; - return par1 == k ? (k != 1 && k != 0 ? this.field_94462_cO : this.field_96473_e) : (k != 1 && k != 0 ? (par1 != 1 && par1 != 0 ? super.blockIcon : this.field_94463_c) : this.field_94463_c); + return par1 == k ? (k != 1 && k != 0 ? this.fireTrap : this.fireTrap) : (k != 1 && k != 0 ? (par1 != 1 && par1 != 0 ? super.blockIcon : this.blockIcon) : this.blockIcon); } @Override @SideOnly(Side.CLIENT) public void registerIcons(IconRegister par1IconRegister) { - super.blockIcon = par1IconRegister.registerIcon(Atum.modID + ":TrapSide"); - this.field_94463_c = par1IconRegister.registerIcon(Atum.modID + ":TrapSide"); - this.field_94462_cO = par1IconRegister.registerIcon(Atum.modID + ":TrapFire"); - this.field_96473_e = par1IconRegister.registerIcon(Atum.modID + ":TrapFire"); + this.blockIcon = par1IconRegister.registerIcon("atum:TrapSide"); + this.fireTrap = par1IconRegister.registerIcon("atum:TrapFire"); } + @Override public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { - if (par1World.isRemote) { + if(par1World.isRemote) { return true; } else { - TileEntityArrowTrap TileEntityArrowTrap = (TileEntityArrowTrap) par1World.getBlockTileEntity(par2, par3, par4); - if (TileEntityArrowTrap != null) { - ; - } + // TileEntityArrowTrap TileEntityArrowTrap = (TileEntityArrowTrap) par1World.getBlockTileEntity(par2, par3, par4); + // if(TileEntityArrowTrap != null) { + // ; + // } return true; } } + @Override public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) { boolean flag = par1World.isBlockIndirectlyGettingPowered(par2, par3, par4) || par1World.isBlockIndirectlyGettingPowered(par2, par3 + 1, par4); int i1 = par1World.getBlockMetadata(par2, par3, par4); boolean flag1 = (i1 & 8) != 0; - if (flag && !flag1) { + if(flag && !flag1) { par1World.scheduleBlockUpdate(par2, par3, par4, super.blockID, this.tickRate(par1World)); par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 | 8, 4); - } else if (!flag && flag1) { + } else if(!flag && flag1) { par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 & -9, 4); } } public TileEntity createNewTileEntity(World par1World) { - return new TileEntityArrowTrap(); + // return new TileEntityArrowTrap(); + return null; } - public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack) { + @Override + public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLivingBase par5EntityLiving, ItemStack par6ItemStack) { int l = BlockPistonBase.determineOrientation(par1World, par2, par3, par4, par5EntityLiving); par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); } diff --git a/common/com/teammetallurgy/atum/blocks/BlockAtum.java b/common/com/teammetallurgy/atum/blocks/BlockAtum.java new file mode 100644 index 0000000..207c823 --- /dev/null +++ b/common/com/teammetallurgy/atum/blocks/BlockAtum.java @@ -0,0 +1,12 @@ +package com.teammetallurgy.atum.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; + +public class BlockAtum extends Block { + + public BlockAtum(int par1, String unlocalisedName) { + super(par1, Material.rock); + this.setUnlocalizedName(unlocalisedName); + } +} diff --git a/common/com/teammetallurgy/atum/blocks/BlockAtumGlass.java b/common/com/teammetallurgy/atum/blocks/BlockAtumGlass.java new file mode 100644 index 0000000..ef0a0f7 --- /dev/null +++ b/common/com/teammetallurgy/atum/blocks/BlockAtumGlass.java @@ -0,0 +1,40 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockBreakable; +import net.minecraft.block.material.Material; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockAtumGlass extends BlockBreakable { + + public BlockAtumGlass(int par1, String texture) { + super(par1, texture, Material.glass, false); + this.setStepSound(Block.soundGlassFootstep); + this.setHardness(0.3F); + } + + public int quantityDropped(Random rand) { + return 0; + } + + @SideOnly(Side.CLIENT) + public int getRenderBlockPass() { + return 0; + } + + public boolean isOpaqueCube() { + return false; + } + + public boolean renderAsNormalBlock() { + return false; + } + + protected boolean canSilkHarvest() { + return true; + } + +} diff --git a/common/com/teammetallurgy/atum/blocks/BlockAtumOres.java b/common/com/teammetallurgy/atum/blocks/BlockAtumOres.java new file mode 100644 index 0000000..2b3aa7b --- /dev/null +++ b/common/com/teammetallurgy/atum/blocks/BlockAtumOres.java @@ -0,0 +1,15 @@ +package com.teammetallurgy.atum.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockOre; + +public class BlockAtumOres extends BlockOre { + + public BlockAtumOres(int par1) { + super(par1); + this.setHardness(3.0F); + this.setResistance(5.0F); + this.setStepSound(Block.soundStoneFootstep); + } + +} diff --git a/common/com/teammetallurgy/atum/blocks/BlockAtumPane.java b/common/com/teammetallurgy/atum/blocks/BlockAtumPane.java new file mode 100644 index 0000000..e32f748 --- /dev/null +++ b/common/com/teammetallurgy/atum/blocks/BlockAtumPane.java @@ -0,0 +1,15 @@ +package com.teammetallurgy.atum.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockPane; +import net.minecraft.block.material.Material; + +public class BlockAtumPane extends BlockPane { + + protected BlockAtumPane(int par1, String par2Str, String par3Str) { + super(par1, par2Str, par3Str, Material.glass, false); + this.setHardness(0.3F); + this.setStepSound(Block.soundGlassFootstep); + } + +} diff --git a/common/com/teammetallurgy/atum/blocks/BlockChestSpawner.java b/common/com/teammetallurgy/atum/blocks/BlockChestSpawner.java new file mode 100644 index 0000000..54c89b0 --- /dev/null +++ b/common/com/teammetallurgy/atum/blocks/BlockChestSpawner.java @@ -0,0 +1,194 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.Iterator; +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.passive.EntityOcelot; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MathHelper; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.ForgeDirection; + +import com.teammetallurgy.atum.blocks.tileentity.TileEntityChestSpawner; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockChestSpawner extends BlockContainer { + + protected BlockChestSpawner(int par1) { + super(par1, Material.wood); + this.setUnlocalizedName("atum:chestSpawner"); + this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); + } + + @Override + public int idDropped(int par1, Random par2Random, int par3) { + return Block.chest.blockID; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + public int getRenderType() { + return 22; + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { + this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); + } + + @Override + public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLivingBase par5EntityLiving, ItemStack par6ItemStack) { + int l = par1World.getBlockId(par2, par3, par4 - 1); + int i1 = par1World.getBlockId(par2, par3, par4 + 1); + int j1 = par1World.getBlockId(par2 - 1, par3, par4); + int k1 = par1World.getBlockId(par2 + 1, par3, par4); + byte b0 = 0; + int l1 = MathHelper.floor_double((double) (par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + if(l1 == 0) { + b0 = 2; + } + + if(l1 == 1) { + b0 = 5; + } + + if(l1 == 2) { + b0 = 3; + } + + if(l1 == 3) { + b0 = 4; + } + + if(l != blockID && i1 != blockID && j1 != blockID && k1 != blockID) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); + } else { + if((l == blockID || i1 == blockID) && (b0 == 4 || b0 == 5)) { + if(l == blockID) { + par1World.setBlockMetadataWithNotify(par2, par3, par4 - 1, b0, 3); + } else { + par1World.setBlockMetadataWithNotify(par2, par3, par4 + 1, b0, 3); + } + + par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); + } + + if((j1 == blockID || k1 == blockID) && (b0 == 2 || b0 == 3)) { + if(j1 == blockID) { + par1World.setBlockMetadataWithNotify(par2 - 1, par3, par4, b0, 3); + } else { + par1World.setBlockMetadataWithNotify(par2 + 1, par3, par4, b0, 3); + } + + par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); + } + } + + if(par6ItemStack.hasDisplayName()) { + ((TileEntityChestSpawner) par1World.getBlockTileEntity(par2, par3, par4)).setChestGuiName(par6ItemStack.getDisplayName()); + } + + } + + @Override + public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) { + par1World.func_96440_m(par2, par3, par4, par5); + super.breakBlock(par1World, par2, par3, par4, par5, par6); + } + + @Override + public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { + if(par1World.isRemote) { + return true; + } else { + IInventory iinventory = this.getInventory(par1World, par2, par3, par4); + if(iinventory != null) { + par5EntityPlayer.displayGUIChest(iinventory); + } + + return true; + } + } + + public IInventory getInventory(World par1World, int par2, int par3, int par4) { + TileEntityChestSpawner object = (TileEntityChestSpawner) par1World.getBlockTileEntity(par2, par3, par4); + return object == null ? null : (par1World.isBlockSolidOnSide(par2, par3 + 1, par4, ForgeDirection.DOWN) ? null : (isOcelotBlockingChest(par1World, par2, par3, par4) ? null : (IInventory) object)); + } + + @Override + public TileEntity createNewTileEntity(World par1World) { + TileEntityChestSpawner TileEntityChestSpawner = new TileEntityChestSpawner(); + return TileEntityChestSpawner; + } + + @Override + public boolean canProvidePower() { + return true; + } + + @Override + public int isProvidingWeakPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + if(!this.canProvidePower()) { + return 0; + } else { + int i1 = ((TileEntityChestSpawner) par1IBlockAccess.getBlockTileEntity(par2, par3, par4)).numUsingPlayers; + return MathHelper.clamp_int(i1, 0, 15); + } + } + + @Override + public int isProvidingStrongPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + return par5 == 1 ? this.isProvidingWeakPower(par1IBlockAccess, par2, par3, par4, par5) : 0; + } + + public static boolean isOcelotBlockingChest(World par0World, int par1, int par2, int par3) { + Iterator iterator = par0World.getEntitiesWithinAABB(EntityOcelot.class, AxisAlignedBB.getAABBPool().getAABB((double) par1, (double) (par2 + 1), (double) par3, (double) (par1 + 1), (double) (par2 + 2), (double) (par3 + 1))).iterator(); + + while(iterator.hasNext()) { + EntityOcelot entityocelot1 = (EntityOcelot) iterator.next(); + if(entityocelot1.isSitting()) { + return true; + } + } + + return false; + } + + @Override + public boolean hasComparatorInputOverride() { + return true; + } + + @Override + public int getComparatorInputOverride(World par1World, int par2, int par3, int par4, int par5) { + return Container.calcRedstoneFromInventory(this.getInventory(par1World, par2, par3, par4)); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + this.blockIcon = par1IconRegister.registerIcon("wood"); + } +} \ No newline at end of file diff --git a/common/com/teammetallurgy/atum/blocks/BlockDate.java b/common/com/teammetallurgy/atum/blocks/BlockDate.java new file mode 100644 index 0000000..ac66d71 --- /dev/null +++ b/common/com/teammetallurgy/atum/blocks/BlockDate.java @@ -0,0 +1,64 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.world.World; +import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockDate extends Block { + + public int renderID = RenderingRegistry.getNextAvailableRenderId(); + + public BlockDate(int par1) { + super(par1, Material.plants); + this.setUnlocalizedName("atum:date"); + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + public int getRenderType() { + return renderID; + } + + @Override + public void onNeighborBlockChange(World world, int x, int y, int z, int neighborID) { + if(world.getBlockId(x, y + 1, z) != Blocks.BLOCK_LEAVES.blockID && !world.isRemote) { + // EntityItem entityItem = new EntityItem(world, (double) x, (double) y, (double) z, new ItemStack(AtumItems.date.itemID, 0, this.quantityDropped(new Random()))); + // entityItem.dropItem(AtumItems.date.itemID, this.quantityDropped(new Random())); + world.setBlockToAir(x, y, z); + } + + } + + @Override + public int idDropped(int par1, Random rand, int par3) { + // return AtumItems.date.itemID; + return 0; + } + + @Override + public int quantityDropped(Random rand) { + return rand.nextInt(3) + 1; + } + + @Override + @SideOnly(Side.CLIENT) + public int idPicked(World par1World, int par2, int par3, int par4) { + // return AtumItems.date.itemID; + return 0; + } + +} diff --git a/common/com/teammetallurgy/atum/blocks/BlockFertileSoil.java b/common/com/teammetallurgy/atum/blocks/BlockFertileSoil.java new file mode 100644 index 0000000..4129f9c --- /dev/null +++ b/common/com/teammetallurgy/atum/blocks/BlockFertileSoil.java @@ -0,0 +1,130 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockFlower; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.util.Icon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.EnumPlantType; +import net.minecraftforge.common.ForgeDirection; +import net.minecraftforge.common.IPlantable; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockFertileSoil extends Block { + @SideOnly(Side.CLIENT) + private Icon iconGrassTop; + + @SideOnly(Side.CLIENT) + private Icon iconGrassSideOverlay; + + @SideOnly(Side.CLIENT) + private Icon iconDirt; + + public BlockFertileSoil(int par1) { + super(par1, Material.grass); + this.setUnlocalizedName("atum:fertileSoil"); + this.setHardness(0.5F); + this.setStepSound(Block.soundGrassFootstep); + setTickRandomly(true); + } + + @Override + @SideOnly(Side.CLIENT) + public Icon getIcon(int par1, int par2) { + if(par2 == 1) { + return this.iconDirt; + } + return par1 == 0 ? Block.dirt.getBlockTextureFromSide(par1) : par1 == 1 ? this.iconGrassTop : this.blockIcon; + } + + @Override + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + if(!par1World.isRemote) { + if((par1World.getBlockLightValue(par2, par3 + 1, par4) < 4) && (par1World.getBlockLightOpacity(par2, par3 + 1, par4) > 2)) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 1, 2); + } else if(par1World.getBlockLightValue(par2, par3 + 1, par4) >= 9) { + for(int l = 0; l < 4; l++) { + int i1 = par2 + par5Random.nextInt(3) - 1; + int j1 = par3 + par5Random.nextInt(5) - 3; + int k1 = par4 + par5Random.nextInt(3) - 1; + int l1 = par1World.getBlockId(i1, j1 + 1, k1); + + if((par1World.getBlockId(i1, j1, k1) == this.blockID) && (par1World.getBlockMetadata(i1, j1, k1) == 1) && (par1World.getBlockLightValue(i1, j1 + 1, k1) >= 4) && (par1World.getBlockLightOpacity(i1, j1 + 1, k1) <= 2)) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 2); + } + } + } + } + } + + @Override + public boolean canSustainPlant(World world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { + EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); + + if((plant instanceof BlockFlower)) { + return true; + } + + switch(plantType.ordinal()) { + case 1: + return false; + case 2: + return false; + case 3: + return false; + case 4: + return isBlockSolidOnSide(world, x, y, z, ForgeDirection.UP); + case 5: + return true; + case 6: + return false; + case 7: + boolean hasWater = (world.getBlockMaterial(x - 1, y, z) == Material.water) || (world.getBlockMaterial(x + 1, y, z) == Material.water) || (world.getBlockMaterial(x, y, z - 1) == Material.water) || (world.getBlockMaterial(x, y, z + 1) == Material.water); + + return hasWater; + } + + return false; + } + + @Override + public int idDropped(int par1, Random par2Random, int par3) { + return Blocks.BLOCK_SAND.blockID; + } + + @Override + @SideOnly(Side.CLIENT) + public Icon getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + if(par1IBlockAccess.getBlockMetadata(par2, par3, par4) == 1) { + return this.iconDirt; + } + + if(par5 == 1) { + return this.iconGrassTop; + } + if(par5 == 0) { + return Blocks.BLOCK_SAND.getBlockTextureFromSide(par5); + } + + return this.blockIcon; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + this.blockIcon = par1IconRegister.registerIcon("atum:FertileSoilSide"); + this.iconDirt = par1IconRegister.registerIcon("atum:FertileSoil"); + this.iconGrassTop = par1IconRegister.registerIcon("atum:FertileSoilTop"); + this.iconGrassSideOverlay = par1IconRegister.registerIcon("grass_side_overlay"); + } + + @SideOnly(Side.CLIENT) + public Icon getIconSideOverlay() { + return this.iconGrassSideOverlay; + } +} \ No newline at end of file diff --git a/common/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java b/common/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java new file mode 100644 index 0000000..99b029a --- /dev/null +++ b/common/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java @@ -0,0 +1,176 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.Icon; +import net.minecraft.world.World; +import net.minecraftforge.common.EnumPlantType; +import net.minecraftforge.common.ForgeDirection; +import net.minecraftforge.common.IPlantable; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockFertileSoilTilled extends Block { + @SideOnly(Side.CLIENT) + private Icon farmlandWet; + @SideOnly(Side.CLIENT) + private Icon farmlandDry; + + public BlockFertileSoilTilled(int par1) { + super(par1, Material.ground); + this.setUnlocalizedName("atum:fertileSoilTilled"); + this.setTickRandomly(true); + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.9375F, 1.0F); + this.setLightOpacity(255); + } + + @Override + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { + int enchanted = (par1World.getBlockMetadata(par2, par3, par4) & 4 & 4) >> 2; + if(enchanted == 1 && par5Random.nextDouble() > 0.6D) { + double d0 = par5Random.nextGaussian() * 0.02D; + double d1 = par5Random.nextGaussian() * 0.02D; + double d2 = par5Random.nextGaussian() * 0.02D; + par1World.spawnParticle("happyVillager", (double) ((float) par2 + par5Random.nextFloat()), (double) par3 + (double) par5Random.nextFloat() * this.getBlockBoundsMaxY() * 0.4D + 1.0D, (double) ((float) par4 + par5Random.nextFloat()), d0, d1, d2); + } + + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { + return AxisAlignedBB.getAABBPool().getAABB((double) (par2 + 0), (double) (par3 + 0), (double) (par4 + 0), (double) (par2 + 1), (double) (par3 + 1), (double) (par4 + 1)); + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + @SideOnly(Side.CLIENT) + public Icon getIcon(int par1, int par2) { + return par2 >> 3 == 0 ? (par1 == 1 ? (par2 > 0 ? this.farmlandWet : this.farmlandDry) : Blocks.BLOCK_FERTILESOIL.getIcon(par1, 1)) : Block.tilledField.getIcon(par1, par2); + } + + @Override + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + int meta = par1World.getBlockMetadata(par2, par3, par4); + if(!this.isWaterNearby(par1World, par2, par3, par4) && !par1World.canLightningStrikeAt(par2, par3 + 1, par4)) { + if((meta & 3) > 0 && Math.random() > 0.5D) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, meta - 1, 2); + } else if(!this.isCropsNearby(par1World, par2, par3, par4)) { + this.revertToDirt(par1World, par2, par3, par4); + } + } else { + par1World.setBlockMetadataWithNotify(par2, par3, par4, meta | 3, 2); + } + + int cropID = par1World.getBlockId(par2, par3 + 1, par4); + if(cropID != 0) { + for(int i = 0; i < 2; ++i) { + Block.blocksList[cropID].updateTick(par1World, par2, par3 + 1, par4, par5Random); + } + } + + } + + @Override + public void onFallenUpon(World par1World, int par2, int par3, int par4, Entity par5Entity, float par6) { + if(!par1World.isRemote && par1World.rand.nextFloat() < par6 - 0.5F) { + if(!(par5Entity instanceof EntityPlayer) && !par1World.getGameRules().getGameRuleBooleanValue("mobGriefing")) { + return; + } + + this.revertToDirt(par1World, par2, par3, par4); + } + + } + + private boolean isCropsNearby(World par1World, int par2, int par3, int par4) { + byte b0 = 0; + + for(int l = par2 - b0; l <= par2 + b0; ++l) { + for(int i1 = par4 - b0; i1 <= par4 + b0; ++i1) { + int j1 = par1World.getBlockId(l, par3 + 1, i1); + Block plant = Block.blocksList[j1]; + if(plant instanceof IPlantable && this.canSustainPlant(par1World, par2, par3, par4, ForgeDirection.UP, (IPlantable) plant)) { + return true; + } + } + } + + return false; + } + + private boolean isWaterNearby(World par1World, int par2, int par3, int par4) { + for(int l = par2 - 4; l <= par2 + 4; ++l) { + for(int i1 = par3; i1 <= par3 + 1; ++i1) { + for(int j1 = par4 - 4; j1 <= par4 + 4; ++j1) { + if(par1World.getBlockMaterial(l, i1, j1) == Material.water) { + return true; + } + } + } + } + + return false; + } + + @Override + public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) { + super.onNeighborBlockChange(par1World, par2, par3, par4, par5); + Material material = par1World.getBlockMaterial(par2, par3 + 1, par4); + if(material.isSolid()) { + this.revertToDirt(par1World, par2, par3, par4); + } + + } + + @Override + public boolean canSustainPlant(World world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { + EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); + return plantType == EnumPlantType.Crop; + } + + @Override + public int idDropped(int par1, Random par2Random, int par3) { + return par1 >> 3 == 0 ? Blocks.BLOCK_SAND.blockID : Block.dirt.blockID; + } + + public void revertToDirt(World world, int x, int y, int z) { + int type = world.getBlockMetadata(x, y, z) >> 3; + if(type == 0) { + world.setBlock(x, y, z, Blocks.BLOCK_FERTILESOIL.blockID); + world.setBlockMetadataWithNotify(x, y, z, 1, 2); + } else { + world.setBlock(x, y, z, Block.dirt.blockID); + } + + } + + @Override + @SideOnly(Side.CLIENT) + public int idPicked(World par1World, int par2, int par3, int par4) { + int type = par1World.getBlockMetadata(par2, par3, par4) >> 3; + return type == 0 ? Blocks.BLOCK_SAND.blockID : Block.dirt.blockID; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + this.farmlandWet = par1IconRegister.registerIcon("farmland_wet"); + this.farmlandDry = par1IconRegister.registerIcon("farmland_dry"); + } +} \ No newline at end of file diff --git a/common/com/teammetallurgy/atum/blocks/BlockFlax.java b/common/com/teammetallurgy/atum/blocks/BlockFlax.java new file mode 100644 index 0000000..b2c2e7a --- /dev/null +++ b/common/com/teammetallurgy/atum/blocks/BlockFlax.java @@ -0,0 +1,190 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.ArrayList; +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockFlower; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.ItemStack; +import net.minecraft.util.Icon; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; +import net.minecraftforge.common.EnumPlantType; +import net.minecraftforge.common.ForgeDirection; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockFlax extends BlockFlower { + @SideOnly(Side.CLIENT) + private Icon[] iconArray; + + protected BlockFlax(int par1) { + super(par1); + this.setUnlocalizedName("atum:flax"); + this.setTickRandomly(true); + float f = 0.5F; + this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 0.25F, 0.5F + f); + this.setCreativeTab((CreativeTabs) null); + this.setHardness(0.0F); + this.setStepSound(Block.soundGrassFootstep); + this.disableStats(); + } + + @Override + public EnumPlantType getPlantType(World world, int x, int y, int z) { + return EnumPlantType.Crop; + } + + @Override + public boolean canBlockStay(World par1World, int par2, int par3, int par4) { + if(par1World.getBlockMetadata(par2, par3, par4) >> 3 == 1) { + return par1World.getBlockId(par2, par3 - 1, par4) == Blocks.BLOCK_FERTILESOIL.blockID; + } else { + Block soil = Block.blocksList[par1World.getBlockId(par2, par3 - 1, par4)]; + return (par1World.getFullBlockLightValue(par2, par3, par4) >= 8 || par1World.canBlockSeeTheSky(par2, par3, par4)) && soil != null && soil.canSustainPlant(par1World, par2, par3 - 1, par4, ForgeDirection.UP, this); + } + } + + @Override + protected boolean canThisPlantGrowOnThisBlockID(int par1) { + return par1 == Block.tilledField.blockID || par1 == Blocks.BLOCK_FERTILESOILTILLED.blockID; + } + + @Override + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + super.updateTick(par1World, par2, par3, par4, par5Random); + if((par1World.getBlockLightValue(par2, par3 + 1, par4) & 273) >= 9) { + int l = par1World.getBlockMetadata(par2, par3, par4); + if((l & 7) < 5) { + float f = this.getGrowthRate(par1World, par2, par3, par4); + if(par5Random.nextInt((int) (25.0F / f) + 1) == 0) { + ++l; + par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); + } + } + } + + } + + public void fertilize(World par1World, int par2, int par3, int par4) { + int l = par1World.getBlockMetadata(par2, par3, par4) + MathHelper.getRandomIntegerInRange(par1World.rand, 2, 3); + if((l & 7) > 5) { + l -= (l & 7) - 5; + } + + par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); + } + + private float getGrowthRate(World par1World, int par2, int par3, int par4) { + float f = 1.0F; + int l = par1World.getBlockId(par2, par3, par4 - 1); + int i1 = par1World.getBlockId(par2, par3, par4 + 1); + int j1 = par1World.getBlockId(par2 - 1, par3, par4); + int k1 = par1World.getBlockId(par2 + 1, par3, par4); + int l1 = par1World.getBlockId(par2 - 1, par3, par4 - 1); + int i2 = par1World.getBlockId(par2 + 1, par3, par4 - 1); + int j2 = par1World.getBlockId(par2 + 1, par3, par4 + 1); + int k2 = par1World.getBlockId(par2 - 1, par3, par4 + 1); + boolean flag = j1 == super.blockID || k1 == super.blockID; + boolean flag1 = l == super.blockID || i1 == super.blockID; + boolean flag2 = l1 == super.blockID || i2 == super.blockID || j2 == super.blockID || k2 == super.blockID; + + for(int l2 = par2 - 1; l2 <= par2 + 1; ++l2) { + for(int i3 = par4 - 1; i3 <= par4 + 1; ++i3) { + int j3 = par1World.getBlockId(l2, par3 - 1, i3); + float f1 = 0.0F; + if(Block.blocksList[j3] != null && Block.blocksList[j3].canSustainPlant(par1World, l2, par3 - 1, i3, ForgeDirection.UP, this)) { + f1 = 1.0F; + if(Block.blocksList[j3].isFertile(par1World, l2, par3 - 1, i3)) { + f1 = 3.0F; + } + } + + if(l2 != par2 || i3 != par4) { + f1 /= 4.0F; + } + + f += f1; + } + } + + if(flag2 || flag && flag1) { + f /= 2.0F; + } + + return f; + } + + @SideOnly(Side.CLIENT) + public Icon getIcon(int par1, int par2) { + int meta = par2 & 7; + if(meta < 0 || meta > 5) { + meta = 5; + } + + return this.iconArray[meta]; + } + + @Override + public int getRenderType() { + return 1; + } + + protected int getSeedItem() { + return 0; + //return AtumItems.flaxSeeds.itemID; + } + + protected int getCropItem() { + return 0; + //return AtumItems.flax.itemID; + } + + @Override + public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int par4, int par5, float par6, int par7) { + super.dropBlockAsItemWithChance(par1World, par2, par3, par4, par5, par6, 0); + } + + @Override + public ArrayList getBlockDropped(World world, int x, int y, int z, int metadata, int fortune) { + ArrayList ret = super.getBlockDropped(world, x, y, z, metadata, fortune); + if((metadata & 7) >= 5) { + for(int n = 0; n < 3 + fortune; ++n) { + if(world.rand.nextInt(15) <= (metadata & 7)) { + ret.add(new ItemStack(this.getSeedItem(), 1, 0)); + } + } + } + + return ret; + } + + @Override + public int idDropped(int par1, Random par2Random, int par3) { + return par1 == 5 ? this.getCropItem() : this.getSeedItem(); + } + + @Override + public int quantityDropped(Random par1Random) { + return 1; + } + + @Override + @SideOnly(Side.CLIENT) + public int idPicked(World par1World, int par2, int par3, int par4) { + return this.getSeedItem(); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + this.iconArray = new Icon[6]; + + for(int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IconRegister.registerIcon("atum:Flax_" + i); + } + + } +} \ No newline at end of file diff --git a/common/com/teammetallurgy/atum/blocks/BlockLeave.java b/common/com/teammetallurgy/atum/blocks/BlockLeave.java new file mode 100644 index 0000000..6db7902 --- /dev/null +++ b/common/com/teammetallurgy/atum/blocks/BlockLeave.java @@ -0,0 +1,269 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.ArrayList; +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockLeaves; +import net.minecraft.block.BlockLeavesBase; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.Icon; +import net.minecraft.world.ColorizerFoliage; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraftforge.common.IShearable; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockLeave extends BlockLeavesBase implements IShearable { + int[] adjacentTreeBlocks; + + protected BlockLeave(int par1) { + super(par1, Material.leaves, false); + this.setUnlocalizedName("atum:palmLeaves"); + this.setHardness(0.2F); + this.setLightOpacity(1); + this.setStepSound(Block.soundGrassFootstep); + this.setTickRandomly(true); + } + + @Override + @SideOnly(Side.CLIENT) + public int getBlockColor() { + double d0 = 0.5D; + double d1 = 1.0D; + return ColorizerFoliage.getFoliageColor(d0, d1); + } + + @Override + @SideOnly(Side.CLIENT) + public int getRenderColor(int par1) { + return ColorizerFoliage.getFoliageColorBasic(); + } + + @Override + @SideOnly(Side.CLIENT) + public int colorMultiplier(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { + int i1 = 0; + int j1 = 0; + int k1 = 0; + + for(int l1 = -1; l1 <= 1; ++l1) { + for(int i2 = -1; i2 <= 1; ++i2) { + int j2 = BiomeGenBase.desert.getBiomeFoliageColor(); + i1 += (j2 & 16711680) >> 16; + j1 += (j2 & '\uff00') >> 8; + k1 += j2 & 255; + } + } + + return (i1 / 9 & 255) << 16 | (j1 / 9 & 255) << 8 | k1 / 9 & 255; + } + + @Override + public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) { + byte b0 = 1; + int j1 = b0 + 1; + if(par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1)) { + for(int k1 = -b0; k1 <= b0; ++k1) { + for(int l1 = -b0; l1 <= b0; ++l1) { + for(int i2 = -b0; i2 <= b0; ++i2) { + int j2 = par1World.getBlockId(par2 + k1, par3 + l1, par4 + i2); + if(Block.blocksList[j2] != null) { + Block.blocksList[j2].beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2); + } + } + } + } + } + + } + + @Override + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + if(!par1World.isRemote) { + int l = par1World.getBlockMetadata(par2, par3, par4); + if((l & 8) != 0 && (l & 4) == 0) { + byte b0 = 4; + int i1 = b0 + 1; + byte b1 = 32; + int j1 = b1 * b1; + int k1 = b1 / 2; + if(this.adjacentTreeBlocks == null) { + this.adjacentTreeBlocks = new int[b1 * b1 * b1]; + } + + int l1; + if(par1World.checkChunksExist(par2 - i1, par3 - i1, par4 - i1, par2 + i1, par3 + i1, par4 + i1)) { + int i2; + int j2; + int k2; + for(l1 = -b0; l1 <= b0; ++l1) { + for(i2 = -b0; i2 <= b0; ++i2) { + for(j2 = -b0; j2 <= b0; ++j2) { + k2 = par1World.getBlockId(par2 + l1, par3 + i2, par4 + j2); + Block block = Block.blocksList[k2]; + if(block != null && block.canSustainLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) { + this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = 0; + } else if(block != null && block.isLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) { + this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = -2; + } else { + this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = -1; + } + } + } + } + + for(l1 = 1; l1 <= 4; ++l1) { + for(i2 = -b0; i2 <= b0; ++i2) { + for(j2 = -b0; j2 <= b0; ++j2) { + for(k2 = -b0; k2 <= b0; ++k2) { + if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1] == l1 - 1) { + if(this.adjacentTreeBlocks[(i2 + k1 - 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) { + this.adjacentTreeBlocks[(i2 + k1 - 1) * j1 + (j2 + k1) * b1 + k2 + k1] = l1; + } + + if(this.adjacentTreeBlocks[(i2 + k1 + 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) { + this.adjacentTreeBlocks[(i2 + k1 + 1) * j1 + (j2 + k1) * b1 + k2 + k1] = l1; + } + + if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 - 1) * b1 + k2 + k1] == -2) { + this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 - 1) * b1 + k2 + k1] = l1; + } + + if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 + 1) * b1 + k2 + k1] == -2) { + this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 + 1) * b1 + k2 + k1] = l1; + } + + if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + (k2 + k1 - 1)] == -2) { + this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + (k2 + k1 - 1)] = l1; + } + + if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1 + 1] == -2) { + this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1 + 1] = l1; + } + } + } + } + } + } + } + + l1 = this.adjacentTreeBlocks[k1 * j1 + k1 * b1 + k1]; + if(l1 >= 0) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, l & -9, 4); + } else { + this.removeLeaves(par1World, par2, par3, par4); + } + } + } + + } + + @Override + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { + if(par1World.canLightningStrikeAt(par2, par3 + 1, par4) && !par1World.doesBlockHaveSolidTopSurface(par2, par3 - 1, par4) && par5Random.nextInt(15) == 1) { + double d0 = (double) ((float) par2 + par5Random.nextFloat()); + double d1 = (double) par3 - 0.05D; + double d2 = (double) ((float) par4 + par5Random.nextFloat()); + par1World.spawnParticle("dripWater", d0, d1, d2, 0.0D, 0.0D, 0.0D); + } + + } + + private void removeLeaves(World par1World, int par2, int par3, int par4) { + this.dropBlockAsItem(par1World, par2, par3, par4, par1World.getBlockMetadata(par2, par3, par4), 0); + par1World.setBlockToAir(par2, par3, par4); + } + + @Override + public int quantityDropped(Random par1Random) { + return par1Random.nextInt(20) == 0 ? 1 : 0; + } + + public int idDropped(int par1, Random par2Random, int par3) { + return Blocks.BLOCK_PALMSAPLING.blockID; + } + + @Override + public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int par4, int par5, float par6, int par7) { + if(!par1World.isRemote) { + int j1 = 20; + if((par5 & 3) == 3) { + j1 = 40; + } + + if(par7 > 0) { + j1 -= 2 << par7; + if(j1 < 10) { + j1 = 10; + } + } + + if(par1World.rand.nextInt(j1) == 0) { + int k1 = this.idDropped(par5, par1World.rand, par7); + this.dropBlockAsItem_do(par1World, par2, par3, par4, new ItemStack(k1, 1, this.damageDropped(par5))); + } + } + + } + + @Override + public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6) { + super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6); + } + + @Override + public int damageDropped(int par1) { + return par1 & 3; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + @SideOnly(Side.CLIENT) + public Icon getIcon(int par1, int par2) { + return this.blockIcon; + } + + @Override + protected ItemStack createStackedBlock(int par1) { + return new ItemStack(this.blockID, 1, par1 & 3); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + this.blockIcon = par1IconRegister.registerIcon("atum:AtumLeaves"); + } + + @Override + public boolean isShearable(ItemStack item, World world, int x, int y, int z) { + return true; + } + + @Override + public ArrayList onSheared(ItemStack item, World world, int x, int y, int z, int fortune) { + ArrayList ret = new ArrayList(); + ret.add(new ItemStack(this, 1, world.getBlockMetadata(x, y, z) & 3)); + return ret; + } + + @Override + public void beginLeavesDecay(World world, int x, int y, int z) { + world.setBlockMetadataWithNotify(x, y, z, world.getBlockMetadata(x, y, z) | 8, 4); + } + + @Override + public boolean isLeaves(World world, int x, int y, int z) { + return true; + } +} diff --git a/common/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java b/common/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java new file mode 100644 index 0000000..7840897 --- /dev/null +++ b/common/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java @@ -0,0 +1,39 @@ +package com.teammetallurgy.atum.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockFurnace; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.util.Icon; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockLimeStoneFurnace extends BlockFurnace { + + boolean isActive; + @SideOnly(Side.CLIENT) + private Icon furnaceFront; + + protected BlockLimeStoneFurnace(int par1, boolean par2) { + super(par1, par2); + this.isActive = par2; + this.setHardness(3.5F); + this.setStepSound(Block.soundStoneFootstep); + } + + @Override + @SideOnly(Side.CLIENT) + public Icon getIcon(int par1, int par2) { + if(par2 == 0) { + par2 = 3; + } + + return par1 == 1 ? this.blockIcon : (par1 == 0 ? this.blockIcon : (par1 != par2 ? this.blockIcon : this.furnaceFront)); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + this.blockIcon = par1IconRegister.registerIcon("atum:FurnaceTop"); + this.furnaceFront = par1IconRegister.registerIcon(this.isActive ? "atum:FurnaceBurning" : "atum:FurnaceFront"); + } +} diff --git a/common/com/teammetallurgy/atum/blocks/BlockPalmLog.java b/common/com/teammetallurgy/atum/blocks/BlockPalmLog.java new file mode 100644 index 0000000..d1d5ef4 --- /dev/null +++ b/common/com/teammetallurgy/atum/blocks/BlockPalmLog.java @@ -0,0 +1,116 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockLog; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.item.ItemStack; +import net.minecraft.util.Icon; +import net.minecraft.world.World; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockPalmLog extends BlockLog { + public static final String[] woodType = new String[]{"oak", "spruce", "birch", "jungle"}; + public static final String[] treeTextureTypes = new String[]{"tree_side", "tree_spruce", "tree_birch", "tree_jungle"}; + @SideOnly(Side.CLIENT) + private Icon[] iconArray; + @SideOnly(Side.CLIENT) + private Icon tree_top; + private Icon tree_side; + + protected BlockPalmLog(int par1) { + super(par1); + this.setUnlocalizedName("atum:palmLog"); + this.setHardness(2.0F); + this.setStepSound(Block.soundWoodFootstep); + setBurnProperties(super.blockID, 5, 5); + } + + @Override + public int getRenderType() { + return 31; + } + + @Override + public int quantityDropped(Random par1Random) { + return 1; + } + + @Override + public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) { + byte b0 = 4; + int j1 = b0 + 1; + if(par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1)) { + for(int k1 = -b0; k1 <= b0; ++k1) { + for(int l1 = -b0; l1 <= b0; ++l1) { + for(int i2 = -b0; i2 <= b0; ++i2) { + int j2 = par1World.getBlockId(par2 + k1, par3 + l1, par4 + i2); + if(Block.blocksList[j2] != null) { + Block.blocksList[j2].beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2); + } + } + } + } + } + + } + + @Override + public int onBlockPlaced(World par1World, int par2, int par3, int par4, int par5, float par6, float par7, float par8, int par9) { + int j1 = par9 & 3; + byte b0 = 0; + switch(par5) { + case 0: + case 1: + b0 = 0; + break; + case 2: + case 3: + b0 = 8; + break; + case 4: + case 5: + b0 = 4; + } + + return j1 | b0; + } + + @Override + @SideOnly(Side.CLIENT) + public Icon getIcon(int par1, int par2) { + int k = par2 & 12; + int l = par2 & 3; + return k == 0 && (par1 == 1 || par1 == 0) ? this.tree_top : (k == 4 && (par1 == 5 || par1 == 4) ? this.tree_top : (k == 8 && (par1 == 2 || par1 == 3) ? this.tree_top : this.tree_side)); + } + + @Override + public int damageDropped(int par1) { + return par1 & 3; + } + + @Override + protected ItemStack createStackedBlock(int par1) { + return new ItemStack(super.blockID, 1, limitToValidMetadata(par1)); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + this.tree_top = par1IconRegister.registerIcon("atum:tree_top"); + this.tree_side = par1IconRegister.registerIcon("atum:tree_side"); + } + + @Override + public boolean canSustainLeaves(World world, int x, int y, int z) { + return true; + } + + @Override + public boolean isWood(World world, int x, int y, int z) { + return true; + } + +} diff --git a/common/com/teammetallurgy/atum/blocks/BlockPalmSapling.java b/common/com/teammetallurgy/atum/blocks/BlockPalmSapling.java new file mode 100644 index 0000000..2583bf9 --- /dev/null +++ b/common/com/teammetallurgy/atum/blocks/BlockPalmSapling.java @@ -0,0 +1,92 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockFlower; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.world.World; + +public class BlockPalmSapling extends BlockFlower { + + protected BlockPalmSapling(int par1) { + super(par1); + this.setUnlocalizedName("atum:palmSapling"); + float f = 0.4F; + this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, f * 2.0F, 0.5F + f); + } + + @Override + public void updateTick(World world, int x, int y, int z, Random rand) { + if(!world.isRemote) { + super.updateTick(world, x, y, z, rand); + if(world.getBlockLightValue(x, y + 1, z) > 9 && rand.nextInt(20) == 0) { + this.growTree(world, x, y, z, rand); + } + } + + } + + public void growTree(World world, int x, int y, int z, Random rand) { + int height = rand.nextInt(4) + 5; + + int i; + for(i = 0; i < height; ++i) { + world.setBlock(x, y + i, z, Blocks.BLOCK_LOG.blockID, 0, 2); + } + + world.setBlock(x, y + height, z, Blocks.BLOCK_LEAVES.blockID, 0, 2); + + for(i = -1; i < 2; ++i) { + for(int j = -1; j < 2; ++j) { + if(i != 0 || j != 0) { + world.setBlock(x + i, y + height - 1, z + j, Blocks.BLOCK_LEAVES.blockID, 0, 2); + } + } + } + + world.setBlock(x + 2, y + height - 1, z, Blocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x + 2, y + height - 2, z, Blocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x + 3, y + height - 2, z, Blocks.BLOCK_LEAVES.blockID, 0, 2); + if(rand.nextInt(100) < 15) { + world.setBlock(x + 1, y + height - 2, z, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); + } + + world.setBlock(x - 2, y + height - 1, z, Blocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x - 2, y + height - 2, z, Blocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x - 3, y + height - 2, z, Blocks.BLOCK_LEAVES.blockID, 0, 2); + if(rand.nextInt(100) < 15) { + world.setBlock(x - 1, y + height - 2, z, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); + } + + world.setBlock(x, y + height - 1, z + 2, Blocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x, y + height - 2, z + 2, Blocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x, y + height - 2, z + 3, Blocks.BLOCK_LEAVES.blockID, 0, 2); + if(rand.nextInt(100) < 15) { + world.setBlock(x, y + height - 2, z + 1, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); + } + + world.setBlock(x, y + height - 1, z - 2, Blocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x, y + height - 2, z - 2, Blocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x, y + height - 2, z - 3, Blocks.BLOCK_LEAVES.blockID, 0, 2); + if(rand.nextInt(100) < 15) { + world.setBlock(x, y + height - 2, z - 1, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); + } + + } + + @Override + protected boolean canThisPlantGrowOnThisBlockID(int id) { + return id == Blocks.BLOCK_SAND.blockID || id == Block.grass.blockID || id == Block.dirt.blockID; + } + + @Override + public boolean canBlockStay(World world, int x, int y, int z) { + return world.getBlockId(x, y - 1, z) == Blocks.BLOCK_SAND.blockID || world.getBlockId(x, y - 1, z) == Block.grass.blockID || world.getBlockId(x, y - 1, z) == Block.dirt.blockID; + } + + @Override + public void registerIcons(IconRegister par1IconRegister) { + this.blockIcon = par1IconRegister.registerIcon("atum:AtumPalmSapling"); + } +} diff --git a/common/com/teammetallurgy/atum/blocks/BlockPapyrus.java b/common/com/teammetallurgy/atum/blocks/BlockPapyrus.java new file mode 100644 index 0000000..2449a9d --- /dev/null +++ b/common/com/teammetallurgy/atum/blocks/BlockPapyrus.java @@ -0,0 +1,184 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.Icon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.EnumPlantType; +import net.minecraftforge.common.ForgeDirection; +import net.minecraftforge.common.IPlantable; + +import com.teammetallurgy.atum.items.Items; + +import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockPapyrus extends Block implements IPlantable { + Icon iconPapyrus; + Icon iconPapyrusTop; + public int renderID = RenderingRegistry.getNextAvailableRenderId(); + + public BlockPapyrus(int par1) { + super(par1, Material.plants); + this.setUnlocalizedName("atum:papyrus"); + this.setHardness(0.0F); + this.setStepSound(Block.soundGrassFootstep); + float f = 0.375F; + this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 1.0F, 0.5F + f); + this.setTickRandomly(true); + } + + @Override + public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { + if(par5EntityPlayer.capabilities.isCreativeMode) { + this.updateTick(par1World, par2, par3, par4, new Random()); + } + + return super.onBlockActivated(par1World, par2, par3, par4, par5EntityPlayer, par6, par7, par8, par9); + } + + @Override + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + if((double) par5Random.nextFloat() <= 0.75D) { + if(par1World.isAirBlock(par2, par3 + 1, par4)) { + int l; + for(l = 1; par1World.getBlockId(par2, par3 - l, par4) == super.blockID; ++l) { + ; + } + + if(l < 5) { + int i1 = par1World.getBlockMetadata(par2, par3, par4); + byte reqHeight = 0; + if(l == 1) { + reqHeight = 2; + } else if(l == 2) { + reqHeight = 4; + } else if(l == 3) { + reqHeight = 8; + } else if(l == 4) { + reqHeight = 15; + } + + if(i1 >= reqHeight) { + par1World.setBlock(par2, par3 + 1, par4, super.blockID); + par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 4); + } else { + par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 + 1, 4); + } + } + } + + } + } + + @Override + public Icon getIcon(int par1, int par2) { + return this.iconPapyrus; + } + + @Override + @SideOnly(Side.CLIENT) + public Icon getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + boolean top = par1IBlockAccess.getBlockId(par2, par3 + 1, par4) != super.blockID; + return top ? this.iconPapyrusTop : this.iconPapyrus; + } + + @Override + public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4) { + Block block = Block.blocksList[par1World.getBlockId(par2, par3 - 1, par4)]; + return block != null && block.canSustainPlant(par1World, par2, par3 - 1, par4, ForgeDirection.UP, this); + } + + @Override + public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) { + this.checkBlockCoordValid(par1World, par2, par3, par4); + } + + protected final void checkBlockCoordValid(World par1World, int par2, int par3, int par4) { + if(!this.canBlockStay(par1World, par2, par3, par4)) { + this.dropBlockAsItem(par1World, par2, par3, par4, par1World.getBlockMetadata(par2, par3, par4), 0); + par1World.setBlockToAir(par2, par3, par4); + } + + } + + @Override + public boolean canBlockStay(World par1World, int par2, int par3, int par4) { + return this.canPlaceBlockAt(par1World, par2, par3, par4); + } + + @Override + public boolean canSustainPlant(World world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { + int plantID = plant.getPlantID(world, x, y + 1, z); + EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); + if(plantID == this.blockID) { + return true; + } else if(plantType != EnumPlantType.Beach) { + return false; + } else { + boolean isBeach = super.blockID == Block.grass.blockID || super.blockID == Block.dirt.blockID || super.blockID == Block.sand.blockID; + boolean hasWater = world.getBlockMaterial(x - 1, y, z) == Material.water || world.getBlockMaterial(x + 1, y, z) == Material.water || world.getBlockMaterial(x, y, z - 1) == Material.water || world.getBlockMaterial(x, y, z + 1) == Material.water; + return isBeach && hasWater; + } + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { + return null; + } + + @Override + public int idDropped(int par1, Random par2Random, int par3) { + return Items.papyrusPlant.itemID; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + public int getRenderType() { + return renderID; + } + + @Override + @SideOnly(Side.CLIENT) + public int idPicked(World par1World, int par2, int par3, int par4) { + return Items.papyrusPlant.itemID; + } + + @Override + public EnumPlantType getPlantType(World world, int x, int y, int z) { + return EnumPlantType.Beach; + } + + @Override + public int getPlantID(World world, int x, int y, int z) { + return this.blockID; + } + + @Override + public int getPlantMetadata(World world, int x, int y, int z) { + return world.getBlockMetadata(x, y, z); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + this.iconPapyrus = par1IconRegister.registerIcon("atum:AtumPapyrus"); + this.iconPapyrusTop = par1IconRegister.registerIcon("atum:AtumPapyrusTop"); + } +} \ No newline at end of file diff --git a/common/com/teammetallurgy/atum/blocks/BlockPharaohChest.java b/common/com/teammetallurgy/atum/blocks/BlockPharaohChest.java new file mode 100644 index 0000000..a4f5008 --- /dev/null +++ b/common/com/teammetallurgy/atum/blocks/BlockPharaohChest.java @@ -0,0 +1,201 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.Iterator; +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.passive.EntityOcelot; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MathHelper; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.ForgeDirection; + +import com.teammetallurgy.atum.blocks.tileentity.TileEntityPharaohChest; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockPharaohChest extends BlockContainer { + + protected BlockPharaohChest(int par1) { + super(par1, Material.wood); + this.setUnlocalizedName("atum:pharaohChest"); + this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); + } + + @Override + public int idDropped(int par1, Random par2Random, int par3) { + return Block.chest.blockID; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + public boolean renderAsNormalBlock() { + return false; + } + + @Override + public int getRenderType() { + return 22; + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { + this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); + } + + @Override + public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLivingBase par5EntityLiving, ItemStack par6ItemStack) { + int l = par1World.getBlockId(par2, par3, par4 - 1); + int i1 = par1World.getBlockId(par2, par3, par4 + 1); + int j1 = par1World.getBlockId(par2 - 1, par3, par4); + int k1 = par1World.getBlockId(par2 + 1, par3, par4); + byte b0 = 0; + int l1 = MathHelper.floor_double((double) (par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + if(l1 == 0) { + b0 = 2; + } + + if(l1 == 1) { + b0 = 5; + } + + if(l1 == 2) { + b0 = 3; + } + + if(l1 == 3) { + b0 = 4; + } + + if(l != super.blockID && i1 != super.blockID && j1 != super.blockID && k1 != super.blockID) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); + } else { + if((l == super.blockID || i1 == super.blockID) && (b0 == 4 || b0 == 5)) { + if(l == super.blockID) { + par1World.setBlockMetadataWithNotify(par2, par3, par4 - 1, b0, 3); + } else { + par1World.setBlockMetadataWithNotify(par2, par3, par4 + 1, b0, 3); + } + + par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); + } + + if((j1 == super.blockID || k1 == super.blockID) && (b0 == 2 || b0 == 3)) { + if(j1 == super.blockID) { + par1World.setBlockMetadataWithNotify(par2 - 1, par3, par4, b0, 3); + } else { + par1World.setBlockMetadataWithNotify(par2 + 1, par3, par4, b0, 3); + } + + par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); + } + } + + if(par6ItemStack.hasDisplayName()) { + ((TileEntityPharaohChest) par1World.getBlockTileEntity(par2, par3, par4)).func_94043_a(par6ItemStack.getDisplayName()); + } + + //AtumLoot.fillChest((TileEntityPharaohChest) par1World.getBlockTileEntity(par2, par3, par4), 15, 0.9F); + } + + @Override + public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) { + TileEntityPharaohChest TileEntityPharaohChest = (TileEntityPharaohChest) par1World.getBlockTileEntity(par2, par3, par4); + if(TileEntityPharaohChest != null) { + par1World.func_96440_m(par2, par3, par4, par5); + } + + super.breakBlock(par1World, par2, par3, par4, par5, par6); + } + + @Override + public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { + TileEntity te = par1World.getBlockTileEntity(par2, par3, par4); + if(te instanceof TileEntityPharaohChest) { + TileEntityPharaohChest iinventory = (TileEntityPharaohChest) te; + if(!iinventory.hasSpawned()) { + iinventory.spawn(par5EntityPlayer); + } + } + + if(par1World.isRemote) { + return true; + } else { + IInventory iinventory1 = this.getInventory(par1World, par2, par3, par4); + if(iinventory1 != null) { + par5EntityPlayer.displayGUIChest(iinventory1); + } + + return true; + } + } + + public IInventory getInventory(World par1World, int par2, int par3, int par4) { + TileEntityPharaohChest object = (TileEntityPharaohChest) par1World.getBlockTileEntity(par2, par3, par4); + return object == null ? null : (par1World.isBlockSolidOnSide(par2, par3 + 1, par4, ForgeDirection.DOWN) ? null : (isOcelotBlockingChest(par1World, par2, par3, par4) ? null : (IInventory) object)); + } + + @Override + public TileEntity createNewTileEntity(World par1World) { + TileEntityPharaohChest tileEntityPharaoh = new TileEntityPharaohChest(); + return tileEntityPharaoh; + } + + @Override + public int isProvidingWeakPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + if(!this.canProvidePower()) { + return 0; + } else { + int i1 = ((TileEntityPharaohChest) par1IBlockAccess.getBlockTileEntity(par2, par3, par4)).numUsingPlayers; + return MathHelper.clamp_int(i1, 0, 15); + } + } + + @Override + public int isProvidingStrongPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + return par5 == 1 ? this.isProvidingWeakPower(par1IBlockAccess, par2, par3, par4, par5) : 0; + } + + public static boolean isOcelotBlockingChest(World par0World, int par1, int par2, int par3) { + Iterator iterator = par0World.getEntitiesWithinAABB(EntityOcelot.class, AxisAlignedBB.getAABBPool().getAABB((double) par1, (double) (par2 + 1), (double) par3, (double) (par1 + 1), (double) (par2 + 2), (double) (par3 + 1))).iterator(); + + while(iterator.hasNext()) { + EntityOcelot entityocelot1 = (EntityOcelot) iterator.next(); + if(entityocelot1.isSitting()) { + return true; + } + } + + return false; + } + + @Override + public boolean hasComparatorInputOverride() { + return true; + } + + @Override + public int getComparatorInputOverride(World par1World, int par2, int par3, int par4, int par5) { + return Container.calcRedstoneFromInventory(this.getInventory(par1World, par2, par3, par4)); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + this.blockIcon = par1IconRegister.registerIcon("wood"); + } +} diff --git a/common/com/teammetallurgy/atum/blocks/BlockPortal.java b/common/com/teammetallurgy/atum/blocks/BlockPortal.java new file mode 100644 index 0000000..e19b095 --- /dev/null +++ b/common/com/teammetallurgy/atum/blocks/BlockPortal.java @@ -0,0 +1,210 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockBreakable; +import net.minecraft.block.material.Material; +import net.minecraft.client.Minecraft; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraft.world.WorldServer; +import rebelkeithy.mods.keithyutils.particleregistry.ParticleRegistry; + +import com.teammetallurgy.atum.AtumConfig; + +import cpw.mods.fml.common.ObfuscationReflectionHelper; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockPortal extends BlockBreakable { + + public BlockPortal(int par1) { + super(par1, "atum:portal", Material.portal, false); + this.setTickRandomly(true); + this.setHardness(-1.0F); + this.setUnlocalizedName("atum:portal"); + } + + @Override + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + super.updateTick(par1World, par2, par3, par4, par5Random); + if(par1World.provider.isSurfaceWorld() && par5Random.nextInt(2000) < par1World.difficultySetting) { + ; + } + + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return true; + } + + public boolean tryToCreatePortal(World par1World, int par2, int par3, int par4) { + // par1World.getBlockId(par2, par3 - 1, par4); + // int id1 = par1World.getBlockId(par2 - 2, par3 + 0, par4); + // int id2 = par1World.getBlockId(par2 - 2, par3 + 1, par4); + // int id3 = par1World.getBlockId(par2, par3 + 0, par4 - 2); + // int id4 = par1World.getBlockId(par2, par3 + 1, par4 - 2); + // int id5 = par1World.getBlockId(par2, par3 + 0, par4 + 2); + // int id6 = par1World.getBlockId(par2, par3 + 1, par4 + 2); + // int id7 = par1World.getBlockId(par2 + 2, par3 + 0, par4); + // int id8 = par1World.getBlockId(par2 + 2, par3 + 1, par4); + // int id9 = par1World.getBlockId(par2 - 1, par3 + 2, par4); + // int id10 = par1World.getBlockId(par2, par3 + 2, par4 - 1); + // int id11 = par1World.getBlockId(par2, par3 + 2, par4 + 1); + // int id12 = par1World.getBlockId(par2 + 1, par3 + 2, par4); + // if(id1 == id2 && id2 == id3 && id3 == id4 && id4 == id5 && id6 == id7 && id7 == id8 && id8 == id9 && id9 == id10 && id10 == id11 && id11 == id12 && id12 == Block.sandStone.blockID) { + // par1World.setBlock(par2, par3, par4, AtumBlocks.portal.blockID, 0, 2); + // par1World.setBlock(par2, par3 + 1, par4, AtumBlocks.portal.blockID, 0, 2); + // par1World.setBlock(par2, par3 + 2, par4, AtumBlocks.portal.blockID, 0, 2); + // return true; + // } else { + // return false; + // } + return false; + } + + @Override + public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) { + byte b0 = 0; + byte b1 = 1; + if(par1World.getBlockId(par2 - 1, par3, par4) == super.blockID || par1World.getBlockId(par2 + 1, par3, par4) == super.blockID) { + b0 = 1; + b1 = 0; + } + + int i1; + for(i1 = par3; par1World.getBlockId(par2, i1 - 1, par4) == super.blockID; --i1) { + ; + } + + if(par1World.getBlockId(par2, i1 - 1, par4) != Block.sandStone.blockID) { + par1World.setBlockToAir(par2, par3, par4); + } else { + int j1; + for(j1 = 1; j1 < 4 && par1World.getBlockId(par2, i1 + j1, par4) == super.blockID; ++j1) { + ; + } + + if(j1 == 3 && par1World.getBlockId(par2, i1 + j1, par4) == Block.sandStone.blockID) { + boolean flag = par1World.getBlockId(par2 - 1, par3, par4) == super.blockID || par1World.getBlockId(par2 + 1, par3, par4) == super.blockID; + boolean flag1 = par1World.getBlockId(par2, par3, par4 - 1) == super.blockID || par1World.getBlockId(par2, par3, par4 + 1) == super.blockID; + if(flag && flag1) { + par1World.setBlockToAir(par2, par3, par4); + } else if((par1World.getBlockId(par2 + b0, par3, par4 + b1) != Block.sandStone.blockID || par1World.getBlockId(par2 - b0, par3, par4 - b1) != super.blockID) && (par1World.getBlockId(par2 - b0, par3, par4 - b1) != Block.sandStone.blockID || par1World.getBlockId(par2 + b0, par3, par4 + b1) != super.blockID)) { + par1World.setBlockToAir(par2, par3, par4); + } + } else { + par1World.setBlockToAir(par2, par3, par4); + } + } + + } + + @Override + @SideOnly(Side.CLIENT) + public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + if(par1IBlockAccess.getBlockId(par2, par3, par4) == super.blockID) { + return false; + } else { + boolean flag = par1IBlockAccess.getBlockId(par2 - 1, par3, par4) == super.blockID && par1IBlockAccess.getBlockId(par2 - 2, par3, par4) != super.blockID; + boolean flag1 = par1IBlockAccess.getBlockId(par2 + 1, par3, par4) == super.blockID && par1IBlockAccess.getBlockId(par2 + 2, par3, par4) != super.blockID; + boolean flag2 = par1IBlockAccess.getBlockId(par2, par3, par4 - 1) == super.blockID && par1IBlockAccess.getBlockId(par2, par3, par4 - 2) != super.blockID; + boolean flag3 = par1IBlockAccess.getBlockId(par2, par3, par4 + 1) == super.blockID && par1IBlockAccess.getBlockId(par2, par3, par4 + 2) != super.blockID; + boolean flag4 = flag || flag1; + boolean flag5 = flag2 || flag3; + return flag4 && par5 == 4 ? true : (flag4 && par5 == 5 ? true : (flag5 && par5 == 2 ? true : flag5 && par5 == 3)); + } + } + + @Override + public int quantityDropped(Random par1Random) { + return 0; + } + + @Override + public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int par4, Entity par5Entity) { + // if(par5Entity.ridingEntity == null && par5Entity.riddenByEntity == null && par5Entity instanceof EntityPlayerMP) { + // EntityPlayerMP player = (EntityPlayerMP) par5Entity; + // if(par5Entity.timeUntilPortal == 0 && par5Entity instanceof EntityPlayerMP) { + // par5Entity.timeUntilPortal = 100; + // MinecraftServer minecraftserver = MinecraftServer.getServer(); + // int dimID = par5Entity.dimension; + // WorldServer worldserver = minecraftserver.worldServerForDimension(0); + // WorldServer worldserver1 = minecraftserver.worldServerForDimension(AtumConfig.dimensionID); + // if(dimID == AtumConfig.dimensionID) { + // minecraftserver.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP) par5Entity, 0, new AtumTeleporter(worldserver)); + // if(par1World.isRemote) { + // Minecraft.getMinecraft().gameSettings.renderDistance = TickHandler.defaultFog; + // } + // } else { + // minecraftserver.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP) par5Entity, AtumConfig.dimensionID, new AtumTeleporter(worldserver1)); + // } + // + // try { + // EntityPlayerMP e = (EntityPlayerMP) player; + // ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[]{"lastExperience", "cp", "field_71144_ck"}); + // ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[]{"lastHealth", "cm", "field_71149_ch"}); + // ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[]{"lastFoodLevel", "cn", "field_71146_ci"}); + // } catch(Exception var12) { + // var12.printStackTrace(); + // } + // } + // } + + } + + @Override + @SideOnly(Side.CLIENT) + public int getRenderBlockPass() { + return 1; + } + + @Override + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { + if(par5Random.nextInt(100) == 0) { + par1World.playSound((double) par2 + 0.5D, (double) par3 + 0.5D, (double) par4 + 0.5D, "portal.portal", 0.5F, par5Random.nextFloat() * 0.4F + 0.8F, false); + } + + for(int l = 0; l < 8; ++l) { + double d0 = (double) ((float) par2 + par5Random.nextFloat()); + double d1 = (double) ((float) par3 + par5Random.nextFloat()); + double d2 = (double) ((float) par4 + par5Random.nextFloat()); + double d3 = 0.0D; + double d4 = 0.0D; + double d5 = 0.0D; + int i1 = par5Random.nextInt(2) * 2 - 1; + d3 = ((double) par5Random.nextFloat() - 0.5D) * 0.5D; + d4 = ((double) par5Random.nextFloat() - 0.5D) * 0.5D; + d5 = ((double) par5Random.nextFloat() - 0.5D) * 0.5D; + if(par5Random.nextDouble() > 0.5D) { + d0 = (double) par2 + 0.5D + 0.25D * (double) i1; + d3 = (double) (par5Random.nextFloat() * 2.0F * (float) i1); + } else { + d2 = (double) par4 + 0.5D + 0.25D * (double) i1; + d5 = (double) (par5Random.nextFloat() * 2.0F * (float) i1); + } + + ParticleRegistry.spawnParticle("sandportal", par1World, d0, d1, d2, d3, d4, d5); + } + + } + + @Override + @SideOnly(Side.CLIENT) + public int idPicked(World par1World, int par2, int par3, int par4) { + return 0; + } + +} diff --git a/common/com/teammetallurgy/atum/blocks/BlockSandLayered.java b/common/com/teammetallurgy/atum/blocks/BlockSandLayered.java new file mode 100644 index 0000000..94eed7e --- /dev/null +++ b/common/com/teammetallurgy/atum/blocks/BlockSandLayered.java @@ -0,0 +1,117 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.EnumSkyBlock; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockSandLayered extends Block { + + public BlockSandLayered(int par1) { + super(par1, Material.sand); + this.setUnlocalizedName("atum:sandLayer"); + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.125F, 1.0F); + this.setTickRandomly(true); + this.func_96478_d(0); + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + this.blockIcon = par1IconRegister.registerIcon("atum:AtumSand"); + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { + return null; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + public void setBlockBoundsForItemRender() { + this.func_96478_d(0); + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { + this.func_96478_d(par1IBlockAccess.getBlockMetadata(par2, par3, par4)); + } + + protected void func_96478_d(int par1) { + int j = par1 & 7; + float f = (float) (2 * (1 + j)) / 16.0F; + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, f, 1.0F); + } + + @Override + public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4) { + int l = par1World.getBlockId(par2, par3 - 1, par4); + Block block = Block.blocksList[l]; + return block == null ? false : (block.blockID == this.blockID ? true : (block == this && (par1World.getBlockMetadata(par2, par3 - 1, par4) & 7) == 7 ? true : (!block.isLeaves(par1World, par2, par3 - 1, par4) && !Block.blocksList[l].isOpaqueCube() ? false : par1World.getBlockMaterial(par2, par3 - 1, par4).blocksMovement()))); + } + + @Override + public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) { + this.canSnowStay(par1World, par2, par3, par4); + } + + private boolean canSnowStay(World par1World, int par2, int par3, int par4) { + if(!this.canPlaceBlockAt(par1World, par2, par3, par4)) { + par1World.setBlockToAir(par2, par3, par4); + return false; + } else { + return false; + } + } + + @Override + public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6) { + super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6); + par1World.setBlockToAir(par3, par4, par5); + } + + @Override + public int idDropped(int par1, Random par2Random, int par3) { + return 0; + } + + @Override + public int quantityDropped(Random par1Random) { + return 0; + } + + @Override + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + if(par1World.getSavedLightValue(EnumSkyBlock.Block, par2, par3, par4) > 11) { + par1World.setBlockToAir(par2, par3, par4); + } + + } + + @Override + @SideOnly(Side.CLIENT) + public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + return par5 == 1 ? true : super.shouldSideBeRendered(par1IBlockAccess, par2, par3, par4, par5); + } + + @Override + public int quantityDropped(int meta, int fortune, Random random) { + return (meta & 7) + 1; + } +} \ No newline at end of file diff --git a/common/com/teammetallurgy/atum/blocks/BlockSands.java b/common/com/teammetallurgy/atum/blocks/BlockSands.java new file mode 100644 index 0000000..ec23a94 --- /dev/null +++ b/common/com/teammetallurgy/atum/blocks/BlockSands.java @@ -0,0 +1,18 @@ +package com.teammetallurgy.atum.blocks; + +import net.minecraft.block.BlockSand; +import net.minecraft.client.renderer.texture.IconRegister; + +public class BlockSands extends BlockSand { + + public BlockSands(int par1) { + super(par1); + this.setUnlocalizedName("atum:sand"); + } + + @Override + public void registerIcons(IconRegister par1IconRegister) { + this.blockIcon = par1IconRegister.registerIcon("atum:AtumSand"); + } + +} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockShrub.java b/common/com/teammetallurgy/atum/blocks/BlockShrub.java similarity index 63% rename from common/rebelkeithy/mods/atum/blocks/BlockShrub.java rename to common/com/teammetallurgy/atum/blocks/BlockShrub.java index 810e237..5dc7869 100644 --- a/common/rebelkeithy/mods/atum/blocks/BlockShrub.java +++ b/common/com/teammetallurgy/atum/blocks/BlockShrub.java @@ -1,7 +1,8 @@ -package rebelkeithy.mods.atum.blocks; +package com.teammetallurgy.atum.blocks; import java.util.Random; +import net.minecraft.block.Block; import net.minecraft.block.BlockDeadBush; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; @@ -9,27 +10,32 @@ import net.minecraft.item.ItemStack; import net.minecraft.stats.StatList; import net.minecraft.world.World; -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.AtumBlocks; + +import com.teammetallurgy.atum.Atum; public class BlockShrub extends BlockDeadBush { - public BlockShrub(int par1) { + protected BlockShrub(int par1) { super(par1); + this.setHardness(0.0F); + this.setStepSound(Block.soundGrassFootstep); } + @Override public boolean canThisPlantGrowOnThisBlockID(int par1) { - return par1 == AtumBlocks.sand.blockID; + return par1 == Blocks.BLOCK_SAND.blockID; } + @Override public int idDropped(int par1, Random par2Random, int par3) { return -1; } + @Override public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6) { - if (!par1World.isRemote && par2EntityPlayer.getCurrentEquippedItem() != null && par2EntityPlayer.getCurrentEquippedItem().itemID == Item.shears.itemID) { + if(!par1World.isRemote && par2EntityPlayer.getCurrentEquippedItem() != null && par2EntityPlayer.getCurrentEquippedItem().itemID == Item.shears.itemID) { par2EntityPlayer.addStat(StatList.mineBlockStatArray[super.blockID], 1); - this.dropBlockAsItem_do(par1World, par3, par4, par5, new ItemStack(AtumBlocks.shrub, 1, par6)); + this.dropBlockAsItem_do(par1World, par3, par4, par5, new ItemStack(Blocks.BLOCK_SHRUB, 1, par6)); } else { super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6); } @@ -38,6 +44,7 @@ public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par @Override public void registerIcons(IconRegister par1IconRegister) { - this.blockIcon = par1IconRegister.registerIcon(Atum.modID + ":DeadBush"); + this.blockIcon = par1IconRegister.registerIcon("atum:DeadBush"); } + } diff --git a/common/com/teammetallurgy/atum/blocks/BlockSlab.java b/common/com/teammetallurgy/atum/blocks/BlockSlab.java new file mode 100644 index 0000000..00f617f --- /dev/null +++ b/common/com/teammetallurgy/atum/blocks/BlockSlab.java @@ -0,0 +1,62 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.List; +import java.util.Random; + +import net.minecraft.block.BlockHalfSlab; +import net.minecraft.block.material.Material; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.ItemStack; +import net.minecraft.util.Icon; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockSlab extends BlockHalfSlab { + public static final String[] slabType = {"smooth", "cracked", "largeBrick", "smallBrick"}; + + public BlockSlab(int par1, boolean par2) { + super(par1, par2, Material.rock); + this.setHardness(2.0F); + } + + @Override + @SideOnly(Side.CLIENT) + public Icon getIcon(int par1, int par2) { + par2 %= 4; + if(par2 == 0) + return Blocks.BLOCK_STONE.getIcon(par1, par2 & 0x7); + if(par2 == 1) + return Blocks.BLOCK_LIMESTONECOBBLE.getIcon(par1, par2 & 0x7); + if(par2 == 2) { + return Blocks.BLOCK_LARGEBRICK.getIcon(par1, par2 & 0x7); + } + return Blocks.BLOCK_SMALLBRICK.getIcon(par1, par2 & 0x7); + } + + @Override + public int idDropped(int par1, Random par2Random, int par3) { + return this.blockID; + } + + @Override + protected ItemStack createStackedBlock(int par1) { + return new ItemStack(this.blockID, 2, par1 & 0x7); + } + + @Override + public String getFullSlabName(int par1) { + if((par1 < 0) || (par1 >= slabType.length)) { + par1 = 0; + } + + return super.getUnlocalizedName() + "." + slabType[par1]; + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubBlocks(int par1, CreativeTabs tab, List subItems) { + for(int i = 0; i < 4; i++) + subItems.add(new ItemStack(this, 1, i)); + } + +} diff --git a/common/com/teammetallurgy/atum/blocks/BlockStair.java b/common/com/teammetallurgy/atum/blocks/BlockStair.java new file mode 100644 index 0000000..b00c8d1 --- /dev/null +++ b/common/com/teammetallurgy/atum/blocks/BlockStair.java @@ -0,0 +1,12 @@ +package com.teammetallurgy.atum.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockStairs; + +public class BlockStair extends BlockStairs { + + protected BlockStair(int par1, Block par2Block, int par3) { + super(par1, par2Block, par3); + } + +} diff --git a/common/com/teammetallurgy/atum/blocks/BlockStones.java b/common/com/teammetallurgy/atum/blocks/BlockStones.java new file mode 100644 index 0000000..be9f59c --- /dev/null +++ b/common/com/teammetallurgy/atum/blocks/BlockStones.java @@ -0,0 +1,24 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.Random; + +import net.minecraft.block.BlockStone; +import net.minecraft.client.renderer.texture.IconRegister; + +public class BlockStones extends BlockStone { + + public BlockStones(int par1) { + super(par1); + this.setUnlocalizedName("atum:stone"); + } + + public int idDropped(int par1, Random par2Random, int par3) { + return Blocks.BLOCK_LIMESTONECOBBLE.blockID; + } + + @Override + public void registerIcons(IconRegister par1IconRegister) { + this.blockIcon = par1IconRegister.registerIcon("atum:AtumStone"); + } + +} diff --git a/common/com/teammetallurgy/atum/blocks/BlockWalls.java b/common/com/teammetallurgy/atum/blocks/BlockWalls.java new file mode 100644 index 0000000..3744322 --- /dev/null +++ b/common/com/teammetallurgy/atum/blocks/BlockWalls.java @@ -0,0 +1,52 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.List; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockWall; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.ItemStack; +import net.minecraft.util.Icon; +import net.minecraft.world.World; +import net.minecraftforge.common.ForgeDirection; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockWalls extends BlockWall { + @SideOnly(Side.CLIENT) + private Icon[] icon; + + public BlockWalls(int par1, Block par2Block) { + super(par1, par2Block); + this.setUnlocalizedName("atum:walls"); + } + + @Override + public Icon getIcon(int side, int meta) { + return this.icon[meta]; + } + + @Override + public boolean isBlockSolidOnSide(World world, int x, int y, int z, ForgeDirection side) { + return side == ForgeDirection.UP; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister iconRegister) { + this.icon = new Icon[4]; + this.icon[0] = iconRegister.registerIcon("atum:AtumStone"); + this.icon[1] = iconRegister.registerIcon("atum:AtumCobble"); + this.icon[2] = iconRegister.registerIcon("atum:AtumBrickLarge"); + this.icon[3] = iconRegister.registerIcon("atum:AtumBrickSmall"); + } + + @Override + public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List) { + par3List.add(new ItemStack(par1, 1, 0)); + par3List.add(new ItemStack(par1, 1, 1)); + par3List.add(new ItemStack(par1, 1, 2)); + par3List.add(new ItemStack(par1, 1, 3)); + } +} diff --git a/common/com/teammetallurgy/atum/blocks/Blocks.java b/common/com/teammetallurgy/atum/blocks/Blocks.java new file mode 100644 index 0000000..b19cea8 --- /dev/null +++ b/common/com/teammetallurgy/atum/blocks/Blocks.java @@ -0,0 +1,120 @@ +package com.teammetallurgy.atum.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; + +import com.teammetallurgy.atum.Atum; +import com.teammetallurgy.atum.AtumIDS; +import com.teammetallurgy.atum.LocalizationHelper; + +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.common.registry.LanguageRegistry; + +public enum Blocks { + INSTANCE; + + public static final Block BLOCK_PORTAL = new BlockPortal(AtumIDS.BLOCK_PORTAL_ID); + public static final Block BLOCK_CURSEDCHEST = new BlockChestSpawner(AtumIDS.BLOCK_CURSEDCHEST_ID); + public static final Block BLOCK_SAND = new BlockSands(AtumIDS.BLOCK_SAND_ID); + public static final Block BLOCK_STONE = new BlockStones(AtumIDS.BLOCK_STONE_ID); + public static final Block BLOCK_LIMESTONECOBBLE = new BlockAtum(AtumIDS.BLOCK_COBBLE_ID, "atum:cobble").setTextureName("atum:AtumCobble"); + public static final Block BLOCK_LARGEBRICK = new BlockAtum(AtumIDS.BLOCK_LARGEBRICK_ID, "atum:largeBrick").setTextureName("atum:AtumBrickLarge"); + public static final Block BLOCK_SMALLBRICK = new BlockAtum(AtumIDS.BLOCK_SMALLBRICK_ID, "atum:smallBrick").setTextureName("atum:AtumBrickSmall"); + public static final Block BLOCK_CARVEDBRICK = new BlockAtum(AtumIDS.BLOCK_CARVEDBRICK_ID, "atum:carvedBrick").setTextureName("atum:AtumBrickCarved"); + public static final Block BLOCK_SLABS = new BlockSlab(AtumIDS.BLOCK_SLABS_ID, false).setUnlocalizedName("atum:slab"); + public static final Block BLOCK_DOUBLESLAB = new BlockSlab(AtumIDS.BLOCK_DOUBLE_SLAB_ID, true).setUnlocalizedName("atum:doubleSlab"); + public static final Block BLOCK_SMOOTHSTAIRS = new BlockStair(AtumIDS.BLOCK_SMOOTHSTAIRS_ID, BLOCK_STONE, 0).setUnlocalizedName("atum:smoothStairs"); + public static final Block BLOCK_COBBLESTAIRS = new BlockStair(AtumIDS.BLOCK_COBBLESTAIRS_ID, BLOCK_LIMESTONECOBBLE, 0).setUnlocalizedName("atum:cobbleStairs"); + public static final Block BLOCK_LARGESTONESTAIRS = new BlockStair(AtumIDS.BLOCK_LARGESTONESTAIRS_ID, BLOCK_LARGEBRICK, 0).setUnlocalizedName("atum:largeStairs"); + public static final Block BLOCK_SMALLSTONESTAIRS = new BlockStair(AtumIDS.BLOCK_SMALLSTONESTAIRS_ID, BLOCK_SMALLBRICK, 0).setUnlocalizedName("atum:smallStairs"); + public static final Block BLOCK_SANDLAYERED = new BlockSandLayered(AtumIDS.BLOCK_SANDLAYERED_ID); + public static final Block BLOCK_CRACKEDLARGEBRICK = new BlockAtum(AtumIDS.BLOCK_CRACKEDLARGEBRICK_ID, "atum:crackedLargeBrick").setTextureName("atum:AtumCrackedLargeBrick"); + public static final Block BLOCK_WALL = new BlockWalls(AtumIDS.BLOCK_WALL_ID, BLOCK_STONE); + public static final Block BLOCK_CRYSTALGLASS = new BlockAtumGlass(AtumIDS.BLOCK_CRYSTALGLASS_ID, "atum:AtumCrystalGlass").setUnlocalizedName("atum:crystalGlass"); + public static final Block BLOCK_FRAMEDGLASS = new BlockAtumGlass(AtumIDS.BLOCK_FRAMEDGLASS_ID, "atum:AtumFramedGlass").setUnlocalizedName("atum:framedGlass"); + public static final Block BLOCK_PALMSAPLING = new BlockPalmSapling(AtumIDS.BLOCK_PALMSAPLING_ID); + public static final Block BLOCK_DATEBLOCK = new BlockDate(AtumIDS.BLOCK_DATEBLOCK_ID); + public static final Block BLOCK_SHRUB = new BlockShrub(AtumIDS.BLOCK_SHRUB_ID).setUnlocalizedName("atum:shrub"); + public static final Block BLOCK_WEED = new BlockShrub(AtumIDS.BLOCK_WEED_ID).setUnlocalizedName("atum:weed"); + public static final Block BLOCK_PAPYRUS = new BlockPapyrus(AtumIDS.BLOCK_PAPYRUS_ID); + public static final Block BLOCK_FLAX = new BlockFlax(AtumIDS.BLOCK_FLAX_ID); + public static final Block BLOCK_FERTILESOIL = new BlockFertileSoil(AtumIDS.BLOCK_FERTILESOIL_ID); + public static final Block BLOCK_FERTILESOILTILLED = new BlockFertileSoilTilled(AtumIDS.BLOCK_FERTILESOILTILLED_ID); + public static final Block BLOCK_LOG = new BlockPalmLog(AtumIDS.BLOCK_LOG_ID); + public static final Block BLOCK_LEAVES = new BlockLeave(AtumIDS.BLOCK_LEAVES_ID); + public static final Block BLOCK_PLANKS = new Block(AtumIDS.BLOCK_PLANKS_ID, Material.wood).setUnlocalizedName("atum:palmPlanks").setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setTextureName("atum:Planks"); + public static final Block BLOCK_THINCRYSTALGLASS = new BlockAtumPane(AtumIDS.BLOCK_THINCRYSTALGLASS_ID, "atum:AtumCrystalGlass", "thinglass_top").setUnlocalizedName("atum:thinCrystalGlass"); + public static final Block BLOCK_THINFRAMEDGLASS = new BlockAtumPane(AtumIDS.BLOCK_THINFRAMEDGLASS_ID, "atum:AtumFramedGlass", "thinglass_top").setUnlocalizedName("atum:thinFramedGlass"); + public static final Block BLOCK_TRAPARROW = new BlockArrowTrap(AtumIDS.BLOCK_TRAPARROW_ID); + public static final Block BLOCK_PHARAOHCHEST = new BlockPharaohChest(AtumIDS.BLOCK_PHARAOHCHEST_ID); + public static final Block BLOCK_REDSTONEORE = new BlockAtumOres(AtumIDS.BLOCK_REDSTONEORE_ID).setUnlocalizedName("atum:redstoneOre").setTextureName("atum:AtumRedstone"); + public static final Block BLOCK_COALORE = new BlockAtumOres(AtumIDS.BLOCK_COALORE_ID).setUnlocalizedName("atum:coalOre").setTextureName("atum:AtumCoal"); + public static final Block BLOCK_IRONORE = new BlockAtumOres(AtumIDS.BLOCK_IRONORE_ID).setUnlocalizedName("atum:ironOre").setTextureName("atum:AtumIron"); + public static final Block BLOCK_GOLDORE = new BlockAtumOres(AtumIDS.BLOCK_GOLDORE_ID).setUnlocalizedName("atum:goldOre").setTextureName("atum:AtumGold"); + public static final Block BLOCK_LAPISORE = new BlockAtumOres(AtumIDS.BLOCK_LAPISORE_ID).setUnlocalizedName("atum:lapisOre").setTextureName("atum:AtumLapis"); + public static final Block BLOCK_DIAMONDORE = new BlockAtumOres(AtumIDS.BLOCK_DIAMONDORE_ID).setUnlocalizedName("atum:diamondOre").setTextureName("atum:AtumDiamond"); + public static final Block BLOCK_FURNACEIDLE = new BlockLimeStoneFurnace(AtumIDS.BLOCK_FURNACEIDLE_ID, false).setUnlocalizedName("atum:furnaceIdle"); + public static final Block BLOCK_FURNACEBURNING = new BlockLimeStoneFurnace(AtumIDS.BLOCK_FURNACEBURNING_ID, true).setUnlocalizedName("atum:furnaceBurning"); + + public void registerBlocks() { + this.register(BLOCK_PORTAL); + this.register(BLOCK_CURSEDCHEST); + this.register(BLOCK_SAND); + this.register(BLOCK_STONE); + this.register(BLOCK_LIMESTONECOBBLE); + this.register(BLOCK_LARGEBRICK); + this.register(BLOCK_SMALLBRICK); + this.register(BLOCK_CARVEDBRICK); + this.register(BLOCK_SLABS); + this.register(BLOCK_DOUBLESLAB); + this.register(BLOCK_SMOOTHSTAIRS); + this.register(BLOCK_COBBLESTAIRS); + this.register(BLOCK_LARGESTONESTAIRS); + this.register(BLOCK_SMALLSTONESTAIRS); + this.register(BLOCK_SANDLAYERED); + this.register(BLOCK_CRACKEDLARGEBRICK); + this.register(BLOCK_WALL); + this.register(BLOCK_CRYSTALGLASS); + this.register(BLOCK_FRAMEDGLASS); + this.register(BLOCK_PALMSAPLING); + this.register(BLOCK_DATEBLOCK); + this.register(BLOCK_SHRUB); + this.register(BLOCK_WEED); + this.register(BLOCK_PAPYRUS); + this.register(BLOCK_FLAX); + this.register(BLOCK_FERTILESOIL); + this.register(BLOCK_FERTILESOILTILLED); + this.register(BLOCK_LOG); + this.register(BLOCK_LEAVES); + this.register(BLOCK_PLANKS); + this.register(BLOCK_THINCRYSTALGLASS); + this.register(BLOCK_THINFRAMEDGLASS); + this.register(BLOCK_TRAPARROW); + this.register(BLOCK_PHARAOHCHEST); + this.register(BLOCK_REDSTONEORE); + this.register(BLOCK_COALORE); + this.register(BLOCK_IRONORE); + this.register(BLOCK_GOLDORE); + this.register(BLOCK_LAPISORE); + this.register(BLOCK_DIAMONDORE); + this.register(BLOCK_FURNACEIDLE); + this.register(BLOCK_FURNACEBURNING); + } + + private void register(Block b) { + if(!(b instanceof BlockDate)) { + b.setCreativeTab(Atum.creativeTab); + } + GameRegistry.registerBlock(b, b.getUnlocalizedName()); + if(b instanceof BlockContainer) { + name(b, "tile.", b.getUnlocalizedName().split(":")[1]); + } else { + name(b, "block.", b.getUnlocalizedName().split(":")[1]); + } + } + + private void name(Block b, String type, String tag) { + LanguageRegistry.addName(b, LocalizationHelper.localize(type + tag + ".name")); + } +} diff --git a/common/com/teammetallurgy/atum/blocks/tileentity/CursedChestBaseLogic.java b/common/com/teammetallurgy/atum/blocks/tileentity/CursedChestBaseLogic.java new file mode 100644 index 0000000..5254621 --- /dev/null +++ b/common/com/teammetallurgy/atum/blocks/tileentity/CursedChestBaseLogic.java @@ -0,0 +1,334 @@ +package com.teammetallurgy.atum.blocks.tileentity; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityList; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.EntityLivingData; +import net.minecraft.nbt.NBTBase; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.MobSpawnerBaseLogic; +import net.minecraft.tileentity.WeightedRandomMinecart; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.WeightedRandom; +import net.minecraft.world.World; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public abstract class CursedChestBaseLogic extends MobSpawnerBaseLogic { + /** The delay to spawn. */ + public int spawnDelay = 20; + private String mobID = "Pig"; + + /** List of minecart to spawn. */ + private List minecartToSpawn; + private WeightedRandomMinecart randomMinecart; + public double field_98287_c; + public double field_98284_d; + public int minSpawnDelay = 200; + public int maxSpawnDelay = 800; + + /** A counter for spawn tries. */ + public int spawnCount = 4; + private Entity field_98291_j; + private int maxNearbyEntities = 6; + + /** The distance from which a player activates the spawner. */ + private int activatingRangeFromPlayer = 16; + + /** The range coefficient for spawning entities around. */ + public int spawnRange = 4; + + /** + * Gets the entity name that should be spawned. + */ + @Override + public String getEntityNameToSpawn() { + if(this.getRandomMinecart() == null) { + if(this.mobID.equals("Minecart")) { + this.mobID = "MinecartRideable"; + } + + return this.mobID; + } else { + return this.getRandomMinecart().minecartName; + } + } + + @Override + public void setMobID(String par1Str) { + this.mobID = par1Str; + } + + /** + * Returns true if there's a player close enough to this mob spawner to activate it. + */ + @Override + public boolean canRun() { + return this.getSpawnerWorld().getClosestPlayer((double) this.getSpawnerX() + 0.5D, (double) this.getSpawnerY() + 0.5D, (double) this.getSpawnerZ() + 0.5D, (double) this.activatingRangeFromPlayer) != null; + } + + @Override + public void updateSpawner() { + if(this.canRun()) { + double d0; + + if(this.getSpawnerWorld().isRemote) { + double d1 = (double) ((float) this.getSpawnerX() + this.getSpawnerWorld().rand.nextFloat()); + double d2 = (double) ((float) this.getSpawnerY() + this.getSpawnerWorld().rand.nextFloat()); + d0 = (double) ((float) this.getSpawnerZ() + this.getSpawnerWorld().rand.nextFloat()); + this.getSpawnerWorld().spawnParticle("smoke", d1, d2, d0, 0.0D, 0.0D, 0.0D); + this.getSpawnerWorld().spawnParticle("flame", d1, d2, d0, 0.0D, 0.0D, 0.0D); + + if(this.spawnDelay > 0) { + --this.spawnDelay; + } + + this.field_98284_d = this.field_98287_c; + this.field_98287_c = (this.field_98287_c + (double) (1000.0F / ((float) this.spawnDelay + 200.0F))) % 360.0D; + } else { + if(this.spawnDelay == -1) { + this.func_98273_j(); + } + + if(this.spawnDelay > 0) { + --this.spawnDelay; + return; + } + + boolean flag = false; + + for(int i = 0; i < this.spawnCount; ++i) { + Entity entity = EntityList.createEntityByName(this.getEntityNameToSpawn(), this.getSpawnerWorld()); + + if(entity == null) { + return; + } + + int j = this.getSpawnerWorld().getEntitiesWithinAABB(entity.getClass(), AxisAlignedBB.getAABBPool().getAABB((double) this.getSpawnerX(), (double) this.getSpawnerY(), (double) this.getSpawnerZ(), (double) (this.getSpawnerX() + 1), (double) (this.getSpawnerY() + 1), (double) (this.getSpawnerZ() + 1)).expand((double) (this.spawnRange * 2), 4.0D, (double) (this.spawnRange * 2))).size(); + + if(j >= this.maxNearbyEntities) { + this.func_98273_j(); + return; + } + + d0 = (double) this.getSpawnerX() + (this.getSpawnerWorld().rand.nextDouble() - this.getSpawnerWorld().rand.nextDouble()) * (double) this.spawnRange; + double d3 = (double) (this.getSpawnerY() + this.getSpawnerWorld().rand.nextInt(3) - 1); + double d4 = (double) this.getSpawnerZ() + (this.getSpawnerWorld().rand.nextDouble() - this.getSpawnerWorld().rand.nextDouble()) * (double) this.spawnRange; + EntityLiving entityliving = entity instanceof EntityLiving ? (EntityLiving) entity : null; + entity.setLocationAndAngles(d0, d3, d4, this.getSpawnerWorld().rand.nextFloat() * 360.0F, 0.0F); + + if(entityliving == null || entityliving.getCanSpawnHere()) { + this.func_98265_a(entity); + this.getSpawnerWorld().playAuxSFX(2004, this.getSpawnerX(), this.getSpawnerY(), this.getSpawnerZ(), 0); + + if(entityliving != null) { + entityliving.spawnExplosionParticle(); + } + + flag = true; + } + } + + if(flag) { + this.func_98273_j(); + } + } + } + } + + @Override + public Entity func_98265_a(Entity par1Entity) { + if(this.getRandomMinecart() != null) { + NBTTagCompound nbttagcompound = new NBTTagCompound(); + par1Entity.writeToNBTOptional(nbttagcompound); + Iterator iterator = this.getRandomMinecart().field_98222_b.getTags().iterator(); + + while(iterator.hasNext()) { + NBTBase nbtbase = (NBTBase) iterator.next(); + nbttagcompound.setTag(nbtbase.getName(), nbtbase.copy()); + } + + par1Entity.readFromNBT(nbttagcompound); + + if(par1Entity.worldObj != null) { + par1Entity.worldObj.spawnEntityInWorld(par1Entity); + } + + NBTTagCompound nbttagcompound1; + + for(Entity entity1 = par1Entity; nbttagcompound.hasKey("Riding"); nbttagcompound = nbttagcompound1) { + nbttagcompound1 = nbttagcompound.getCompoundTag("Riding"); + Entity entity2 = EntityList.createEntityByName(nbttagcompound1.getString("id"), par1Entity.worldObj); + + if(entity2 != null) { + NBTTagCompound nbttagcompound2 = new NBTTagCompound(); + entity2.writeToNBTOptional(nbttagcompound2); + Iterator iterator1 = nbttagcompound1.getTags().iterator(); + + while(iterator1.hasNext()) { + NBTBase nbtbase1 = (NBTBase) iterator1.next(); + nbttagcompound2.setTag(nbtbase1.getName(), nbtbase1.copy()); + } + + entity2.readFromNBT(nbttagcompound2); + entity2.setLocationAndAngles(entity1.posX, entity1.posY, entity1.posZ, entity1.rotationYaw, entity1.rotationPitch); + + if(par1Entity.worldObj != null) { + par1Entity.worldObj.spawnEntityInWorld(entity2); + } + + entity1.mountEntity(entity2); + } + + entity1 = entity2; + } + } else if(par1Entity instanceof EntityLivingBase && par1Entity.worldObj != null) { + ((EntityLiving) par1Entity).onSpawnWithEgg((EntityLivingData) null); + this.getSpawnerWorld().spawnEntityInWorld(par1Entity); + } + + return par1Entity; + } + + private void func_98273_j() { + if(this.maxSpawnDelay <= this.minSpawnDelay) { + this.spawnDelay = this.minSpawnDelay; + } else { + int i = this.maxSpawnDelay - this.minSpawnDelay; + this.spawnDelay = this.minSpawnDelay + this.getSpawnerWorld().rand.nextInt(i); + } + + if(this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { + this.setRandomMinecart((WeightedRandomMinecart) WeightedRandom.getRandomItem(this.getSpawnerWorld().rand, this.minecartToSpawn)); + } + + this.func_98267_a(1); + } + + @Override + public void readFromNBT(NBTTagCompound par1NBTTagCompound) { + this.mobID = par1NBTTagCompound.getString("EntityId"); + this.spawnDelay = par1NBTTagCompound.getShort("Delay"); + + if(par1NBTTagCompound.hasKey("SpawnPotentials")) { + this.minecartToSpawn = new ArrayList(); + NBTTagList nbttaglist = par1NBTTagCompound.getTagList("SpawnPotentials"); + + for(int i = 0; i < nbttaglist.tagCount(); ++i) { + this.minecartToSpawn.add(new WeightedRandomMinecart(this, (NBTTagCompound) nbttaglist.tagAt(i))); + } + } else { + this.minecartToSpawn = null; + } + + if(par1NBTTagCompound.hasKey("SpawnData")) { + this.setRandomMinecart(new WeightedRandomMinecart(this, par1NBTTagCompound.getCompoundTag("SpawnData"), this.mobID)); + } else { + this.setRandomMinecart((WeightedRandomMinecart) null); + } + + if(par1NBTTagCompound.hasKey("MinSpawnDelay")) { + this.minSpawnDelay = par1NBTTagCompound.getShort("MinSpawnDelay"); + this.maxSpawnDelay = par1NBTTagCompound.getShort("MaxSpawnDelay"); + this.spawnCount = par1NBTTagCompound.getShort("SpawnCount"); + } + + if(par1NBTTagCompound.hasKey("MaxNearbyEntities")) { + this.maxNearbyEntities = par1NBTTagCompound.getShort("MaxNearbyEntities"); + this.activatingRangeFromPlayer = par1NBTTagCompound.getShort("RequiredPlayerRange"); + } + + if(par1NBTTagCompound.hasKey("SpawnRange")) { + this.spawnRange = par1NBTTagCompound.getShort("SpawnRange"); + } + + if(this.getSpawnerWorld() != null && this.getSpawnerWorld().isRemote) { + this.field_98291_j = null; + } + } + + @Override + public void writeToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setString("EntityId", this.getEntityNameToSpawn()); + par1NBTTagCompound.setShort("Delay", (short) this.spawnDelay); + par1NBTTagCompound.setShort("MinSpawnDelay", (short) this.minSpawnDelay); + par1NBTTagCompound.setShort("MaxSpawnDelay", (short) this.maxSpawnDelay); + par1NBTTagCompound.setShort("SpawnCount", (short) this.spawnCount); + par1NBTTagCompound.setShort("MaxNearbyEntities", (short) this.maxNearbyEntities); + par1NBTTagCompound.setShort("RequiredPlayerRange", (short) this.activatingRangeFromPlayer); + par1NBTTagCompound.setShort("SpawnRange", (short) this.spawnRange); + + if(this.getRandomMinecart() != null) { + par1NBTTagCompound.setCompoundTag("SpawnData", (NBTTagCompound) this.getRandomMinecart().field_98222_b.copy()); + } + + if(this.getRandomMinecart() != null || this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { + NBTTagList nbttaglist = new NBTTagList(); + + if(this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { + Iterator iterator = this.minecartToSpawn.iterator(); + + while(iterator.hasNext()) { + WeightedRandomMinecart weightedrandomminecart = (WeightedRandomMinecart) iterator.next(); + nbttaglist.appendTag(weightedrandomminecart.func_98220_a()); + } + } else { + nbttaglist.appendTag(this.getRandomMinecart().func_98220_a()); + } + + par1NBTTagCompound.setTag("SpawnPotentials", nbttaglist); + } + } + + /** + * Sets the delay to minDelay if parameter given is 1, else return false. + */ + @Override + public boolean setDelayToMin(int par1) { + if(par1 == 1 && this.getSpawnerWorld().isRemote) { + this.spawnDelay = this.minSpawnDelay; + return true; + } else { + return false; + } + } + + @Override + @SideOnly(Side.CLIENT) + public Entity func_98281_h() { + if(this.field_98291_j == null) { + Entity entity = EntityList.createEntityByName(this.getEntityNameToSpawn(), (World) null); + entity = this.func_98265_a(entity); + this.field_98291_j = entity; + } + + return this.field_98291_j; + } + + @Override + public WeightedRandomMinecart getRandomMinecart() { + return this.randomMinecart; + } + + @Override + public void setRandomMinecart(WeightedRandomMinecart par1WeightedRandomMinecart) { + this.randomMinecart = par1WeightedRandomMinecart; + } + + @Override + public abstract void func_98267_a(int i); + + public abstract World getSpawnerWorld(); + + public abstract int getSpawnerX(); + + public abstract int getSpawnerY(); + + public abstract int getSpawnerZ(); +} diff --git a/common/com/teammetallurgy/atum/blocks/tileentity/CursedChestSpawnerLogic.java b/common/com/teammetallurgy/atum/blocks/tileentity/CursedChestSpawnerLogic.java new file mode 100644 index 0000000..81bbe74 --- /dev/null +++ b/common/com/teammetallurgy/atum/blocks/tileentity/CursedChestSpawnerLogic.java @@ -0,0 +1,48 @@ +package com.teammetallurgy.atum.blocks.tileentity; + +import net.minecraft.block.Block; +import net.minecraft.tileentity.WeightedRandomMinecart; +import net.minecraft.world.World; + +class CursedChestSpawnerLogic extends CursedChestBaseLogic { + + final TileEntityChestSpawner field_98295_a; + + CursedChestSpawnerLogic(TileEntityChestSpawner tileEntityChestSpawner) { + this.field_98295_a = tileEntityChestSpawner; + } + + @Override + public void func_98267_a(int par1) { + this.field_98295_a.worldObj.addBlockEvent(this.field_98295_a.xCoord, this.field_98295_a.yCoord, this.field_98295_a.zCoord, Block.mobSpawner.blockID, par1, 0); + } + + @Override + public World getSpawnerWorld() { + return this.field_98295_a.worldObj; + } + + @Override + public int getSpawnerX() { + return this.field_98295_a.xCoord; + } + + @Override + public int getSpawnerY() { + return this.field_98295_a.yCoord; + } + + @Override + public int getSpawnerZ() { + return this.field_98295_a.zCoord; + } + + @Override + public void setRandomMinecart(WeightedRandomMinecart par1WeightedRandomMinecart) { + super.setRandomMinecart(par1WeightedRandomMinecart); + if(this.getSpawnerWorld() != null) { + this.getSpawnerWorld().markBlockForUpdate(this.field_98295_a.xCoord, this.field_98295_a.yCoord, this.field_98295_a.zCoord); + } + + } +} diff --git a/common/rebelkeithy/mods/atum/cursedchest/TileEntityChestSpawner.java b/common/com/teammetallurgy/atum/blocks/tileentity/TileEntityChestSpawner.java similarity index 79% rename from common/rebelkeithy/mods/atum/cursedchest/TileEntityChestSpawner.java rename to common/com/teammetallurgy/atum/blocks/tileentity/TileEntityChestSpawner.java index cd895bb..d942c2e 100644 --- a/common/rebelkeithy/mods/atum/cursedchest/TileEntityChestSpawner.java +++ b/common/com/teammetallurgy/atum/blocks/tileentity/TileEntityChestSpawner.java @@ -1,7 +1,8 @@ -package rebelkeithy.mods.atum.cursedchest; +package com.teammetallurgy.atum.blocks.tileentity; import java.util.Iterator; import java.util.List; + import net.minecraft.block.Block; import net.minecraft.block.BlockChest; import net.minecraft.entity.monster.EntityMob; @@ -14,7 +15,6 @@ import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntityChest; import net.minecraft.util.AxisAlignedBB; -import rebelkeithy.mods.atum.cursedchest.CursedChestSpawnerLogic; public class TileEntityChestSpawner extends TileEntityChest implements IInventory { @@ -29,31 +29,31 @@ public class TileEntityChestSpawner extends TileEntityChest implements IInventor public TileEntityChestSpawner() { int entityID = (int) (Math.random() * 6.0D); - if (entityID == 0) { + if(entityID == 0) { this.chestSpawner.setMobID("AtumMummy"); } - if (entityID == 1) { + if(entityID == 1) { this.chestSpawner.setMobID("AtumBanditWarrior"); } - if (entityID == 2) { + if(entityID == 2) { this.chestSpawner.setMobID("AtumBanditArcher"); } - if (entityID == 3) { + if(entityID == 3) { this.chestSpawner.setMobID("AtumDustySkeleton"); } - if (entityID == 4) { + if(entityID == 4) { this.chestSpawner.setMobID("AtumDesertGhost"); } - if (entityID == 5) { + if(entityID == 5) { this.chestSpawner.setMobID("AtumStoneSoldier"); } - if (entityID == 6) { + if(entityID == 6) { this.chestSpawner.setMobID("AtumDesertWolf"); } @@ -77,25 +77,28 @@ public void setRange(int range) { this.chestSpawner.spawnRange = range; } + @Override public int getSizeInventory() { return 27; } + @Override public ItemStack getStackInSlot(int par1) { return this.chestContents[par1]; } + @Override public ItemStack decrStackSize(int par1, int par2) { - if (this.chestContents[par1] != null) { + if(this.chestContents[par1] != null) { ItemStack itemstack; - if (this.chestContents[par1].stackSize <= par2) { + if(this.chestContents[par1].stackSize <= par2) { itemstack = this.chestContents[par1]; this.chestContents[par1] = null; this.onInventoryChanged(); return itemstack; } else { itemstack = this.chestContents[par1].splitStack(par2); - if (this.chestContents[par1].stackSize == 0) { + if(this.chestContents[par1].stackSize == 0) { this.chestContents[par1] = null; } @@ -107,8 +110,9 @@ public ItemStack decrStackSize(int par1, int par2) { } } + @Override public ItemStack getStackInSlotOnClosing(int par1) { - if (this.chestContents[par1] != null) { + if(this.chestContents[par1] != null) { ItemStack itemstack = this.chestContents[par1]; this.chestContents[par1] = null; return itemstack; @@ -117,39 +121,44 @@ public ItemStack getStackInSlotOnClosing(int par1) { } } + @Override public void setInventorySlotContents(int par1, ItemStack par2ItemStack) { this.chestContents[par1] = par2ItemStack; - if (par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) { + if(par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) { par2ItemStack.stackSize = this.getInventoryStackLimit(); } this.onInventoryChanged(); } + @Override public String getInvName() { return this.isInvNameLocalized() ? this.field_94045_s : "container.chest"; } + @Override public boolean isInvNameLocalized() { return this.field_94045_s != null && this.field_94045_s.length() > 0; } - public void func_94043_a(String par1Str) { + @Override + public void setChestGuiName(String par1Str) { this.field_94045_s = par1Str; } + @Override public void readFromNBT(NBTTagCompound par1NBTTagCompound) { super.readFromNBT(par1NBTTagCompound); NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items"); this.chestContents = new ItemStack[this.getSizeInventory()]; - if (par1NBTTagCompound.hasKey("CustomName")) { + if(par1NBTTagCompound.hasKey("CustomName")) { this.field_94045_s = par1NBTTagCompound.getString("CustomName"); } - for (int i = 0; i < nbttaglist.tagCount(); ++i) { + for(int i = 0; i < nbttaglist.tagCount(); ++i) { NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.tagAt(i); int j = nbttagcompound1.getByte("Slot") & 255; - if (j >= 0 && j < this.chestContents.length) { + if(j >= 0 && j < this.chestContents.length) { this.chestContents[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1); } } @@ -157,12 +166,13 @@ public void readFromNBT(NBTTagCompound par1NBTTagCompound) { this.chestSpawner.readFromNBT(par1NBTTagCompound); } + @Override public void writeToNBT(NBTTagCompound par1NBTTagCompound) { super.writeToNBT(par1NBTTagCompound); NBTTagList nbttaglist = new NBTTagList(); - for (int i = 0; i < this.chestContents.length; ++i) { - if (this.chestContents[i] != null) { + for(int i = 0; i < this.chestContents.length; ++i) { + if(this.chestContents[i] != null) { NBTTagCompound nbttagcompound1 = new NBTTagCompound(); nbttagcompound1.setByte("Slot", (byte) i); this.chestContents[i].writeToNBT(nbttagcompound1); @@ -171,23 +181,25 @@ public void writeToNBT(NBTTagCompound par1NBTTagCompound) { } par1NBTTagCompound.setTag("Items", nbttaglist); - if (this.isInvNameLocalized()) { + if(this.isInvNameLocalized()) { par1NBTTagCompound.setString("CustomName", this.field_94045_s); } this.chestSpawner.writeToNBT(par1NBTTagCompound); } + @Override public int getInventoryStackLimit() { return 64; } + @Override public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { double d0 = 4.0D; double d1 = 3.0D; List list = super.worldObj.getEntitiesWithinAABB(EntityMob.class, AxisAlignedBB.getAABBPool().getAABB((double) super.xCoord - d0, (double) super.yCoord - d1, (double) super.zCoord - d0, (double) super.xCoord + d0, (double) super.yCoord + d1, (double) super.zCoord + d0)); - if (!list.isEmpty()) { - if (!super.worldObj.isRemote) { + if(!list.isEmpty()) { + if(!super.worldObj.isRemote) { par1EntityPlayer.addChatMessage("There are too many enemies nearby to search this chest"); } @@ -199,25 +211,26 @@ public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { private boolean func_94044_a(int par1, int par2, int par3) { Block block = Block.blocksList[super.worldObj.getBlockId(par1, par2, par3)]; - return block != null && block instanceof BlockChest ? ((BlockChest) block).chestType == this.func_98041_l() : false; + return block != null && block instanceof BlockChest ? ((BlockChest) block).chestType == this.getChestType() : false; } + @Override public void updateEntity() { super.updateEntity(); this.chestSpawner.updateSpawner(); ++this.ticksSinceSync; float f; - if (!super.worldObj.isRemote && super.numUsingPlayers != 0 && (this.ticksSinceSync + super.xCoord + super.yCoord + super.zCoord) % 200 == 0) { + if(!super.worldObj.isRemote && super.numUsingPlayers != 0 && (this.ticksSinceSync + super.xCoord + super.yCoord + super.zCoord) % 200 == 0) { super.numUsingPlayers = 0; f = 5.0F; List d0 = super.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getAABBPool().getAABB((double) ((float) super.xCoord - f), (double) ((float) super.yCoord - f), (double) ((float) super.zCoord - f), (double) ((float) (super.xCoord + 1) + f), (double) ((float) (super.yCoord + 1) + f), (double) ((float) (super.zCoord + 1) + f))); Iterator iterator = d0.iterator(); - while (iterator.hasNext()) { + while(iterator.hasNext()) { EntityPlayer f1 = (EntityPlayer) iterator.next(); - if (f1.openContainer instanceof ContainerChest) { + if(f1.openContainer instanceof ContainerChest) { IInventory f2 = ((ContainerChest) f1.openContainer).getLowerChestInventory(); - if (f2 == this || f2 instanceof InventoryLargeChest && ((InventoryLargeChest) f2).isPartOfLargeChest(this)) { + if(f2 == this || f2 instanceof InventoryLargeChest && ((InventoryLargeChest) f2).isPartOfLargeChest(this)) { ++super.numUsingPlayers; } } @@ -227,40 +240,41 @@ public void updateEntity() { super.prevLidAngle = super.lidAngle; f = 0.1F; double var8; - if (super.numUsingPlayers > 0 && super.lidAngle == 0.0F) { + if(super.numUsingPlayers > 0 && super.lidAngle == 0.0F) { double var9 = (double) super.xCoord + 0.5D; var8 = (double) super.zCoord + 0.5D; super.worldObj.playSoundEffect(var9, (double) super.yCoord + 0.5D, var8, "random.chestopen", 0.5F, super.worldObj.rand.nextFloat() * 0.1F + 0.9F); } - if (super.numUsingPlayers == 0 && super.lidAngle > 0.0F || super.numUsingPlayers > 0 && super.lidAngle < 1.0F) { + if(super.numUsingPlayers == 0 && super.lidAngle > 0.0F || super.numUsingPlayers > 0 && super.lidAngle < 1.0F) { float var10 = super.lidAngle; - if (super.numUsingPlayers > 0) { + if(super.numUsingPlayers > 0) { super.lidAngle += f; } else { super.lidAngle -= f; } - if (super.lidAngle > 1.0F) { + if(super.lidAngle > 1.0F) { super.lidAngle = 1.0F; } float var11 = 0.5F; - if (super.lidAngle < var11 && var10 >= var11) { + if(super.lidAngle < var11 && var10 >= var11) { var8 = (double) super.xCoord + 0.5D; double d2 = (double) super.zCoord + 0.5D; super.worldObj.playSoundEffect(var8, (double) super.yCoord + 0.5D, d2, "random.chestclosed", 0.5F, super.worldObj.rand.nextFloat() * 0.1F + 0.9F); } - if (super.lidAngle < 0.0F) { + if(super.lidAngle < 0.0F) { super.lidAngle = 0.0F; } } } + @Override public boolean receiveClientEvent(int par1, int par2) { - if (par1 == 1) { + if(par1 == 1) { super.numUsingPlayers = par2; return true; } else { @@ -268,8 +282,9 @@ public boolean receiveClientEvent(int par1, int par2) { } } + @Override public void openChest() { - if (super.numUsingPlayers < 0) { + if(super.numUsingPlayers < 0) { super.numUsingPlayers = 0; } @@ -279,8 +294,9 @@ public void openChest() { super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType().blockID); } + @Override public void closeChest() { - if (this.getBlockType() != null && this.getBlockType() instanceof BlockChest) { + if(this.getBlockType() != null && this.getBlockType() instanceof BlockChest) { --super.numUsingPlayers; super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID, 1, super.numUsingPlayers); super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID); @@ -289,18 +305,16 @@ public void closeChest() { } - public boolean isStackValidForSlot(int par1, ItemStack par2ItemStack) { - return true; - } - + @Override public void invalidate() { super.invalidate(); this.updateContainingBlockInfo(); } - public int func_98041_l() { - if (this.field_94046_i == -1) { - if (super.worldObj == null || !(this.getBlockType() instanceof BlockChest)) { + @Override + public int getChestType() { + if(this.field_94046_i == -1) { + if(super.worldObj == null || !(this.getBlockType() instanceof BlockChest)) { return 0; } diff --git a/common/rebelkeithy/mods/atum/cursedchest/TileEntityPharaohChest.java b/common/com/teammetallurgy/atum/blocks/tileentity/TileEntityPharaohChest.java similarity index 83% rename from common/rebelkeithy/mods/atum/cursedchest/TileEntityPharaohChest.java rename to common/com/teammetallurgy/atum/blocks/tileentity/TileEntityPharaohChest.java index 7430f39..dc52bdd 100644 --- a/common/rebelkeithy/mods/atum/cursedchest/TileEntityPharaohChest.java +++ b/common/com/teammetallurgy/atum/blocks/tileentity/TileEntityPharaohChest.java @@ -1,8 +1,8 @@ -package rebelkeithy.mods.atum.cursedchest; +package com.teammetallurgy.atum.blocks.tileentity; -import cpw.mods.fml.common.FMLCommonHandler; import java.util.Iterator; import java.util.List; + import net.minecraft.block.Block; import net.minecraft.block.BlockChest; import net.minecraft.entity.player.EntityPlayer; @@ -14,8 +14,7 @@ import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntityChest; import net.minecraft.util.AxisAlignedBB; -import rebelkeithy.mods.atum.entities.EntityMummy; -import rebelkeithy.mods.atum.entities.EntityPharaoh; +import cpw.mods.fml.common.FMLCommonHandler; public class TileEntityPharaohChest extends TileEntityChest implements IInventory { @@ -262,46 +261,46 @@ public boolean hasSpawned() { } public void spawn(EntityPlayer player) { - EntityPharaoh pharaoh = new EntityPharaoh(super.worldObj); - pharaoh.setPosition((double)super.xCoord + 0.5D, (double)(super.yCoord + 1), (double)super.zCoord + 0.5D); - pharaoh.link(super.xCoord, super.yCoord, super.zCoord); - pharaoh.entityInit(); - if(!super.worldObj.isRemote) { - super.worldObj.spawnEntityInWorld(pharaoh); - } - - pharaoh.spawnExplosionParticle(); - this.hasSpawned = true; - EntityMummy mummy1 = new EntityMummy(super.worldObj); - mummy1.setPosition((double)super.xCoord + 0.5D, (double)super.yCoord, (double)super.zCoord - 0.5D); - mummy1.entityInit(); - if(!super.worldObj.isRemote) { - super.worldObj.spawnEntityInWorld(mummy1); - } - - mummy1.spawnExplosionParticle(); - EntityMummy mummy2 = new EntityMummy(super.worldObj); - mummy2.setPosition((double)super.xCoord + 0.5D, (double)super.yCoord, (double)super.zCoord + 1.5D); - mummy2.entityInit(); - if(!super.worldObj.isRemote) { - super.worldObj.spawnEntityInWorld(mummy2); - } - - mummy2.spawnExplosionParticle(); - if(!super.worldObj.isRemote) { - List players = FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList; - Iterator i = players.iterator(); - - while(i.hasNext()) { - EntityPlayer p = (EntityPlayer)i.next(); - p.addChatMessage(pharaoh.getEntityName() + " was summoned by " + player.getEntityName()); - } - } - - if(!super.worldObj.isRemote) { - System.out.println("Playing Sound"); - super.worldObj.playSoundAtEntity(pharaoh, "Atum.pharaohspawn", 1.0F, 1.0F); - } +// EntityPharaoh pharaoh = new EntityPharaoh(super.worldObj); +// pharaoh.setPosition((double)super.xCoord + 0.5D, (double)(super.yCoord + 1), (double)super.zCoord + 0.5D); +// pharaoh.link(super.xCoord, super.yCoord, super.zCoord); +// pharaoh.entityInit(); +// if(!super.worldObj.isRemote) { +// super.worldObj.spawnEntityInWorld(pharaoh); +// } +// +// pharaoh.spawnExplosionParticle(); +// this.hasSpawned = true; +// EntityMummy mummy1 = new EntityMummy(super.worldObj); +// mummy1.setPosition((double)super.xCoord + 0.5D, (double)super.yCoord, (double)super.zCoord - 0.5D); +// mummy1.entityInit(); +// if(!super.worldObj.isRemote) { +// super.worldObj.spawnEntityInWorld(mummy1); +// } +// +// mummy1.spawnExplosionParticle(); +// EntityMummy mummy2 = new EntityMummy(super.worldObj); +// mummy2.setPosition((double)super.xCoord + 0.5D, (double)super.yCoord, (double)super.zCoord + 1.5D); +// mummy2.entityInit(); +// if(!super.worldObj.isRemote) { +// super.worldObj.spawnEntityInWorld(mummy2); +// } +// +// mummy2.spawnExplosionParticle(); +// if(!super.worldObj.isRemote) { +// List players = FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList; +// Iterator i = players.iterator(); +// +// while(i.hasNext()) { +// EntityPlayer p = (EntityPlayer)i.next(); +// p.addChatMessage(pharaoh.getEntityName() + " was summoned by " + player.getEntityName()); +// } +// } + +// if(!super.worldObj.isRemote) { +// System.out.println("Playing Sound"); +// super.worldObj.playSoundAtEntity(pharaoh, "Atum.pharaohspawn", 1.0F, 1.0F); +// } } diff --git a/common/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java b/common/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java new file mode 100644 index 0000000..8f2266b --- /dev/null +++ b/common/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java @@ -0,0 +1,44 @@ +package com.teammetallurgy.atum.client.model.tileentity; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelDate extends ModelBase { + + ModelRenderer Fruit; + ModelRenderer Stem; + + public ModelDate() { + super.textureWidth = 32; + super.textureHeight = 32; + this.Fruit = new ModelRenderer(this, 0, 0); + this.Fruit.addBox(0.0F, 0.0F, 0.0F, 6, 8, 6); + this.Fruit.setRotationPoint(-1.0F, 3.0F, -1.0F); + this.Fruit.setTextureSize(32, 32); + this.Fruit.mirror = true; + this.setRotation(this.Fruit, 0.0F, 0.0F, 0.0F); + this.Stem = new ModelRenderer(this, 0, 14); + this.Stem.addBox(0.0F, 0.0F, 0.0F, 2, 6, 2); + this.Stem.setRotationPoint(1.0F, -3.0F, 1.0F); + this.Stem.setTextureSize(32, 32); + this.Stem.mirror = true; + this.setRotation(this.Stem, 0.0F, 0.0F, 0.0F); + } + + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + super.render(entity, f, f1, f2, f3, f4, f5); + this.Fruit.render(f5); + this.Stem.render(f5); + } + + private void setRotation(ModelRenderer model, float x, float y, float z) { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity par7Entity) { + super.setRotationAngles(f, f1, f2, f3, f4, f5, par7Entity); + } +} diff --git a/common/rebelkeithy/mods/atum/items/RendererItemBow.java b/common/com/teammetallurgy/atum/client/render/item/RendererItemBow.java similarity index 90% rename from common/rebelkeithy/mods/atum/items/RendererItemBow.java rename to common/com/teammetallurgy/atum/client/render/item/RendererItemBow.java index 2ff5596..3075da8 100644 --- a/common/rebelkeithy/mods/atum/items/RendererItemBow.java +++ b/common/com/teammetallurgy/atum/client/render/item/RendererItemBow.java @@ -1,4 +1,4 @@ -package rebelkeithy.mods.atum.items; +package com.teammetallurgy.atum.client.render.item; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.ItemRenderer; @@ -16,24 +16,26 @@ import org.lwjgl.opengl.GL11; public class RendererItemBow implements IItemRenderer { - + @Override public boolean handleRenderType(ItemStack item, ItemRenderType type) { return type == ItemRenderType.EQUIPPED; } + @Override public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { return type == ItemRenderType.EQUIPPED ? false : false; } + @Override public void renderItem(ItemRenderType type, ItemStack item, Object... data) { EntityLivingBase e = (EntityLivingBase) data[1]; GL11.glPopMatrix(); boolean renderFirstPerson = false; - if (e instanceof EntityPlayer && ((EntityPlayer) e).username.equals(Minecraft.getMinecraft().thePlayer.username) && Minecraft.getMinecraft().gameSettings.thirdPersonView == 0) { + if(e instanceof EntityPlayer && ((EntityPlayer) e).username.equals(Minecraft.getMinecraft().thePlayer.username) && Minecraft.getMinecraft().gameSettings.thirdPersonView == 0) { renderFirstPerson = true; } - if (!renderFirstPerson) { + if(!renderFirstPerson) { float f22 = 0.375F; GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); @@ -55,7 +57,7 @@ public void renderItem(ItemRenderType type, ItemStack item, Object... data) { public void renderItem(EntityLivingBase par1EntityLiving, ItemStack par2ItemStack, int par3) { GL11.glPushMatrix(); Icon icon = par1EntityLiving.getItemIcon(par2ItemStack, par3); - if (icon == null) { + if(icon == null) { GL11.glPopMatrix(); } else { Tessellator tessellator = Tessellator.instance; @@ -73,7 +75,7 @@ public void renderItem(EntityLivingBase par1EntityLiving, ItemStack par2ItemStac GL11.glRotatef(335.0F, 0.0F, 0.0F, 1.0F); GL11.glTranslatef(-0.9375F, -0.0625F, 0.0F); ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, icon.getIconWidth(), icon.getIconHeight(), 0.0625F); - if (par2ItemStack != null && par2ItemStack.hasEffect() && par3 == 0) { + if(par2ItemStack != null && par2ItemStack.hasEffect() && par3 == 0) { GL11.glDepthFunc(514); GL11.glDisable(2896); Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation("%blur%/misc/glint.png")); diff --git a/common/com/teammetallurgy/atum/client/render/tileentity/RenderDate.java b/common/com/teammetallurgy/atum/client/render/tileentity/RenderDate.java new file mode 100644 index 0000000..bf26ef9 --- /dev/null +++ b/common/com/teammetallurgy/atum/client/render/tileentity/RenderDate.java @@ -0,0 +1,118 @@ +package com.teammetallurgy.atum.client.render.tileentity; + +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.util.Icon; +import net.minecraft.world.IBlockAccess; + +import com.teammetallurgy.atum.blocks.BlockDate; +import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.client.model.tileentity.ModelDate; + +import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; + +public class RenderDate implements ISimpleBlockRenderingHandler { + + ModelDate modelDate = new ModelDate(); + + public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) { + } + + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + Tessellator tessellator = Tessellator.instance; + if(world != null) { + tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + } else { + tessellator.setBrightness(1); + } + + tessellator.setColorOpaque_F(1.0F, 1.0F, 1.0F); + Icon icon = block.getIcon(0, 0); + double sideu1 = (double) icon.getInterpolatedU(0.0D); + double sideu2 = (double) icon.getInterpolatedU(6.0D); + double sidev1 = (double) icon.getInterpolatedV(14.0D); + double sidev2 = (double) icon.getInterpolatedV(6.0D); + double topu1 = (double) icon.getInterpolatedU(0.0D); + double topu2 = (double) icon.getInterpolatedU(6.0D); + double topv1 = (double) icon.getInterpolatedV(6.0D); + double topv2 = (double) icon.getInterpolatedV(0.0D); + double fx1 = 0.3125D; + double fx2 = 0.6875D; + double fz = 0.6875D; + double y1 = 0.125D; + double y2 = 0.625D; + double bz = 0.3125D; + tessellator.addVertexWithUV((double) x + fx1, (double) y + y1, (double) z + fz, sideu1, sidev1); + tessellator.addVertexWithUV((double) x + fx2, (double) y + y1, (double) z + fz, sideu2, sidev1); + tessellator.addVertexWithUV((double) x + fx2, (double) y + y2, (double) z + fz, sideu2, sidev2); + tessellator.addVertexWithUV((double) x + fx1, (double) y + y2, (double) z + fz, sideu1, sidev2); + tessellator.addVertexWithUV((double) x + fx1, (double) y + y1, (double) z + bz, sideu1, sidev1); + tessellator.addVertexWithUV((double) x + fx1, (double) y + y2, (double) z + bz, sideu1, sidev2); + tessellator.addVertexWithUV((double) x + fx2, (double) y + y2, (double) z + bz, sideu2, sidev2); + tessellator.addVertexWithUV((double) x + fx2, (double) y + y1, (double) z + bz, sideu2, sidev1); + tessellator.addVertexWithUV((double) x + fz, (double) y + y1, (double) z + fx1, sideu1, sidev1); + tessellator.addVertexWithUV((double) x + fz, (double) y + y2, (double) z + fx1, sideu1, sidev2); + tessellator.addVertexWithUV((double) x + fz, (double) y + y2, (double) z + fx2, sideu2, sidev2); + tessellator.addVertexWithUV((double) x + fz, (double) y + y1, (double) z + fx2, sideu2, sidev1); + tessellator.addVertexWithUV((double) x + bz, (double) y + y1, (double) z + fx1, sideu1, sidev1); + tessellator.addVertexWithUV((double) x + bz, (double) y + y1, (double) z + fx2, sideu2, sidev1); + tessellator.addVertexWithUV((double) x + bz, (double) y + y2, (double) z + fx2, sideu2, sidev2); + tessellator.addVertexWithUV((double) x + bz, (double) y + y2, (double) z + fx1, sideu1, sidev2); + tessellator.addVertexWithUV((double) x + bz, (double) y + y2, (double) z + fx1, topu1, topv1); + tessellator.addVertexWithUV((double) x + bz, (double) y + y2, (double) z + fx2, topu1, topv2); + tessellator.addVertexWithUV((double) x + fz, (double) y + y2, (double) z + fx2, topu2, topv2); + tessellator.addVertexWithUV((double) x + fz, (double) y + y2, (double) z + fx1, topu2, topv1); + tessellator.addVertexWithUV((double) x + bz, (double) y + y1, (double) z + fx1, topu1, topv1); + tessellator.addVertexWithUV((double) x + fz, (double) y + y1, (double) z + fx1, topu2, topv1); + tessellator.addVertexWithUV((double) x + fz, (double) y + y1, (double) z + fx2, topu2, topv2); + tessellator.addVertexWithUV((double) x + bz, (double) y + y1, (double) z + fx2, topu1, topv2); + sideu1 = (double) icon.getInterpolatedU(6.0D); + sideu2 = (double) icon.getInterpolatedU(8.0D); + sidev1 = (double) icon.getInterpolatedV(12.0D); + sidev2 = (double) icon.getInterpolatedV(6.0D); + topu1 = (double) icon.getInterpolatedU(6.0D); + topu2 = (double) icon.getInterpolatedU(8.0D); + topv1 = (double) icon.getInterpolatedV(2.0D); + topv2 = (double) icon.getInterpolatedV(0.0D); + fx1 = 0.4375D; + fx2 = 0.5625D; + bz = 0.4375D; + fz = 0.5625D; + y1 = 0.625D; + y2 = 1.0D; + tessellator.addVertexWithUV((double) x + fx1, (double) y + y1, (double) z + fz, sideu1, sidev1); + tessellator.addVertexWithUV((double) x + fx2, (double) y + y1, (double) z + fz, sideu2, sidev1); + tessellator.addVertexWithUV((double) x + fx2, (double) y + y2, (double) z + fz, sideu2, sidev2); + tessellator.addVertexWithUV((double) x + fx1, (double) y + y2, (double) z + fz, sideu1, sidev2); + tessellator.addVertexWithUV((double) x + fx1, (double) y + y1, (double) z + bz, sideu1, sidev1); + tessellator.addVertexWithUV((double) x + fx1, (double) y + y2, (double) z + bz, sideu1, sidev2); + tessellator.addVertexWithUV((double) x + fx2, (double) y + y2, (double) z + bz, sideu2, sidev2); + tessellator.addVertexWithUV((double) x + fx2, (double) y + y1, (double) z + bz, sideu2, sidev1); + tessellator.addVertexWithUV((double) x + fz, (double) y + y1, (double) z + fx1, sideu1, sidev1); + tessellator.addVertexWithUV((double) x + fz, (double) y + y2, (double) z + fx1, sideu1, sidev2); + tessellator.addVertexWithUV((double) x + fz, (double) y + y2, (double) z + fx2, sideu2, sidev2); + tessellator.addVertexWithUV((double) x + fz, (double) y + y1, (double) z + fx2, sideu2, sidev1); + tessellator.addVertexWithUV((double) x + bz, (double) y + y1, (double) z + fx1, sideu1, sidev1); + tessellator.addVertexWithUV((double) x + bz, (double) y + y1, (double) z + fx2, sideu2, sidev1); + tessellator.addVertexWithUV((double) x + bz, (double) y + y2, (double) z + fx2, sideu2, sidev2); + tessellator.addVertexWithUV((double) x + bz, (double) y + y2, (double) z + fx1, sideu1, sidev2); + tessellator.addVertexWithUV((double) x + bz, (double) y + y2, (double) z + fx1, topu1, topv1); + tessellator.addVertexWithUV((double) x + bz, (double) y + y2, (double) z + fx2, topu1, topv2); + tessellator.addVertexWithUV((double) x + fz, (double) y + y2, (double) z + fx2, topu2, topv2); + tessellator.addVertexWithUV((double) x + fz, (double) y + y2, (double) z + fx1, topu2, topv1); + tessellator.addVertexWithUV((double) x + bz, (double) y + y1, (double) z + fx1, topu1, topv1); + tessellator.addVertexWithUV((double) x + fz, (double) y + y1, (double) z + fx1, topu2, topv1); + tessellator.addVertexWithUV((double) x + fz, (double) y + y1, (double) z + fx2, topu2, topv2); + tessellator.addVertexWithUV((double) x + bz, (double) y + y1, (double) z + fx2, topu1, topv2); + return true; + } + + public boolean shouldRender3DInInventory() { + return false; + } + + public int getRenderId() { + return ((BlockDate) ((BlockDate) Blocks.BLOCK_DATEBLOCK)).renderID; + } +} diff --git a/common/com/teammetallurgy/atum/client/render/tileentity/RenderPapyrus.java b/common/com/teammetallurgy/atum/client/render/tileentity/RenderPapyrus.java new file mode 100644 index 0000000..856ff21 --- /dev/null +++ b/common/com/teammetallurgy/atum/client/render/tileentity/RenderPapyrus.java @@ -0,0 +1,91 @@ +package com.teammetallurgy.atum.client.render.tileentity; + +import net.minecraft.block.Block; +import net.minecraft.client.renderer.EntityRenderer; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.util.Icon; +import net.minecraft.world.IBlockAccess; +import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; + +public class RenderPapyrus implements ISimpleBlockRenderingHandler { + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + Tessellator tessellator = Tessellator.instance; + tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + float f = 1.0F; + int l = block.colorMultiplier(world, x, y, z); + float f1 = (float) (l >> 16 & 255) / 255.0F; + float f2 = (float) (l >> 8 & 255) / 255.0F; + float f3 = (float) (l & 255) / 255.0F; + if(EntityRenderer.anaglyphEnable) { + float d0 = (f1 * 30.0F + f2 * 59.0F + f3 * 11.0F) / 100.0F; + float f5 = (f1 * 30.0F + f2 * 70.0F) / 100.0F; + float d1 = (f1 * 30.0F + f3 * 70.0F) / 100.0F; + f1 = d0; + f2 = f5; + f3 = d1; + } + + tessellator.setColorOpaque_F(f * f1, f * f2, f * f3); + double d01 = (double) x; + double d11 = (double) y; + double d2 = (double) z; + if(block == Block.tallGrass) { + long icon = (long) (x * 3129871) ^ (long) z * 116129781L ^ (long) y; + icon = icon * icon * 42317861L + icon * 11L; + d01 += ((double) ((float) (icon >> 16 & 15L) / 15.0F) - 0.5D) * 0.5D; + d11 += ((double) ((float) (icon >> 20 & 15L) / 15.0F) - 1.0D) * 0.2D; + d2 += ((double) ((float) (icon >> 24 & 15L) / 15.0F) - 0.5D) * 0.5D; + } + + Icon icon1 = block.getBlockTexture(world, x, y, z, 0); + this.drawCrossedSquares(icon1, block, world.getBlockMetadata(x, y, z), d01, d11, d2, 1.0F); + return true; + } + + public void drawCrossedSquares(Icon icon, Block par1Block, int par2, double par3, double par5, double par7, float par9) { + Tessellator tessellator = Tessellator.instance; + double d3 = (double) icon.getMinU(); + double d4 = (double) icon.getMinV(); + double d5 = (double) icon.getMaxU(); + double d6 = (double) icon.getMaxV(); + double d7 = 0.45D * (double) par9; + double d8 = par3 + 0.5D - d7; + double d9 = par3 + 0.5D + d7; + double d10 = par7 + 0.5D - d7; + double d11 = par7 + 0.5D + d7; + tessellator.addVertexWithUV(d8, par5 + (double) par9, d10, d3, d4); + tessellator.addVertexWithUV(d8, par5 + 0.0D, d10, d3, d6); + tessellator.addVertexWithUV(d9, par5 + 0.0D, d11, d5, d6); + tessellator.addVertexWithUV(d9, par5 + (double) par9, d11, d5, d4); + tessellator.addVertexWithUV(d9, par5 + (double) par9, d11, d3, d4); + tessellator.addVertexWithUV(d9, par5 + 0.0D, d11, d3, d6); + tessellator.addVertexWithUV(d8, par5 + 0.0D, d10, d5, d6); + tessellator.addVertexWithUV(d8, par5 + (double) par9, d10, d5, d4); + tessellator.addVertexWithUV(d8, par5 + (double) par9, d11, d3, d4); + tessellator.addVertexWithUV(d8, par5 + 0.0D, d11, d3, d6); + tessellator.addVertexWithUV(d9, par5 + 0.0D, d10, d5, d6); + tessellator.addVertexWithUV(d9, par5 + (double) par9, d10, d5, d4); + tessellator.addVertexWithUV(d9, par5 + (double) par9, d10, d3, d4); + tessellator.addVertexWithUV(d9, par5 + 0.0D, d10, d3, d6); + tessellator.addVertexWithUV(d8, par5 + 0.0D, d11, d5, d6); + tessellator.addVertexWithUV(d8, par5 + (double) par9, d11, d5, d4); + } + + @Override + public int getRenderId() { + return 0; + } + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) { + } + + @Override + public boolean shouldRender3DInInventory() { + return false; + } + +} diff --git a/common/rebelkeithy/mods/atum/items/ItemAtumBow.java b/common/com/teammetallurgy/atum/items/ItemAtumBow.java similarity index 83% rename from common/rebelkeithy/mods/atum/items/ItemAtumBow.java rename to common/com/teammetallurgy/atum/items/ItemAtumBow.java index 6685d28..70a3d6f 100644 --- a/common/rebelkeithy/mods/atum/items/ItemAtumBow.java +++ b/common/com/teammetallurgy/atum/items/ItemAtumBow.java @@ -1,46 +1,47 @@ -package rebelkeithy.mods.atum.items; +package com.teammetallurgy.atum.items; -import rebelkeithy.mods.atum.Atum; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBow; import net.minecraft.item.ItemStack; import net.minecraft.util.Icon; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class ItemAtumBow extends ItemBow { - public static final String[] bowPullIconNameArray = new String[] { "bow_pull_0", "bow_pull_1", "bow_pull_2" }; + public static final String[] bowPullIconNameArray = new String[]{"bow_pull_0", "bow_pull_1", "bow_pull_2"}; Icon[] iconArray; public ItemAtumBow(int par1) { super(par1); } + @Override @SideOnly(Side.CLIENT) public void registerIcons(IconRegister par1IconRegister) { this.iconArray = new Icon[bowPullIconNameArray.length]; this.itemIcon = par1IconRegister.registerIcon("atum:Bow"); - for (int i = 0; i < this.iconArray.length; ++i) { + for(int i = 0; i < this.iconArray.length; ++i) { this.iconArray[i] = par1IconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); } } + @Override public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { - if (usingItem != null) { + if(usingItem != null) { int j = this.getMaxItemUseDuration(stack) - useRemaining; - if (j >= 18) { + if(j >= 18) { return this.getItemIconForUseDuration(2); } - if (j > 13) { + if(j > 13) { return this.getItemIconForUseDuration(1); } - if (j > 0) { + if(j > 0) { return this.getItemIconForUseDuration(0); } } @@ -48,6 +49,7 @@ public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemSt return this.getIcon(stack, renderPass); } + @Override @SideOnly(Side.CLIENT) public Icon getItemIconForUseDuration(int par1) { return this.iconArray[par1]; diff --git a/common/rebelkeithy/mods/atum/items/ItemFish.java b/common/com/teammetallurgy/atum/items/ItemFish.java similarity index 79% rename from common/rebelkeithy/mods/atum/items/ItemFish.java rename to common/com/teammetallurgy/atum/items/ItemFish.java index baaef9d..e730371 100644 --- a/common/rebelkeithy/mods/atum/items/ItemFish.java +++ b/common/com/teammetallurgy/atum/items/ItemFish.java @@ -1,17 +1,18 @@ -package rebelkeithy.mods.atum.items; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +package com.teammetallurgy.atum.items; import java.util.List; -import rebelkeithy.mods.atum.Atum; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.Icon; +import com.teammetallurgy.atum.Atum; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + public class ItemFish extends Item { Icon[] icons; @@ -21,30 +22,33 @@ public ItemFish(int par1) { this.setHasSubtypes(true); } + @Override @SideOnly(Side.CLIENT) public Icon getIconFromDamage(int par1) { return this.icons[par1]; } + @Override public String getUnlocalizedName(ItemStack par1ItemStack) { return super.getUnlocalizedName() + "." + par1ItemStack.getItemDamage(); } + @Override @SideOnly(Side.CLIENT) public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List) { - for (int i = 0; i < 4; ++i) { + for(int i = 0; i < 4; ++i) { par3List.add(new ItemStack(super.itemID, 1, i)); } } + @Override @SideOnly(Side.CLIENT) public void registerIcons(IconRegister par1IconRegister) { this.icons = new Icon[4]; - for (int i = 0; i < 4; ++i) { - this.icons[i] = par1IconRegister.registerIcon(Atum.modID + ":Fish" + i); + for(int i = 0; i < 4; ++i) { + this.icons[i] = par1IconRegister.registerIcon("atum:Fish" + i); } - } } diff --git a/common/com/teammetallurgy/atum/items/ItemGreatsword.java b/common/com/teammetallurgy/atum/items/ItemGreatsword.java new file mode 100644 index 0000000..b931201 --- /dev/null +++ b/common/com/teammetallurgy/atum/items/ItemGreatsword.java @@ -0,0 +1,25 @@ +package com.teammetallurgy.atum.items; + +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.EnumToolMaterial; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ItemSword; +import net.minecraft.util.MathHelper; + +public class ItemGreatsword extends ItemSword { + + public ItemGreatsword(int par1, EnumToolMaterial par2EnumToolMaterial) { + super(par1, par2EnumToolMaterial); + } + + @Override + public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase mob, EntityLivingBase player) { + //if(!(mob instanceof EntityStoneSoldier) && !(mob instanceof EntityPharaoh)) { + float j = 1.2F; + mob.addVelocity((double) (-MathHelper.sin(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F), 0.1D, (double) (MathHelper.cos(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F)); + //} + + return super.hitEntity(par1ItemStack, mob, player); + } +} diff --git a/common/rebelkeithy/mods/atum/items/ItemLoot.java b/common/com/teammetallurgy/atum/items/ItemLoot.java similarity index 73% rename from common/rebelkeithy/mods/atum/items/ItemLoot.java rename to common/com/teammetallurgy/atum/items/ItemLoot.java index e7a182f..8c844e4 100644 --- a/common/rebelkeithy/mods/atum/items/ItemLoot.java +++ b/common/com/teammetallurgy/atum/items/ItemLoot.java @@ -1,7 +1,4 @@ -package rebelkeithy.mods.atum.items; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +package com.teammetallurgy.atum.items; import java.util.List; import java.util.Random; @@ -14,13 +11,16 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.Icon; import net.minecraft.util.MathHelper; -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.AtumItems; + +import com.teammetallurgy.atum.Atum; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class ItemLoot extends Item { - private static String[] typeArray = new String[] { "Idol", "Necklace", "Ring", "Broach", "Scepter" }; - private static String[] qualityArray = new String[] { "Dirty", "Silver", "Gold", "Sapphire", "Ruby", "Emerald", "Diamond" }; + private static String[] typeArray = new String[]{"Idol", "Necklace", "Ring", "Broach", "Scepter"}; + private static String[] qualityArray = new String[]{"Dirty", "Silver", "Gold", "Sapphire", "Ruby", "Emerald", "Diamond"}; Icon[] iconArray; public ItemLoot(int par1) { @@ -32,9 +32,10 @@ public ItemLoot(int par1) { public static ItemStack getRandomLoot(Random rand, boolean isDirty) { int type = rand.nextInt(typeArray.length); int quality = rand.nextInt(qualityArray.length - 1) + 1; - return new ItemStack(AtumItems.loot.itemID, 1, type << 5 | quality << 1 | (isDirty ? 1 : 0)); + return new ItemStack(Items.loot.itemID, 1, type << 5 | quality << 1 | (isDirty ? 1 : 0)); } + @Override public String getItemDisplayName(ItemStack par1ItemStack) { int dirty = par1ItemStack.getItemDamage() & 1; int quality = par1ItemStack.getItemDamage() >> 1 & 15; @@ -42,20 +43,22 @@ public String getItemDisplayName(ItemStack par1ItemStack) { return dirty == 1 ? "Dirty " + typeArray[type] : qualityArray[quality] + " " + typeArray[type]; } + @Override public String getUnlocalizedName(ItemStack par1ItemStack) { int dirty = par1ItemStack.getItemDamage() & 1; int quality = par1ItemStack.getItemDamage() >> 1 & 15; int type = par1ItemStack.getItemDamage() >> 5 & 15; - return dirty == 1 ? super.getUnlocalizedName() + ".Dirty" + typeArray[type] : super.getUnlocalizedName() + "." + qualityArray[quality] + typeArray[type]; + return dirty == 1 ? super.getUnlocalizedName() + ".dirty" + typeArray[type] : super.getUnlocalizedName() + "." + qualityArray[quality] + typeArray[type]; } + @Override public boolean onEntityItemUpdate(EntityItem entityItem) { int id = entityItem.worldObj.getBlockId(MathHelper.floor_double(entityItem.posX), MathHelper.floor_double(entityItem.posY), MathHelper.floor_double(entityItem.posZ)); - if (id == Block.waterStill.blockID || id == Block.waterMoving.blockID) { + if(id == Block.waterStill.blockID || id == Block.waterMoving.blockID) { ItemStack item = entityItem.getEntityItem(); int damage = item.getItemDamage() >> 1; int quality = damage & 15; - if (quality == 0) { + if(quality == 0) { damage |= (int) (Math.random() * 6.0D) + 1; } @@ -66,18 +69,20 @@ public boolean onEntityItemUpdate(EntityItem entityItem) { return super.onEntityItemUpdate(entityItem); } + @Override @SideOnly(Side.CLIENT) public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List) { - for (int type = 0; type < typeArray.length; ++type) { + for(int type = 0; type < typeArray.length; ++type) { par3List.add(new ItemStack(par1, 1, type << 5 | 1)); - for (int quality = 1; quality < qualityArray.length; ++quality) { + for(int quality = 1; quality < qualityArray.length; ++quality) { par3List.add(new ItemStack(par1, 1, type << 5 | quality << 1)); } } } + @Override @SideOnly(Side.CLIENT) public Icon getIconFromDamage(int par1) { int dirty = par1 & 1; @@ -91,11 +96,11 @@ public Icon getIconFromDamage(int par1) { public void registerIcons(IconRegister par1IconRegister) { this.iconArray = new Icon[typeArray.length * (qualityArray.length + 1)]; - for (int type = 0; type < 5; ++type) { - this.iconArray[type * 7] = par1IconRegister.registerIcon(Atum.modID + ":Dirty" + typeArray[type]); + for(int type = 0; type < 5; ++type) { + this.iconArray[type * 7] = par1IconRegister.registerIcon("atum:Dirty" + typeArray[type]); - for (int quality = 1; quality < 7; ++quality) { - this.iconArray[type * 7 + quality] = par1IconRegister.registerIcon(Atum.modID + ":" + qualityArray[quality] + typeArray[type]); + for(int quality = 1; quality < 7; ++quality) { + this.iconArray[type * 7 + quality] = par1IconRegister.registerIcon("atum:" + qualityArray[quality] + typeArray[type]); } } diff --git a/common/rebelkeithy/mods/atum/blocks/ItemPapyrusPlant.java b/common/com/teammetallurgy/atum/items/ItemPapyrusPlant.java similarity index 65% rename from common/rebelkeithy/mods/atum/blocks/ItemPapyrusPlant.java rename to common/com/teammetallurgy/atum/items/ItemPapyrusPlant.java index 5d5b5be..72ae8b3 100644 --- a/common/rebelkeithy/mods/atum/blocks/ItemPapyrusPlant.java +++ b/common/com/teammetallurgy/atum/items/ItemPapyrusPlant.java @@ -1,6 +1,5 @@ -package rebelkeithy.mods.atum.blocks; +package com.teammetallurgy.atum.items; -import rebelkeithy.mods.atum.Atum; import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; @@ -18,46 +17,47 @@ public ItemPapyrusPlant(int par1, Block par2Block) { this.spawnID = par2Block.blockID; } + @Override public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) { int i1 = par3World.getBlockId(par4, par5, par6); - if (i1 == Block.snow.blockID && (par3World.getBlockMetadata(par4, par5, par6) & 7) < 1) { + if(i1 == Block.snow.blockID && (par3World.getBlockMetadata(par4, par5, par6) & 7) < 1) { par7 = 1; - } else if (i1 != Block.vine.blockID && i1 != Block.tallGrass.blockID && i1 != Block.deadBush.blockID) { - if (par7 == 0) { + } else if(i1 != Block.vine.blockID && i1 != Block.tallGrass.blockID && i1 != Block.deadBush.blockID) { + if(par7 == 0) { --par5; } - if (par7 == 1) { + if(par7 == 1) { ++par5; } - if (par7 == 2) { + if(par7 == 2) { --par6; } - if (par7 == 3) { + if(par7 == 3) { ++par6; } - if (par7 == 4) { + if(par7 == 4) { --par4; } - if (par7 == 5) { + if(par7 == 5) { ++par4; } } - if (!par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack)) { + if(!par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack)) { return false; - } else if (par1ItemStack.stackSize == 0) { + } else if(par1ItemStack.stackSize == 0) { return false; } else { - if (par3World.canPlaceEntityOnSide(this.spawnID, par4, par5, par6, false, par7, (Entity) null, par1ItemStack)) { + if(par3World.canPlaceEntityOnSide(this.spawnID, par4, par5, par6, false, par7, (Entity) null, par1ItemStack)) { Block block = Block.blocksList[this.spawnID]; int j1 = block.onBlockPlaced(par3World, par4, par5, par6, par7, par8, par9, par10, 0); - if (par3World.setBlock(par4, par5, par6, this.spawnID, j1, 3)) { - if (par3World.getBlockId(par4, par5, par6) == this.spawnID) { + if(par3World.setBlock(par4, par5, par6, this.spawnID, j1, 3)) { + if(par3World.getBlockId(par4, par5, par6) == this.spawnID) { Block.blocksList[this.spawnID].onBlockPlacedBy(par3World, par4, par5, par6, par2EntityPlayer, par1ItemStack); Block.blocksList[this.spawnID].onPostBlockPlaced(par3World, par4, par5, par6, j1); } @@ -73,7 +73,7 @@ public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, @Override public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon(Atum.modID +":PapyrusPlantItem"); + this.itemIcon = par1IconRegister.registerIcon("atum:PapyrusPlantItem"); } } diff --git a/common/rebelkeithy/mods/atum/items/ItemScarab.java b/common/com/teammetallurgy/atum/items/ItemScarab.java similarity index 79% rename from common/rebelkeithy/mods/atum/items/ItemScarab.java rename to common/com/teammetallurgy/atum/items/ItemScarab.java index 3385ba3..4e504f5 100644 --- a/common/rebelkeithy/mods/atum/items/ItemScarab.java +++ b/common/com/teammetallurgy/atum/items/ItemScarab.java @@ -1,15 +1,14 @@ -package rebelkeithy.mods.atum.items; +package com.teammetallurgy.atum.items; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; +import net.minecraft.block.BlockPortal; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.AtumBlocks; + +import com.teammetallurgy.atum.blocks.Blocks; public class ItemScarab extends Item { @@ -18,15 +17,17 @@ public ItemScarab(int id) { super.maxStackSize = 1; } + @Override public boolean hasEffect(ItemStack par1ItemStack) { return true; } + @Override public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) { int blockID = par3World.getBlockId(par4, par5, par6); - if (blockID == Block.sandStone.blockID) { - if (!AtumBlocks.portal.tryToCreatePortal(par3World, par4, par5 + 1, par6)) { - if (par2EntityPlayer.capabilities.isCreativeMode) { + if(blockID == Block.sandStone.blockID) { + if(!((BlockPortal) Blocks.BLOCK_PORTAL).tryToCreatePortal(par3World, par4, par5 + 1, par6)) { + if(par2EntityPlayer.capabilities.isCreativeMode) { par3World.setBlock(par4 + 2, par5 + 1, par6, Block.sandStone.blockID); par3World.setBlock(par4 + 2, par5 + 2, par6, Block.sandStone.blockID); par3World.setBlock(par4 - 2, par5 + 1, par6, Block.sandStone.blockID); @@ -50,6 +51,6 @@ public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, @Override public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":Scarab"); + this.itemIcon = par1IconRegister.registerIcon("atum:Scarab"); } } diff --git a/common/rebelkeithy/mods/atum/items/ItemScepter.java b/common/com/teammetallurgy/atum/items/ItemScepter.java similarity index 72% rename from common/rebelkeithy/mods/atum/items/ItemScepter.java rename to common/com/teammetallurgy/atum/items/ItemScepter.java index 0c57882..569176c 100644 --- a/common/rebelkeithy/mods/atum/items/ItemScepter.java +++ b/common/com/teammetallurgy/atum/items/ItemScepter.java @@ -1,6 +1,5 @@ -package rebelkeithy.mods.atum.items; +package com.teammetallurgy.atum.items; -import rebelkeithy.mods.atum.Atum; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.ItemSword; @@ -13,6 +12,6 @@ public ItemScepter(int par1, EnumToolMaterial par2EnumToolMaterial) { @Override public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":Scepter"); + this.itemIcon = par1IconRegister.registerIcon("atum:Scepter"); } } diff --git a/common/com/teammetallurgy/atum/items/ItemScimitar.java b/common/com/teammetallurgy/atum/items/ItemScimitar.java new file mode 100644 index 0000000..5884c9a --- /dev/null +++ b/common/com/teammetallurgy/atum/items/ItemScimitar.java @@ -0,0 +1,17 @@ +package com.teammetallurgy.atum.items; + +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.item.EnumToolMaterial; +import net.minecraft.item.ItemSword; + +public class ItemScimitar extends ItemSword { + + public ItemScimitar(int par1, EnumToolMaterial par2EnumToolMaterial) { + super(par1, par2EnumToolMaterial); + } + + @Override + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon("atum:Scimitar"); + } +} diff --git a/common/rebelkeithy/mods/atum/items/ItemStoneSoldierSword.java b/common/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java similarity index 71% rename from common/rebelkeithy/mods/atum/items/ItemStoneSoldierSword.java rename to common/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java index b82fa94..70ae056 100644 --- a/common/rebelkeithy/mods/atum/items/ItemStoneSoldierSword.java +++ b/common/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java @@ -1,6 +1,5 @@ -package rebelkeithy.mods.atum.items; +package com.teammetallurgy.atum.items; -import rebelkeithy.mods.atum.Atum; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.ItemSword; @@ -13,6 +12,6 @@ public ItemStoneSoldierSword(int par1, EnumToolMaterial par2EnumToolMaterial) { @Override public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":StoneSoldierSword"); + this.itemIcon = par1IconRegister.registerIcon("atum:StoneSoldierSword"); } } diff --git a/common/rebelkeithy/mods/atum/items/ItemTexturedArmor.java b/common/com/teammetallurgy/atum/items/ItemTexturedArmor.java similarity index 95% rename from common/rebelkeithy/mods/atum/items/ItemTexturedArmor.java rename to common/com/teammetallurgy/atum/items/ItemTexturedArmor.java index ea47dd4..c22aaf6 100644 --- a/common/rebelkeithy/mods/atum/items/ItemTexturedArmor.java +++ b/common/com/teammetallurgy/atum/items/ItemTexturedArmor.java @@ -1,4 +1,4 @@ -package rebelkeithy.mods.atum.items; +package com.teammetallurgy.atum.items; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; @@ -22,6 +22,7 @@ public ItemTexturedArmor setRepairItem(int id) { return this; } + @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.itemID == this.repairItemID; } diff --git a/common/com/teammetallurgy/atum/items/Items.java b/common/com/teammetallurgy/atum/items/Items.java new file mode 100644 index 0000000..aac6502 --- /dev/null +++ b/common/com/teammetallurgy/atum/items/Items.java @@ -0,0 +1,201 @@ +package com.teammetallurgy.atum.items; + +import net.minecraft.block.Block; +import net.minecraft.item.EnumArmorMaterial; +import net.minecraft.item.EnumToolMaterial; +import net.minecraft.item.Item; +import net.minecraft.item.ItemFood; +import net.minecraft.item.ItemSeeds; +import net.minecraftforge.common.EnumHelper; + +import com.teammetallurgy.atum.Atum; +import com.teammetallurgy.atum.AtumIDS; +import com.teammetallurgy.atum.LocalizationHelper; +import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.items.artifacts.IsisEmbrace; +import com.teammetallurgy.atum.items.artifacts.ItemAkersToil; +import com.teammetallurgy.atum.items.artifacts.ItemAmunetsHomecoming; +import com.teammetallurgy.atum.items.artifacts.ItemAnhursMight; +import com.teammetallurgy.atum.items.artifacts.ItemAnubisMercy; +import com.teammetallurgy.atum.items.artifacts.ItemAnuketsBounty; +import com.teammetallurgy.atum.items.artifacts.ItemAtensFury; +import com.teammetallurgy.atum.items.artifacts.ItemGebsBlessing; +import com.teammetallurgy.atum.items.artifacts.ItemGebsSolidarity; +import com.teammetallurgy.atum.items.artifacts.ItemHedetetsSting; +import com.teammetallurgy.atum.items.artifacts.ItemHedetetsVenom; +import com.teammetallurgy.atum.items.artifacts.ItemHorusFlight; +import com.teammetallurgy.atum.items.artifacts.ItemHorusSoaring; +import com.teammetallurgy.atum.items.artifacts.ItemIsisHealing; +import com.teammetallurgy.atum.items.artifacts.ItemMaatsBalance; +import com.teammetallurgy.atum.items.artifacts.ItemMafdetsQuickness; +import com.teammetallurgy.atum.items.artifacts.ItemMnevisHorns; +import com.teammetallurgy.atum.items.artifacts.ItemMonthusBlast; +import com.teammetallurgy.atum.items.artifacts.ItemMonthusStrike; +import com.teammetallurgy.atum.items.artifacts.ItemNeithsAudacity; +import com.teammetallurgy.atum.items.artifacts.ItemNusFlux; +import com.teammetallurgy.atum.items.artifacts.ItemNutsAgility; +import com.teammetallurgy.atum.items.artifacts.ItemNutsCall; +import com.teammetallurgy.atum.items.artifacts.ItemOsirisWill; +import com.teammetallurgy.atum.items.artifacts.ItemPtahsDecadence; +import com.teammetallurgy.atum.items.artifacts.ItemPtahsDestruction; +import com.teammetallurgy.atum.items.artifacts.ItemRasGlory; +import com.teammetallurgy.atum.items.artifacts.ItemSekhmetsWrath; +import com.teammetallurgy.atum.items.artifacts.ItemShusBreath; +import com.teammetallurgy.atum.items.artifacts.ItemSobeksRage; +import com.teammetallurgy.atum.items.artifacts.ItemSpear; + +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.common.registry.LanguageRegistry; + +public enum Items { + INSTANCE; + + public static final Item scarab = new ItemScarab(AtumIDS.ITEM_SCARAB_ID).setUnlocalizedName("atum:scarab").setCreativeTab(Atum.creativeTab); + public static final Item loot = new ItemLoot(AtumIDS.ITEM_LOOT_ID).setCreativeTab(Atum.creativeTab); + public static final Item date = new ItemFood(AtumIDS.ITEM_DATE_ID, 5, 1.5F, false).setTextureName("atum:date").setUnlocalizedName("atum:date").setCreativeTab(Atum.creativeTab); + public static final Item scimitar = new ItemScimitar(AtumIDS.ITEM_SCIMITAR_ID, EnumToolMaterial.IRON).setUnlocalizedName("atum:scimitar").setCreativeTab(Atum.creativeTab); + public static final Item greatsword = new ItemGreatsword(AtumIDS.ITEM_GREATSWORD_ID, EnumToolMaterial.IRON).setUnlocalizedName("atum:greatsword").setTextureName("atum:Greatsword").setCreativeTab(Atum.creativeTab); + public static final Item bow = new ItemAtumBow(AtumIDS.ITEM_BOW_ID).setUnlocalizedName("atum:bow").setCreativeTab(Atum.creativeTab); + public static final Item stoneSoldierSword = new ItemStoneSoldierSword(AtumIDS.ITEM_STONESOLDIERSWORD_ID, EnumToolMaterial.IRON).setUnlocalizedName("atum:StoneSoldierSword").setCreativeTab(Atum.creativeTab); + public static final Item scepter = new ItemScepter(AtumIDS.ITEM_SCEPTER_ID, EnumToolMaterial.GOLD).setUnlocalizedName("atum:Scepter").setCreativeTab(Atum.creativeTab); + public static final Item ptahsPick = new ItemPtahsDecadence(AtumIDS.ITEM_PTAHSPICK_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:PtahsDecadence").setCreativeTab(Atum.creativeTab); + public static final Item sobeksRage = new ItemSobeksRage(AtumIDS.ITEM_SOBEKSRAGE_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:SoteksRage").setCreativeTab(Atum.creativeTab); + public static final Item osirisWill = new ItemOsirisWill(AtumIDS.ITEM_OSIRISWILL_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:OsirisWill").setCreativeTab(Atum.creativeTab); + public static final Item akersToil = new ItemAkersToil(AtumIDS.ITEM_AKERSTOIL_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:AkersToil").setCreativeTab(Atum.creativeTab); + public static final Item gebsBlessing = new ItemGebsBlessing(AtumIDS.ITEM_GEBSBLESSING_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:GebsBlessing").setCreativeTab(Atum.creativeTab); + public static final Item atensFury = new ItemAtensFury(AtumIDS.ITEM_ATENSFURY_ID).setUnlocalizedName("atum:AtensFury").setCreativeTab(Atum.creativeTab); + public static final Item rasGlory = new ItemRasGlory(AtumIDS.ITEM_RASGLORY_ID, EnumArmorMaterial.DIAMOND, 0, 0).setTextureFile("EgyptianArmor_1").setUnlocalizedName("atum:RasGlory").setCreativeTab(Atum.creativeTab); + public static final Item sekhmetsWrath = new ItemSekhmetsWrath(AtumIDS.ITEM_SEKHMETSWRATH_ID, EnumArmorMaterial.DIAMOND, 1, 1).setTextureFile("EgyptianArmor_1").setUnlocalizedName("atum:SekhmetsWrath").setCreativeTab(Atum.creativeTab); + public static final Item nutsAgility = new ItemNutsAgility(AtumIDS.ITEM_NUTSAGILITY_ID, EnumArmorMaterial.DIAMOND, 2, 2).setTextureFile("EgyptianArmor_2").setUnlocalizedName("atum:NutsAgility").setCreativeTab(Atum.creativeTab); + public static final Item horusFlight = new ItemHorusFlight(AtumIDS.ITEM_HORUSFLIGHT_ID, EnumArmorMaterial.DIAMOND, 3, 3).setTextureFile("EgyptianArmor_1").setUnlocalizedName("atum:HorusFlight").setCreativeTab(Atum.creativeTab); + public static final Item monthusStrike = new ItemMonthusStrike(AtumIDS.ITEM_MONTHUSSTRIKE_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:MonthusStrike").setCreativeTab(Atum.creativeTab); + public static final Item anhursMight = new ItemAnhursMight(AtumIDS.ITEM_ANHURSMIGHT_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:AnhursMight").setCreativeTab(Atum.creativeTab); + public static final Item hedetetsSting = new ItemHedetetsSting(AtumIDS.ITEM_HEDETETSSTING_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:HedetetsSting").setCreativeTab(Atum.creativeTab); + public static final Item horusSoaring = new ItemHorusSoaring(AtumIDS.ITEM_HORUSFLIGHT_ID).setUnlocalizedName("atum:HorusSoaring").setCreativeTab(Atum.creativeTab); + public static final Item shusBreath = new ItemShusBreath(AtumIDS.ITEM_SHUSBREATH_ID).setUnlocalizedName("atum:ShusBreath").setCreativeTab(Atum.creativeTab); + public static final Item ptahsDestruction = new ItemPtahsDestruction(AtumIDS.ITEM_PTAHSDESTRUCTION_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:PtahsDestruction").setCreativeTab(Atum.creativeTab); + public static final Item monthusBlast = new ItemMonthusBlast(AtumIDS.ITEM_MONTHUSBLAST_ID).setUnlocalizedName("atum:MonthusBlast").setCreativeTab(Atum.creativeTab); + public static final Item nusFlux = new ItemNusFlux(AtumIDS.ITEM_NUSFLUX_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:NusFlux").setCreativeTab(Atum.creativeTab); + public static final Item mnevisHorns = new ItemMnevisHorns(AtumIDS.ITEM_MNEVISHORNS_ID, EnumArmorMaterial.DIAMOND, 0, 0).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("atum:MnevisHorns").setCreativeTab(Atum.creativeTab); + public static final Item isisEmbrace = new IsisEmbrace(AtumIDS.ITEM_ISISEMBRACE_ID, EnumArmorMaterial.DIAMOND, 1, 1).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("atum:IsisEmbrace").setCreativeTab(Atum.creativeTab); + public static final Item maatsBalance = new ItemMaatsBalance(AtumIDS.ITEM_MAATSBALANCE_ID, EnumArmorMaterial.DIAMOND, 2, 2).setTextureFile("RubyArtifactArmor_2").setUnlocalizedName("atum:MaatsBalance").setCreativeTab(Atum.creativeTab); + public static final Item hedetetsVenom = new ItemHedetetsVenom(AtumIDS.ITEM_HEDETETSVENOM_ID).setUnlocalizedName("atum:HedetetsVenom").setCreativeTab(Atum.creativeTab); + public static final Item gebsSolidarity = new ItemGebsSolidarity(AtumIDS.ITEM_GEBSSOLIDARITY_ID, EnumArmorMaterial.DIAMOND, 3, 3).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("atum:GebsSolidarity").setCreativeTab(Atum.creativeTab); + public static final Item nutsCall = new ItemNutsCall(AtumIDS.ITEM_NUTSCALL_ID).setUnlocalizedName("atum:NutsCall").setCreativeTab(Atum.creativeTab); + public static final Item anuketsBounty = new ItemAnuketsBounty(AtumIDS.ITEM_ANUKETSBOUNTY_ID).setUnlocalizedName("atum:anuketsBounty").setCreativeTab(Atum.creativeTab); + public static final Item mafdetsQuickness = new ItemMafdetsQuickness(AtumIDS.ITEM_MAFDETSQUICKNESS_ID).setUnlocalizedName("atum:mafdetsQuickness").setCreativeTab(Atum.creativeTab); + public static final Item isisHealing = new ItemIsisHealing(AtumIDS.ITEM_ISISHEALING_ID).setUnlocalizedName("atum:isisHealing").setCreativeTab(Atum.creativeTab); + public static final Item amunetsHomecoming = new ItemAmunetsHomecoming(AtumIDS.ITEM_AMUNETSHOMECOMING_ID).setUnlocalizedName("atum:amunetsHomecoming").setCreativeTab(Atum.creativeTab); + public static final Item anubisMercy = new ItemAnubisMercy(AtumIDS.ITEM_ANUBISMERCY_ID).setUnlocalizedName("atum:anubisMercy").setCreativeTab(Atum.creativeTab); + public static final Item limestoneShovel = new LimestoneShovel(AtumIDS.ITEM_LIMESTONESHOVEL_ID, EnumToolMaterial.STONE).setUnlocalizedName("atum:limestoneShovel").setCreativeTab(Atum.creativeTab); + public static final Item limestonePickaxe = new LimestonePickaxe(AtumIDS.ITEM_LIMESTONEPICKAXE_ID, EnumToolMaterial.STONE).setUnlocalizedName("atum:limestonePickaxe").setCreativeTab(Atum.creativeTab); + public static final Item limestoneAxe = new LimestoneAxe(AtumIDS.ITEM_LIMESTONEAXE_ID, EnumToolMaterial.STONE).setUnlocalizedName("atum:limestoneAxe").setCreativeTab(Atum.creativeTab); + public static final Item limestoneSword = new LimestoneSword(AtumIDS.ITEM_LIMESTONESWORD_ID, EnumToolMaterial.STONE).setUnlocalizedName("atum:limestoneSword").setCreativeTab(Atum.creativeTab); + public static final Item limestoneHoe = new LimestoneHoe(AtumIDS.ITEM_LIMESTONEHOE_ID, EnumToolMaterial.STONE).setUnlocalizedName("atum:limestoneHoe").setCreativeTab(Atum.creativeTab); + private static EnumArmorMaterial mummyEnum = EnumHelper.addArmorMaterial("Mummy", 5, new int[]{1, 3, 2, 1}, 15); + public static final Item mummyHelmet = new ItemTexturedArmor(AtumIDS.ITEM_MUMMYHELMET_ID, mummyEnum, 0, 0).setRepairItem(AtumIDS.ITEM_SCRAP_ID).setTextureFile("MummyArmor_1").setUnlocalizedName("atum:mummyHelmet").setTextureName("atum:MummyHelmet").setCreativeTab(Atum.creativeTab); + public static final Item mummyChest = new ItemTexturedArmor(AtumIDS.ITEM_MUMMYCHEST_ID, mummyEnum, 0, 1).setRepairItem(AtumIDS.ITEM_SCRAP_ID).setTextureFile("MummyArmor_1").setUnlocalizedName("atum:mummyChest").setTextureName("atum:MummyChest").setCreativeTab(Atum.creativeTab); + public static final Item mummyLegs = new ItemTexturedArmor(AtumIDS.ITEM_MUMMYLEGS_ID, mummyEnum, 0, 2).setRepairItem(AtumIDS.ITEM_SCRAP_ID).setTextureFile("MummyArmor_2").setUnlocalizedName("atum:mummyLegs").setTextureName("atum:MummyLegs").setCreativeTab(Atum.creativeTab); + public static final Item mummyBoots = new ItemTexturedArmor(AtumIDS.ITEM_MUMMYBOOTS_ID, mummyEnum, 0, 3).setRepairItem(AtumIDS.ITEM_SCRAP_ID).setTextureFile("MummyArmor_1").setUnlocalizedName("atum:mummyBoots").setTextureName("atum:MummyBoots").setCreativeTab(Atum.creativeTab); + private static EnumArmorMaterial wandererEnum = EnumHelper.addArmorMaterial("Wanderer", 10, new int[]{2, 3, 3, 2}, 15); + public static final Item wandererHelmet = new ItemTexturedArmor(AtumIDS.ITEM_WANDERERHELMET_ID, wandererEnum, 0, 0).setRepairItem(AtumIDS.ITEM_LINEN_ID).setTextureFile("WandererArmor_1").setUnlocalizedName("atum:wandererHelmet").setTextureName("atum:WandererHelmet").setCreativeTab(Atum.creativeTab); + public static final Item wandererChest = new ItemTexturedArmor(AtumIDS.ITEM_WANDERERCHEST_ID, wandererEnum, 0, 1).setRepairItem(AtumIDS.ITEM_LINEN_ID).setTextureFile("WandererArmor_1").setUnlocalizedName("atum:wandererChest").setTextureName("atum:WandererChest").setCreativeTab(Atum.creativeTab); + public static final Item wandererLegs = new ItemTexturedArmor(AtumIDS.ITEM_WANDERERLEGS_ID, wandererEnum, 0, 2).setRepairItem(AtumIDS.ITEM_LINEN_ID).setTextureFile("WandererArmor_2").setUnlocalizedName("atum:wandererLegs").setTextureName("atum:WandererLegs").setCreativeTab(Atum.creativeTab); + public static final Item wandererBoots = new ItemTexturedArmor(AtumIDS.ITEM_WANDERERBOOTS_ID, wandererEnum, 0, 3).setRepairItem(AtumIDS.ITEM_LINEN_ID).setTextureFile("WandererArmor_1").setUnlocalizedName("atum:wandererBoots").setTextureName("atum:WandererBoots").setCreativeTab(Atum.creativeTab); + private static EnumArmorMaterial desertEnum = EnumHelper.addArmorMaterial("Desert", 20, new int[]{3, 6, 5, 3}, 15); + public static final Item desertHelmet = new ItemTexturedArmor(AtumIDS.ITEM_DESERTHELMET_ID, desertEnum, 0, 0).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("atum:desertHelmet").setTextureName("atum:DesertHelmet").setCreativeTab(Atum.creativeTab); + public static final Item desertChest = new ItemTexturedArmor(AtumIDS.ITEM_DESERTCHEST_ID, desertEnum, 0, 1).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("atum:desertChest").setTextureName("atum:DesertChest").setCreativeTab(Atum.creativeTab); + public static final Item desertLegs = new ItemTexturedArmor(AtumIDS.ITEM_DESERTLEGS_ID, desertEnum, 0, 2).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_2").setUnlocalizedName("atum:desertLegs").setTextureName("atum:DesertLegs").setCreativeTab(Atum.creativeTab); + public static final Item desertBoots = new ItemTexturedArmor(AtumIDS.ITEM_DESERTBOOTS_ID, desertEnum, 0, 3).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("atum:desertBoots").setTextureName("atum:DesertBoots").setCreativeTab(Atum.creativeTab); + public static final Item papyrusPlant = new ItemPapyrusPlant(AtumIDS.ITEM_PAPYRUSPLANT_ID, Blocks.BLOCK_PAPYRUS).setUnlocalizedName("atum:PapyrusPlantItem").setCreativeTab(Atum.creativeTab); + public static final Item ectoplasm = new Item(AtumIDS.ITEM_ECTOPLASM_ID).setUnlocalizedName("atum:Ectoplasm").setTextureName("atum:Ectoplasm").setCreativeTab(Atum.creativeTab); + public static final Item stoneChunk = new Item(AtumIDS.ITEM_STONECHUNK_ID).setUnlocalizedName("atum:StoneChunk").setTextureName("atum:StoneChunk").setCreativeTab(Atum.creativeTab); + public static final Item scrap = new Item(AtumIDS.ITEM_SCRAP_ID).setUnlocalizedName("atum:ClothScrap").setTextureName("atum:ClothScrap").setCreativeTab(Atum.creativeTab); + public static final Item scroll = new Item(AtumIDS.ITEM_SCROLL_ID).setUnlocalizedName("atum:Scroll").setTextureName("atum:Scroll").setCreativeTab(Atum.creativeTab); + public static final Item pelt = new Item(AtumIDS.ITEM_PELT_ID).setUnlocalizedName("atum:WolfPelt").setTextureName("atum:WolfPelt").setCreativeTab(Atum.creativeTab); + public static final Item linen = new Item(AtumIDS.ITEM_LINEN_ID).setUnlocalizedName("atum:Linen").setTextureName("atum:Linen").setCreativeTab(Atum.creativeTab); + public static final Item flax = new Item(AtumIDS.ITEM_FLAX_ID).setUnlocalizedName("atum:FlaxItem").setTextureName("atum:FlaxItem").setCreativeTab(Atum.creativeTab); + public static final Item flaxSeeds = new ItemSeeds(AtumIDS.ITEM_FLAXSEEDS_ID, Blocks.BLOCK_FLAX.blockID, Block.tilledField.blockID).setUnlocalizedName("atum:flaxSeeds").setTextureName("atum:FlaxSeeds").setCreativeTab(Atum.creativeTab); + public static final Item fish = new ItemFish(AtumIDS.ITEM_FISH_ID).setUnlocalizedName("atum:fish").setCreativeTab(Atum.creativeTab); + public static final Item neithsAudacity = new ItemNeithsAudacity(AtumIDS.ITEM_NEITHSAUDACITY_ID).setUnlocalizedName("atum:neithsAudacity").setCreativeTab(Atum.creativeTab); + public static final Item spear = new ItemSpear(AtumIDS.ITEM_SPEAR_ID).setUnlocalizedName("atum:spear").setCreativeTab(Atum.creativeTab); + + public void registerItems() { + this.register(scarab); + this.register(loot); + this.register(date); + this.register(scimitar); + this.register(greatsword); + this.register(scepter); + this.register(stoneSoldierSword); + this.register(bow); + this.register(ptahsPick); + this.register(sobeksRage); + this.register(osirisWill); + this.register(akersToil); + this.register(gebsBlessing); + this.register(atensFury); + this.register(rasGlory); + this.register(sekhmetsWrath); + this.register(nutsAgility); + this.register(horusFlight); + this.register(monthusStrike); + this.register(anhursMight); + this.register(hedetetsSting); + this.register(horusSoaring); + this.register(shusBreath); + this.register(ptahsDestruction); + this.register(monthusBlast); + this.register(nusFlux); + this.register(mnevisHorns); + this.register(isisEmbrace); + this.register(maatsBalance); + this.register(hedetetsVenom); + this.register(gebsSolidarity); + this.register(nutsCall); + this.register(anuketsBounty); + this.register(mafdetsQuickness); + this.register(isisHealing); + this.register(amunetsHomecoming); + this.register(anubisMercy); + this.register(limestoneShovel); + this.register(limestonePickaxe); + this.register(limestoneAxe); + this.register(limestoneSword); + this.register(limestoneHoe); + this.register(mummyHelmet); + this.register(mummyChest); + this.register(mummyLegs); + this.register(mummyBoots); + this.register(wandererHelmet); + this.register(wandererChest); + this.register(wandererLegs); + this.register(wandererBoots); + this.register(desertHelmet); + this.register(desertChest); + this.register(desertLegs); + this.register(desertBoots); + this.register(papyrusPlant); + this.register(ectoplasm); + this.register(stoneChunk); + this.register(scrap); + this.register(scroll); + this.register(pelt); + this.register(linen); + this.register(flax); + this.register(flaxSeeds); + this.register(fish); + this.register(neithsAudacity); + this.register(spear); + } + + private void register(Item item) { + GameRegistry.registerItem(item, item.getUnlocalizedName()); + System.out.println("item." + item.getUnlocalizedName().split(":")[1] + ".name="); + } + + private void name(Item b, String type, String tag) { + LanguageRegistry.addName(b, LocalizationHelper.localize("item" + tag + ".name")); + } + +} diff --git a/common/com/teammetallurgy/atum/items/LimestoneAxe.java b/common/com/teammetallurgy/atum/items/LimestoneAxe.java new file mode 100644 index 0000000..b661e6b --- /dev/null +++ b/common/com/teammetallurgy/atum/items/LimestoneAxe.java @@ -0,0 +1,25 @@ +package com.teammetallurgy.atum.items; + +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.item.EnumToolMaterial; +import net.minecraft.item.ItemAxe; +import net.minecraft.item.ItemStack; + +import com.teammetallurgy.atum.blocks.Blocks; + +public class LimestoneAxe extends ItemAxe { + + public LimestoneAxe(int par1, EnumToolMaterial par2EnumToolMaterial) { + super(par1, par2EnumToolMaterial); + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Blocks.BLOCK_LIMESTONECOBBLE.blockID; + } + + @Override + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon("atum:LimestoneAxe"); + } +} diff --git a/common/com/teammetallurgy/atum/items/LimestoneHoe.java b/common/com/teammetallurgy/atum/items/LimestoneHoe.java new file mode 100644 index 0000000..dac5d22 --- /dev/null +++ b/common/com/teammetallurgy/atum/items/LimestoneHoe.java @@ -0,0 +1,25 @@ +package com.teammetallurgy.atum.items; + +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.item.EnumToolMaterial; +import net.minecraft.item.ItemHoe; +import net.minecraft.item.ItemStack; + +import com.teammetallurgy.atum.blocks.Blocks; + +public class LimestoneHoe extends ItemHoe { + + public LimestoneHoe(int par1, EnumToolMaterial par2EnumToolMaterial) { + super(par1, par2EnumToolMaterial); + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Blocks.BLOCK_LIMESTONECOBBLE.blockID; + } + + @Override + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon("atum:LimestoneHoe"); + } +} diff --git a/common/com/teammetallurgy/atum/items/LimestonePickaxe.java b/common/com/teammetallurgy/atum/items/LimestonePickaxe.java new file mode 100644 index 0000000..4b3d793 --- /dev/null +++ b/common/com/teammetallurgy/atum/items/LimestonePickaxe.java @@ -0,0 +1,25 @@ +package com.teammetallurgy.atum.items; + +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.item.EnumToolMaterial; +import net.minecraft.item.ItemPickaxe; +import net.minecraft.item.ItemStack; + +import com.teammetallurgy.atum.blocks.Blocks; + +public class LimestonePickaxe extends ItemPickaxe { + + public LimestonePickaxe(int par1, EnumToolMaterial par2EnumToolMaterial) { + super(par1, par2EnumToolMaterial); + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Blocks.BLOCK_LIMESTONECOBBLE.blockID; + } + + @Override + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon("atum:LimestonePickaxe"); + } +} diff --git a/common/com/teammetallurgy/atum/items/LimestoneShovel.java b/common/com/teammetallurgy/atum/items/LimestoneShovel.java new file mode 100644 index 0000000..6cc5d99 --- /dev/null +++ b/common/com/teammetallurgy/atum/items/LimestoneShovel.java @@ -0,0 +1,25 @@ +package com.teammetallurgy.atum.items; + +import com.teammetallurgy.atum.blocks.Blocks; + +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.item.EnumToolMaterial; +import net.minecraft.item.ItemSpade; +import net.minecraft.item.ItemStack; + +public class LimestoneShovel extends ItemSpade { + + public LimestoneShovel(int par1, EnumToolMaterial par2EnumToolMaterial) { + super(par1, par2EnumToolMaterial); + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Blocks.BLOCK_LIMESTONECOBBLE.blockID; + } + + @Override + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon("atum:LimestoneShovel"); + } +} diff --git a/common/com/teammetallurgy/atum/items/LimestoneSword.java b/common/com/teammetallurgy/atum/items/LimestoneSword.java new file mode 100644 index 0000000..1314074 --- /dev/null +++ b/common/com/teammetallurgy/atum/items/LimestoneSword.java @@ -0,0 +1,23 @@ +package com.teammetallurgy.atum.items; + +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.item.EnumToolMaterial; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ItemSword; + +import com.teammetallurgy.atum.blocks.Blocks; + +public class LimestoneSword extends ItemSword { + + public LimestoneSword(int par1, EnumToolMaterial par2EnumToolMaterial) { + super(par1, par2EnumToolMaterial); + } + + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Blocks.BLOCK_LIMESTONECOBBLE.blockID; + } + + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon("atum:LimestoneSword"); + } +} diff --git a/common/rebelkeithy/mods/atum/artifacts/IsisEmbrace.java b/common/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java similarity index 89% rename from common/rebelkeithy/mods/atum/artifacts/IsisEmbrace.java rename to common/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java index 4e518ae..4d62c2f 100644 --- a/common/rebelkeithy/mods/atum/artifacts/IsisEmbrace.java +++ b/common/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java @@ -1,4 +1,4 @@ -package rebelkeithy.mods.atum.artifacts; +package com.teammetallurgy.atum.items.artifacts; import java.util.List; @@ -13,7 +13,6 @@ import org.lwjgl.input.Keyboard; -import rebelkeithy.mods.atum.Atum; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -25,14 +24,16 @@ public IsisEmbrace(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, super(par1, par2EnumArmorMaterial, par3, par4); } + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; } + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { + if(Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Regeneration I: Regens"); par3List.add(EnumChatFormatting.DARK_PURPLE + "health slowly"); } else { @@ -57,6 +58,6 @@ public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) @Override public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":IsisEmbrace"); + this.itemIcon = par1IconRegister.registerIcon("atum:IsisEmbrace"); } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemAkersToil.java b/common/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java similarity index 83% rename from common/rebelkeithy/mods/atum/artifacts/ItemAkersToil.java rename to common/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java index e20243b..0b35444 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemAkersToil.java +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java @@ -1,4 +1,4 @@ -package rebelkeithy.mods.atum.artifacts; +package com.teammetallurgy.atum.items.artifacts; import java.util.List; @@ -16,7 +16,6 @@ import org.lwjgl.input.Keyboard; -import rebelkeithy.mods.atum.Atum; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -26,9 +25,10 @@ public ItemAkersToil(int par1, EnumToolMaterial par2EnumToolMaterial) { super(par1, par2EnumToolMaterial); } + @Override public float getStrVsBlock(ItemStack par1ItemStack, Block par2Block) { - for (int i = 0; i < ItemSpade.blocksEffectiveAgainst.length; ++i) { - if (ItemSpade.blocksEffectiveAgainst[i] == par2Block) { + for(int i = 0; i < ItemSpade.blocksEffectiveAgainst.length; ++i) { + if(ItemSpade.blocksEffectiveAgainst[i] == par2Block) { return super.efficiencyOnProperMaterial * 3.0F; } } @@ -38,21 +38,23 @@ public float getStrVsBlock(ItemStack par1ItemStack, Block par2Block) { @Override public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, int par3, int par4, int par5, int par6, EntityLivingBase par7EntityLiving) { - if (par7EntityLiving instanceof EntityPlayer) { + if(par7EntityLiving instanceof EntityPlayer) { ((EntityPlayer) par7EntityLiving).getFoodStats().addExhaustion(-0.025F); } return false; } + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; } + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { + if(Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Performance I: Faster, does"); par3List.add(EnumChatFormatting.DARK_PURPLE + "not consume fatique"); } else { @@ -61,12 +63,13 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } + @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.itemID == Item.diamond.itemID; } @Override public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":AkersToil"); + this.itemIcon = par1IconRegister.registerIcon("atum:AkersToil"); } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemAmunetsHomecoming.java b/common/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java similarity index 86% rename from common/rebelkeithy/mods/atum/artifacts/ItemAmunetsHomecoming.java rename to common/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java index dcc5bc5..2089c90 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemAmunetsHomecoming.java +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java @@ -1,4 +1,4 @@ -package rebelkeithy.mods.atum.artifacts; +package com.teammetallurgy.atum.items.artifacts; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -20,8 +20,6 @@ import org.lwjgl.input.Keyboard; -import rebelkeithy.mods.atum.Atum; - public class ItemAmunetsHomecoming extends Item { public ItemAmunetsHomecoming(int par1) { @@ -29,18 +27,20 @@ public ItemAmunetsHomecoming(int par1) { this.setMaxDamage(20); } + @Override + // TODO FIX public ItemStack onItemRightClick(ItemStack par1ItemStack, World par3World, EntityPlayer par2EntityPlayer) { ChunkCoordinates spawn = par2EntityPlayer.getBedLocation(); - if (spawn == null) { + if(spawn == null) { spawn = par3World.getSpawnPoint(); } - if (spawn == null) { + if(spawn == null) { spawn = par3World.getSpawnPoint(); } spawn = verifyRespawnCoordinates(par3World, spawn, false); - if (spawn == null) { + if(spawn == null) { spawn = par3World.getSpawnPoint(); } @@ -48,7 +48,7 @@ public ItemStack onItemRightClick(ItemStack par1ItemStack, World par3World, Enti par2EntityPlayer.rotationYaw = 0.0F; par2EntityPlayer.setPositionAndUpdate((double) spawn.posX + 0.5D, (double) spawn.posY + 0.1D, (double) spawn.posZ); - while (!par3World.getCollidingBoundingBoxes(par2EntityPlayer, par2EntityPlayer.boundingBox).isEmpty()) { + while(!par3World.getCollidingBoundingBoxes(par2EntityPlayer, par2EntityPlayer.boundingBox).isEmpty()) { par2EntityPlayer.setPosition(par2EntityPlayer.posX, par2EntityPlayer.posY + 1.0D, par2EntityPlayer.posZ); } @@ -57,7 +57,7 @@ public ItemStack onItemRightClick(ItemStack par1ItemStack, World par3World, Enti } public static ChunkCoordinates verifyRespawnCoordinates(World par0World, ChunkCoordinates par1ChunkCoordinates, boolean par2) { - if (!par0World.isRemote) { + if(!par0World.isRemote) { IChunkProvider c = par0World.getChunkProvider(); c.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); @@ -66,7 +66,7 @@ public static ChunkCoordinates verifyRespawnCoordinates(World par0World, ChunkCo } Block block = Block.blocksList[par0World.getBlockId(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ)]; - if (block != null && block.isBed(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityLiving) null)) { + if(block != null && block.isBed(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityLiving) null)) { ChunkCoordinates material1 = block.getBedSpawnPosition(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityPlayer) null); return material1; } else { @@ -78,14 +78,16 @@ public static ChunkCoordinates verifyRespawnCoordinates(World par0World, ChunkCo } } + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; } + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { + if(Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Return I: Teleports you back"); par3List.add(EnumChatFormatting.DARK_PURPLE + "to your spawn point"); } else { @@ -97,6 +99,6 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye @Override public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":AmunetsHomecoming"); + this.itemIcon = par1IconRegister.registerIcon("atum:AmunetsHomecoming"); } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemAnhursMight.java b/common/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java similarity index 79% rename from common/rebelkeithy/mods/atum/artifacts/ItemAnhursMight.java rename to common/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java index 817feb8..213b874 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemAnhursMight.java +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java @@ -1,13 +1,10 @@ -package rebelkeithy.mods.atum.artifacts; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +package com.teammetallurgy.atum.items.artifacts; import java.util.List; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumToolMaterial; @@ -21,7 +18,8 @@ import org.lwjgl.input.Keyboard; -import rebelkeithy.mods.atum.Atum; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class ItemAnhursMight extends ItemSword { @@ -29,8 +27,9 @@ public ItemAnhursMight(int par1, EnumToolMaterial par2EnumToolMaterial) { super(par1, par2EnumToolMaterial); } - public boolean hitEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving) { - if (Math.random() > 0.5D) { + @Override + public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase par2EntityLiving, EntityLivingBase par3EntityLiving) { + if(Math.random() > 0.5D) { par2EntityLiving.addPotionEffect(new PotionEffect(21, 80, 1, false)); par2EntityLiving.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 80, 6, false)); } @@ -38,10 +37,11 @@ public boolean hitEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving, return super.hitEntity(par1ItemStack, par2EntityLiving, par3EntityLiving); } + @Override public void onUpdate(ItemStack stack, World world, Entity entity, int par4, boolean par5) { - if (entity instanceof EntityPlayer) { + if(entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) entity; - if (player.getCurrentEquippedItem() != null && player.getCurrentEquippedItem().itemID == super.itemID) { + if(player.getCurrentEquippedItem() != null && player.getCurrentEquippedItem().itemID == super.itemID) { double magnitude = Math.sqrt(player.motionX * player.motionX + player.motionZ * player.motionZ); player.capabilities.setPlayerWalkSpeed((float) ((double) player.capabilities.getWalkSpeed() * 0.75D)); } @@ -49,14 +49,16 @@ public void onUpdate(ItemStack stack, World world, Entity entity, int par4, bool } + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; } + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { + if(Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Mighty I: Slows player,"); par3List.add(EnumChatFormatting.DARK_PURPLE + "Chance to stun foes"); } else { @@ -65,12 +67,13 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } + @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.itemID == Item.diamond.itemID; } @Override public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":AnhursMight"); + this.itemIcon = par1IconRegister.registerIcon("atum:AnhursMight"); } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemAnubisMercy.java b/common/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java similarity index 84% rename from common/rebelkeithy/mods/atum/artifacts/ItemAnubisMercy.java rename to common/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java index 1d4d4aa..dd989fe 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemAnubisMercy.java +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java @@ -1,4 +1,4 @@ -package rebelkeithy.mods.atum.artifacts; +package com.teammetallurgy.atum.items.artifacts; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -24,8 +24,6 @@ import org.lwjgl.input.Keyboard; -import rebelkeithy.mods.atum.Atum; - public class ItemAnubisMercy extends Item { public ItemAnubisMercy(int par1) { @@ -36,35 +34,35 @@ public ItemAnubisMercy(int par1) { @ForgeSubscribe public void onDamage(LivingHurtEvent event) { - if (event.entityLiving instanceof EntityPlayer) { + if(event.entityLiving instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) event.entityLiving; ItemStack stack = null; ItemStack[] damageAmount = player.inventory.mainInventory; int resistance = damageAmount.length; - for (int i = 0; i < resistance; ++i) { + for(int i = 0; i < resistance; ++i) { ItemStack currStack = damageAmount[i]; - if (currStack != null && currStack.itemID == super.itemID) { + if(currStack != null && currStack.itemID == super.itemID) { stack = currStack; break; } } - if (stack == null) { + if(stack == null) { return; } float var8 = (float) event.ammount; - if (!event.source.isUnblockable()) { + if(!event.source.isUnblockable()) { var8 = (float) (event.ammount * (25 - player.getTotalArmorValue()) + player.getAbsorptionAmount()) / 25.0F; } - if (player.isPotionActive(Potion.resistance)) { + if(player.isPotionActive(Potion.resistance)) { resistance = 25 - (player.getActivePotionEffect(Potion.resistance).getAmplifier() + 1) * 5; var8 = var8 * (float) resistance / 25.0F; } - if (Math.ceil((double) var8) >= (double) player.getHealth()) { + if(Math.ceil((double) var8) >= (double) player.getHealth()) { event.setCanceled(true); this.respawnPlayer(event.entityLiving.worldObj, player); player.setHealth(player.getMaxHealth()); @@ -79,16 +77,16 @@ public void onDamage(LivingHurtEvent event) { public void respawnPlayer(World par3World, EntityPlayer par2EntityPlayer) { ChunkCoordinates spawn = par2EntityPlayer.getBedLocation(); - if (spawn == null) { + if(spawn == null) { spawn = par3World.getSpawnPoint(); } - if (spawn == null) { + if(spawn == null) { spawn = par3World.getSpawnPoint(); } spawn = verifyRespawnCoordinates(par3World, spawn, false); - if (spawn == null) { + if(spawn == null) { spawn = par3World.getSpawnPoint(); } @@ -96,14 +94,14 @@ public void respawnPlayer(World par3World, EntityPlayer par2EntityPlayer) { par2EntityPlayer.rotationYaw = 0.0F; par2EntityPlayer.setPositionAndUpdate((double) spawn.posX + 0.5D, (double) spawn.posY + 0.1D, (double) spawn.posZ); - while (!par3World.getCollidingBoundingBoxes(par2EntityPlayer, par2EntityPlayer.boundingBox).isEmpty()) { + while(!par3World.getCollidingBoundingBoxes(par2EntityPlayer, par2EntityPlayer.boundingBox).isEmpty()) { par2EntityPlayer.setPosition(par2EntityPlayer.posX, par2EntityPlayer.posY + 1.0D, par2EntityPlayer.posZ); } } public static ChunkCoordinates verifyRespawnCoordinates(World par0World, ChunkCoordinates par1ChunkCoordinates, boolean par2) { - if (!par0World.isRemote) { + if(!par0World.isRemote) { IChunkProvider c = par0World.getChunkProvider(); c.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); @@ -112,7 +110,7 @@ public static ChunkCoordinates verifyRespawnCoordinates(World par0World, ChunkCo } Block block = Block.blocksList[par0World.getBlockId(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ)]; - if (block != null && block.isBed(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityLiving) null)) { + if(block != null && block.isBed(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityLiving) null)) { ChunkCoordinates material1 = block.getBedSpawnPosition(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityPlayer) null); return material1; } else { @@ -124,14 +122,16 @@ public static ChunkCoordinates verifyRespawnCoordinates(World par0World, ChunkCo } } + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; } + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { + if(Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Return I: Teleports you back"); par3List.add(EnumChatFormatting.DARK_PURPLE + "to your spawn point"); } else { @@ -143,6 +143,6 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye @Override public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":AnubisMercy"); + this.itemIcon = par1IconRegister.registerIcon("atum:AnubisMercy"); } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemAnuketsBounty.java b/common/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java similarity index 82% rename from common/rebelkeithy/mods/atum/artifacts/ItemAnuketsBounty.java rename to common/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java index d6f4f98..322928e 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemAnuketsBounty.java +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java @@ -1,7 +1,4 @@ -package rebelkeithy.mods.atum.artifacts; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +package com.teammetallurgy.atum.items.artifacts; import java.util.List; @@ -17,8 +14,8 @@ import org.lwjgl.input.Keyboard; -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.artifacts.arrow.EntityAtumFishHook; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class ItemAnuketsBounty extends Item { @@ -32,25 +29,28 @@ public ItemAnuketsBounty(int par1) { this.setCreativeTab(CreativeTabs.tabTools); } + @Override @SideOnly(Side.CLIENT) public boolean isFull3D() { return true; } + @Override @SideOnly(Side.CLIENT) public boolean shouldRotateAroundWhenRendering() { return true; } + @Override public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { - if (par3EntityPlayer.fishEntity != null) { + if(par3EntityPlayer.fishEntity != null) { int i = par3EntityPlayer.fishEntity.catchFish(); par1ItemStack.damageItem(i, par3EntityPlayer); par3EntityPlayer.swingItem(); } else { par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 0.5F, 0.4F / (Item.itemRand.nextFloat() * 0.4F + 0.8F)); - if (!par2World.isRemote) { - par2World.spawnEntityInWorld(new EntityAtumFishHook(par2World, par3EntityPlayer)); + if(!par2World.isRemote) { + // par2World.spawnEntityInWorld(new EntityAtumFishHook(par2World, par3EntityPlayer)); } par3EntityPlayer.swingItem(); @@ -62,23 +62,20 @@ public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, Enti @Override public void registerIcons(IconRegister par1IconRegister) { super.registerIcons(par1IconRegister); - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":AnuketsBounty"); + this.itemIcon = par1IconRegister.registerIcon("atum:AnuketsBounty"); this.theIcon = par1IconRegister.registerIcon("fishing_rod_cast"); } - @SideOnly(Side.CLIENT) - public Icon func_94597_g() { - return this.theIcon; - } - + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; } + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { + if(Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Alluring I: Chance to catch"); par3List.add(EnumChatFormatting.DARK_PURPLE + "special fish in Atum"); } else { @@ -88,6 +85,7 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye par3List.add(par1ItemStack.getMaxDamage() - par1ItemStack.getItemDamage() + " Uses Remaining"); } + @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.itemID == Item.diamond.itemID; } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemAtensFury.java b/common/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java similarity index 68% rename from common/rebelkeithy/mods/atum/artifacts/ItemAtensFury.java rename to common/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java index 516ca9b..0adb2d7 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemAtensFury.java +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java @@ -1,7 +1,4 @@ -package rebelkeithy.mods.atum.artifacts; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +package com.teammetallurgy.atum.items.artifacts; import java.util.List; @@ -21,12 +18,12 @@ import org.lwjgl.input.Keyboard; -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowFire; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class ItemAtensFury extends ItemBow { - public static final String[] bowPullIconNameArray = new String[] { "atens_pull_0", "atens_pull_1", "atens_pull_2" }; + public static final String[] bowPullIconNameArray = new String[]{"atens_pull_0", "atens_pull_1", "atens_pull_2"}; Icon[] iconArray; public ItemAtensFury(int par1) { @@ -34,83 +31,87 @@ public ItemAtensFury(int par1) { this.setMaxDamage(650); } + @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.itemID == Item.diamond.itemID; } + @Override public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { int j = this.getMaxItemUseDuration(par1ItemStack) - par4; ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); MinecraftForge.EVENT_BUS.post(event); - if (!event.isCanceled()) { + if(!event.isCanceled()) { j = event.charge; boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - if (flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) { + if(flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) { float f = (float) j / 20.0F; f = (f * f + f * 2.0F) / 3.0F; - if ((double) f < 0.1D) { + if((double) f < 0.1D) { return; } - if (f > 1.0F) { + if(f > 1.0F) { f = 1.0F; } - EntityArrowFire entityarrow = new EntityArrowFire(par2World, par3EntityPlayer, f * 2.0F); - entityarrow.setDamage(entityarrow.getDamage() * 1.5D); - if (f == 1.0F) { - entityarrow.setIsCritical(true); - } - - int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - if (k > 0) { - entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); - } - - int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - if (l > 0) { - entityarrow.setKnockbackStrength(l); - } - - entityarrow.setFire(100); + // EntityArrowFire entityarrow = new EntityArrowFire(par2World, par3EntityPlayer, f * 2.0F); + // entityarrow.setDamage(entityarrow.getDamage() * 1.5D); + // if(f == 1.0F) { + // entityarrow.setIsCritical(true); + // } + // + // int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); + // if(k > 0) { + // entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + // } + // + // int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); + // if(l > 0) { + // entityarrow.setKnockbackStrength(l); + // } + // + // entityarrow.setFire(100); par1ItemStack.damageItem(1, par3EntityPlayer); par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - if (flag) { - entityarrow.canBePickedUp = 2; + if(flag) { + // entityarrow.canBePickedUp = 2; } else { par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); } - if (!par2World.isRemote) { - par2World.spawnEntityInWorld(entityarrow); + if(!par2World.isRemote) { + // par2World.spawnEntityInWorld(entityarrow); } } } } + @Override @SideOnly(Side.CLIENT) public void registerIcons(IconRegister par1IconRegister) { this.iconArray = new Icon[bowPullIconNameArray.length]; - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":AtensFury"); - for (int i = 0; i < this.iconArray.length; ++i) { - this.iconArray[i] = par1IconRegister.registerIcon(Atum.modID + ":" + bowPullIconNameArray[i]); + this.itemIcon = par1IconRegister.registerIcon("atum:AtensFury"); + for(int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); } } + @Override public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { - if (usingItem != null) { + if(usingItem != null) { int j = this.getMaxItemUseDuration(stack) - useRemaining; - if (j >= 18) { + if(j >= 18) { return this.getItemIconForUseDuration(2); } - if (j > 13) { + if(j > 13) { return this.getItemIconForUseDuration(1); } - if (j > 0) { + if(j > 0) { return this.getItemIconForUseDuration(0); } } @@ -118,19 +119,22 @@ public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemSt return this.getIcon(stack, renderPass); } + @Override @SideOnly(Side.CLIENT) public Icon getItemIconForUseDuration(int par1) { return this.iconArray[par1]; } + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; } + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { + if(Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Fire Shot I: Flaming arrow"); par3List.add(EnumChatFormatting.DARK_PURPLE + "ignites blocks and foes"); } else { diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemGebsBlessing.java b/common/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java similarity index 87% rename from common/rebelkeithy/mods/atum/artifacts/ItemGebsBlessing.java rename to common/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java index 4f3d59c..70dff80 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemGebsBlessing.java +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java @@ -1,7 +1,4 @@ -package rebelkeithy.mods.atum.artifacts; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +package com.teammetallurgy.atum.items.artifacts; import java.util.List; @@ -16,7 +13,8 @@ import org.lwjgl.input.Keyboard; -import rebelkeithy.mods.atum.Atum; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class ItemGebsBlessing extends ItemHoe { @@ -31,7 +29,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { + if(Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Sowing I: Tilled ground is blessed,"); par3List.add(EnumChatFormatting.DARK_PURPLE + "granting increased growth rate"); } else { @@ -46,6 +44,6 @@ public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) @Override public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":GebsBlessing"); + this.itemIcon = par1IconRegister.registerIcon("atum:GebsBlessing"); } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemGebsSolidarity.java b/common/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java similarity index 87% rename from common/rebelkeithy/mods/atum/artifacts/ItemGebsSolidarity.java rename to common/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java index 6c0ba92..8b63050 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemGebsSolidarity.java +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java @@ -1,7 +1,4 @@ -package rebelkeithy.mods.atum.artifacts; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +package com.teammetallurgy.atum.items.artifacts; import java.util.List; @@ -25,7 +22,8 @@ import org.lwjgl.input.Keyboard; -import rebelkeithy.mods.atum.Atum; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class ItemGebsSolidarity extends ItemArmor { @@ -38,13 +36,13 @@ public ItemGebsSolidarity(int par1, EnumArmorMaterial par2EnumArmorMaterial, int @ForgeSubscribe public void onLivingAttack(LivingHurtEvent event) { DamageSource par1DamageSource = event.source; - if (par1DamageSource.getEntity() != null) { + if(par1DamageSource.getEntity() != null) { Entity par1Entity = par1DamageSource.getEntity(); byte j = 0; - if (par1Entity instanceof EntityLiving) { + if(par1Entity instanceof EntityLiving) { int j1 = j + EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, event.entityLiving); System.out.println("undo knockback " + j1); - if (j1 >= 0) { + if(j1 >= 0) { event.entityLiving.motionX /= 0.6D; event.entityLiving.motionZ /= 0.6D; event.entityLiving.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * 3.1415927F / 180.0F) * (float) j1 * 0.5F), -0.1D, (double) (-MathHelper.cos(par1Entity.rotationYaw * 3.1415927F / 180.0F) * (float) j1 * 0.5F)); @@ -55,7 +53,7 @@ public void onLivingAttack(LivingHurtEvent event) { double d0 = par1DamageSource.getEntity().posX - player.posX; double d1; - for (d1 = par1DamageSource.getEntity().posZ - player.posZ; d0 * d0 + d1 * d1 < 1.0E-4D; d1 = (Math.random() - Math.random()) * 0.01D) { + for(d1 = par1DamageSource.getEntity().posZ - player.posZ; d0 * d0 + d1 * d1 < 1.0E-4D; d1 = (Math.random() - Math.random()) * 0.01D) { d0 = (Math.random() - Math.random()) * 0.01D; } @@ -67,7 +65,7 @@ public void onLivingAttack(LivingHurtEvent event) { player.motionX *= 2.0D; player.motionY *= 2.0D; player.motionZ *= 2.0D; - if (player.motionY > 0.4000000059604645D) { + if(player.motionY > 0.4000000059604645D) { player.motionY = 0.4000000059604645D; } } @@ -86,7 +84,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { + if(Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Stalwart I: Decreased movement"); par3List.add(EnumChatFormatting.DARK_PURPLE + "speed, decreased knockback (WIP)"); } else { @@ -110,6 +108,6 @@ public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) @Override public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":GebsSolidarity"); + this.itemIcon = par1IconRegister.registerIcon("atum:GebsSolidarity"); } } diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java b/common/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java new file mode 100644 index 0000000..dd3776d --- /dev/null +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java @@ -0,0 +1,62 @@ +package com.teammetallurgy.atum.items.artifacts; + +import java.util.List; + +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.EnumToolMaterial; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ItemSword; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.EnumChatFormatting; + +import org.lwjgl.input.Keyboard; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class ItemHedetetsSting extends ItemSword { + + public ItemHedetetsSting(int par1, EnumToolMaterial par2EnumToolMaterial) { + super(par1, par2EnumToolMaterial); + + } + + public boolean hitEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving) { + if(super.hitEntity(par1ItemStack, par2EntityLiving, par3EntityLiving)) { + par2EntityLiving.addPotionEffect(new PotionEffect(Potion.poison.id, 140, 2, false)); + return true; + } else { + return false; + } + } + + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if(Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Poison II: Chance"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "to poison foes"); + } else { + par3List.add("Poison II " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + + } + + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Item.diamond.itemID; + } + + @Override + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon("atum:HedetetsSting"); + } +} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemHedetetsVenom.java b/common/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java similarity index 60% rename from common/rebelkeithy/mods/atum/artifacts/ItemHedetetsVenom.java rename to common/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java index d13e118..e0f2d2b 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemHedetetsVenom.java +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java @@ -1,4 +1,4 @@ -package rebelkeithy.mods.atum.artifacts; +package com.teammetallurgy.atum.items.artifacts; import java.util.List; @@ -18,14 +18,12 @@ import org.lwjgl.input.Keyboard; -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowPoison; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class ItemHedetetsVenom extends ItemBow { - public static final String[] bowPullIconNameArray = new String[] { "HedetetsVenom_pull_0", "HedetetsVenom_pull_1", "HedetetsVenom_pull_2" }; + public static final String[] bowPullIconNameArray = new String[]{"HedetetsVenom_pull_0", "HedetetsVenom_pull_1", "HedetetsVenom_pull_2"}; Icon[] iconArray; public ItemHedetetsVenom(int par1) { @@ -41,51 +39,51 @@ public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, Entit int j = this.getMaxItemUseDuration(par1ItemStack) - par4; ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); MinecraftForge.EVENT_BUS.post(event); - if (!event.isCanceled()) { + if(!event.isCanceled()) { j = event.charge; boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - if (flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) { + if(flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) { float f = (float) j / 20.0F; f = (f * f + f * 2.0F) / 3.0F; - if ((double) f < 0.1D) { + if((double) f < 0.1D) { return; } - if (f > 1.0F) { + if(f > 1.0F) { f = 1.0F; } - EntityArrowPoison entityarrow = new EntityArrowPoison(par2World, par3EntityPlayer, f * 3.0F); - entityarrow.setDamage(entityarrow.getDamage() * 1.5D); - if (f == 1.0F) { - entityarrow.setIsCritical(true); - } - - int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - if (k > 0) { - entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); - } - - int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - if (l > 0) { - entityarrow.setKnockbackStrength(l); - } - - if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { - entityarrow.setFire(100); - } - - par1ItemStack.damageItem(1, par3EntityPlayer); - par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - if (flag) { - entityarrow.canBePickedUp = 2; - } else { - par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); - } - - if (!par2World.isRemote) { - par2World.spawnEntityInWorld(entityarrow); - } + //EntityArrowPoison entityarrow = new EntityArrowPoison(par2World, par3EntityPlayer, f * 3.0F); + //entityarrow.setDamage(entityarrow.getDamage() * 1.5D); +// if(f == 1.0F) { +// entityarrow.setIsCritical(true); +// } +// +// int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); +// if(k > 0) { +// entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); +// } +// +// int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); +// if(l > 0) { +// entityarrow.setKnockbackStrength(l); +// } +// +// if(EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { +// entityarrow.setFire(100); +// } +// +// par1ItemStack.damageItem(1, par3EntityPlayer); +// par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); +// if(flag) { +// entityarrow.canBePickedUp = 2; +// } else { +// par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); +// } +// +// if(!par2World.isRemote) { +// par2World.spawnEntityInWorld(entityarrow); +// } } } @@ -98,7 +96,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { + if(Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Poison Arrow I: Fires an"); par3List.add(EnumChatFormatting.DARK_PURPLE + "arrow that poisons foes"); } else { @@ -111,25 +109,25 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye public void registerIcons(IconRegister par1IconRegister) { super.registerIcons(par1IconRegister); this.iconArray = new Icon[bowPullIconNameArray.length]; - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":HedetetsVenom"); - for (int i = 0; i < this.iconArray.length; ++i) { - this.iconArray[i] = par1IconRegister.registerIcon(Atum.modID + ":" + bowPullIconNameArray[i]); + this.itemIcon = par1IconRegister.registerIcon("atum:HedetetsVenom"); + for(int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); } } public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { - if (usingItem != null) { + if(usingItem != null) { int j = this.getMaxItemUseDuration(stack) - useRemaining; - if (j >= 18) { + if(j >= 18) { return this.getItemIconForUseDuration(2); } - if (j > 13) { + if(j > 13) { return this.getItemIconForUseDuration(1); } - if (j > 0) { + if(j > 0) { return this.getItemIconForUseDuration(0); } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemHorusFlight.java b/common/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java similarity index 79% rename from common/rebelkeithy/mods/atum/artifacts/ItemHorusFlight.java rename to common/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java index f3547d3..496cf12 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemHorusFlight.java +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java @@ -1,4 +1,4 @@ -package rebelkeithy.mods.atum.artifacts; +package com.teammetallurgy.atum.items.artifacts; import java.util.List; @@ -10,15 +10,14 @@ import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingEvent.LivingJumpEvent; import net.minecraftforge.event.entity.living.LivingFallEvent; import org.lwjgl.input.Keyboard; -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.AtumItems; +import com.teammetallurgy.atum.items.Items; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -28,12 +27,12 @@ public class ItemHorusFlight extends ItemArmor { public ItemHorusFlight(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); - + } @ForgeSubscribe public void onJump(LivingJumpEvent event) { - if (event.entityLiving.getCurrentItemOrArmor(0) != null && event.entityLiving.getCurrentItemOrArmor(0).itemID == super.itemID) { + if(event.entityLiving.getCurrentItemOrArmor(0) != null && event.entityLiving.getCurrentItemOrArmor(0).itemID == super.itemID) { event.entityLiving.motionY += 0.2D; event.entityLiving.motionX *= 1.2D; event.entityLiving.motionZ *= 1.2D; @@ -43,20 +42,22 @@ public void onJump(LivingJumpEvent event) { @ForgeSubscribe public void onFallDamage(LivingFallEvent event) { - if (event.entityLiving.getCurrentItemOrArmor(0) != null && event.entityLiving.getCurrentItemOrArmor(0).itemID == AtumItems.horusFlight.itemID) { + if(event.entityLiving.getCurrentItemOrArmor(0) != null && event.entityLiving.getCurrentItemOrArmor(0).itemID == Items.horusFlight.itemID) { event.distance = 0.0F; } } + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; } + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { + if(Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Nimbleness I: Increased jump height,"); par3List.add(EnumChatFormatting.DARK_PURPLE + "protection from fall damage"); } else { @@ -74,12 +75,13 @@ public String getArmorTextureFile(ItemStack itemstack) { return "/armor/" + this.texture + ".png"; } + @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.itemID == Item.diamond.itemID; } @Override public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":HorusFlight"); + this.itemIcon = par1IconRegister.registerIcon("atum:HorusFlight"); } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemHorusSoaring.java b/common/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java similarity index 65% rename from common/rebelkeithy/mods/atum/artifacts/ItemHorusSoaring.java rename to common/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java index b069b28..80910b8 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemHorusSoaring.java +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java @@ -1,4 +1,4 @@ -package rebelkeithy.mods.atum.artifacts; +package com.teammetallurgy.atum.items.artifacts; import java.util.List; @@ -14,113 +14,117 @@ import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowVelocity; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class ItemHorusSoaring extends ItemBow { - public static final String[] bowPullIconNameArray = new String[] { "HorusSoaring_pull_0", "HorusSoaring_pull_1", "HorusSoaring_pull_2" }; + public static final String[] bowPullIconNameArray = new String[]{"HorusSoaring_pull_0", "HorusSoaring_pull_1", "HorusSoaring_pull_2"}; Icon[] iconArray; public ItemHorusSoaring(int par1) { super(par1); this.setMaxDamage(650); - + } + @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.itemID == Item.diamond.itemID; } + @Override public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { int j = this.getMaxItemUseDuration(par1ItemStack) - par4; ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); MinecraftForge.EVENT_BUS.post(event); - if (!event.isCanceled()) { + if(!event.isCanceled()) { j = event.charge; boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - if (flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) { + if(flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) { float f = (float) j / 20.0F; f = (f * f + f * 2.0F) / 3.0F; - if ((double) f < 0.1D) { + if((double) f < 0.1D) { return; } - if (f > 1.0F) { + if(f > 1.0F) { f = 1.0F; } - EntityArrowVelocity entityarrow = new EntityArrowVelocity(par2World, par3EntityPlayer, f * 3.0F); - entityarrow.setDamage(entityarrow.getDamage() * 1.5D); - if (f == 1.0F) { - entityarrow.setIsCritical(true); - } - - int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - if (k > 0) { - entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); - } - - int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - if (l > 0) { - entityarrow.setKnockbackStrength(l); - } - - if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { - entityarrow.setFire(100); - } + //EntityArrowVelocity entityarrow = new EntityArrowVelocity(par2World, par3EntityPlayer, f * 3.0F); + //entityarrow.setDamage(entityarrow.getDamage() * 1.5D); +// if(f == 1.0F) { +// entityarrow.setIsCritical(true); +// } +// +// int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); +// if(k > 0) { +// entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); +// } +// +// int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); +// if(l > 0) { +// entityarrow.setKnockbackStrength(l); +// } +// +// if(EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { +// entityarrow.setFire(100); +// } par1ItemStack.damageItem(1, par3EntityPlayer); par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - if (flag) { - entityarrow.canBePickedUp = 2; + if(flag) { + // entityarrow.canBePickedUp = 2; } else { par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); } - if (!par2World.isRemote) { - par2World.spawnEntityInWorld(entityarrow); + if(!par2World.isRemote) { + // par2World.spawnEntityInWorld(entityarrow); } } } } + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; } + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { par3List.add("Velocity I"); } + @Override @SideOnly(Side.CLIENT) public void registerIcons(IconRegister par1IconRegister) { super.registerIcons(par1IconRegister); this.iconArray = new Icon[bowPullIconNameArray.length]; - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":HorusSoaring"); - for (int i = 0; i < this.iconArray.length; ++i) { - this.iconArray[i] = par1IconRegister.registerIcon(Atum.modID + ":" + bowPullIconNameArray[i]); + this.itemIcon = par1IconRegister.registerIcon("atum:HorusSoaring"); + for(int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); } } + @Override public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { - if (usingItem != null) { + if(usingItem != null) { int j = this.getMaxItemUseDuration(stack) - useRemaining; - if (j >= 18) { + if(j >= 18) { return this.getItemIconForUseDuration(2); } - if (j > 13) { + if(j > 13) { return this.getItemIconForUseDuration(1); } - if (j > 0) { + if(j > 0) { return this.getItemIconForUseDuration(0); } } @@ -128,6 +132,7 @@ public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemSt return this.getIcon(stack, renderPass); } + @Override @SideOnly(Side.CLIENT) public Icon getItemIconForUseDuration(int par1) { return this.iconArray[par1]; diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemIsisHealing.java b/common/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java similarity index 75% rename from common/rebelkeithy/mods/atum/artifacts/ItemIsisHealing.java rename to common/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java index f651457..e09bdde 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemIsisHealing.java +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java @@ -1,7 +1,4 @@ -package rebelkeithy.mods.atum.artifacts; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +package com.teammetallurgy.atum.items.artifacts; import java.util.List; @@ -16,7 +13,8 @@ import org.lwjgl.input.Keyboard; -import rebelkeithy.mods.atum.Atum; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class ItemIsisHealing extends Item { @@ -26,9 +24,9 @@ public ItemIsisHealing(int par1) { } public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { - if (par3Entity instanceof EntityPlayer) { + if(par3Entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) par3Entity; - if (player.onGround && player.inventory.mainInventory[player.inventory.currentItem] != null && player.inventory.mainInventory[player.inventory.currentItem].itemID == super.itemID) { + if(player.onGround && player.inventory.mainInventory[player.inventory.currentItem] != null && player.inventory.mainInventory[player.inventory.currentItem].itemID == super.itemID) { this.doEffect(player, par1ItemStack); } } @@ -36,11 +34,11 @@ public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity } public void doEffect(EntityPlayer player, ItemStack item) { - if (Math.random() <= 0.05D) { - if (player.getHealth() < player.getMaxHealth()) { + if(Math.random() <= 0.05D) { + if(player.getHealth() < player.getMaxHealth()) { player.heal(1); - if (!player.capabilities.isCreativeMode) { - if (item.getItemDamage() == 1) { + if(!player.capabilities.isCreativeMode) { + if(item.getItemDamage() == 1) { item.damageItem(1, player); } else { item.setItemDamage(item.getItemDamage() + 1); @@ -58,7 +56,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { + if(Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Regeneration I: Regenerates"); par3List.add(EnumChatFormatting.DARK_PURPLE + "health slowly while heald"); } else { @@ -74,6 +72,6 @@ public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) @Override public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":IsisHealing"); + this.itemIcon = par1IconRegister.registerIcon("atum:IsisHealing"); } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemMaatsBalance.java b/common/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java similarity index 81% rename from common/rebelkeithy/mods/atum/artifacts/ItemMaatsBalance.java rename to common/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java index 9b70fe7..cd4eff2 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemMaatsBalance.java +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java @@ -1,7 +1,4 @@ -package rebelkeithy.mods.atum.artifacts; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +package com.teammetallurgy.atum.items.artifacts; import java.util.List; @@ -23,7 +20,8 @@ import org.lwjgl.input.Keyboard; -import rebelkeithy.mods.atum.Atum; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class ItemMaatsBalance extends ItemArmor { @@ -32,20 +30,20 @@ public class ItemMaatsBalance extends ItemArmor { public ItemMaatsBalance(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); MinecraftForge.EVENT_BUS.register(this); - + } @ForgeSubscribe public void onLivingAttack(LivingHurtEvent event) { - if (event.entityLiving.getCurrentItemOrArmor(3) != null && event.entityLiving.getCurrentItemOrArmor(3).itemID == super.itemID) { + if(event.entityLiving.getCurrentItemOrArmor(3) != null && event.entityLiving.getCurrentItemOrArmor(3).itemID == super.itemID) { event.ammount = (int) ((float) (event.ammount + 1) / 1.5F) - 1; } - if (event.source instanceof EntityDamageSource) { + if(event.source instanceof EntityDamageSource) { EntityDamageSource source = (EntityDamageSource) event.source; - if (source.getEntity() != null && source.getEntity() instanceof EntityLiving) { + if(source.getEntity() != null && source.getEntity() instanceof EntityLiving) { EntityLiving entity = (EntityLiving) source.getEntity(); - if (entity.getCurrentItemOrArmor(3) != null && entity.getCurrentItemOrArmor(3).itemID == super.itemID) { + if(entity.getCurrentItemOrArmor(3) != null && entity.getCurrentItemOrArmor(3).itemID == super.itemID) { event.ammount = (int) ((float) (event.ammount + 1) / 1.5F) - 1; } } @@ -63,7 +61,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { + if(Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Balance I: Decreases damage"); par3List.add(EnumChatFormatting.DARK_PURPLE + "dealt, Decreases damage taken"); } else { @@ -87,6 +85,6 @@ public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) @Override public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":MaatsBalance"); + this.itemIcon = par1IconRegister.registerIcon("atum:MaatsBalance"); } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemMafdetsQuickness.java b/common/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java similarity index 76% rename from common/rebelkeithy/mods/atum/artifacts/ItemMafdetsQuickness.java rename to common/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java index b0eb375..e21b9df 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemMafdetsQuickness.java +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java @@ -1,7 +1,4 @@ -package rebelkeithy.mods.atum.artifacts; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +package com.teammetallurgy.atum.items.artifacts; import java.util.List; @@ -16,20 +13,20 @@ import org.lwjgl.input.Keyboard; -import rebelkeithy.mods.atum.Atum; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class ItemMafdetsQuickness extends Item { public ItemMafdetsQuickness(int par1) { super(par1); this.setMaxDamage(24000); - } public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { - if (par3Entity instanceof EntityPlayer) { + if(par3Entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) par3Entity; - if (player.onGround && player.inventory.mainInventory[player.inventory.currentItem] != null && player.inventory.mainInventory[player.inventory.currentItem].itemID == super.itemID) { + if(player.onGround && player.inventory.mainInventory[player.inventory.currentItem] != null && player.inventory.mainInventory[player.inventory.currentItem].itemID == super.itemID) { this.doEffect(player, par1ItemStack); } } @@ -38,8 +35,8 @@ public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity public void doEffect(EntityPlayer player, ItemStack item) { player.capabilities.setPlayerWalkSpeed((float) ((double) player.capabilities.getWalkSpeed() * 1.4D)); - if (player.motionX * player.motionX + player.motionZ * player.motionZ > 0.02D && !player.capabilities.isCreativeMode) { - if (item.getItemDamage() == 1) { + if(player.motionX * player.motionX + player.motionZ * player.motionZ > 0.02D && !player.capabilities.isCreativeMode) { + if(item.getItemDamage() == 1) { item.damageItem(1, player); } else { item.setItemDamage(item.getItemDamage() + 1); @@ -55,7 +52,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { + if(Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Swiftness I: You run"); par3List.add(EnumChatFormatting.DARK_PURPLE + "faster when held"); } else { @@ -71,6 +68,6 @@ public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) @Override public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":MafdetsQuickness"); + this.itemIcon = par1IconRegister.registerIcon("atum:MafdetsQuickness"); } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemMnevisHorns.java b/common/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java similarity index 84% rename from common/rebelkeithy/mods/atum/artifacts/ItemMnevisHorns.java rename to common/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java index f76667b..1eb3c86 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemMnevisHorns.java +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java @@ -1,7 +1,4 @@ -package rebelkeithy.mods.atum.artifacts; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +package com.teammetallurgy.atum.items.artifacts; import java.util.List; @@ -21,7 +18,8 @@ import org.lwjgl.input.Keyboard; -import rebelkeithy.mods.atum.Atum; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class ItemMnevisHorns extends ItemArmor { @@ -30,14 +28,14 @@ public class ItemMnevisHorns extends ItemArmor { public ItemMnevisHorns(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); MinecraftForge.EVENT_BUS.register(this); - + } @ForgeSubscribe public void onLivingAttack(LivingAttackEvent event) { - if (event.entityLiving.getCurrentItemOrArmor(3) != null && event.entityLiving.getCurrentItemOrArmor(3).itemID == super.itemID && event.source instanceof EntityDamageSource) { + if(event.entityLiving.getCurrentItemOrArmor(3) != null && event.entityLiving.getCurrentItemOrArmor(3).itemID == super.itemID && event.source instanceof EntityDamageSource) { EntityDamageSource source = (EntityDamageSource) event.source; - if (source.getEntity() != null) { + if(source.getEntity() != null) { source.getEntity().attackEntityFrom(DamageSource.generic, (int) ((double) event.ammount / 2.0D)); } } @@ -51,7 +49,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { + if(Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Melee Reflection I: Deals"); par3List.add(EnumChatFormatting.DARK_PURPLE + "damage to attackers"); } else { @@ -75,6 +73,6 @@ public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) @Override public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":MnevisHorns"); + this.itemIcon = par1IconRegister.registerIcon("atum:MnevisHorns"); } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemMonthusBlast.java b/common/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java similarity index 67% rename from common/rebelkeithy/mods/atum/artifacts/ItemMonthusBlast.java rename to common/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java index cf76a30..035b24a 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemMonthusBlast.java +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java @@ -1,4 +1,4 @@ -package rebelkeithy.mods.atum.artifacts; +package com.teammetallurgy.atum.items.artifacts; import java.util.List; @@ -18,14 +18,12 @@ import org.lwjgl.input.Keyboard; -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowExplosive; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class ItemMonthusBlast extends ItemBow { - public static final String[] bowPullIconNameArray = new String[] { "MonthusBlast_pull_0", "MonthusBlast_pull_1", "MonthusBlast_pull_2" }; + public static final String[] bowPullIconNameArray = new String[]{"MonthusBlast_pull_0", "MonthusBlast_pull_1", "MonthusBlast_pull_2"}; Icon[] iconArray; public ItemMonthusBlast(int par1) { @@ -42,50 +40,50 @@ public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, Entit j = (int) ((double) j * 0.667D); ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); MinecraftForge.EVENT_BUS.post(event); - if (!event.isCanceled()) { + if(!event.isCanceled()) { j = event.charge; boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - if (flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) { + if(flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) { float f = (float) j / 20.0F; f = (f * f + f * 2.0F) / 3.0F; - if ((double) f < 0.1D) { + if((double) f < 0.1D) { return; } - if (f > 1.0F) { + if(f > 1.0F) { f = 1.0F; } - EntityArrowExplosive entityarrow = new EntityArrowExplosive(par2World, par3EntityPlayer, f * 1.5F); - entityarrow.setDamage(entityarrow.getDamage() * 1.5D); - if (f == 1.0F) { - entityarrow.setIsCritical(true); - } - - int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - if (k > 0) { - entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); - } - - int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - if (l > 0) { - entityarrow.setKnockbackStrength(l); - } - - if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { - entityarrow.setFire(100); - } +// EntityArrowExplosive entityarrow = new EntityArrowExplosive(par2World, par3EntityPlayer, f * 1.5F); +// entityarrow.setDamage(entityarrow.getDamage() * 1.5D); +// if(f == 1.0F) { +// entityarrow.setIsCritical(true); +// } +// +// int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); +// if(k > 0) { +// entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); +// } +// +// int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); +// if(l > 0) { +// entityarrow.setKnockbackStrength(l); +// } +// +// if(EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { +// entityarrow.setFire(100); +// } par1ItemStack.damageItem(1, par3EntityPlayer); par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - if (flag) { - entityarrow.canBePickedUp = 2; + if(flag) { + // entityarrow.canBePickedUp = 2; } else { par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); } - if (!par2World.isRemote) { - par2World.spawnEntityInWorld(entityarrow); + if(!par2World.isRemote) { + // par2World.spawnEntityInWorld(entityarrow); } } @@ -99,7 +97,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { + if(Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Explosive Shot I: Arrows explode"); par3List.add(EnumChatFormatting.DARK_PURPLE + "on impact"); } else { @@ -112,25 +110,25 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye public void registerIcons(IconRegister par1IconRegister) { super.registerIcons(par1IconRegister); this.iconArray = new Icon[bowPullIconNameArray.length]; - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":MonthusBlast"); - for (int i = 0; i < this.iconArray.length; ++i) { - this.iconArray[i] = par1IconRegister.registerIcon(Atum.modID + ":" + bowPullIconNameArray[i]); + this.itemIcon = par1IconRegister.registerIcon("atum:MonthusBlast"); + for(int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); } } public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { - if (usingItem != null) { + if(usingItem != null) { int j = this.getMaxItemUseDuration(stack) - useRemaining; - if (j >= 27) { + if(j >= 27) { return this.getItemIconForUseDuration(2); } - if (j > 18) { + if(j > 18) { return this.getItemIconForUseDuration(1); } - if (j > 0) { + if(j > 0) { return this.getItemIconForUseDuration(0); } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemMonthusStrike.java b/common/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java similarity index 75% rename from common/rebelkeithy/mods/atum/artifacts/ItemMonthusStrike.java rename to common/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java index be4ed6d..fd4f1b2 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemMonthusStrike.java +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java @@ -1,7 +1,4 @@ -package rebelkeithy.mods.atum.artifacts; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +package com.teammetallurgy.atum.items.artifacts; import java.util.Iterator; import java.util.List; @@ -25,14 +22,14 @@ import org.lwjgl.input.Keyboard; -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.entities.EntityStoneSoldier; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class ItemMonthusStrike extends ItemAxe { public ItemMonthusStrike(int par1, EnumToolMaterial par2EnumToolMaterial) { super(par1, par2EnumToolMaterial); - + } public int getMaxItemUseDuration(ItemStack par1ItemStack) { @@ -48,31 +45,31 @@ public void onUpdate(ItemStack stack, World world, Entity player, int par4, bool public void onPlayerStoppedUsing(ItemStack par1ItemStack, World world, EntityPlayer player, int par4) { int j = this.getMaxItemUseDuration(par1ItemStack) - par4; - if (j > 21) { + if(j > 21) { AxisAlignedBB bb = player.boundingBox.copy(); bb = bb.expand(3.0D, 3.0D, 3.0D); List list = world.getEntitiesWithinAABB(EntityLiving.class, bb); Iterator i = list.iterator(); - while (i.hasNext()) { + while(i.hasNext()) { Entity entity = (Entity) i.next(); - if (entity != player && !(entity instanceof EntityStoneSoldier)) { - double dx = entity.posX - player.posX; - double dz = entity.posZ - player.posZ; - double magnitude = Math.sqrt(dx * dx + dz * dz); - dx /= magnitude; - dz /= magnitude; - entity.isAirBorne = true; - entity.addVelocity(dx * 2.5D, 0.3D, dz * 2.5D); - if (entity.motionY > 0.4000000059604645D) { - entity.motionY = 0.4000000059604645D; - } - - ((EntityLiving) entity).attackEntityFrom(DamageSource.generic, this.getDamageVsEntity(entity, par1ItemStack)); - if (world.isRemote) { - this.spawnParticle(world, entity); - } - } + // if (entity != player && !(entity instanceof EntityStoneSoldier)) { + // double dx = entity.posX - player.posX; + // double dz = entity.posZ - player.posZ; + // double magnitude = Math.sqrt(dx * dx + dz * dz); + // dx /= magnitude; + // dz /= magnitude; + // entity.isAirBorne = true; + // entity.addVelocity(dx * 2.5D, 0.3D, dz * 2.5D); + // if (entity.motionY > 0.4000000059604645D) { + // entity.motionY = 0.4000000059604645D; + // } + // + // ((EntityLiving) entity).attackEntityFrom(DamageSource.generic, this.getDamageVsEntity(entity, par1ItemStack)); + // if (world.isRemote) { + // this.spawnParticle(world, entity); + // } + // } } par1ItemStack.damageItem(4, player); @@ -84,19 +81,22 @@ public void spawnParticle(World world, Entity entity) { Minecraft.getMinecraft().effectRenderer.addEffect(new EntityCrit2FX(world, entity)); } + @Override public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { player.setItemInUse(stack, this.getMaxItemUseDuration(stack)); return stack; } + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; } + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { + if(Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Slam I: Increased damage,"); par3List.add(EnumChatFormatting.DARK_PURPLE + "charge for AOE knockback"); } else { @@ -110,12 +110,13 @@ public float getDamageVsEntity(Entity par1Entity, ItemStack stack) { return 4 + super.toolMaterial.getDamageVsEntity(); } + @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.itemID == Item.diamond.itemID; } @Override public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":MonthusStrike"); + this.itemIcon = par1IconRegister.registerIcon("atum:MonthusStrike"); } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemNeithsAudacity.java b/common/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java similarity index 56% rename from common/rebelkeithy/mods/atum/artifacts/ItemNeithsAudacity.java rename to common/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java index ec42df2..0aae3d2 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemNeithsAudacity.java +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java @@ -1,4 +1,4 @@ -package rebelkeithy.mods.atum.artifacts; +package com.teammetallurgy.atum.items.artifacts; import java.util.List; @@ -21,14 +21,12 @@ import org.lwjgl.input.Keyboard; -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowDoubleShot; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class ItemNeithsAudacity extends ItemBow { - public static final String[] bowPullIconNameArray = new String[] { "neiths_pull_0", "neiths_pull_1", "neiths_pull_2" }; + public static final String[] bowPullIconNameArray = new String[]{"neiths_pull_0", "neiths_pull_1", "neiths_pull_2"}; @SideOnly(Side.CLIENT) private Icon[] iconArray; @@ -46,7 +44,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { + if(Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Double Shot I: Fires "); par3List.add(EnumChatFormatting.DARK_PURPLE + "two arrows"); } else { @@ -59,90 +57,94 @@ public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, Entit int j = this.getMaxItemUseDuration(par1ItemStack) - par4; ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); MinecraftForge.EVENT_BUS.post(event); - if (!event.isCanceled()) { + if(!event.isCanceled()) { j = event.charge; boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - if (flag || par3EntityPlayer.inventory.hasItemStack(new ItemStack(Item.arrow, 2))) { + if(flag || par3EntityPlayer.inventory.hasItemStack(new ItemStack(Item.arrow, 2))) { float f = (float) j / 20.0F; f = (f * f + f * 2.0F) / 3.0F; - if ((double) f < 0.1D) { + if((double) f < 0.1D) { return; } - if (f > 1.0F) { + if(f > 1.0F) { f = 1.0F; } - EntityArrowDoubleShot entityarrow = new EntityArrowDoubleShot(par2World, par3EntityPlayer, f * 2.0F); - EntityArrowDoubleShot entityarrow1 = new EntityArrowDoubleShot(par2World, par3EntityPlayer, f * 2.0F); - entityarrow.motionX += Math.random() * 0.4D - 0.2D; - entityarrow.motionY += Math.random() * 0.4D - 0.2D; - entityarrow.motionZ += Math.random() * 0.4D - 0.2D; - entityarrow1.motionX += Math.random() * 0.4D - 0.2D; - entityarrow1.motionY += Math.random() * 0.4D - 0.2D; - entityarrow1.motionZ += Math.random() * 0.4D - 0.2D; - entityarrow.setDamage(entityarrow.getDamage() + 0.5D); - entityarrow1.setDamage(entityarrow.getDamage() + 0.5D); - if (f == 1.0F) { - entityarrow.setIsCritical(true); - entityarrow1.setIsCritical(true); - } - - int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - if (k > 0) { - entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); - entityarrow1.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); - } - - int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - if (l > 0) { - entityarrow.setKnockbackStrength(l); - entityarrow1.setKnockbackStrength(l); - } - - if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { - entityarrow.setFire(100); - entityarrow1.setFire(100); - } - - par1ItemStack.damageItem(1, par3EntityPlayer); - par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - if (flag) { - entityarrow.canBePickedUp = 2; - entityarrow1.canBePickedUp = 2; - } else { - par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); - par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); - } - - if (!par2World.isRemote) { - par2World.spawnEntityInWorld(entityarrow); - par2World.spawnEntityInWorld(entityarrow1); - } + // EntityArrowDoubleShot entityarrow = new EntityArrowDoubleShot(par2World, par3EntityPlayer, f * 2.0F); + // EntityArrowDoubleShot entityarrow1 = new EntityArrowDoubleShot(par2World, par3EntityPlayer, f * 2.0F); + // entityarrow.motionX += Math.random() * 0.4D - 0.2D; + // entityarrow.motionY += Math.random() * 0.4D - 0.2D; + // entityarrow.motionZ += Math.random() * 0.4D - 0.2D; + // entityarrow1.motionX += Math.random() * 0.4D - 0.2D; + // entityarrow1.motionY += Math.random() * 0.4D - 0.2D; + // entityarrow1.motionZ += Math.random() * 0.4D - 0.2D; + // entityarrow.setDamage(entityarrow.getDamage() + 0.5D); + // entityarrow1.setDamage(entityarrow.getDamage() + 0.5D); + // if(f == 1.0F) { + // entityarrow.setIsCritical(true); + // entityarrow1.setIsCritical(true); + // } + // + // int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); + // if(k > 0) { + // entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + // entityarrow1.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + // } + // + // int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); + // if(l > 0) { + // entityarrow.setKnockbackStrength(l); + // entityarrow1.setKnockbackStrength(l); + // } + // + // if(EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { + // entityarrow.setFire(100); + // entityarrow1.setFire(100); + // } + // + // par1ItemStack.damageItem(1, par3EntityPlayer); + // par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); + // if(flag) { + // entityarrow.canBePickedUp = 2; + // entityarrow1.canBePickedUp = 2; + // } else { + // par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); + // par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); + // } + // + // if(!par2World.isRemote) { + // par2World.spawnEntityInWorld(entityarrow); + // par2World.spawnEntityInWorld(entityarrow1); + // } } } } + @Override public ItemStack onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { return par1ItemStack; } + @Override public int getMaxItemUseDuration(ItemStack par1ItemStack) { return 72000; } + @Override public EnumAction getItemUseAction(ItemStack par1ItemStack) { return EnumAction.bow; } + @Override public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { ArrowNockEvent event = new ArrowNockEvent(par3EntityPlayer, par1ItemStack); MinecraftForge.EVENT_BUS.post(event); - if (event.isCanceled()) { + if(event.isCanceled()) { return event.result; } else { - if (par3EntityPlayer.capabilities.isCreativeMode || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) { + if(par3EntityPlayer.capabilities.isCreativeMode || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) { par3EntityPlayer.setItemInUse(par1ItemStack, this.getMaxItemUseDuration(par1ItemStack)); } @@ -150,18 +152,19 @@ public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, Enti } } + @Override public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { - if (usingItem != null) { + if(usingItem != null) { int j = this.getMaxItemUseDuration(stack) - useRemaining; - if (j >= 18) { + if(j >= 18) { return this.getItemIconForUseDuration(2); } - if (j > 13) { + if(j > 13) { return this.getItemIconForUseDuration(1); } - if (j > 0) { + if(j > 0) { return this.getItemIconForUseDuration(0); } } @@ -169,25 +172,29 @@ public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemSt return this.getIcon(stack, renderPass); } + @Override public int getItemEnchantability() { return 1; } + @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.itemID == Item.diamond.itemID; } + @Override @SideOnly(Side.CLIENT) public void registerIcons(IconRegister par1IconRegister) { this.iconArray = new Icon[bowPullIconNameArray.length]; - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":NeithsAudacity"); + this.itemIcon = par1IconRegister.registerIcon("atum:NeithsAudacity"); - for (int i = 0; i < this.iconArray.length; ++i) { - this.iconArray[i] = par1IconRegister.registerIcon(Atum.modID + ":" + bowPullIconNameArray[i]); + for(int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); } } + @Override @SideOnly(Side.CLIENT) public Icon getItemIconForUseDuration(int par1) { return this.iconArray[par1]; diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemNusFlux.java b/common/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java similarity index 64% rename from common/rebelkeithy/mods/atum/artifacts/ItemNusFlux.java rename to common/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java index cfda8a9..760dee5 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemNusFlux.java +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java @@ -1,7 +1,4 @@ -package rebelkeithy.mods.atum.artifacts; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +package com.teammetallurgy.atum.items.artifacts; import java.util.List; @@ -9,7 +6,7 @@ import net.minecraft.client.particle.EntityCrit2FX; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumToolMaterial; @@ -22,33 +19,34 @@ import org.lwjgl.input.Keyboard; -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.entities.EntityStoneSoldier; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class ItemNusFlux extends ItemSword { public ItemNusFlux(int par1, EnumToolMaterial par2EnumToolMaterial) { super(par1, par2EnumToolMaterial); - + } - public boolean hitEntity(ItemStack par1ItemStack, EntityLiving entity, EntityLiving player) { - if (!player.worldObj.isRemote && Math.random() > 0.75D && !(entity instanceof EntityStoneSoldier)) { - double dx = entity.posX - player.posX; - double dz = entity.posZ - player.posZ; - double magnitude = Math.sqrt(dx * dx + dz * dz); - dx /= magnitude; - dz /= magnitude; - entity.isAirBorne = true; - entity.addVelocity(dx / 2.0D, 1.5D, dz / 2.0D); - if (entity.motionY > 1.0D) { - entity.motionY = 1.0D; - } - - entity.attackEntityFrom(DamageSource.generic, this.getDamageVsEntity(entity, par1ItemStack)); - if (player.worldObj.isRemote) { - this.spawnParticle(player.worldObj, entity); - } + @Override + public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase entity, EntityLivingBase player) { + // if(!player.worldObj.isRemote && Math.random() > 0.75D && !(entity instanceof EntityStoneSoldier)) { + double dx = entity.posX - player.posX; + double dz = entity.posZ - player.posZ; + double magnitude = Math.sqrt(dx * dx + dz * dz); + dx /= magnitude; + dz /= magnitude; + entity.isAirBorne = true; + entity.addVelocity(dx / 2.0D, 1.5D, dz / 2.0D); + if(entity.motionY > 1.0D) { + entity.motionY = 1.0D; + } + + entity.attackEntityFrom(DamageSource.generic, this.getDamageVsEntity(entity, par1ItemStack)); + if(player.worldObj.isRemote) { + this.spawnParticle(player.worldObj, entity); + // } } return super.hitEntity(par1ItemStack, entity, player); @@ -59,14 +57,16 @@ public void spawnParticle(World world, Entity entity) { Minecraft.getMinecraft().effectRenderer.addEffect(new EntityCrit2FX(world, entity)); } + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; } + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { + if(Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Sweep I: Chance to launch"); par3List.add(EnumChatFormatting.DARK_PURPLE + "foes into the air"); } else { @@ -75,12 +75,13 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } + @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.itemID == Item.diamond.itemID; } @Override public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":NusFlux"); + this.itemIcon = par1IconRegister.registerIcon("atum:NusFlux"); } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemNutsAgility.java b/common/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java similarity index 85% rename from common/rebelkeithy/mods/atum/artifacts/ItemNutsAgility.java rename to common/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java index 66ad67b..f28be97 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemNutsAgility.java +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java @@ -1,7 +1,4 @@ -package rebelkeithy.mods.atum.artifacts; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +package com.teammetallurgy.atum.items.artifacts; import java.util.List; @@ -17,7 +14,8 @@ import org.lwjgl.input.Keyboard; -import rebelkeithy.mods.atum.Atum; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class ItemNutsAgility extends ItemArmor { @@ -25,11 +23,11 @@ public class ItemNutsAgility extends ItemArmor { public ItemNutsAgility(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); - + } public void onArmorTickUpdate(World world, EntityPlayer player, ItemStack itemStack) { - if (player.onGround && player.inventory.armorInventory[1] != null && player.inventory.armorInventory[1].itemID == super.itemID) { + if(player.onGround && player.inventory.armorInventory[1] != null && player.inventory.armorInventory[1].itemID == super.itemID) { player.capabilities.setPlayerWalkSpeed((float) ((double) player.capabilities.getWalkSpeed() * 1.4D)); } @@ -42,7 +40,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { + if(Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Agility I: Increased run"); par3List.add(EnumChatFormatting.DARK_PURPLE + "and swinging speed"); } else { @@ -66,6 +64,6 @@ public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) @Override public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":NutsAgility"); + this.itemIcon = par1IconRegister.registerIcon("atum:NutsAgility"); } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemNutsCall.java b/common/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java similarity index 77% rename from common/rebelkeithy/mods/atum/artifacts/ItemNutsCall.java rename to common/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java index 743c802..bf6b7d6 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemNutsCall.java +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java @@ -1,7 +1,4 @@ -package rebelkeithy.mods.atum.artifacts; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +package com.teammetallurgy.atum.items.artifacts; import java.util.List; @@ -16,8 +13,8 @@ import org.lwjgl.input.Keyboard; -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.artifacts.arrow.EntityNutsCall; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class ItemNutsCall extends Item { @@ -25,13 +22,15 @@ public ItemNutsCall(int par1) { super(par1); this.setMaxDamage(650); this.setMaxStackSize(1); - + } + @Override public int getMaxItemUseDuration(ItemStack par1ItemStack) { return 7200; } + @Override public EnumAction getItemUseAction(ItemStack par1ItemStack) { return EnumAction.bow; } @@ -41,40 +40,42 @@ public boolean shouldRotateAroundWhenRendering() { return false; } + @Override public void onPlayerStoppedUsing(ItemStack par1ItemStack, World world, EntityPlayer player, int par4) { int j = this.getMaxItemUseDuration(par1ItemStack) - par4; System.out.println("charge strength: " + j); - if (j > 21) { + if(j > 21) { j = 21; } - EntityNutsCall spear = new EntityNutsCall(world, player, (float) j / 37.0F + 0.25F); - spear.setDamage(spear.getDamage() * 2.0D); - spear.setStack(par1ItemStack); - if (!world.isRemote) { - System.out.println("firing2"); - world.spawnEntityInWorld(spear); - world.updateEntity(spear); + // EntityNutsCall spear = new EntityNutsCall(world, player, (float) j / 37.0F + 0.25F); + // spear.setDamage(spear.getDamage() * 2.0D); + // spear.setStack(par1ItemStack); + if(!world.isRemote) { + // world.spawnEntityInWorld(spear); + // world.updateEntity(spear); } par1ItemStack.damageItem(4, player); player.inventory.setInventorySlotContents(player.inventory.currentItem, (ItemStack) null); } + @Override public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - System.out.println("check"); player.setItemInUse(stack, this.getMaxItemUseDuration(stack)); return stack; } + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; } + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { + if(Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Wrath I: Chance to strike"); par3List.add(EnumChatFormatting.DARK_PURPLE + "foe with lightning"); } else { @@ -82,9 +83,9 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } } - + @Override public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":NutsCall"); + this.itemIcon = par1IconRegister.registerIcon("atum:NutsCall"); } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemOsirisWill.java b/common/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java similarity index 75% rename from common/rebelkeithy/mods/atum/artifacts/ItemOsirisWill.java rename to common/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java index 5b706e3..80a22a1 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemOsirisWill.java +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java @@ -1,13 +1,10 @@ -package rebelkeithy.mods.atum.artifacts; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +package com.teammetallurgy.atum.items.artifacts; import java.util.List; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; @@ -19,43 +16,46 @@ import org.lwjgl.input.Keyboard; -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.AtumItems; +import com.teammetallurgy.atum.items.Items; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class ItemOsirisWill extends ItemSword { public ItemOsirisWill(int par1, EnumToolMaterial par2EnumToolMaterial) { super(par1, par2EnumToolMaterial); - } @Override public float getDamageVsEntity(Entity par1Entity, ItemStack stack) { int damage = 0; - for (int i = 0; i < 4; ++i) { + for(int i = 0; i < 4; ++i) { damage = (int) ((double) damage + Math.random() * 4.0D + 1.0D); } - return super.getDamageVsEntity(par1Entity, stack) + damage; } - public boolean hitEntity(ItemStack par1ItemStack, EntityLiving mob, EntityLiving player) { - if (!mob.isEntityAlive() && Math.random() < 0.5D && mob.getCreatureAttribute() == EnumCreatureAttribute.UNDEAD) { - mob.dropItem(AtumItems.ectoplasm.itemID, 1); + @Override + public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase mob, EntityLivingBase player) { + if(!mob.isEntityAlive() && Math.random() < 0.5D && mob.getCreatureAttribute() == EnumCreatureAttribute.UNDEAD) { + mob.dropItem(Items.ectoplasm.itemID, 1); } return super.hitEntity(par1ItemStack, mob, player); } + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; } + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { + if(Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Banish I: Bonus damage to undead,"); par3List.add(EnumChatFormatting.DARK_PURPLE + "chance to drop ectoplasm"); } else { @@ -64,12 +64,13 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } + @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.itemID == Item.diamond.itemID; } @Override public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":OsirisWill"); + this.itemIcon = par1IconRegister.registerIcon("atum:OsirisWill"); } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemPtahsDecadence.java b/common/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java similarity index 89% rename from common/rebelkeithy/mods/atum/artifacts/ItemPtahsDecadence.java rename to common/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java index 18f5a1f..e42ce3f 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemPtahsDecadence.java +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java @@ -1,7 +1,4 @@ -package rebelkeithy.mods.atum.artifacts; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +package com.teammetallurgy.atum.items.artifacts; import java.util.List; import java.util.Random; @@ -20,7 +17,8 @@ import org.lwjgl.input.Keyboard; -import rebelkeithy.mods.atum.Atum; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class ItemPtahsDecadence extends ItemPickaxe { @@ -30,7 +28,7 @@ public ItemPtahsDecadence(int par1, EnumToolMaterial par2EnumToolMaterial) { public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, int blockID, int x, int y, int z, EntityLiving par7EntityLiving) { int dropID = Block.blocksList[blockID].idDropped(par2World.getBlockMetadata(x, y, z), new Random(), 0); - if (dropID == Item.diamond.itemID) { + if(dropID == Item.diamond.itemID) { Block.oreDiamond.dropBlockAsItem(par2World, x, y, z, 0, 0); } @@ -39,7 +37,7 @@ public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, int bl @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { + if(Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Wealth I: Gain an extra"); par3List.add(EnumChatFormatting.DARK_PURPLE + "diamond from each ore"); } else { @@ -59,6 +57,6 @@ public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) @Override public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":PtahsDecadence"); + this.itemIcon = par1IconRegister.registerIcon("atum:PtahsDecadence"); } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemPtahsDestruction.java b/common/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java similarity index 81% rename from common/rebelkeithy/mods/atum/artifacts/ItemPtahsDestruction.java rename to common/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java index 6402fd5..c33aa75 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemPtahsDestruction.java +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java @@ -1,7 +1,4 @@ -package rebelkeithy.mods.atum.artifacts; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +package com.teammetallurgy.atum.items.artifacts; import java.util.List; @@ -17,31 +14,34 @@ import org.lwjgl.input.Keyboard; -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.entities.EntityStoneSoldier; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class ItemPtahsDestruction extends ItemPickaxe { public ItemPtahsDestruction(int par1, EnumToolMaterial par2EnumToolMaterial) { super(par1, par2EnumToolMaterial); super.efficiencyOnProperMaterial = 11.0F; - + } @Override public float getDamageVsEntity(Entity entity, ItemStack stack) { float damage = 4 + super.toolMaterial.getDamageVsEntity(); - return entity instanceof EntityStoneSoldier ? (int) ((double) damage * (2.0D + Math.random())) : damage; + // return entity instanceof EntityStoneSoldier ? (int) ((double) damage * (2.0D + Math.random())) : damage; + return 0; } + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; } + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { + if(Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Stonecutter I: Incresed damage"); par3List.add(EnumChatFormatting.DARK_PURPLE + "to stone enemies"); } else { @@ -50,12 +50,13 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } + @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.itemID == Item.diamond.itemID; } @Override public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":PtahsDestruction"); + this.itemIcon = par1IconRegister.registerIcon("atum:PtahsDestruction"); } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemRasGlory.java b/common/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java similarity index 89% rename from common/rebelkeithy/mods/atum/artifacts/ItemRasGlory.java rename to common/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java index 04240ec..364d130 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemRasGlory.java +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java @@ -1,4 +1,4 @@ -package rebelkeithy.mods.atum.artifacts; +package com.teammetallurgy.atum.items.artifacts; import java.util.List; @@ -13,7 +13,6 @@ import org.lwjgl.input.Keyboard; -import rebelkeithy.mods.atum.Atum; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -23,17 +22,19 @@ public class ItemRasGlory extends ItemArmor { public ItemRasGlory(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); - + } + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; } + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { + if(Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Divine Vision I: Night vision, increased"); par3List.add(EnumChatFormatting.DARK_PURPLE + "range of vision in Atum"); } else { @@ -51,12 +52,13 @@ public String getArmorTextureFile(ItemStack itemstack) { return "/armor/" + this.texture + ".png"; } + @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.itemID == Item.diamond.itemID; } @Override public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":RasGlory"); + this.itemIcon = par1IconRegister.registerIcon("atum:RasGlory"); } } diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemSekhmetsWrath.java b/common/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java similarity index 77% rename from common/rebelkeithy/mods/atum/artifacts/ItemSekhmetsWrath.java rename to common/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java index 5b99159..33dddb2 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemSekhmetsWrath.java +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java @@ -1,7 +1,4 @@ -package rebelkeithy.mods.atum.artifacts; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +package com.teammetallurgy.atum.items.artifacts; import java.util.List; @@ -21,7 +18,8 @@ import org.lwjgl.input.Keyboard; -import rebelkeithy.mods.atum.Atum; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class ItemSekhmetsWrath extends ItemArmor { @@ -30,14 +28,14 @@ public class ItemSekhmetsWrath extends ItemArmor { public ItemSekhmetsWrath(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); MinecraftForge.EVENT_BUS.register(this); - + } @ForgeSubscribe public void onLivingAttack(LivingAttackEvent event) { - if (event.entityLiving.getCurrentItemOrArmor(2) != null && event.entityLiving.getCurrentItemOrArmor(2).itemID == super.itemID && event.source instanceof EntityDamageSource) { + if(event.entityLiving.getCurrentItemOrArmor(2) != null && event.entityLiving.getCurrentItemOrArmor(2).itemID == super.itemID && event.source instanceof EntityDamageSource) { EntityDamageSource source = (EntityDamageSource) event.source; - if (source.getEntity() != null && Math.random() > 0.5D) { + if(source.getEntity() != null && Math.random() > 0.5D) { source.getEntity().setFire(10); } } @@ -46,23 +44,25 @@ public void onLivingAttack(LivingAttackEvent event) { @ForgeSubscribe public void onLivingAttack(LivingHurtEvent event) { - if (event.entityLiving.getCurrentItemOrArmor(2) != null && event.entityLiving.getCurrentItemOrArmor(2).itemID == super.itemID && event.source.isFireDamage()) { + if(event.entityLiving.getCurrentItemOrArmor(2) != null && event.entityLiving.getCurrentItemOrArmor(2).itemID == super.itemID && event.source.isFireDamage()) { event.ammount /= 2; - if (event.ammount == 0 && Math.random() > 0.5D) { + if(event.ammount == 0 && Math.random() > 0.5D) { event.ammount = 1; } } } + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; } + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { + if(Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Immolation I: Protection from fire,"); par3List.add(EnumChatFormatting.DARK_PURPLE + "chance to ignite attackers"); } else { @@ -80,12 +80,13 @@ public String getArmorTextureFile(ItemStack itemstack) { return "/armor/" + this.texture + ".png"; } + @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.itemID == Item.diamond.itemID; } @Override public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":SekhmetsWrath"); + this.itemIcon = par1IconRegister.registerIcon("atum:SekhmetsWrath"); } } diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java b/common/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java new file mode 100644 index 0000000..39c3fed --- /dev/null +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java @@ -0,0 +1,152 @@ +package com.teammetallurgy.atum.items.artifacts; + +import java.util.List; + +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemBow; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.Icon; +import net.minecraft.world.World; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.entity.player.ArrowLooseEvent; + +import org.lwjgl.input.Keyboard; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class ItemShusBreath extends ItemBow { + + public static final String[] bowPullIconNameArray = new String[]{"ShusBreath_pull_0", "ShusBreath_pull_1", "ShusBreath_pull_2"}; + Icon[] iconArray; + + public ItemShusBreath(int par1) { + super(par1); + this.setMaxDamage(650); + + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.itemID == Item.diamond.itemID; + } + + @Override + public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { + int j = this.getMaxItemUseDuration(par1ItemStack) - par4; + j *= 2; + ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); + MinecraftForge.EVENT_BUS.post(event); + if(!event.isCanceled()) { + j = event.charge; + boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; + if(flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) { + float f = (float) j / 20.0F; + f = (f * f + f * 2.0F) / 3.0F; + if((double) f < 0.1D) { + return; + } + + if(f > 1.0F) { + f = 1.0F; + } + + // EntityArrowQuickdraw entityarrow = new EntityArrowQuickdraw(par2World, par3EntityPlayer, f * 2.0F); + // entityarrow.setDamage(entityarrow.getDamage() * 1.5D); + // if(f == 1.0F) { + // entityarrow.setIsCritical(true); + // } + // + // int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); + // if(k > 0) { + // entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + // } + // + // int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); + // if(l > 0) { + // entityarrow.setKnockbackStrength(l); + // } + // + // if(EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { + // entityarrow.setFire(100); + // } + + par1ItemStack.damageItem(1, par3EntityPlayer); + par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); + if(flag) { + // entityarrow.canBePickedUp = 2; + } else { + par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); + } + + if(!par2World.isRemote) { + // par2World.spawnEntityInWorld(entityarrow); + } + } + + } + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if(Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Quickdraw I: Reduced"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "drawback speed"); + } else { + par3List.add("Quickdraw I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + super.registerIcons(par1IconRegister); + this.iconArray = new Icon[bowPullIconNameArray.length]; + this.itemIcon = par1IconRegister.registerIcon("atum:ShusBreath"); + for(int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); + } + + } + + @Override + public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + if(usingItem != null) { + int j = this.getMaxItemUseDuration(stack) - useRemaining; + if(j >= 9) { + return this.getItemIconForUseDuration(2); + } + + if(j > 5) { + return this.getItemIconForUseDuration(1); + } + + if(j > 0) { + return this.getItemIconForUseDuration(0); + } + } + + return this.getIcon(stack, renderPass); + } + + @Override + @SideOnly(Side.CLIENT) + public Icon getItemIconForUseDuration(int par1) { + return this.iconArray[par1]; + } + +} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemSobeksRage.java b/common/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java similarity index 69% rename from common/rebelkeithy/mods/atum/artifacts/ItemSobeksRage.java rename to common/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java index ebdd83a..4d0ac90 100644 --- a/common/rebelkeithy/mods/atum/artifacts/ItemSobeksRage.java +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java @@ -1,13 +1,10 @@ -package rebelkeithy.mods.atum.artifacts; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +package com.teammetallurgy.atum.items.artifacts; import java.util.List; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumToolMaterial; @@ -19,15 +16,14 @@ import org.lwjgl.input.Keyboard; -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.entities.EntityPharaoh; -import rebelkeithy.mods.atum.entities.EntityStoneSoldier; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class ItemSobeksRage extends ItemAxe { public ItemSobeksRage(int par1, EnumToolMaterial par2EnumToolMaterial) { super(par1, par2EnumToolMaterial); - + } @Override @@ -35,23 +31,26 @@ public float getDamageVsEntity(Entity entity, ItemStack stack) { return 4 + super.toolMaterial.getDamageVsEntity(); } - public boolean hitEntity(ItemStack par1ItemStack, EntityLiving mob, EntityLiving player) { - if (!(mob instanceof EntityStoneSoldier) && !(mob instanceof EntityPharaoh)) { - float j = 4.0F; - mob.addVelocity((double) (-MathHelper.sin(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F), 0.1D, (double) (MathHelper.cos(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F)); - } + @Override + public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase mob, EntityLivingBase player) { + // if(!(mob instanceof EntityStoneSoldier) && !(mob instanceof EntityPharaoh)) { + float j = 4.0F; + mob.addVelocity((double) (-MathHelper.sin(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F), 0.1D, (double) (MathHelper.cos(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F)); + // } return super.hitEntity(par1ItemStack, mob, player); } + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; } + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { + if(Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Exile I: Knocks foes "); par3List.add(EnumChatFormatting.DARK_PURPLE + "back a large amount"); } else { @@ -60,12 +59,13 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } + @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.itemID == Item.diamond.itemID; } @Override public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":SobeksRage"); + this.itemIcon = par1IconRegister.registerIcon("atum:SobeksRage"); } } diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemSpear.java b/common/com/teammetallurgy/atum/items/artifacts/ItemSpear.java new file mode 100644 index 0000000..e8d0ec8 --- /dev/null +++ b/common/com/teammetallurgy/atum/items/artifacts/ItemSpear.java @@ -0,0 +1,33 @@ +package com.teammetallurgy.atum.items.artifacts; + +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class ItemSpear extends Item { + + public ItemSpear(int par1) { + super(par1); + } + + @Override + public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { + // EntityFireSpearCombined entityarrow = new EntityFireSpearCombined(par2World, par3EntityPlayer, 0.75F); + // entityarrow.setDamage(entityarrow.getDamage() * 1.5D); + if(!par2World.isRemote) { + // par2World.spawnEntityInWorld(entityarrow); + // par2World.updateEntity(entityarrow); + } + + return par1ItemStack; + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IconRegister par1IconRegister) { + this.itemIcon = par1IconRegister.registerIcon("atum:Arrow"); + } +} diff --git a/common/com/teammetallurgy/atum/proxy/ClientProxy.java b/common/com/teammetallurgy/atum/proxy/ClientProxy.java new file mode 100644 index 0000000..0839149 --- /dev/null +++ b/common/com/teammetallurgy/atum/proxy/ClientProxy.java @@ -0,0 +1,28 @@ +package com.teammetallurgy.atum.proxy; + +import net.minecraftforge.client.MinecraftForgeClient; + +import com.teammetallurgy.atum.blocks.BlockDate; +import com.teammetallurgy.atum.blocks.BlockPapyrus; +import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.client.render.item.RendererItemBow; +import com.teammetallurgy.atum.client.render.tileentity.RenderDate; +import com.teammetallurgy.atum.client.render.tileentity.RenderPapyrus; +import com.teammetallurgy.atum.items.Items; + +import cpw.mods.fml.client.registry.RenderingRegistry; + +public class ClientProxy extends CommonProxy { + @Override + public void initRenders() { + MinecraftForgeClient.registerItemRenderer(Items.bow.itemID, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(Items.atensFury.itemID, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(Items.horusSoaring.itemID, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(Items.neithsAudacity.itemID, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(Items.shusBreath.itemID, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(Items.hedetetsVenom.itemID, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(Items.monthusBlast.itemID, new RendererItemBow()); + RenderingRegistry.registerBlockHandler(((BlockPapyrus) Blocks.BLOCK_PAPYRUS).renderID, new RenderPapyrus()); + RenderingRegistry.registerBlockHandler(((BlockDate) Blocks.BLOCK_DATEBLOCK).renderID, new RenderDate()); + } +} diff --git a/common/com/teammetallurgy/atum/proxy/CommonProxy.java b/common/com/teammetallurgy/atum/proxy/CommonProxy.java new file mode 100644 index 0000000..34072d8 --- /dev/null +++ b/common/com/teammetallurgy/atum/proxy/CommonProxy.java @@ -0,0 +1,14 @@ +package com.teammetallurgy.atum.proxy; + +public class CommonProxy { + + public void init() { + } + + public void initRenders() { + } + + public void initTiles() { + } + +} diff --git a/common/com/teammetallurgy/atum/worldgen/World.java b/common/com/teammetallurgy/atum/worldgen/World.java new file mode 100644 index 0000000..9241829 --- /dev/null +++ b/common/com/teammetallurgy/atum/worldgen/World.java @@ -0,0 +1,8 @@ +package com.teammetallurgy.atum.worldgen; + +public class World { + + public static void load() { + } + +} diff --git a/common/rebelkeithy/mods/atum/Atum.java b/common/rebelkeithy/mods/atum/Atum.java deleted file mode 100644 index bda8bdc..0000000 --- a/common/rebelkeithy/mods/atum/Atum.java +++ /dev/null @@ -1,163 +0,0 @@ -package rebelkeithy.mods.atum; - -import java.util.ArrayList; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.EntityList; -import net.minecraft.potion.Potion; -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraftforge.common.DimensionManager; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.oredict.OreDictionary; -import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowDoubleShot; -import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowExplosive; -import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowFire; -import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowPoison; -import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowQuickdraw; -import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowVelocity; -import rebelkeithy.mods.atum.artifacts.arrow.EntityAtumFishHook; -import rebelkeithy.mods.atum.artifacts.arrow.EntityNutsCall; -import rebelkeithy.mods.atum.entities.EntityBanditArcher; -import rebelkeithy.mods.atum.entities.EntityBanditWarlord; -import rebelkeithy.mods.atum.entities.EntityBanditWarrior; -import rebelkeithy.mods.atum.entities.EntityBarbarian; -import rebelkeithy.mods.atum.entities.EntityDesertWolf; -import rebelkeithy.mods.atum.entities.EntityDustySkeleton; -import rebelkeithy.mods.atum.entities.EntityGhost; -import rebelkeithy.mods.atum.entities.EntityMummy; -import rebelkeithy.mods.atum.entities.EntityPharaoh; -import rebelkeithy.mods.atum.entities.EntityStoneSoldier; -import rebelkeithy.mods.atum.entities.projectiles.EntityFireSpearCombined; -import rebelkeithy.mods.atum.entities.projectiles.EntityFireSpearSeperated; -import rebelkeithy.mods.atum.world.AtumWorldProvider; -import rebelkeithy.mods.atum.world.biome.BiomeGenAtumDesert; -import cpw.mods.fml.common.Mod; -import cpw.mods.fml.common.Mod.EventHandler; -import cpw.mods.fml.common.Mod.Init; -import cpw.mods.fml.common.Mod.Instance; -import cpw.mods.fml.common.Mod.PostInit; -import cpw.mods.fml.common.SidedProxy; -import cpw.mods.fml.common.event.FMLInitializationEvent; -import cpw.mods.fml.common.event.FMLPostInitializationEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.network.NetworkMod; -import cpw.mods.fml.common.network.NetworkRegistry; -import cpw.mods.fml.common.registry.EntityRegistry; -import cpw.mods.fml.common.registry.LanguageRegistry; - -@Mod(modid = Atum.modID, name = "Atum", version = "0.4.4B") -@NetworkMod(channels = { "Atum" }, clientSideRequired = true, serverSideRequired = false) -public class Atum { - - public static final String modID = "Atum"; - @Instance("Atum") - public static Atum instance; - @SidedProxy(clientSide = "rebelkeithy.mods.atum.ClientProxy", serverSide = "rebelkeithy.mods.atum.CommonProxy") - public static CommonProxy proxy; - public static AtumTab tabs = new AtumTab("Atum"); - public static BiomeGenBase atumDesert; - public static Potion stun; - - @EventHandler - public void preInit(FMLPreInitializationEvent event) { - AtumConfig.initConfig(); - AtumBlocks.init(); - AtumBlocks.registerBlocks(); - AtumItems.init(); - - } - - @EventHandler - public void init(FMLInitializationEvent event) { - ArrayList biomeList = new ArrayList(); - int entityID; - for (entityID = 0; entityID < BiomeGenBase.biomeList.length; ++entityID) { - if (BiomeGenBase.biomeList[entityID] != null && BiomeGenBase.biomeList[entityID].biomeID != AtumConfig.biomeAtumDesertID) { - biomeList.add(BiomeGenBase.biomeList[entityID]); - } - } - - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityMummy.class, "AtumMummy", 20, this, 64, 1, true); - EntityList.addMapping(EntityMummy.class, "AtumMummy", 20, 5331000, 8818539); - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityBanditWarrior.class, "AtumBanditWarrior", 21, this, 64, 1, true); - EntityList.addMapping(EntityBanditWarrior.class, "AtumBanditWarrior", 21, 12763842, 266117); - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityBanditArcher.class, "AtumBanditArcher", 22, this, 64, 1, true); - EntityList.addMapping(EntityBanditArcher.class, "AtumBanditArcher", 22, 12763842, 8260620); - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityPharaoh.class, "AtumPharaoh", 23, this, 64, 1, true); - EntityList.addMapping(EntityPharaoh.class, "AtumPharaoh", 23, 13941815, 3820512); - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityDustySkeleton.class, "AtumDustySkeleton", 24, this, 64, 1, true); - EntityList.addMapping(EntityDustySkeleton.class, "AtumDustySkeleton", 24, 11902077, 7298115); - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityGhost.class, "AtumDesertGhost", 25, this, 64, 1, true); - EntityList.addMapping(EntityGhost.class, "AtumDesertGhost", 25, 15195080, 11375719); - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityStoneSoldier.class, "AtumStoneSoldier", 26, this, 64, 1, true); - EntityList.addMapping(EntityStoneSoldier.class, "AtumStoneSoldier", 26, 9536340, 6905143); - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityDesertWolf.class, "AtumDesertWolf", 27, this, 64, 1, true); - EntityList.addMapping(EntityDesertWolf.class, "AtumDesertWolf", 27, 9536340, 6905143); - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityBanditWarlord.class, "AtumBanditWarlord", 28, this, 64, 1, true); - EntityList.addMapping(EntityBanditWarlord.class, "AtumBanditWarlord", 28, 9536340, 6905143); - EntityRegistry.registerModEntity(EntityBarbarian.class, "AtumBarbarian", 29, this, 64, 1, true); - EntityList.addMapping(EntityBarbarian.class, "AtumBarbarian", 29, 9536340, 6905143); - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityFireSpearCombined.class, "FireSpearCombined", entityID, this, 64, 1, true); - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityFireSpearSeperated.class, "FireSpearSeperated", entityID, this, 64, 1, true); - EntityRegistry.registerModEntity(EntityArrowVelocity.class, "ArrowVeloctiy", 0, this, 64, 1, true); - EntityRegistry.registerModEntity(EntityArrowExplosive.class, "ArrowExplosive", 1, this, 64, 1, true); - EntityRegistry.registerModEntity(EntityArrowPoison.class, "ArrowPoison", 2, this, 64, 1, true); - EntityRegistry.registerModEntity(EntityArrowFire.class, "ArrowFire", 3, this, 64, 1, true); - EntityRegistry.registerModEntity(EntityArrowDoubleShot.class, "ArrowFire", 4, this, 64, 1, true); - EntityRegistry.registerModEntity(EntityArrowQuickdraw.class, "ArrowFire", 5, this, 64, 1, true); - EntityRegistry.registerModEntity(EntityNutsCall.class, "EntityNutsCall", 6, this, 64, 1, true); - EntityRegistry.registerModEntity(EntityAtumFishHook.class, "EntityAtumFishHook", 7, this, 64, 1, false); - atumDesert = (new BiomeGenAtumDesert(AtumConfig.biomeAtumDesertID)).setColor(16421912).setBiomeName("AtumDesert").setDisableRain().setTemperatureRainfall(2.0F, 0.0F).setMinMaxHeight(0.1F, 0.2F); - proxy.registerModelRenderers(); - proxy.registerTickHandlers(); - proxy.preloadImages(); - proxy.registerParticles(); - proxy.registerMusic(); - MinecraftForge.EVENT_BUS.register(new AtumEventListener()); - NetworkRegistry.instance().registerGuiHandler(this, new AtumGuiHandler()); - } - - @EventHandler - public void postInit(FMLPostInitializationEvent event) { - DimensionManager.registerProviderType(AtumConfig.dimensionID, AtumWorldProvider.class, true); - DimensionManager.registerDimension(AtumConfig.dimensionID, AtumConfig.dimensionID); - stun = (new PotionStun(21, true, 8171462)).setPotionName("potion.stun").setIconIndex(0, 0); - this.addNames(); - addOreDictionaryEntries(); - AtumRecipes.addRecipes(); - AtumRecipes.addShapelessRecipes(); - AtumRecipes.addSmeltingRecipes(); - } - - public static void addOreDictionaryEntries() { - OreDictionary.registerOre("logWood", AtumBlocks.log); - OreDictionary.registerOre("plankWood", AtumBlocks.planks); - } - - public void addNames() { - AtumBlocks.addNames(); - AtumItems.addNames(); - LanguageRegistry.instance().addStringLocalization("itemGroup.Atum", "Atum"); - LanguageRegistry.instance().addStringLocalization("entity.AtumMummy.name", "Mummy"); - LanguageRegistry.instance().addStringLocalization("entity.AtumBanditWarrior.name", "Brigand"); - LanguageRegistry.instance().addStringLocalization("entity.AtumBanditArcher.name", "Nomad"); - LanguageRegistry.instance().addStringLocalization("entity.AtumPharaoh.name", "Pharaoh"); - LanguageRegistry.instance().addStringLocalization("entity.AtumDustySkeleton.name", "Forsaken"); - LanguageRegistry.instance().addStringLocalization("entity.AtumDesertGhost.name", "Wraith"); - LanguageRegistry.instance().addStringLocalization("entity.AtumStoneSoldier.name", "Tombguard"); - LanguageRegistry.instance().addStringLocalization("entity.AtumDesertWolf.name", "Desert Wolf"); - LanguageRegistry.instance().addStringLocalization("entity.AtumBanditWarlord.name", "Warlord"); - } - -} diff --git a/common/rebelkeithy/mods/atum/AtumBlocks.java b/common/rebelkeithy/mods/atum/AtumBlocks.java deleted file mode 100644 index 0db015b..0000000 --- a/common/rebelkeithy/mods/atum/AtumBlocks.java +++ /dev/null @@ -1,241 +0,0 @@ -package rebelkeithy.mods.atum; - -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.common.registry.LanguageRegistry; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.ForgeHooks; -import net.minecraftforge.common.MinecraftForge; -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.AtumConfig; -import rebelkeithy.mods.atum.blocks.AtumStone; -import rebelkeithy.mods.atum.blocks.BlockArrowTrap; -import rebelkeithy.mods.atum.blocks.BlockAtumBrick; -import rebelkeithy.mods.atum.blocks.BlockAtumGlass; -import rebelkeithy.mods.atum.blocks.BlockAtumLeaves; -import rebelkeithy.mods.atum.blocks.BlockAtumPane; -import rebelkeithy.mods.atum.blocks.BlockAtumPortal; -import rebelkeithy.mods.atum.blocks.BlockAtumSand; -import rebelkeithy.mods.atum.blocks.BlockAtumSlab; -import rebelkeithy.mods.atum.blocks.BlockAtumStairs; -import rebelkeithy.mods.atum.blocks.BlockAtumWall; -import rebelkeithy.mods.atum.blocks.BlockDate; -import rebelkeithy.mods.atum.blocks.BlockFertileSoil; -import rebelkeithy.mods.atum.blocks.BlockFertileSoilTilled; -import rebelkeithy.mods.atum.blocks.BlockFlax; -import rebelkeithy.mods.atum.blocks.BlockPalmLog; -import rebelkeithy.mods.atum.blocks.BlockPalmSapling; -import rebelkeithy.mods.atum.blocks.BlockPapyrus; -import rebelkeithy.mods.atum.blocks.BlockSandLayered; -import rebelkeithy.mods.atum.blocks.BlockShrub; -import rebelkeithy.mods.atum.blocks.ItemBlockAtumWall; -import rebelkeithy.mods.atum.blocks.ItemSandLayered; -import rebelkeithy.mods.atum.blocks.TileEntityArrowTrap; -import rebelkeithy.mods.atum.blocks.ores.BlockAtumOre; -import rebelkeithy.mods.atum.blocks.ores.BlockAtumRedstone; -import rebelkeithy.mods.atum.cursedchest.BlockChestSpawner; -import rebelkeithy.mods.atum.cursedchest.PharaohChest; -import rebelkeithy.mods.atum.cursedchest.TileEntityChestSpawner; -import rebelkeithy.mods.atum.cursedchest.TileEntityPharaohChest; -import rebelkeithy.mods.atum.furnace.BlockLimeStoneFurnace; -import rebelkeithy.mods.atum.furnace.TileEntityLimestoneFurnace; - -public class AtumBlocks { - - public static BlockAtumPortal portal; - public static Block cursedChest; - public static Block sand; - public static Block stone; - public static Block cobble; - public static Block largeBrick; - public static Block smallBrick; - public static Block carvedBrick; - public static BlockAtumSlab slabs; - public static BlockAtumSlab doubleSlab; - public static Block smoothStairs; - public static Block cobbleStairs; - public static Block largeStoneStairs; - public static Block smallStoneStairs; - public static Block sandLayered; - public static Block crackedLargeBrick; - public static Block wall; - public static Block crystalGlass; - public static Block framedGlass; - public static Block palmSapling; - public static Block dateBlock; - public static Block shrub; - public static Block weed; - public static Block papyrus; - public static Block flax; - public static BlockFertileSoil fertileSoil; - public static Block fertileSoilTilled; - public static Block log; - public static Block leaves; - public static Block planks; - public static Block thinCrystalGlass; - public static Block thinFramedGlass; - public static Block trapArrow; - public static Block pharaohChest; - public static Block redstoneOre; - public static Block coalOre; - public static Block ironOre; - public static Block goldOre; - public static Block lapisOre; - public static Block diamondOre; - public static Block furnaceIdle; - public static Block furnaceBurning; - - public static void init() { - portal = new BlockAtumPortal(AtumConfig.portalBlockID); - cursedChest = (new BlockChestSpawner(AtumConfig.cursedChestID)).setUnlocalizedName("AtumCursedChest").setHardness(4.0F).setCreativeTab(Atum.tabs); - pharaohChest = (new PharaohChest(AtumConfig.pharaohChestID)).setUnlocalizedName("AtumPharaohChest").setHardness(4.0F).setCreativeTab(Atum.tabs); - sand = (new BlockAtumSand(AtumConfig.sandID)).setUnlocalizedName("atum:AtumSand").setStepSound(Block.soundSandFootstep).setHardness(0.5F).setCreativeTab(Atum.tabs); - stone = (new AtumStone(AtumConfig.stoneID)).setUnlocalizedName("atum:AtumStone").setHardness(1.5F).setCreativeTab(Atum.tabs); - cobble = (new Block(AtumConfig.cobbleID, Material.rock)).setUnlocalizedName("atum:AtumCobble").setHardness(2.0F).setCreativeTab(Atum.tabs).setTextureName(Atum.modID + ":AtumCobble"); - crackedLargeBrick = (new Block(AtumConfig.crackedLargeBrickID, Material.rock)).setUnlocalizedName("atum:AtumCrackedLargeBrick").setHardness(2.0F).setCreativeTab(Atum.tabs).setTextureName(Atum.modID + ":AtumCrackedLargeBrick"); - largeBrick = new BlockAtumBrick(AtumConfig.largeBrickID, Material.rock).setUnlocalizedName("atum:AtumBrickLarge").setHardness(2.0F).setCreativeTab(Atum.tabs); - smallBrick = new BlockAtumBrick(AtumConfig.smallBrickID, Material.rock).setUnlocalizedName("atum:AtumBrickSmall").setHardness(2.0F).setCreativeTab(Atum.tabs); - carvedBrick = (new BlockAtumBrick(AtumConfig.carvedBrickID, Material.rock)).setUnlocalizedName("atum:AtumBrickCarved").setHardness(2.0F).setCreativeTab(Atum.tabs); - slabs = (BlockAtumSlab) (new BlockAtumSlab(AtumConfig.slabID, false, Material.rock)).setUnlocalizedName("atum:AtumSlab").setHardness(2.0F).setCreativeTab(Atum.tabs); - doubleSlab = (BlockAtumSlab) (new BlockAtumSlab(AtumConfig.doubleSlabID, true, Material.rock)).setUnlocalizedName("atum:AtumDoubleSlab").setHardness(2.0F); - smoothStairs = (new BlockAtumStairs(AtumConfig.smoothStairsID, stone, 0)).setUnlocalizedName("atum:SmoothStair").setCreativeTab(Atum.tabs); - cobbleStairs = (new BlockAtumStairs(AtumConfig.cobbleStairsID, cobble, 0)).setUnlocalizedName("atum:CobbleStair").setCreativeTab(Atum.tabs); - largeStoneStairs = (new BlockAtumStairs(AtumConfig.largeStoneStairsID, largeBrick, 0)).setUnlocalizedName("atum:LargeStoneStair").setCreativeTab(Atum.tabs); - smallStoneStairs = (new BlockAtumStairs(AtumConfig.smallStoneStairsID, smallBrick, 0)).setUnlocalizedName("atum:SmallStoneStair").setCreativeTab(Atum.tabs); - shrub = (new BlockShrub(AtumConfig.shrubID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("atum:Shrub").setCreativeTab(Atum.tabs); - weed = (new BlockShrub(AtumConfig.weedID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("atum:Weed").setCreativeTab(Atum.tabs); - papyrus = (new BlockPapyrus(AtumConfig.papyrusBlockID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("atum:AtumPapyrus"); - wall = (new BlockAtumWall(AtumConfig.wallID, stone)).setUnlocalizedName("atum:AtumStoneWall").setHardness(0.3F).setCreativeTab(Atum.tabs); - crystalGlass = (new BlockAtumGlass(AtumConfig.crystalGlassID, "atum:AtumCrystalGlass", Material.glass, false)).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("atum:AtumCrystalGlass").setHardness(0.3F).setCreativeTab(Atum.tabs); - framedGlass = (new BlockAtumGlass(AtumConfig.framedGlassID, "atum:AtumFramedGlass", Material.glass, false)).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("atum:AtumFramedGlass").setCreativeTab(Atum.tabs); - palmSapling = (new BlockPalmSapling(AtumConfig.palmSaplingID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("atum:AtumPalmSapling").setCreativeTab(Atum.tabs); - dateBlock = (new BlockDate(AtumConfig.blockDateID, Material.plants)).setHardness(0.0F).setUnlocalizedName("atum:AtumDate").setTextureName("atum:AtumDate"); - flax = (new BlockFlax(AtumConfig.flaxBlockID)).setUnlocalizedName("atum:FlaxBlock").setCreativeTab(Atum.tabs); - thinCrystalGlass = (new BlockAtumPane(AtumConfig.thinCrystalGlassID, "atum:AtumCrystalGlass", "thinglass_top", Material.glass, false)).setHardness(0.3F).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("thinCrystalGlass").setCreativeTab(Atum.tabs); - thinFramedGlass = (new BlockAtumPane(AtumConfig.thinFramedGlassID, "atum:AtumFramedGlass", "atum:thinglass_top", Material.glass, false)).setHardness(0.3F).setStepSound(Block.soundGlassFootstep).setUnlocalizedName("thinFramedGlass").setCreativeTab(Atum.tabs); - sandLayered = (new BlockSandLayered(AtumConfig.sandLayeredID)).setHardness(0.1F).setStepSound(Block.soundSnowFootstep).setUnlocalizedName("SandLayered").setLightOpacity(0).setCreativeTab(Atum.tabs); - fertileSoil = (BlockFertileSoil) (new BlockFertileSoil(AtumConfig.fertileSoilID)).setUnlocalizedName("atum:FertileSoil").setHardness(0.5F).setStepSound(Block.soundGrassFootstep).setCreativeTab(Atum.tabs); - fertileSoilTilled = (new BlockFertileSoilTilled(AtumConfig.fertileSoilTillID)).setUnlocalizedName("atum:FertileSoilTilled").setHardness(0.5F).setStepSound(Block.soundGrassFootstep).setCreativeTab(Atum.tabs); - log = (new BlockPalmLog(AtumConfig.logID)).setUnlocalizedName("AtumLogs").setHardness(2.0F).setStepSound(Block.soundWoodFootstep).setCreativeTab(Atum.tabs); - leaves = (new BlockAtumLeaves(AtumConfig.leavesID)).setUnlocalizedName("AtumLeaves").setHardness(0.2F).setLightOpacity(1).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("AtumLeaves").setCreativeTab(Atum.tabs); - planks = (new Block(AtumConfig.plankID, Material.wood)).setUnlocalizedName("AtumPlanks").setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setUnlocalizedName("atum:Planks").setCreativeTab(Atum.tabs).setTextureName(Atum.modID + ":Planks"); - trapArrow = (new BlockArrowTrap(AtumConfig.trapArrowID)).setUnlocalizedName("FireTrap").setHardness(0.2F).setCreativeTab(Atum.tabs); - furnaceIdle = (new BlockLimeStoneFurnace(AtumConfig.furnaceIdleID, false)).setHardness(3.5F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("limestonefurnaceidle").setCreativeTab(Atum.tabs); - furnaceBurning = (new BlockLimeStoneFurnace(AtumConfig.furnaceBurningID, true)).setHardness(3.5F).setStepSound(Block.soundStoneFootstep).setLightValue(0.875F).setUnlocalizedName("limestonefurnaceactive"); - redstoneOre = (new BlockAtumRedstone(AtumConfig.redstoneOreID)).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("atum:AtumRedstone").setTextureName("atum:AtumRedstone").setCreativeTab(Atum.tabs); - goldOre = (new BlockAtumOre(AtumConfig.goldOreID)).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("atum:AtumGold").setTextureName("atum:AtumGold").setCreativeTab(Atum.tabs); - ironOre = (new BlockAtumOre(AtumConfig.ironOreID)).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("atum:AtumIron").setTextureName("atum:AtumIron").setCreativeTab(Atum.tabs); - coalOre = (new BlockAtumOre(AtumConfig.coalOreID)).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("atum:AtumCoal").setTextureName("atum:AtumCoal").setCreativeTab(Atum.tabs); - lapisOre = (new BlockAtumOre(AtumConfig.lapisOreID)).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("atum:AtumLapis").setTextureName("atum:AtumLapis").setCreativeTab(Atum.tabs); - diamondOre = (new BlockAtumOre(AtumConfig.diamondOreID)).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("atum:AtumDiamond").setTextureName("atum:AtumDiamond").setCreativeTab(Atum.tabs); - ForgeHooks.canToolHarvestBlock(sand, 0, new ItemStack(Item.shovelIron)); - MinecraftForge.setBlockHarvestLevel(sand, "shovel", 0); - MinecraftForge.setBlockHarvestLevel(coalOre, "pickaxe", 0); - MinecraftForge.setBlockHarvestLevel(ironOre, "pickaxe", 1); - MinecraftForge.setBlockHarvestLevel(goldOre, "pickaxe", 2); - MinecraftForge.setBlockHarvestLevel(lapisOre, "pickaxe", 1); - MinecraftForge.setBlockHarvestLevel(diamondOre, "pickaxe", 2); - MinecraftForge.setBlockHarvestLevel(redstoneOre, "pickaxe", 2); - Block.setBurnProperties(AtumConfig.plankID, 5, 20); - Block.setBurnProperties(AtumConfig.leavesID, 30, 60); - } - - public static void registerBlocks() { - GameRegistry.registerBlock(sand, "AtumSand"); - GameRegistry.registerBlock(stone, "AtumStone"); - GameRegistry.registerBlock(cobble, "AtumCobble"); - GameRegistry.registerBlock(largeBrick, "AtumBrickLarge"); - GameRegistry.registerBlock(smallBrick, "AtumBrickSmall"); - GameRegistry.registerBlock(carvedBrick, "AtumBrickCarved"); - GameRegistry.registerBlock(crackedLargeBrick, "AtumCrackedLargeBrick"); - GameRegistry.registerBlock(slabs, "AtumSlabs"); - GameRegistry.registerBlock(smoothStairs, "AtumSmoothStairs"); - GameRegistry.registerBlock(cobbleStairs, "AtumCobbleStairs"); - GameRegistry.registerBlock(largeStoneStairs, "AtumLargeStoneStairs"); - GameRegistry.registerBlock(smallStoneStairs, "AtumSmallStoneStairs"); - GameRegistry.registerBlock(shrub, "AtumShrub"); - GameRegistry.registerBlock(log, "AtumLog"); - GameRegistry.registerBlock(leaves, "AtumLeaves"); - GameRegistry.registerBlock(planks, "AtumPlanks"); - GameRegistry.registerBlock(weed, "AtumWeed"); - GameRegistry.registerBlock(trapArrow, "AtumArmorTrap"); - GameRegistry.registerBlock(cursedChest, "BlockCursedChest"); - GameRegistry.registerBlock(pharaohChest, "BlockPharaohChest"); - GameRegistry.registerBlock(sandLayered, ItemSandLayered.class, "BlockSandLayered"); - GameRegistry.registerBlock(furnaceIdle, "limestonefurnaceidle"); - GameRegistry.registerBlock(furnaceBurning, "limestonefurnaceburning"); - GameRegistry.registerBlock(redstoneOre, "atumRedstoneOre"); - GameRegistry.registerBlock(coalOre, "atumCoalOre"); - GameRegistry.registerBlock(ironOre, "atumIronOre"); - GameRegistry.registerBlock(goldOre, "atumGoldOre"); - GameRegistry.registerBlock(lapisOre, "atumLapisOre"); - GameRegistry.registerBlock(diamondOre, "atumDiamondOre"); - GameRegistry.registerBlock(papyrus, "atumPapyrusBlock"); - GameRegistry.registerBlock(wall, ItemBlockAtumWall.class, "AtumWalls"); - GameRegistry.registerBlock(crystalGlass, "AtumCrystalGlass"); - GameRegistry.registerBlock(framedGlass, "AtumFramedGlass"); - GameRegistry.registerBlock(palmSapling, "AtumPalmSapling"); - GameRegistry.registerBlock(dateBlock, "AtumDateBlock"); - GameRegistry.registerBlock(flax, "Flax"); - GameRegistry.registerBlock(fertileSoil, "FertileSoil"); - GameRegistry.registerBlock(fertileSoilTilled, "FertileSoilTilled"); - GameRegistry.registerBlock(thinCrystalGlass, "ThinCrystalGlass"); - GameRegistry.registerBlock(thinFramedGlass, "ThinFramedGlass"); - GameRegistry.registerTileEntity(TileEntityChestSpawner.class, "CursedChest"); - GameRegistry.registerTileEntity(TileEntityPharaohChest.class, "PharaohChest"); - GameRegistry.registerTileEntity(TileEntityArrowTrap.class, "ArrowTrap"); - GameRegistry.registerTileEntity(TileEntityLimestoneFurnace.class, "LimestoneFurnace"); - } - - public static void addNames() { - LanguageRegistry.addName(stone, "Limestone"); - LanguageRegistry.addName(sand, "Limestone sand"); - LanguageRegistry.addName(cobble, "Cracked Limestone"); - LanguageRegistry.addName(sand, "Strange Sand"); - LanguageRegistry.addName(stone, "Limestone"); - LanguageRegistry.addName(cobble, "Cracked Limestone"); - LanguageRegistry.addName(largeBrick, "Large Limestone Bricks"); - LanguageRegistry.addName(smallBrick, "Small Limestone Bricks"); - LanguageRegistry.addName(carvedBrick, "Carved Limestone"); - LanguageRegistry.addName(crackedLargeBrick, "Cracked Large Limestone Bricks"); - LanguageRegistry.addName(smoothStairs, "Limestone Stairs"); - LanguageRegistry.addName(cobbleStairs, "Cracked Limestone Stairs"); - LanguageRegistry.addName(largeStoneStairs, "Large Limestone Brick Stairs"); - LanguageRegistry.addName(smallStoneStairs, "Small Limestone Brick Stairs"); - LanguageRegistry.addName(shrub, "Desert Shrub"); - LanguageRegistry.addName(log, "Palm Wood"); - LanguageRegistry.addName(planks, "Palm Wood Planks"); - LanguageRegistry.addName(leaves, "Palm Leaves"); - LanguageRegistry.addName(weed, "Desert Shrub"); - LanguageRegistry.addName(trapArrow, "Fire Trap"); - LanguageRegistry.addName(cursedChest, "Cursed Chest"); - LanguageRegistry.addName(pharaohChest, "Pharaoh\'s Chest"); - LanguageRegistry.addName(sandLayered, "Strange Sand"); - LanguageRegistry.addName(furnaceIdle, "Limestone Furnace"); - LanguageRegistry.addName(redstoneOre, "Redstone Ore"); - LanguageRegistry.addName(coalOre, "Coal Ore"); - LanguageRegistry.addName(ironOre, "Iron Ore"); - LanguageRegistry.addName(goldOre, "Gold Ore"); - LanguageRegistry.addName(lapisOre, "Lapis Ore"); - LanguageRegistry.addName(diamondOre, "Diamond Ore"); - LanguageRegistry.addName(new ItemStack(slabs, 6, 0), "Limestone Slabs"); - LanguageRegistry.addName(new ItemStack(slabs, 6, 1), "Cracked Limestone Slabs"); - LanguageRegistry.addName(new ItemStack(slabs, 6, 2), "Large Limestone Brick Slabs"); - LanguageRegistry.addName(new ItemStack(slabs, 6, 3), "Small Limestone Brick Slabs"); - LanguageRegistry.addName(papyrus, "Papyrus"); - LanguageRegistry.addName(new ItemStack(wall, 6, 0), "Limestone Wall"); - LanguageRegistry.addName(new ItemStack(wall, 6, 1), "Cracked Limestone Wall"); - LanguageRegistry.addName(new ItemStack(wall, 6, 2), "Large Limestone Brick Wall"); - LanguageRegistry.addName(new ItemStack(wall, 6, 3), "Small Limestone Brick Wall"); - LanguageRegistry.addName(crystalGlass, "Crystal Glass"); - LanguageRegistry.addName(framedGlass, "Framed Crystal Glass"); - LanguageRegistry.addName(palmSapling, "Palm Sapling"); - LanguageRegistry.addName(dateBlock, "Date Block"); - LanguageRegistry.addName(fertileSoil, "Fertile Soil"); - LanguageRegistry.addName(fertileSoilTilled, "Fertile Soil Tilled"); - LanguageRegistry.addName(thinCrystalGlass, "Crystal Glass Panes"); - LanguageRegistry.addName(thinFramedGlass, "Framed Crystal Glass Panes"); - } -} diff --git a/common/rebelkeithy/mods/atum/AtumConfig.java b/common/rebelkeithy/mods/atum/AtumConfig.java deleted file mode 100644 index 00e83bb..0000000 --- a/common/rebelkeithy/mods/atum/AtumConfig.java +++ /dev/null @@ -1,248 +0,0 @@ -package rebelkeithy.mods.atum; - -import java.io.File; -import java.io.IOException; -import net.minecraftforge.common.Configuration; -import rebelkeithy.mods.atum.Atum; - -public class AtumConfig { - - public static int dimensionID = 17; - public static int portalBlockID = 1024; - public static int biomeAtumDesertID = 200; - public static int cursedChestID = 1025; - public static int sandID = 1026; - public static int stoneID = 1027; - public static int cobbleID = 1028; - public static int largeBrickID = 1029; - public static int smallBrickID = 1030; - public static int carvedBrickID = 1031; - public static int stoneStairs = 1032; - public static int slabID = 1033; - public static int doubleSlabID = 1034; - public static int smoothStairsID = 1035; - public static int cobbleStairsID = 1036; - public static int largeStoneStairsID = 1037; - public static int smallStoneStairsID = 1038; - public static int shrubID = 1039; - public static int logID = 1040; - public static int leavesID = 1041; - public static int weedID = 1042; - public static int trapArrowID = 1043; - public static int sandLayeredID = 1044; - public static int furnaceIdleID = 1045; - public static int furnaceBurningID = 1046; - public static int plankID = 1047; - public static int pharaohChestID = 1048; - public static int redstoneOreID = 1049; - public static int coalOreID = 1050; - public static int ironOreID = 1051; - public static int goldOreID = 1052; - public static int lapisOreID = 1053; - public static int diamondOreID = 1054; - public static int papyrusBlockID = 1055; - public static int crackedLargeBrickID = 1056; - public static int wallID = 1057; - public static int crystalGlassID = 1058; - public static int framedGlassID = 1059; - public static int palmSaplingID = 1060; - public static int blockDateID = 1061; - public static int flaxBlockID = 1062; - public static int fertileSoilID = 1063; - public static int fertileSoilTillID = 1064; - public static int thinCrystalGlassID = 1065; - public static int thinFramedGlassID = 1066; - public static int portalSpawnerID = 5000; - public static int scimitarID = 5001; - public static int bowID = 5002; - public static int ptahsPickID = 5003; - public static int soteksRageID = 5004; - public static int osirisWillID = 5005; - public static int akersToilID = 5006; - public static int gebsBlessingID = 5008; - public static int rasGloryID = 5009; - public static int sekhmetsWrathID = 5010; - public static int nutsAgilityID = 5011; - public static int horusFlightID = 5012; - public static int limestoneShovelID = 5013; - public static int limestonePickaxeID = 5014; - public static int limestoneAxeID = 5015; - public static int limestoneSwordID = 5016; - public static int limestoneHoeID = 5017; - public static int limestonePaxelID = 5018; - public static int lootID = 5019; - public static int stoneSwordID = 5020; - public static int itemPapyrusPlantID = 5021; - public static int scepterID = 5022; - public static int ectoplasmID = 5023; - public static int stoneChunkID = 5024; - public static int clothScrapID = 5025; - public static int mummyHelmetID = 5026; - public static int mummyChestID = 5027; - public static int mummyLegsID = 5028; - public static int mummyBootsID = 5029; - public static int atensFuryID = 5030; - public static int neithsAudacityID = 5031; - public static int scrollID = 5032; - public static int wandererHelmetID = 5033; - public static int wandererChestID = 5034; - public static int wandererLegsID = 5035; - public static int wandererBootsID = 5036; - public static int peltID = 5037; - public static int itemDateID = 5038; - public static int linenID = 5039; - public static int itemFlaxID = 5040; - public static int itemFlaxSeedsID = 5041; - public static int desertHelmetID = 5042; - public static int desertChestID = 5043; - public static int desertLegsID = 5044; - public static int desertBootsID = 5045; - public static int spearID = 5045; - public static int monthusStrikeID = 5046; - public static int anhursMightID = 5047; - public static int hedetetsStingID = 5048; - public static int horusSoaringID = 5049; - public static int shusBreathID = 5050; - public static int ptahsDestructionID = 5051; - public static int monthusBlastID = 5052; - public static int nusFluxID = 5053; - public static int mnevisHornsID = 5054; - public static int isisEmbraceID = 5055; - public static int maatsBalanceID = 5056; - public static int hedetetsVenomID = 5057; - public static int gebsSolidarityID = 5058; - public static int nutsCallID = 5059; - public static int anuketsBountyID = 5060; - public static int mafdetsQuicknessID = 5061; - public static int isisHealingID = 5062; - public static int amunetsHomecomingID = 5063; - public static int anubisMercyID = 5064; - public static int itemFishID = 5075; - public static int greatswordID = 5076; - public static boolean protectBlocksInCreative = true; - - - public static void initConfig() { - File cfgFile = new File(Atum.proxy.getMinecraftDir() + "/config/Atum.cfg"); - - try { - cfgFile.createNewFile(); - } catch (IOException var2) { - System.out.println(var2); - } - - Configuration config = new Configuration(cfgFile); - config.load(); - dimensionID = config.get("~World", "Dimension ID", dimensionID).getInt(); - biomeAtumDesertID = config.get("~World", "Atum Biome ID", biomeAtumDesertID).getInt(); - protectBlocksInCreative = config.get("~World", "Industructable Blocks In Creative Mode", protectBlocksInCreative).getBoolean(protectBlocksInCreative); - portalBlockID = config.getBlock("Portal Block", portalBlockID).getInt(); - cursedChestID = config.getBlock("CursedChest", cursedChestID).getInt(); - sandID = config.getBlock("Strange Sand", sandID).getInt(); - stoneID = config.getBlock("Limestone", stoneID).getInt(); - cobbleID = config.getBlock("Cracked Limestone", cobbleID).getInt(); - largeBrickID = config.getBlock("Large Brick", largeBrickID).getInt(); - smallBrickID = config.getBlock("Small Brick", smallBrickID).getInt(); - carvedBrickID = config.getBlock("Carved Limestone", carvedBrickID).getInt(); - slabID = config.getBlock("Limestone Slabs", slabID).getInt(); - doubleSlabID = config.getBlock("Double Limestone Slabs", doubleSlabID).getInt(); - smoothStairsID = config.getBlock("Limestone Stairs", smoothStairsID).getInt(); - cobbleStairsID = config.getBlock("Cracked Stairs", cobbleStairsID).getInt(); - largeStoneStairsID = config.getBlock("Large Brick Stairs", largeStoneStairsID).getInt(); - smallStoneStairsID = config.getBlock("Small Brick Stairs", smallStoneStairsID).getInt(); - shrubID = config.getBlock("Desert Shrub", shrubID).getInt(); - logID = config.getBlock("Palm Log", logID).getInt(); - leavesID = config.getBlock("Palm Leaves", leavesID).getInt(); - weedID = config.getBlock("Desert Plant", weedID).getInt(); - trapArrowID = config.getBlock("Fire Trap", trapArrowID).getInt(); - furnaceIdleID = config.getBlock("Limestone Furnace Idle", furnaceIdleID).getInt(); - furnaceBurningID = config.getBlock("Limestone Furnace Burning", furnaceBurningID).getInt(); - plankID = config.getBlock("Palm Planks", plankID).getInt(); - pharaohChestID = config.getBlock("Pharaoh Chest", pharaohChestID).getInt(); - redstoneOreID = config.getBlock("Redstone Ore", redstoneOreID).getInt(); - coalOreID = config.getBlock("Coal Ore", coalOreID).getInt(); - ironOreID = config.getBlock("Iron Ore", ironOreID).getInt(); - goldOreID = config.getBlock("Gold Ore", goldOreID).getInt(); - lapisOreID = config.getBlock("Lapis Ore", lapisOreID).getInt(); - diamondOreID = config.getBlock("Diamond Ore", diamondOreID).getInt(); - papyrusBlockID = config.getBlock("Papyrus Block", papyrusBlockID).getInt(); - wallID = config.getBlock("Limestone Wall", wallID).getInt(); - crystalGlassID = config.getBlock("Crystal Glass", crystalGlassID).getInt(crystalGlassID); - framedGlassID = config.getBlock("Framed Glass", framedGlassID).getInt(framedGlassID); - palmSaplingID = config.getBlock("Palm Sapling", palmSaplingID).getInt(palmSaplingID); - blockDateID = config.getBlock("Date Block", blockDateID).getInt(blockDateID); - flaxBlockID = config.getBlock("Flax", flaxBlockID).getInt(flaxBlockID); - fertileSoilID = config.getBlock("Fertile Soil", fertileSoilID).getInt(fertileSoilID); - fertileSoilTillID = config.getBlock("Fertile Soil Tilled", fertileSoilTillID).getInt(fertileSoilTillID); - thinCrystalGlassID = config.getBlock("Crystal Glass Panes", thinCrystalGlassID).getInt(thinCrystalGlassID); - thinFramedGlassID = config.getBlock("Framed Crystal Glass Panes", thinFramedGlassID).getInt(thinFramedGlassID); - portalSpawnerID = config.getItem("Scarab", portalSpawnerID).getInt(); - scimitarID = config.getItem("Scimitar", scimitarID).getInt(); - greatswordID = config.getItem("Greatsword", greatswordID).getInt(); - scepterID = config.getItem("Scepter", scepterID).getInt(); - stoneSwordID = config.getItem("Stone Sword", stoneSwordID).getInt(); - bowID = config.getItem("Desert Bow", bowID).getInt(); - ptahsPickID = config.getItem("Ptah\'s Pick", ptahsPickID).getInt(); - soteksRageID = config.getItem("Sotek\'s Rage", soteksRageID).getInt(); - osirisWillID = config.getItem("Osiris\'s Will", osirisWillID).getInt(); - akersToilID = config.getItem("Aker\'s Toil", akersToilID).getInt(); - gebsBlessingID = config.getItem("Gab\'s Blessing", gebsBlessingID).getInt(); - atensFuryID = config.getItem("Aten\'s Fury", atensFuryID).getInt(); - rasGloryID = config.getItem("Ra\'s Glory", rasGloryID).getInt(); - sekhmetsWrathID = config.getItem("Sekhmet\'s Wrath", sekhmetsWrathID).getInt(); - nutsAgilityID = config.getItem("Nut\'s Agility", nutsAgilityID).getInt(); - horusFlightID = config.getItem("Horus\'s Flight", horusFlightID).getInt(); - monthusStrikeID = config.getItem("Monthu\'s Strike", monthusStrikeID).getInt(); - anhursMightID = config.getItem("Anhur\'s Might", anhursMightID).getInt(); - hedetetsStingID = config.getItem("Hedetet\'s Sting", hedetetsStingID).getInt(); - horusSoaringID = config.getItem("Horus\'s Soaring", horusSoaringID).getInt(); - shusBreathID = config.getItem("Shu\'s Breath", shusBreathID).getInt(); - ptahsDestructionID = config.getItem("Ptah\'s Destruction", ptahsDestructionID).getInt(); - monthusBlastID = config.getItem("Monthu\'s Blast", monthusBlastID).getInt(); - nusFluxID = config.getItem("Nu\'s Flux", nusFluxID).getInt(); - mnevisHornsID = config.getItem("Mnevis\'s Horns", mnevisHornsID).getInt(); - isisEmbraceID = config.getItem("Isis\'s Embrace", isisEmbraceID).getInt(); - maatsBalanceID = config.getItem("Ma\'at\'s Balance", maatsBalanceID).getInt(); - hedetetsVenomID = config.getItem("Hedetet\'s Venom", hedetetsVenomID).getInt(); - gebsSolidarityID = config.getItem("Geb\'s Solidarity", gebsSolidarityID).getInt(); - nutsCallID = config.getItem("Nut\'s Call", nutsCallID).getInt(); - anuketsBountyID = config.getItem("Anuket\'s Bounty", anuketsBountyID).getInt(); - mafdetsQuicknessID = config.getItem("mafdetsQuicknessID", mafdetsQuicknessID).getInt(); - isisHealingID = config.getItem("Isis\'s Healing", isisHealingID).getInt(); - amunetsHomecomingID = config.getItem("Amunet\'s Homecoming", amunetsHomecomingID).getInt(); - anubisMercyID = config.getItem("Anubis\'s Mercy", anubisMercyID).getInt(); - limestoneShovelID = config.getItem("Limestone Shovel", limestoneShovelID).getInt(); - limestonePickaxeID = config.getItem("Limestone Pickaxe", limestonePickaxeID).getInt(); - limestoneAxeID = config.getItem("Limestone Axe", limestoneAxeID).getInt(); - limestoneSwordID = config.getItem("Limestone Sword", limestoneSwordID).getInt(); - limestoneHoeID = config.getItem("Limestone Hoe", limestoneHoeID).getInt(); - limestonePaxelID = config.getItem("Limestone Paxel", limestonePaxelID).getInt(); - mummyHelmetID = config.getItem("Mummy Helmet", mummyHelmetID).getInt(); - mummyChestID = config.getItem("Mummy Chest", mummyChestID).getInt(); - mummyLegsID = config.getItem("Mummy Legs", mummyLegsID).getInt(); - mummyBootsID = config.getItem("Mummy Boots", mummyBootsID).getInt(); - wandererHelmetID = config.getItem("Wanderer Helmet", wandererHelmetID).getInt(); - wandererChestID = config.getItem("Wanderer Chest", wandererChestID).getInt(); - wandererLegsID = config.getItem("Wanderer Legs", wandererLegsID).getInt(); - wandererBootsID = config.getItem("Wanderer Boots", wandererBootsID).getInt(); - desertHelmetID = config.getItem("Desert Helmet", desertHelmetID).getInt(); - desertChestID = config.getItem("Desert Chest", desertChestID).getInt(); - desertLegsID = config.getItem("Desert Legs", desertLegsID).getInt(); - desertBootsID = config.getItem("Desert Boots", desertBootsID).getInt(); - lootID = config.getItem("Loot", lootID).getInt(); - itemPapyrusPlantID = config.getItem("Papyrus Plant Item", itemPapyrusPlantID).getInt(); - ectoplasmID = config.getItem("Ectoplasm", ectoplasmID).getInt(); - stoneChunkID = config.getItem("Limestone Chunk", stoneChunkID).getInt(); - clothScrapID = config.getItem("Cloth Scrap", clothScrapID).getInt(); - neithsAudacityID = config.getItem("Neiths Audacity", neithsAudacityID).getInt(); - scrollID = config.getItem("Scroll", scrollID).getInt(); - peltID = config.getItem("Wolf Pelt", peltID).getInt(); - itemDateID = config.getItem("Date", itemDateID).getInt(itemDateID); - linenID = config.getItem("Linen", linenID).getInt(linenID); - itemFlaxID = config.getItem("Flax", itemFlaxID).getInt(itemFlaxID); - itemFlaxSeedsID = config.getItem("Flax Seeds", itemFlaxSeedsID).getInt(itemFlaxSeedsID); - itemFishID = config.getItem("Fish", itemFishID).getInt(itemFishID); - config.save(); - } - -} diff --git a/common/rebelkeithy/mods/atum/AtumEventListener.java b/common/rebelkeithy/mods/atum/AtumEventListener.java deleted file mode 100644 index 03de4d5..0000000 --- a/common/rebelkeithy/mods/atum/AtumEventListener.java +++ /dev/null @@ -1,85 +0,0 @@ -package rebelkeithy.mods.atum; - -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraftforge.event.ForgeSubscribe; -import net.minecraftforge.event.Event.Result; -import net.minecraftforge.event.entity.living.LivingFallEvent; -import net.minecraftforge.event.entity.living.LivingHurtEvent; -import net.minecraftforge.event.entity.player.BonemealEvent; -import net.minecraftforge.event.entity.player.UseHoeEvent; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.AtumItems; -import rebelkeithy.mods.atum.blocks.BlockFlax; -import rebelkeithy.mods.atum.blocks.BlockPalmSapling; -import rebelkeithy.mods.atum.entities.EntityDustySkeleton; -import rebelkeithy.mods.atum.entities.EntityGhost; -import rebelkeithy.mods.atum.entities.EntityMummy; -import rebelkeithy.mods.atum.entities.EntityPharaoh; -import rebelkeithy.mods.atum.entities.EntityStoneSoldier; - -public class AtumEventListener { - - @ForgeSubscribe - public void onFallDamage(LivingFallEvent event) { - if(event.entity instanceof EntityGhost || event.entity instanceof EntityPharaoh) { - event.distance = 0.0F; - } - - } - - @ForgeSubscribe - public void onLivingHurt(LivingHurtEvent event) { - if(event.source.getDamageType().equals("drown") && (event.entity instanceof EntityPharaoh || event.entity instanceof EntityGhost || event.entity instanceof EntityMummy || event.entity instanceof EntityDustySkeleton || event.entity instanceof EntityStoneSoldier)) { - event.setCanceled(true); - } - - } - - @ForgeSubscribe - public boolean onBonemeal(BonemealEvent event) { - if(event.world.isRemote) { - return true; - } else { - int id = event.world.getBlockId(event.X, event.Y, event.Z); - if(id == AtumBlocks.palmSapling.blockID) { - ((BlockPalmSapling)((BlockPalmSapling)AtumBlocks.palmSapling)).growTree(event.world, event.X, event.Y, event.Z, new Random()); - event.setResult(Result.ALLOW); - } - - if(id == AtumBlocks.flax.blockID && event.world.getBlockMetadata(event.X, event.Y, event.Z) < 5) { - ((BlockFlax)((BlockFlax)AtumBlocks.flax)).fertilize(event.world, event.X, event.Y, event.Z); - event.setResult(Result.ALLOW); - } - - return false; - } - } - - @ForgeSubscribe - public boolean onHoeEvent(UseHoeEvent event) { - int id = event.world.getBlockId(event.x, event.y, event.z); - if(id == AtumBlocks.fertileSoil.blockID) { - byte block2 = 0; - if(event.current.itemID == AtumItems.gebsBlessing.itemID) { - block2 = 4; - } - - event.world.setBlock(event.x, event.y, event.z, AtumBlocks.fertileSoilTilled.blockID); - event.world.setBlockMetadataWithNotify(event.x, event.y, event.z, block2, 2); - event.setResult(Result.ALLOW); - Block block1 = Block.blocksList[id]; - event.world.playSoundEffect((double)event.x, (double)event.y, (double)event.z, block1.stepSound.getStepSound(), (block1.stepSound.getVolume() + 1.0F) / 2.0F, block1.stepSound.getPitch() * 0.8F); - return true; - } else if((id == Block.dirt.blockID || id == Block.grass.blockID) && event.current.itemID == AtumItems.gebsBlessing.itemID) { - event.world.setBlock(event.x, event.y, event.z, AtumBlocks.fertileSoilTilled.blockID); - event.world.setBlockMetadataWithNotify(event.x, event.y, event.z, 12, 2); - event.setResult(Result.ALLOW); - Block block = Block.blocksList[id]; - event.world.playSoundEffect((double)event.x, (double)event.y, (double)event.z, block.stepSound.getStepSound(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); - return true; - } else { - return false; - } - } -} diff --git a/common/rebelkeithy/mods/atum/AtumFish.java b/common/rebelkeithy/mods/atum/AtumFish.java deleted file mode 100644 index f8a9e0b..0000000 --- a/common/rebelkeithy/mods/atum/AtumFish.java +++ /dev/null @@ -1,28 +0,0 @@ -package rebelkeithy.mods.atum; - -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import rebelkeithy.mods.atum.AtumItems; -import rebelkeithy.mods.atum.AtumWeightedLootSet; - -public class AtumFish { - - private static AtumWeightedLootSet fish = new AtumWeightedLootSet(); - - - public static void addFish(ItemStack fishStack, int probability) { - fish.addLoot(fishStack, probability, 1, 1); - } - - public static ItemStack getRandomFish() { - return fish.getRandomLoot(); - } - - static { - addFish(new ItemStack(Item.fishRaw, 1, 0), 100); - addFish(new ItemStack(AtumItems.fish, 1, 0), 30); - addFish(new ItemStack(AtumItems.fish, 1, 1), 5); - addFish(new ItemStack(AtumItems.fish, 1, 2), 50); - addFish(new ItemStack(AtumItems.fish, 1, 3), 50); - } -} diff --git a/common/rebelkeithy/mods/atum/AtumGuiHandler.java b/common/rebelkeithy/mods/atum/AtumGuiHandler.java deleted file mode 100644 index ffab2e0..0000000 --- a/common/rebelkeithy/mods/atum/AtumGuiHandler.java +++ /dev/null @@ -1,24 +0,0 @@ -package rebelkeithy.mods.atum; - -import cpw.mods.fml.common.network.IGuiHandler; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.furnace.ContainerLimestoneFurnace; -import rebelkeithy.mods.atum.furnace.GuiLimestoneFurnace; -import rebelkeithy.mods.atum.furnace.TileEntityLimestoneFurnace; - -public class AtumGuiHandler implements IGuiHandler { - - public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { - System.out.println("GUI?"); - TileEntity te = world.getBlockTileEntity(x, y, z); - return te != null && te instanceof TileEntityLimestoneFurnace?new ContainerLimestoneFurnace(player.inventory, te):null; - } - - public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { - System.out.println("GUI?"); - TileEntity te = world.getBlockTileEntity(x, y, z); - return te != null && te instanceof TileEntityLimestoneFurnace?new GuiLimestoneFurnace(player.inventory, te):null; - } -} diff --git a/common/rebelkeithy/mods/atum/AtumItems.java b/common/rebelkeithy/mods/atum/AtumItems.java deleted file mode 100644 index 629c286..0000000 --- a/common/rebelkeithy/mods/atum/AtumItems.java +++ /dev/null @@ -1,278 +0,0 @@ -package rebelkeithy.mods.atum; - -import cpw.mods.fml.common.registry.LanguageRegistry; -import net.minecraft.block.Block; -import net.minecraft.item.EnumArmorMaterial; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.Item; -import net.minecraft.item.ItemFood; -import net.minecraft.item.ItemSeeds; -import net.minecraft.item.ItemSlab; -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.EnumHelper; -import net.minecraftforge.common.MinecraftForge; -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.AtumConfig; -import rebelkeithy.mods.atum.artifacts.IsisEmbrace; -import rebelkeithy.mods.atum.artifacts.ItemAkersToil; -import rebelkeithy.mods.atum.artifacts.ItemAmunetsHomecoming; -import rebelkeithy.mods.atum.artifacts.ItemAnhursMight; -import rebelkeithy.mods.atum.artifacts.ItemAnubisMercy; -import rebelkeithy.mods.atum.artifacts.ItemAnuketsBounty; -import rebelkeithy.mods.atum.artifacts.ItemAtensFury; -import rebelkeithy.mods.atum.artifacts.ItemGebsBlessing; -import rebelkeithy.mods.atum.artifacts.ItemGebsSolidarity; -import rebelkeithy.mods.atum.artifacts.ItemHedetetsSting; -import rebelkeithy.mods.atum.artifacts.ItemHedetetsVenom; -import rebelkeithy.mods.atum.artifacts.ItemHorusFlight; -import rebelkeithy.mods.atum.artifacts.ItemHorusSoaring; -import rebelkeithy.mods.atum.artifacts.ItemIsisHealing; -import rebelkeithy.mods.atum.artifacts.ItemMaatsBalance; -import rebelkeithy.mods.atum.artifacts.ItemMafdetsQuickness; -import rebelkeithy.mods.atum.artifacts.ItemMnevisHorns; -import rebelkeithy.mods.atum.artifacts.ItemMonthusBlast; -import rebelkeithy.mods.atum.artifacts.ItemMonthusStrike; -import rebelkeithy.mods.atum.artifacts.ItemNeithsAudacity; -import rebelkeithy.mods.atum.artifacts.ItemNusFlux; -import rebelkeithy.mods.atum.artifacts.ItemNutsAgility; -import rebelkeithy.mods.atum.artifacts.ItemNutsCall; -import rebelkeithy.mods.atum.artifacts.ItemOsirisWill; -import rebelkeithy.mods.atum.artifacts.ItemPtahsDecadence; -import rebelkeithy.mods.atum.artifacts.ItemPtahsDestruction; -import rebelkeithy.mods.atum.artifacts.ItemRasGlory; -import rebelkeithy.mods.atum.artifacts.ItemSekhmetsWrath; -import rebelkeithy.mods.atum.artifacts.ItemShusBreath; -import rebelkeithy.mods.atum.artifacts.ItemSobeksRage; -import rebelkeithy.mods.atum.blocks.ItemPapyrusPlant; -import rebelkeithy.mods.atum.items.ItemAtumBow; -import rebelkeithy.mods.atum.items.ItemFish; -import rebelkeithy.mods.atum.items.ItemGreatsword; -import rebelkeithy.mods.atum.items.ItemLoot; -import rebelkeithy.mods.atum.items.ItemScarab; -import rebelkeithy.mods.atum.items.ItemScepter; -import rebelkeithy.mods.atum.items.ItemScimitar; -import rebelkeithy.mods.atum.items.ItemStoneSoldierSword; -import rebelkeithy.mods.atum.items.ItemTexturedArmor; -import rebelkeithy.mods.atum.tools.LimestoneAxe; -import rebelkeithy.mods.atum.tools.LimestoneHoe; -import rebelkeithy.mods.atum.tools.LimestonePickaxe; -import rebelkeithy.mods.atum.tools.LimestoneShovel; -import rebelkeithy.mods.atum.tools.LimestoneSword; - -public class AtumItems { - - public static Item scarab; - public static Item scimitar; - public static Item greatsword; - public static Item scepter; - public static Item stoneSoldierSword; - public static Item bow; - public static Item loot; - public static Item ptahsPick; - public static Item sobeksRage; - public static Item osirisWill; - public static Item akersToil; - public static Item gebsBlessing; - public static Item atensFury; - public static Item rasGlory; - public static Item sekhmetsWrath; - public static Item nutsAgility; - public static Item horusFlight; - public static Item monthusStrike; - public static Item anhursMight; - public static Item hedetetsSting; - public static Item horusSoaring; - public static Item shusBreath; - public static Item ptahsDestruction; - public static Item monthusBlast; - public static Item nusFlux; - public static Item mnevisHorns; - public static Item isisEmbrace; - public static Item maatsBalance; - public static Item hedetetsVenom; - public static Item gebsSolidarity; - public static Item nutsCall; - public static Item anuketsBounty; - public static Item mafdetsQuickness; - public static Item isisHealing; - public static Item amunetsHomecoming; - public static Item anubisMercy; - public static Item limestoneShovel; - public static Item limestonePickaxe; - public static Item limestoneAxe; - public static Item limestoneSword; - public static Item limestoneHoe; - public static Item mummyHelmet; - public static Item mummyChest; - public static Item mummyLegs; - public static Item mummyBoots; - public static Item wandererHelmet; - public static Item wandererChest; - public static Item wandererLegs; - public static Item wandererBoots; - public static Item desertHelmet; - public static Item desertChest; - public static Item desertLegs; - public static Item desertBoots; - public static Item papyrusPlant; - public static Item ectoplasm; - public static Item stoneChunk; - public static Item scrap; - public static Item scroll; - public static Item pelt; - public static Item date; - public static Item linen; - public static Item flax; - public static Item flaxSeeds; - public static Item fish; - public static Item neithsAudacity; - public static Item spear; - - public static void init() { - scarab = (new ItemScarab(AtumConfig.portalSpawnerID)).setUnlocalizedName("atum:Scarab").setCreativeTab(Atum.tabs); - loot = (new ItemLoot(AtumConfig.lootID)).setCreativeTab(Atum.tabs); - date = (new ItemFood(AtumConfig.itemDateID, 5, 1.5F, false)).setTextureName("atum:Date").setUnlocalizedName("atum:Date").setCreativeTab(Atum.tabs); - scimitar = (new ItemScimitar(AtumConfig.scimitarID, EnumToolMaterial.IRON)).setUnlocalizedName("atum:Scimitar").setCreativeTab(Atum.tabs); - greatsword = (new ItemGreatsword(AtumConfig.greatswordID, EnumToolMaterial.IRON)).setUnlocalizedName("atum:Greatsword").setTextureName("atum:Greatsword").setCreativeTab(Atum.tabs); - bow = (new ItemAtumBow(AtumConfig.bowID)).setUnlocalizedName("atum:Bow").setCreativeTab(Atum.tabs); - stoneSoldierSword = (new ItemStoneSoldierSword(AtumConfig.stoneSwordID, EnumToolMaterial.IRON)).setUnlocalizedName("atum:StoneSoldierSword").setCreativeTab(Atum.tabs); - scepter = (new ItemScepter(AtumConfig.scepterID, EnumToolMaterial.GOLD)).setUnlocalizedName("atum:Scepter").setCreativeTab(Atum.tabs); - ptahsPick = (new ItemPtahsDecadence(AtumConfig.ptahsPickID, EnumToolMaterial.EMERALD)).setUnlocalizedName("atum:PtahsDecadence").setCreativeTab(Atum.tabs); - sobeksRage = (new ItemSobeksRage(AtumConfig.soteksRageID, EnumToolMaterial.EMERALD)).setUnlocalizedName("atum:SoteksRage").setCreativeTab(Atum.tabs); - osirisWill = (new ItemOsirisWill(AtumConfig.osirisWillID, EnumToolMaterial.EMERALD)).setUnlocalizedName("atum:OsirisWill").setCreativeTab(Atum.tabs); - akersToil = (new ItemAkersToil(AtumConfig.akersToilID, EnumToolMaterial.EMERALD)).setUnlocalizedName("atum:AkersToil").setCreativeTab(Atum.tabs); - gebsBlessing = (new ItemGebsBlessing(AtumConfig.gebsBlessingID, EnumToolMaterial.EMERALD)).setUnlocalizedName("atum:GebsBlessing").setCreativeTab(Atum.tabs); - atensFury = (new ItemAtensFury(AtumConfig.atensFuryID)).setUnlocalizedName("atum:AtensFury").setCreativeTab(Atum.tabs); - rasGlory = (new ItemRasGlory(AtumConfig.rasGloryID, EnumArmorMaterial.DIAMOND, 0, 0)).setTextureFile("EgyptianArmor_1").setUnlocalizedName("atum:RasGlory").setCreativeTab(Atum.tabs); - sekhmetsWrath = (new ItemSekhmetsWrath(AtumConfig.sekhmetsWrathID, EnumArmorMaterial.DIAMOND, 1, 1)).setTextureFile("EgyptianArmor_1").setUnlocalizedName("atum:SekhmetsWrath").setCreativeTab(Atum.tabs); - nutsAgility = (new ItemNutsAgility(AtumConfig.nutsAgilityID, EnumArmorMaterial.DIAMOND, 2, 2)).setTextureFile("EgyptianArmor_2").setUnlocalizedName("atum:NutsAgility").setCreativeTab(Atum.tabs); - horusFlight = (new ItemHorusFlight(AtumConfig.horusFlightID, EnumArmorMaterial.DIAMOND, 3, 3)).setTextureFile("EgyptianArmor_1").setUnlocalizedName("atum:HorusFlight").setCreativeTab(Atum.tabs); - monthusStrike = (new ItemMonthusStrike(AtumConfig.monthusStrikeID, EnumToolMaterial.EMERALD)).setUnlocalizedName("atum:MonthusStrike").setCreativeTab(Atum.tabs); - anhursMight = (new ItemAnhursMight(AtumConfig.anhursMightID, EnumToolMaterial.EMERALD)).setUnlocalizedName("atum:AnhursMight").setCreativeTab(Atum.tabs); - hedetetsSting = (new ItemHedetetsSting(AtumConfig.hedetetsStingID, EnumToolMaterial.EMERALD)).setUnlocalizedName("atum:HedetetsSting").setCreativeTab(Atum.tabs); - horusSoaring = (new ItemHorusSoaring(AtumConfig.horusSoaringID)).setUnlocalizedName("atum:HorusSoaring").setCreativeTab(Atum.tabs); - shusBreath = (new ItemShusBreath(AtumConfig.shusBreathID)).setUnlocalizedName("atum:ShusBreath").setCreativeTab(Atum.tabs); - ptahsDestruction = (new ItemPtahsDestruction(AtumConfig.ptahsDestructionID, EnumToolMaterial.EMERALD)).setUnlocalizedName("atum:PtahsDestruction").setCreativeTab(Atum.tabs); - monthusBlast = (new ItemMonthusBlast(AtumConfig.monthusBlastID)).setUnlocalizedName("atum:MonthusBlast").setCreativeTab(Atum.tabs); - nusFlux = (new ItemNusFlux(AtumConfig.nusFluxID, EnumToolMaterial.EMERALD)).setUnlocalizedName("atum:NusFlux").setCreativeTab(Atum.tabs); - mnevisHorns = (new ItemMnevisHorns(AtumConfig.mnevisHornsID, EnumArmorMaterial.DIAMOND, 0, 0)).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("atum:MnevisHorns").setCreativeTab(Atum.tabs); - isisEmbrace = (new IsisEmbrace(AtumConfig.isisEmbraceID, EnumArmorMaterial.DIAMOND, 1, 1)).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("atum:IsisEmbrace").setCreativeTab(Atum.tabs); - maatsBalance = (new ItemMaatsBalance(AtumConfig.maatsBalanceID, EnumArmorMaterial.DIAMOND, 2, 2)).setTextureFile("RubyArtifactArmor_2").setUnlocalizedName("atum:MaatsBalance").setCreativeTab(Atum.tabs); - hedetetsVenom = (new ItemHedetetsVenom(AtumConfig.hedetetsVenomID)).setUnlocalizedName("atum:HedetetsVenom").setCreativeTab(Atum.tabs); - gebsSolidarity = (new ItemGebsSolidarity(AtumConfig.gebsSolidarityID, EnumArmorMaterial.DIAMOND, 3, 3)).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("atum:GebsSolidarity").setCreativeTab(Atum.tabs); - nutsCall = (new ItemNutsCall(AtumConfig.nutsCallID)).setUnlocalizedName("atum:NutsCall").setCreativeTab(Atum.tabs); - anuketsBounty = (new ItemAnuketsBounty(AtumConfig.anuketsBountyID)).setUnlocalizedName("atum:AnuketsBounty").setCreativeTab(Atum.tabs); - mafdetsQuickness = (new ItemMafdetsQuickness(AtumConfig.mafdetsQuicknessID)).setUnlocalizedName("atum:MafdetsQuickness").setCreativeTab(Atum.tabs); - isisHealing = (new ItemIsisHealing(AtumConfig.isisHealingID)).setUnlocalizedName("atum:IsisHealing").setCreativeTab(Atum.tabs); - amunetsHomecoming = (new ItemAmunetsHomecoming(AtumConfig.amunetsHomecomingID)).setUnlocalizedName("atum:AmunetsHomecoming").setCreativeTab(Atum.tabs); - anubisMercy = (new ItemAnubisMercy(AtumConfig.anubisMercyID)).setUnlocalizedName("atum:AnubisMercy").setCreativeTab(Atum.tabs); - limestoneShovel = (new LimestoneShovel(AtumConfig.limestoneShovelID, EnumToolMaterial.STONE)).setUnlocalizedName("atum:LimestoneShovel").setCreativeTab(Atum.tabs); - limestonePickaxe = (new LimestonePickaxe(AtumConfig.limestonePickaxeID, EnumToolMaterial.STONE)).setUnlocalizedName("atum:LimestonePickaxe").setCreativeTab(Atum.tabs); - limestoneAxe = (new LimestoneAxe(AtumConfig.limestoneAxeID, EnumToolMaterial.STONE)).setUnlocalizedName("atum:LimestoneAxe").setCreativeTab(Atum.tabs); - limestoneSword = (new LimestoneSword(AtumConfig.limestoneSwordID, EnumToolMaterial.STONE)).setUnlocalizedName("atum:LimestoneSword").setCreativeTab(Atum.tabs); - limestoneHoe = (new LimestoneHoe(AtumConfig.limestoneHoeID, EnumToolMaterial.STONE)).setUnlocalizedName("atum:LimestoneHoe").setCreativeTab(Atum.tabs); - EnumArmorMaterial mummyEnum = EnumHelper.addArmorMaterial("Mummy", 5, new int[] { 1, 3, 2, 1 }, 15); - mummyHelmet = (ItemTexturedArmor) (new ItemTexturedArmor(AtumConfig.mummyHelmetID, mummyEnum, 0, 0)).setRepairItem(AtumConfig.clothScrapID + 256).setTextureFile("MummyArmor_1").setUnlocalizedName("atum:MummyHelmet").setTextureName("atum:MummyHelmet").setCreativeTab(Atum.tabs); - mummyChest = (ItemTexturedArmor) (new ItemTexturedArmor(AtumConfig.mummyChestID, mummyEnum, 0, 1)).setRepairItem(AtumConfig.clothScrapID + 256).setTextureFile("MummyArmor_1").setUnlocalizedName("atum:MummyChest").setTextureName("atum:MummyChest").setCreativeTab(Atum.tabs); - mummyLegs = (ItemTexturedArmor) (new ItemTexturedArmor(AtumConfig.mummyLegsID, mummyEnum, 0, 2)).setRepairItem(AtumConfig.clothScrapID + 256).setTextureFile("MummyArmor_2").setUnlocalizedName("atum:MummyLegs").setTextureName("atum:MummyLegs").setCreativeTab(Atum.tabs); - mummyBoots = (ItemTexturedArmor) (new ItemTexturedArmor(AtumConfig.mummyBootsID, mummyEnum, 0, 3)).setRepairItem(AtumConfig.clothScrapID + 256).setTextureFile("MummyArmor_1").setUnlocalizedName("atum:MummyBoots").setTextureName("atum:MummyBoots").setCreativeTab(Atum.tabs); - EnumArmorMaterial wandererEnum = EnumHelper.addArmorMaterial("Wanderer", 10, new int[] { 2, 3, 3, 2 }, 15); - wandererHelmet = (ItemTexturedArmor) (new ItemTexturedArmor(AtumConfig.wandererHelmetID, wandererEnum, 0, 0)).setRepairItem(AtumConfig.linenID + 256).setTextureFile("WandererArmor_1").setUnlocalizedName("atum:WandererHelmet").setTextureName("atum:WandererHelmet").setCreativeTab(Atum.tabs); - wandererChest = (ItemTexturedArmor) (new ItemTexturedArmor(AtumConfig.wandererChestID, wandererEnum, 0, 1)).setRepairItem(AtumConfig.linenID + 256).setTextureFile("WandererArmor_1").setUnlocalizedName("atum:WandererChest").setTextureName("atum:WandererChest").setCreativeTab(Atum.tabs); - wandererLegs = (ItemTexturedArmor) (new ItemTexturedArmor(AtumConfig.wandererLegsID, wandererEnum, 0, 2)).setRepairItem(AtumConfig.linenID + 256).setTextureFile("WandererArmor_2").setUnlocalizedName("atum:WandererLegs").setTextureName("atum:WandererLegs").setCreativeTab(Atum.tabs); - wandererBoots = (ItemTexturedArmor) (new ItemTexturedArmor(AtumConfig.wandererBootsID, wandererEnum, 0, 3)).setRepairItem(AtumConfig.linenID + 256).setTextureFile("WandererArmor_1").setUnlocalizedName("atum:WandererBoots").setTextureName("atum:WandererBoots").setCreativeTab(Atum.tabs); - EnumArmorMaterial desertEnum = EnumHelper.addArmorMaterial("Desert", 20, new int[] { 3, 6, 5, 3 }, 15); - desertHelmet = (ItemTexturedArmor) (new ItemTexturedArmor(AtumConfig.desertHelmetID, desertEnum, 0, 0)).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("atum:DesertHelmet").setTextureName("atum:DesertHelmet").setCreativeTab(Atum.tabs); - desertChest = (ItemTexturedArmor) (new ItemTexturedArmor(AtumConfig.desertChestID, desertEnum, 0, 1)).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("atum:DesertChest").setTextureName("atum:DesertChest").setCreativeTab(Atum.tabs); - desertLegs = (ItemTexturedArmor) (new ItemTexturedArmor(AtumConfig.desertLegsID, desertEnum, 0, 2)).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_2").setUnlocalizedName("atum:DesertLegs").setTextureName("atum:DesertLegs").setCreativeTab(Atum.tabs); - desertBoots = (ItemTexturedArmor) (new ItemTexturedArmor(AtumConfig.desertBootsID, desertEnum, 0, 3)).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("atum:DesertBoots").setTextureName("atum:DesertBoots").setCreativeTab(Atum.tabs); - papyrusPlant = (new ItemPapyrusPlant(AtumConfig.itemPapyrusPlantID, AtumBlocks.papyrus)).setUnlocalizedName("atum:PapyrusPlantItem").setCreativeTab(Atum.tabs); - ectoplasm = (new Item(AtumConfig.ectoplasmID)).setUnlocalizedName("atum:Ectoplasm").setTextureName(Atum.modID + ":Ectoplasm").setCreativeTab(Atum.tabs); - stoneChunk = (new Item(AtumConfig.stoneChunkID)).setUnlocalizedName("atum:StoneChunk").setTextureName("atum:StoneChunk").setCreativeTab(Atum.tabs); - scrap = (new Item(AtumConfig.clothScrapID)).setUnlocalizedName("atum:ClothScrap").setTextureName("atum:ClothScrap").setCreativeTab(Atum.tabs); - scroll = new Item(AtumConfig.scrollID).setUnlocalizedName("atum:Scroll").setTextureName("atum:Scroll").setCreativeTab(Atum.tabs); - pelt = (new Item(AtumConfig.peltID)).setUnlocalizedName("atum:WolfPelt").setTextureName("atum:WolfPelt").setCreativeTab(Atum.tabs); - linen = (new Item(AtumConfig.linenID)).setUnlocalizedName("atum:Linen").setTextureName("atum:Linen").setCreativeTab(Atum.tabs); - flax = (new Item(AtumConfig.itemFlaxID)).setUnlocalizedName("atum:FlaxItem").setTextureName("atum:FlaxItem").setCreativeTab(Atum.tabs); - flaxSeeds = (new ItemSeeds(AtumConfig.itemFlaxSeedsID, AtumBlocks.flax.blockID, Block.tilledField.blockID)).setUnlocalizedName("atum:FlaxSeeds").setTextureName("atum:FlaxSeeds").setCreativeTab(Atum.tabs); - fish = (new ItemFish(AtumConfig.itemFishID)).setUnlocalizedName("atum:Fish").setCreativeTab(Atum.tabs); - neithsAudacity = (new ItemNeithsAudacity(AtumConfig.neithsAudacityID)).setUnlocalizedName("atum:NeithsAudacity").setCreativeTab(Atum.tabs); - Item.itemsList[AtumConfig.slabID] = (new ItemSlab(AtumBlocks.slabs.blockID - 256, AtumBlocks.slabs, AtumBlocks.doubleSlab, false)).setUnlocalizedName("woodSlab").setCreativeTab(Atum.tabs); - Item.itemsList[AtumBlocks.doubleSlab.blockID] = (new ItemSlab(AtumBlocks.doubleSlab.blockID - 256, AtumBlocks.slabs, AtumBlocks.doubleSlab, true)).setUnlocalizedName("woodSlab"); - MinecraftForge.setToolClass(akersToil, "shovel", 4); - MinecraftForge.setToolClass(limestoneShovel, "shovel", 1); - MinecraftForge.setToolClass(limestoneAxe, "axe", 1); - MinecraftForge.setToolClass(limestonePickaxe, "pickaxe", 1); - MinecraftForge.setToolClass(ptahsDestruction, "pickaxe", 3); - } - - public static void addNames() { - LanguageRegistry.addName(scarab, "Golden Scarab"); - LanguageRegistry.addName(scimitar, "Scimitar"); - LanguageRegistry.addName(bow, "Shortbow"); - LanguageRegistry.addName(stoneSoldierSword, "Ancient Stone Sword"); - LanguageRegistry.addName(ectoplasm, "Ectoplasm"); - LanguageRegistry.addName(stoneChunk, "Limestone Chunk"); - LanguageRegistry.addName(scrap, "Cloth Scrap"); - LanguageRegistry.addName(scepter, "Royal Scepter"); - LanguageRegistry.addName(papyrusPlant, "Papyrus"); - LanguageRegistry.addName(ptahsPick, "Ptah\'s Decadence"); - LanguageRegistry.addName(sobeksRage, "Sobek\'s Rage"); - LanguageRegistry.addName(osirisWill, "Osiris\'s Will"); - LanguageRegistry.addName(akersToil, "Aker\'s Toil"); - LanguageRegistry.addName(gebsBlessing, "Geb\'s Blessing"); - LanguageRegistry.addName(atensFury, "Aten\'s Fury"); - LanguageRegistry.addName(rasGlory, "Ra\'s Glory"); - LanguageRegistry.addName(sekhmetsWrath, "Sekhmet\'s Wrath"); - LanguageRegistry.addName(nutsAgility, "Nut\'s Agility"); - LanguageRegistry.addName(horusFlight, "Horus\'s Flight"); - LanguageRegistry.addName(monthusStrike, "Monthu\'s Strike"); - LanguageRegistry.addName(anhursMight, "Anhur\'s Might"); - LanguageRegistry.addName(hedetetsSting, "Hetetet\'s Sting"); - LanguageRegistry.addName(horusSoaring, "Horus\'s Soaring"); - LanguageRegistry.addName(shusBreath, "Shu\'s Breath"); - LanguageRegistry.addName(ptahsDestruction, "Ptah\'s Destruction"); - LanguageRegistry.addName(monthusBlast, "Monthu\'s Blast"); - LanguageRegistry.addName(nusFlux, "Nu\'s Flux"); - LanguageRegistry.addName(mnevisHorns, "Mnevis\'s Horns"); - LanguageRegistry.addName(isisEmbrace, "Isis\'s Embrace"); - LanguageRegistry.addName(maatsBalance, "Ma\'at\'s Balance"); - LanguageRegistry.addName(hedetetsVenom, "Hedetet\'s Venom"); - LanguageRegistry.addName(gebsSolidarity, "Geb\'s Solidairty"); - LanguageRegistry.addName(nutsCall, "Nut\'s Call"); - LanguageRegistry.addName(anuketsBounty, "Anuket\'s Bounty"); - LanguageRegistry.addName(mafdetsQuickness, "Mafdet\'s Quickness"); - LanguageRegistry.addName(isisHealing, "Isis\'s Healing"); - LanguageRegistry.addName(amunetsHomecoming, "Amunet\'s Homecoming"); - LanguageRegistry.addName(anubisMercy, "Anubis\'s Mercy"); - LanguageRegistry.addName(limestoneShovel, "Limestone Shovel"); - LanguageRegistry.addName(limestonePickaxe, "Limestone Pickaxe"); - LanguageRegistry.addName(limestoneAxe, "Limestone Axe"); - LanguageRegistry.addName(limestoneSword, "Limestone Sword"); - LanguageRegistry.addName(limestoneHoe, "Limestone Hoe"); - LanguageRegistry.addName(mummyHelmet, "Head Wrap"); - LanguageRegistry.addName(mummyChest, "Chest Wrap"); - LanguageRegistry.addName(mummyLegs, "Leg Wrap"); - LanguageRegistry.addName(mummyBoots, "Feet Wrap"); - LanguageRegistry.addName(wandererHelmet, "Wanderer Head"); - LanguageRegistry.addName(wandererChest, "Wanderer Chest"); - LanguageRegistry.addName(wandererLegs, "Wanderer Legs"); - LanguageRegistry.addName(wandererBoots, "Wanderer Sandels"); - LanguageRegistry.addName(desertHelmet, "Desert Head"); - LanguageRegistry.addName(desertChest, "Desert Chest"); - LanguageRegistry.addName(desertLegs, "Desert Legs"); - LanguageRegistry.addName(desertBoots, "Desert Sandels"); - LanguageRegistry.addName(neithsAudacity, "Neith\'s Audacity"); - LanguageRegistry.addName(scroll, "Scroll"); - LanguageRegistry.addName(pelt, "Wolf Pelt"); - LanguageRegistry.addName(linen, "Linen"); - LanguageRegistry.addName(flax, "Flax"); - LanguageRegistry.addName(flaxSeeds, "Flax Seeds"); - LanguageRegistry.addName(date, "Date"); - LanguageRegistry.addName(new ItemStack(fish, 1, 0), "Wraith Fish"); - LanguageRegistry.addName(new ItemStack(fish, 1, 1), "Mummified Fish"); - LanguageRegistry.addName(new ItemStack(fish, 1, 2), "Golden Fish"); - LanguageRegistry.addName(new ItemStack(fish, 1, 3), "Forsaken Fish"); - } -} diff --git a/common/rebelkeithy/mods/atum/AtumLoot.java b/common/rebelkeithy/mods/atum/AtumLoot.java deleted file mode 100644 index 336fddc..0000000 --- a/common/rebelkeithy/mods/atum/AtumLoot.java +++ /dev/null @@ -1,129 +0,0 @@ -package rebelkeithy.mods.atum; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.AtumItems; -import rebelkeithy.mods.atum.AtumWeightedLootSet; -import rebelkeithy.mods.atum.items.ItemLoot; - -public class AtumLoot { - - public static List artifacts; - public static AtumWeightedLootSet goodLoot; - public static AtumWeightedLootSet junkLoot; - - - public static void init() { - artifacts = new ArrayList(); - goodLoot = new AtumWeightedLootSet(); - junkLoot = new AtumWeightedLootSet(); - ItemStack stack = new ItemStack(AtumItems.ptahsPick); - artifacts.add(stack); - artifacts.add(new ItemStack(AtumItems.sobeksRage)); - artifacts.add(new ItemStack(AtumItems.osirisWill)); - artifacts.add(new ItemStack(AtumItems.akersToil)); - artifacts.add(new ItemStack(AtumItems.gebsBlessing)); - artifacts.add(new ItemStack(AtumItems.atensFury)); - artifacts.add(new ItemStack(AtumItems.rasGlory)); - artifacts.add(new ItemStack(AtumItems.sekhmetsWrath)); - artifacts.add(new ItemStack(AtumItems.nutsAgility)); - artifacts.add(new ItemStack(AtumItems.horusFlight)); - artifacts.add(new ItemStack(AtumItems.monthusStrike)); - artifacts.add(new ItemStack(AtumItems.neithsAudacity)); - artifacts.add(new ItemStack(AtumItems.hedetetsSting)); - artifacts.add(new ItemStack(AtumItems.nusFlux)); - artifacts.add(new ItemStack(AtumItems.anhursMight)); - artifacts.add(new ItemStack(AtumItems.horusSoaring)); - artifacts.add(new ItemStack(AtumItems.shusBreath)); - artifacts.add(new ItemStack(AtumItems.hedetetsVenom)); - artifacts.add(new ItemStack(AtumItems.monthusBlast)); - artifacts.add(new ItemStack(AtumItems.mnevisHorns)); - artifacts.add(new ItemStack(AtumItems.isisEmbrace)); - artifacts.add(new ItemStack(AtumItems.maatsBalance)); - artifacts.add(new ItemStack(AtumItems.nutsCall)); - artifacts.add(new ItemStack(AtumItems.ptahsDestruction)); - artifacts.add(new ItemStack(AtumItems.anuketsBounty)); - artifacts.add(new ItemStack(AtumItems.anubisMercy)); - artifacts.add(new ItemStack(AtumItems.amunetsHomecoming)); - artifacts.add(new ItemStack(AtumItems.isisHealing)); - artifacts.add(new ItemStack(AtumItems.mafdetsQuickness)); - junkLoot.addLoot(new ItemStack(AtumItems.flaxSeeds), 5, 1, 2); - junkLoot.addLoot(new ItemStack(Item.stick), 5, 1, 5); - junkLoot.addLoot(new ItemStack(AtumItems.date), 5, 1, 2); - junkLoot.addLoot(new ItemStack(Item.bone), 10, 1, 3); - junkLoot.addLoot(new ItemStack(Item.bread), 10, 1, 4); - junkLoot.addLoot(new ItemStack(AtumBlocks.sand), 20, 1, 64); - junkLoot.addLoot(new ItemStack(AtumItems.scimitar), 5, 1, 1); - junkLoot.addLoot(new ItemStack(Item.seeds), 5, 1, 3); - junkLoot.addLoot(new ItemStack(Item.leather), 5, 1, 5); - junkLoot.addLoot(new ItemStack(Item.dyePowder, 1, 3), 5, 1, 3); - junkLoot.addLoot(new ItemStack(Item.saddle), 5, 1, 1); - goodLoot.addLoot(new ItemStack(Item.ingotIron), 38, 1, 3); - goodLoot.addLoot(new ItemStack(Item.ingotGold), 20, 1, 3); - goodLoot.addLoot(new ItemStack(Item.diamond), 4, 1, 2); - goodLoot.addLoot(new ItemStack(Item.enchantedBook, 1, 1), 5, 1, 1); - ItemStack stick = new ItemStack(Item.stick); - stick.setItemName("Amazing Stick"); - goodLoot.addLoot(stick, 1, 1, 1); - } - - public static void addArtifact(ItemStack stack) { - artifacts.add(stack); - } - - public static ItemStack getRandomLoot() { - if(artifacts == null) { - init(); - } - - return (ItemStack)artifacts.get(0); - } - - public static ItemStack getRandomArtifact() { - if(artifacts == null) { - init(); - } - - int i = (new Random()).nextInt(artifacts.size()); - return ((ItemStack)artifacts.get(i)).copy(); - } - - public static void fillChest(IInventory inventory, int multiplier, float quality) { - if(inventory == null) { - System.out.println("Error trying to fill empty chest"); - } else { - if(artifacts == null) { - init(); - } - - Random rand = new Random(); - - for(int i = 0; i < multiplier; ++i) { - int slot = rand.nextInt(inventory.getSizeInventory()); - float roll = rand.nextFloat(); - new ItemStack(0, 0, 0); - ItemStack stack; - if(rand.nextFloat() < quality) { - if((double)roll > 0.2D) { - stack = goodLoot.getRandomLoot(); - } else if((double)roll > 0.005D) { - stack = ItemLoot.getRandomLoot(rand, true); - } else { - int randomArtifactID = rand.nextInt(artifacts.size()); - stack = ((ItemStack)artifacts.get(randomArtifactID)).copy(); - } - } else { - stack = junkLoot.getRandomLoot(); - } - - inventory.setInventorySlotContents(slot, stack); - } - - } - } -} diff --git a/common/rebelkeithy/mods/atum/AtumMusicListener.java b/common/rebelkeithy/mods/atum/AtumMusicListener.java deleted file mode 100644 index 272a2da..0000000 --- a/common/rebelkeithy/mods/atum/AtumMusicListener.java +++ /dev/null @@ -1,60 +0,0 @@ -package rebelkeithy.mods.atum; - -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.Random; - -import cpw.mods.fml.client.FMLClientHandler; -import net.minecraft.client.Minecraft; -import net.minecraft.client.audio.SoundPoolEntry; -import net.minecraftforge.client.event.sound.PlayBackgroundMusicEvent; -import net.minecraftforge.client.event.sound.SoundLoadEvent; -import net.minecraftforge.event.ForgeSubscribe; - -public class AtumMusicListener { - - - @ForgeSubscribe - public void onSoundLoadEvent(SoundLoadEvent event) { - event.manager.addSound("Atum/ALongJourney.ogg"); - event.manager.addSound("Atum/Hostiles.ogg"); - event.manager.addSound("Atum/ScorchingSand.ogg"); - event.manager.addSound("Atum/TempleTales.ogg"); - event.manager.addSound("Atum/TheWanderer.ogg"); - event.manager.addSound("Atum/pharaohspawn.ogg"); - } - - @ForgeSubscribe - public void onBackgroundMusic(PlayBackgroundMusicEvent event) { - if (Minecraft.getMinecraft().thePlayer.worldObj.provider.dimensionId == AtumConfig.dimensionID) { - } - - } - - -} -enum Music { - ALongJourney("atum:sound/ALongJourney.ogg"), - HOSTILES("atum:sound/Hostiles.ogg"), - ScorchingSand("atum:sound/ScorchingSand.ogg"), - TempleTales("atum:sound/TempleTales.ogg"), - TheWanderer("atum:sound/TheWanderer.ogg"), - Pharaohspawn("atum:sound/pharaohspawn.ogg"); - - private static final List VALUES = Collections.unmodifiableList(Arrays.asList(values())); - private static final int SIZE = VALUES.size(); - private static final Random RANDOM = new Random(); - - public String soundLocation; - public String soundTag; - - Music(String music) { - this.soundLocation = music; - this.soundTag = this.soundLocation.substring(0, this.soundLocation.length() - ".ogg".length()).replace("/", "."); - } - - public static Music getRandomTrack() { - return VALUES.get(RANDOM.nextInt(SIZE)); - } -} \ No newline at end of file diff --git a/common/rebelkeithy/mods/atum/AtumPortalPosition.java b/common/rebelkeithy/mods/atum/AtumPortalPosition.java deleted file mode 100644 index ba1bcb6..0000000 --- a/common/rebelkeithy/mods/atum/AtumPortalPosition.java +++ /dev/null @@ -1,17 +0,0 @@ -package rebelkeithy.mods.atum; - -import net.minecraft.util.ChunkCoordinates; -import rebelkeithy.mods.atum.AtumTeleporter; - -public class AtumPortalPosition extends ChunkCoordinates { - - public long field_85087_d; - final AtumTeleporter field_85088_e; - - - public AtumPortalPosition(AtumTeleporter par1Teleporter, int par2, int par3, int par4, long par5) { - super(par2, par3, par4); - this.field_85088_e = par1Teleporter; - this.field_85087_d = par5; - } -} diff --git a/common/rebelkeithy/mods/atum/AtumRecipes.java b/common/rebelkeithy/mods/atum/AtumRecipes.java deleted file mode 100644 index 0f2756f..0000000 --- a/common/rebelkeithy/mods/atum/AtumRecipes.java +++ /dev/null @@ -1,77 +0,0 @@ -package rebelkeithy.mods.atum; - -import cpw.mods.fml.common.registry.GameRegistry; -import net.minecraft.block.Block; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.FurnaceRecipes; -import net.minecraftforge.oredict.ShapedOreRecipe; -import net.minecraftforge.oredict.ShapelessOreRecipe; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.AtumItems; - -public class AtumRecipes { - - public static void addRecipes() { - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(AtumBlocks.largeBrick, 4), new Object[]{"XX", "XX", Character.valueOf('X'), AtumBlocks.stone})); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(AtumBlocks.smallBrick, 4), new Object[]{"XX", "XX", Character.valueOf('X'), AtumBlocks.cobble})); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(AtumBlocks.carvedBrick, 1), new Object[]{AtumBlocks.stone})); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.smoothStairs, 6), new Object[]{"X ", "XX ", "XXX", Character.valueOf('X'), AtumBlocks.stone}); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.cobbleStairs, 6), new Object[]{"X ", "XX ", "XXX", Character.valueOf('X'), AtumBlocks.cobble}); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.largeStoneStairs, 6), new Object[]{"X ", "XX ", "XXX", Character.valueOf('X'), AtumBlocks.largeBrick}); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.smallStoneStairs, 6), new Object[]{"X ", "XX ", "XXX", Character.valueOf('X'), AtumBlocks.smallBrick}); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.slabs, 6, 0), new Object[]{"XXX", Character.valueOf('X'), AtumBlocks.stone}); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.slabs, 6, 1), new Object[]{"XXX", Character.valueOf('X'), AtumBlocks.cobble}); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.slabs, 6, 2), new Object[]{"XXX", Character.valueOf('X'), AtumBlocks.largeBrick}); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.slabs, 6, 3), new Object[]{"XXX", Character.valueOf('X'), AtumBlocks.smallBrick}); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.wall, 6, 0), new Object[]{"XXX", "XXX", Character.valueOf('X'), AtumBlocks.stone}); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.wall, 6, 1), new Object[]{"XXX", "XXX", Character.valueOf('X'), AtumBlocks.cobble}); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.wall, 6, 2), new Object[]{"XXX", "XXX", Character.valueOf('X'), AtumBlocks.largeBrick}); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.wall, 6, 3), new Object[]{"XXX", "XXX", Character.valueOf('X'), AtumBlocks.smallBrick}); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.framedGlass), new Object[]{" X ", "XSX", " X ", Character.valueOf('X'), Item.stick, Character.valueOf('S'), AtumBlocks.crystalGlass}); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.crackedLargeBrick, 4), new Object[]{"XX", "XX", Character.valueOf('X'), AtumItems.stoneChunk}); - GameRegistry.addRecipe(new ItemStack(Item.expBottle), new Object[]{" X ", "XBX", " X ", Character.valueOf('X'), AtumItems.ectoplasm, Character.valueOf('B'), Item.potion}); - GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneSword), new Object[]{"L", "L", "S", Character.valueOf('L'), AtumBlocks.cobble, Character.valueOf('S'), Item.stick}); - GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneShovel), new Object[]{"L", "S", "S", Character.valueOf('L'), AtumBlocks.cobble, Character.valueOf('S'), Item.stick}); - GameRegistry.addRecipe(new ItemStack(AtumItems.limestonePickaxe), new Object[]{"LLL", " S ", " S ", Character.valueOf('L'), AtumBlocks.cobble, Character.valueOf('S'), Item.stick}); - GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneAxe), new Object[]{"LL", "LS", " S", Character.valueOf('L'), AtumBlocks.cobble, Character.valueOf('S'), Item.stick}); - GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneHoe), new Object[]{"LL", " S", " S", Character.valueOf('L'), AtumBlocks.cobble, Character.valueOf('S'), Item.stick}); - GameRegistry.addRecipe(new ItemStack(AtumItems.mummyHelmet), new Object[]{"XXX", "X X", Character.valueOf('X'), AtumItems.scrap}); - GameRegistry.addRecipe(new ItemStack(AtumItems.mummyChest), new Object[]{"X X", "XXX", "XXX", Character.valueOf('X'), AtumItems.scrap}); - GameRegistry.addRecipe(new ItemStack(AtumItems.mummyLegs), new Object[]{"XXX", "X X", "X X", Character.valueOf('X'), AtumItems.scrap}); - GameRegistry.addRecipe(new ItemStack(AtumItems.mummyBoots), new Object[]{"X X", "X X", Character.valueOf('X'), AtumItems.scrap}); - GameRegistry.addRecipe(new ItemStack(AtumItems.wandererHelmet), new Object[]{"XXX", "X X", Character.valueOf('X'), AtumItems.linen}); - GameRegistry.addRecipe(new ItemStack(AtumItems.wandererChest), new Object[]{"X X", "XXX", "XXX", Character.valueOf('X'), AtumItems.linen}); - GameRegistry.addRecipe(new ItemStack(AtumItems.wandererLegs), new Object[]{"XXX", "X X", "X X", Character.valueOf('X'), AtumItems.linen}); - GameRegistry.addRecipe(new ItemStack(AtumItems.wandererBoots), new Object[]{"X X", "X X", Character.valueOf('X'), AtumItems.linen}); - GameRegistry.addRecipe(new ItemStack(AtumItems.linen), new Object[]{"XXX", Character.valueOf('X'), AtumItems.flax}); - GameRegistry.addRecipe(new ItemStack(Item.glassBottle, 3), new Object[]{"X X", " X ", Character.valueOf('X'), AtumBlocks.crystalGlass}); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.thinCrystalGlass, 16), new Object[]{"XXX", "XXX", Character.valueOf('X'), AtumBlocks.crystalGlass}); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.thinFramedGlass, 16), new Object[]{"XXX", "XXX", Character.valueOf('X'), AtumBlocks.framedGlass}); - GameRegistry.addRecipe(new ItemStack(AtumItems.scroll), new Object[]{"XXX", "SXS", "XXX", Character.valueOf('X'), AtumItems.papyrusPlant, Character.valueOf('S'), Item.stick}); - GameRegistry.addRecipe(new ItemStack(AtumItems.scarab), new Object[]{" G ", "GDG", " G ", Character.valueOf('G'), Item.ingotGold, Character.valueOf('D'), Item.diamond}); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.furnaceIdle), new Object[]{"XXX", "X X", "XXX", Character.valueOf('X'), AtumBlocks.cobble}); - } - - public static void addSmeltingRecipes() { - FurnaceRecipes.smelting().addSmelting(AtumBlocks.ironOre.blockID, 0, new ItemStack(Item.ingotIron), 0.7F); - FurnaceRecipes.smelting().addSmelting(AtumBlocks.coalOre.blockID, new ItemStack(Item.coal), 0.1F); - FurnaceRecipes.smelting().addSmelting(AtumBlocks.redstoneOre.blockID, new ItemStack(Item.redstone), 0.7F); - FurnaceRecipes.smelting().addSmelting(AtumBlocks.lapisOre.blockID, new ItemStack(Item.dyePowder, 1, 4), 0.2F); - FurnaceRecipes.smelting().addSmelting(AtumBlocks.goldOre.blockID, new ItemStack(Item.ingotGold), 1.0F); - FurnaceRecipes.smelting().addSmelting(AtumBlocks.diamondOre.blockID, new ItemStack(Item.diamond), 1.0F); - FurnaceRecipes.smelting().addSmelting(AtumBlocks.log.blockID, new ItemStack(Item.coal, 1, 1), 0.15F); - FurnaceRecipes.smelting().addSmelting(AtumBlocks.cobble.blockID, new ItemStack(AtumBlocks.stone), 0.1F); - FurnaceRecipes.smelting().addSmelting(AtumBlocks.sand.blockID, new ItemStack(AtumBlocks.crystalGlass), 0.1F); - } - - public static void addShapelessRecipes() { - GameRegistry.addShapelessRecipe(new ItemStack(AtumBlocks.planks, 4), new Object[]{AtumBlocks.log}); - GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertHelmet), new Object[]{AtumItems.wandererHelmet, Item.helmetIron}); - GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertChest), new Object[]{AtumItems.wandererChest, Item.plateIron}); - GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertLegs), new Object[]{AtumItems.wandererLegs, Item.legsIron}); - GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertBoots), new Object[]{AtumItems.wandererBoots, Item.bootsIron}); - GameRegistry.addShapelessRecipe(new ItemStack(Block.sand), new Object[]{AtumBlocks.sand}); - GameRegistry.addShapelessRecipe(new ItemStack(Item.silk, 3), new Object[]{AtumItems.flax}); - } -} diff --git a/common/rebelkeithy/mods/atum/AtumTab.java b/common/rebelkeithy/mods/atum/AtumTab.java deleted file mode 100644 index b4f2fef..0000000 --- a/common/rebelkeithy/mods/atum/AtumTab.java +++ /dev/null @@ -1,16 +0,0 @@ -package rebelkeithy.mods.atum; - -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import rebelkeithy.mods.atum.AtumItems; - -public class AtumTab extends CreativeTabs { - - public AtumTab(String label) { - super(label); - } - - public Item getTabIconItem() { - return AtumItems.scarab; - } -} diff --git a/common/rebelkeithy/mods/atum/AtumTeleporter.java b/common/rebelkeithy/mods/atum/AtumTeleporter.java deleted file mode 100644 index 17f0f3b..0000000 --- a/common/rebelkeithy/mods/atum/AtumTeleporter.java +++ /dev/null @@ -1,409 +0,0 @@ -package rebelkeithy.mods.atum; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.entity.Entity; -import net.minecraft.util.Direction; -import net.minecraft.util.LongHashMap; -import net.minecraft.util.MathHelper; -import net.minecraft.world.ChunkCoordIntPair; -import net.minecraft.world.PortalPosition; -import net.minecraft.world.Teleporter; -import net.minecraft.world.WorldServer; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.AtumPortalPosition; - -public class AtumTeleporter extends Teleporter { - - private final WorldServer worldServerInstance; - private final Random random; - public static String[][] portalDesign = new String[][] { { "XXXXX", "X X", "X X", "X X", "XXXXX" }, { "X X", " ", " ", " ", "X X" }, { "X X", " ", " ", " ", "X X" } }; - - private final LongHashMap destinationCoordinateCache = new LongHashMap(); - private final List destinationCoordinateKeys = new ArrayList(); - - public AtumTeleporter(WorldServer par1WorldServer) { - super(par1WorldServer); - this.worldServerInstance = par1WorldServer; - this.random = new Random(par1WorldServer.getSeed()); - } - - @Override - public void placeInPortal(Entity par1Entity, double par2, double par4, double par6, float par8) { - if (this.worldServerInstance.provider.dimensionId != 1) { - if (!this.placeInExistingPortal(par1Entity, par2, par4, par6, par8)) { - this.makePortal(par1Entity); - this.placeInExistingPortal(par1Entity, par2, par4, par6, par8); - } - } else { - int i = MathHelper.floor_double(par1Entity.posX); - int j = MathHelper.floor_double(par1Entity.posY) - 1; - int k = MathHelper.floor_double(par1Entity.posZ); - byte b0 = 1; - byte b1 = 0; - - for (int l = -2; l <= 2; ++l) { - for (int i1 = -2; i1 <= 2; ++i1) { - for (int j1 = -1; j1 < 3; ++j1) { - int k1 = i + i1 * b0 + l * b1; - int l1 = j + j1; - int i2 = k + i1 * b1 - l * b0; - boolean flag = j1 < 0; - this.worldServerInstance.setBlock(k1, l1, i2, flag ? Block.sandStone.blockID : 0); - } - } - } - - par1Entity.setLocationAndAngles((double) i, (double) j, (double) k, par1Entity.rotationYaw, 0.0F); - par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D; - } - - } - - @Override - public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4, double par6, float par8) { - short short1 = 128; - double d3 = -1.0D; - int i = 0; - int j = 0; - int k = 0; - int l = MathHelper.floor_double(par1Entity.posX); - int i1 = MathHelper.floor_double(par1Entity.posZ); - long j1 = ChunkCoordIntPair.chunkXZ2Int(l, i1); - boolean flag = true; - double d4; - int k1; - int k2; - double var46; - if (this.destinationCoordinateCache.containsItem(j1)) { - PortalPosition d8 = (PortalPosition) this.destinationCoordinateCache.getValueByKey(j1); - d3 = 0.0D; - i = d8.posX; - j = d8.posY; - k = d8.posZ; - d8.lastUpdateTime = this.worldServerInstance.getTotalWorldTime(); - flag = false; - } else { - for (k1 = l - short1; k1 <= l + short1; ++k1) { - var46 = (double) k1 + 0.5D - par1Entity.posX; - - for (int d9 = i1 - short1; d9 <= i1 + short1; ++d9) { - double d6 = (double) d9 + 0.5D - par1Entity.posZ; - - for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { - if (this.worldServerInstance.getBlockId(k1, k2, d9) == AtumBlocks.portal.blockID) { - while (this.worldServerInstance.getBlockId(k1, k2 - 1, d9) == AtumBlocks.portal.blockID) { - --k2; - } - - d4 = (double) k2 + 0.5D - par1Entity.posY; - double l2 = var46 * var46 + d4 * d4 + d6 * d6; - if (d3 < 0.0D || l2 < d3) { - d3 = l2; - i = k1; - j = k2; - k = d9; - } - } - } - } - } - } - - if (d3 >= 0.0D) { - if (flag) { - this.destinationCoordinateCache.add(j1, new AtumPortalPosition(this, i, j, k, this.worldServerInstance.getTotalWorldTime())); - this.destinationCoordinateKeys.add(Long.valueOf(j1)); - } - - var46 = (double) i + 0.5D; - double var47 = (double) j + 0.5D; - d4 = (double) k + 0.5D; - int j2 = -1; - if (this.worldServerInstance.getBlockId(i - 1, j, k) == AtumBlocks.portal.blockID) { - j2 = 2; - } - - if (this.worldServerInstance.getBlockId(i + 1, j, k) == AtumBlocks.portal.blockID) { - j2 = 0; - } - - if (this.worldServerInstance.getBlockId(i, j, k - 1) == AtumBlocks.portal.blockID) { - j2 = 3; - } - - if (this.worldServerInstance.getBlockId(i, j, k + 1) == AtumBlocks.portal.blockID) { - j2 = 1; - } - - k2 = par1Entity.getTeleportDirection(); - if (j2 > -1) { - int var48 = Direction.rotateLeft[j2]; - int i3 = Direction.offsetX[j2]; - int j3 = Direction.offsetZ[j2]; - int k3 = Direction.offsetX[var48]; - int l3 = Direction.offsetZ[var48]; - boolean flag1 = !this.worldServerInstance.isAirBlock(i + i3 + k3, j, k + j3 + l3) || !this.worldServerInstance.isAirBlock(i + i3 + k3, j + 1, k + j3 + l3); - boolean flag2 = !this.worldServerInstance.isAirBlock(i + i3, j, k + j3) || !this.worldServerInstance.isAirBlock(i + i3, j + 1, k + j3); - if (flag1 && flag2) { - j2 = Direction.rotateOpposite[j2]; - var48 = Direction.rotateOpposite[var48]; - i3 = Direction.offsetX[j2]; - j3 = Direction.offsetZ[j2]; - k3 = Direction.offsetX[var48]; - l3 = Direction.offsetZ[var48]; - k1 = i - k3; - var46 -= (double) k3; - int f1 = k - l3; - d4 -= (double) l3; - flag1 = !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j, f1 + j3 + l3) || !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j + 1, f1 + j3 + l3); - flag2 = !this.worldServerInstance.isAirBlock(k1 + i3, j, f1 + j3) || !this.worldServerInstance.isAirBlock(k1 + i3, j + 1, f1 + j3); - } - - float var49 = 0.5F; - float f2 = 0.5F; - if (!flag1 && flag2) { - var49 = 1.0F; - } else if (flag1 && !flag2) { - var49 = 0.0F; - } else if (flag1 && flag2) { - f2 = 0.0F; - } - - var46 += (double) ((float) k3 * var49 + f2 * (float) i3); - d4 += (double) ((float) l3 * var49 + f2 * (float) j3); - float f3 = 0.0F; - float f4 = 0.0F; - float f5 = 0.0F; - float f6 = 0.0F; - if (j2 == k2) { - f3 = 1.0F; - f4 = 1.0F; - } else if (j2 == Direction.rotateOpposite[k2]) { - f3 = -1.0F; - f4 = -1.0F; - } else if (j2 == Direction.rotateRight[k2]) { - f5 = 1.0F; - f6 = -1.0F; - } else { - f5 = -1.0F; - f6 = 1.0F; - } - - double d10 = par1Entity.motionX; - double d11 = par1Entity.motionZ; - par1Entity.motionX = d10 * (double) f3 + d11 * (double) f6; - par1Entity.motionZ = d10 * (double) f5 + d11 * (double) f4; - par1Entity.rotationYaw = par8 - (float) (k2 * 90) + (float) (j2 * 90); - } else { - par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D; - } - - par1Entity.setLocationAndAngles(var46, var47, d4, par1Entity.rotationYaw, par1Entity.rotationPitch); - return true; - } else { - return false; - } - } - - @Override - public boolean makePortal(Entity par1Entity) { - byte b0 = 16; - double d0 = -1.0D; - int entityX = MathHelper.floor_double(par1Entity.posX); - int entityY = MathHelper.floor_double(par1Entity.posY); - int entityZ = MathHelper.floor_double(par1Entity.posZ); - int l = entityX; - int i1 = entityY; - int j1 = entityZ; - int k1 = 0; - int l1 = this.random.nextInt(4); - - int i2; - double d1; - double d2; - int k2; - int j2; - int i3; - int l2; - int k3; - int j3; - int i4; - int l3; - int k4; - int j4; - double d3; - double d4; - int i5; - for (i2 = entityX - b0; i2 <= entityX + b0; ++i2) { - d1 = (double) i2 + 0.5D - par1Entity.posX; - - for (j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) { - d2 = (double) j2 + 0.5D - par1Entity.posZ; - - label272: for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { - if (this.worldServerInstance.isAirBlock(i2, k2, j2)) { - while (k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) { - --k2; - } - - for (i3 = l1; i3 < l1 + 4; ++i3) { - l2 = i3 % 2; - k3 = 1 - l2; - if (i3 % 4 >= 2) { - l2 = -l2; - k3 = -k3; - } - - for (j3 = 0; j3 < 3; ++j3) { - for (i4 = 0; i4 < 4; ++i4) { - for (l3 = -1; l3 < 4; ++l3) { - k4 = i2 + (i4 - 1) * l2 + j3 * k3; - j4 = k2 + l3; - i5 = j2 + (i4 - 1) * k3 - j3 * l2; - if (l3 < 0 && !this.worldServerInstance.getBlockMaterial(k4, j4, i5).isSolid() || l3 >= 0 && !this.worldServerInstance.isAirBlock(k4, j4, i5)) { - continue label272; - } - } - } - } - - d4 = (double) k2 + 0.5D - par1Entity.posY; - d3 = d1 * d1 + d4 * d4 + d2 * d2; - if (d0 < 0.0D || d3 < d0) { - d0 = d3; - l = i2; - i1 = k2; - j1 = j2; - k1 = i3 % 4; - } - } - } - } - } - } - - if (d0 < 0.0D) { - for (i2 = entityX - b0; i2 <= entityX + b0; ++i2) { - d1 = (double) i2 + 0.5D - par1Entity.posX; - - for (j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) { - d2 = (double) j2 + 0.5D - par1Entity.posZ; - - label220: for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { - if (this.worldServerInstance.isAirBlock(i2, k2, j2)) { - while (k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) { - --k2; - } - - for (i3 = l1; i3 < l1 + 2; ++i3) { - l2 = i3 % 2; - k3 = 1 - l2; - - for (j3 = 0; j3 < 4; ++j3) { - for (i4 = -1; i4 < 4; ++i4) { - l3 = i2 + (j3 - 1) * l2; - k4 = k2 + i4; - j4 = j2 + (j3 - 1) * k3; - if (i4 < 0 && !this.worldServerInstance.getBlockMaterial(l3, k4, j4).isSolid() || i4 >= 0 && !this.worldServerInstance.isAirBlock(l3, k4, j4)) { - continue label220; - } - } - } - - d4 = (double) k2 + 0.5D - par1Entity.posY; - d3 = d1 * d1 + d4 * d4 + d2 * d2; - if (d0 < 0.0D || d3 < d0) { - d0 = d3; - l = i2; - i1 = k2; - j1 = j2; - k1 = i3 % 2; - } - } - } - } - } - } - } - - i5 = l; - int j5 = i1; - j2 = j1; - int k5 = k1 % 2; - int l5 = 1 - k5; - if (k1 % 4 >= 2) { - k5 = -k5; - l5 = -l5; - } - - boolean flag; - if (d0 < 0.0D) { - if (i1 < 70) { - i1 = 70; - } - - if (i1 > this.worldServerInstance.getActualHeight() - 10) { - i1 = this.worldServerInstance.getActualHeight() - 10; - } - - j5 = i1; - - for (k2 = -1; k2 <= 1; ++k2) { - for (i3 = 1; i3 < 3; ++i3) { - for (l2 = -1; l2 < 3; ++l2) { - k3 = i5 + (i3 - 1) * k5 + k2 * l5; - j3 = j5 + l2; - i4 = j2 + (i3 - 1) * l5 - k2 * k5; - flag = l2 < 0; - this.worldServerInstance.setBlock(k3, j3, i4, flag ? Block.sandStone.blockID : 0); - } - } - } - } - - for (k2 = 0; k2 < 4; ++k2) { - for (i3 = 0; i3 < 4; ++i3) { - for (l2 = -1; l2 < 4; ++l2) { - k3 = i5 + (i3 - 1) * k5; - j3 = j5 + l2; - i4 = j2 + (i3 - 1) * l5; - flag = i3 == 0 || i3 == 3 || l2 == -1 || l2 == 3; - this.worldServerInstance.setBlock(k3, j3, i4, flag ? Block.sandStone.blockID : AtumBlocks.portal.blockID, 0, 2); - } - } - - for (i3 = 0; i3 < 4; ++i3) { - for (l2 = -1; l2 < 4; ++l2) { - k3 = i5 + (i3 - 1) * k5; - j3 = j5 + l2; - i4 = j2 + (i3 - 1) * l5; - this.worldServerInstance.notifyBlocksOfNeighborChange(k3, j3, i4, this.worldServerInstance.getBlockId(k3, j3, i4)); - } - } - } - - return true; - } - - public void removeStalePortalLocations(long par1) { - if (par1 % 100L == 0L) { - Iterator iterator = this.destinationCoordinateKeys.iterator(); - long j = par1 - 600L; - - while (iterator.hasNext()) { - Long olong = (Long) iterator.next(); - PortalPosition portalposition = (PortalPosition) this.destinationCoordinateCache.getValueByKey(olong.longValue()); - if (portalposition == null || portalposition.lastUpdateTime < j) { - iterator.remove(); - this.destinationCoordinateCache.remove(olong.longValue()); - } - } - } - - } - -} diff --git a/common/rebelkeithy/mods/atum/AtumWeightedLootSet.java b/common/rebelkeithy/mods/atum/AtumWeightedLootSet.java deleted file mode 100644 index d88765c..0000000 --- a/common/rebelkeithy/mods/atum/AtumWeightedLootSet.java +++ /dev/null @@ -1,67 +0,0 @@ -package rebelkeithy.mods.atum; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; -import java.util.Random; -import java.util.Set; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentData; -import net.minecraft.item.Item; -import net.minecraft.item.ItemEnchantedBook; -import net.minecraft.item.ItemStack; -import net.minecraft.util.MathHelper; - -public class AtumWeightedLootSet { - public Map loot; - public Map lootMin; - public Map lootMax; - public int totalWeight; - - public AtumWeightedLootSet() { - this.loot = new HashMap(); - this.lootMin = new HashMap(); - this.lootMax = new HashMap(); - this.totalWeight = 0; - } - - public void addLoot(ItemStack stack, int weight, int min, int max) { - if ((weight <= 0) || (stack == null)) { - return; - } - this.loot.put(Integer.valueOf(this.totalWeight + weight), stack); - this.lootMin.put(Integer.valueOf(this.totalWeight + weight), Integer.valueOf(min)); - this.lootMax.put(Integer.valueOf(this.totalWeight + weight), Integer.valueOf(max)); - this.totalWeight += weight; - } - - public ItemStack getRandomLoot() { - Random rand = new Random(); - int weight = rand.nextInt(this.totalWeight); - - ItemStack stack = null; - - Set keySet = this.loot.keySet(); - Integer[] keys = (Integer[]) keySet.toArray(new Integer[keySet.size()]); - Arrays.sort(keys); - - for (Integer key : keys) { - if (key.intValue() >= weight) { - stack = ((ItemStack) this.loot.get(key)).copy(); - int min = ((Integer) this.lootMin.get(key)).intValue(); - int max = ((Integer) this.lootMax.get(key)).intValue(); - int amount = rand.nextInt(max - min + 1) + min; - stack.stackSize = amount; - if (stack.itemID != Item.enchantedBook.itemID) - break; - Enchantment enchantment = Enchantment.enchantmentsBookList[rand.nextInt(Enchantment.enchantmentsBookList.length)]; - int l = MathHelper.getRandomIntegerInRange(rand, enchantment.getMinLevel(), enchantment.getMaxLevel()); - ((ItemEnchantedBook) stack.getItem()).addEnchantment(stack, new EnchantmentData(enchantment, l)); - break; - } - - } - - return stack; - } -} \ No newline at end of file diff --git a/common/rebelkeithy/mods/atum/ClientProxy.java b/common/rebelkeithy/mods/atum/ClientProxy.java deleted file mode 100644 index a8aa110..0000000 --- a/common/rebelkeithy/mods/atum/ClientProxy.java +++ /dev/null @@ -1,100 +0,0 @@ -package rebelkeithy.mods.atum; - -import java.io.File; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBiped; -import net.minecraft.client.model.ModelZombie; -import net.minecraft.client.renderer.entity.RenderBiped; -import net.minecraft.client.renderer.entity.RenderFish; -import net.minecraft.client.renderer.entity.RenderManager; -import net.minecraftforge.client.MinecraftForgeClient; -import rebelkeithy.mods.atum.artifacts.arrow.CustomArrow; -import rebelkeithy.mods.atum.artifacts.arrow.EntityAtumFishHook; -import rebelkeithy.mods.atum.artifacts.arrow.EntityNutsCall; -import rebelkeithy.mods.atum.artifacts.arrow.RenderCustomArrow; -import rebelkeithy.mods.atum.artifacts.arrow.RenderNutsCall; -import rebelkeithy.mods.atum.blocks.BlockDate; -import rebelkeithy.mods.atum.blocks.BlockPapyrus; -import rebelkeithy.mods.atum.blocks.renderers.DateBlockRenderer; -import rebelkeithy.mods.atum.blocks.renderers.PapyrusBlockRenderer; -import rebelkeithy.mods.atum.entities.EntityBanditArcher; -import rebelkeithy.mods.atum.entities.EntityBanditWarlord; -import rebelkeithy.mods.atum.entities.EntityBanditWarrior; -import rebelkeithy.mods.atum.entities.EntityBarbarian; -import rebelkeithy.mods.atum.entities.EntityDesertWolf; -import rebelkeithy.mods.atum.entities.EntityDustySkeleton; -import rebelkeithy.mods.atum.entities.EntityGhost; -import rebelkeithy.mods.atum.entities.EntityMummy; -import rebelkeithy.mods.atum.entities.EntityPharaoh; -import rebelkeithy.mods.atum.entities.EntityStoneSoldier; -import rebelkeithy.mods.atum.entities.ModelDesertWolf; -import rebelkeithy.mods.atum.entities.ModelDustySkeleton; -import rebelkeithy.mods.atum.entities.projectiles.EntityFireSpearCombined; -import rebelkeithy.mods.atum.entities.projectiles.EntityFireSpearSeperated; -import rebelkeithy.mods.atum.entities.projectiles.RenderFireSpear; -import rebelkeithy.mods.atum.entities.projectiles.RenderFireSpearSeperated; -import rebelkeithy.mods.atum.entities.render.CustomRenderBiped; -import rebelkeithy.mods.atum.entities.render.RenderBandit; -import rebelkeithy.mods.atum.entities.render.RenderDesertWolf; -import rebelkeithy.mods.atum.entities.render.RenderGhost; -import rebelkeithy.mods.atum.entities.render.RenderPharaoh; -import rebelkeithy.mods.atum.items.RendererItemBow; -import rebelkeithy.mods.atum.particles.EntityCritFX; -import rebelkeithy.mods.atum.particles.EntitySandFX; -import rebelkeithy.mods.atum.particles.EntitySandPortalFX; -import rebelkeithy.mods.particleregistry.ParticleRegistry; -import cpw.mods.fml.client.registry.RenderingRegistry; -import cpw.mods.fml.common.registry.TickRegistry; -import cpw.mods.fml.relauncher.Side; - -public class ClientProxy extends CommonProxy { - - public void registerParticles() { - ParticleRegistry.registerParticle("sand", EntitySandFX.class); - ParticleRegistry.registerParticle("sandportal", EntitySandPortalFX.class); - ParticleRegistry.registerParticle("coloredcrit", EntityCritFX.class); - } - - public File getMinecraftDir() { - return Minecraft.getMinecraft().mcDataDir; - } - - public void registerTickHandlers() { - TickRegistry.registerTickHandler(new ServerTickHandler(), Side.SERVER); - TickRegistry.registerTickHandler(new TickHandler(), Side.CLIENT); - } - - public void registerModelRenderers() { - RenderingRegistry.registerEntityRenderingHandler(EntityMummy.class, new CustomRenderBiped(new ModelZombie(), 0.5F, "Mummy.png")); - RenderingRegistry.registerEntityRenderingHandler(EntityBanditWarrior.class, new RenderBandit(new ModelBiped(), 0.5F, "BanditWarrior.png")); - RenderingRegistry.registerEntityRenderingHandler(EntityBarbarian.class, new CustomRenderBiped(new ModelBiped(), 0.5F, "Barbarian.png")); - RenderingRegistry.registerEntityRenderingHandler(EntityBanditArcher.class, new RenderBandit(new ModelBiped(), 0.5F, "BanditArcher.png")); - RenderingRegistry.registerEntityRenderingHandler(EntityBanditWarlord.class, new RenderBandit(new ModelBiped(), 0.5F, "BanditWarlord.png")); - RenderingRegistry.registerEntityRenderingHandler(EntityPharaoh.class, new RenderPharaoh(new ModelBiped(), 0.5F)); - RenderingRegistry.registerEntityRenderingHandler(EntityDustySkeleton.class, new CustomRenderBiped(new ModelDustySkeleton(), 0.5F, "DustySkeleton.png")); - RenderingRegistry.registerEntityRenderingHandler(EntityGhost.class, new RenderGhost(new ModelZombie(), 0.5F)); - RenderingRegistry.registerEntityRenderingHandler(EntityStoneSoldier.class, new CustomRenderBiped(new ModelBiped(), 0.5F, "StoneSoldier.png")); - RenderingRegistry.registerEntityRenderingHandler(EntityDesertWolf.class, new RenderDesertWolf(new ModelDesertWolf(), 0.5F)); - - RenderingRegistry.registerEntityRenderingHandler(EntityFireSpearCombined.class, new RenderFireSpear()); - RenderingRegistry.registerEntityRenderingHandler(CustomArrow.class, new RenderCustomArrow()); - RenderingRegistry.registerEntityRenderingHandler(EntityNutsCall.class, new RenderNutsCall()); - RenderingRegistry.registerEntityRenderingHandler(EntityAtumFishHook.class, new RenderFish()); - RenderManager.instance.entityRenderMap.put(EntityFireSpearCombined.class, new RenderFireSpear()); - RenderManager.instance.entityRenderMap.put(EntityFireSpearSeperated.class, new RenderFireSpearSeperated()); - MinecraftForgeClient.registerItemRenderer(AtumItems.bow.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.atensFury.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.horusSoaring.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.neithsAudacity.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.shusBreath.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.hedetetsVenom.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.monthusBlast.itemID, new RendererItemBow()); - RenderingRegistry.registerBlockHandler(((BlockPapyrus) AtumBlocks.papyrus).renderID, new PapyrusBlockRenderer()); - RenderingRegistry.registerBlockHandler(((BlockDate) ((BlockDate) AtumBlocks.dateBlock)).renderID, new DateBlockRenderer()); - } - - public void registerMusic() { - // MinecraftForge.EVENT_BUS.register(new AtumMusicListener()); - } -} diff --git a/common/rebelkeithy/mods/atum/CommonProxy.java b/common/rebelkeithy/mods/atum/CommonProxy.java deleted file mode 100644 index 527bc84..0000000 --- a/common/rebelkeithy/mods/atum/CommonProxy.java +++ /dev/null @@ -1,25 +0,0 @@ -package rebelkeithy.mods.atum; - -import cpw.mods.fml.common.registry.TickRegistry; -import cpw.mods.fml.relauncher.Side; -import java.io.File; -import rebelkeithy.mods.atum.ServerTickHandler; - -public class CommonProxy { - - public void registerParticles() {} - - public File getMinecraftDir() { - return new File("."); - } - - public void registerTickHandlers() { - TickRegistry.registerTickHandler(new ServerTickHandler(), Side.SERVER); - } - - public void preloadImages() {} - - public void registerModelRenderers() {} - - public void registerMusic() {} -} diff --git a/common/rebelkeithy/mods/atum/PotionStun.java b/common/rebelkeithy/mods/atum/PotionStun.java deleted file mode 100644 index 91c25a9..0000000 --- a/common/rebelkeithy/mods/atum/PotionStun.java +++ /dev/null @@ -1,33 +0,0 @@ -package rebelkeithy.mods.atum; - -import cpw.mods.fml.relauncher.ReflectionHelper; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.potion.Potion; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.ForgeSubscribe; -import net.minecraftforge.event.entity.living.LivingSetAttackTargetEvent; - -public class PotionStun extends Potion { - - protected PotionStun(int par1, boolean par2, int par3) { - super(par1, par2, par3); - MinecraftForge.EVENT_BUS.register(this); - } - - @ForgeSubscribe - public void entityAquireTarge(LivingSetAttackTargetEvent event) { - if(event.entityLiving != null && event.entityLiving.isPotionActive(this)) { - ReflectionHelper.setPrivateValue(EntityLivingBase.class, event.entityLiving, (Object)null, new String[]{"attackTarget", "field_70696_bz", "b0"}); - } - - } - - public void performEffect(EntityLiving par1EntityLiving, int par2) { - ReflectionHelper.setPrivateValue(EntityLiving.class, par1EntityLiving, (Object)null, new String[]{"currentTarget", "field_70776_bF", "bY"}); - } - - public boolean isReady(int par1, int par2) { - return true; - } -} diff --git a/common/rebelkeithy/mods/atum/ServerTickHandler.java b/common/rebelkeithy/mods/atum/ServerTickHandler.java deleted file mode 100644 index ba1ee87..0000000 --- a/common/rebelkeithy/mods/atum/ServerTickHandler.java +++ /dev/null @@ -1,57 +0,0 @@ -package rebelkeithy.mods.atum; - -import cpw.mods.fml.common.ITickHandler; -import cpw.mods.fml.common.TickType; -import java.util.EnumSet; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import rebelkeithy.mods.atum.AtumItems; - -public class ServerTickHandler implements ITickHandler { - - private boolean raining; - - - public void tickStart(EnumSet type, Object ... tickData) { - if(type.equals(EnumSet.of(TickType.PLAYER))) { - EntityPlayer player = (EntityPlayer)tickData[0]; - if(player.worldObj.getTotalWorldTime() % 60L == 0L && player.getCurrentArmor(2) != null && player.getCurrentArmor(2).itemID == AtumItems.isisEmbrace.itemID) { - player.heal(1); - } - - if(player.worldObj.getTotalWorldTime() % 10L == 0L) { - if(player.getCurrentArmor(3) != null) { - if(player.getCurrentArmor(3).itemID == AtumItems.rasGlory.itemID) { - player.addPotionEffect(new PotionEffect(16, 340, 0, true)); - } else if(player.isPotionActive(16)) { - player.clearActivePotions(); - } - } - - if(player.getCurrentArmor(2) != null && player.getCurrentArmor(2).itemID == AtumItems.sekhmetsWrath.itemID) { - ; - } - - if(player.getCurrentArmor(1) != null && player.getCurrentArmor(1).itemID == AtumItems.nutsAgility.itemID) { - player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 240, 1, true)); - } - - if(player.getCurrentArmor(0) != null && player.getCurrentArmor(0).itemID == AtumItems.horusFlight.itemID) { - ; - } - } - } - - } - - public void tickEnd(EnumSet type, Object ... tickData) {} - - public EnumSet ticks() { - return EnumSet.of(TickType.PLAYER); - } - - public String getLabel() { - return "Atum.TickHandler.Player"; - } -} diff --git a/common/rebelkeithy/mods/atum/TickHandler.java b/common/rebelkeithy/mods/atum/TickHandler.java deleted file mode 100644 index 75245d1..0000000 --- a/common/rebelkeithy/mods/atum/TickHandler.java +++ /dev/null @@ -1,118 +0,0 @@ -package rebelkeithy.mods.atum; - -import cpw.mods.fml.client.FMLClientHandler; -import cpw.mods.fml.common.ITickHandler; -import cpw.mods.fml.common.TickType; - -import java.util.EnumSet; -import java.util.Iterator; -import java.util.List; -import java.util.Random; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.entity.EntityClientPlayerMP; -import net.minecraft.client.gui.ScaledResolution; -import net.minecraft.client.renderer.ImageBufferDownload; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.util.ResourceLocation; -import rebelkeithy.mods.atum.AtumConfig; -import rebelkeithy.mods.atum.AtumItems; -import rebelkeithy.mods.particleregistry.ParticleRegistry; - -public class TickHandler implements ITickHandler { - - private boolean raining; - private boolean overlay; - public static int defaultFog; - - - public void tickStart(EnumSet type, Object ... tickData) { - if(type.equals(EnumSet.of(TickType.RENDER))) { - ; - } - - if(type.equals(EnumSet.of(TickType.PLAYER))) { - if(Minecraft.getMinecraft().theWorld != null && Minecraft.getMinecraft().theWorld.loadedEntityList.size() > 0) { - List player = Minecraft.getMinecraft().theWorld.playerEntities; - Iterator nightvision = player.iterator(); - - while(nightvision.hasNext()) { - EntityPlayer random = (EntityPlayer)nightvision.next(); -// if(random != null && random.getEntityName() == "RebelKeithy" || random.getEntityName() == "Shadowclaimer") { -// String particlesPerTick = "http://images.mccapes.com/capes/standardmc/RebelKeithy.png"; -// if(random.cloakUrl != particlesPerTick) { -// random.cloakUrl = particlesPerTick; -// } -// -// Minecraft.getMinecraft().renderEngine.obtainImageData(random.cloakUrl, new ImageBufferDownload()); -// } - } - } - - EntityPlayer var13 = (EntityPlayer)tickData[0]; - boolean var14 = false; - if(var13.getCurrentArmor(3) != null && var13.getCurrentArmor(3).itemID == AtumItems.rasGlory.itemID) { - var14 = true; - } - - if(var13.dimension == AtumConfig.dimensionID) { - if(Minecraft.getMinecraft().gameSettings.renderDistance < (var14?1:2)) { - defaultFog = Minecraft.getMinecraft().gameSettings.renderDistance; - Minecraft.getMinecraft().gameSettings.renderDistance = var14?1:2; - } - - if(var13.worldObj.isRaining()) { - this.raining = true; - if(Minecraft.getMinecraft().gameSettings.renderDistance < (var14?2:3)) { - Minecraft.getMinecraft().gameSettings.renderDistance = var14?2:3; - } - - Random var15 = new Random(); - int var16 = (3 - Minecraft.getMinecraft().gameSettings.particleSetting) * 6; - - for(int i = 0; i < var16; ++i) { - float x = (float)(var15.nextInt(4) - 2); - float z = (float)(var15.nextInt(4) - 2); - float y = (var15.nextFloat() - 0.7F) * 2.0F; - float vx = 0.1F + var15.nextFloat() * 0.1F; - float vz = 0.1F + var15.nextFloat() * 0.1F; - ParticleRegistry.spawnParticle("sand", var13.worldObj, var13.posX + (double)x, var13.posY + (double)y, var13.posZ + (double)z, (double)vx + var13.motionX, 0.0D, (double)vz + var13.motionZ); - } - } else if(this.raining && defaultFog < (var14?1:2)) { - this.raining = false; - Minecraft.getMinecraft().gameSettings.renderDistance = var14?1:2; - } - } - } - - } - - public void tickEnd(EnumSet type, Object ... tickData) { - Minecraft minecraft = FMLClientHandler.instance().getClient(); - EntityClientPlayerMP player = minecraft.thePlayer; - Object currentItemStack = null; - if(type.contains(TickType.RENDER) && player != null && player.getCurrentArmor(3) != null && player.getCurrentArmor(3).itemID == AtumItems.mummyHelmet.itemID) { - ScaledResolution scaledresolution = new ScaledResolution(Minecraft.getMinecraft().gameSettings, Minecraft.getMinecraft().displayWidth, Minecraft.getMinecraft().displayHeight); - int par1 = scaledresolution.getScaledWidth(); - int par2 = scaledresolution.getScaledHeight(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(Atum.modID + ":textures/hud/mummyblur.png")); - Tessellator tessellator = Tessellator.instance; - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(0.0D, (double)par2, -100.0D, 0.0D, 1.0D); - tessellator.addVertexWithUV((double)par1, (double)par2, -100.0D, 1.0D, 1.0D); - tessellator.addVertexWithUV((double)par1, 0.0D, -100.0D, 1.0D, 0.0D); - tessellator.addVertexWithUV(0.0D, 0.0D, -100.0D, 0.0D, 0.0D); - tessellator.draw(); - } - - } - - public EnumSet ticks() { - return EnumSet.of(TickType.PLAYER, TickType.RENDER); - } - - public String getLabel() { - return "Atum.TickHandler.Player"; - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemHedetetsSting.java b/common/rebelkeithy/mods/atum/artifacts/ItemHedetetsSting.java deleted file mode 100644 index d3a3356..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemHedetetsSting.java +++ /dev/null @@ -1,64 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemSword; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.EnumChatFormatting; - -import org.lwjgl.input.Keyboard; - -import rebelkeithy.mods.atum.Atum; - -public class ItemHedetetsSting extends ItemSword { - - public ItemHedetetsSting(int par1, EnumToolMaterial par2EnumToolMaterial) { - super(par1, par2EnumToolMaterial); - - } - - public boolean hitEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving) { - if(super.hitEntity(par1ItemStack, par2EntityLiving, par3EntityLiving)) { - par2EntityLiving.addPotionEffect(new PotionEffect(Potion.poison.id, 140, 2, false)); - return true; - } else { - return false; - } - } - - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Poison II: Chance"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "to poison foes"); - } else { - par3List.add("Poison II " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - - } - - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; - } - - @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":HedetetsSting"); - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemShusBreath.java b/common/rebelkeithy/mods/atum/artifacts/ItemShusBreath.java deleted file mode 100644 index a4b7207..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemShusBreath.java +++ /dev/null @@ -1,149 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBow; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.Icon; -import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.player.ArrowLooseEvent; - -import org.lwjgl.input.Keyboard; - -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.artifacts.arrow.EntityArrowQuickdraw; - -public class ItemShusBreath extends ItemBow { - - public static final String[] bowPullIconNameArray = new String[]{"ShusBreath_pull_0", "ShusBreath_pull_1", "ShusBreath_pull_2"}; - Icon[] iconArray; - - - public ItemShusBreath(int par1) { - super(par1); - this.setMaxDamage(650); - - } - - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; - } - - public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { - int j = this.getMaxItemUseDuration(par1ItemStack) - par4; - j *= 2; - ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); - MinecraftForge.EVENT_BUS.post(event); - if(!event.isCanceled()) { - j = event.charge; - boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - if(flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) { - float f = (float)j / 20.0F; - f = (f * f + f * 2.0F) / 3.0F; - if((double)f < 0.1D) { - return; - } - - if(f > 1.0F) { - f = 1.0F; - } - - EntityArrowQuickdraw entityarrow = new EntityArrowQuickdraw(par2World, par3EntityPlayer, f * 2.0F); - entityarrow.setDamage(entityarrow.getDamage() * 1.5D); - if(f == 1.0F) { - entityarrow.setIsCritical(true); - } - - int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - if(k > 0) { - entityarrow.setDamage(entityarrow.getDamage() + (double)k * 0.5D + 0.5D); - } - - int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - if(l > 0) { - entityarrow.setKnockbackStrength(l); - } - - if(EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { - entityarrow.setFire(100); - } - - par1ItemStack.damageItem(1, par3EntityPlayer); - par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - if(flag) { - entityarrow.canBePickedUp = 2; - } else { - par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); - } - - if(!par2World.isRemote) { - par2World.spawnEntityInWorld(entityarrow); - } - } - - } - } - - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } - - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Quickdraw I: Reduced"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "drawback speed"); - } else { - par3List.add("Quickdraw I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - - } - - @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - super.registerIcons(par1IconRegister); - this.iconArray = new Icon[bowPullIconNameArray.length]; - this.itemIcon = par1IconRegister.registerIcon("atum:ShusBreath"); - for(int i = 0; i < this.iconArray.length; ++i) { - this.iconArray[i] = par1IconRegister.registerIcon("atum:"+ bowPullIconNameArray[i]); - } - - } - - public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { - if(usingItem != null) { - int j = this.getMaxItemUseDuration(stack) - useRemaining; - if(j >= 9) { - return this.getItemIconForUseDuration(2); - } - - if(j > 5) { - return this.getItemIconForUseDuration(1); - } - - if(j > 0) { - return this.getItemIconForUseDuration(0); - } - } - - return this.getIcon(stack, renderPass); - } - - @SideOnly(Side.CLIENT) - public Icon getItemIconForUseDuration(int par1) { - return this.iconArray[par1]; - } - -} diff --git a/common/rebelkeithy/mods/atum/artifacts/ItemSpear.java b/common/rebelkeithy/mods/atum/artifacts/ItemSpear.java deleted file mode 100644 index ab37ba3..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/ItemSpear.java +++ /dev/null @@ -1,33 +0,0 @@ -package rebelkeithy.mods.atum.artifacts; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.entities.projectiles.EntityFireSpearCombined; - -public class ItemSpear extends Item { - - public ItemSpear(int par1) { - super(par1); - } - - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { - EntityFireSpearCombined entityarrow = new EntityFireSpearCombined(par2World, par3EntityPlayer, 0.75F); - entityarrow.setDamage(entityarrow.getDamage() * 1.5D); - if(!par2World.isRemote) { - par2World.spawnEntityInWorld(entityarrow); - par2World.updateEntity(entityarrow); - } - - return par1ItemStack; - } - - @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - super.itemIcon = par1IconRegister.registerIcon("atum:Arrow"); - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/CustomArrow.java b/common/rebelkeithy/mods/atum/artifacts/arrow/CustomArrow.java deleted file mode 100644 index 258a412..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/CustomArrow.java +++ /dev/null @@ -1,29 +0,0 @@ -package rebelkeithy.mods.atum.artifacts.arrow; - -import net.minecraft.entity.Entity; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.World; - -public class CustomArrow extends Entity { - - float arrowShake = 0.0F; - - - public CustomArrow(World par1World) { - super(par1World); - } - - protected void entityInit() {} - - public String getTexture() { - return "/item/arrows.png"; - } - - protected void readEntityFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - } - - protected void writeEntityToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowDoubleShot.java b/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowDoubleShot.java deleted file mode 100644 index ecd2fda..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowDoubleShot.java +++ /dev/null @@ -1,464 +0,0 @@ -package rebelkeithy.mods.atum.artifacts.arrow; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.enchantment.EnchantmentThorns; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IProjectile; -import net.minecraft.entity.monster.EntityEnderman; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import rebelkeithy.mods.particleregistry.ParticleRegistry; -import cpw.mods.fml.common.registry.IThrowableEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class EntityArrowDoubleShot extends CustomArrow implements IProjectile, IThrowableEntity { - - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private int inTile = 0; - private int inData = 0; - private boolean inGround = false; - public int canBePickedUp = 0; - public int arrowShake = 0; - public Entity shootingEntity; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - private int knockbackStrength; - - - public EntityArrowDoubleShot(World par1World) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - } - - public EntityArrowDoubleShot(World par1World, double par2, double par4, double par6) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - super.yOffset = 0.0F; - } - - public EntityArrowDoubleShot(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - super.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - super.posY; - double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); - if(d3 >= 1.0E-7D) { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / 3.141592653589793D) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / 3.141592653589793D)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, super.posY, par2EntityLiving.posZ + d5, f2, f3); - super.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); - } - - } - - public EntityArrowDoubleShot(World par1World, EntityLivingBase par2EntityLiving, float par3) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - super.posX -= (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); - super.posY -= 0.10000000149011612D; - super.posZ -= (double)(MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); - this.setPosition(super.posX, super.posY, super.posZ); - super.yOffset = 0.0F; - super.motionX = (double)(-MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); - super.motionZ = (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); - super.motionY = (double)(-MathHelper.sin(super.rotationPitch / 180.0F * 3.1415927F)); - this.setThrowableHeading(super.motionX, super.motionY, super.motionZ, par3 * 1.5F, 1.0F); - } - - protected void entityInit() { - super.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; - par3 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; - par5 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; - super.motionX = par1; - super.motionY = par3; - super.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / 3.141592653589793D); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - public void setVelocity(double par1, double par3, double par5) { - super.motionX = par1; - super.motionY = par3; - super.motionZ = par5; - if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch; - super.prevRotationYaw = super.rotationYaw; - this.setLocationAndAngles(super.posX, super.posY, super.posZ, super.rotationYaw, super.rotationPitch); - this.ticksInGround = 0; - } - - } - - public void onUpdate() { - super.onUpdate(); - if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { - float i = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); - super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(super.motionY, (double)i) * 180.0D / 3.141592653589793D); - } - - int var16 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - if(var16 > 0) { - Block.blocksList[var16].setBlockBoundsBasedOnState(super.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB vec3 = Block.blocksList[var16].getCollisionBoundingBoxFromPool(super.worldObj, this.xTile, this.yTile, this.zTile); - if(vec3 != null && vec3.isVecInside(super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ))) { - this.inGround = true; - } - } - - if(this.arrowShake > 0) { - --this.arrowShake; - } - - if(this.inGround) { - int var17 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - int vec31 = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - if(var17 == this.inTile && vec31 == this.inData) { - ++this.ticksInGround; - if(this.ticksInGround == 1200) { - this.setDead(); - } - } else { - this.inGround = false; - super.motionX *= (double)(super.rand.nextFloat() * 0.2F); - super.motionY *= (double)(super.rand.nextFloat() * 0.2F); - super.motionZ *= (double)(super.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } else { - ++this.ticksInAir; - Vec3 var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); - Vec3 var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); - MovingObjectPosition movingobjectposition = super.worldObj.rayTraceBlocks_do_do(var18, var19, false, true); - var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); - var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); - if(movingobjectposition != null) { - var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = super.worldObj.getEntitiesWithinAABBExcludingEntity(this, super.boundingBox.addCoord(super.motionX, super.motionY, super.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - - int l; - float f1; - for(l = 0; l < list.size(); ++l) { - Entity f2 = (Entity)list.get(l); - if(f2.canBeCollidedWith() && (f2 != this.shootingEntity || this.ticksInAir >= 5)) { - f1 = 0.3F; - AxisAlignedBB f3 = f2.boundingBox.expand((double)f1, (double)f1, (double)f1); - MovingObjectPosition f4 = f3.calculateIntercept(var18, var19); - if(f4 != null) { - double j1 = var18.distanceTo(f4.hitVec); - if(j1 < d0 || d0 == 0.0D) { - entity = f2; - d0 = j1; - } - } - } - } - - if(entity != null) { - movingobjectposition = new MovingObjectPosition(entity); - } - - if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { - EntityPlayer var20 = (EntityPlayer)movingobjectposition.entityHit; - if(var20.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(var20)) { - movingobjectposition = null; - } - } - - float var21; - float var22; - if(movingobjectposition != null) { - if(movingobjectposition.entityHit != null) { - var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); - int var23 = MathHelper.ceiling_double_int((double)var22 * this.damage); - if(this.getIsCritical()) { - var23 += super.rand.nextInt(var23 / 2 + 2); - } - - DamageSource var24 = null; - if(this.shootingEntity == null) { - var24 = DamageSource.causeThrownDamage(this, this); - } else { - var24 = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { - movingobjectposition.entityHit.setFire(5); - } - - if(movingobjectposition.entityHit.attackEntityFrom(var24, var23)) { - if(movingobjectposition.entityHit instanceof EntityLiving) { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; - if(!super.worldObj.isRemote) { - entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); - } - - if(this.knockbackStrength > 0) { - var21 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); - if(var21 > 0.0F) { - movingobjectposition.entityHit.addVelocity(super.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21, 0.1D, super.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21); - } - } - - if(this.shootingEntity != null) { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, super.rand); - } - - if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); - } - } - - this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); - if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { - this.setDead(); - } - } else { - super.motionX *= -0.10000000149011612D; - super.motionY *= -0.10000000149011612D; - super.motionZ *= -0.10000000149011612D; - super.rotationYaw += 180.0F; - super.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } else { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - this.inData = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - super.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - super.posX)); - super.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - super.posY)); - super.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - super.posZ)); - var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); - super.posX -= super.motionX / (double)var22 * 0.05000000074505806D; - super.posY -= super.motionY / (double)var22 * 0.05000000074505806D; - super.posZ -= super.motionZ / (double)var22 * 0.05000000074505806D; - this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - if(this.inTile != 0) { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(super.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } - } - - if(this.getIsCritical() && super.worldObj.isRemote) { - for(l = 0; l < 4; ++l) { - ParticleRegistry.spawnParticle("coloredcrit", super.worldObj, super.posX + super.motionX * (double)l / 4.0D, super.posY + super.motionY * (double)l / 4.0D, super.posZ + super.motionZ * (double)l / 4.0D, -super.motionX, -super.motionY + 0.2D, -super.motionZ, 0.7D, 1.0D, 0.7D); - } - } - - super.posX += super.motionX; - super.posY += super.motionY; - super.posZ += super.motionZ; - var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); - super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); - - for(super.rotationPitch = (float)(Math.atan2(super.motionY, (double)var22) * 180.0D / 3.141592653589793D); super.rotationPitch - super.prevRotationPitch < -180.0F; super.prevRotationPitch -= 360.0F) { - ; - } - - while(super.rotationPitch - super.prevRotationPitch >= 180.0F) { - super.prevRotationPitch += 360.0F; - } - - while(super.rotationYaw - super.prevRotationYaw < -180.0F) { - super.prevRotationYaw -= 360.0F; - } - - while(super.rotationYaw - super.prevRotationYaw >= 180.0F) { - super.prevRotationYaw += 360.0F; - } - - super.rotationPitch = super.prevRotationPitch + (super.rotationPitch - super.prevRotationPitch) * 0.2F; - super.rotationYaw = super.prevRotationYaw + (super.rotationYaw - super.prevRotationYaw) * 0.2F; - float var25 = 0.99F; - f1 = 0.05F; - if(this.isInWater()) { - for(int var26 = 0; var26 < 4; ++var26) { - var21 = 0.25F; - super.worldObj.spawnParticle("bubble", super.posX - super.motionX * (double)var21, super.posY - super.motionY * (double)var21, super.posZ - super.motionZ * (double)var21, super.motionX, super.motionY, super.motionZ); - } - - var25 = 0.45F; - } - - super.motionX *= (double)var25; - super.motionY *= (double)var25; - super.motionZ *= (double)var25; - super.motionY -= (double)f1; - this.setPosition(super.posX, super.posY, super.posZ); - this.doBlockCollisions(); - } - - } - - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround?1:0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - } - - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - if(par1NBTTagCompound.hasKey("damage")) { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if(par1NBTTagCompound.hasKey("pickup")) { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } else if(par1NBTTagCompound.hasKey("player")) { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player")?1:0; - } - - } - - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { - if(!super.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { - flag = false; - } - - if(flag) { - this.playSound("random.pop", 0.2F, ((super.rand.nextFloat() - super.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - - } - - protected boolean canTriggerWalking() { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() { - return 0.0F; - } - - public void setDamage(double par1) { - this.damage = par1; - } - - public double getDamage() { - return this.damage; - } - - public void setKnockbackStrength(int par1) { - this.knockbackStrength = par1; - } - - public boolean canAttackWithItem() { - return false; - } - - public void setIsCritical(boolean par1) { - byte b0 = super.dataWatcher.getWatchableObjectByte(16); - if(par1) { - super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } else { - super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } - - } - - public boolean getIsCritical() { - byte b0 = super.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - public Entity getThrower() { - return this.shootingEntity; - } - - public void setThrower(Entity entity) { - this.shootingEntity = entity; - } - - public String getTexture() { - return "/mods/Atum/textures/projectiles/arrows_double.png"; - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowExplosive.java b/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowExplosive.java deleted file mode 100644 index 056b4ef..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowExplosive.java +++ /dev/null @@ -1,470 +0,0 @@ -package rebelkeithy.mods.atum.artifacts.arrow; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.enchantment.EnchantmentThorns; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IProjectile; -import net.minecraft.entity.monster.EntityEnderman; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import rebelkeithy.mods.particleregistry.ParticleRegistry; -import cpw.mods.fml.common.registry.IThrowableEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class EntityArrowExplosive extends CustomArrow implements IProjectile, IThrowableEntity { - - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private int inTile = 0; - private int inData = 0; - private boolean inGround = false; - public int canBePickedUp = 0; - public int arrowShake = 0; - public Entity shootingEntity; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - private int knockbackStrength; - - - public EntityArrowExplosive(World par1World) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - } - - public EntityArrowExplosive(World par1World, double par2, double par4, double par6) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - super.yOffset = 0.0F; - } - - public EntityArrowExplosive(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - super.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - super.posY; - double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); - if(d3 >= 1.0E-7D) { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / 3.141592653589793D) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / 3.141592653589793D)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, super.posY, par2EntityLiving.posZ + d5, f2, f3); - super.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); - } - - } - - public EntityArrowExplosive(World par1World, EntityLivingBase par2EntityLiving, float par3) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - super.posX -= (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); - super.posY -= 0.10000000149011612D; - super.posZ -= (double)(MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); - this.setPosition(super.posX, super.posY, super.posZ); - super.yOffset = 0.0F; - super.motionX = (double)(-MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); - super.motionZ = (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); - super.motionY = (double)(-MathHelper.sin(super.rotationPitch / 180.0F * 3.1415927F)); - this.setThrowableHeading(super.motionX, super.motionY, super.motionZ, par3 * 1.5F, 1.0F); - } - - protected void entityInit() { - super.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; - par3 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; - par5 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; - super.motionX = par1; - super.motionY = par3; - super.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / 3.141592653589793D); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - public void setVelocity(double par1, double par3, double par5) { - super.motionX = par1; - super.motionY = par3; - super.motionZ = par5; - if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch; - super.prevRotationYaw = super.rotationYaw; - this.setLocationAndAngles(super.posX, super.posY, super.posZ, super.rotationYaw, super.rotationPitch); - this.ticksInGround = 0; - } - - } - - public void onUpdate() { - super.onUpdate(); - if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { - float i = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); - super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(super.motionY, (double)i) * 180.0D / 3.141592653589793D); - } - - int var16 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - if(var16 > 0) { - Block.blocksList[var16].setBlockBoundsBasedOnState(super.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB vec3 = Block.blocksList[var16].getCollisionBoundingBoxFromPool(super.worldObj, this.xTile, this.yTile, this.zTile); - if(vec3 != null && vec3.isVecInside(super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ))) { - super.worldObj.newExplosion(this, super.posX, super.posY, super.posZ, 2.0F, this.isBurning(), true); - this.inGround = true; - } - } - - if(this.arrowShake > 0) { - --this.arrowShake; - } - - if(this.inGround) { - int var17 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - int vec31 = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - if(var17 == this.inTile && vec31 == this.inData) { - ++this.ticksInGround; - if(this.ticksInGround == 1200) { - this.setDead(); - } - } else { - this.inGround = false; - super.motionX *= (double)(super.rand.nextFloat() * 0.2F); - super.motionY *= (double)(super.rand.nextFloat() * 0.2F); - super.motionZ *= (double)(super.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } else { - ++this.ticksInAir; - Vec3 var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); - Vec3 var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); - MovingObjectPosition movingobjectposition = super.worldObj.rayTraceBlocks_do_do(var18, var19, false, true); - var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); - var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); - if(movingobjectposition != null) { - var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = super.worldObj.getEntitiesWithinAABBExcludingEntity(this, super.boundingBox.addCoord(super.motionX, super.motionY, super.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - - int l; - float f1; - for(l = 0; l < list.size(); ++l) { - Entity f2 = (Entity)list.get(l); - if(f2.canBeCollidedWith() && (f2 != this.shootingEntity || this.ticksInAir >= 5)) { - f1 = 0.3F; - AxisAlignedBB f3 = f2.boundingBox.expand((double)f1, (double)f1, (double)f1); - MovingObjectPosition f4 = f3.calculateIntercept(var18, var19); - if(f4 != null) { - double j1 = var18.distanceTo(f4.hitVec); - if(j1 < d0 || d0 == 0.0D) { - entity = f2; - d0 = j1; - } - } - } - } - - if(entity != null) { - movingobjectposition = new MovingObjectPosition(entity); - } - - if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { - EntityPlayer var20 = (EntityPlayer)movingobjectposition.entityHit; - if(var20.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(var20)) { - movingobjectposition = null; - } - } - - float var21; - float var22; - if(movingobjectposition != null) { - if(movingobjectposition.entityHit != null) { - var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); - int var23 = MathHelper.ceiling_double_int((double)var22 * this.damage); - if(this.getIsCritical()) { - var23 += super.rand.nextInt(var23 / 2 + 2); - } - - DamageSource var24 = null; - if(this.shootingEntity == null) { - var24 = DamageSource.causeThrownDamage(this, this); - } else { - var24 = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { - movingobjectposition.entityHit.setFire(5); - } - - super.worldObj.createExplosion(this, entity.posX, entity.posY, entity.posZ, 2.0F, true); - this.setDead(); - if(movingobjectposition.entityHit.attackEntityFrom(var24, var23)) { - if(movingobjectposition.entityHit instanceof EntityLiving) { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; - if(!super.worldObj.isRemote) { - entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); - } - - if(this.knockbackStrength > 0) { - var21 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); - if(var21 > 0.0F) { - movingobjectposition.entityHit.addVelocity(super.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21, 0.1D, super.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21); - } - } - - if(this.shootingEntity != null) { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, super.rand); - } - - if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); - } - } - - this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); - } else { - super.motionX *= -0.10000000149011612D; - super.motionY *= -0.10000000149011612D; - super.motionZ *= -0.10000000149011612D; - super.rotationYaw += 180.0F; - super.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } else { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - this.inData = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - super.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - super.posX)); - super.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - super.posY)); - super.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - super.posZ)); - var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); - super.posX -= super.motionX / (double)var22 * 0.05000000074505806D; - super.posY -= super.motionY / (double)var22 * 0.05000000074505806D; - super.posZ -= super.motionZ / (double)var22 * 0.05000000074505806D; - this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); - super.worldObj.createExplosion(this, movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord, 2.0F, true); - this.inGround = true; - this.arrowShake = 7; - this.setDead(); - this.setIsCritical(false); - if(this.inTile != 0) { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(super.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } - } - - if(this.getIsCritical() && super.worldObj.isRemote) { - for(l = 0; l < 4; ++l) { - ParticleRegistry.spawnParticle("coloredcrit", super.worldObj, super.posX + super.motionX * (double)l / 4.0D, super.posY + super.motionY * (double)l / 4.0D, super.posZ + super.motionZ * (double)l / 4.0D, -super.motionX, -super.motionY + 0.2D, -super.motionZ, 0.5D, 0.1D, 0.5D); - } - } - - if(Math.random() > 0.0D) { - super.worldObj.spawnParticle("smoke", super.posX + super.motionX * (double)l / 4.0D, super.posY + super.motionY * (double)l / 4.0D, super.posZ + super.motionZ * (double)l / 4.0D, -super.motionX / 10.0D, (-super.motionY + 0.2D) / 10.0D, -super.motionZ / 10.0D); - } - - super.posX += super.motionX; - super.posY += super.motionY; - super.posZ += super.motionZ; - var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); - super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); - - for(super.rotationPitch = (float)(Math.atan2(super.motionY, (double)var22) * 180.0D / 3.141592653589793D); super.rotationPitch - super.prevRotationPitch < -180.0F; super.prevRotationPitch -= 360.0F) { - ; - } - - while(super.rotationPitch - super.prevRotationPitch >= 180.0F) { - super.prevRotationPitch += 360.0F; - } - - while(super.rotationYaw - super.prevRotationYaw < -180.0F) { - super.prevRotationYaw -= 360.0F; - } - - while(super.rotationYaw - super.prevRotationYaw >= 180.0F) { - super.prevRotationYaw += 360.0F; - } - - super.rotationPitch = super.prevRotationPitch + (super.rotationPitch - super.prevRotationPitch) * 0.2F; - super.rotationYaw = super.prevRotationYaw + (super.rotationYaw - super.prevRotationYaw) * 0.2F; - float var25 = 0.99F; - f1 = 0.15F; - if(this.isInWater()) { - for(int var26 = 0; var26 < 4; ++var26) { - var21 = 0.25F; - super.worldObj.spawnParticle("bubble", super.posX - super.motionX * (double)var21, super.posY - super.motionY * (double)var21, super.posZ - super.motionZ * (double)var21, super.motionX, super.motionY, super.motionZ); - } - - var25 = 0.8F; - } - - super.motionX *= (double)var25; - super.motionY *= (double)var25; - super.motionZ *= (double)var25; - super.motionY -= (double)f1; - this.setPosition(super.posX, super.posY, super.posZ); - this.doBlockCollisions(); - } - - } - - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround?1:0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - } - - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - if(par1NBTTagCompound.hasKey("damage")) { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if(par1NBTTagCompound.hasKey("pickup")) { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } else if(par1NBTTagCompound.hasKey("player")) { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player")?1:0; - } - - } - - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { - if(!super.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { - flag = false; - } - - if(flag) { - this.playSound("random.pop", 0.2F, ((super.rand.nextFloat() - super.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - - } - - protected boolean canTriggerWalking() { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() { - return 0.0F; - } - - public void setDamage(double par1) { - this.damage = par1; - } - - public double getDamage() { - return this.damage; - } - - public void setKnockbackStrength(int par1) { - this.knockbackStrength = par1; - } - - public boolean canAttackWithItem() { - return false; - } - - public void setIsCritical(boolean par1) { - byte b0 = super.dataWatcher.getWatchableObjectByte(16); - if(par1) { - super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } else { - super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } - - } - - public boolean getIsCritical() { - byte b0 = super.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - public Entity getThrower() { - return this.shootingEntity; - } - - public void setThrower(Entity entity) { - this.shootingEntity = entity; - } - - public String getTexture() { - return "/mods/Atum/textures/projectiles/arrows_exploding.png"; - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowFire.java b/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowFire.java deleted file mode 100644 index 5f1378d..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowFire.java +++ /dev/null @@ -1,468 +0,0 @@ -package rebelkeithy.mods.atum.artifacts.arrow; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.enchantment.EnchantmentThorns; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IProjectile; -import net.minecraft.entity.monster.EntityEnderman; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import rebelkeithy.mods.particleregistry.ParticleRegistry; -import cpw.mods.fml.common.registry.IThrowableEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class EntityArrowFire extends CustomArrow implements IProjectile, IThrowableEntity { - - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private int inTile = 0; - private int inData = 0; - private boolean inGround = false; - public int canBePickedUp = 0; - public int arrowShake = 0; - public Entity shootingEntity; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - private int knockbackStrength; - - - public EntityArrowFire(World par1World) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - } - - public EntityArrowFire(World par1World, double par2, double par4, double par6) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - super.yOffset = 0.0F; - } - - public EntityArrowFire(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - super.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - super.posY; - double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); - if(d3 >= 1.0E-7D) { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / 3.141592653589793D) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / 3.141592653589793D)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, super.posY, par2EntityLiving.posZ + d5, f2, f3); - super.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); - } - - } - - public EntityArrowFire(World par1World, EntityLivingBase par2EntityLiving, float par3) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - super.posX -= (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); - super.posY -= 0.10000000149011612D; - super.posZ -= (double)(MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); - this.setPosition(super.posX, super.posY, super.posZ); - super.yOffset = 0.0F; - super.motionX = (double)(-MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); - super.motionZ = (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); - super.motionY = (double)(-MathHelper.sin(super.rotationPitch / 180.0F * 3.1415927F)); - this.setThrowableHeading(super.motionX, super.motionY, super.motionZ, par3 * 1.5F, 1.0F); - } - - protected void entityInit() { - super.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; - par3 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; - par5 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; - super.motionX = par1; - super.motionY = par3; - super.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / 3.141592653589793D); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - public void setVelocity(double par1, double par3, double par5) { - super.motionX = par1; - super.motionY = par3; - super.motionZ = par5; - if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch; - super.prevRotationYaw = super.rotationYaw; - this.setLocationAndAngles(super.posX, super.posY, super.posZ, super.rotationYaw, super.rotationPitch); - this.ticksInGround = 0; - } - - } - - public void onUpdate() { - super.onUpdate(); - if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { - float i = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); - super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(super.motionY, (double)i) * 180.0D / 3.141592653589793D); - } - - int var16 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - if(var16 > 0) { - Block.blocksList[var16].setBlockBoundsBasedOnState(super.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB vec3 = Block.blocksList[var16].getCollisionBoundingBoxFromPool(super.worldObj, this.xTile, this.yTile, this.zTile); - if(vec3 != null && vec3.isVecInside(super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ))) { - this.inGround = true; - } - } - - if(this.arrowShake > 0) { - --this.arrowShake; - } - - if(this.inGround) { - int var17 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - int vec31 = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - if(var17 == this.inTile && vec31 == this.inData) { - ++this.ticksInGround; - if(super.worldObj.isAirBlock((int)super.posX, (int)super.posY, (int)super.posZ)) { - super.worldObj.setBlock((int)super.posX, (int)super.posY, (int)super.posZ, Block.fire.blockID); - } - - if(this.ticksInGround == 1200) { - this.setDead(); - } - } else { - this.inGround = false; - super.motionX *= (double)(super.rand.nextFloat() * 0.2F); - super.motionY *= (double)(super.rand.nextFloat() * 0.2F); - super.motionZ *= (double)(super.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } else { - ++this.ticksInAir; - Vec3 var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); - Vec3 var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); - MovingObjectPosition movingobjectposition = super.worldObj.rayTraceBlocks_do_do(var18, var19, false, true); - var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); - var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); - if(movingobjectposition != null) { - var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = super.worldObj.getEntitiesWithinAABBExcludingEntity(this, super.boundingBox.addCoord(super.motionX, super.motionY, super.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - - int l; - float f1; - for(l = 0; l < list.size(); ++l) { - Entity f2 = (Entity)list.get(l); - if(f2.canBeCollidedWith() && (f2 != this.shootingEntity || this.ticksInAir >= 5)) { - f1 = 0.3F; - AxisAlignedBB f3 = f2.boundingBox.expand((double)f1, (double)f1, (double)f1); - MovingObjectPosition f4 = f3.calculateIntercept(var18, var19); - if(f4 != null) { - double j1 = var18.distanceTo(f4.hitVec); - if(j1 < d0 || d0 == 0.0D) { - entity = f2; - d0 = j1; - } - } - } - } - - if(entity != null) { - movingobjectposition = new MovingObjectPosition(entity); - } - - if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { - EntityPlayer var20 = (EntityPlayer)movingobjectposition.entityHit; - if(var20.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(var20)) { - movingobjectposition = null; - } - } - - float var21; - float var22; - if(movingobjectposition != null) { - if(movingobjectposition.entityHit != null) { - var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); - int var23 = MathHelper.ceiling_double_int((double)var22 * this.damage); - if(this.getIsCritical()) { - var23 += super.rand.nextInt(var23 / 2 + 2); - } - - DamageSource var24 = null; - if(this.shootingEntity == null) { - var24 = DamageSource.causeThrownDamage(this, this); - } else { - var24 = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { - movingobjectposition.entityHit.setFire(5); - } - - if(movingobjectposition.entityHit.attackEntityFrom(var24, var23)) { - if(movingobjectposition.entityHit instanceof EntityLiving) { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; - if(!super.worldObj.isRemote) { - entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); - } - - if(this.knockbackStrength > 0) { - var21 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); - if(var21 > 0.0F) { - movingobjectposition.entityHit.addVelocity(super.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21, 0.1D, super.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21); - } - } - - if(this.shootingEntity != null) { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, super.rand); - } - - if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); - } - } - - this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); - if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { - this.setDead(); - } - } else { - super.motionX *= -0.10000000149011612D; - super.motionY *= -0.10000000149011612D; - super.motionZ *= -0.10000000149011612D; - super.rotationYaw += 180.0F; - super.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } else { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - this.inData = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - super.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - super.posX)); - super.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - super.posY)); - super.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - super.posZ)); - var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); - super.posX -= super.motionX / (double)var22 * 0.05000000074505806D; - super.posY -= super.motionY / (double)var22 * 0.05000000074505806D; - super.posZ -= super.motionZ / (double)var22 * 0.05000000074505806D; - this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - if(this.inTile != 0) { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(super.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } - } - - if(this.getIsCritical() && super.worldObj.isRemote) { - for(l = 0; l < 4; ++l) { - ParticleRegistry.spawnParticle("coloredcrit", super.worldObj, super.posX + super.motionX * (double)l / 4.0D, super.posY + super.motionY * (double)l / 4.0D, super.posZ + super.motionZ * (double)l / 4.0D, -super.motionX, -super.motionY + 0.2D, -super.motionZ, 0.8D, 0.5D, 0.2D); - } - } - - super.posX += super.motionX; - super.posY += super.motionY; - super.posZ += super.motionZ; - var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); - super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); - - for(super.rotationPitch = (float)(Math.atan2(super.motionY, (double)var22) * 180.0D / 3.141592653589793D); super.rotationPitch - super.prevRotationPitch < -180.0F; super.prevRotationPitch -= 360.0F) { - ; - } - - while(super.rotationPitch - super.prevRotationPitch >= 180.0F) { - super.prevRotationPitch += 360.0F; - } - - while(super.rotationYaw - super.prevRotationYaw < -180.0F) { - super.prevRotationYaw -= 360.0F; - } - - while(super.rotationYaw - super.prevRotationYaw >= 180.0F) { - super.prevRotationYaw += 360.0F; - } - - super.rotationPitch = super.prevRotationPitch + (super.rotationPitch - super.prevRotationPitch) * 0.2F; - super.rotationYaw = super.prevRotationYaw + (super.rotationYaw - super.prevRotationYaw) * 0.2F; - float var25 = 0.99F; - f1 = 0.05F; - if(this.isInWater()) { - for(int var26 = 0; var26 < 4; ++var26) { - var21 = 0.25F; - super.worldObj.spawnParticle("bubble", super.posX - super.motionX * (double)var21, super.posY - super.motionY * (double)var21, super.posZ - super.motionZ * (double)var21, super.motionX, super.motionY, super.motionZ); - } - - var25 = 0.45F; - } - - super.motionX *= (double)var25; - super.motionY *= (double)var25; - super.motionZ *= (double)var25; - super.motionY -= (double)f1; - this.setPosition(super.posX, super.posY, super.posZ); - this.doBlockCollisions(); - } - - } - - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround?1:0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - } - - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - if(par1NBTTagCompound.hasKey("damage")) { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if(par1NBTTagCompound.hasKey("pickup")) { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } else if(par1NBTTagCompound.hasKey("player")) { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player")?1:0; - } - - } - - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { - if(!super.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { - flag = false; - } - - if(flag) { - this.playSound("random.pop", 0.2F, ((super.rand.nextFloat() - super.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - - } - - protected boolean canTriggerWalking() { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() { - return 0.0F; - } - - public void setDamage(double par1) { - this.damage = par1; - } - - public double getDamage() { - return this.damage; - } - - public void setKnockbackStrength(int par1) { - this.knockbackStrength = par1; - } - - public boolean canAttackWithItem() { - return false; - } - - public void setIsCritical(boolean par1) { - byte b0 = super.dataWatcher.getWatchableObjectByte(16); - if(par1) { - super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } else { - super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } - - } - - public boolean getIsCritical() { - byte b0 = super.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - public Entity getThrower() { - return this.shootingEntity; - } - - public void setThrower(Entity entity) { - this.shootingEntity = entity; - } - - public String getTexture() { - return "/mods/Atum/textures/projectiles/arrows_fire.png"; - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowPoison.java b/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowPoison.java deleted file mode 100644 index c9ae444..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowPoison.java +++ /dev/null @@ -1,467 +0,0 @@ -package rebelkeithy.mods.atum.artifacts.arrow; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.enchantment.EnchantmentThorns; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IProjectile; -import net.minecraft.entity.monster.EntityEnderman; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import rebelkeithy.mods.particleregistry.ParticleRegistry; -import cpw.mods.fml.common.registry.IThrowableEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class EntityArrowPoison extends CustomArrow implements IProjectile, IThrowableEntity { - - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private int inTile = 0; - private int inData = 0; - private boolean inGround = false; - public int canBePickedUp = 0; - public int arrowShake = 0; - public Entity shootingEntity; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - private int knockbackStrength; - - - public EntityArrowPoison(World par1World) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - } - - public EntityArrowPoison(World par1World, double par2, double par4, double par6) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - super.yOffset = 0.0F; - } - - public EntityArrowPoison(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - super.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - super.posY; - double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); - if(d3 >= 1.0E-7D) { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / 3.141592653589793D) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / 3.141592653589793D)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, super.posY, par2EntityLiving.posZ + d5, f2, f3); - super.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); - } - - } - - public EntityArrowPoison(World par1World, EntityLivingBase par2EntityLiving, float par3) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - super.posX -= (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); - super.posY -= 0.10000000149011612D; - super.posZ -= (double)(MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); - this.setPosition(super.posX, super.posY, super.posZ); - super.yOffset = 0.0F; - super.motionX = (double)(-MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); - super.motionZ = (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); - super.motionY = (double)(-MathHelper.sin(super.rotationPitch / 180.0F * 3.1415927F)); - this.setThrowableHeading(super.motionX, super.motionY, super.motionZ, par3 * 1.5F, 1.0F); - } - - protected void entityInit() { - super.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; - par3 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; - par5 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; - super.motionX = par1; - super.motionY = par3; - super.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / 3.141592653589793D); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - public void setVelocity(double par1, double par3, double par5) { - super.motionX = par1; - super.motionY = par3; - super.motionZ = par5; - if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch; - super.prevRotationYaw = super.rotationYaw; - this.setLocationAndAngles(super.posX, super.posY, super.posZ, super.rotationYaw, super.rotationPitch); - this.ticksInGround = 0; - } - - } - - public void onUpdate() { - super.onUpdate(); - if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { - float i = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); - super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(super.motionY, (double)i) * 180.0D / 3.141592653589793D); - } - - int var16 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - if(var16 > 0) { - Block.blocksList[var16].setBlockBoundsBasedOnState(super.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB vec3 = Block.blocksList[var16].getCollisionBoundingBoxFromPool(super.worldObj, this.xTile, this.yTile, this.zTile); - if(vec3 != null && vec3.isVecInside(super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ))) { - this.inGround = true; - } - } - - if(this.arrowShake > 0) { - --this.arrowShake; - } - - if(this.inGround) { - int var17 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - int vec31 = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - if(var17 == this.inTile && vec31 == this.inData) { - ++this.ticksInGround; - if(this.ticksInGround == 1200) { - this.setDead(); - } - } else { - this.inGround = false; - super.motionX *= (double)(super.rand.nextFloat() * 0.2F); - super.motionY *= (double)(super.rand.nextFloat() * 0.2F); - super.motionZ *= (double)(super.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } else { - ++this.ticksInAir; - Vec3 var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); - Vec3 var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); - MovingObjectPosition movingobjectposition = super.worldObj.rayTraceBlocks_do_do(var18, var19, false, true); - var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); - var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); - if(movingobjectposition != null) { - var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = super.worldObj.getEntitiesWithinAABBExcludingEntity(this, super.boundingBox.addCoord(super.motionX, super.motionY, super.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - - int l; - float f1; - for(l = 0; l < list.size(); ++l) { - Entity f2 = (Entity)list.get(l); - if(f2.canBeCollidedWith() && (f2 != this.shootingEntity || this.ticksInAir >= 5)) { - f1 = 0.3F; - AxisAlignedBB f3 = f2.boundingBox.expand((double)f1, (double)f1, (double)f1); - MovingObjectPosition f4 = f3.calculateIntercept(var18, var19); - if(f4 != null) { - double j1 = var18.distanceTo(f4.hitVec); - if(j1 < d0 || d0 == 0.0D) { - entity = f2; - d0 = j1; - } - } - } - } - - if(entity != null) { - movingobjectposition = new MovingObjectPosition(entity); - } - - if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { - EntityPlayer var20 = (EntityPlayer)movingobjectposition.entityHit; - if(var20.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(var20)) { - movingobjectposition = null; - } - } - - float var21; - float var22; - if(movingobjectposition != null) { - if(movingobjectposition.entityHit != null) { - var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); - int var23 = MathHelper.ceiling_double_int((double)var22 * this.damage); - if(this.getIsCritical()) { - var23 += super.rand.nextInt(var23 / 2 + 2); - } - - DamageSource var25 = null; - if(this.shootingEntity == null) { - var25 = DamageSource.causeThrownDamage(this, this); - } else { - var25 = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { - movingobjectposition.entityHit.setFire(5); - } - - if(movingobjectposition.entityHit.attackEntityFrom(var25, var23)) { - if(movingobjectposition.entityHit instanceof EntityLiving) { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; - entityliving.addPotionEffect(new PotionEffect(Potion.poison.id, 140, 2, false)); - if(!super.worldObj.isRemote) { - entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); - } - - if(this.knockbackStrength > 0) { - var21 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); - if(var21 > 0.0F) { - movingobjectposition.entityHit.addVelocity(super.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21, 0.1D, super.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21); - } - } - - if(this.shootingEntity != null) { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, super.rand); - } - - if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); - } - } - - this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); - if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { - this.setDead(); - } - } else { - super.motionX *= -0.10000000149011612D; - super.motionY *= -0.10000000149011612D; - super.motionZ *= -0.10000000149011612D; - super.rotationYaw += 180.0F; - super.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } else { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - this.inData = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - super.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - super.posX)); - super.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - super.posY)); - super.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - super.posZ)); - var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); - super.posX -= super.motionX / (double)var22 * 0.05000000074505806D; - super.posY -= super.motionY / (double)var22 * 0.05000000074505806D; - super.posZ -= super.motionZ / (double)var22 * 0.05000000074505806D; - this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - if(this.inTile != 0) { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(super.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } - } - - if(this.getIsCritical() && super.worldObj.isRemote) { - for(l = 0; l < 4; ++l) { - ParticleRegistry.spawnParticle("coloredcrit", super.worldObj, super.posX + super.motionX * (double)l / 4.0D, super.posY + super.motionY * (double)l / 4.0D, super.posZ + super.motionZ * (double)l / 4.0D, -super.motionX, -super.motionY + 0.2D, -super.motionZ, 0.5D, 0.9D, 0.5D); - } - } - - super.posX += super.motionX; - super.posY += super.motionY; - super.posZ += super.motionZ; - var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); - super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); - - for(super.rotationPitch = (float)(Math.atan2(super.motionY, (double)var22) * 180.0D / 3.141592653589793D); super.rotationPitch - super.prevRotationPitch < -180.0F; super.prevRotationPitch -= 360.0F) { - ; - } - - while(super.rotationPitch - super.prevRotationPitch >= 180.0F) { - super.prevRotationPitch += 360.0F; - } - - while(super.rotationYaw - super.prevRotationYaw < -180.0F) { - super.prevRotationYaw -= 360.0F; - } - - while(super.rotationYaw - super.prevRotationYaw >= 180.0F) { - super.prevRotationYaw += 360.0F; - } - - super.rotationPitch = super.prevRotationPitch + (super.rotationPitch - super.prevRotationPitch) * 0.2F; - super.rotationYaw = super.prevRotationYaw + (super.rotationYaw - super.prevRotationYaw) * 0.2F; - float var24 = 0.99F; - f1 = 0.05F; - if(this.isInWater()) { - for(int var26 = 0; var26 < 4; ++var26) { - var21 = 0.25F; - super.worldObj.spawnParticle("bubble", super.posX - super.motionX * (double)var21, super.posY - super.motionY * (double)var21, super.posZ - super.motionZ * (double)var21, super.motionX, super.motionY, super.motionZ); - } - - var24 = 0.45F; - } - - super.motionX *= (double)var24; - super.motionY *= (double)var24; - super.motionZ *= (double)var24; - super.motionY -= (double)f1; - this.setPosition(super.posX, super.posY, super.posZ); - this.doBlockCollisions(); - } - - } - - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround?1:0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - } - - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - if(par1NBTTagCompound.hasKey("damage")) { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if(par1NBTTagCompound.hasKey("pickup")) { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } else if(par1NBTTagCompound.hasKey("player")) { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player")?1:0; - } - - } - - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { - if(!super.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { - flag = false; - } - - if(flag) { - this.playSound("random.pop", 0.2F, ((super.rand.nextFloat() - super.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - - } - - protected boolean canTriggerWalking() { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() { - return 0.0F; - } - - public void setDamage(double par1) { - this.damage = par1; - } - - public double getDamage() { - return this.damage; - } - - public void setKnockbackStrength(int par1) { - this.knockbackStrength = par1; - } - - public boolean canAttackWithItem() { - return false; - } - - public void setIsCritical(boolean par1) { - byte b0 = super.dataWatcher.getWatchableObjectByte(16); - if(par1) { - super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } else { - super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } - - } - - public boolean getIsCritical() { - byte b0 = super.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - public Entity getThrower() { - return this.shootingEntity; - } - - public void setThrower(Entity entity) { - this.shootingEntity = entity; - } - - public String getTexture() { - return "/mods/Atum/textures/projectiles/arrows_poison.png"; - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowQuickdraw.java b/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowQuickdraw.java deleted file mode 100644 index 9a46c94..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowQuickdraw.java +++ /dev/null @@ -1,464 +0,0 @@ -package rebelkeithy.mods.atum.artifacts.arrow; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.enchantment.EnchantmentThorns; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IProjectile; -import net.minecraft.entity.monster.EntityEnderman; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import rebelkeithy.mods.particleregistry.ParticleRegistry; -import cpw.mods.fml.common.registry.IThrowableEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class EntityArrowQuickdraw extends CustomArrow implements IProjectile, IThrowableEntity { - - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private int inTile = 0; - private int inData = 0; - private boolean inGround = false; - public int canBePickedUp = 0; - public int arrowShake = 0; - public Entity shootingEntity; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - private int knockbackStrength; - - - public EntityArrowQuickdraw(World par1World) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - } - - public EntityArrowQuickdraw(World par1World, double par2, double par4, double par6) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - super.yOffset = 0.0F; - } - - public EntityArrowQuickdraw(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - super.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - super.posY; - double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); - if(d3 >= 1.0E-7D) { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / 3.141592653589793D) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / 3.141592653589793D)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, super.posY, par2EntityLiving.posZ + d5, f2, f3); - super.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); - } - - } - - public EntityArrowQuickdraw(World par1World, EntityLivingBase par2EntityLiving, float par3) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - super.posX -= (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); - super.posY -= 0.10000000149011612D; - super.posZ -= (double)(MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); - this.setPosition(super.posX, super.posY, super.posZ); - super.yOffset = 0.0F; - super.motionX = (double)(-MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); - super.motionZ = (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); - super.motionY = (double)(-MathHelper.sin(super.rotationPitch / 180.0F * 3.1415927F)); - this.setThrowableHeading(super.motionX, super.motionY, super.motionZ, par3 * 1.5F, 1.0F); - } - - protected void entityInit() { - super.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; - par3 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; - par5 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; - super.motionX = par1; - super.motionY = par3; - super.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / 3.141592653589793D); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - public void setVelocity(double par1, double par3, double par5) { - super.motionX = par1; - super.motionY = par3; - super.motionZ = par5; - if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch; - super.prevRotationYaw = super.rotationYaw; - this.setLocationAndAngles(super.posX, super.posY, super.posZ, super.rotationYaw, super.rotationPitch); - this.ticksInGround = 0; - } - - } - - public void onUpdate() { - super.onUpdate(); - if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { - float i = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); - super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(super.motionY, (double)i) * 180.0D / 3.141592653589793D); - } - - int var16 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - if(var16 > 0) { - Block.blocksList[var16].setBlockBoundsBasedOnState(super.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB vec3 = Block.blocksList[var16].getCollisionBoundingBoxFromPool(super.worldObj, this.xTile, this.yTile, this.zTile); - if(vec3 != null && vec3.isVecInside(super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ))) { - this.inGround = true; - } - } - - if(this.arrowShake > 0) { - --this.arrowShake; - } - - if(this.inGround) { - int var17 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - int vec31 = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - if(var17 == this.inTile && vec31 == this.inData) { - ++this.ticksInGround; - if(this.ticksInGround == 1200) { - this.setDead(); - } - } else { - this.inGround = false; - super.motionX *= (double)(super.rand.nextFloat() * 0.2F); - super.motionY *= (double)(super.rand.nextFloat() * 0.2F); - super.motionZ *= (double)(super.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } else { - ++this.ticksInAir; - Vec3 var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); - Vec3 var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); - MovingObjectPosition movingobjectposition = super.worldObj.rayTraceBlocks_do_do(var18, var19, false, true); - var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); - var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); - if(movingobjectposition != null) { - var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = super.worldObj.getEntitiesWithinAABBExcludingEntity(this, super.boundingBox.addCoord(super.motionX, super.motionY, super.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - - int l; - float f1; - for(l = 0; l < list.size(); ++l) { - Entity f2 = (Entity)list.get(l); - if(f2.canBeCollidedWith() && (f2 != this.shootingEntity || this.ticksInAir >= 5)) { - f1 = 0.3F; - AxisAlignedBB f3 = f2.boundingBox.expand((double)f1, (double)f1, (double)f1); - MovingObjectPosition f4 = f3.calculateIntercept(var18, var19); - if(f4 != null) { - double j1 = var18.distanceTo(f4.hitVec); - if(j1 < d0 || d0 == 0.0D) { - entity = f2; - d0 = j1; - } - } - } - } - - if(entity != null) { - movingobjectposition = new MovingObjectPosition(entity); - } - - if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { - EntityPlayer var20 = (EntityPlayer)movingobjectposition.entityHit; - if(var20.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(var20)) { - movingobjectposition = null; - } - } - - float var21; - float var22; - if(movingobjectposition != null) { - if(movingobjectposition.entityHit != null) { - var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); - int var23 = MathHelper.ceiling_double_int((double)var22 * this.damage); - if(this.getIsCritical()) { - var23 += super.rand.nextInt(var23 / 2 + 2); - } - - DamageSource var24 = null; - if(this.shootingEntity == null) { - var24 = DamageSource.causeThrownDamage(this, this); - } else { - var24 = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { - movingobjectposition.entityHit.setFire(5); - } - - if(movingobjectposition.entityHit.attackEntityFrom(var24, var23)) { - if(movingobjectposition.entityHit instanceof EntityLiving) { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; - if(!super.worldObj.isRemote) { - entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); - } - - if(this.knockbackStrength > 0) { - var21 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); - if(var21 > 0.0F) { - movingobjectposition.entityHit.addVelocity(super.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21, 0.1D, super.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21); - } - } - - if(this.shootingEntity != null) { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, super.rand); - } - - if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); - } - } - - this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); - if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { - this.setDead(); - } - } else { - super.motionX *= -0.10000000149011612D; - super.motionY *= -0.10000000149011612D; - super.motionZ *= -0.10000000149011612D; - super.rotationYaw += 180.0F; - super.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } else { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - this.inData = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - super.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - super.posX)); - super.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - super.posY)); - super.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - super.posZ)); - var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); - super.posX -= super.motionX / (double)var22 * 0.05000000074505806D; - super.posY -= super.motionY / (double)var22 * 0.05000000074505806D; - super.posZ -= super.motionZ / (double)var22 * 0.05000000074505806D; - this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - if(this.inTile != 0) { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(super.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } - } - - if(this.getIsCritical() && super.worldObj.isRemote) { - for(l = 0; l < 4; ++l) { - ParticleRegistry.spawnParticle("coloredcrit", super.worldObj, super.posX + super.motionX * (double)l / 4.0D, super.posY + super.motionY * (double)l / 4.0D, super.posZ + super.motionZ * (double)l / 4.0D, -super.motionX, -super.motionY + 0.2D, -super.motionZ, 0.9D, 0.6D, 0.5D); - } - } - - super.posX += super.motionX; - super.posY += super.motionY; - super.posZ += super.motionZ; - var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); - super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); - - for(super.rotationPitch = (float)(Math.atan2(super.motionY, (double)var22) * 180.0D / 3.141592653589793D); super.rotationPitch - super.prevRotationPitch < -180.0F; super.prevRotationPitch -= 360.0F) { - ; - } - - while(super.rotationPitch - super.prevRotationPitch >= 180.0F) { - super.prevRotationPitch += 360.0F; - } - - while(super.rotationYaw - super.prevRotationYaw < -180.0F) { - super.prevRotationYaw -= 360.0F; - } - - while(super.rotationYaw - super.prevRotationYaw >= 180.0F) { - super.prevRotationYaw += 360.0F; - } - - super.rotationPitch = super.prevRotationPitch + (super.rotationPitch - super.prevRotationPitch) * 0.2F; - super.rotationYaw = super.prevRotationYaw + (super.rotationYaw - super.prevRotationYaw) * 0.2F; - float var25 = 0.99F; - f1 = 0.05F; - if(this.isInWater()) { - for(int var26 = 0; var26 < 4; ++var26) { - var21 = 0.25F; - super.worldObj.spawnParticle("bubble", super.posX - super.motionX * (double)var21, super.posY - super.motionY * (double)var21, super.posZ - super.motionZ * (double)var21, super.motionX, super.motionY, super.motionZ); - } - - var25 = 0.45F; - } - - super.motionX *= (double)var25; - super.motionY *= (double)var25; - super.motionZ *= (double)var25; - super.motionY -= (double)f1; - this.setPosition(super.posX, super.posY, super.posZ); - this.doBlockCollisions(); - } - - } - - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround?1:0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - } - - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - if(par1NBTTagCompound.hasKey("damage")) { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if(par1NBTTagCompound.hasKey("pickup")) { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } else if(par1NBTTagCompound.hasKey("player")) { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player")?1:0; - } - - } - - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { - if(!super.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { - flag = false; - } - - if(flag) { - this.playSound("random.pop", 0.2F, ((super.rand.nextFloat() - super.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - - } - - protected boolean canTriggerWalking() { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() { - return 0.0F; - } - - public void setDamage(double par1) { - this.damage = par1; - } - - public double getDamage() { - return this.damage; - } - - public void setKnockbackStrength(int par1) { - this.knockbackStrength = par1; - } - - public boolean canAttackWithItem() { - return false; - } - - public void setIsCritical(boolean par1) { - byte b0 = super.dataWatcher.getWatchableObjectByte(16); - if(par1) { - super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } else { - super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } - - } - - public boolean getIsCritical() { - byte b0 = super.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - public Entity getThrower() { - return this.shootingEntity; - } - - public void setThrower(Entity entity) { - this.shootingEntity = entity; - } - - public String getTexture() { - return "/mods/Atum/textures/projectiles/arrows_quickdraw.png"; - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowVelocity.java b/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowVelocity.java deleted file mode 100644 index 1dfa2c3..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityArrowVelocity.java +++ /dev/null @@ -1,464 +0,0 @@ -package rebelkeithy.mods.atum.artifacts.arrow; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.enchantment.EnchantmentThorns; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IProjectile; -import net.minecraft.entity.monster.EntityEnderman; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import rebelkeithy.mods.particleregistry.ParticleRegistry; -import cpw.mods.fml.common.registry.IThrowableEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class EntityArrowVelocity extends CustomArrow implements IProjectile, IThrowableEntity { - - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private int inTile = 0; - private int inData = 0; - private boolean inGround = false; - public int canBePickedUp = 0; - public int arrowShake = 0; - public Entity shootingEntity; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - private int knockbackStrength; - - - public EntityArrowVelocity(World par1World) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - } - - public EntityArrowVelocity(World par1World, double par2, double par4, double par6) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - super.yOffset = 0.0F; - } - - public EntityArrowVelocity(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - super.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - super.posY; - double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); - if(d3 >= 1.0E-7D) { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / 3.141592653589793D) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / 3.141592653589793D)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, super.posY, par2EntityLiving.posZ + d5, f2, f3); - super.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); - } - - } - - public EntityArrowVelocity(World par1World, EntityLivingBase par2EntityLiving, float par3) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - super.posX -= (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); - super.posY -= 0.10000000149011612D; - super.posZ -= (double)(MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); - this.setPosition(super.posX, super.posY, super.posZ); - super.yOffset = 0.0F; - super.motionX = (double)(-MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); - super.motionZ = (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); - super.motionY = (double)(-MathHelper.sin(super.rotationPitch / 180.0F * 3.1415927F)); - this.setThrowableHeading(super.motionX, super.motionY, super.motionZ, par3 * 1.5F, 1.0F); - } - - protected void entityInit() { - super.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; - par3 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; - par5 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; - super.motionX = par1; - super.motionY = par3; - super.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / 3.141592653589793D); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - public void setVelocity(double par1, double par3, double par5) { - super.motionX = par1; - super.motionY = par3; - super.motionZ = par5; - if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch; - super.prevRotationYaw = super.rotationYaw; - this.setLocationAndAngles(super.posX, super.posY, super.posZ, super.rotationYaw, super.rotationPitch); - this.ticksInGround = 0; - } - - } - - public void onUpdate() { - super.onUpdate(); - if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { - float i = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); - super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(super.motionY, (double)i) * 180.0D / 3.141592653589793D); - } - - int var16 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - if(var16 > 0) { - Block.blocksList[var16].setBlockBoundsBasedOnState(super.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB vec3 = Block.blocksList[var16].getCollisionBoundingBoxFromPool(super.worldObj, this.xTile, this.yTile, this.zTile); - if(vec3 != null && vec3.isVecInside(super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ))) { - this.inGround = true; - } - } - - if(this.arrowShake > 0) { - --this.arrowShake; - } - - if(this.inGround) { - int var17 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - int vec31 = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - if(var17 == this.inTile && vec31 == this.inData) { - ++this.ticksInGround; - if(this.ticksInGround == 1200) { - this.setDead(); - } - } else { - this.inGround = false; - super.motionX *= (double)(super.rand.nextFloat() * 0.2F); - super.motionY *= (double)(super.rand.nextFloat() * 0.2F); - super.motionZ *= (double)(super.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } else { - ++this.ticksInAir; - Vec3 var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); - Vec3 var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); - MovingObjectPosition movingobjectposition = super.worldObj.rayTraceBlocks_do_do(var18, var19, false, true); - var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); - var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); - if(movingobjectposition != null) { - var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = super.worldObj.getEntitiesWithinAABBExcludingEntity(this, super.boundingBox.addCoord(super.motionX, super.motionY, super.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - - int l; - float f1; - for(l = 0; l < list.size(); ++l) { - Entity f2 = (Entity)list.get(l); - if(f2.canBeCollidedWith() && (f2 != this.shootingEntity || this.ticksInAir >= 5)) { - f1 = 0.3F; - AxisAlignedBB f3 = f2.boundingBox.expand((double)f1, (double)f1, (double)f1); - MovingObjectPosition f4 = f3.calculateIntercept(var18, var19); - if(f4 != null) { - double j1 = var18.distanceTo(f4.hitVec); - if(j1 < d0 || d0 == 0.0D) { - entity = f2; - d0 = j1; - } - } - } - } - - if(entity != null) { - movingobjectposition = new MovingObjectPosition(entity); - } - - if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { - EntityPlayer var20 = (EntityPlayer)movingobjectposition.entityHit; - if(var20.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(var20)) { - movingobjectposition = null; - } - } - - float var21; - float var22; - if(movingobjectposition != null) { - if(movingobjectposition.entityHit != null) { - var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); - int var23 = MathHelper.ceiling_double_int((double)var22 * this.damage); - if(this.getIsCritical()) { - var23 += super.rand.nextInt(var23 / 2 + 2); - } - - DamageSource var24 = null; - if(this.shootingEntity == null) { - var24 = DamageSource.causeThrownDamage(this, this); - } else { - var24 = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { - movingobjectposition.entityHit.setFire(5); - } - - if(movingobjectposition.entityHit.attackEntityFrom(var24, var23)) { - if(movingobjectposition.entityHit instanceof EntityLiving) { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; - if(!super.worldObj.isRemote) { - entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); - } - - if(this.knockbackStrength > 0) { - var21 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); - if(var21 > 0.0F) { - movingobjectposition.entityHit.addVelocity(super.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21, 0.1D, super.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21); - } - } - - if(this.shootingEntity != null) { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, super.rand); - } - - if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); - } - } - - this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); - if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { - this.setDead(); - } - } else { - super.motionX *= -0.10000000149011612D; - super.motionY *= -0.10000000149011612D; - super.motionZ *= -0.10000000149011612D; - super.rotationYaw += 180.0F; - super.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } else { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - this.inData = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - super.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - super.posX)); - super.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - super.posY)); - super.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - super.posZ)); - var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); - super.posX -= super.motionX / (double)var22 * 0.05000000074505806D; - super.posY -= super.motionY / (double)var22 * 0.05000000074505806D; - super.posZ -= super.motionZ / (double)var22 * 0.05000000074505806D; - this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - if(this.inTile != 0) { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(super.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } - } - - if(this.getIsCritical() && super.worldObj.isRemote) { - for(l = 0; l < 4; ++l) { - ParticleRegistry.spawnParticle("coloredcrit", super.worldObj, super.posX + super.motionX * (double)l / 4.0D, super.posY + super.motionY * (double)l / 4.0D, super.posZ + super.motionZ * (double)l / 4.0D, -super.motionX, -super.motionY + 0.2D, -super.motionZ, 0.2D, 0.2D, 0.2D); - } - } - - super.posX += super.motionX; - super.posY += super.motionY; - super.posZ += super.motionZ; - var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); - super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); - - for(super.rotationPitch = (float)(Math.atan2(super.motionY, (double)var22) * 180.0D / 3.141592653589793D); super.rotationPitch - super.prevRotationPitch < -180.0F; super.prevRotationPitch -= 360.0F) { - ; - } - - while(super.rotationPitch - super.prevRotationPitch >= 180.0F) { - super.prevRotationPitch += 360.0F; - } - - while(super.rotationYaw - super.prevRotationYaw < -180.0F) { - super.prevRotationYaw -= 360.0F; - } - - while(super.rotationYaw - super.prevRotationYaw >= 180.0F) { - super.prevRotationYaw += 360.0F; - } - - super.rotationPitch = super.prevRotationPitch + (super.rotationPitch - super.prevRotationPitch) * 0.2F; - super.rotationYaw = super.prevRotationYaw + (super.rotationYaw - super.prevRotationYaw) * 0.2F; - float var25 = 0.99F; - f1 = 0.05F; - if(this.isInWater()) { - for(int var26 = 0; var26 < 4; ++var26) { - var21 = 0.5F; - super.worldObj.spawnParticle("bubble", super.posX - super.motionX * (double)var21, super.posY - super.motionY * (double)var21, super.posZ - super.motionZ * (double)var21, super.motionX, super.motionY, super.motionZ); - } - - var25 = 0.9F; - } - - super.motionX *= (double)var25; - super.motionY *= (double)var25; - super.motionZ *= (double)var25; - super.motionY -= Math.min(0.05D, (double)f1 / (super.motionX * super.motionX + super.motionZ * super.motionZ)); - this.setPosition(super.posX, super.posY, super.posZ); - this.doBlockCollisions(); - } - - } - - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround?1:0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - } - - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - if(par1NBTTagCompound.hasKey("damage")) { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if(par1NBTTagCompound.hasKey("pickup")) { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } else if(par1NBTTagCompound.hasKey("player")) { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player")?1:0; - } - - } - - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { - if(!super.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { - flag = false; - } - - if(flag) { - this.playSound("random.pop", 0.2F, ((super.rand.nextFloat() - super.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - - } - - protected boolean canTriggerWalking() { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() { - return 0.0F; - } - - public void setDamage(double par1) { - this.damage = par1; - } - - public double getDamage() { - return this.damage; - } - - public void setKnockbackStrength(int par1) { - this.knockbackStrength = par1; - } - - public boolean canAttackWithItem() { - return false; - } - - public void setIsCritical(boolean par1) { - byte b0 = super.dataWatcher.getWatchableObjectByte(16); - if(par1) { - super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } else { - super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } - - } - - public boolean getIsCritical() { - byte b0 = super.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - public Entity getThrower() { - return this.shootingEntity; - } - - public void setThrower(Entity entity) { - this.shootingEntity = entity; - } - - public String getTexture() { - return "/mods/Atum/textures/projectiles/arrows_velocity.png"; - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityAtumFishHook.java b/common/rebelkeithy/mods/atum/artifacts/arrow/EntityAtumFishHook.java deleted file mode 100644 index e1cf4a3..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityAtumFishHook.java +++ /dev/null @@ -1,420 +0,0 @@ -package rebelkeithy.mods.atum.artifacts.arrow; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import java.util.List; -import net.minecraft.block.material.Material; -import net.minecraft.entity.Entity; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.item.EntityXPOrb; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityFishHook; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.stats.StatList; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumFish; -import rebelkeithy.mods.atum.AtumItems; - -public class EntityAtumFishHook extends EntityFishHook { - - private int xTile; - private int yTile; - private int zTile; - private int inTile; - private boolean inGround; - public int a; - public EntityPlayer b; - private int ticksInGround; - private int ticksInAir; - private int ticksCatchable; - public Entity c; - private int fishPosRotationIncrements; - private double fishX; - private double fishY; - private double fishZ; - private double fishYaw; - private double fishPitch; - @SideOnly(Side.CLIENT) - private double velocityX; - @SideOnly(Side.CLIENT) - private double velocityY; - @SideOnly(Side.CLIENT) - private double velocityZ; - - - public EntityAtumFishHook(World par1World) { - super(par1World); - this.xTile = -1; - this.yTile = -1; - this.zTile = -1; - this.inTile = 0; - this.inGround = false; - super.shake = 0; - this.ticksInAir = 0; - this.ticksCatchable = 0; - super.bobber = null; - this.setSize(0.25F, 0.25F); - super.ignoreFrustumCheck = true; - } - - @SideOnly(Side.CLIENT) - public EntityAtumFishHook(World par1World, double par2, double par4, double par6, EntityPlayer par8EntityPlayer) { - this(par1World); - this.setPosition(par2, par4, par6); - super.ignoreFrustumCheck = true; - super.angler = par8EntityPlayer; - par8EntityPlayer.fishEntity = this; - } - - public EntityAtumFishHook(World par1World, EntityPlayer par2EntityPlayer) { - super(par1World); - this.xTile = -1; - this.yTile = -1; - this.zTile = -1; - this.inTile = 0; - this.inGround = false; - super.shake = 0; - this.ticksInAir = 0; - this.ticksCatchable = 0; - super.bobber = null; - super.ignoreFrustumCheck = true; - super.angler = par2EntityPlayer; - super.angler.fishEntity = this; - this.setSize(0.25F, 0.25F); - this.setLocationAndAngles(par2EntityPlayer.posX, par2EntityPlayer.posY + 1.62D - (double)par2EntityPlayer.yOffset, par2EntityPlayer.posZ, par2EntityPlayer.rotationYaw, par2EntityPlayer.rotationPitch); - super.posX -= (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); - super.posY -= 0.10000000149011612D; - super.posZ -= (double)(MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); - this.setPosition(super.posX, super.posY, super.posZ); - super.yOffset = 0.0F; - float f = 0.4F; - super.motionX = (double)(-MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F) * f); - super.motionZ = (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F) * f); - super.motionY = (double)(-MathHelper.sin(super.rotationPitch / 180.0F * 3.1415927F) * f); - this.calculateVelocity(super.motionX, super.motionY, super.motionZ, 1.5F, 1.0F); - } - - protected void entityInit() {} - - @SideOnly(Side.CLIENT) - public boolean isInRangeToRenderDist(double par1) { - double d1 = super.boundingBox.getAverageEdgeLength() * 4.0D; - d1 *= 64.0D; - return par1 < d1 * d1; - } - - public void calculateVelocity(double par1, double par3, double par5, float par7, float par8) { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += super.rand.nextGaussian() * 0.007499999832361937D * (double)par8; - par3 += super.rand.nextGaussian() * 0.007499999832361937D * (double)par8; - par5 += super.rand.nextGaussian() * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; - super.motionX = par1; - super.motionY = par3; - super.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / 3.141592653589793D); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { - this.fishX = par1; - this.fishY = par3; - this.fishZ = par5; - this.fishYaw = (double)par7; - this.fishPitch = (double)par8; - this.fishPosRotationIncrements = par9; - super.motionX = this.velocityX; - super.motionY = this.velocityY; - super.motionZ = this.velocityZ; - } - - @SideOnly(Side.CLIENT) - public void setVelocity(double par1, double par3, double par5) { - this.velocityX = super.motionX = par1; - this.velocityY = super.motionY = par3; - this.velocityZ = super.motionZ = par5; - } - - public void onUpdate() { - this.onEntityUpdate(); - if(this.fishPosRotationIncrements > 0) { - double vec3 = super.posX + (this.fishX - super.posX) / (double)this.fishPosRotationIncrements; - double movingobjectposition = super.posY + (this.fishY - super.posY) / (double)this.fishPosRotationIncrements; - double list = super.posZ + (this.fishZ - super.posZ) / (double)this.fishPosRotationIncrements; - double d3 = MathHelper.wrapAngleTo180_double(this.fishYaw - (double)super.rotationYaw); - super.rotationYaw = (float)((double)super.rotationYaw + d3 / (double)this.fishPosRotationIncrements); - super.rotationPitch = (float)((double)super.rotationPitch + (this.fishPitch - (double)super.rotationPitch) / (double)this.fishPosRotationIncrements); - --this.fishPosRotationIncrements; - this.setPosition(vec3, movingobjectposition, list); - this.setRotation(super.rotationYaw, super.rotationPitch); - } else { - if(!super.worldObj.isRemote) { - ItemStack var21 = super.angler.getCurrentEquippedItem(); - if(super.angler.isDead || !super.angler.isEntityAlive() || var21 == null || var21.getItem() != AtumItems.anuketsBounty || this.getDistanceSqToEntity(super.angler) > 1024.0D) { - this.setDead(); - super.angler.fishEntity = null; - return; - } - - if(super.bobber != null) { - if(!super.bobber.isDead) { - super.posX = super.bobber.posX; - super.posY = super.bobber.boundingBox.minY + (double)super.bobber.height * 0.8D; - super.posZ = super.bobber.posZ; - return; - } - - super.bobber = null; - } - } - - if(super.shake > 0) { - --super.shake; - } - - if(this.inGround) { - int var22 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - if(var22 == this.inTile) { - ++this.ticksInGround; - if(this.ticksInGround == 1200) { - this.setDead(); - } - - return; - } - - this.inGround = false; - super.motionX *= (double)(super.rand.nextFloat() * 0.2F); - super.motionY *= (double)(super.rand.nextFloat() * 0.2F); - super.motionZ *= (double)(super.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } else { - ++this.ticksInAir; - } - - Vec3 var23 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); - Vec3 vec31 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); - MovingObjectPosition var24 = this.worldObj.rayTraceBlocks_do_do(var23, vec31, false, false); - var23 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); - vec31 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); - if(var24 != null) { - vec31 = super.worldObj.getWorldVec3Pool().getVecFromPool(var24.hitVec.xCoord, var24.hitVec.yCoord, var24.hitVec.zCoord); - } - - Entity entity = null; - List var25 = super.worldObj.getEntitiesWithinAABBExcludingEntity(this, super.boundingBox.addCoord(super.motionX, super.motionY, super.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d4 = 0.0D; - - double d5; - for(int f1 = 0; f1 < var25.size(); ++f1) { - Entity f2 = (Entity)var25.get(f1); - if(f2.canBeCollidedWith() && (f2 != super.angler || this.ticksInAir >= 5)) { - float b0 = 0.3F; - AxisAlignedBB d6 = f2.boundingBox.expand((double)b0, (double)b0, (double)b0); - MovingObjectPosition movingobjectposition1 = d6.calculateIntercept(var23, vec31); - if(movingobjectposition1 != null) { - d5 = var23.distanceTo(movingobjectposition1.hitVec); - if(d5 < d4 || d4 == 0.0D) { - entity = f2; - d4 = d5; - } - } - } - } - - if(entity != null) { - var24 = new MovingObjectPosition(entity); - } - - if(var24 != null) { - if(var24.entityHit != null) { - if(var24.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, super.angler), 0)) { - super.bobber = var24.entityHit; - } - } else { - this.inGround = true; - } - } - - if(!this.inGround) { - this.moveEntity(super.motionX, super.motionY, super.motionZ); - float var27 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); - super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); - - for(super.rotationPitch = (float)(Math.atan2(super.motionY, (double)var27) * 180.0D / 3.141592653589793D); super.rotationPitch - super.prevRotationPitch < -180.0F; super.prevRotationPitch -= 360.0F) { - ; - } - - while(super.rotationPitch - super.prevRotationPitch >= 180.0F) { - super.prevRotationPitch += 360.0F; - } - - while(super.rotationYaw - super.prevRotationYaw < -180.0F) { - super.prevRotationYaw -= 360.0F; - } - - while(super.rotationYaw - super.prevRotationYaw >= 180.0F) { - super.prevRotationYaw += 360.0F; - } - - super.rotationPitch = super.prevRotationPitch + (super.rotationPitch - super.prevRotationPitch) * 0.2F; - super.rotationYaw = super.prevRotationYaw + (super.rotationYaw - super.prevRotationYaw) * 0.2F; - float var26 = 0.92F; - if(super.onGround || super.isCollidedHorizontally) { - var26 = 0.5F; - } - - byte var28 = 5; - double var29 = 0.0D; - - for(int short1 = 0; short1 < var28; ++short1) { - double f3 = super.boundingBox.minY + (super.boundingBox.maxY - super.boundingBox.minY) * (double)(short1 + 0) / (double)var28 - 0.125D + 0.125D; - double f4 = super.boundingBox.minY + (super.boundingBox.maxY - super.boundingBox.minY) * (double)(short1 + 1) / (double)var28 - 0.125D + 0.125D; - AxisAlignedBB axisalignedbb1 = AxisAlignedBB.getAABBPool().getAABB(super.boundingBox.minX, f3, super.boundingBox.minZ, super.boundingBox.maxX, f4, super.boundingBox.maxZ); - if(super.worldObj.isAABBInMaterial(axisalignedbb1, Material.water)) { - var29 += 1.0D / (double)var28; - } - } - - if(var29 > 0.0D) { - if(this.ticksCatchable > 0) { - --this.ticksCatchable; - } else { - short var31 = 500; - if(super.worldObj.canLightningStrikeAt(MathHelper.floor_double(super.posX), MathHelper.floor_double(super.posY) + 1, MathHelper.floor_double(super.posZ))) { - var31 = 300; - } - - if(super.rand.nextInt(var31) == 0) { - this.ticksCatchable = super.rand.nextInt(30) + 10; - super.motionY -= 0.20000000298023224D; - this.playSound("random.splash", 0.25F, 1.0F + (super.rand.nextFloat() - super.rand.nextFloat()) * 0.4F); - float var30 = (float)MathHelper.floor_double(super.boundingBox.minY); - - int l; - float f5; - float var32; - for(l = 0; (float)l < 1.0F + super.width * 20.0F; ++l) { - f5 = (super.rand.nextFloat() * 2.0F - 1.0F) * super.width; - var32 = (super.rand.nextFloat() * 2.0F - 1.0F) * super.width; - super.worldObj.spawnParticle("bubble", super.posX + (double)f5, (double)(var30 + 1.0F), super.posZ + (double)var32, super.motionX, super.motionY - (double)(super.rand.nextFloat() * 0.2F), super.motionZ); - } - - for(l = 0; (float)l < 1.0F + super.width * 20.0F; ++l) { - f5 = (super.rand.nextFloat() * 2.0F - 1.0F) * super.width; - var32 = (super.rand.nextFloat() * 2.0F - 1.0F) * super.width; - super.worldObj.spawnParticle("splash", super.posX + (double)f5, (double)(var30 + 1.0F), super.posZ + (double)var32, super.motionX, super.motionY, super.motionZ); - } - } - } - } - - if(this.ticksCatchable > 0) { - super.motionY -= (double)(super.rand.nextFloat() * super.rand.nextFloat() * super.rand.nextFloat()) * 0.2D; - } - - d5 = var29 * 2.0D - 1.0D; - super.motionY += 0.03999999910593033D * d5; - if(var29 > 0.0D) { - var26 = (float)((double)var26 * 0.9D); - super.motionY *= 0.8D; - } - - super.motionX *= (double)var26; - super.motionY *= (double)var26; - super.motionZ *= (double)var26; - this.setPosition(super.posX, super.posY, super.posZ); - } - } - - } - - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("shake", (byte)super.shake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround?1:0)); - } - - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; - super.shake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() { - return 0.0F; - } - - public int catchFish() { - if(super.worldObj.isRemote) { - return 0; - } else { - byte b0 = 0; - if(super.bobber != null) { - double entityitem = super.angler.posX - super.posX; - double d1 = super.angler.posY - super.posY; - double d2 = super.angler.posZ - super.posZ; - double d3 = (double)MathHelper.sqrt_double(entityitem * entityitem + d1 * d1 + d2 * d2); - double d4 = 0.1D; - super.bobber.motionX += entityitem * d4; - super.bobber.motionY += d1 * d4 + (double)MathHelper.sqrt_double(d3) * 0.08D; - super.bobber.motionZ += d2 * d4; - b0 = 3; - } else if(this.ticksCatchable > 0) { - EntityItem entityitem1 = new EntityItem(super.worldObj, super.posX, super.posY, super.posZ, new ItemStack(Item.fishRaw)); - entityitem1.setEntityItemStack(AtumFish.getRandomFish()); - double d5 = super.angler.posX - super.posX; - double d6 = super.angler.posY - super.posY; - double d7 = super.angler.posZ - super.posZ; - double d8 = (double)MathHelper.sqrt_double(d5 * d5 + d6 * d6 + d7 * d7); - double d9 = 0.1D; - entityitem1.motionX = d5 * d9; - entityitem1.motionY = d6 * d9 + (double)MathHelper.sqrt_double(d8) * 0.08D; - entityitem1.motionZ = d7 * d9; - super.worldObj.spawnEntityInWorld(entityitem1); - super.angler.addStat(StatList.fishCaughtStat, 1); - super.angler.worldObj.spawnEntityInWorld(new EntityXPOrb(super.angler.worldObj, super.angler.posX, super.angler.posY + 0.5D, super.angler.posZ + 0.5D, super.rand.nextInt(6) + 1)); - b0 = 1; - } - - if(this.inGround) { - b0 = 2; - } - - this.setDead(); - super.angler.fishEntity = null; - return b0; - } - } - - public void setDead() { - super.setDead(); - if(super.angler != null) { - super.angler.fishEntity = null; - } - - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityNutsCall.java b/common/rebelkeithy/mods/atum/artifacts/arrow/EntityNutsCall.java deleted file mode 100644 index 90119c4..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/EntityNutsCall.java +++ /dev/null @@ -1,470 +0,0 @@ -package rebelkeithy.mods.atum.artifacts.arrow; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.enchantment.EnchantmentThorns; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IProjectile; -import net.minecraft.entity.effect.EntityLightningBolt; -import net.minecraft.entity.monster.EntityEnderman; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import cpw.mods.fml.common.registry.IThrowableEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class EntityNutsCall extends CustomArrow implements IProjectile, IThrowableEntity { - - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private int inTile = 0; - private int inData = 0; - private boolean inGround = false; - public int canBePickedUp = 0; - public int arrowShake = 0; - public Entity shootingEntity; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - public ItemStack stack; - private int knockbackStrength; - - - public EntityNutsCall(World par1World) { - super(par1World); - super.renderDistanceWeight = 10.0D; - super.isImmuneToFire = true; - this.setSize(1.5F, 0.5F); - } - - public EntityNutsCall(World par1World, double par2, double par4, double par6) { - super(par1World); - super.renderDistanceWeight = 10.0D; - super.isImmuneToFire = true; - this.setSize(1.5F, 0.5F); - this.setPosition(par2, par4, par6); - super.yOffset = 0.0F; - } - - public EntityNutsCall(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { - super(par1World); - super.isImmuneToFire = true; - super.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - super.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - super.posY; - double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); - if(d3 >= 1.0E-7D) { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / 3.141592653589793D) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / 3.141592653589793D)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, super.posY, par2EntityLiving.posZ + d5, f2, f3); - super.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); - } - - } - - public EntityNutsCall(World par1World, EntityLivingBase par2EntityLiving, float par3) { - super(par1World); - super.isImmuneToFire = true; - super.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - this.setSize(1.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - super.posX -= (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); - super.posY -= 0.10000000149011612D; - super.posZ -= (double)(MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); - this.setPosition(super.posX, super.posY, super.posZ); - super.yOffset = 0.0F; - super.motionX = (double)(-MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); - super.motionZ = (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); - super.motionY = (double)(-MathHelper.sin(super.rotationPitch / 180.0F * 3.1415927F)); - this.setThrowableHeading(super.motionX, super.motionY, super.motionZ, par3 * 1.5F, 1.0F); - } - - public void setStack(ItemStack stack) { - this.stack = stack; - } - - protected void entityInit() { - super.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; - par3 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; - par5 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; - super.motionX = par1; - super.motionY = par3; - super.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / 3.141592653589793D); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - public void setVelocity(double par1, double par3, double par5) { - super.motionX = par1; - super.motionY = par3; - super.motionZ = par5; - if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch; - super.prevRotationYaw = super.rotationYaw; - this.setLocationAndAngles(super.posX, super.posY, super.posZ, super.rotationYaw, super.rotationPitch); - this.ticksInGround = 0; - } - - } - - public void onUpdate() { - super.onUpdate(); - if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { - float i = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); - super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(super.motionY, (double)i) * 180.0D / 3.141592653589793D); - } - - int var16 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - if(var16 > 0) { - Block.blocksList[var16].setBlockBoundsBasedOnState(super.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB vec3 = Block.blocksList[var16].getCollisionBoundingBoxFromPool(super.worldObj, this.xTile, this.yTile, this.zTile); - if(vec3 != null && vec3.isVecInside(super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ))) { - this.inGround = true; - } - } - - if(this.arrowShake > 0) { - --this.arrowShake; - } - - if(this.inGround) { - int var17 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - int vec31 = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - if(var17 == this.inTile && vec31 == this.inData) { - ++this.ticksInGround; - if(this.ticksInGround == 20000) { - this.setDead(); - } - } else { - this.inGround = false; - super.motionX *= (double)(super.rand.nextFloat() * 0.2F); - super.motionY *= (double)(super.rand.nextFloat() * 0.2F); - super.motionZ *= (double)(super.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } else { - ++this.ticksInAir; - Vec3 var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); - Vec3 var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); - MovingObjectPosition movingobjectposition = super.worldObj.rayTraceBlocks_do_do(var18, var19, false, true); - var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); - var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); - if(movingobjectposition != null) { - var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = super.worldObj.getEntitiesWithinAABBExcludingEntity(this, super.boundingBox.addCoord(super.motionX, super.motionY, super.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - - int l; - float f1; - for(l = 0; l < list.size(); ++l) { - Entity f2 = (Entity)list.get(l); - if(f2.canBeCollidedWith() && (f2 != this.shootingEntity || this.ticksInAir >= 5)) { - f1 = 0.3F; - AxisAlignedBB f3 = f2.boundingBox.expand((double)f1, (double)f1, (double)f1); - MovingObjectPosition f4 = f3.calculateIntercept(var18, var19); - if(f4 != null) { - double j1 = var18.distanceTo(f4.hitVec); - if(j1 < d0 || d0 == 0.0D) { - entity = f2; - d0 = j1; - } - } - } - } - - if(entity != null) { - movingobjectposition = new MovingObjectPosition(entity); - } - - if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { - EntityPlayer var20 = (EntityPlayer)movingobjectposition.entityHit; - if(var20.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(var20)) { - movingobjectposition = null; - } - } - - float var21; - float var22; - if(movingobjectposition != null) { - if(movingobjectposition.entityHit != null) { - var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); - int var23 = MathHelper.ceiling_double_int((double)var22 * this.damage); - if(this.getIsCritical()) { - var23 += super.rand.nextInt(var23 / 2 + 2); - } - - DamageSource var24 = null; - if(this.shootingEntity == null) { - var24 = DamageSource.causeThrownDamage(this, this); - } else { - var24 = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { - movingobjectposition.entityHit.setFire(5); - } - - if(Math.random() > 0.5D) { - super.worldObj.addWeatherEffect(new EntityLightningBolt(super.worldObj, super.posX, super.posY, super.posZ)); - } - - if(movingobjectposition.entityHit.attackEntityFrom(var24, var23)) { - if(movingobjectposition.entityHit instanceof EntityLiving) { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; - if(this.knockbackStrength > 0) { - var21 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); - if(var21 > 0.0F) { - movingobjectposition.entityHit.addVelocity(super.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21, 0.1D, super.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21); - } - } - - if(this.shootingEntity != null) { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, super.rand); - } - - if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); - } - } - - this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); - } else { - super.motionX *= -0.10000000149011612D; - super.motionY *= -0.10000000149011612D; - super.motionZ *= -0.10000000149011612D; - super.rotationYaw += 180.0F; - super.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } else { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - this.inData = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - super.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - super.posX)); - super.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - super.posY)); - super.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - super.posZ)); - var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); - super.posX -= super.motionX / (double)var22 * 0.05000000074505806D; - super.posY -= super.motionY / (double)var22 * 0.05000000074505806D; - super.posZ -= super.motionZ / (double)var22 * 0.05000000074505806D; - this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - if(this.inTile != 0) { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(super.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } - } - - if(this.getIsCritical()) { - for(l = 0; l < 4; ++l) { - super.worldObj.spawnParticle("crit", super.posX + super.motionX * (double)l / 4.0D, super.posY + super.motionY * (double)l / 4.0D, super.posZ + super.motionZ * (double)l / 4.0D, -super.motionX, -super.motionY + 0.2D, -super.motionZ); - } - } - - super.posX += super.motionX; - super.posY += super.motionY; - super.posZ += super.motionZ; - var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); - super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); - - for(super.rotationPitch = (float)(Math.atan2(super.motionY, (double)var22) * 180.0D / 3.141592653589793D); super.rotationPitch - super.prevRotationPitch < -180.0F; super.prevRotationPitch -= 360.0F) { - ; - } - - while(super.rotationPitch - super.prevRotationPitch >= 180.0F) { - super.prevRotationPitch += 360.0F; - } - - while(super.rotationYaw - super.prevRotationYaw < -180.0F) { - super.prevRotationYaw -= 360.0F; - } - - while(super.rotationYaw - super.prevRotationYaw >= 180.0F) { - super.prevRotationYaw += 360.0F; - } - - super.rotationPitch = super.prevRotationPitch + (super.rotationPitch - super.prevRotationPitch) * 0.2F; - super.rotationYaw = super.prevRotationYaw + (super.rotationYaw - super.prevRotationYaw) * 0.2F; - float var25 = 0.99F; - f1 = 0.05F; - if(this.isInWater()) { - for(int var26 = 0; var26 < 4; ++var26) { - var21 = 0.25F; - super.worldObj.spawnParticle("bubble", super.posX - super.motionX * (double)var21, super.posY - super.motionY * (double)var21, super.posZ - super.motionZ * (double)var21, super.motionX, super.motionY, super.motionZ); - } - - var25 = 0.45F; - } - - super.motionX *= (double)var25; - super.motionY *= (double)var25; - super.motionZ *= (double)var25; - super.motionY -= (double)f1; - this.setPosition(super.posX, super.posY, super.posZ); - this.doBlockCollisions(); - } - - } - - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround?1:0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - NBTTagCompound stackTag = new NBTTagCompound(); - this.stack.writeToNBT(stackTag); - par1NBTTagCompound.setCompoundTag("itemstack", stackTag); - } - - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - if(par1NBTTagCompound.hasKey("damage")) { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if(par1NBTTagCompound.hasKey("pickup")) { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } else if(par1NBTTagCompound.hasKey("player")) { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player")?1:0; - } - - NBTTagCompound stackTag = par1NBTTagCompound.getCompoundTag("itemstack"); - this.stack = ItemStack.loadItemStackFromNBT(stackTag); - } - - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { - if(!super.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(this.stack)) { - flag = false; - } - - if(flag) { - this.playSound("random.pop", 0.2F, ((super.rand.nextFloat() - super.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - - } - - protected boolean canTriggerWalking() { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() { - return 0.0F; - } - - public void setDamage(double par1) { - this.damage = par1; - } - - public double getDamage() { - return this.damage; - } - - public void setKnockbackStrength(int par1) { - this.knockbackStrength = par1; - } - - public boolean canAttackWithItem() { - return false; - } - - public void setIsCritical(boolean par1) { - byte b0 = super.dataWatcher.getWatchableObjectByte(16); - if(par1) { - super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } else { - super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } - - } - - public boolean getIsCritical() { - byte b0 = super.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - public Entity getThrower() { - return this.shootingEntity; - } - - public void setThrower(Entity entity) { - this.shootingEntity = entity; - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/RenderCustomArrow.java b/common/rebelkeithy/mods/atum/artifacts/arrow/RenderCustomArrow.java deleted file mode 100644 index edca582..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/RenderCustomArrow.java +++ /dev/null @@ -1,83 +0,0 @@ -package rebelkeithy.mods.atum.artifacts.arrow; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.util.MathHelper; -import net.minecraft.util.ResourceLocation; - -import org.lwjgl.opengl.GL11; - -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.artifacts.arrow.CustomArrow; - -@SideOnly(Side.CLIENT) -public class RenderCustomArrow extends Render { - - public void renderArrow(CustomArrow entityArrow, double par2, double par4, double par6, float par8, float par9) { - GL11.glPushMatrix(); - GL11.glTranslatef((float) par2, (float) par4, (float) par6); - GL11.glRotatef(entityArrow.prevRotationYaw + (entityArrow.rotationYaw - entityArrow.prevRotationYaw) * par9 - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(entityArrow.prevRotationPitch + (entityArrow.rotationPitch - entityArrow.prevRotationPitch) * par9, 0.0F, 0.0F, 1.0F); - Tessellator tessellator = Tessellator.instance; - byte b0 = 0; - float f2 = 0.0F; - float f3 = 0.5F; - float f4 = (float) (0 + b0 * 10) / 32.0F; - float f5 = (float) (5 + b0 * 10) / 32.0F; - float f6 = 0.0F; - float f7 = 0.15625F; - float f8 = (float) (5 + b0 * 10) / 32.0F; - float f9 = (float) (10 + b0 * 10) / 32.0F; - float f10 = 0.05625F; - GL11.glEnable('\u803a'); - float f11 = entityArrow.arrowShake - par9; - if (f11 > 0.0F) { - float i = -MathHelper.sin(f11 * 3.0F) * f11; - GL11.glRotatef(i, 0.0F, 0.0F, 1.0F); - } - - GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F); - GL11.glScalef(f10, f10, f10); - GL11.glTranslatef(-4.0F, 0.0F, 0.0F); - GL11.glNormal3f(f10, 0.0F, 0.0F); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double) f6, (double) f8); - tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double) f7, (double) f8); - tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double) f7, (double) f9); - tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double) f6, (double) f9); - tessellator.draw(); - GL11.glNormal3f(-f10, 0.0F, 0.0F); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double) f6, (double) f8); - tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double) f7, (double) f8); - tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double) f7, (double) f9); - tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double) f6, (double) f9); - tessellator.draw(); - - for (int var23 = 0; var23 < 4; ++var23) { - GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); - GL11.glNormal3f(0.0F, 0.0F, f10); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-8.0D, -2.0D, 0.0D, (double) f2, (double) f4); - tessellator.addVertexWithUV(8.0D, -2.0D, 0.0D, (double) f3, (double) f4); - tessellator.addVertexWithUV(8.0D, 2.0D, 0.0D, (double) f3, (double) f5); - tessellator.addVertexWithUV(-8.0D, 2.0D, 0.0D, (double) f2, (double) f5); - tessellator.draw(); - } - - GL11.glDisable('\u803a'); - GL11.glPopMatrix(); - } - - public void doRender(Entity par1Entity, double par2, double par4, double par6, float par8, float par9) { - this.renderArrow((CustomArrow) par1Entity, par2, par4, par6, par8, par9); - } - - @Override - protected ResourceLocation getEntityTexture(Entity entity) { - return new ResourceLocation("atum:textures/" + ((CustomArrow) entity).getTexture()); - } -} diff --git a/common/rebelkeithy/mods/atum/artifacts/arrow/RenderNutsCall.java b/common/rebelkeithy/mods/atum/artifacts/arrow/RenderNutsCall.java deleted file mode 100644 index de05e89..0000000 --- a/common/rebelkeithy/mods/atum/artifacts/arrow/RenderNutsCall.java +++ /dev/null @@ -1,58 +0,0 @@ -package rebelkeithy.mods.atum.artifacts.arrow; - -import net.minecraft.client.renderer.ItemRenderer; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.util.MathHelper; -import net.minecraft.util.ResourceLocation; - -import org.lwjgl.opengl.GL11; - -import rebelkeithy.mods.atum.Atum; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class RenderNutsCall extends Render { - - public void renderArrow(CustomArrow par1EntityFireSpearCombined, double par2, double par4, double par6, float par8, float par9) { - GL11.glPushMatrix(); - GL11.glTranslatef((float) par2, (float) par4, (float) par6); - GL11.glRotatef(par1EntityFireSpearCombined.prevRotationYaw + (par1EntityFireSpearCombined.rotationYaw - par1EntityFireSpearCombined.prevRotationYaw) * par9 - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(par1EntityFireSpearCombined.prevRotationPitch + (par1EntityFireSpearCombined.rotationPitch - par1EntityFireSpearCombined.prevRotationPitch) * par9, 0.0F, 0.0F, 1.0F); - Tessellator tessellator = Tessellator.instance; - byte b0 = 0; - float f2 = 0.0F; - float f3 = 0.5F; - float f4 = (float) (0 + b0 * 10) / 32.0F; - float f5 = (float) (5 + b0 * 10) / 32.0F; - float f6 = 0.0F; - float f7 = 0.15625F; - float f8 = (float) (5 + b0 * 10) / 32.0F; - float f9 = (float) (10 + b0 * 10) / 32.0F; - float f10 = 0.15625F; - GL11.glEnable('\u803a'); - float f11 = par1EntityFireSpearCombined.arrowShake - par9; - if (f11 > 0.0F) { - float f12 = -MathHelper.sin(f11 * 3.0F) * f11; - GL11.glRotatef(f12, 0.0F, 0.0F, 1.0F); - } - - GL11.glScalef(2.0F, 1.5F, 1.5F); - GL11.glTranslatef(-0.85F, 0.0F, 0.0F); - GL11.glNormal3f(f10, 0.0F, 0.0F); - ItemRenderer.renderItemIn2D(tessellator, -1.0F, -0.3125F, -0.15625F, 0.375F, 32, 1024, 0.0625F); - GL11.glDisable('\u803a'); - GL11.glPopMatrix(); - } - - public void doRender(Entity par1Entity, double par2, double par4, double par6, float par8, float par9) { - this.renderArrow((CustomArrow) par1Entity, par2, par4, par6, par8, par9); - } - - @Override - protected ResourceLocation getEntityTexture(Entity entity) { - return new ResourceLocation("atum:textures/projectiles/nutscall.png"); - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/AtumStone.java b/common/rebelkeithy/mods/atum/blocks/AtumStone.java deleted file mode 100644 index 6b18859..0000000 --- a/common/rebelkeithy/mods/atum/blocks/AtumStone.java +++ /dev/null @@ -1,25 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.AtumBlocks; - -public class AtumStone extends Block { - - public AtumStone(int par1) { - super(par1, Material.rock); - } - - public int idDropped(int par1, Random par2Random, int par3) { - return AtumBlocks.cobble.blockID; - } - - @Override - public void registerIcons(IconRegister par1IconRegister) { - this.blockIcon = par1IconRegister.registerIcon(Atum.modID + ":AtumStone"); - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockAtumBrick.java b/common/rebelkeithy/mods/atum/blocks/BlockAtumBrick.java deleted file mode 100644 index 7c1e81e..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockAtumBrick.java +++ /dev/null @@ -1,51 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.util.Icon; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.AtumConfig; - -public class BlockAtumBrick extends Block { - - Icon[] iconArray; - - public BlockAtumBrick(int par1, Material par2Material) { - super(par1, par2Material); - } - - public boolean removeBlockByPlayer(World world, EntityPlayer player, int x, int y, int z) { - return world.getBlockMetadata(x, y, z) == 1 && AtumConfig.protectBlocksInCreative ? false : super.removeBlockByPlayer(world, player, x, y, z); - } - - public float getExplosionResistance(Entity par1Entity, World world, int x, int y, int z, double explosionX, double explosionY, double explosionZ) { - return world.getBlockMetadata(x, y, z) == 1 ? 80.0F : super.getExplosionResistance(par1Entity, world, x, y, z, explosionX, explosionY, explosionZ); - } - - public float getBlockHardness(World par1World, int par2, int par3, int par4) { - return par1World.getBlockMetadata(par2, par3, par4) == 1 ? -1.0F : super.blockHardness; - } - - @Override - public Icon getIcon(int par1, int par2) { - if (this.blockID == AtumConfig.largeBrickID) { - return this.iconArray[0]; - } else if (this.blockID == AtumConfig.smallBrickID) { - return this.iconArray[1]; - } else { - return this.iconArray[2]; - } - } - - @Override - public void registerIcons(IconRegister par1IconRegister) { - iconArray = new Icon[3]; - this.iconArray[0] = par1IconRegister.registerIcon(Atum.modID + ":AtumBrickLarge"); - this.iconArray[1] = par1IconRegister.registerIcon(Atum.modID + ":AtumBrickSmall"); - this.iconArray[2] = par1IconRegister.registerIcon(Atum.modID + ":AtumBrickCarved"); - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockAtumGlass.java b/common/rebelkeithy/mods/atum/blocks/BlockAtumGlass.java deleted file mode 100644 index 09f3056..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockAtumGlass.java +++ /dev/null @@ -1,35 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import java.util.Random; -import net.minecraft.block.BlockBreakable; -import net.minecraft.block.material.Material; - -public class BlockAtumGlass extends BlockBreakable { - - public BlockAtumGlass(int id, String name, Material material, boolean bool) { - super(id, name, material, bool); - } - - public int quantityDropped(Random rand) { - return 0; - } - - @SideOnly(Side.CLIENT) - public int getRenderBlockPass() { - return 0; - } - - public boolean isOpaqueCube() { - return false; - } - - public boolean renderAsNormalBlock() { - return false; - } - - protected boolean canSilkHarvest() { - return true; - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockAtumLeaves.java b/common/rebelkeithy/mods/atum/blocks/BlockAtumLeaves.java deleted file mode 100644 index 97812a8..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockAtumLeaves.java +++ /dev/null @@ -1,258 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import java.util.ArrayList; -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.block.BlockLeavesBase; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; -import net.minecraft.world.ColorizerFoliage; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraftforge.common.IShearable; -import rebelkeithy.mods.atum.AtumBlocks; - -public class BlockAtumLeaves extends BlockLeavesBase implements IShearable { - - @SideOnly(Side.CLIENT) - private int graphicFlag; - private Icon[][] iconArray = new Icon[2][]; - int[] adjacentTreeBlocks; - private Icon icon; - - - public BlockAtumLeaves(int par1) { - super(par1, Material.leaves, false); - this.setTickRandomly(true); - } - - @SideOnly(Side.CLIENT) - public int getBlockColor() { - double d0 = 0.5D; - double d1 = 1.0D; - return ColorizerFoliage.getFoliageColor(d0, d1); - } - - @SideOnly(Side.CLIENT) - public int getRenderColor(int par1) { - return ColorizerFoliage.getFoliageColorBasic(); - } - - @SideOnly(Side.CLIENT) - public int colorMultiplier(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { - int i1 = 0; - int j1 = 0; - int k1 = 0; - - for(int l1 = -1; l1 <= 1; ++l1) { - for(int i2 = -1; i2 <= 1; ++i2) { - int j2 = BiomeGenBase.desert.getBiomeFoliageColor(); - i1 += (j2 & 16711680) >> 16; - j1 += (j2 & '\uff00') >> 8; - k1 += j2 & 255; - } - } - - return (i1 / 9 & 255) << 16 | (j1 / 9 & 255) << 8 | k1 / 9 & 255; - } - - public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) { - byte b0 = 1; - int j1 = b0 + 1; - if(par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1)) { - for(int k1 = -b0; k1 <= b0; ++k1) { - for(int l1 = -b0; l1 <= b0; ++l1) { - for(int i2 = -b0; i2 <= b0; ++i2) { - int j2 = par1World.getBlockId(par2 + k1, par3 + l1, par4 + i2); - if(Block.blocksList[j2] != null) { - Block.blocksList[j2].beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2); - } - } - } - } - } - - } - - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if(!par1World.isRemote) { - int l = par1World.getBlockMetadata(par2, par3, par4); - if((l & 8) != 0 && (l & 4) == 0) { - byte b0 = 4; - int i1 = b0 + 1; - byte b1 = 32; - int j1 = b1 * b1; - int k1 = b1 / 2; - if(this.adjacentTreeBlocks == null) { - this.adjacentTreeBlocks = new int[b1 * b1 * b1]; - } - - int l1; - if(par1World.checkChunksExist(par2 - i1, par3 - i1, par4 - i1, par2 + i1, par3 + i1, par4 + i1)) { - int i2; - int j2; - int k2; - for(l1 = -b0; l1 <= b0; ++l1) { - for(i2 = -b0; i2 <= b0; ++i2) { - for(j2 = -b0; j2 <= b0; ++j2) { - k2 = par1World.getBlockId(par2 + l1, par3 + i2, par4 + j2); - Block block = Block.blocksList[k2]; - if(block != null && block.canSustainLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) { - this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = 0; - } else if(block != null && block.isLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) { - this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = -2; - } else { - this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = -1; - } - } - } - } - - for(l1 = 1; l1 <= 4; ++l1) { - for(i2 = -b0; i2 <= b0; ++i2) { - for(j2 = -b0; j2 <= b0; ++j2) { - for(k2 = -b0; k2 <= b0; ++k2) { - if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1] == l1 - 1) { - if(this.adjacentTreeBlocks[(i2 + k1 - 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) { - this.adjacentTreeBlocks[(i2 + k1 - 1) * j1 + (j2 + k1) * b1 + k2 + k1] = l1; - } - - if(this.adjacentTreeBlocks[(i2 + k1 + 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) { - this.adjacentTreeBlocks[(i2 + k1 + 1) * j1 + (j2 + k1) * b1 + k2 + k1] = l1; - } - - if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 - 1) * b1 + k2 + k1] == -2) { - this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 - 1) * b1 + k2 + k1] = l1; - } - - if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 + 1) * b1 + k2 + k1] == -2) { - this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 + 1) * b1 + k2 + k1] = l1; - } - - if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + (k2 + k1 - 1)] == -2) { - this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + (k2 + k1 - 1)] = l1; - } - - if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1 + 1] == -2) { - this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1 + 1] = l1; - } - } - } - } - } - } - } - - l1 = this.adjacentTreeBlocks[k1 * j1 + k1 * b1 + k1]; - if(l1 >= 0) { - par1World.setBlockMetadataWithNotify(par2, par3, par4, l & -9, 4); - } else { - this.removeLeaves(par1World, par2, par3, par4); - } - } - } - - } - - @SideOnly(Side.CLIENT) - public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if(par1World.canLightningStrikeAt(par2, par3 + 1, par4) && !par1World.doesBlockHaveSolidTopSurface(par2, par3 - 1, par4) && par5Random.nextInt(15) == 1) { - double d0 = (double)((float)par2 + par5Random.nextFloat()); - double d1 = (double)par3 - 0.05D; - double d2 = (double)((float)par4 + par5Random.nextFloat()); - par1World.spawnParticle("dripWater", d0, d1, d2, 0.0D, 0.0D, 0.0D); - } - - } - - private void removeLeaves(World par1World, int par2, int par3, int par4) { - this.dropBlockAsItem(par1World, par2, par3, par4, par1World.getBlockMetadata(par2, par3, par4), 0); - par1World.setBlockToAir(par2, par3, par4); - } - - public int quantityDropped(Random par1Random) { - return par1Random.nextInt(20) == 0?1:0; - } - - public int idDropped(int par1, Random par2Random, int par3) { - return AtumBlocks.palmSapling.blockID; - } - - public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int par4, int par5, float par6, int par7) { - if(!par1World.isRemote) { - int j1 = 20; - if((par5 & 3) == 3) { - j1 = 40; - } - - if(par7 > 0) { - j1 -= 2 << par7; - if(j1 < 10) { - j1 = 10; - } - } - - if(par1World.rand.nextInt(j1) == 0) { - int k1 = this.idDropped(par5, par1World.rand, par7); - this.dropBlockAsItem_do(par1World, par2, par3, par4, new ItemStack(k1, 1, this.damageDropped(par5))); - } - } - - } - - public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6) { - super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6); - } - - public int damageDropped(int par1) { - return par1 & 3; - } - - public boolean isOpaqueCube() { - return false; - } - - @SideOnly(Side.CLIENT) - public Icon getIcon(int par1, int par2) { - return this.icon; - } - - @SideOnly(Side.CLIENT) - public void setGraphicsLevel(boolean par1) { - super.graphicsLevel = par1; - this.graphicFlag = par1?0:1; - } - - protected ItemStack createStackedBlock(int par1) { - return new ItemStack(super.blockID, 1, par1 & 3); - } - - @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - this.icon = par1IconRegister.registerIcon("atum:AtumLeaves"); - } - - public boolean isShearable(ItemStack item, World world, int x, int y, int z) { - return true; - } - - public ArrayList onSheared(ItemStack item, World world, int x, int y, int z, int fortune) { - ArrayList ret = new ArrayList(); - ret.add(new ItemStack(this, 1, world.getBlockMetadata(x, y, z) & 3)); - return ret; - } - - public void beginLeavesDecay(World world, int x, int y, int z) { - world.setBlockMetadataWithNotify(x, y, z, world.getBlockMetadata(x, y, z) | 8, 4); - } - - public boolean isLeaves(World world, int x, int y, int z) { - return true; - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockAtumPane.java b/common/rebelkeithy/mods/atum/blocks/BlockAtumPane.java deleted file mode 100644 index e7189a4..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockAtumPane.java +++ /dev/null @@ -1,11 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import net.minecraft.block.BlockPane; -import net.minecraft.block.material.Material; - -public class BlockAtumPane extends BlockPane { - - public BlockAtumPane(int par1, String par2Str, String par3Str, Material par4Material, boolean par5) { - super(par1, par2Str, par3Str, par4Material, par5); - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockAtumPortal.java b/common/rebelkeithy/mods/atum/blocks/BlockAtumPortal.java deleted file mode 100644 index 94ee8f0..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockAtumPortal.java +++ /dev/null @@ -1,203 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import cpw.mods.fml.common.ObfuscationReflectionHelper; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.block.BlockBreakable; -import net.minecraft.block.material.Material; -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.server.MinecraftServer; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraft.world.WorldServer; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.AtumConfig; -import rebelkeithy.mods.atum.AtumTeleporter; -import rebelkeithy.mods.atum.TickHandler; -import rebelkeithy.mods.particleregistry.ParticleRegistry; - -public class BlockAtumPortal extends BlockBreakable { - - public BlockAtumPortal(int par1) { - super(par1, "atum:portal", Material.portal, false); - this.setTickRandomly(true); - this.setHardness(-1.0F); - } - - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { - super.updateTick(par1World, par2, par3, par4, par5Random); - if(par1World.provider.isSurfaceWorld() && par5Random.nextInt(2000) < par1World.difficultySetting) { - ; - } - - } - - public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { - return null; - } - - public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) {} - - public boolean isOpaqueCube() { - return false; - } - - public boolean renderAsNormalBlock() { - return true; - } - - public boolean tryToCreatePortal(World par1World, int par2, int par3, int par4) { - par1World.getBlockId(par2, par3 - 1, par4); - int id1 = par1World.getBlockId(par2 - 2, par3 + 0, par4); - int id2 = par1World.getBlockId(par2 - 2, par3 + 1, par4); - int id3 = par1World.getBlockId(par2, par3 + 0, par4 - 2); - int id4 = par1World.getBlockId(par2, par3 + 1, par4 - 2); - int id5 = par1World.getBlockId(par2, par3 + 0, par4 + 2); - int id6 = par1World.getBlockId(par2, par3 + 1, par4 + 2); - int id7 = par1World.getBlockId(par2 + 2, par3 + 0, par4); - int id8 = par1World.getBlockId(par2 + 2, par3 + 1, par4); - int id9 = par1World.getBlockId(par2 - 1, par3 + 2, par4); - int id10 = par1World.getBlockId(par2, par3 + 2, par4 - 1); - int id11 = par1World.getBlockId(par2, par3 + 2, par4 + 1); - int id12 = par1World.getBlockId(par2 + 1, par3 + 2, par4); - if(id1 == id2 && id2 == id3 && id3 == id4 && id4 == id5 && id6 == id7 && id7 == id8 && id8 == id9 && id9 == id10 && id10 == id11 && id11 == id12 && id12 == Block.sandStone.blockID) { - par1World.setBlock(par2, par3, par4, AtumBlocks.portal.blockID, 0, 2); - par1World.setBlock(par2, par3 + 1, par4, AtumBlocks.portal.blockID, 0, 2); - par1World.setBlock(par2, par3 + 2, par4, AtumBlocks.portal.blockID, 0, 2); - return true; - } else { - return false; - } - } - - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) { - byte b0 = 0; - byte b1 = 1; - if(par1World.getBlockId(par2 - 1, par3, par4) == super.blockID || par1World.getBlockId(par2 + 1, par3, par4) == super.blockID) { - b0 = 1; - b1 = 0; - } - - int i1; - for(i1 = par3; par1World.getBlockId(par2, i1 - 1, par4) == super.blockID; --i1) { - ; - } - - if(par1World.getBlockId(par2, i1 - 1, par4) != Block.sandStone.blockID) { - par1World.setBlockToAir(par2, par3, par4); - } else { - int j1; - for(j1 = 1; j1 < 4 && par1World.getBlockId(par2, i1 + j1, par4) == super.blockID; ++j1) { - ; - } - - if(j1 == 3 && par1World.getBlockId(par2, i1 + j1, par4) == Block.sandStone.blockID) { - boolean flag = par1World.getBlockId(par2 - 1, par3, par4) == super.blockID || par1World.getBlockId(par2 + 1, par3, par4) == super.blockID; - boolean flag1 = par1World.getBlockId(par2, par3, par4 - 1) == super.blockID || par1World.getBlockId(par2, par3, par4 + 1) == super.blockID; - if(flag && flag1) { - par1World.setBlockToAir(par2, par3, par4); - } else if((par1World.getBlockId(par2 + b0, par3, par4 + b1) != Block.sandStone.blockID || par1World.getBlockId(par2 - b0, par3, par4 - b1) != super.blockID) && (par1World.getBlockId(par2 - b0, par3, par4 - b1) != Block.sandStone.blockID || par1World.getBlockId(par2 + b0, par3, par4 + b1) != super.blockID)) { - par1World.setBlockToAir(par2, par3, par4); - } - } else { - par1World.setBlockToAir(par2, par3, par4); - } - } - - } - - @SideOnly(Side.CLIENT) - public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { - if(par1IBlockAccess.getBlockId(par2, par3, par4) == super.blockID) { - return false; - } else { - boolean flag = par1IBlockAccess.getBlockId(par2 - 1, par3, par4) == super.blockID && par1IBlockAccess.getBlockId(par2 - 2, par3, par4) != super.blockID; - boolean flag1 = par1IBlockAccess.getBlockId(par2 + 1, par3, par4) == super.blockID && par1IBlockAccess.getBlockId(par2 + 2, par3, par4) != super.blockID; - boolean flag2 = par1IBlockAccess.getBlockId(par2, par3, par4 - 1) == super.blockID && par1IBlockAccess.getBlockId(par2, par3, par4 - 2) != super.blockID; - boolean flag3 = par1IBlockAccess.getBlockId(par2, par3, par4 + 1) == super.blockID && par1IBlockAccess.getBlockId(par2, par3, par4 + 2) != super.blockID; - boolean flag4 = flag || flag1; - boolean flag5 = flag2 || flag3; - return flag4 && par5 == 4?true:(flag4 && par5 == 5?true:(flag5 && par5 == 2?true:flag5 && par5 == 3)); - } - } - - public int quantityDropped(Random par1Random) { - return 0; - } - - public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int par4, Entity par5Entity) { - if(par5Entity.ridingEntity == null && par5Entity.riddenByEntity == null && par5Entity instanceof EntityPlayerMP) { - EntityPlayerMP player = (EntityPlayerMP)par5Entity; - if(par5Entity.timeUntilPortal == 0 && par5Entity instanceof EntityPlayerMP) { - par5Entity.timeUntilPortal = 100; - MinecraftServer minecraftserver = MinecraftServer.getServer(); - int dimID = par5Entity.dimension; - WorldServer worldserver = minecraftserver.worldServerForDimension(0); - WorldServer worldserver1 = minecraftserver.worldServerForDimension(AtumConfig.dimensionID); - if(dimID == AtumConfig.dimensionID) { - minecraftserver.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP)par5Entity, 0, new AtumTeleporter(worldserver)); - if(par1World.isRemote) { - Minecraft.getMinecraft().gameSettings.renderDistance = TickHandler.defaultFog; - } - } else { - minecraftserver.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP)par5Entity, AtumConfig.dimensionID, new AtumTeleporter(worldserver1)); - } - - try { - EntityPlayerMP e = (EntityPlayerMP)player; - ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[]{"lastExperience", "cp", "field_71144_ck"}); - ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[]{"lastHealth", "cm", "field_71149_ch"}); - ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[]{"lastFoodLevel", "cn", "field_71146_ci"}); - } catch (Exception var12) { - var12.printStackTrace(); - } - } - } - - } - - @SideOnly(Side.CLIENT) - public int getRenderBlockPass() { - return 1; - } - - @SideOnly(Side.CLIENT) - public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if(par5Random.nextInt(100) == 0) { - par1World.playSound((double)par2 + 0.5D, (double)par3 + 0.5D, (double)par4 + 0.5D, "portal.portal", 0.5F, par5Random.nextFloat() * 0.4F + 0.8F, false); - } - - for(int l = 0; l < 8; ++l) { - double d0 = (double)((float)par2 + par5Random.nextFloat()); - double d1 = (double)((float)par3 + par5Random.nextFloat()); - double d2 = (double)((float)par4 + par5Random.nextFloat()); - double d3 = 0.0D; - double d4 = 0.0D; - double d5 = 0.0D; - int i1 = par5Random.nextInt(2) * 2 - 1; - d3 = ((double)par5Random.nextFloat() - 0.5D) * 0.5D; - d4 = ((double)par5Random.nextFloat() - 0.5D) * 0.5D; - d5 = ((double)par5Random.nextFloat() - 0.5D) * 0.5D; - if(par5Random.nextDouble() > 0.5D) { - d0 = (double)par2 + 0.5D + 0.25D * (double)i1; - d3 = (double)(par5Random.nextFloat() * 2.0F * (float)i1); - } else { - d2 = (double)par4 + 0.5D + 0.25D * (double)i1; - d5 = (double)(par5Random.nextFloat() * 2.0F * (float)i1); - } - - ParticleRegistry.spawnParticle("sandportal", par1World, d0, d1, d2, d3, d4, d5); - } - - } - - @SideOnly(Side.CLIENT) - public int idPicked(World par1World, int par2, int par3, int par4) { - return 0; - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockAtumSand.java b/common/rebelkeithy/mods/atum/blocks/BlockAtumSand.java deleted file mode 100644 index 49448dd..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockAtumSand.java +++ /dev/null @@ -1,17 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import rebelkeithy.mods.atum.Atum; -import net.minecraft.block.BlockSand; -import net.minecraft.client.renderer.texture.IconRegister; - -public class BlockAtumSand extends BlockSand { - - public BlockAtumSand(int par1) { - super(par1); - } - - @Override - public void registerIcons(IconRegister par1IconRegister) { - this.blockIcon = par1IconRegister.registerIcon(Atum.modID + ":AtumSand"); - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockAtumSlab.java b/common/rebelkeithy/mods/atum/blocks/BlockAtumSlab.java deleted file mode 100644 index c28d234..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockAtumSlab.java +++ /dev/null @@ -1,61 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import java.util.List; -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.block.BlockHalfSlab; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; -import rebelkeithy.mods.atum.AtumBlocks; - -public class BlockAtumSlab extends BlockHalfSlab { - public static final String[] slabType = { "smooth", "cracked", "largeBrick", "smallBrick" }; - - public BlockAtumSlab(int par1, boolean par2, Material mat) { - super(par1, par2, mat); - } - - @SideOnly(Side.CLIENT) - public Icon getIcon(int par1, int par2) { - par2 %= 4; - if (par2 == 0) - return AtumBlocks.stone.getIcon(par1, par2 & 0x7); - if (par2 == 1) - return AtumBlocks.cobble.getIcon(par1, par2 & 0x7); - if (par2 == 2) { - return AtumBlocks.largeBrick.getIcon(par1, par2 & 0x7); - } - return AtumBlocks.smallBrick.getIcon(par1, par2 & 0x7); - } - - public int idDropped(int par1, Random par2Random, int par3) { - return AtumBlocks.slabs.blockID; - } - - protected ItemStack createStackedBlock(int par1) { - return new ItemStack(AtumBlocks.slabs.blockID, 2, par1 & 0x7); - } - - public String getFullSlabName(int par1) { - if ((par1 < 0) || (par1 >= slabType.length)) { - par1 = 0; - } - - return super.getUnlocalizedName() + "." + slabType[par1]; - } - - @SideOnly(Side.CLIENT) - public void getSubBlocks(int par1, CreativeTabs tab, List subItems) { - for (int i = 0; i < 4; i++) - subItems.add(new ItemStack(this, 1, i)); - } - - @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - } -} \ No newline at end of file diff --git a/common/rebelkeithy/mods/atum/blocks/BlockAtumStairs.java b/common/rebelkeithy/mods/atum/blocks/BlockAtumStairs.java deleted file mode 100644 index 9d9b066..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockAtumStairs.java +++ /dev/null @@ -1,11 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockStairs; - -public class BlockAtumStairs extends BlockStairs { - - public BlockAtumStairs(int par1, Block par2Block, int par3) { - super(par1, par2Block, par3); - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockAtumWall.java b/common/rebelkeithy/mods/atum/blocks/BlockAtumWall.java deleted file mode 100644 index 685ce09..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockAtumWall.java +++ /dev/null @@ -1,48 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import java.util.List; -import net.minecraft.block.Block; -import net.minecraft.block.BlockWall; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; -import net.minecraft.world.World; -import net.minecraftforge.common.ForgeDirection; - -public class BlockAtumWall extends BlockWall { - - @SideOnly(Side.CLIENT) - private Icon[] icon; - - - public BlockAtumWall(int par1, Block par2Block) { - super(par1, par2Block); - } - - public Icon getIcon(int side, int meta) { - return this.icon[meta]; - } - - public boolean isBlockSolidOnSide(World world, int x, int y, int z, ForgeDirection side) { - return side == ForgeDirection.UP; - } - - @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister iconRegister) { - this.icon = new Icon[4]; - this.icon[0] = iconRegister.registerIcon("atum:AtumStone"); - this.icon[1] = iconRegister.registerIcon("atum:AtumCobble"); - this.icon[2] = iconRegister.registerIcon("atum:AtumBrickLarge"); - this.icon[3] = iconRegister.registerIcon("atum:AtumBrickSmall"); - } - - public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List) { - par3List.add(new ItemStack(par1, 1, 0)); - par3List.add(new ItemStack(par1, 1, 1)); - par3List.add(new ItemStack(par1, 1, 2)); - par3List.add(new ItemStack(par1, 1, 3)); - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockAtumWorld.java b/common/rebelkeithy/mods/atum/blocks/BlockAtumWorld.java deleted file mode 100644 index 62a1a19..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockAtumWorld.java +++ /dev/null @@ -1,59 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; -import rebelkeithy.mods.atum.Atum; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockAtumWorld extends Block { - - @SideOnly(Side.CLIENT) - private Icon[] iconArray; - - public BlockAtumWorld(int par1) { - super(par1, Material.rock); - } - - @SideOnly(Side.CLIENT) - public Icon getIcon(int par1, int par2) { - return this.iconArray[par2 % this.iconArray.length]; - } - - public int damageDropped(int par1) { - return par1 == 0 ? 1 : par1; - } - - @SideOnly(Side.CLIENT) - public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List) { - for (int j = 0; j < 13; ++j) { - par3List.add(new ItemStack(par1, 1, j)); - } - - } - - @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - this.iconArray = new Icon[16]; - - for (int i = 0; i < this.iconArray.length; ++i) { - this.iconArray[i] = par1IconRegister.registerIcon("cloth_" + i); - } - - this.iconArray[0] = par1IconRegister.registerIcon(Atum.modID + ":AtumStone"); - this.iconArray[0] = par1IconRegister.registerIcon(Atum.modID + ":AtumCobble"); - this.iconArray[0] = par1IconRegister.registerIcon(Atum.modID + ":AtumBrickLarge"); - this.iconArray[0] = par1IconRegister.registerIcon(Atum.modID + ":AtumBrickSmall"); - this.iconArray[0] = par1IconRegister.registerIcon(Atum.modID + ":AtumBrickCarved"); - this.iconArray[0] = par1IconRegister.registerIcon(Atum.modID + ":AtumStone"); - this.iconArray[0] = par1IconRegister.registerIcon(Atum.modID + ":AtumStone"); - this.iconArray[0] = par1IconRegister.registerIcon(Atum.modID + ":AtumCobble"); - this.iconArray[0] = par1IconRegister.registerIcon(Atum.modID + ":AtumCobble"); - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockDate.java b/common/rebelkeithy/mods/atum/blocks/BlockDate.java deleted file mode 100644 index af0f388..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockDate.java +++ /dev/null @@ -1,57 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import cpw.mods.fml.client.registry.RenderingRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.AtumItems; - -public class BlockDate extends Block { - - public int renderID = RenderingRegistry.getNextAvailableRenderId(); - - - public BlockDate(int id, Material material) { - super(id, material); - } - - public boolean isOpaqueCube() { - return false; - } - - public boolean renderAsNormalBlock() { - return false; - } - - public int getRenderType() { - return this.renderID; - } - - public void onNeighborBlockChange(World world, int x, int y, int z, int neighborID) { - if(world.getBlockId(x, y + 1, z) != AtumBlocks.leaves.blockID && !world.isRemote) { - EntityItem entityItem = new EntityItem(world, (double)x, (double)y, (double)z, new ItemStack(AtumItems.date.itemID, 0, this.quantityDropped(new Random()))); - entityItem.dropItem(AtumItems.date.itemID, this.quantityDropped(new Random())); - world.setBlockToAir(x, y, z); - } - - } - - public int idDropped(int par1, Random rand, int par3) { - return AtumItems.date.itemID; - } - - public int quantityDropped(Random rand) { - return rand.nextInt(3) + 1; - } - - @SideOnly(Side.CLIENT) - public int idPicked(World par1World, int par2, int par3, int par4) { - return AtumItems.date.itemID; - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockFertileDirt.java b/common/rebelkeithy/mods/atum/blocks/BlockFertileDirt.java deleted file mode 100644 index c86c955..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockFertileDirt.java +++ /dev/null @@ -1,13 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.creativetab.CreativeTabs; - -public class BlockFertileDirt extends Block { - - protected BlockFertileDirt(int par1) { - super(par1, Material.ground); - this.setCreativeTab(CreativeTabs.tabBlock); - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockFertileSoil.java b/common/rebelkeithy/mods/atum/blocks/BlockFertileSoil.java deleted file mode 100644 index 103cc60..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockFertileSoil.java +++ /dev/null @@ -1,143 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.util.Icon; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.common.EnumPlantType; -import net.minecraftforge.common.ForgeDirection; -import net.minecraftforge.common.IPlantable; -import rebelkeithy.mods.atum.AtumBlocks; - -public class BlockFertileSoil extends Block -{ - - @SideOnly(Side.CLIENT) - private Icon iconGrassTop; - - @SideOnly(Side.CLIENT) - private Icon iconGrassSideOverlay; - - @SideOnly(Side.CLIENT) - private Icon iconDirt; - - public BlockFertileSoil(int par1) - { - super(par1, Material.grass); - setTickRandomly(true); - setCreativeTab(CreativeTabs.tabBlock); - } - - @SideOnly(Side.CLIENT) - public Icon getIcon(int par1, int par2) - { - if (par2 == 1) { - return this.iconDirt; - } - return par1 == 0 ? Block.dirt.getBlockTextureFromSide(par1) : par1 == 1 ? this.iconGrassTop : this.blockIcon; - } - - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) - { - if (!par1World.isRemote) - { - if ((par1World.getBlockLightValue(par2, par3 + 1, par4) < 4) && (par1World.getBlockLightOpacity(par2, par3 + 1, par4) > 2)) - { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 1, 2); - } - else if (par1World.getBlockLightValue(par2, par3 + 1, par4) >= 9) - { - for (int l = 0; l < 4; l++) - { - int i1 = par2 + par5Random.nextInt(3) - 1; - int j1 = par3 + par5Random.nextInt(5) - 3; - int k1 = par4 + par5Random.nextInt(3) - 1; - int l1 = par1World.getBlockId(i1, j1 + 1, k1); - - if ((par1World.getBlockId(i1, j1, k1) == AtumBlocks.fertileSoil.blockID) && (par1World.getBlockMetadata(i1, j1, k1) == 1) && (par1World.getBlockLightValue(i1, j1 + 1, k1) >= 4) && (par1World.getBlockLightOpacity(i1, j1 + 1, k1) <= 2)) - { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 2); - } - } - } - } - } - - public boolean canSustainPlant(World world, int x, int y, int z, ForgeDirection direction, IPlantable plant) - { - EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); - - if ((plant instanceof BlockFlower)) - { - return true; - } - - switch (plantType.ordinal()) { - case 1: - return false; - case 2: - return false; - case 3: - return false; - case 4: - return isBlockSolidOnSide(world, x, y, z, ForgeDirection.UP); - case 5: - return true; - case 6: - return false; - case 7: - boolean hasWater = (world.getBlockMaterial(x - 1, y, z) == Material.water) || (world.getBlockMaterial(x + 1, y, z) == Material.water) || (world.getBlockMaterial(x, y, z - 1) == Material.water) || (world.getBlockMaterial(x, y, z + 1) == Material.water); - - return hasWater; - } - - return false; - } - - public int idDropped(int par1, Random par2Random, int par3) - { - return AtumBlocks.sand.blockID; - } - - @SideOnly(Side.CLIENT) - public Icon getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) - { - if (par1IBlockAccess.getBlockMetadata(par2, par3, par4) == 1) - { - return this.iconDirt; - } - - if (par5 == 1) - { - return this.iconGrassTop; - } - if (par5 == 0) - { - return AtumBlocks.sand.getBlockTextureFromSide(par5); - } - - return this.blockIcon; - } - - @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) - { - this.blockIcon = par1IconRegister.registerIcon("atum:FertileSoilSide"); - this.iconDirt = par1IconRegister.registerIcon("atum:FertileSoil"); - this.iconGrassTop = par1IconRegister.registerIcon("atum:FertileSoilTop"); - this.iconGrassSideOverlay = par1IconRegister.registerIcon("grass_side_overlay"); - } - - @SideOnly(Side.CLIENT) - public static Icon getIconSideOverlay() - { - return AtumBlocks.fertileSoil.iconGrassSideOverlay; - } -} \ No newline at end of file diff --git a/common/rebelkeithy/mods/atum/blocks/BlockFertileSoilTilled.java b/common/rebelkeithy/mods/atum/blocks/BlockFertileSoilTilled.java deleted file mode 100644 index 1180554..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockFertileSoilTilled.java +++ /dev/null @@ -1,165 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.Icon; -import net.minecraft.world.World; -import net.minecraftforge.common.EnumPlantType; -import net.minecraftforge.common.ForgeDirection; -import net.minecraftforge.common.IPlantable; -import rebelkeithy.mods.atum.AtumBlocks; - -public class BlockFertileSoilTilled extends Block { - - @SideOnly(Side.CLIENT) - private Icon field_94441_a; - @SideOnly(Side.CLIENT) - private Icon field_94440_b; - - - public BlockFertileSoilTilled(int par1) { - super(par1, Material.ground); - this.setTickRandomly(true); - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.9375F, 1.0F); - this.setLightOpacity(255); - } - - @SideOnly(Side.CLIENT) - public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { - int enchanted = (par1World.getBlockMetadata(par2, par3, par4) & 4 & 4) >> 2; - if(enchanted == 1 && par5Random.nextDouble() > 0.6D) { - double d0 = par5Random.nextGaussian() * 0.02D; - double d1 = par5Random.nextGaussian() * 0.02D; - double d2 = par5Random.nextGaussian() * 0.02D; - par1World.spawnParticle("happyVillager", (double)((float)par2 + par5Random.nextFloat()), (double)par3 + (double)par5Random.nextFloat() * this.getBlockBoundsMaxY() * 0.4D + 1.0D, (double)((float)par4 + par5Random.nextFloat()), d0, d1, d2); - } - - } - - public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { - return AxisAlignedBB.getAABBPool().getAABB((double)(par2 + 0), (double)(par3 + 0), (double)(par4 + 0), (double)(par2 + 1), (double)(par3 + 1), (double)(par4 + 1)); - } - - public boolean isOpaqueCube() { - return false; - } - - public boolean renderAsNormalBlock() { - return false; - } - - @SideOnly(Side.CLIENT) - public Icon getIcon(int par1, int par2) { - return par2 >> 3 == 0?(par1 == 1?(par2 > 0?this.field_94441_a:this.field_94440_b):AtumBlocks.fertileSoil.getIcon(par1, 1)):Block.tilledField.getIcon(par1, par2); - } - - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { - int meta = par1World.getBlockMetadata(par2, par3, par4); - if(!this.isWaterNearby(par1World, par2, par3, par4) && !par1World.canLightningStrikeAt(par2, par3 + 1, par4)) { - if((meta & 3) > 0 && Math.random() > 0.5D) { - par1World.setBlockMetadataWithNotify(par2, par3, par4, meta - 1, 2); - } else if(!this.isCropsNearby(par1World, par2, par3, par4)) { - this.revertToDirt(par1World, par2, par3, par4); - } - } else { - par1World.setBlockMetadataWithNotify(par2, par3, par4, meta | 3, 2); - } - - int cropID = par1World.getBlockId(par2, par3 + 1, par4); - if(cropID != 0) { - for(int i = 0; i < 2; ++i) { - Block.blocksList[cropID].updateTick(par1World, par2, par3 + 1, par4, par5Random); - } - } - - } - - public void onFallenUpon(World par1World, int par2, int par3, int par4, Entity par5Entity, float par6) { - if(!par1World.isRemote && par1World.rand.nextFloat() < par6 - 0.5F) { - if(!(par5Entity instanceof EntityPlayer) && !par1World.getGameRules().getGameRuleBooleanValue("mobGriefing")) { - return; - } - - this.revertToDirt(par1World, par2, par3, par4); - } - - } - - private boolean isCropsNearby(World par1World, int par2, int par3, int par4) { - byte b0 = 0; - - for(int l = par2 - b0; l <= par2 + b0; ++l) { - for(int i1 = par4 - b0; i1 <= par4 + b0; ++i1) { - int j1 = par1World.getBlockId(l, par3 + 1, i1); - Block plant = Block.blocksList[j1]; - if(plant instanceof IPlantable && this.canSustainPlant(par1World, par2, par3, par4, ForgeDirection.UP, (IPlantable)plant)) { - return true; - } - } - } - - return false; - } - - private boolean isWaterNearby(World par1World, int par2, int par3, int par4) { - for(int l = par2 - 4; l <= par2 + 4; ++l) { - for(int i1 = par3; i1 <= par3 + 1; ++i1) { - for(int j1 = par4 - 4; j1 <= par4 + 4; ++j1) { - if(par1World.getBlockMaterial(l, i1, j1) == Material.water) { - return true; - } - } - } - } - - return false; - } - - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) { - super.onNeighborBlockChange(par1World, par2, par3, par4, par5); - Material material = par1World.getBlockMaterial(par2, par3 + 1, par4); - if(material.isSolid()) { - this.revertToDirt(par1World, par2, par3, par4); - } - - } - - public boolean canSustainPlant(World world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { - EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); - return plantType == EnumPlantType.Crop; - } - - public int idDropped(int par1, Random par2Random, int par3) { - return par1 >> 3 == 0?AtumBlocks.sand.blockID:Block.dirt.blockID; - } - - public void revertToDirt(World world, int x, int y, int z) { - int type = world.getBlockMetadata(x, y, z) >> 3; - if(type == 0) { - world.setBlock(x, y, z, AtumBlocks.fertileSoil.blockID); - world.setBlockMetadataWithNotify(x, y, z, 1, 2); - } else { - world.setBlock(x, y, z, Block.dirt.blockID); - } - - } - - @SideOnly(Side.CLIENT) - public int idPicked(World par1World, int par2, int par3, int par4) { - int type = par1World.getBlockMetadata(par2, par3, par4) >> 3; - return type == 0?AtumBlocks.sand.blockID:Block.dirt.blockID; - } - - @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - this.field_94441_a = par1IconRegister.registerIcon("farmland_wet"); - this.field_94440_b = par1IconRegister.registerIcon("farmland_dry"); - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockFlax.java b/common/rebelkeithy/mods/atum/blocks/BlockFlax.java deleted file mode 100644 index bb1999d..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockFlax.java +++ /dev/null @@ -1,179 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import java.util.ArrayList; -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.block.BlockFlower; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import net.minecraftforge.common.EnumPlantType; -import net.minecraftforge.common.ForgeDirection; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.AtumItems; - -public class BlockFlax extends BlockFlower { - - @SideOnly(Side.CLIENT) - private Icon[] iconArray; - - - public BlockFlax(int par1) { - super(par1); - this.setTickRandomly(true); - float f = 0.5F; - this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 0.25F, 0.5F + f); - this.setCreativeTab((CreativeTabs)null); - this.setHardness(0.0F); - this.setStepSound(Block.soundGrassFootstep); - this.disableStats(); - } - - public EnumPlantType getPlantType(World world, int x, int y, int z) { - return EnumPlantType.Crop; - } - - public boolean canBlockStay(World par1World, int par2, int par3, int par4) { - if(par1World.getBlockMetadata(par2, par3, par4) >> 3 == 1) { - return par1World.getBlockId(par2, par3 - 1, par4) == AtumBlocks.fertileSoil.blockID; - } else { - Block soil = Block.blocksList[par1World.getBlockId(par2, par3 - 1, par4)]; - return (par1World.getFullBlockLightValue(par2, par3, par4) >= 8 || par1World.canBlockSeeTheSky(par2, par3, par4)) && soil != null && soil.canSustainPlant(par1World, par2, par3 - 1, par4, ForgeDirection.UP, this); - } - } - - protected boolean canThisPlantGrowOnThisBlockID(int par1) { - return par1 == Block.tilledField.blockID || par1 == AtumBlocks.fertileSoilTilled.blockID; - } - - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { - super.updateTick(par1World, par2, par3, par4, par5Random); - if((par1World.getBlockLightValue(par2, par3 + 1, par4) & 273) >= 9) { - int l = par1World.getBlockMetadata(par2, par3, par4); - if((l & 7) < 5) { - float f = this.getGrowthRate(par1World, par2, par3, par4); - if(par5Random.nextInt((int)(25.0F / f) + 1) == 0) { - ++l; - par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); - } - } - } - - } - - public void fertilize(World par1World, int par2, int par3, int par4) { - int l = par1World.getBlockMetadata(par2, par3, par4) + MathHelper.getRandomIntegerInRange(par1World.rand, 2, 3); - if((l & 7) > 5) { - l -= (l & 7) - 5; - } - - par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); - } - - private float getGrowthRate(World par1World, int par2, int par3, int par4) { - float f = 1.0F; - int l = par1World.getBlockId(par2, par3, par4 - 1); - int i1 = par1World.getBlockId(par2, par3, par4 + 1); - int j1 = par1World.getBlockId(par2 - 1, par3, par4); - int k1 = par1World.getBlockId(par2 + 1, par3, par4); - int l1 = par1World.getBlockId(par2 - 1, par3, par4 - 1); - int i2 = par1World.getBlockId(par2 + 1, par3, par4 - 1); - int j2 = par1World.getBlockId(par2 + 1, par3, par4 + 1); - int k2 = par1World.getBlockId(par2 - 1, par3, par4 + 1); - boolean flag = j1 == super.blockID || k1 == super.blockID; - boolean flag1 = l == super.blockID || i1 == super.blockID; - boolean flag2 = l1 == super.blockID || i2 == super.blockID || j2 == super.blockID || k2 == super.blockID; - - for(int l2 = par2 - 1; l2 <= par2 + 1; ++l2) { - for(int i3 = par4 - 1; i3 <= par4 + 1; ++i3) { - int j3 = par1World.getBlockId(l2, par3 - 1, i3); - float f1 = 0.0F; - if(Block.blocksList[j3] != null && Block.blocksList[j3].canSustainPlant(par1World, l2, par3 - 1, i3, ForgeDirection.UP, this)) { - f1 = 1.0F; - if(Block.blocksList[j3].isFertile(par1World, l2, par3 - 1, i3)) { - f1 = 3.0F; - } - } - - if(l2 != par2 || i3 != par4) { - f1 /= 4.0F; - } - - f += f1; - } - } - - if(flag2 || flag && flag1) { - f /= 2.0F; - } - - return f; - } - - @SideOnly(Side.CLIENT) - public Icon getIcon(int par1, int par2) { - int meta = par2 & 7; - if(meta < 0 || meta > 5) { - meta = 5; - } - - return this.iconArray[meta]; - } - - public int getRenderType() { - return 1; - } - - protected int getSeedItem() { - return AtumItems.flaxSeeds.itemID; - } - - protected int getCropItem() { - return AtumItems.flax.itemID; - } - - public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int par4, int par5, float par6, int par7) { - super.dropBlockAsItemWithChance(par1World, par2, par3, par4, par5, par6, 0); - } - - public ArrayList getBlockDropped(World world, int x, int y, int z, int metadata, int fortune) { - ArrayList ret = super.getBlockDropped(world, x, y, z, metadata, fortune); - if((metadata & 7) >= 5) { - for(int n = 0; n < 3 + fortune; ++n) { - if(world.rand.nextInt(15) <= (metadata & 7)) { - ret.add(new ItemStack(this.getSeedItem(), 1, 0)); - } - } - } - - return ret; - } - - public int idDropped(int par1, Random par2Random, int par3) { - return par1 == 5?this.getCropItem():this.getSeedItem(); - } - - public int quantityDropped(Random par1Random) { - return 1; - } - - @SideOnly(Side.CLIENT) - public int idPicked(World par1World, int par2, int par3, int par4) { - return this.getSeedItem(); - } - - @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - this.iconArray = new Icon[6]; - - for(int i = 0; i < this.iconArray.length; ++i) { - this.iconArray[i] = par1IconRegister.registerIcon("atum:Flax_" + i); - } - - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockPalmLog.java b/common/rebelkeithy/mods/atum/blocks/BlockPalmLog.java deleted file mode 100644 index cfb03d8..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockPalmLog.java +++ /dev/null @@ -1,110 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; -import net.minecraft.world.World; - -public class BlockPalmLog extends Block { - - public static final String[] woodType = new String[]{"oak", "spruce", "birch", "jungle"}; - public static final String[] treeTextureTypes = new String[]{"tree_side", "tree_spruce", "tree_birch", "tree_jungle"}; - @SideOnly(Side.CLIENT) - private Icon[] iconArray; - @SideOnly(Side.CLIENT) - private Icon tree_top; - private Icon tree_side; - - - public BlockPalmLog(int par1) { - super(par1, Material.wood); - this.setCreativeTab(CreativeTabs.tabBlock); - setBurnProperties(super.blockID, 5, 5); - } - - public int getRenderType() { - return 31; - } - - public int quantityDropped(Random par1Random) { - return 1; - } - - public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) { - byte b0 = 4; - int j1 = b0 + 1; - if(par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1)) { - for(int k1 = -b0; k1 <= b0; ++k1) { - for(int l1 = -b0; l1 <= b0; ++l1) { - for(int i2 = -b0; i2 <= b0; ++i2) { - int j2 = par1World.getBlockId(par2 + k1, par3 + l1, par4 + i2); - if(Block.blocksList[j2] != null) { - Block.blocksList[j2].beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2); - } - } - } - } - } - - } - - public int onBlockPlaced(World par1World, int par2, int par3, int par4, int par5, float par6, float par7, float par8, int par9) { - int j1 = par9 & 3; - byte b0 = 0; - switch(par5) { - case 0: - case 1: - b0 = 0; - break; - case 2: - case 3: - b0 = 8; - break; - case 4: - case 5: - b0 = 4; - } - - return j1 | b0; - } - - @SideOnly(Side.CLIENT) - public Icon getIcon(int par1, int par2) { - int k = par2 & 12; - int l = par2 & 3; - return k == 0 && (par1 == 1 || par1 == 0)?this.tree_top:(k == 4 && (par1 == 5 || par1 == 4)?this.tree_top:(k == 8 && (par1 == 2 || par1 == 3)?this.tree_top:this.tree_side)); - } - - public int damageDropped(int par1) { - return par1 & 3; - } - - public static int limitToValidMetadata(int par0) { - return par0 & 3; - } - - protected ItemStack createStackedBlock(int par1) { - return new ItemStack(super.blockID, 1, limitToValidMetadata(par1)); - } - - @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - this.tree_top = par1IconRegister.registerIcon("atum:tree_top"); - this.tree_side = par1IconRegister.registerIcon("atum:tree_side"); - } - - public boolean canSustainLeaves(World world, int x, int y, int z) { - return true; - } - - public boolean isWood(World world, int x, int y, int z) { - return true; - } - -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockPalmSapling.java b/common/rebelkeithy/mods/atum/blocks/BlockPalmSapling.java deleted file mode 100644 index f6cc0f4..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockPalmSapling.java +++ /dev/null @@ -1,90 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockFlower; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.AtumBlocks; - -public class BlockPalmSapling extends BlockFlower { - - public BlockPalmSapling(int par1) { - super(par1); - float f = 0.4F; - this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, f * 2.0F, 0.5F + f); - } - - public void updateTick(World world, int x, int y, int z, Random rand) { - if (!world.isRemote) { - super.updateTick(world, x, y, z, rand); - if (world.getBlockLightValue(x, y + 1, z) > 9 && rand.nextInt(20) == 0) { - this.growTree(world, x, y, z, rand); - } - } - - } - - public void growTree(World world, int x, int y, int z, Random rand) { - int height = rand.nextInt(4) + 5; - - int i; - for (i = 0; i < height; ++i) { - world.setBlock(x, y + i, z, AtumBlocks.log.blockID, 0, 2); - } - - world.setBlock(x, y + height, z, AtumBlocks.leaves.blockID, 0, 2); - - for (i = -1; i < 2; ++i) { - for (int j = -1; j < 2; ++j) { - if (i != 0 || j != 0) { - world.setBlock(x + i, y + height - 1, z + j, AtumBlocks.leaves.blockID, 0, 2); - } - } - } - - world.setBlock(x + 2, y + height - 1, z, AtumBlocks.leaves.blockID, 0, 2); - world.setBlock(x + 2, y + height - 2, z, AtumBlocks.leaves.blockID, 0, 2); - world.setBlock(x + 3, y + height - 2, z, AtumBlocks.leaves.blockID, 0, 2); - if (rand.nextInt(100) < 15) { - world.setBlock(x + 1, y + height - 2, z, AtumBlocks.dateBlock.blockID, 0, 2); - } - - world.setBlock(x - 2, y + height - 1, z, AtumBlocks.leaves.blockID, 0, 2); - world.setBlock(x - 2, y + height - 2, z, AtumBlocks.leaves.blockID, 0, 2); - world.setBlock(x - 3, y + height - 2, z, AtumBlocks.leaves.blockID, 0, 2); - if (rand.nextInt(100) < 15) { - world.setBlock(x - 1, y + height - 2, z, AtumBlocks.dateBlock.blockID, 0, 2); - } - - world.setBlock(x, y + height - 1, z + 2, AtumBlocks.leaves.blockID, 0, 2); - world.setBlock(x, y + height - 2, z + 2, AtumBlocks.leaves.blockID, 0, 2); - world.setBlock(x, y + height - 2, z + 3, AtumBlocks.leaves.blockID, 0, 2); - if (rand.nextInt(100) < 15) { - world.setBlock(x, y + height - 2, z + 1, AtumBlocks.dateBlock.blockID, 0, 2); - } - - world.setBlock(x, y + height - 1, z - 2, AtumBlocks.leaves.blockID, 0, 2); - world.setBlock(x, y + height - 2, z - 2, AtumBlocks.leaves.blockID, 0, 2); - world.setBlock(x, y + height - 2, z - 3, AtumBlocks.leaves.blockID, 0, 2); - if (rand.nextInt(100) < 15) { - world.setBlock(x, y + height - 2, z - 1, AtumBlocks.dateBlock.blockID, 0, 2); - } - - } - - protected boolean canThisPlantGrowOnThisBlockID(int id) { - return id == AtumBlocks.sand.blockID || id == Block.grass.blockID || id == Block.dirt.blockID; - } - - public boolean canBlockStay(World world, int x, int y, int z) { - return world.getBlockId(x, y - 1, z) == AtumBlocks.sand.blockID || world.getBlockId(x, y - 1, z) == Block.grass.blockID || world.getBlockId(x, y - 1, z) == Block.dirt.blockID; - } - - @Override - public void registerIcons(IconRegister par1IconRegister) { - this.blockIcon = par1IconRegister.registerIcon(Atum.modID + ":AtumPalmSapling"); - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockPapyrus.java b/common/rebelkeithy/mods/atum/blocks/BlockPapyrus.java deleted file mode 100644 index f32c400..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockPapyrus.java +++ /dev/null @@ -1,163 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import cpw.mods.fml.client.registry.RenderingRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.Icon; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.common.EnumPlantType; -import net.minecraftforge.common.ForgeDirection; -import net.minecraftforge.common.IPlantable; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.AtumItems; - -public class BlockPapyrus extends Block implements IPlantable { - - Icon iconPapyrus; - Icon iconPapyrusTop; - public int renderID = RenderingRegistry.getNextAvailableRenderId(); - - - public BlockPapyrus(int par1) { - super(par1, Material.plants); - float f = 0.375F; - this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 1.0F, 0.5F + f); - this.setTickRandomly(true); - } - - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { - if(par5EntityPlayer.capabilities.isCreativeMode) { - this.updateTick(par1World, par2, par3, par4, new Random()); - } - - return super.onBlockActivated(par1World, par2, par3, par4, par5EntityPlayer, par6, par7, par8, par9); - } - - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if((double)par5Random.nextFloat() <= 0.75D) { - if(par1World.isAirBlock(par2, par3 + 1, par4)) { - int l; - for(l = 1; par1World.getBlockId(par2, par3 - l, par4) == super.blockID; ++l) { - ; - } - - if(l < 5) { - int i1 = par1World.getBlockMetadata(par2, par3, par4); - byte reqHeight = 0; - if(l == 1) { - reqHeight = 2; - } else if(l == 2) { - reqHeight = 4; - } else if(l == 3) { - reqHeight = 8; - } else if(l == 4) { - reqHeight = 15; - } - - if(i1 >= reqHeight) { - par1World.setBlock(par2, par3 + 1, par4, super.blockID); - par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 4); - } else { - par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 + 1, 4); - } - } - } - - } - } - - public Icon getIcon(int par1, int par2) { - return this.iconPapyrus; - } - - @SideOnly(Side.CLIENT) - public Icon getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { - boolean top = par1IBlockAccess.getBlockId(par2, par3 + 1, par4) != super.blockID; - return top?this.iconPapyrusTop:this.iconPapyrus; - } - - public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4) { - Block block = Block.blocksList[par1World.getBlockId(par2, par3 - 1, par4)]; - return block != null && block.canSustainPlant(par1World, par2, par3 - 1, par4, ForgeDirection.UP, this); - } - - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) { - this.checkBlockCoordValid(par1World, par2, par3, par4); - } - - protected final void checkBlockCoordValid(World par1World, int par2, int par3, int par4) { - if(!this.canBlockStay(par1World, par2, par3, par4)) { - this.dropBlockAsItem(par1World, par2, par3, par4, par1World.getBlockMetadata(par2, par3, par4), 0); - par1World.setBlockToAir(par2, par3, par4); - } - - } - - public boolean canBlockStay(World par1World, int par2, int par3, int par4) { - return this.canPlaceBlockAt(par1World, par2, par3, par4); - } - - public boolean canSustainPlant(World world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { - int plantID = plant.getPlantID(world, x, y + 1, z); - EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); - if(plantID == AtumBlocks.papyrus.blockID && super.blockID == AtumBlocks.papyrus.blockID) { - return true; - } else if(plantType != EnumPlantType.Beach) { - return false; - } else { - boolean isBeach = super.blockID == Block.grass.blockID || super.blockID == Block.dirt.blockID || super.blockID == Block.sand.blockID; - boolean hasWater = world.getBlockMaterial(x - 1, y, z) == Material.water || world.getBlockMaterial(x + 1, y, z) == Material.water || world.getBlockMaterial(x, y, z - 1) == Material.water || world.getBlockMaterial(x, y, z + 1) == Material.water; - return isBeach && hasWater; - } - } - - public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { - return null; - } - - public int idDropped(int par1, Random par2Random, int par3) { - return AtumItems.papyrusPlant.itemID; - } - - public boolean isOpaqueCube() { - return false; - } - - public boolean renderAsNormalBlock() { - return false; - } - - public int getRenderType() { - return this.renderID; - } - - @SideOnly(Side.CLIENT) - public int idPicked(World par1World, int par2, int par3, int par4) { - return AtumItems.papyrusPlant.itemID; - } - - public EnumPlantType getPlantType(World world, int x, int y, int z) { - return EnumPlantType.Beach; - } - - public int getPlantID(World world, int x, int y, int z) { - return super.blockID; - } - - public int getPlantMetadata(World world, int x, int y, int z) { - return world.getBlockMetadata(x, y, z); - } - - @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - this.iconPapyrus = par1IconRegister.registerIcon("atum:AtumPapyrus"); - this.iconPapyrusTop = par1IconRegister.registerIcon("atum:AtumPapyrusTop"); - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/BlockSandLayered.java b/common/rebelkeithy/mods/atum/blocks/BlockSandLayered.java deleted file mode 100644 index 2d799de..0000000 --- a/common/rebelkeithy/mods/atum/blocks/BlockSandLayered.java +++ /dev/null @@ -1,103 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.EnumSkyBlock; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumBlocks; - -public class BlockSandLayered extends Block { - - public BlockSandLayered(int par1) { - super(par1, Material.sand); - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.125F, 1.0F); - this.setTickRandomly(true); - this.func_96478_d(0); - } - - @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - super.blockIcon = par1IconRegister.registerIcon("atum:AtumSand"); - } - - public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { - return null; - } - - public boolean isOpaqueCube() { - return false; - } - - public boolean renderAsNormalBlock() { - return false; - } - - public void setBlockBoundsForItemRender() { - this.func_96478_d(0); - } - - public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { - this.func_96478_d(par1IBlockAccess.getBlockMetadata(par2, par3, par4)); - } - - protected void func_96478_d(int par1) { - int j = par1 & 7; - float f = (float)(2 * (1 + j)) / 16.0F; - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, f, 1.0F); - } - - public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4) { - int l = par1World.getBlockId(par2, par3 - 1, par4); - Block block = Block.blocksList[l]; - return block == null?false:(block.blockID == AtumBlocks.sandLayered.blockID?true:(block == this && (par1World.getBlockMetadata(par2, par3 - 1, par4) & 7) == 7?true:(!block.isLeaves(par1World, par2, par3 - 1, par4) && !Block.blocksList[l].isOpaqueCube()?false:par1World.getBlockMaterial(par2, par3 - 1, par4).blocksMovement()))); - } - - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) { - this.canSnowStay(par1World, par2, par3, par4); - } - - private boolean canSnowStay(World par1World, int par2, int par3, int par4) { - if(!this.canPlaceBlockAt(par1World, par2, par3, par4)) { - par1World.setBlockToAir(par2, par3, par4); - return false; - } else { - return false; - } - } - - public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6) { - super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6); - par1World.setBlockToAir(par3, par4, par5); - } - - public int idDropped(int par1, Random par2Random, int par3) { - return 0; - } - - public int quantityDropped(Random par1Random) { - return 0; - } - - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if(par1World.getSavedLightValue(EnumSkyBlock.Block, par2, par3, par4) > 11) { - par1World.setBlockToAir(par2, par3, par4); - } - - } - - @SideOnly(Side.CLIENT) - public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { - return par5 == 1?true:super.shouldSideBeRendered(par1IBlockAccess, par2, par3, par4, par5); - } - - public int quantityDropped(int meta, int fortune, Random random) { - return (meta & 7) + 1; - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/ItemBlockAtumSlab.java b/common/rebelkeithy/mods/atum/blocks/ItemBlockAtumSlab.java deleted file mode 100644 index 4c72c6b..0000000 --- a/common/rebelkeithy/mods/atum/blocks/ItemBlockAtumSlab.java +++ /dev/null @@ -1,150 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.block.BlockHalfSlab; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; -import net.minecraft.world.World; - -public class ItemBlockAtumSlab extends ItemBlock { - - private final boolean isFullBlock; - private final BlockHalfSlab theHalfSlab; - private final BlockHalfSlab doubleSlab; - - - public ItemBlockAtumSlab(int par1, BlockHalfSlab par2BlockHalfSlab, BlockHalfSlab par3BlockHalfSlab, boolean par4) { - super(par1); - this.theHalfSlab = par2BlockHalfSlab; - this.doubleSlab = par3BlockHalfSlab; - this.isFullBlock = par4; - this.setMaxDamage(0); - this.setHasSubtypes(true); - } - - @SideOnly(Side.CLIENT) - public Icon getIconFromDamage(int par1) { - return Block.blocksList[super.itemID].getIcon(2, par1); - } - - public int getMetadata(int par1) { - return par1; - } - - public String getUnlocalizedName(ItemStack par1ItemStack) { - return this.theHalfSlab.getFullSlabName(par1ItemStack.getItemDamage()); - } - - public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) { - if(this.isFullBlock) { - return super.onItemUse(par1ItemStack, par2EntityPlayer, par3World, par4, par5, par6, par7, par8, par9, par10); - } else if(par1ItemStack.stackSize == 0) { - return false; - } else if(!par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack)) { - return false; - } else { - int i1 = par3World.getBlockId(par4, par5, par6); - int j1 = par3World.getBlockMetadata(par4, par5, par6); - int k1 = j1 & 7; - boolean flag = (j1 & 8) != 0; - if((par7 == 1 && !flag || par7 == 0 && flag) && i1 == this.theHalfSlab.blockID && k1 == par1ItemStack.getItemDamage()) { - if(par3World.checkNoEntityCollision(this.doubleSlab.getCollisionBoundingBoxFromPool(par3World, par4, par5, par6)) && par3World.setBlock(par4, par5, par6, this.doubleSlab.blockID, k1, 3)) { - par3World.playSoundEffect((double)((float)par4 + 0.5F), (double)((float)par5 + 0.5F), (double)((float)par6 + 0.5F), this.doubleSlab.stepSound.getPlaceSound(), (this.doubleSlab.stepSound.getVolume() + 1.0F) / 2.0F, this.doubleSlab.stepSound.getPitch() * 0.8F); - --par1ItemStack.stackSize; - } - - return true; - } else { - return this.func_77888_a(par1ItemStack, par2EntityPlayer, par3World, par4, par5, par6, par7)?true:super.onItemUse(par1ItemStack, par2EntityPlayer, par3World, par4, par5, par6, par7, par8, par9, par10); - } - } - } - - @SideOnly(Side.CLIENT) - public boolean canPlaceItemBlockOnSide(World par1World, int par2, int par3, int par4, int par5, EntityPlayer par6EntityPlayer, ItemStack par7ItemStack) { - int i1 = par2; - int j1 = par3; - int k1 = par4; - int l1 = par1World.getBlockId(par2, par3, par4); - int i2 = par1World.getBlockMetadata(par2, par3, par4); - int j2 = i2 & 7; - boolean flag = (i2 & 8) != 0; - if((par5 == 1 && !flag || par5 == 0 && flag) && l1 == this.theHalfSlab.blockID && j2 == par7ItemStack.getItemDamage()) { - return true; - } else { - if(par5 == 0) { - --par3; - } - - if(par5 == 1) { - ++par3; - } - - if(par5 == 2) { - --par4; - } - - if(par5 == 3) { - ++par4; - } - - if(par5 == 4) { - --par2; - } - - if(par5 == 5) { - ++par2; - } - - l1 = par1World.getBlockId(par2, par3, par4); - i2 = par1World.getBlockMetadata(par2, par3, par4); - j2 = i2 & 7; - flag = (i2 & 8) != 0; - return l1 == this.theHalfSlab.blockID && j2 == par7ItemStack.getItemDamage()?true:super.canPlaceItemBlockOnSide(par1World, i1, j1, k1, par5, par6EntityPlayer, par7ItemStack); - } - } - - private boolean func_77888_a(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7) { - if(par7 == 0) { - --par5; - } - - if(par7 == 1) { - ++par5; - } - - if(par7 == 2) { - --par6; - } - - if(par7 == 3) { - ++par6; - } - - if(par7 == 4) { - --par4; - } - - if(par7 == 5) { - ++par4; - } - - int i1 = par3World.getBlockId(par4, par5, par6); - int j1 = par3World.getBlockMetadata(par4, par5, par6); - int k1 = j1 & 7; - if(i1 == this.theHalfSlab.blockID && k1 == par1ItemStack.getItemDamage()) { - if(par3World.checkNoEntityCollision(this.doubleSlab.getCollisionBoundingBoxFromPool(par3World, par4, par5, par6)) && par3World.setBlock(par4, par5, par6, this.doubleSlab.blockID, k1, 3)) { - par3World.playSoundEffect((double)((float)par4 + 0.5F), (double)((float)par5 + 0.5F), (double)((float)par6 + 0.5F), this.doubleSlab.stepSound.getPlaceSound(), (this.doubleSlab.stepSound.getVolume() + 1.0F) / 2.0F, this.doubleSlab.stepSound.getPitch() * 0.8F); - --par1ItemStack.stackSize; - } - - return true; - } else { - return false; - } - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/ItemBlockAtumWall.java b/common/rebelkeithy/mods/atum/blocks/ItemBlockAtumWall.java deleted file mode 100644 index 901b0fd..0000000 --- a/common/rebelkeithy/mods/atum/blocks/ItemBlockAtumWall.java +++ /dev/null @@ -1,38 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import net.minecraft.block.Block; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; - -public class ItemBlockAtumWall extends ItemBlock { - - public ItemBlockAtumWall(int par1) { - super(par1); - this.setMaxDamage(0); - this.setHasSubtypes(true); - } - - public int getMetadata(int meta) { - return meta; - } - - public Icon getIconFromDamage(int meta) { - return Block.blocksList[super.itemID].getIcon(2, meta); - } - - public String getUnlocalizedName(ItemStack itemstack) { - switch(itemstack.getItemDamage()) { - case 0: - return "atum:AtumStoneWall"; - case 1: - return "atum:AtumCobble"; - case 2: - return "atum:AtumBrickLarge"; - case 3: - return "atum:AtumBrickSmall"; - default: - return "atum:Default"; - } - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/ItemSandLayered.java b/common/rebelkeithy/mods/atum/blocks/ItemSandLayered.java deleted file mode 100644 index b04e5a7..0000000 --- a/common/rebelkeithy/mods/atum/blocks/ItemSandLayered.java +++ /dev/null @@ -1,37 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemBlockWithMetadata; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumBlocks; - -public class ItemSandLayered extends ItemBlockWithMetadata { - - public ItemSandLayered(int par1) { - super(par1, AtumBlocks.sandLayered); - } - - public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) { - if(par1ItemStack.stackSize == 0) { - return false; - } else if(!par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack)) { - return false; - } else { - int i1 = par3World.getBlockId(par4, par5, par6); - if(i1 == AtumBlocks.sandLayered.blockID) { - Block block = Block.blocksList[this.getBlockID()]; - int j1 = par3World.getBlockMetadata(par4, par5, par6); - int k1 = j1 & 7; - if(k1 <= 6 && par3World.setBlockMetadataWithNotify(par4, par5, par6, k1 + 1 | j1 & -8, 2)) { - par3World.playSoundEffect((double)((float)par4 + 0.5F), (double)((float)par5 + 0.5F), (double)((float)par6 + 0.5F), block.stepSound.getPlaceSound(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); - --par1ItemStack.stackSize; - return true; - } - } - - return super.onItemUse(par1ItemStack, par2EntityPlayer, par3World, par4, par5, par6, par7, par8, par9, par10); - } - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/TileEntityArrowTrap.java b/common/rebelkeithy/mods/atum/blocks/TileEntityArrowTrap.java deleted file mode 100644 index 514d26d..0000000 --- a/common/rebelkeithy/mods/atum/blocks/TileEntityArrowTrap.java +++ /dev/null @@ -1,83 +0,0 @@ -package rebelkeithy.mods.atum.blocks; - -import java.util.Iterator; -import java.util.List; -import java.util.Random; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.Vec3; - -public class TileEntityArrowTrap extends TileEntity { - - private ItemStack[] dispenserContents = new ItemStack[9]; - private Random dispenserRandom = new Random(); - protected String field_94050_c; - - - public void updateEntity() { - EntityPlayer p = super.worldObj.getClosestPlayer((double)super.xCoord, (double)super.yCoord, (double)super.zCoord, 4.0D); - byte range = 1; - int xMin = super.xCoord; - int xMax = super.xCoord + range; - int yMin = super.yCoord; - int yMax = super.yCoord + range; - int zMin = super.zCoord; - int zMax = super.zCoord + range; - EnumFacing facing = EnumFacing.getFront(super.worldObj.getBlockMetadata(super.xCoord, super.yCoord, super.zCoord)); - xMin += facing.getFrontOffsetX() * range; - xMax += facing.getFrontOffsetX() * range; - yMin += facing.getFrontOffsetY() * range; - yMax += facing.getFrontOffsetY() * range; - zMin += facing.getFrontOffsetZ() * range; - zMax += facing.getFrontOffsetZ() * range; - AxisAlignedBB bb = AxisAlignedBB.getAABBPool().getAABB((double)xMin, (double)yMin, (double)zMin, (double)xMax, (double)yMax, (double)zMax); - List list = super.worldObj.getEntitiesWithinAABB(EntityMob.class, bb); - if(p != null && bb.isVecInside(Vec3.createVectorHelper(p.posX, p.posY + 0.5D, p.posZ))) { - p.setFire(2); - this.spawnFlames(); - } - - Iterator i = list.iterator(); - - while(i.hasNext()) { - Entity e = (Entity)i.next(); - if(e instanceof EntityLiving) { - e.setFire(2); - } - } - - } - - public void spawnFlames() { - Random par5Random = new Random(); - int l = super.worldObj.getBlockMetadata(super.xCoord, super.yCoord, super.zCoord); - float f = (float)super.xCoord + 0.5F; - float f1 = (float)super.yCoord + 0.1875F + par5Random.nextFloat() * 10.0F / 16.0F; - float f2 = (float)super.zCoord + 0.5F; - float f3 = 0.52F; - float f4 = par5Random.nextFloat() * 0.6F - 0.3F; - double mx = par5Random.nextDouble() * 0.08D - 0.04D; - double my = par5Random.nextDouble() * 0.08D - 0.04D; - double mz = par5Random.nextDouble() * 0.08D - 0.04D; - if(l == 4) { - super.worldObj.spawnParticle("smoke", (double)(f - f3), (double)f1, (double)(f2 + f4), mx - 0.1D, my, mz); - super.worldObj.spawnParticle("flame", (double)(f - f3), (double)f1, (double)(f2 + f4), mx - 0.1D, my, mz); - } else if(l == 5) { - super.worldObj.spawnParticle("smoke", (double)(f + f3), (double)f1, (double)(f2 + f4), mx + 0.1D, my, mz); - super.worldObj.spawnParticle("flame", (double)(f + f3), (double)f1, (double)(f2 + f4), mx + 0.1D, my, mz); - } else if(l == 2) { - super.worldObj.spawnParticle("smoke", (double)(f + f4), (double)f1, (double)(f2 - f3), mx, my, mz - 0.1D); - super.worldObj.spawnParticle("flame", (double)(f + f4), (double)f1, (double)(f2 - f3), mx, my, mz - 0.1D); - } else if(l == 3) { - super.worldObj.spawnParticle("smoke", (double)(f + f4), (double)f1, (double)(f2 + f3), mx, my, mz + 0.1D); - super.worldObj.spawnParticle("flame", (double)(f + f4), (double)f1, (double)(f2 + f3), mx, my, mz + 0.1D); - } - - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/models/ModelDate.java b/common/rebelkeithy/mods/atum/blocks/models/ModelDate.java deleted file mode 100644 index 297ac2e..0000000 --- a/common/rebelkeithy/mods/atum/blocks/models/ModelDate.java +++ /dev/null @@ -1,45 +0,0 @@ -package rebelkeithy.mods.atum.blocks.models; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelDate extends ModelBase { - - ModelRenderer Fruit; - ModelRenderer Stem; - - - public ModelDate() { - super.textureWidth = 32; - super.textureHeight = 32; - this.Fruit = new ModelRenderer(this, 0, 0); - this.Fruit.addBox(0.0F, 0.0F, 0.0F, 6, 8, 6); - this.Fruit.setRotationPoint(-1.0F, 3.0F, -1.0F); - this.Fruit.setTextureSize(32, 32); - this.Fruit.mirror = true; - this.setRotation(this.Fruit, 0.0F, 0.0F, 0.0F); - this.Stem = new ModelRenderer(this, 0, 14); - this.Stem.addBox(0.0F, 0.0F, 0.0F, 2, 6, 2); - this.Stem.setRotationPoint(1.0F, -3.0F, 1.0F); - this.Stem.setTextureSize(32, 32); - this.Stem.mirror = true; - this.setRotation(this.Stem, 0.0F, 0.0F, 0.0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - this.Fruit.render(f5); - this.Stem.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity par7Entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, par7Entity); - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/ores/BlockAtumOre.java b/common/rebelkeithy/mods/atum/blocks/ores/BlockAtumOre.java deleted file mode 100644 index d4812c9..0000000 --- a/common/rebelkeithy/mods/atum/blocks/ores/BlockAtumOre.java +++ /dev/null @@ -1,59 +0,0 @@ -package rebelkeithy.mods.atum.blocks.ores; - -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.item.Item; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumBlocks; - -public class BlockAtumOre extends Block { - - public BlockAtumOre(int par1) { - super(par1, Material.rock); - } - - public int idDropped(int par1, Random par2Random, int par3) { - return super.blockID == AtumBlocks.coalOre.blockID ? Item.coal.itemID : (super.blockID == AtumBlocks.diamondOre.blockID ? Item.diamond.itemID : (super.blockID == AtumBlocks.lapisOre.blockID ? Item.dyePowder.itemID : super.blockID)); - } - - public int quantityDropped(Random par1Random) { - return super.blockID == AtumBlocks.lapisOre.blockID ? 4 + par1Random.nextInt(5) : 1; - } - - public int quantityDroppedWithBonus(int par1, Random par2Random) { - if (par1 > 0 && super.blockID != this.idDropped(0, par2Random, par1)) { - int j = par2Random.nextInt(par1 + 2) - 1; - if (j < 0) { - j = 0; - } - - return this.quantityDropped(par2Random) * (j + 1); - } else { - return this.quantityDropped(par2Random); - } - } - - public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int par4, int par5, float par6, int par7) { - super.dropBlockAsItemWithChance(par1World, par2, par3, par4, par5, par6, par7); - if (this.idDropped(par5, par1World.rand, par7) != super.blockID) { - int j1 = 0; - if (super.blockID == AtumBlocks.coalOre.blockID) { - j1 = MathHelper.getRandomIntegerInRange(par1World.rand, 0, 2); - } else if (super.blockID == AtumBlocks.diamondOre.blockID) { - j1 = MathHelper.getRandomIntegerInRange(par1World.rand, 3, 7); - } else if (super.blockID == AtumBlocks.lapisOre.blockID) { - j1 = MathHelper.getRandomIntegerInRange(par1World.rand, 2, 5); - } - - this.dropXpOnBlockBreak(par1World, par2, par3, par4, j1); - } - - } - - public int damageDropped(int par1) { - return super.blockID == AtumBlocks.lapisOre.blockID ? 4 : 0; - } - -} diff --git a/common/rebelkeithy/mods/atum/blocks/ores/BlockAtumRedstone.java b/common/rebelkeithy/mods/atum/blocks/ores/BlockAtumRedstone.java deleted file mode 100644 index 5bbfb9a..0000000 --- a/common/rebelkeithy/mods/atum/blocks/ores/BlockAtumRedstone.java +++ /dev/null @@ -1,107 +0,0 @@ -package rebelkeithy.mods.atum.blocks.ores; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import java.util.Random; -import net.minecraft.block.BlockRedstoneOre; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumBlocks; - -public class BlockAtumRedstone extends BlockRedstoneOre { - - public BlockAtumRedstone(int par1) { - super(par1, true); - } - - public int getLightValue(IBlockAccess world, int x, int y, int z) { - return world.getBlockMetadata(x, y, z) == 1?9:0; - } - - public void onBlockClicked(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer) { - this.glow(par1World, par2, par3, par4); - super.onBlockClicked(par1World, par2, par3, par4, par5EntityPlayer); - } - - public void onEntityWalking(World par1World, int par2, int par3, int par4, Entity par5Entity) { - this.glow(par1World, par2, par3, par4); - super.onEntityWalking(par1World, par2, par3, par4, par5Entity); - } - - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { - this.glow(par1World, par2, par3, par4); - return super.onBlockActivated(par1World, par2, par3, par4, par5EntityPlayer, par6, par7, par8, par9); - } - - private void glow(World par1World, int par2, int par3, int par4) { - this.sparkle(par1World, par2, par3, par4); - int meta = par1World.getBlockId(par2, par3, par4); - if(meta != 1) { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 1, 2); - } - - } - - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { - int meta = par1World.getBlockMetadata(par2, par3, par4); - if(meta == 1) { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 2); - } - - } - - @SideOnly(Side.CLIENT) - public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { - int meta = par1World.getBlockMetadata(par2, par3, par4); - if(meta == 1) { - this.sparkle(par1World, par2, par3, par4); - } - - } - - private void sparkle(World par1World, int par2, int par3, int par4) { - Random random = par1World.rand; - double d0 = 0.0625D; - - for(int l = 0; l < 6; ++l) { - double d1 = (double)((float)par2 + random.nextFloat()); - double d2 = (double)((float)par3 + random.nextFloat()); - double d3 = (double)((float)par4 + random.nextFloat()); - if(l == 0 && !par1World.isBlockOpaqueCube(par2, par3 + 1, par4)) { - d2 = (double)(par3 + 1) + d0; - } - - if(l == 1 && !par1World.isBlockOpaqueCube(par2, par3 - 1, par4)) { - d2 = (double)(par3 + 0) - d0; - } - - if(l == 2 && !par1World.isBlockOpaqueCube(par2, par3, par4 + 1)) { - d3 = (double)(par4 + 1) + d0; - } - - if(l == 3 && !par1World.isBlockOpaqueCube(par2, par3, par4 - 1)) { - d3 = (double)(par4 + 0) - d0; - } - - if(l == 4 && !par1World.isBlockOpaqueCube(par2 + 1, par3, par4)) { - d1 = (double)(par2 + 1) + d0; - } - - if(l == 5 && !par1World.isBlockOpaqueCube(par2 - 1, par3, par4)) { - d1 = (double)(par2 + 0) - d0; - } - - if(d1 < (double)par2 || d1 > (double)(par2 + 1) || d2 < 0.0D || d2 > (double)(par3 + 1) || d3 < (double)par4 || d3 > (double)(par4 + 1)) { - par1World.spawnParticle("reddust", d1, d2, d3, 0.0D, 0.0D, 0.0D); - } - } - - } - - protected ItemStack createStackedBlock(int par1) { - return new ItemStack(AtumBlocks.redstoneOre); - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/renderers/DateBlockRenderer.java b/common/rebelkeithy/mods/atum/blocks/renderers/DateBlockRenderer.java deleted file mode 100644 index 9571315..0000000 --- a/common/rebelkeithy/mods/atum/blocks/renderers/DateBlockRenderer.java +++ /dev/null @@ -1,116 +0,0 @@ -package rebelkeithy.mods.atum.blocks.renderers; - -import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; -import net.minecraft.block.Block; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.util.Icon; -import net.minecraft.world.IBlockAccess; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.blocks.BlockDate; -import rebelkeithy.mods.atum.blocks.models.ModelDate; - -public class DateBlockRenderer implements ISimpleBlockRenderingHandler { - - ModelDate modelDate = new ModelDate(); - - - public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) {} - - public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { - Tessellator tessellator = Tessellator.instance; - if(world != null) { - tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); - } else { - tessellator.setBrightness(1); - } - - tessellator.setColorOpaque_F(1.0F, 1.0F, 1.0F); - Icon icon = block.getIcon(0, 0); - double sideu1 = (double)icon.getInterpolatedU(0.0D); - double sideu2 = (double)icon.getInterpolatedU(6.0D); - double sidev1 = (double)icon.getInterpolatedV(14.0D); - double sidev2 = (double)icon.getInterpolatedV(6.0D); - double topu1 = (double)icon.getInterpolatedU(0.0D); - double topu2 = (double)icon.getInterpolatedU(6.0D); - double topv1 = (double)icon.getInterpolatedV(6.0D); - double topv2 = (double)icon.getInterpolatedV(0.0D); - double fx1 = 0.3125D; - double fx2 = 0.6875D; - double fz = 0.6875D; - double y1 = 0.125D; - double y2 = 0.625D; - double bz = 0.3125D; - tessellator.addVertexWithUV((double)x + fx1, (double)y + y1, (double)z + fz, sideu1, sidev1); - tessellator.addVertexWithUV((double)x + fx2, (double)y + y1, (double)z + fz, sideu2, sidev1); - tessellator.addVertexWithUV((double)x + fx2, (double)y + y2, (double)z + fz, sideu2, sidev2); - tessellator.addVertexWithUV((double)x + fx1, (double)y + y2, (double)z + fz, sideu1, sidev2); - tessellator.addVertexWithUV((double)x + fx1, (double)y + y1, (double)z + bz, sideu1, sidev1); - tessellator.addVertexWithUV((double)x + fx1, (double)y + y2, (double)z + bz, sideu1, sidev2); - tessellator.addVertexWithUV((double)x + fx2, (double)y + y2, (double)z + bz, sideu2, sidev2); - tessellator.addVertexWithUV((double)x + fx2, (double)y + y1, (double)z + bz, sideu2, sidev1); - tessellator.addVertexWithUV((double)x + fz, (double)y + y1, (double)z + fx1, sideu1, sidev1); - tessellator.addVertexWithUV((double)x + fz, (double)y + y2, (double)z + fx1, sideu1, sidev2); - tessellator.addVertexWithUV((double)x + fz, (double)y + y2, (double)z + fx2, sideu2, sidev2); - tessellator.addVertexWithUV((double)x + fz, (double)y + y1, (double)z + fx2, sideu2, sidev1); - tessellator.addVertexWithUV((double)x + bz, (double)y + y1, (double)z + fx1, sideu1, sidev1); - tessellator.addVertexWithUV((double)x + bz, (double)y + y1, (double)z + fx2, sideu2, sidev1); - tessellator.addVertexWithUV((double)x + bz, (double)y + y2, (double)z + fx2, sideu2, sidev2); - tessellator.addVertexWithUV((double)x + bz, (double)y + y2, (double)z + fx1, sideu1, sidev2); - tessellator.addVertexWithUV((double)x + bz, (double)y + y2, (double)z + fx1, topu1, topv1); - tessellator.addVertexWithUV((double)x + bz, (double)y + y2, (double)z + fx2, topu1, topv2); - tessellator.addVertexWithUV((double)x + fz, (double)y + y2, (double)z + fx2, topu2, topv2); - tessellator.addVertexWithUV((double)x + fz, (double)y + y2, (double)z + fx1, topu2, topv1); - tessellator.addVertexWithUV((double)x + bz, (double)y + y1, (double)z + fx1, topu1, topv1); - tessellator.addVertexWithUV((double)x + fz, (double)y + y1, (double)z + fx1, topu2, topv1); - tessellator.addVertexWithUV((double)x + fz, (double)y + y1, (double)z + fx2, topu2, topv2); - tessellator.addVertexWithUV((double)x + bz, (double)y + y1, (double)z + fx2, topu1, topv2); - sideu1 = (double)icon.getInterpolatedU(6.0D); - sideu2 = (double)icon.getInterpolatedU(8.0D); - sidev1 = (double)icon.getInterpolatedV(12.0D); - sidev2 = (double)icon.getInterpolatedV(6.0D); - topu1 = (double)icon.getInterpolatedU(6.0D); - topu2 = (double)icon.getInterpolatedU(8.0D); - topv1 = (double)icon.getInterpolatedV(2.0D); - topv2 = (double)icon.getInterpolatedV(0.0D); - fx1 = 0.4375D; - fx2 = 0.5625D; - bz = 0.4375D; - fz = 0.5625D; - y1 = 0.625D; - y2 = 1.0D; - tessellator.addVertexWithUV((double)x + fx1, (double)y + y1, (double)z + fz, sideu1, sidev1); - tessellator.addVertexWithUV((double)x + fx2, (double)y + y1, (double)z + fz, sideu2, sidev1); - tessellator.addVertexWithUV((double)x + fx2, (double)y + y2, (double)z + fz, sideu2, sidev2); - tessellator.addVertexWithUV((double)x + fx1, (double)y + y2, (double)z + fz, sideu1, sidev2); - tessellator.addVertexWithUV((double)x + fx1, (double)y + y1, (double)z + bz, sideu1, sidev1); - tessellator.addVertexWithUV((double)x + fx1, (double)y + y2, (double)z + bz, sideu1, sidev2); - tessellator.addVertexWithUV((double)x + fx2, (double)y + y2, (double)z + bz, sideu2, sidev2); - tessellator.addVertexWithUV((double)x + fx2, (double)y + y1, (double)z + bz, sideu2, sidev1); - tessellator.addVertexWithUV((double)x + fz, (double)y + y1, (double)z + fx1, sideu1, sidev1); - tessellator.addVertexWithUV((double)x + fz, (double)y + y2, (double)z + fx1, sideu1, sidev2); - tessellator.addVertexWithUV((double)x + fz, (double)y + y2, (double)z + fx2, sideu2, sidev2); - tessellator.addVertexWithUV((double)x + fz, (double)y + y1, (double)z + fx2, sideu2, sidev1); - tessellator.addVertexWithUV((double)x + bz, (double)y + y1, (double)z + fx1, sideu1, sidev1); - tessellator.addVertexWithUV((double)x + bz, (double)y + y1, (double)z + fx2, sideu2, sidev1); - tessellator.addVertexWithUV((double)x + bz, (double)y + y2, (double)z + fx2, sideu2, sidev2); - tessellator.addVertexWithUV((double)x + bz, (double)y + y2, (double)z + fx1, sideu1, sidev2); - tessellator.addVertexWithUV((double)x + bz, (double)y + y2, (double)z + fx1, topu1, topv1); - tessellator.addVertexWithUV((double)x + bz, (double)y + y2, (double)z + fx2, topu1, topv2); - tessellator.addVertexWithUV((double)x + fz, (double)y + y2, (double)z + fx2, topu2, topv2); - tessellator.addVertexWithUV((double)x + fz, (double)y + y2, (double)z + fx1, topu2, topv1); - tessellator.addVertexWithUV((double)x + bz, (double)y + y1, (double)z + fx1, topu1, topv1); - tessellator.addVertexWithUV((double)x + fz, (double)y + y1, (double)z + fx1, topu2, topv1); - tessellator.addVertexWithUV((double)x + fz, (double)y + y1, (double)z + fx2, topu2, topv2); - tessellator.addVertexWithUV((double)x + bz, (double)y + y1, (double)z + fx2, topu1, topv2); - return true; - } - - public boolean shouldRender3DInInventory() { - return false; - } - - public int getRenderId() { - return ((BlockDate)((BlockDate)AtumBlocks.dateBlock)).renderID; - } -} diff --git a/common/rebelkeithy/mods/atum/blocks/renderers/PapyrusBlockRenderer.java b/common/rebelkeithy/mods/atum/blocks/renderers/PapyrusBlockRenderer.java deleted file mode 100644 index aae42a4..0000000 --- a/common/rebelkeithy/mods/atum/blocks/renderers/PapyrusBlockRenderer.java +++ /dev/null @@ -1,85 +0,0 @@ -package rebelkeithy.mods.atum.blocks.renderers; - -import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; -import net.minecraft.block.Block; -import net.minecraft.client.renderer.EntityRenderer; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.util.Icon; -import net.minecraft.world.IBlockAccess; - -public class PapyrusBlockRenderer implements ISimpleBlockRenderingHandler { - - public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) {} - - public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { - Tessellator tessellator = Tessellator.instance; - tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); - float f = 1.0F; - int l = block.colorMultiplier(world, x, y, z); - float f1 = (float)(l >> 16 & 255) / 255.0F; - float f2 = (float)(l >> 8 & 255) / 255.0F; - float f3 = (float)(l & 255) / 255.0F; - if(EntityRenderer.anaglyphEnable) { - float d0 = (f1 * 30.0F + f2 * 59.0F + f3 * 11.0F) / 100.0F; - float f5 = (f1 * 30.0F + f2 * 70.0F) / 100.0F; - float d1 = (f1 * 30.0F + f3 * 70.0F) / 100.0F; - f1 = d0; - f2 = f5; - f3 = d1; - } - - tessellator.setColorOpaque_F(f * f1, f * f2, f * f3); - double d01 = (double)x; - double d11 = (double)y; - double d2 = (double)z; - if(block == Block.tallGrass) { - long icon = (long)(x * 3129871) ^ (long)z * 116129781L ^ (long)y; - icon = icon * icon * 42317861L + icon * 11L; - d01 += ((double)((float)(icon >> 16 & 15L) / 15.0F) - 0.5D) * 0.5D; - d11 += ((double)((float)(icon >> 20 & 15L) / 15.0F) - 1.0D) * 0.2D; - d2 += ((double)((float)(icon >> 24 & 15L) / 15.0F) - 0.5D) * 0.5D; - } - - Icon icon1 = block.getBlockTexture(world, x, y, z, 0); - this.drawCrossedSquares(icon1, block, world.getBlockMetadata(x, y, z), d01, d11, d2, 1.0F); - return true; - } - - public void drawCrossedSquares(Icon icon, Block par1Block, int par2, double par3, double par5, double par7, float par9) { - Tessellator tessellator = Tessellator.instance; - double d3 = (double)icon.getMinU(); - double d4 = (double)icon.getMinV(); - double d5 = (double)icon.getMaxU(); - double d6 = (double)icon.getMaxV(); - double d7 = 0.45D * (double)par9; - double d8 = par3 + 0.5D - d7; - double d9 = par3 + 0.5D + d7; - double d10 = par7 + 0.5D - d7; - double d11 = par7 + 0.5D + d7; - tessellator.addVertexWithUV(d8, par5 + (double)par9, d10, d3, d4); - tessellator.addVertexWithUV(d8, par5 + 0.0D, d10, d3, d6); - tessellator.addVertexWithUV(d9, par5 + 0.0D, d11, d5, d6); - tessellator.addVertexWithUV(d9, par5 + (double)par9, d11, d5, d4); - tessellator.addVertexWithUV(d9, par5 + (double)par9, d11, d3, d4); - tessellator.addVertexWithUV(d9, par5 + 0.0D, d11, d3, d6); - tessellator.addVertexWithUV(d8, par5 + 0.0D, d10, d5, d6); - tessellator.addVertexWithUV(d8, par5 + (double)par9, d10, d5, d4); - tessellator.addVertexWithUV(d8, par5 + (double)par9, d11, d3, d4); - tessellator.addVertexWithUV(d8, par5 + 0.0D, d11, d3, d6); - tessellator.addVertexWithUV(d9, par5 + 0.0D, d10, d5, d6); - tessellator.addVertexWithUV(d9, par5 + (double)par9, d10, d5, d4); - tessellator.addVertexWithUV(d9, par5 + (double)par9, d10, d3, d4); - tessellator.addVertexWithUV(d9, par5 + 0.0D, d10, d3, d6); - tessellator.addVertexWithUV(d8, par5 + 0.0D, d11, d5, d6); - tessellator.addVertexWithUV(d8, par5 + (double)par9, d11, d5, d4); - } - - public boolean shouldRender3DInInventory() { - return false; - } - - public int getRenderId() { - return 0; - } -} diff --git a/common/rebelkeithy/mods/atum/cursedchest/BlockChestSpawner.java b/common/rebelkeithy/mods/atum/cursedchest/BlockChestSpawner.java deleted file mode 100644 index 2f5233f..0000000 --- a/common/rebelkeithy/mods/atum/cursedchest/BlockChestSpawner.java +++ /dev/null @@ -1,179 +0,0 @@ -package rebelkeithy.mods.atum.cursedchest; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import java.util.Iterator; -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.passive.EntityOcelot; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.MathHelper; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.common.ForgeDirection; -import rebelkeithy.mods.atum.cursedchest.TileEntityChestSpawner; - -public class BlockChestSpawner extends BlockContainer { - - private final Random random = new Random(); - public final int field_94443_a = 0; - - - public BlockChestSpawner(int par1) { - super(par1, Material.wood); - this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); - } - - public int idDropped(int par1, Random par2Random, int par3) { - return Block.chest.blockID; - } - - public boolean isOpaqueCube() { - return false; - } - - public boolean renderAsNormalBlock() { - return false; - } - - public int getRenderType() { - return 22; - } - - public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { - this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); - } - - public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack) { - int l = par1World.getBlockId(par2, par3, par4 - 1); - int i1 = par1World.getBlockId(par2, par3, par4 + 1); - int j1 = par1World.getBlockId(par2 - 1, par3, par4); - int k1 = par1World.getBlockId(par2 + 1, par3, par4); - byte b0 = 0; - int l1 = MathHelper.floor_double((double)(par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; - if(l1 == 0) { - b0 = 2; - } - - if(l1 == 1) { - b0 = 5; - } - - if(l1 == 2) { - b0 = 3; - } - - if(l1 == 3) { - b0 = 4; - } - - if(l != super.blockID && i1 != super.blockID && j1 != super.blockID && k1 != super.blockID) { - par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); - } else { - if((l == super.blockID || i1 == super.blockID) && (b0 == 4 || b0 == 5)) { - if(l == super.blockID) { - par1World.setBlockMetadataWithNotify(par2, par3, par4 - 1, b0, 3); - } else { - par1World.setBlockMetadataWithNotify(par2, par3, par4 + 1, b0, 3); - } - - par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); - } - - if((j1 == super.blockID || k1 == super.blockID) && (b0 == 2 || b0 == 3)) { - if(j1 == super.blockID) { - par1World.setBlockMetadataWithNotify(par2 - 1, par3, par4, b0, 3); - } else { - par1World.setBlockMetadataWithNotify(par2 + 1, par3, par4, b0, 3); - } - - par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); - } - } - - if(par6ItemStack.hasDisplayName()) { - ((TileEntityChestSpawner)par1World.getBlockTileEntity(par2, par3, par4)).func_94043_a(par6ItemStack.getDisplayName()); - } - - } - - public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) { - par1World.func_96440_m(par2, par3, par4, par5); - super.breakBlock(par1World, par2, par3, par4, par5, par6); - } - - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { - if(par1World.isRemote) { - return true; - } else { - IInventory iinventory = this.getInventory(par1World, par2, par3, par4); - if(iinventory != null) { - par5EntityPlayer.displayGUIChest(iinventory); - } - - return true; - } - } - - public IInventory getInventory(World par1World, int par2, int par3, int par4) { - TileEntityChestSpawner object = (TileEntityChestSpawner)par1World.getBlockTileEntity(par2, par3, par4); - return object == null?null:(par1World.isBlockSolidOnSide(par2, par3 + 1, par4, ForgeDirection.DOWN)?null:(isOcelotBlockingChest(par1World, par2, par3, par4)?null:(IInventory)object)); - } - - public TileEntity createNewTileEntity(World par1World) { - TileEntityChestSpawner TileEntityChestSpawner = new TileEntityChestSpawner(); - return TileEntityChestSpawner; - } - - public boolean canProvidePower() { - return this.field_94443_a == 1; - } - - public int isProvidingWeakPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { - if(!this.canProvidePower()) { - return 0; - } else { - int i1 = ((TileEntityChestSpawner)par1IBlockAccess.getBlockTileEntity(par2, par3, par4)).numUsingPlayers; - return MathHelper.clamp_int(i1, 0, 15); - } - } - - public int isProvidingStrongPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { - return par5 == 1?this.isProvidingWeakPower(par1IBlockAccess, par2, par3, par4, par5):0; - } - - public static boolean isOcelotBlockingChest(World par0World, int par1, int par2, int par3) { - Iterator iterator = par0World.getEntitiesWithinAABB(EntityOcelot.class, AxisAlignedBB.getAABBPool().getAABB((double)par1, (double)(par2 + 1), (double)par3, (double)(par1 + 1), (double)(par2 + 2), (double)(par3 + 1))).iterator(); - - while(iterator.hasNext()) { - EntityOcelot entityocelot1 = (EntityOcelot)iterator.next(); - if(entityocelot1.isSitting()) { - return true; - } - } - - return false; - } - - public boolean hasComparatorInputOverride() { - return true; - } - - public int getComparatorInputOverride(World par1World, int par2, int par3, int par4, int par5) { - return Container.calcRedstoneFromInventory(this.getInventory(par1World, par2, par3, par4)); - } - - @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - super.blockIcon = par1IconRegister.registerIcon("wood"); - } -} diff --git a/common/rebelkeithy/mods/atum/cursedchest/CursedChestBaseLogic.java b/common/rebelkeithy/mods/atum/cursedchest/CursedChestBaseLogic.java deleted file mode 100644 index 55e3009..0000000 --- a/common/rebelkeithy/mods/atum/cursedchest/CursedChestBaseLogic.java +++ /dev/null @@ -1,386 +0,0 @@ -package rebelkeithy.mods.atum.cursedchest; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityList; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.EntityLivingData; -import net.minecraft.nbt.NBTBase; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.MobSpawnerBaseLogic; -import net.minecraft.tileentity.WeightedRandomMinecart; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.WeightedRandom; -import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public abstract class CursedChestBaseLogic extends MobSpawnerBaseLogic -{ - /** The delay to spawn. */ - public int spawnDelay = 20; - private String mobID = "Pig"; - - /** List of minecart to spawn. */ - private List minecartToSpawn; - private WeightedRandomMinecart randomMinecart; - public double field_98287_c; - public double field_98284_d; - public int minSpawnDelay = 200; - public int maxSpawnDelay = 800; - - /** A counter for spawn tries. */ - public int spawnCount = 4; - private Entity field_98291_j; - private int maxNearbyEntities = 6; - - /** The distance from which a player activates the spawner. */ - private int activatingRangeFromPlayer = 16; - - /** The range coefficient for spawning entities around. */ - public int spawnRange = 4; - - /** - * Gets the entity name that should be spawned. - */ - public String getEntityNameToSpawn() - { - if (this.getRandomMinecart() == null) - { - if (this.mobID.equals("Minecart")) - { - this.mobID = "MinecartRideable"; - } - - return this.mobID; - } - else - { - return this.getRandomMinecart().minecartName; - } - } - - public void setMobID(String par1Str) - { - this.mobID = par1Str; - } - - /** - * Returns true if there's a player close enough to this mob spawner to activate it. - */ - public boolean canRun() - { - return this.getSpawnerWorld().getClosestPlayer((double)this.getSpawnerX() + 0.5D, (double)this.getSpawnerY() + 0.5D, (double)this.getSpawnerZ() + 0.5D, (double)this.activatingRangeFromPlayer) != null; - } - - public void updateSpawner() - { - if (this.canRun()) - { - double d0; - - if (this.getSpawnerWorld().isRemote) - { - double d1 = (double)((float)this.getSpawnerX() + this.getSpawnerWorld().rand.nextFloat()); - double d2 = (double)((float)this.getSpawnerY() + this.getSpawnerWorld().rand.nextFloat()); - d0 = (double)((float)this.getSpawnerZ() + this.getSpawnerWorld().rand.nextFloat()); - this.getSpawnerWorld().spawnParticle("smoke", d1, d2, d0, 0.0D, 0.0D, 0.0D); - this.getSpawnerWorld().spawnParticle("flame", d1, d2, d0, 0.0D, 0.0D, 0.0D); - - if (this.spawnDelay > 0) - { - --this.spawnDelay; - } - - this.field_98284_d = this.field_98287_c; - this.field_98287_c = (this.field_98287_c + (double)(1000.0F / ((float)this.spawnDelay + 200.0F))) % 360.0D; - } - else - { - if (this.spawnDelay == -1) - { - this.func_98273_j(); - } - - if (this.spawnDelay > 0) - { - --this.spawnDelay; - return; - } - - boolean flag = false; - - for (int i = 0; i < this.spawnCount; ++i) - { - Entity entity = EntityList.createEntityByName(this.getEntityNameToSpawn(), this.getSpawnerWorld()); - - if (entity == null) - { - return; - } - - int j = this.getSpawnerWorld().getEntitiesWithinAABB(entity.getClass(), AxisAlignedBB.getAABBPool().getAABB((double)this.getSpawnerX(), (double)this.getSpawnerY(), (double)this.getSpawnerZ(), (double)(this.getSpawnerX() + 1), (double)(this.getSpawnerY() + 1), (double)(this.getSpawnerZ() + 1)).expand((double)(this.spawnRange * 2), 4.0D, (double)(this.spawnRange * 2))).size(); - - if (j >= this.maxNearbyEntities) - { - this.func_98273_j(); - return; - } - - d0 = (double)this.getSpawnerX() + (this.getSpawnerWorld().rand.nextDouble() - this.getSpawnerWorld().rand.nextDouble()) * (double)this.spawnRange; - double d3 = (double)(this.getSpawnerY() + this.getSpawnerWorld().rand.nextInt(3) - 1); - double d4 = (double)this.getSpawnerZ() + (this.getSpawnerWorld().rand.nextDouble() - this.getSpawnerWorld().rand.nextDouble()) * (double)this.spawnRange; - EntityLiving entityliving = entity instanceof EntityLiving ? (EntityLiving)entity : null; - entity.setLocationAndAngles(d0, d3, d4, this.getSpawnerWorld().rand.nextFloat() * 360.0F, 0.0F); - - if (entityliving == null || entityliving.getCanSpawnHere()) - { - this.func_98265_a(entity); - this.getSpawnerWorld().playAuxSFX(2004, this.getSpawnerX(), this.getSpawnerY(), this.getSpawnerZ(), 0); - - if (entityliving != null) - { - entityliving.spawnExplosionParticle(); - } - - flag = true; - } - } - - if (flag) - { - this.func_98273_j(); - } - } - } - } - - public Entity func_98265_a(Entity par1Entity) - { - if (this.getRandomMinecart() != null) - { - NBTTagCompound nbttagcompound = new NBTTagCompound(); - par1Entity.writeToNBTOptional(nbttagcompound); - Iterator iterator = this.getRandomMinecart().field_98222_b.getTags().iterator(); - - while (iterator.hasNext()) - { - NBTBase nbtbase = (NBTBase)iterator.next(); - nbttagcompound.setTag(nbtbase.getName(), nbtbase.copy()); - } - - par1Entity.readFromNBT(nbttagcompound); - - if (par1Entity.worldObj != null) - { - par1Entity.worldObj.spawnEntityInWorld(par1Entity); - } - - NBTTagCompound nbttagcompound1; - - for (Entity entity1 = par1Entity; nbttagcompound.hasKey("Riding"); nbttagcompound = nbttagcompound1) - { - nbttagcompound1 = nbttagcompound.getCompoundTag("Riding"); - Entity entity2 = EntityList.createEntityByName(nbttagcompound1.getString("id"), par1Entity.worldObj); - - if (entity2 != null) - { - NBTTagCompound nbttagcompound2 = new NBTTagCompound(); - entity2.writeToNBTOptional(nbttagcompound2); - Iterator iterator1 = nbttagcompound1.getTags().iterator(); - - while (iterator1.hasNext()) - { - NBTBase nbtbase1 = (NBTBase)iterator1.next(); - nbttagcompound2.setTag(nbtbase1.getName(), nbtbase1.copy()); - } - - entity2.readFromNBT(nbttagcompound2); - entity2.setLocationAndAngles(entity1.posX, entity1.posY, entity1.posZ, entity1.rotationYaw, entity1.rotationPitch); - - if (par1Entity.worldObj != null) - { - par1Entity.worldObj.spawnEntityInWorld(entity2); - } - - entity1.mountEntity(entity2); - } - - entity1 = entity2; - } - } - else if (par1Entity instanceof EntityLivingBase && par1Entity.worldObj != null) - { - ((EntityLiving)par1Entity).onSpawnWithEgg((EntityLivingData)null); - this.getSpawnerWorld().spawnEntityInWorld(par1Entity); - } - - return par1Entity; - } - - private void func_98273_j() - { - if (this.maxSpawnDelay <= this.minSpawnDelay) - { - this.spawnDelay = this.minSpawnDelay; - } - else - { - int i = this.maxSpawnDelay - this.minSpawnDelay; - this.spawnDelay = this.minSpawnDelay + this.getSpawnerWorld().rand.nextInt(i); - } - - if (this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) - { - this.setRandomMinecart((WeightedRandomMinecart)WeightedRandom.getRandomItem(this.getSpawnerWorld().rand, this.minecartToSpawn)); - } - - this.func_98267_a(1); - } - - public void readFromNBT(NBTTagCompound par1NBTTagCompound) - { - this.mobID = par1NBTTagCompound.getString("EntityId"); - this.spawnDelay = par1NBTTagCompound.getShort("Delay"); - - if (par1NBTTagCompound.hasKey("SpawnPotentials")) - { - this.minecartToSpawn = new ArrayList(); - NBTTagList nbttaglist = par1NBTTagCompound.getTagList("SpawnPotentials"); - - for (int i = 0; i < nbttaglist.tagCount(); ++i) - { - this.minecartToSpawn.add(new WeightedRandomMinecart(this, (NBTTagCompound)nbttaglist.tagAt(i))); - } - } - else - { - this.minecartToSpawn = null; - } - - if (par1NBTTagCompound.hasKey("SpawnData")) - { - this.setRandomMinecart(new WeightedRandomMinecart(this, par1NBTTagCompound.getCompoundTag("SpawnData"), this.mobID)); - } - else - { - this.setRandomMinecart((WeightedRandomMinecart)null); - } - - if (par1NBTTagCompound.hasKey("MinSpawnDelay")) - { - this.minSpawnDelay = par1NBTTagCompound.getShort("MinSpawnDelay"); - this.maxSpawnDelay = par1NBTTagCompound.getShort("MaxSpawnDelay"); - this.spawnCount = par1NBTTagCompound.getShort("SpawnCount"); - } - - if (par1NBTTagCompound.hasKey("MaxNearbyEntities")) - { - this.maxNearbyEntities = par1NBTTagCompound.getShort("MaxNearbyEntities"); - this.activatingRangeFromPlayer = par1NBTTagCompound.getShort("RequiredPlayerRange"); - } - - if (par1NBTTagCompound.hasKey("SpawnRange")) - { - this.spawnRange = par1NBTTagCompound.getShort("SpawnRange"); - } - - if (this.getSpawnerWorld() != null && this.getSpawnerWorld().isRemote) - { - this.field_98291_j = null; - } - } - - public void writeToNBT(NBTTagCompound par1NBTTagCompound) - { - par1NBTTagCompound.setString("EntityId", this.getEntityNameToSpawn()); - par1NBTTagCompound.setShort("Delay", (short)this.spawnDelay); - par1NBTTagCompound.setShort("MinSpawnDelay", (short)this.minSpawnDelay); - par1NBTTagCompound.setShort("MaxSpawnDelay", (short)this.maxSpawnDelay); - par1NBTTagCompound.setShort("SpawnCount", (short)this.spawnCount); - par1NBTTagCompound.setShort("MaxNearbyEntities", (short)this.maxNearbyEntities); - par1NBTTagCompound.setShort("RequiredPlayerRange", (short)this.activatingRangeFromPlayer); - par1NBTTagCompound.setShort("SpawnRange", (short)this.spawnRange); - - if (this.getRandomMinecart() != null) - { - par1NBTTagCompound.setCompoundTag("SpawnData", (NBTTagCompound)this.getRandomMinecart().field_98222_b.copy()); - } - - if (this.getRandomMinecart() != null || this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) - { - NBTTagList nbttaglist = new NBTTagList(); - - if (this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) - { - Iterator iterator = this.minecartToSpawn.iterator(); - - while (iterator.hasNext()) - { - WeightedRandomMinecart weightedrandomminecart = (WeightedRandomMinecart)iterator.next(); - nbttaglist.appendTag(weightedrandomminecart.func_98220_a()); - } - } - else - { - nbttaglist.appendTag(this.getRandomMinecart().func_98220_a()); - } - - par1NBTTagCompound.setTag("SpawnPotentials", nbttaglist); - } - } - - /** - * Sets the delay to minDelay if parameter given is 1, else return false. - */ - public boolean setDelayToMin(int par1) - { - if (par1 == 1 && this.getSpawnerWorld().isRemote) - { - this.spawnDelay = this.minSpawnDelay; - return true; - } - else - { - return false; - } - } - - @SideOnly(Side.CLIENT) - public Entity func_98281_h() - { - if (this.field_98291_j == null) - { - Entity entity = EntityList.createEntityByName(this.getEntityNameToSpawn(), (World)null); - entity = this.func_98265_a(entity); - this.field_98291_j = entity; - } - - return this.field_98291_j; - } - - public WeightedRandomMinecart getRandomMinecart() - { - return this.randomMinecart; - } - - public void setRandomMinecart(WeightedRandomMinecart par1WeightedRandomMinecart) - { - this.randomMinecart = par1WeightedRandomMinecart; - } - - public abstract void func_98267_a(int i); - - public abstract World getSpawnerWorld(); - - public abstract int getSpawnerX(); - - public abstract int getSpawnerY(); - - public abstract int getSpawnerZ(); -} diff --git a/common/rebelkeithy/mods/atum/cursedchest/CursedChestSpawnerLogic.java b/common/rebelkeithy/mods/atum/cursedchest/CursedChestSpawnerLogic.java deleted file mode 100644 index 1e807a5..0000000 --- a/common/rebelkeithy/mods/atum/cursedchest/CursedChestSpawnerLogic.java +++ /dev/null @@ -1,45 +0,0 @@ -package rebelkeithy.mods.atum.cursedchest; - -import net.minecraft.block.Block; -import net.minecraft.tileentity.WeightedRandomMinecart; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.cursedchest.CursedChestBaseLogic; -import rebelkeithy.mods.atum.cursedchest.TileEntityChestSpawner; - -class CursedChestSpawnerLogic extends CursedChestBaseLogic { - - final TileEntityChestSpawner field_98295_a; - - - CursedChestSpawnerLogic(TileEntityChestSpawner tileEntityChestSpawner) { - this.field_98295_a = tileEntityChestSpawner; - } - - public void func_98267_a(int par1) { - this.field_98295_a.worldObj.addBlockEvent(this.field_98295_a.xCoord, this.field_98295_a.yCoord, this.field_98295_a.zCoord, Block.mobSpawner.blockID, par1, 0); - } - - public World getSpawnerWorld() { - return this.field_98295_a.worldObj; - } - - public int getSpawnerX() { - return this.field_98295_a.xCoord; - } - - public int getSpawnerY() { - return this.field_98295_a.yCoord; - } - - public int getSpawnerZ() { - return this.field_98295_a.zCoord; - } - - public void func_98277_a(WeightedRandomMinecart par1WeightedRandomMinecart) { - super.setRandomMinecart(par1WeightedRandomMinecart); - if(this.getSpawnerWorld() != null) { - this.getSpawnerWorld().markBlockForUpdate(this.field_98295_a.xCoord, this.field_98295_a.yCoord, this.field_98295_a.zCoord); - } - - } -} diff --git a/common/rebelkeithy/mods/atum/cursedchest/PharaohChest.java b/common/rebelkeithy/mods/atum/cursedchest/PharaohChest.java deleted file mode 100644 index 7516fb3..0000000 --- a/common/rebelkeithy/mods/atum/cursedchest/PharaohChest.java +++ /dev/null @@ -1,195 +0,0 @@ -package rebelkeithy.mods.atum.cursedchest; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import java.util.Iterator; -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.passive.EntityOcelot; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.MathHelper; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.common.ForgeDirection; -import rebelkeithy.mods.atum.AtumLoot; -import rebelkeithy.mods.atum.cursedchest.TileEntityPharaohChest; - -public class PharaohChest extends BlockContainer { - - private final Random random = new Random(); - public final int field_94443_a = 0; - - - public PharaohChest(int par1) { - super(par1, Material.wood); - this.setCreativeTab(CreativeTabs.tabDecorations); - this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); - } - - public int idDropped(int par1, Random par2Random, int par3) { - return Block.chest.blockID; - } - - public boolean isOpaqueCube() { - return false; - } - - public boolean renderAsNormalBlock() { - return false; - } - - public int getRenderType() { - return 22; - } - - public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { - this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); - } - - public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack) { - int l = par1World.getBlockId(par2, par3, par4 - 1); - int i1 = par1World.getBlockId(par2, par3, par4 + 1); - int j1 = par1World.getBlockId(par2 - 1, par3, par4); - int k1 = par1World.getBlockId(par2 + 1, par3, par4); - byte b0 = 0; - int l1 = MathHelper.floor_double((double)(par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; - if(l1 == 0) { - b0 = 2; - } - - if(l1 == 1) { - b0 = 5; - } - - if(l1 == 2) { - b0 = 3; - } - - if(l1 == 3) { - b0 = 4; - } - - if(l != super.blockID && i1 != super.blockID && j1 != super.blockID && k1 != super.blockID) { - par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); - } else { - if((l == super.blockID || i1 == super.blockID) && (b0 == 4 || b0 == 5)) { - if(l == super.blockID) { - par1World.setBlockMetadataWithNotify(par2, par3, par4 - 1, b0, 3); - } else { - par1World.setBlockMetadataWithNotify(par2, par3, par4 + 1, b0, 3); - } - - par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); - } - - if((j1 == super.blockID || k1 == super.blockID) && (b0 == 2 || b0 == 3)) { - if(j1 == super.blockID) { - par1World.setBlockMetadataWithNotify(par2 - 1, par3, par4, b0, 3); - } else { - par1World.setBlockMetadataWithNotify(par2 + 1, par3, par4, b0, 3); - } - - par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); - } - } - - if(par6ItemStack.hasDisplayName()) { - ((TileEntityPharaohChest)par1World.getBlockTileEntity(par2, par3, par4)).func_94043_a(par6ItemStack.getDisplayName()); - } - - AtumLoot.fillChest((TileEntityPharaohChest)par1World.getBlockTileEntity(par2, par3, par4), 15, 0.9F); - } - - public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) { - TileEntityPharaohChest TileEntityPharaohChest = (TileEntityPharaohChest)par1World.getBlockTileEntity(par2, par3, par4); - if(TileEntityPharaohChest != null) { - par1World.func_96440_m(par2, par3, par4, par5); - } - - super.breakBlock(par1World, par2, par3, par4, par5, par6); - } - - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { - TileEntity te = par1World.getBlockTileEntity(par2, par3, par4); - if(te instanceof TileEntityPharaohChest) { - TileEntityPharaohChest iinventory = (TileEntityPharaohChest)te; - if(!iinventory.hasSpawned()) { - iinventory.spawn(par5EntityPlayer); - } - } - - if(par1World.isRemote) { - return true; - } else { - IInventory iinventory1 = this.getInventory(par1World, par2, par3, par4); - if(iinventory1 != null) { - par5EntityPlayer.displayGUIChest(iinventory1); - } - - return true; - } - } - - public IInventory getInventory(World par1World, int par2, int par3, int par4) { - TileEntityPharaohChest object = (TileEntityPharaohChest)par1World.getBlockTileEntity(par2, par3, par4); - return object == null?null:(par1World.isBlockSolidOnSide(par2, par3 + 1, par4, ForgeDirection.DOWN)?null:(isOcelotBlockingChest(par1World, par2, par3, par4)?null:(IInventory)object)); - } - - public TileEntity createNewTileEntity(World par1World) { - TileEntityPharaohChest TileEntityPharaohChest = new TileEntityPharaohChest(); - return TileEntityPharaohChest; - } - - public boolean canProvidePower() { - return this.field_94443_a == 1; - } - - public int isProvidingWeakPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { - if(!this.canProvidePower()) { - return 0; - } else { - int i1 = ((TileEntityPharaohChest)par1IBlockAccess.getBlockTileEntity(par2, par3, par4)).numUsingPlayers; - return MathHelper.clamp_int(i1, 0, 15); - } - } - - public int isProvidingStrongPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { - return par5 == 1?this.isProvidingWeakPower(par1IBlockAccess, par2, par3, par4, par5):0; - } - - public static boolean isOcelotBlockingChest(World par0World, int par1, int par2, int par3) { - Iterator iterator = par0World.getEntitiesWithinAABB(EntityOcelot.class, AxisAlignedBB.getAABBPool().getAABB((double)par1, (double)(par2 + 1), (double)par3, (double)(par1 + 1), (double)(par2 + 2), (double)(par3 + 1))).iterator(); - - while(iterator.hasNext()) { - EntityOcelot entityocelot1 = (EntityOcelot)iterator.next(); - if(entityocelot1.isSitting()) { - return true; - } - } - - return false; - } - - public boolean hasComparatorInputOverride() { - return true; - } - - public int getComparatorInputOverride(World par1World, int par2, int par3, int par4, int par5) { - return Container.calcRedstoneFromInventory(this.getInventory(par1World, par2, par3, par4)); - } - - @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - super.blockIcon = par1IconRegister.registerIcon("wood"); - } -} diff --git a/common/rebelkeithy/mods/atum/entities/EntityBanditArcher.java b/common/rebelkeithy/mods/atum/entities/EntityBanditArcher.java deleted file mode 100644 index 398aaf2..0000000 --- a/common/rebelkeithy/mods/atum/entities/EntityBanditArcher.java +++ /dev/null @@ -1,163 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.EntityLivingData; -import net.minecraft.entity.EnumCreatureAttribute; -import net.minecraft.entity.IRangedAttackMob; -import net.minecraft.entity.ai.EntityAIArrowAttack; -import net.minecraft.entity.ai.EntityAIAttackOnCollide; -import net.minecraft.entity.ai.EntityAIHurtByTarget; -import net.minecraft.entity.ai.EntityAILookIdle; -import net.minecraft.entity.ai.EntityAINearestAttackableTarget; -import net.minecraft.entity.ai.EntityAIRestrictSun; -import net.minecraft.entity.ai.EntityAISwimming; -import net.minecraft.entity.ai.EntityAIWander; -import net.minecraft.entity.ai.EntityAIWatchClosest; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumConfig; -import rebelkeithy.mods.atum.AtumItems; -import rebelkeithy.mods.atum.entities.IAtumDayMob; - -public class EntityBanditArcher extends EntityMob implements IRangedAttackMob, IAtumDayMob { - - private EntityAIArrowAttack aiArrowAttack = new EntityAIArrowAttack(this, 0.25F, 20, 60, 15.0F); - private EntityAIAttackOnCollide aiAttackOnCollide = new EntityAIAttackOnCollide(this, EntityPlayer.class, 0.31F, false); - - public EntityBanditArcher(World par1World) { - super(par1World); - this.setAIMoveSpeed(0.25F); - this.setHealth(20F); - super.tasks.addTask(1, new EntityAISwimming(this)); - super.tasks.addTask(2, new EntityAIRestrictSun(this)); - super.tasks.addTask(3, this.aiArrowAttack); - super.tasks.addTask(4, new EntityAIWander(this, this.getAIMoveSpeed())); - super.tasks.addTask(5, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); - super.tasks.addTask(6, new EntityAILookIdle(this)); - super.targetTasks.addTask(1, new EntityAIHurtByTarget(this, false)); - super.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 16, true)); - if (par1World != null && !par1World.isRemote) { - this.setCombatTask(); - } - - super.experienceValue = 6; - } - - public boolean getCanSpawnHere() { - return super.worldObj.checkNoEntityCollision(super.boundingBox) && super.worldObj.getCollidingBoundingBoxes(this, super.boundingBox).isEmpty() && !super.worldObj.isAnyLiquid(super.boundingBox); - } - - protected boolean isValidLightLevel() { - return true; - } - - public boolean isAIEnabled() { - return true; - } - - public boolean attackEntityAsMob(Entity par1Entity) { - return super.attackEntityAsMob(par1Entity); - } - - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEFINED; - } - - protected void addRandomArmor() { - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.bow)); - - for (int i = 0; i < super.equipmentDropChances.length; ++i) { - super.equipmentDropChances[i] = 0.0F; - } - - } - @Override - public EntityLivingData onSpawnWithEgg(EntityLivingData par1EntityLivingData) { - par1EntityLivingData = super.onSpawnWithEgg(par1EntityLivingData); - this.addRandomArmor(); - this.enchantEquipment(); - return par1EntityLivingData; - } - @Override - public void entityInit() { - super.entityInit(); - this.setCanPickUpLoot(super.rand.nextFloat() < this.worldObj.getLocationTensionFactor(this.posX, this.posY, this.posZ)); - } - - public void setCombatTask() { - super.tasks.removeTask(this.aiAttackOnCollide); - super.tasks.removeTask(this.aiArrowAttack); - ItemStack itemstack = this.getHeldItem(); - if (itemstack != null && itemstack.itemID == AtumItems.bow.itemID) { - super.tasks.addTask(4, this.aiArrowAttack); - } else { - super.tasks.addTask(4, this.aiAttackOnCollide); - } - - } - - public void attackEntityWithRangedAttack(EntityLivingBase par1EntityLiving, float par2) { - EntityArrow entityarrow = new EntityArrow(super.worldObj, this, par1EntityLiving, 1.6F, (float) (14 - super.worldObj.difficultySetting * 4)); - int i = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, this.getHeldItem()); - int j = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, this.getHeldItem()); - entityarrow.setDamage((double) (par2 * 2.0F) + super.rand.nextGaussian() * 0.25D + (double) ((float) super.worldObj.difficultySetting * 0.11F)); - if (i > 0) { - entityarrow.setDamage(entityarrow.getDamage() + (double) i * 0.5D + 0.5D); - } - - if (j > 0) { - entityarrow.setKnockbackStrength(j); - } - - if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, this.getHeldItem()) > 0) { - entityarrow.setFire(100); - } - - this.playSound("random.bow", 1.0F, 1.0F / (this.getRNG().nextFloat() * 0.4F + 0.8F)); - super.worldObj.spawnEntityInWorld(entityarrow); - } - - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - super.readEntityFromNBT(par1NBTTagCompound); - this.setCombatTask(); - } - - public void setCurrentItemOrArmor(int par1, ItemStack par2ItemStack) { - super.setCurrentItemOrArmor(par1, par2ItemStack); - if (!super.worldObj.isRemote && par1 == 0) { - this.setCombatTask(); - } - - } - - protected void dropFewItems(boolean par1, int par2) { - int amount; - if (super.rand.nextInt(20) == 0) { - amount = (int) ((double) AtumItems.bow.getMaxDamage() - (double) super.rand.nextInt(AtumItems.bow.getMaxDamage()) * 0.5D + 20.0D); - this.entityDropItem(new ItemStack(AtumConfig.bowID, 1, amount), 0.0F); - } - - if (super.rand.nextInt(10) == 0) { - amount = super.rand.nextInt(2) + 1; - this.dropItem(Item.goldNugget.itemID, amount); - } - - if (super.rand.nextInt(4) == 0) { - amount = super.rand.nextInt(3) + 1; - this.dropItem(Item.arrow.itemID, amount); - } - - } - -} diff --git a/common/rebelkeithy/mods/atum/entities/EntityBanditWarlord.java b/common/rebelkeithy/mods/atum/entities/EntityBanditWarlord.java deleted file mode 100644 index 41f2059..0000000 --- a/common/rebelkeithy/mods/atum/entities/EntityBanditWarlord.java +++ /dev/null @@ -1,85 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EnumCreatureAttribute; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumConfig; -import rebelkeithy.mods.atum.AtumItems; -import rebelkeithy.mods.atum.entities.IAtumDayMob; - -public class EntityBanditWarlord extends EntityMob implements IAtumDayMob { - - public EntityBanditWarlord(World par1World) { - super(par1World); - super.experienceValue = 16; - this.setHealth(80); - } - - protected void addRandomArmor() { - } - - public float getSpeedModifier() { - return this.getSpeedModifier(); - } - - public boolean getCanSpawnHere() { - return super.worldObj.checkNoEntityCollision(super.boundingBox) && super.worldObj.getCollidingBoundingBoxes(this, super.boundingBox).isEmpty() && !super.worldObj.isAnyLiquid(super.boundingBox); - } - - public int getMaxSpawnedInChunk() { - return 1; - } - - protected boolean isValidLightLevel() { - return true; - } - - public void initCreature() { - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.scimitar)); - EnchantmentHelper.addRandomEnchantment(super.rand, this.getHeldItem(), 5 + super.worldObj.difficultySetting * super.rand.nextInt(6)); - - for (int i = 0; i < super.equipmentDropChances.length; ++i) { - super.equipmentDropChances[i] = 0.05F; - } - - } - - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEFINED; - } - - public int getAttackStrength(Entity par1Entity) { - return 4; - } - - protected void dropFewItems(boolean par1, int par2) { - int choice; - if (super.rand.nextInt(20) == 0) { - choice = (int) ((double) AtumItems.scimitar.getMaxDamage() - (double) super.rand.nextInt(AtumItems.scimitar.getMaxDamage()) * 0.5D + 20.0D); - this.entityDropItem(new ItemStack(AtumConfig.scimitarID, 1, choice), 0.0F); - } - - if (super.rand.nextInt(4) == 0) { - choice = super.rand.nextInt(3) + 3; - this.dropItem(Item.goldNugget.itemID, choice); - } - - if (super.rand.nextInt(4) == 0) { - choice = super.rand.nextInt(4); - if (choice == 0) { - this.dropItem(AtumItems.wandererHelmet.itemID, 1); - } else if (choice == 1) { - this.dropItem(AtumItems.wandererChest.itemID, 1); - } else if (choice == 2) { - this.dropItem(AtumItems.wandererLegs.itemID, 1); - } else if (choice == 3) { - this.dropItem(AtumItems.wandererBoots.itemID, 1); - } - } - - } -} diff --git a/common/rebelkeithy/mods/atum/entities/EntityBanditWarrior.java b/common/rebelkeithy/mods/atum/entities/EntityBanditWarrior.java deleted file mode 100644 index 493564f..0000000 --- a/common/rebelkeithy/mods/atum/entities/EntityBanditWarrior.java +++ /dev/null @@ -1,69 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingData; -import net.minecraft.entity.EnumCreatureAttribute; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumConfig; -import rebelkeithy.mods.atum.AtumItems; -import rebelkeithy.mods.atum.entities.IAtumDayMob; - -public class EntityBanditWarrior extends EntityMob implements IAtumDayMob { - - public EntityBanditWarrior(World par1World) { - super(par1World); - super.experienceValue = 8; - this.setHealth(30); - } - - public float getSpeedModifier() { - return this.getSpeedModifier() * 1.25F; - } - - public boolean getCanSpawnHere() { - return super.worldObj.checkNoEntityCollision(super.boundingBox) && super.worldObj.getCollidingBoundingBoxes(this, super.boundingBox).isEmpty() && !super.worldObj.isAnyLiquid(super.boundingBox); - } - - protected boolean isValidLightLevel() { - return true; - } - - @Override - public EntityLivingData onSpawnWithEgg(EntityLivingData par1EntityLivingData) { - par1EntityLivingData = super.onSpawnWithEgg(par1EntityLivingData); - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.scimitar)); - for (int i = 0; i < super.equipmentDropChances.length; ++i) { - super.equipmentDropChances[i] = 0.0F; - } - return par1EntityLivingData; - } - - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEFINED; - } - - public int getAttackStrength(Entity par1Entity) { - ItemStack itemstack = this.getHeldItem(); - float f = (float) (this.getMaxHealth() - this.getHealth()) / (float) this.getMaxHealth(); - int i = 3 + MathHelper.floor_float(f * 4.0F); - return i; - } - - protected void dropFewItems(boolean par1, int par2) { - int amount; - if (super.rand.nextInt(20) == 0) { - amount = (int) ((double) AtumItems.scimitar.getMaxDamage() - (double) super.rand.nextInt(AtumItems.scimitar.getMaxDamage()) * 0.5D + 20.0D); - this.entityDropItem(new ItemStack(AtumConfig.scimitarID, 1, amount), 0.0F); - } - - if (super.rand.nextInt(10) == 0) { - amount = super.rand.nextInt(2) + 1; - this.dropItem(Item.goldNugget.itemID, amount); - } - - } -} diff --git a/common/rebelkeithy/mods/atum/entities/EntityBarbarian.java b/common/rebelkeithy/mods/atum/entities/EntityBarbarian.java deleted file mode 100644 index 3023f40..0000000 --- a/common/rebelkeithy/mods/atum/entities/EntityBarbarian.java +++ /dev/null @@ -1,80 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EnumCreatureAttribute; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumConfig; -import rebelkeithy.mods.atum.AtumItems; -import rebelkeithy.mods.atum.entities.EntityPharaoh; -import rebelkeithy.mods.atum.entities.EntityStoneSoldier; -import rebelkeithy.mods.atum.entities.IAtumDayMob; - -public class EntityBarbarian extends EntityMob implements IAtumDayMob { - - public EntityBarbarian(World par1World) { - super(par1World); - super.experienceValue = 9; - this.setHealth(30); - } - - - protected void addRandomArmor() {} - - public float getSpeedModifier() { - return this.getSpeedModifier() * 1.5F; - } - - public boolean getCanSpawnHere() { - return super.worldObj.checkNoEntityCollision(super.boundingBox) && super.worldObj.getCollidingBoundingBoxes(this, super.boundingBox).isEmpty() && !super.worldObj.isAnyLiquid(super.boundingBox); - } - - protected boolean isValidLightLevel() { - return true; - } - - public void initCreature() { - ItemStack weapon = new ItemStack(AtumItems.greatsword); - this.setCurrentItemOrArmor(0, weapon); - this.enchantEquipment(); - - for(int i = 0; i < super.equipmentDropChances.length; ++i) { - super.equipmentDropChances[i] = 0.0F; - } - - } - - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEFINED; - } - - public int getAttackStrength(Entity par1Entity) { - return 4; - } - - protected void dropFewItems(boolean par1, int par2) { - int amount; - if(super.rand.nextInt(20) == 0) { - amount = (int)((double)AtumItems.greatsword.getMaxDamage() - (double)super.rand.nextInt(AtumItems.greatsword.getMaxDamage()) * 0.5D + 20.0D); - this.entityDropItem(new ItemStack(AtumConfig.greatswordID, 1, amount), 0.0F); - } - - if(super.rand.nextInt(4) == 0) { - amount = super.rand.nextInt(2) + 1; - this.dropItem(Item.goldNugget.itemID, amount); - } - - } - - protected void attackEntity(Entity mob, float par2) { - if(!(mob instanceof EntityStoneSoldier) && !(mob instanceof EntityPharaoh)) { - float j = 1.2F; - mob.addVelocity((double)(-MathHelper.sin(super.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F), 0.1D, (double)(MathHelper.cos(super.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F)); - } - - super.attackEntity(mob, par2); - } -} diff --git a/common/rebelkeithy/mods/atum/entities/EntityBonestorm.java b/common/rebelkeithy/mods/atum/entities/EntityBonestorm.java deleted file mode 100644 index 577144b..0000000 --- a/common/rebelkeithy/mods/atum/entities/EntityBonestorm.java +++ /dev/null @@ -1,168 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.Entity; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntitySmallFireball; -import net.minecraft.item.Item; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; - -public class EntityBonestorm extends EntityMob { - - private float heightOffset = 0.5F; - private int heightOffsetUpdateTime; - private int field_70846_g; - - - public EntityBonestorm(World par1World) { - super(par1World); - super.isImmuneToFire = true; - super.experienceValue = 10; - this.setHealth(20f); - } - - protected void entityInit() { - super.entityInit(); - super.dataWatcher.addObject(16, new Byte((byte)0)); - } - - protected String getLivingSound() { - return "mob.blaze.breathe"; - } - - protected String getHurtSound() { - return "mob.blaze.hit"; - } - - protected String getDeathSound() { - return "mob.blaze.death"; - } - - @SideOnly(Side.CLIENT) - public int getBrightnessForRender(float par1) { - return 15728880; - } - - public float getBrightness(float par1) { - return 1.0F; - } - - public void onLivingUpdate() { - if(!super.worldObj.isRemote) { - if(this.isWet()) { - this.attackEntityFrom(DamageSource.drown, 1); - } - - --this.heightOffsetUpdateTime; - if(this.heightOffsetUpdateTime <= 0) { - this.heightOffsetUpdateTime = 100; - this.heightOffset = 0.5F + (float)super.rand.nextGaussian() * 3.0F; - } - - if(this.getEntityToAttack() != null && this.getEntityToAttack().posY + (double)this.getEntityToAttack().getEyeHeight() > super.posY + (double)this.getEyeHeight() + (double)this.heightOffset) { - super.motionY += (0.30000001192092896D - super.motionY) * 0.30000001192092896D; - } - } - - if(super.rand.nextInt(24) == 0) { - super.worldObj.playSoundEffect(super.posX + 0.5D, super.posY + 0.5D, super.posZ + 0.5D, "fire.fire", 1.0F + super.rand.nextFloat(), super.rand.nextFloat() * 0.7F + 0.3F); - } - - if(!super.onGround && super.motionY < 0.0D) { - super.motionY *= 0.6D; - } - - for(int i = 0; i < 2; ++i) { - super.worldObj.spawnParticle("largesmoke", super.posX + (super.rand.nextDouble() - 0.5D) * (double)super.width, super.posY + super.rand.nextDouble() * (double)super.height, super.posZ + (super.rand.nextDouble() - 0.5D) * (double)super.width, 0.0D, 0.0D, 0.0D); - } - - super.onLivingUpdate(); - } - - protected void attackEntity(Entity par1Entity, float par2) { - if(super.attackTime <= 0 && par2 < 2.0F && par1Entity.boundingBox.maxY > super.boundingBox.minY && par1Entity.boundingBox.minY < super.boundingBox.maxY) { - super.attackTime = 20; - this.attackEntityAsMob(par1Entity); - } else if(par2 < 30.0F) { - double d0 = par1Entity.posX - super.posX; - double d1 = par1Entity.boundingBox.minY + (double)(par1Entity.height / 2.0F) - (super.posY + (double)(super.height / 2.0F)); - double d2 = par1Entity.posZ - super.posZ; - if(super.attackTime == 0) { - ++this.field_70846_g; - if(this.field_70846_g == 1) { - super.attackTime = 60; - this.func_70844_e(true); - } else if(this.field_70846_g <= 4) { - super.attackTime = 6; - } else { - super.attackTime = 100; - this.field_70846_g = 0; - this.func_70844_e(false); - } - - if(this.field_70846_g > 1) { - float f1 = MathHelper.sqrt_float(par2) * 0.5F; - super.worldObj.playAuxSFXAtEntity((EntityPlayer)null, 1009, (int)super.posX, (int)super.posY, (int)super.posZ, 0); - - for(int i = 0; i < 1; ++i) { - EntitySmallFireball entitysmallfireball = new EntitySmallFireball(super.worldObj, this, d0 + super.rand.nextGaussian() * (double)f1, d1, d2 + super.rand.nextGaussian() * (double)f1); - entitysmallfireball.posY = super.posY + (double)(super.height / 2.0F) + 0.5D; - super.worldObj.spawnEntityInWorld(entitysmallfireball); - } - } - } - - super.rotationYaw = (float)(Math.atan2(d2, d0) * 180.0D / 3.141592653589793D) - 90.0F; - super.hasAttacked = true; - } - - } - - protected void fall(float par1) {} - - protected int getDropItemId() { - return Item.blazeRod.itemID; - } - - public boolean isBurning() { - return this.func_70845_n(); - } - - protected void dropFewItems(boolean par1, int par2) { - if(par1) { - int j = super.rand.nextInt(2 + par2); - - for(int k = 0; k < j; ++k) { - this.dropItem(Item.blazeRod.itemID, 1); - } - } - - } - - public boolean func_70845_n() { - return (super.dataWatcher.getWatchableObjectByte(16) & 1) != 0; - } - - public void func_70844_e(boolean par1) { - byte b0 = super.dataWatcher.getWatchableObjectByte(16); - if(par1) { - b0 = (byte)(b0 | 1); - } else { - b0 &= -2; - } - - super.dataWatcher.updateObject(16, Byte.valueOf(b0)); - } - - protected boolean isValidLightLevel() { - return true; - } - - public int getAttackStrength(Entity par1Entity) { - return 6; - } -} diff --git a/common/rebelkeithy/mods/atum/entities/EntityDesertWolf.java b/common/rebelkeithy/mods/atum/entities/EntityDesertWolf.java deleted file mode 100644 index 5850bfd..0000000 --- a/common/rebelkeithy/mods/atum/entities/EntityDesertWolf.java +++ /dev/null @@ -1,429 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import net.minecraft.block.BlockColored; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityAgeable; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.ai.EntityAIAttackOnCollide; -import net.minecraft.entity.ai.EntityAIFollowOwner; -import net.minecraft.entity.ai.EntityAIHurtByTarget; -import net.minecraft.entity.ai.EntityAILeapAtTarget; -import net.minecraft.entity.ai.EntityAILookIdle; -import net.minecraft.entity.ai.EntityAIMate; -import net.minecraft.entity.ai.EntityAIOwnerHurtByTarget; -import net.minecraft.entity.ai.EntityAIOwnerHurtTarget; -import net.minecraft.entity.ai.EntityAISwimming; -import net.minecraft.entity.ai.EntityAITargetNonTamed; -import net.minecraft.entity.ai.EntityAIWander; -import net.minecraft.entity.ai.EntityAIWatchClosest; -import net.minecraft.entity.passive.EntityAnimal; -import net.minecraft.entity.passive.EntitySheep; -import net.minecraft.entity.passive.EntityTameable; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.item.Item; -import net.minecraft.item.ItemFood; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.pathfinding.PathEntity; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumItems; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class EntityDesertWolf extends EntityTameable implements IAtumDayMob { - - private float field_70926_e; - private float field_70924_f; - private boolean isShaking; - private boolean field_70928_h; - private float timeWolfIsShaking; - private float prevTimeWolfIsShaking; - - - public EntityDesertWolf(World par1World) { - super(par1World); - this.setSize(0.6F, 0.8F); - this.getNavigator().setAvoidsWater(true); - this.tasks.addTask(1, new EntityAISwimming(this)); - this.tasks.addTask(2, this.aiSit); - this.tasks.addTask(3, new EntityAILeapAtTarget(this, 0.4F)); - this.tasks.addTask(4, new EntityAIAttackOnCollide(this, 1.0D, true)); - this.tasks.addTask(5, new EntityAIFollowOwner(this, 1.0D, 10.0F, 2.0F)); - this.tasks.addTask(6, new EntityAIMate(this, 1.0D)); - this.tasks.addTask(7, new EntityAIWander(this, 1.0D)); - this.tasks.addTask(9, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); - this.tasks.addTask(9, new EntityAILookIdle(this)); - this.targetTasks.addTask(1, new EntityAIOwnerHurtByTarget(this)); - this.targetTasks.addTask(2, new EntityAIOwnerHurtTarget(this)); - this.targetTasks.addTask(3, new EntityAIHurtByTarget(this, true)); - this.targetTasks.addTask(4, new EntityAITargetNonTamed(this, EntitySheep.class, 200, false)); - } - - public boolean isAIEnabled() { - return true; - } - - protected Entity findPlayerToAttack() { - EntityPlayer entityplayer = super.worldObj.getClosestVulnerablePlayerToEntity(this, 16.0D); - return entityplayer != null && this.canEntityBeSeen(entityplayer)?entityplayer:null; - } - - @Override - public void setAttackTarget(EntityLivingBase par1EntityLiving) { - super.setAttackTarget(par1EntityLiving); - if(par1EntityLiving instanceof EntityPlayer) { - this.setAngry(true); - } - - } - - protected void updateAITick() { - super.dataWatcher.updateObject(18, this.getHealth()); - } - - - - protected void entityInit() { - super.entityInit(); - super.dataWatcher.addObject(18, this.getHealth()); - super.dataWatcher.addObject(19, new Byte((byte)0)); - super.dataWatcher.addObject(20, new Byte((byte)BlockColored.getBlockFromDye(1))); - this.setAngry(true); - super.experienceValue = 6; - } - - public boolean getCanSpawnHere() { - return super.worldObj.checkNoEntityCollision(super.boundingBox) && super.worldObj.getCollidingBoundingBoxes(this, super.boundingBox).isEmpty() && !super.worldObj.isAnyLiquid(super.boundingBox); - } - - protected void playStepSound(int par1, int par2, int par3, int par4) { - this.playSound("mob.wolf.step", 0.15F, 1.0F); - } - - @SideOnly(Side.CLIENT) - public String getTexture() { - return this.isTamed()?"atum:textures/entities/DesertWolf_tame.png":(this.isAngry()?"atum:textures/entities/DesertWolf_angry.png":"atum:textures/entities/DesertWolf"); - } - - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - super.writeEntityToNBT(par1NBTTagCompound); - par1NBTTagCompound.setBoolean("Angry", this.isAngry()); - par1NBTTagCompound.setByte("CollarColor", (byte)this.getCollarColor()); - } - - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - super.readEntityFromNBT(par1NBTTagCompound); - this.setAngry(par1NBTTagCompound.getBoolean("Angry")); - if(par1NBTTagCompound.hasKey("CollarColor")) { - this.setCollarColor(par1NBTTagCompound.getByte("CollarColor")); - } - - } - - protected boolean canDespawn() { - return this.isAngry(); - } - - protected String getLivingSound() { - return this.isAngry()?"mob.wolf.growl":(super.rand.nextInt(3) == 0?(this.isTamed() && super.dataWatcher.getWatchableObjectInt(18) < 10?"mob.wolf.whine":"mob.wolf.panting"):"mob.wolf.bark"); - } - - protected String getHurtSound() { - return "mob.wolf.hurt"; - } - - protected String getDeathSound() { - return "mob.wolf.death"; - } - - protected float getSoundVolume() { - return 0.4F; - } - - protected void dropFewItems(boolean par1, int par2) { - if(super.rand.nextInt(10) == 0) { - this.dropItem(Item.bone.itemID, 1); - } - - if(super.rand.nextInt(4) == 0) { - int amount = super.rand.nextInt(2) + 1; - this.dropItem(AtumItems.pelt.itemID, amount); - } - - } - - public void onLivingUpdate() { - super.onLivingUpdate(); - if(!super.worldObj.isRemote && this.isShaking && !this.field_70928_h && !this.hasPath() && super.onGround) { - this.field_70928_h = true; - this.timeWolfIsShaking = 0.0F; - this.prevTimeWolfIsShaking = 0.0F; - super.worldObj.setEntityState(this, (byte)8); - } - - } - - public void onUpdate() { - super.onUpdate(); - if(!super.worldObj.isRemote && super.worldObj.difficultySetting == 0) { - this.setDead(); - } else { - this.field_70924_f = this.field_70926_e; - if(this.func_70922_bv()) { - this.field_70926_e += (1.0F - this.field_70926_e) * 0.4F; - } else { - this.field_70926_e += (0.0F - this.field_70926_e) * 0.4F; - } - - if(this.func_70922_bv()) { - super.numTicksToChaseTarget = 10; - } - - if(this.isWet()) { - this.isShaking = true; - this.field_70928_h = false; - this.timeWolfIsShaking = 0.0F; - this.prevTimeWolfIsShaking = 0.0F; - } else if((this.isShaking || this.field_70928_h) && this.field_70928_h) { - if(this.timeWolfIsShaking == 0.0F) { - this.playSound("mob.wolf.shake", this.getSoundVolume(), (super.rand.nextFloat() - super.rand.nextFloat()) * 0.2F + 1.0F); - } - - this.prevTimeWolfIsShaking = this.timeWolfIsShaking; - this.timeWolfIsShaking += 0.05F; - if(this.prevTimeWolfIsShaking >= 2.0F) { - this.isShaking = false; - this.field_70928_h = false; - this.prevTimeWolfIsShaking = 0.0F; - this.timeWolfIsShaking = 0.0F; - } - - if(this.timeWolfIsShaking > 0.4F) { - float f = (float)super.boundingBox.minY; - int i = (int)(MathHelper.sin((this.timeWolfIsShaking - 0.4F) * 3.1415927F) * 7.0F); - - for(int j = 0; j < i; ++j) { - float f1 = (super.rand.nextFloat() * 2.0F - 1.0F) * super.width * 0.5F; - float f2 = (super.rand.nextFloat() * 2.0F - 1.0F) * super.width * 0.5F; - super.worldObj.spawnParticle("splash", super.posX + (double)f1, (double)(f + 0.8F), super.posZ + (double)f2, super.motionX, super.motionY, super.motionZ); - } - } - } - - } - } - - @SideOnly(Side.CLIENT) - public boolean getWolfShaking() { - return this.isShaking; - } - - @SideOnly(Side.CLIENT) - public float getShadingWhileShaking(float par1) { - return 0.75F + (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * par1) / 2.0F * 0.25F; - } - - @SideOnly(Side.CLIENT) - public float getShakeAngle(float par1, float par2) { - float f2 = (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * par1 + par2) / 1.8F; - if(f2 < 0.0F) { - f2 = 0.0F; - } else if(f2 > 1.0F) { - f2 = 1.0F; - } - - return MathHelper.sin(f2 * 3.1415927F) * MathHelper.sin(f2 * 3.1415927F * 11.0F) * 0.15F * 3.1415927F; - } - - @SideOnly(Side.CLIENT) - public float getInterestedAngle(float par1) { - return (this.field_70924_f + (this.field_70926_e - this.field_70924_f) * par1) * 0.15F * 3.1415927F; - } - - public float getEyeHeight() { - return super.height * 0.8F; - } - - public int getVerticalFaceSpeed() { - return this.isSitting()?20:super.getVerticalFaceSpeed(); - } - - public boolean attackEntityFrom(DamageSource par1DamageSource, int par2) { - if(this.isEntityInvulnerable()) { - return false; - } else { - Entity entity = par1DamageSource.getEntity(); - super.aiSit.setSitting(false); - if(entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) { - par2 = (par2 + 1) / 2; - } - - return super.attackEntityFrom(par1DamageSource, par2); - } - } - - public boolean attackEntityAsMob(Entity par1Entity) { - int i = this.isTamed()?4:2; - return par1Entity.attackEntityFrom(DamageSource.causeMobDamage(this), i); - } - - public boolean interact(EntityPlayer par1EntityPlayer) { - ItemStack itemstack = par1EntityPlayer.inventory.getCurrentItem(); - if(this.isTamed()) { - if(itemstack != null) { - if(Item.itemsList[itemstack.itemID] instanceof ItemFood) { - ItemFood i = (ItemFood)Item.itemsList[itemstack.itemID]; - if(i.isWolfsFavoriteMeat() && super.dataWatcher.getWatchableObjectInt(18) < 20) { - if(!par1EntityPlayer.capabilities.isCreativeMode) { - --itemstack.stackSize; - } - - this.heal(i.getHealAmount()); - if(itemstack.stackSize <= 0) { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack)null); - } - - return true; - } - } else if(itemstack.itemID == Item.dyePowder.itemID) { - int var4 = BlockColored.getBlockFromDye(itemstack.getItemDamage()); - if(var4 != this.getCollarColor()) { - this.setCollarColor(var4); - if(!par1EntityPlayer.capabilities.isCreativeMode && --itemstack.stackSize <= 0) { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack)null); - } - - return true; - } - } - } - - if(par1EntityPlayer.username.equalsIgnoreCase(this.getOwnerName()) && !super.worldObj.isRemote && !this.isBreedingItem(itemstack)) { - super.aiSit.setSitting(!this.isSitting()); - super.isJumping = false; - this.setPathToEntity((PathEntity)null); - } - } else if(itemstack != null && itemstack.itemID == Item.bone.itemID && !this.isAngry()) { - if(!par1EntityPlayer.capabilities.isCreativeMode) { - --itemstack.stackSize; - } - - if(itemstack.stackSize <= 0) { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack)null); - } - - if(!super.worldObj.isRemote) { - if(super.rand.nextInt(3) == 0) { - this.setTamed(true); - this.setPathToEntity((PathEntity)null); - this.setAttackTarget((EntityLiving)null); - super.aiSit.setSitting(true); - this.setHealth(20); - this.setOwner(par1EntityPlayer.username); - this.playTameEffect(true); - super.worldObj.setEntityState(this, (byte)7); - } else { - this.playTameEffect(false); - super.worldObj.setEntityState(this, (byte)6); - } - } - - return true; - } - - return super.interact(par1EntityPlayer); - } - - @SideOnly(Side.CLIENT) - public void handleHealthUpdate(byte par1) { - if(par1 == 8) { - this.field_70928_h = true; - this.timeWolfIsShaking = 0.0F; - this.prevTimeWolfIsShaking = 0.0F; - } else { - super.handleHealthUpdate(par1); - } - - } - - @SideOnly(Side.CLIENT) - public float getTailRotation() { - return this.isAngry()?1.5393804F:(this.isTamed()?(0.55F - (float)(20 - super.dataWatcher.getWatchableObjectInt(18)) * 0.02F) * 3.1415927F:0.62831855F); - } - - public boolean isBreedingItem(ItemStack par1ItemStack) { - return par1ItemStack == null?false:(!(Item.itemsList[par1ItemStack.itemID] instanceof ItemFood)?false:((ItemFood)Item.itemsList[par1ItemStack.itemID]).isWolfsFavoriteMeat()); - } - - public int getMaxSpawnedInChunk() { - return 8; - } - - public boolean isAngry() { - return (super.dataWatcher.getWatchableObjectByte(16) & 2) != 0; - } - - public void setAngry(boolean par1) { - byte b0 = super.dataWatcher.getWatchableObjectByte(16); - if(par1) { - super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 2))); - } else { - super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -3))); - } - - } - - public int getCollarColor() { - return super.dataWatcher.getWatchableObjectByte(20) & 15; - } - - public void setCollarColor(int par1) { - super.dataWatcher.updateObject(20, Byte.valueOf((byte)(par1 & 15))); - } - - public EntityDesertWolf spawnBabyAnimal(EntityAgeable par1EntityAgeable) { - EntityDesertWolf entitywolf = new EntityDesertWolf(super.worldObj); - String s = this.getOwnerName(); - if(s != null && s.trim().length() > 0) { - entitywolf.setOwner(s); - entitywolf.setTamed(true); - } - - return entitywolf; - } - - public void func_70918_i(boolean par1) { - byte b0 = super.dataWatcher.getWatchableObjectByte(19); - if(par1) { - super.dataWatcher.updateObject(19, Byte.valueOf((byte)1)); - } else { - super.dataWatcher.updateObject(19, Byte.valueOf((byte)0)); - } - - } - - public boolean canMateWith(EntityAnimal par1EntityAnimal) { - if(par1EntityAnimal == this) { - return false; - } else if(!this.isTamed()) { - return false; - } else if(!(par1EntityAnimal instanceof EntityDesertWolf)) { - return false; - } else { - EntityDesertWolf entitywolf = (EntityDesertWolf)par1EntityAnimal; - return !entitywolf.isTamed()?false:(entitywolf.isSitting()?false:this.isInLove() && entitywolf.isInLove()); - } - } - - public boolean func_70922_bv() { - return super.dataWatcher.getWatchableObjectByte(19) == 1; - } - - public EntityAgeable createChild(EntityAgeable par1EntityAgeable) { - return this.spawnBabyAnimal(par1EntityAgeable); - } -} diff --git a/common/rebelkeithy/mods/atum/entities/EntityDustySkeleton.java b/common/rebelkeithy/mods/atum/entities/EntityDustySkeleton.java deleted file mode 100644 index 2449d6d..0000000 --- a/common/rebelkeithy/mods/atum/entities/EntityDustySkeleton.java +++ /dev/null @@ -1,61 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EnumCreatureAttribute; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.entities.IAtumNightMob; - -public class EntityDustySkeleton extends EntityMob implements IAtumNightMob { - - public EntityDustySkeleton(World par1World) { - super(par1World); - super.isImmuneToFire = true; - super.experienceValue = 6; - this.setHealth(20); - } - - public boolean attackEntityFrom(DamageSource par1DamageSource, int par2) { - return super.attackEntityFrom(par1DamageSource, par2); - } - - public boolean getCanSpawnHere() { - return super.worldObj.checkNoEntityCollision(super.boundingBox) && super.worldObj.getCollidingBoundingBoxes(this, super.boundingBox).isEmpty() && !super.worldObj.isAnyLiquid(super.boundingBox); - } - - protected boolean isValidLightLevel() { - return true; - } - - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEAD; - } - - public int getAttackStrength(Entity par1Entity) { - ItemStack itemstack = this.getHeldItem(); - float f = (float) (this.getMaxHealth() - this.getHealth()) / (float) this.getMaxHealth(); - int i = 3 + MathHelper.floor_float(f * 4.0F); - if (itemstack != null) { - // i += itemstack.getDamageVsEntity(this, itemstack); - } - - return i; - } - - public float getSpeedModifier() { - return this.getSpeedModifier() * 1.5F; - } - - protected void dropFewItems(boolean par1, int par2) { - switch (super.rand.nextInt(4)) { - case 0: - int amount = super.rand.nextInt(2) + 1; - this.dropItem(Item.bone.itemID, amount); - default: - } - } -} diff --git a/common/rebelkeithy/mods/atum/entities/EntityGhost.java b/common/rebelkeithy/mods/atum/entities/EntityGhost.java deleted file mode 100644 index 0002654..0000000 --- a/common/rebelkeithy/mods/atum/entities/EntityGhost.java +++ /dev/null @@ -1,104 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EnumCreatureAttribute; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import net.minecraftforge.common.ForgeHooks; -import rebelkeithy.mods.atum.AtumItems; -import rebelkeithy.mods.atum.entities.IAtumNightMob; - -public class EntityGhost extends EntityMob implements IAtumNightMob { - - private int cycleHeight = 0; - private int cycleTime = 100; - - public EntityGhost(World par1World) { - super(par1World); - super.experienceValue = 6; - this.cycleTime = (int) (Math.random() * 40.0D + 80.0D); - this.cycleHeight = (int) (Math.random() * (double) this.cycleTime); - this.setHealth(10); - } - - public boolean isAIEnabled() { - return false; - } - - public float getSpeedModifier() { - return super.entityToAttack == null ? this.getSpeedModifier() * 1.5F : this.getSpeedModifier() * 2.0F; - } - - public void onLivingUpdate() { - this.cycleHeight = (this.cycleHeight + 1) % this.cycleTime; - super.onLivingUpdate(); - } - - public boolean getCanSpawnHere() { - return super.worldObj.checkNoEntityCollision(super.boundingBox) && super.worldObj.getCollidingBoundingBoxes(this, super.boundingBox).isEmpty() && !super.worldObj.isAnyLiquid(super.boundingBox); - } - - protected boolean isValidLightLevel() { - return true; - } - - protected void jump() { - super.motionY = 0.5699999868869782D; - if (this.isPotionActive(Potion.jump)) { - super.motionY += (double) ((float) (this.getActivePotionEffect(Potion.jump).getAmplifier() + 1) * 0.1F); - } - - if (this.isSprinting()) { - float f = super.rotationYaw * 0.017453292F; - super.motionX -= (double) (MathHelper.sin(f) * 0.2F); - super.motionZ += (double) (MathHelper.cos(f) * 0.2F); - } - - super.isAirBorne = true; - ForgeHooks.onLivingJump(this); - } - - protected void playStepSound(int par1, int par2, int par3, int par4) { - } - - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEAD; - } - - public boolean attackEntityFrom(DamageSource par1DamageSource, int par2) { - return super.attackEntityFrom(par1DamageSource, par2); - } - - protected void attackEntity(Entity par1Entity, float par2) { - if (super.attackTime <= 0 && par2 < 2.0F && par1Entity.boundingBox.maxY > super.boundingBox.minY && par1Entity.boundingBox.minY < super.boundingBox.maxY) { - super.attackTime = 20; - this.attackEntityAsMob(par1Entity); - if (Math.random() > 0.75D && par1Entity instanceof EntityLiving) { - EntityLiving e = (EntityLiving) par1Entity; - e.addPotionEffect(new PotionEffect(2, 100, 2)); - } - } - - } - - public int getAttackStrength(Entity par1Entity) { - return 2; - } - - protected void dropFewItems(boolean par1, int par2) { - if (super.rand.nextInt(4) == 0) { - int amount = super.rand.nextInt(3) + 1; - this.dropItem(AtumItems.ectoplasm.itemID, amount); - } - - } - - public double getFloatingHeight() { - return Math.cos(6.283185307179586D * ((double) this.cycleHeight / (double) this.cycleTime)) / 3.0D; - } -} diff --git a/common/rebelkeithy/mods/atum/entities/EntityMummy.java b/common/rebelkeithy/mods/atum/entities/EntityMummy.java deleted file mode 100644 index a398005..0000000 --- a/common/rebelkeithy/mods/atum/entities/EntityMummy.java +++ /dev/null @@ -1,75 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EnumCreatureAttribute; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.item.Item; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumItems; -import rebelkeithy.mods.atum.entities.IAtumNightMob; - -public class EntityMummy extends EntityMob implements IAtumNightMob { - - public EntityMummy(World par1World) { - super(par1World); - super.experienceValue = 8; - this.setHealth(40); - } - @Override - public void entityInit(){ - super.entityInit(); - } - public float getSpeedModifier() { - return this.isBurning() ? this.getSpeedModifier() * 1.4F : this.getSpeedModifier(); - } - - public boolean getCanSpawnHere() { - return super.worldObj.checkNoEntityCollision(super.boundingBox) && super.worldObj.getCollidingBoundingBoxes(this, super.boundingBox).isEmpty() && !super.worldObj.isAnyLiquid(super.boundingBox); - } - - protected boolean isValidLightLevel() { - return true; - } - - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEAD; - } - - public boolean attackEntityFrom(DamageSource par1DamageSource, int par2) { - if (par1DamageSource.isFireDamage()) { - ++par2; - } - - if (this.isBurning()) { - par2 = (int) ((double) par2 * 1.5D); - } - - return super.attackEntityFrom(par1DamageSource, par2); - } - - public boolean attackEntityAsMob(Entity par1Entity) { - boolean flag = super.attackEntityAsMob(par1Entity); - if (flag && this.isBurning() && super.rand.nextFloat() < (float) super.worldObj.difficultySetting * 0.4F) { - par1Entity.setFire(2 * super.worldObj.difficultySetting); - } - - return flag; - } - - public int getAttackStrength(Entity par1Entity) { - return 2; - } - - protected void dropFewItems(boolean par1, int par2) { - if (super.rand.nextInt(4) == 0) { - this.dropItem(Item.rottenFlesh.itemID, 1); - } - - if (super.rand.nextInt(4) == 0) { - int amount = super.rand.nextInt(2) + 1; - this.dropItem(AtumItems.scrap.itemID, amount); - } - - } -} diff --git a/common/rebelkeithy/mods/atum/entities/EntityPharaoh.java b/common/rebelkeithy/mods/atum/entities/EntityPharaoh.java deleted file mode 100644 index 2511add..0000000 --- a/common/rebelkeithy/mods/atum/entities/EntityPharaoh.java +++ /dev/null @@ -1,382 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingData; -import net.minecraft.entity.EnumCreatureAttribute; -import net.minecraft.entity.boss.IBossDisplayData; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.AtumItems; -import rebelkeithy.mods.atum.AtumLoot; -import rebelkeithy.mods.atum.cursedchest.TileEntityPharaohChest; -import cpw.mods.fml.common.FMLCommonHandler; - -public class EntityPharaoh extends EntityMob implements IBossDisplayData { - int linkedX; - int linkedY; - int linkedZ; - - int stage; - - public static String[] prefix = { "Ama'", "Ata'", "Ato'", "Bak'", "Cal'", "Djet'", "Eje'", "For'", "Gol'", "Gut'", "Hop'", "Hor'", "Huni'", "Iam'", "Jor'", "Kal'", "Khas'", "Khor'", "Lat'", "Mal'", "Not'", "Oap'", "Pra'", "Qo'", "Ras'", "Shas'", "Thoth'", "Tui'", "Uld'", "Ver'", "Wot'", "Xo'", "Yat'", "Zyt'", "Khep'" }; - public static String[] suffix = { "Ahat", "Amesh", "Amon", "Anut", "Baroom", "Chanta", "Erant", "Funam", "Daresh", "Djer", "Hotesh", "Khaden", "Kron", "Gorkum", "Ialenter", "Ma'at", "Narmer", "Radeem", "Jaloom", "Lepsha", "Quor", "Oleshet", "Peput", "Talat", "Ulam", "Veresh", "Ranesh", "Snef", "Wollolo", "Hathor", "Intef", "Neferk", "Khatne", "Tepy", "Moret" }; - public static String[] numeral = { "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII", "XIII", "XIV", "XV" }; - - private int suffixID = 0; - private int prefixID = 0; - private int numID = 0; - private int regenTime = 0; - - public EntityPharaoh(World par1World) { - super(par1World); - this.experienceValue = 250; - stage = 0; - this.setHealth(300); - } - - public void setName(int par1, int par2, int par3) { - suffixID = par1; - prefixID = par2; - numID = par3; - this.dataWatcher.updateObject(18, new Integer(suffixID)); - this.dataWatcher.updateObject(19, new Integer(prefixID)); - this.dataWatcher.updateObject(20, new Integer(numID)); - } - - public void link(int x, int y, int z) { - linkedX = x; - linkedY = y; - linkedZ = z; - } - - /** - * Makes the entity despawn if requirements are reached - */ - protected void despawnEntity() { - } - - @Override - public void onDeath(DamageSource par1DamageSource) { - super.onDeath(par1DamageSource); - - if (par1DamageSource.damageType == "player") { - EntityPlayer slayer = (EntityPlayer) par1DamageSource.getEntity(); - if (!worldObj.isRemote) { - List players = FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList; - for (EntityPlayer player : players) { - player.addChatMessage(this.getEntityName() + " was slain by " + slayer.getEntityName()); - } - } - } - - if (linkedX != 0 && linkedY != 0 && linkedZ != 0) { - TileEntity te = worldObj.getBlockTileEntity(linkedX, linkedY, linkedZ); - if (te != null) { - if (te instanceof TileEntityPharaohChest) { - TileEntityPharaohChest tepc = (TileEntityPharaohChest) te; - tepc.setOpenable(); - } - } - } - } - - @Override - public String getEntityName() { - try { - int s = this.dataWatcher.getWatchableObjectInt(18); - int p = this.dataWatcher.getWatchableObjectInt(19); - int n = this.dataWatcher.getWatchableObjectInt(20); - return "Pharaoh " + prefix[p] + suffix[s] + " " + numeral[n]; - } catch (Exception e) { - return ""; - } - - } - - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEAD; - } - - /** - * knocks back this entity - */ - @Override - public void knockBack(Entity par1Entity, float par2, double par3, double par5) { - this.isAirBorne = true; - float f = MathHelper.sqrt_double(par3 * par3 + par5 * par5); - float f1 = 0.3F; - this.motionX /= 2.0D; - this.motionY /= 2.0D; - this.motionZ /= 2.0D; - this.motionX -= par3 / (double) f * (double) f1; - // this.motionY += (double)f1; - this.motionZ -= par5 / (double) f * (double) f1; - - if (this.motionY > 0.4000000059604645D) { - this.motionY = 0.4000000059604645D; - } - } - - @Override - public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { - if (par1DamageSource.isFireDamage()) { - par2 = 0; - } - - if (super.attackEntityFrom(par1DamageSource, par2)) { - if (par1DamageSource.getEntity() != null) { - Entity par1Entity = par1DamageSource.getEntity(); - int j = 0; - if (par1Entity instanceof EntityLiving) { - j += EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, this); - - if (j > 0) { - this.motionX /= 0.6D; - this.motionZ /= 0.6D; - this.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), -0.1D, (double) (-MathHelper.cos(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); - } - } - - } - - if (this.getHealth() < this.getMaxHealth() * 0.75 && stage == 0) { - stage++; - spawnGuards(); - } else if (stage == 1 && this.getHealth() < this.getMaxHealth() * 0.5) { - stage++; - spawnGuards(); - } else if (stage == 2 && this.getHealth() < this.getMaxHealth() * 0.25) { - stage++; - spawnGuards(); - } - return true; - } - - return false; - } - - /** - * Destroys all blocks that aren't associated with 'The End' inside the - * given bounding box. - */ - private boolean destroyBlocksInAABB(AxisAlignedBB par1AxisAlignedBB) { - int minX = MathHelper.floor_double(par1AxisAlignedBB.minX); - int minY = MathHelper.floor_double(par1AxisAlignedBB.minY); - int minZ = MathHelper.floor_double(par1AxisAlignedBB.minZ); - int maxX = MathHelper.floor_double(par1AxisAlignedBB.maxX); - int maxY = MathHelper.floor_double(par1AxisAlignedBB.maxY); - int maxZ = MathHelper.floor_double(par1AxisAlignedBB.maxZ); - boolean flag = false; - boolean flag1 = false; - - for (int x = minX; x <= maxX; ++x) { - for (int y = minY; y <= maxY; ++y) { - for (int z = minZ; z <= maxZ; ++z) { - int id = this.worldObj.getBlockId(x, y, z); - int metadata = this.worldObj.getBlockMetadata(x, y, z); - Block block = Block.blocksList[id]; - - if (block != null) { - if (id != AtumBlocks.largeBrick.blockID && id != AtumBlocks.pharaohChest.blockID && Block.blocksList[id].isBlockSolid(worldObj, x, y, z, 0)) { - Block.blocksList[id].dropBlockAsItem(worldObj, x, y, z, metadata, 0); - flag1 = this.worldObj.setBlockToAir(x, y, z) || flag1; - } - - flag = true; - } - } - } - } - - if (flag1) { - System.out.println("explode"); - double d0 = par1AxisAlignedBB.minX + (par1AxisAlignedBB.maxX - par1AxisAlignedBB.minX) * (double) this.rand.nextFloat(); - double d1 = par1AxisAlignedBB.minY + (par1AxisAlignedBB.maxY - par1AxisAlignedBB.minY) * (double) this.rand.nextFloat(); - double d2 = par1AxisAlignedBB.minZ + (par1AxisAlignedBB.maxZ - par1AxisAlignedBB.minZ) * (double) this.rand.nextFloat(); - this.worldObj.spawnParticle("largeexplode", d0, d1, d2, 0.0D, 0.0D, 0.0D); - } - - return flag; - } - - private void spawnGuards() { - int numSpawned = 0; - - if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ - 1)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX, (int) posY, (int) posZ + 1)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX, (int) posY, (int) posZ - 1)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ + 1)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ - 1)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ + 1)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ - 1)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - } - - public boolean trySpawnMummy(int x, int y, int z) { - EntityMummy mummy1 = new EntityMummy(worldObj); - mummy1.setPosition(x, y, z); - if (mummy1.getCanSpawnHere()) { - if (!worldObj.isRemote) - worldObj.spawnEntityInWorld(mummy1); - mummy1.spawnExplosionParticle(); - return true; - } - - return false; - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - @Override - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - super.writeEntityToNBT(par1NBTTagCompound); - par1NBTTagCompound.setInteger("suffix", dataWatcher.getWatchableObjectInt(18)); - par1NBTTagCompound.setInteger("prefix", dataWatcher.getWatchableObjectInt(19)); - par1NBTTagCompound.setInteger("numeral", dataWatcher.getWatchableObjectInt(20)); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - @Override - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - super.readEntityFromNBT(par1NBTTagCompound); - this.dataWatcher.updateObject(16, this.getHealth()); - suffixID = par1NBTTagCompound.getInteger("suffix"); - prefixID = par1NBTTagCompound.getInteger("prefix"); - numID = par1NBTTagCompound.getInteger("numeral"); - this.dataWatcher.updateObject(18, new Integer(suffixID)); - this.dataWatcher.updateObject(19, new Integer(prefixID)); - this.dataWatcher.updateObject(20, new Integer(numID)); - } - - @Override - public EntityLivingData onSpawnWithEgg(EntityLivingData par1EntityLivingData) { - par1EntityLivingData = super.onSpawnWithEgg(par1EntityLivingData); - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.scepter)); - for (int i = 0; i < this.equipmentDropChances.length; ++i) { - super.equipmentDropChances[i] = 0F; - } - return par1EntityLivingData; - } - - @Override - public void entityInit() { - super.entityInit(); - this.dataWatcher.addObject(16, new Integer(100)); - if (suffixID == 0 && prefixID == 0 && numID == 0) { - suffixID = rand.nextInt(suffix.length); - prefixID = rand.nextInt(prefix.length); - numID = rand.nextInt(numeral.length); - } - this.dataWatcher.addObject(18, new Integer(suffixID)); - this.dataWatcher.addObject(19, new Integer(prefixID)); - this.dataWatcher.addObject(20, new Integer(numID)); - - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() { - super.onUpdate(); - - if (!this.worldObj.isRemote && this.worldObj.difficultySetting == 0) { - TileEntity te = worldObj.getBlockTileEntity(linkedX, linkedY, linkedZ); - if (te instanceof TileEntityPharaohChest) { - ((TileEntityPharaohChest) te).setPharaohDespawned(); - } - this.setDead(); - } - } - - @Override - public void onLivingUpdate() { - if (!this.worldObj.isRemote) { - this.dataWatcher.updateObject(16, this.getHealth()); - } - - if (regenTime++ > 30) { - regenTime = 0; - this.heal(1); - } - - super.onLivingUpdate(); - - if (!worldObj.isRemote) - this.destroyBlocksInAABB(this.boundingBox.expand(0.1, 0, 0.1)); - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity - * has recently been hit by a player. @param par2 - Level of Looting used to - * kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) { - int amount = rand.nextInt(2) + 1; - this.dropItem(Item.ingotGold.itemID, amount); - - this.entityDropItem(AtumLoot.getRandomArtifact(), 0.0F); - - } -} \ No newline at end of file diff --git a/common/rebelkeithy/mods/atum/entities/EntityStone.java b/common/rebelkeithy/mods/atum/entities/EntityStone.java deleted file mode 100644 index e190c12..0000000 --- a/common/rebelkeithy/mods/atum/entities/EntityStone.java +++ /dev/null @@ -1,19 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.world.World; - -public class EntityStone extends EntityMob { - - public EntityStone(World par1World) { - super(par1World); - this.setHealth(10); - } - - public boolean isPotionApplicable(PotionEffect par1PotionEffect) { - int i = par1PotionEffect.getPotionID(); - return i != Potion.poison.id; - } -} diff --git a/common/rebelkeithy/mods/atum/entities/EntityStoneSoldier.java b/common/rebelkeithy/mods/atum/entities/EntityStoneSoldier.java deleted file mode 100644 index 1f91b86..0000000 --- a/common/rebelkeithy/mods/atum/entities/EntityStoneSoldier.java +++ /dev/null @@ -1,97 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EnumCreatureAttribute; -import net.minecraft.item.ItemStack; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.AtumItems; -import rebelkeithy.mods.atum.entities.EntityStone; -import rebelkeithy.mods.atum.entities.IAtumDayMob; -import rebelkeithy.mods.atum.entities.IAtumNightMob; - -public class EntityStoneSoldier extends EntityStone implements IAtumNightMob, IAtumDayMob { - - public EntityStoneSoldier(World par1World) { - super(par1World); - super.isImmuneToFire = true; - super.experienceValue = 8; - this.setHealth(80); - } - - public void initCreature() { - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.stoneSoldierSword)); - - for (int i = 0; i < super.equipmentDropChances.length; ++i) { - super.equipmentDropChances[i] = 0.0F; - } - - } - - public float getSpeedModifier() { - return this.getSpeedModifier() * 0.5F; - } - - public boolean getCanSpawnHere() { - return super.worldObj.checkNoEntityCollision(super.boundingBox) && super.worldObj.getCollidingBoundingBoxes(this, super.boundingBox).isEmpty() && !super.worldObj.isAnyLiquid(super.boundingBox); - } - - protected boolean isValidLightLevel() { - return true; - } - - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEFINED; - } - - public boolean attackEntityFrom(DamageSource par1DamageSource, int par2) { - if (super.attackEntityFrom(par1DamageSource, par2)) { - if (par1DamageSource.getEntity() != null) { - Entity par1Entity = par1DamageSource.getEntity(); - byte j = 0; - if (par1Entity instanceof EntityLiving) { - int j1 = j + EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, this); - if (j1 > 0) { - super.motionX /= 0.6D; - super.motionZ /= 0.6D; - this.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * 3.1415927F / 180.0F) * (float) j1 * 0.5F), -0.1D, (double) (-MathHelper.cos(par1Entity.rotationYaw * 3.1415927F / 180.0F) * (float) j1 * 0.5F)); - } - } - } - - return true; - } else { - return false; - } - } - - public void knockBack(Entity par1Entity, int par2, double par3, double par5) { - super.isAirBorne = true; - float f = MathHelper.sqrt_double(par3 * par3 + par5 * par5); - float f1 = 0.2F; - super.motionX /= 2.0D; - super.motionY /= 2.0D; - super.motionZ /= 2.0D; - super.motionX -= par3 / (double) f * (double) f1; - super.motionZ -= par5 / (double) f * (double) f1; - if (super.motionY > 0.4000000059604645D) { - super.motionY = 0.4000000059604645D; - } - - } - - protected void dropFewItems(boolean par1, int par2) { - if (super.rand.nextInt(4) == 0) { - int amount = super.rand.nextInt(2) + 1; - this.dropItem(AtumItems.stoneChunk.itemID, amount); - } - - } - - public int getAttackStrength(Entity par1Entity) { - return 4; - } -} diff --git a/common/rebelkeithy/mods/atum/entities/IAtumDayMob.java b/common/rebelkeithy/mods/atum/entities/IAtumDayMob.java deleted file mode 100644 index 76a4e3b..0000000 --- a/common/rebelkeithy/mods/atum/entities/IAtumDayMob.java +++ /dev/null @@ -1,5 +0,0 @@ -package rebelkeithy.mods.atum.entities; - - -public interface IAtumDayMob { -} diff --git a/common/rebelkeithy/mods/atum/entities/IAtumNightMob.java b/common/rebelkeithy/mods/atum/entities/IAtumNightMob.java deleted file mode 100644 index 5065e94..0000000 --- a/common/rebelkeithy/mods/atum/entities/IAtumNightMob.java +++ /dev/null @@ -1,5 +0,0 @@ -package rebelkeithy.mods.atum.entities; - - -public interface IAtumNightMob { -} diff --git a/common/rebelkeithy/mods/atum/entities/ModelDesertWolf.java b/common/rebelkeithy/mods/atum/entities/ModelDesertWolf.java deleted file mode 100644 index 15e2948..0000000 --- a/common/rebelkeithy/mods/atum/entities/ModelDesertWolf.java +++ /dev/null @@ -1,142 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.util.MathHelper; -import org.lwjgl.opengl.GL11; -import rebelkeithy.mods.atum.entities.EntityDesertWolf; - -@SideOnly(Side.CLIENT) -public class ModelDesertWolf extends ModelBase { - - public ModelRenderer wolfHeadMain; - public ModelRenderer wolfBody; - public ModelRenderer wolfLeg1; - public ModelRenderer wolfLeg2; - public ModelRenderer wolfLeg3; - public ModelRenderer wolfLeg4; - ModelRenderer wolfTail; - ModelRenderer wolfMane; - - - public ModelDesertWolf() { - float f = 0.0F; - float f1 = 13.5F; - this.wolfHeadMain = new ModelRenderer(this, 0, 0); - this.wolfHeadMain.addBox(-3.0F, -3.0F, -2.0F, 6, 6, 4, f); - this.wolfHeadMain.setRotationPoint(-1.0F, f1, -7.0F); - this.wolfBody = new ModelRenderer(this, 18, 14); - this.wolfBody.addBox(-4.0F, -2.0F, -3.0F, 6, 9, 6, f); - this.wolfBody.setRotationPoint(0.0F, 14.0F, 2.0F); - this.wolfMane = new ModelRenderer(this, 21, 0); - this.wolfMane.addBox(-4.0F, -3.0F, -3.0F, 8, 6, 7, f); - this.wolfMane.setRotationPoint(-1.0F, 14.0F, 2.0F); - this.wolfLeg1 = new ModelRenderer(this, 0, 18); - this.wolfLeg1.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); - this.wolfLeg1.setRotationPoint(-2.5F, 16.0F, 7.0F); - this.wolfLeg2 = new ModelRenderer(this, 0, 18); - this.wolfLeg2.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); - this.wolfLeg2.setRotationPoint(0.5F, 16.0F, 7.0F); - this.wolfLeg3 = new ModelRenderer(this, 0, 18); - this.wolfLeg3.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); - this.wolfLeg3.setRotationPoint(-2.5F, 16.0F, -4.0F); - this.wolfLeg4 = new ModelRenderer(this, 0, 18); - this.wolfLeg4.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); - this.wolfLeg4.setRotationPoint(0.5F, 16.0F, -4.0F); - this.wolfTail = new ModelRenderer(this, 9, 18); - this.wolfTail.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); - this.wolfTail.setRotationPoint(-1.0F, 12.0F, 8.0F); - this.wolfHeadMain.setTextureOffset(16, 14).addBox(-3.0F, -5.0F, 0.0F, 2, 2, 1, f); - this.wolfHeadMain.setTextureOffset(16, 14).addBox(1.0F, -5.0F, 0.0F, 2, 2, 1, f); - this.wolfHeadMain.setTextureOffset(0, 10).addBox(-1.5F, 0.0F, -5.0F, 3, 3, 4, f); - } - - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - super.render(par1Entity, par2, par3, par4, par5, par6, par7); - this.setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); - if(super.isChild) { - float f6 = 2.0F; - GL11.glPushMatrix(); - GL11.glTranslatef(0.0F, 5.0F * par7, 2.0F * par7); - this.wolfHeadMain.renderWithRotation(par7); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(1.0F / f6, 1.0F / f6, 1.0F / f6); - GL11.glTranslatef(0.0F, 24.0F * par7, 0.0F); - this.wolfBody.render(par7); - this.wolfLeg1.render(par7); - this.wolfLeg2.render(par7); - this.wolfLeg3.render(par7); - this.wolfLeg4.render(par7); - this.wolfTail.renderWithRotation(par7); - this.wolfMane.render(par7); - GL11.glPopMatrix(); - } else { - this.wolfHeadMain.renderWithRotation(par7); - this.wolfBody.render(par7); - this.wolfLeg1.render(par7); - this.wolfLeg2.render(par7); - this.wolfLeg3.render(par7); - this.wolfLeg4.render(par7); - this.wolfTail.renderWithRotation(par7); - this.wolfMane.render(par7); - } - - } - - public void setLivingAnimations(EntityLiving par1EntityLiving, float par2, float par3, float par4) { - EntityDesertWolf entitywolf = (EntityDesertWolf)par1EntityLiving; - if(entitywolf.isAngry()) { - this.wolfTail.rotateAngleY = 0.0F; - } else { - this.wolfTail.rotateAngleY = MathHelper.cos(par2 * 0.6662F) * 1.4F * par3; - } - - if(entitywolf.isSitting()) { - this.wolfMane.setRotationPoint(-1.0F, 16.0F, -3.0F); - this.wolfMane.rotateAngleX = 1.2566371F; - this.wolfMane.rotateAngleY = 0.0F; - this.wolfBody.setRotationPoint(0.0F, 18.0F, 0.0F); - this.wolfBody.rotateAngleX = 0.7853982F; - this.wolfTail.setRotationPoint(-1.0F, 21.0F, 6.0F); - this.wolfLeg1.setRotationPoint(-2.5F, 22.0F, 2.0F); - this.wolfLeg1.rotateAngleX = 4.712389F; - this.wolfLeg2.setRotationPoint(0.5F, 22.0F, 2.0F); - this.wolfLeg2.rotateAngleX = 4.712389F; - this.wolfLeg3.rotateAngleX = 5.811947F; - this.wolfLeg3.setRotationPoint(-2.49F, 17.0F, -4.0F); - this.wolfLeg4.rotateAngleX = 5.811947F; - this.wolfLeg4.setRotationPoint(0.51F, 17.0F, -4.0F); - } else { - this.wolfBody.setRotationPoint(0.0F, 14.0F, 2.0F); - this.wolfBody.rotateAngleX = 1.5707964F; - this.wolfMane.setRotationPoint(-1.0F, 14.0F, -3.0F); - this.wolfMane.rotateAngleX = this.wolfBody.rotateAngleX; - this.wolfTail.setRotationPoint(-1.0F, 12.0F, 8.0F); - this.wolfLeg1.setRotationPoint(-2.5F, 16.0F, 7.0F); - this.wolfLeg2.setRotationPoint(0.5F, 16.0F, 7.0F); - this.wolfLeg3.setRotationPoint(-2.5F, 16.0F, -4.0F); - this.wolfLeg4.setRotationPoint(0.5F, 16.0F, -4.0F); - this.wolfLeg1.rotateAngleX = MathHelper.cos(par2 * 0.6662F) * 1.4F * par3; - this.wolfLeg2.rotateAngleX = MathHelper.cos(par2 * 0.6662F + 3.1415927F) * 1.4F * par3; - this.wolfLeg3.rotateAngleX = MathHelper.cos(par2 * 0.6662F + 3.1415927F) * 1.4F * par3; - this.wolfLeg4.rotateAngleX = MathHelper.cos(par2 * 0.6662F) * 1.4F * par3; - } - - this.wolfHeadMain.rotateAngleZ = entitywolf.getInterestedAngle(par4) + entitywolf.getShakeAngle(par4, 0.0F); - this.wolfMane.rotateAngleZ = entitywolf.getShakeAngle(par4, -0.08F); - this.wolfBody.rotateAngleZ = entitywolf.getShakeAngle(par4, -0.16F); - this.wolfTail.rotateAngleZ = entitywolf.getShakeAngle(par4, -0.2F); - } - - public void setRotationAngles(float par1, float par2, float par3, float par4, float par5, float par6, Entity par7Entity) { - super.setRotationAngles(par1, par2, par3, par4, par5, par6, par7Entity); - this.wolfHeadMain.rotateAngleX = par5 / 57.295776F; - this.wolfHeadMain.rotateAngleY = par4 / 57.295776F; - this.wolfTail.rotateAngleX = par3; - } -} diff --git a/common/rebelkeithy/mods/atum/entities/ModelDustySkeleton.java b/common/rebelkeithy/mods/atum/entities/ModelDustySkeleton.java deleted file mode 100644 index 2e88aa6..0000000 --- a/common/rebelkeithy/mods/atum/entities/ModelDustySkeleton.java +++ /dev/null @@ -1,32 +0,0 @@ -package rebelkeithy.mods.atum.entities; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.client.model.ModelZombie; - -@SideOnly(Side.CLIENT) -public class ModelDustySkeleton extends ModelZombie { - - public ModelDustySkeleton() { - this(0.0F); - } - - public ModelDustySkeleton(float par1) { - super(par1, 0.0F, 64, 32); - super.bipedRightArm = new ModelRenderer(this, 40, 16); - super.bipedRightArm.addBox(-1.0F, -2.0F, -1.0F, 2, 12, 2, par1); - super.bipedRightArm.setRotationPoint(-5.0F, 2.0F, 0.0F); - super.bipedLeftArm = new ModelRenderer(this, 40, 16); - super.bipedLeftArm.mirror = true; - super.bipedLeftArm.addBox(-1.0F, -2.0F, -1.0F, 2, 12, 2, par1); - super.bipedLeftArm.setRotationPoint(5.0F, 2.0F, 0.0F); - super.bipedRightLeg = new ModelRenderer(this, 0, 16); - super.bipedRightLeg.addBox(-1.0F, 0.0F, -1.0F, 2, 12, 2, par1); - super.bipedRightLeg.setRotationPoint(-2.0F, 12.0F, 0.0F); - super.bipedLeftLeg = new ModelRenderer(this, 0, 16); - super.bipedLeftLeg.mirror = true; - super.bipedLeftLeg.addBox(-1.0F, 0.0F, -1.0F, 2, 12, 2, par1); - super.bipedLeftLeg.setRotationPoint(2.0F, 12.0F, 0.0F); - } -} diff --git a/common/rebelkeithy/mods/atum/entities/projectiles/EntityFireSpearCombined.java b/common/rebelkeithy/mods/atum/entities/projectiles/EntityFireSpearCombined.java deleted file mode 100644 index eb70171..0000000 --- a/common/rebelkeithy/mods/atum/entities/projectiles/EntityFireSpearCombined.java +++ /dev/null @@ -1,478 +0,0 @@ -package rebelkeithy.mods.atum.entities.projectiles; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.enchantment.EnchantmentThorns; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IProjectile; -import net.minecraft.entity.monster.EntityEnderman; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import cpw.mods.fml.common.registry.IThrowableEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class EntityFireSpearCombined extends Entity implements IProjectile, IThrowableEntity { - - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private int inTile = 0; - private int inData = 0; - private boolean inGround = false; - public int canBePickedUp = 0; - public int arrowShake = 0; - public Entity shootingEntity; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - private int knockbackStrength; - - - public EntityFireSpearCombined(World par1World) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - } - - public EntityFireSpearCombined(World par1World, double par2, double par4, double par6) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - super.yOffset = 0.0F; - } - - public EntityFireSpearCombined(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - super.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - super.posY; - double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); - if(d3 >= 1.0E-7D) { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / 3.141592653589793D) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / 3.141592653589793D)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, super.posY, par2EntityLiving.posZ + d5, f2, f3); - super.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); - } - - } - - public EntityFireSpearCombined(World par1World, EntityLivingBase par2EntityLiving, float par3) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - super.posX -= (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); - super.posY -= 0.10000000149011612D; - super.posZ -= (double)(MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); - this.setPosition(super.posX, super.posY, super.posZ); - super.yOffset = 0.0F; - super.motionX = (double)(-MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); - super.motionZ = (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); - super.motionY = (double)(-MathHelper.sin(super.rotationPitch / 180.0F * 3.1415927F)); - this.setThrowableHeading(super.motionX, super.motionY, super.motionZ, par3 * 1.5F, 1.0F); - } - - protected void entityInit() { - super.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; - par3 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; - par5 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; - super.motionX = par1; - super.motionY = par3; - super.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / 3.141592653589793D); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - public void setVelocity(double par1, double par3, double par5) { - super.motionX = par1; - super.motionY = par3; - super.motionZ = par5; - if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch; - super.prevRotationYaw = super.rotationYaw; - this.setLocationAndAngles(super.posX, super.posY, super.posZ, super.rotationYaw, super.rotationPitch); - this.ticksInGround = 0; - } - - } - - public void onUpdate() { - super.onUpdate(); - if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { - float i = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); - super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(super.motionY, (double)i) * 180.0D / 3.141592653589793D); - } - - int var19 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - if(var19 > 0) { - Block.blocksList[var19].setBlockBoundsBasedOnState(super.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB position = Block.blocksList[var19].getCollisionBoundingBoxFromPool(super.worldObj, this.xTile, this.yTile, this.zTile); - if(position != null && position.isVecInside(super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ))) { - this.inGround = true; - } - } - - if(this.arrowShake > 0) { - --this.arrowShake; - } - - if(this.inGround) { - int var20 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - int new_position = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - if(var20 == this.inTile && new_position == this.inData) { - ++this.ticksInGround; - if(this.ticksInGround == 1200) { - this.setDead(); - } - } else { - this.inGround = false; - super.motionX *= (double)(super.rand.nextFloat() * 0.2F); - super.motionY *= (double)(super.rand.nextFloat() * 0.2F); - super.motionZ *= (double)(super.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } else { - ++this.ticksInAir; - Vec3 var21 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); - Vec3 var22 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); - MovingObjectPosition movingobjectposition = super.worldObj.rayTraceBlocks_do_do(var21, var22, false, true); - var21 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); - var22 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); - if(movingobjectposition != null) { - var22 = super.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = super.worldObj.getEntitiesWithinAABBExcludingEntity(this, super.boundingBox.addCoord(super.motionX, super.motionY, super.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - - int l; - float f1; - double prevMotionY; - for(l = 0; l < list.size(); ++l) { - Entity f2 = (Entity)list.get(l); - if(f2.canBeCollidedWith() && (f2 != this.shootingEntity || this.ticksInAir >= 5)) { - f1 = 0.3F; - AxisAlignedBB f3 = f2.boundingBox.expand((double)f1, (double)f1, (double)f1); - MovingObjectPosition f4 = f3.calculateIntercept(var21, var22); - if(f4 != null) { - prevMotionY = var21.distanceTo(f4.hitVec); - if(prevMotionY < d0 || d0 == 0.0D) { - entity = f2; - d0 = prevMotionY; - } - } - } - } - - if(entity != null) { - movingobjectposition = new MovingObjectPosition(entity); - } - - if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { - EntityPlayer var23 = (EntityPlayer)movingobjectposition.entityHit; - if(var23.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(var23)) { - movingobjectposition = null; - } - } - - float var25; - float var24; - if(movingobjectposition != null) { - if(movingobjectposition.entityHit != null) { - var25 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); - int var26 = MathHelper.ceiling_double_int((double)var25 * this.damage); - if(this.getIsCritical()) { - var26 += super.rand.nextInt(var26 / 2 + 2); - } - - DamageSource var28 = null; - if(this.shootingEntity == null) { - var28 = DamageSource.causeThrownDamage(this, this); - } else { - var28 = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { - movingobjectposition.entityHit.setFire(5); - } - - if(movingobjectposition.entityHit.attackEntityFrom(var28, var26)) { - if(movingobjectposition.entityHit instanceof EntityLiving) { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; - if(!super.worldObj.isRemote) { - entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); - } - - if(this.knockbackStrength > 0) { - var24 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); - if(var24 > 0.0F) { - movingobjectposition.entityHit.addVelocity(super.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)var24, 0.1D, super.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)var24); - } - } - - if(this.shootingEntity != null) { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, super.rand); - } - - if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); - } - } - - this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); - if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { - this.setDead(); - } - } else { - super.motionX *= -0.10000000149011612D; - super.motionY *= -0.10000000149011612D; - super.motionZ *= -0.10000000149011612D; - super.rotationYaw += 180.0F; - super.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } else { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - this.inData = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - super.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - super.posX)); - super.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - super.posY)); - super.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - super.posZ)); - var25 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); - super.posX -= super.motionX / (double)var25 * 0.05D; - super.posY -= super.motionY / (double)var25 * 0.05D; - super.posZ -= super.motionZ / (double)var25 * 0.05D; - this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - if(this.inTile != 0) { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(super.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } - } - - if(this.getIsCritical()) { - for(l = 0; l < 4; ++l) { - super.worldObj.spawnParticle("crit", super.posX + super.motionX * (double)l / 4.0D, super.posY + super.motionY * (double)l / 4.0D, super.posZ + super.motionZ * (double)l / 4.0D, -super.motionX, -super.motionY + 0.2D, -super.motionZ); - } - } - - super.posX += super.motionX; - super.posY += super.motionY; - super.posZ += super.motionZ; - var25 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); - super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); - - for(super.rotationPitch = (float)(Math.atan2(super.motionY, (double)var25) * 180.0D / 3.141592653589793D); super.rotationPitch - super.prevRotationPitch < -180.0F; super.prevRotationPitch -= 360.0F) { - ; - } - - while(super.rotationPitch - super.prevRotationPitch >= 180.0F) { - super.prevRotationPitch += 360.0F; - } - - while(super.rotationYaw - super.prevRotationYaw < -180.0F) { - super.prevRotationYaw -= 360.0F; - } - - while(super.rotationYaw - super.prevRotationYaw >= 180.0F) { - super.prevRotationYaw += 360.0F; - } - - super.rotationPitch = super.prevRotationPitch + (super.rotationPitch - super.prevRotationPitch) * 0.2F; - super.rotationYaw = super.prevRotationYaw + (super.rotationYaw - super.prevRotationYaw) * 0.2F; - float var27 = 0.99F; - f1 = 0.05F; - if(this.isInWater()) { - for(int var29 = 0; var29 < 4; ++var29) { - var24 = 0.25F; - super.worldObj.spawnParticle("bubble", super.posX - super.motionX * (double)var24, super.posY - super.motionY * (double)var24, super.posZ - super.motionZ * (double)var24, super.motionX, super.motionY, super.motionZ); - } - - var27 = 0.8F; - } - - prevMotionY = super.motionY; - super.motionX *= (double)var27; - super.motionY *= (double)var27; - super.motionZ *= (double)var27; - super.motionY -= (double)f1; - this.setPosition(super.posX, super.posY, super.posZ); - if(Math.random() > 0.0D) { - super.worldObj.spawnParticle("flame", super.posX + Math.random() * 0.5D - 0.25D, super.posY + Math.random() * 0.5D - 0.25D, super.posZ + Math.random() * 0.5D - 0.25D, 0.0D, 0.0D, 0.0D); - super.worldObj.spawnParticle("smoke", super.posX + Math.random() * 0.5D - 0.25D, super.posY + Math.random() * 0.5D - 0.25D, super.posZ + Math.random() * 0.5D - 0.25D, 0.0D, 0.0D, 0.0D); - } - - if(this.ticksInAir > 10 && super.motionY < 0.0D) { - EntityFireSpearSeperated spear1 = new EntityFireSpearSeperated(this, 0.1F, 0.0F, 0.1F); - EntityFireSpearSeperated spear2 = new EntityFireSpearSeperated(this, -0.1F, 0.0F, -0.1F); - EntityFireSpearSeperated spear3 = new EntityFireSpearSeperated(this, 0.0F, 0.0F, 0.0F); - if(!super.worldObj.isRemote) { - super.worldObj.spawnEntityInWorld(spear1); - super.worldObj.spawnEntityInWorld(spear2); - super.worldObj.spawnEntityInWorld(spear3); - this.setDead(); - } - } - - this.doBlockCollisions(); - } - - } - - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround?1:0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - } - - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - if(par1NBTTagCompound.hasKey("damage")) { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if(par1NBTTagCompound.hasKey("pickup")) { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } else if(par1NBTTagCompound.hasKey("player")) { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player")?1:0; - } - - } - - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { - if(!super.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { - flag = false; - } - - if(flag) { - this.playSound("random.pop", 0.2F, ((super.rand.nextFloat() - super.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - - } - - protected boolean canTriggerWalking() { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() { - return 0.0F; - } - - public void setDamage(double par1) { - this.damage = par1; - } - - public double getDamage() { - return this.damage; - } - - public void setKnockbackStrength(int par1) { - this.knockbackStrength = par1; - } - - public boolean canAttackWithItem() { - return false; - } - - public void setIsCritical(boolean par1) { - byte b0 = super.dataWatcher.getWatchableObjectByte(16); - if(par1) { - super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } else { - super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } - - } - - public boolean getIsCritical() { - byte b0 = super.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - public Entity getThrower() { - return this.shootingEntity; - } - - public void setThrower(Entity entity) { - this.shootingEntity = entity; - } -} diff --git a/common/rebelkeithy/mods/atum/entities/projectiles/EntityFireSpearSeperated.java b/common/rebelkeithy/mods/atum/entities/projectiles/EntityFireSpearSeperated.java deleted file mode 100644 index a24576f..0000000 --- a/common/rebelkeithy/mods/atum/entities/projectiles/EntityFireSpearSeperated.java +++ /dev/null @@ -1,482 +0,0 @@ -package rebelkeithy.mods.atum.entities.projectiles; - -import cpw.mods.fml.common.registry.IThrowableEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.enchantment.EnchantmentThorns; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IProjectile; -import net.minecraft.entity.monster.EntityEnderman; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.entities.projectiles.EntityFireSpearCombined; - -public class EntityFireSpearSeperated extends Entity implements IProjectile, IThrowableEntity { - - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private int inTile = 0; - private int inData = 0; - private boolean inGround = false; - public int canBePickedUp = 0; - public int arrowShake = 0; - public Entity shootingEntity; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - private int knockbackStrength; - - - public EntityFireSpearSeperated(EntityFireSpearCombined spear, float dmx, float dmy, float dmz) { - super(spear.worldObj); - this.setPosition(spear.posX, spear.posY, spear.posZ); - super.renderDistanceWeight = spear.renderDistanceWeight; - this.shootingEntity = spear.shootingEntity; - this.canBePickedUp = spear.canBePickedUp; - super.lastTickPosX = spear.lastTickPosX; - super.lastTickPosY = spear.lastTickPosY; - super.lastTickPosZ = spear.lastTickPosZ; - super.rotationYaw = spear.rotationYaw; - super.rotationPitch = spear.rotationPitch; - super.motionX = spear.motionX + (double)dmx; - super.motionY = spear.motionY + (double)dmy; - super.motionZ = spear.motionZ + (double)dmz; - } - - public EntityFireSpearSeperated(World par1World) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setSize(0.5F, 0.5F); - } - - public EntityFireSpearSeperated(World par1World, double par2, double par4, double par6) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - super.yOffset = 0.0F; - } - - public EntityFireSpearSeperated(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - super.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - super.posY; - double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); - if(d3 >= 1.0E-7D) { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / 3.141592653589793D) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / 3.141592653589793D)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, super.posY, par2EntityLiving.posZ + d5, f2, f3); - super.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); - } - - } - - public EntityFireSpearSeperated(World par1World, EntityLivingBase par2EntityLiving, float par3) { - super(par1World); - super.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - super.posX -= (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); - super.posY -= 0.10000000149011612D; - super.posZ -= (double)(MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * 0.16F); - this.setPosition(super.posX, super.posY, super.posZ); - super.yOffset = 0.0F; - super.motionX = (double)(-MathHelper.sin(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); - super.motionZ = (double)(MathHelper.cos(super.rotationYaw / 180.0F * 3.1415927F) * MathHelper.cos(super.rotationPitch / 180.0F * 3.1415927F)); - super.motionY = (double)(-MathHelper.sin(super.rotationPitch / 180.0F * 3.1415927F)); - this.setThrowableHeading(super.motionX, super.motionY, super.motionZ, par3 * 1.5F, 1.0F); - } - - protected void entityInit() { - super.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; - par3 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; - par5 += super.rand.nextGaussian() * (double)(super.rand.nextBoolean()?-1:1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; - super.motionX = par1; - super.motionY = par3; - super.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / 3.141592653589793D); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - public void setVelocity(double par1, double par3, double par5) { - super.motionX = par1; - super.motionY = par3; - super.motionZ = par5; - if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch; - super.prevRotationYaw = super.rotationYaw; - this.setLocationAndAngles(super.posX, super.posY, super.posZ, super.rotationYaw, super.rotationPitch); - this.ticksInGround = 0; - } - - } - - public void onUpdate() { - super.onUpdate(); - if(super.prevRotationPitch == 0.0F && super.prevRotationYaw == 0.0F) { - float i = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); - super.prevRotationYaw = super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); - super.prevRotationPitch = super.rotationPitch = (float)(Math.atan2(super.motionY, (double)i) * 180.0D / 3.141592653589793D); - } - - int var16 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - if(var16 > 0) { - Block.blocksList[var16].setBlockBoundsBasedOnState(super.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB vec3 = Block.blocksList[var16].getCollisionBoundingBoxFromPool(super.worldObj, this.xTile, this.yTile, this.zTile); - if(vec3 != null && vec3.isVecInside(super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ))) { - this.inGround = true; - } - } - - if(this.arrowShake > 0) { - --this.arrowShake; - } - - if(this.inGround) { - int var17 = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - int vec31 = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - if(var17 == this.inTile && vec31 == this.inData) { - ++this.ticksInGround; - if(this.ticksInGround == 1200) { - this.setDead(); - } - } else { - this.inGround = false; - super.motionX *= (double)(super.rand.nextFloat() * 0.2F); - super.motionY *= (double)(super.rand.nextFloat() * 0.2F); - super.motionZ *= (double)(super.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } else { - ++this.ticksInAir; - Vec3 var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); - Vec3 var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); - MovingObjectPosition movingobjectposition = super.worldObj.rayTraceBlocks_do_do(var18, var19, false, true); - var18 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX, super.posY, super.posZ); - var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(super.posX + super.motionX, super.posY + super.motionY, super.posZ + super.motionZ); - if(movingobjectposition != null) { - var19 = super.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = super.worldObj.getEntitiesWithinAABBExcludingEntity(this, super.boundingBox.addCoord(super.motionX, super.motionY, super.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - - int l; - float f1; - for(l = 0; l < list.size(); ++l) { - Entity f2 = (Entity)list.get(l); - if(f2.canBeCollidedWith() && (f2 != this.shootingEntity || this.ticksInAir >= 5)) { - f1 = 0.3F; - AxisAlignedBB f3 = f2.boundingBox.expand((double)f1, (double)f1, (double)f1); - MovingObjectPosition f4 = f3.calculateIntercept(var18, var19); - if(f4 != null) { - double j1 = var18.distanceTo(f4.hitVec); - if(j1 < d0 || d0 == 0.0D) { - entity = f2; - d0 = j1; - } - } - } - } - - if(entity != null) { - movingobjectposition = new MovingObjectPosition(entity); - } - - if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { - EntityPlayer var20 = (EntityPlayer)movingobjectposition.entityHit; - if(var20.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(var20)) { - movingobjectposition = null; - } - } - - float var21; - float var22; - if(movingobjectposition != null) { - if(movingobjectposition.entityHit != null) { - var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); - int var23 = MathHelper.ceiling_double_int((double)var22 * this.damage); - if(this.getIsCritical()) { - var23 += super.rand.nextInt(var23 / 2 + 2); - } - - DamageSource var24 = null; - if(this.shootingEntity == null) { - var24 = DamageSource.causeThrownDamage(this, this); - } else { - var24 = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { - movingobjectposition.entityHit.setFire(5); - } - - if(movingobjectposition.entityHit.attackEntityFrom(var24, var23)) { - if(movingobjectposition.entityHit instanceof EntityLiving) { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; - if(!super.worldObj.isRemote) { - entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); - } - - if(this.knockbackStrength > 0) { - var21 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); - if(var21 > 0.0F) { - movingobjectposition.entityHit.addVelocity(super.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21, 0.1D, super.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)var21); - } - } - - if(this.shootingEntity != null) { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, super.rand); - } - - if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); - } - } - - this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); - if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { - this.setDead(); - } - } else { - super.motionX *= -0.10000000149011612D; - super.motionY *= -0.10000000149011612D; - super.motionZ *= -0.10000000149011612D; - super.rotationYaw += 180.0F; - super.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } else { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = super.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - this.inData = super.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - super.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - super.posX)); - super.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - super.posY)); - super.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - super.posZ)); - var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionY * super.motionY + super.motionZ * super.motionZ); - super.posX -= super.motionX / (double)var22 * 0.05000000074505806D; - super.posY -= super.motionY / (double)var22 * 0.05000000074505806D; - super.posZ -= super.motionZ / (double)var22 * 0.05000000074505806D; - this.playSound("random.bowhit", 1.0F, 1.2F / (super.rand.nextFloat() * 0.2F + 0.9F)); - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - if(this.inTile != 0) { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(super.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } - } - - if(this.getIsCritical()) { - for(l = 0; l < 4; ++l) { - super.worldObj.spawnParticle("crit", super.posX + super.motionX * (double)l / 4.0D, super.posY + super.motionY * (double)l / 4.0D, super.posZ + super.motionZ * (double)l / 4.0D, -super.motionX, -super.motionY + 0.2D, -super.motionZ); - } - } - - super.posX += super.motionX; - super.posY += super.motionY; - super.posZ += super.motionZ; - var22 = MathHelper.sqrt_double(super.motionX * super.motionX + super.motionZ * super.motionZ); - super.rotationYaw = (float)(Math.atan2(super.motionX, super.motionZ) * 180.0D / 3.141592653589793D); - - for(super.rotationPitch = (float)(Math.atan2(super.motionY, (double)var22) * 180.0D / 3.141592653589793D); super.rotationPitch - super.prevRotationPitch < -180.0F; super.prevRotationPitch -= 360.0F) { - ; - } - - while(super.rotationPitch - super.prevRotationPitch >= 180.0F) { - super.prevRotationPitch += 360.0F; - } - - while(super.rotationYaw - super.prevRotationYaw < -180.0F) { - super.prevRotationYaw -= 360.0F; - } - - while(super.rotationYaw - super.prevRotationYaw >= 180.0F) { - super.prevRotationYaw += 360.0F; - } - - super.rotationPitch = super.prevRotationPitch + (super.rotationPitch - super.prevRotationPitch) * 0.2F; - super.rotationYaw = super.prevRotationYaw + (super.rotationYaw - super.prevRotationYaw) * 0.2F; - float var25 = 0.99F; - f1 = 0.05F; - if(this.isInWater()) { - for(int var26 = 0; var26 < 4; ++var26) { - var21 = 0.25F; - super.worldObj.spawnParticle("bubble", super.posX - super.motionX * (double)var21, super.posY - super.motionY * (double)var21, super.posZ - super.motionZ * (double)var21, super.motionX, super.motionY, super.motionZ); - } - - var25 = 0.8F; - } - - super.motionX *= (double)var25; - super.motionY *= (double)var25; - super.motionZ *= (double)var25; - super.motionY -= (double)f1; - this.setPosition(super.posX, super.posY, super.posZ); - this.doBlockCollisions(); - if(Math.random() > 0.0D) { - super.worldObj.spawnParticle("flame", super.posX + Math.random() * 0.5D - 0.25D, super.posY + Math.random() * 0.5D - 0.25D, super.posZ + Math.random() * 0.5D - 0.25D, 0.0D, 0.0D, 0.0D); - super.worldObj.spawnParticle("smoke", super.posX + Math.random() * 0.5D - 0.25D, super.posY + Math.random() * 0.5D - 0.25D, super.posZ + Math.random() * 0.5D - 0.25D, 0.0D, 0.0D, 0.0D); - } - } - - } - - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround?1:0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - } - - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - if(par1NBTTagCompound.hasKey("damage")) { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if(par1NBTTagCompound.hasKey("pickup")) { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } else if(par1NBTTagCompound.hasKey("player")) { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player")?1:0; - } - - } - - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { - if(!super.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { - flag = false; - } - - if(flag) { - this.playSound("random.pop", 0.2F, ((super.rand.nextFloat() - super.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - - } - - protected boolean canTriggerWalking() { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() { - return 0.0F; - } - - public void setDamage(double par1) { - this.damage = par1; - } - - public double getDamage() { - return this.damage; - } - - public void setKnockbackStrength(int par1) { - this.knockbackStrength = par1; - } - - public boolean canAttackWithItem() { - return false; - } - - public void setIsCritical(boolean par1) { - byte b0 = super.dataWatcher.getWatchableObjectByte(16); - if(par1) { - super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } else { - super.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } - - } - - public boolean getIsCritical() { - byte b0 = super.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - public Entity getThrower() { - return this.shootingEntity; - } - - public void setThrower(Entity entity) { - this.shootingEntity = entity; - } -} diff --git a/common/rebelkeithy/mods/atum/entities/projectiles/RenderFireSpear.java b/common/rebelkeithy/mods/atum/entities/projectiles/RenderFireSpear.java deleted file mode 100644 index b338db3..0000000 --- a/common/rebelkeithy/mods/atum/entities/projectiles/RenderFireSpear.java +++ /dev/null @@ -1,83 +0,0 @@ -package rebelkeithy.mods.atum.entities.projectiles; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.util.MathHelper; -import net.minecraft.util.ResourceLocation; - -import org.lwjgl.opengl.GL11; - -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.entities.projectiles.EntityFireSpearCombined; - -@SideOnly(Side.CLIENT) -public class RenderFireSpear extends Render { - - public void renderArrow(EntityFireSpearCombined par1EntityFireSpearCombined, double par2, double par4, double par6, float par8, float par9) { - GL11.glPushMatrix(); - GL11.glTranslatef((float) par2, (float) par4, (float) par6); - GL11.glRotatef(par1EntityFireSpearCombined.prevRotationYaw + (par1EntityFireSpearCombined.rotationYaw - par1EntityFireSpearCombined.prevRotationYaw) * par9 - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(par1EntityFireSpearCombined.prevRotationPitch + (par1EntityFireSpearCombined.rotationPitch - par1EntityFireSpearCombined.prevRotationPitch) * par9, 0.0F, 0.0F, 1.0F); - Tessellator tessellator = Tessellator.instance; - byte b0 = 0; - float f2 = 0.0F; - float f3 = 0.5F; - float f4 = (float) (0 + b0 * 10) / 32.0F; - float f5 = (float) (5 + b0 * 10) / 32.0F; - float f6 = 0.0F; - float f7 = 0.15625F; - float f8 = (float) (5 + b0 * 10) / 32.0F; - float f9 = (float) (10 + b0 * 10) / 32.0F; - float f10 = 0.05625F; - GL11.glEnable('\u803a'); - float f11 = (float) par1EntityFireSpearCombined.arrowShake - par9; - if (f11 > 0.0F) { - float i = -MathHelper.sin(f11 * 3.0F) * f11; - GL11.glRotatef(i, 0.0F, 0.0F, 1.0F); - } - - GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F); - GL11.glScalef(f10, f10, f10); - GL11.glTranslatef(-4.0F, 0.0F, 0.0F); - GL11.glNormal3f(f10, 0.0F, 0.0F); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double) f6, (double) f8); - tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double) f7, (double) f8); - tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double) f7, (double) f9); - tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double) f6, (double) f9); - tessellator.draw(); - GL11.glNormal3f(-f10, 0.0F, 0.0F); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double) f6, (double) f8); - tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double) f7, (double) f8); - tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double) f7, (double) f9); - tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double) f6, (double) f9); - tessellator.draw(); - - for (int var23 = 0; var23 < 4; ++var23) { - GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); - GL11.glNormal3f(0.0F, 0.0F, f10); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-8.0D, -2.0D, 0.0D, (double) f2, (double) f4); - tessellator.addVertexWithUV(8.0D, -2.0D, 0.0D, (double) f3, (double) f4); - tessellator.addVertexWithUV(8.0D, 2.0D, 0.0D, (double) f3, (double) f5); - tessellator.addVertexWithUV(-8.0D, 2.0D, 0.0D, (double) f2, (double) f5); - tessellator.draw(); - } - - GL11.glDisable('\u803a'); - GL11.glPopMatrix(); - } - - public void doRender(Entity par1Entity, double par2, double par4, double par6, float par8, float par9) { - this.renderArrow((EntityFireSpearCombined) par1Entity, par2, par4, par6, par8, par9); - } - - @Override - protected ResourceLocation getEntityTexture(Entity entity) { - return new ResourceLocation(Atum.modID + ":textures/items/ArrowEntity.png"); - } -} diff --git a/common/rebelkeithy/mods/atum/entities/projectiles/RenderFireSpearSeperated.java b/common/rebelkeithy/mods/atum/entities/projectiles/RenderFireSpearSeperated.java deleted file mode 100644 index 0821958..0000000 --- a/common/rebelkeithy/mods/atum/entities/projectiles/RenderFireSpearSeperated.java +++ /dev/null @@ -1,84 +0,0 @@ -package rebelkeithy.mods.atum.entities.projectiles; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.util.MathHelper; -import net.minecraft.util.ResourceLocation; - -import org.lwjgl.opengl.GL11; - -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.entities.projectiles.EntityFireSpearCombined; - -@SideOnly(Side.CLIENT) -public class RenderFireSpearSeperated extends Render { - - public void renderArrow(EntityFireSpearCombined par1EntityFireSpearCombined, double par2, double par4, double par6, float par8, float par9) { - GL11.glPushMatrix(); - GL11.glTranslatef((float) par2, (float) par4, (float) par6); - GL11.glRotatef(par1EntityFireSpearCombined.prevRotationYaw + (par1EntityFireSpearCombined.rotationYaw - par1EntityFireSpearCombined.prevRotationYaw) * par9 - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(par1EntityFireSpearCombined.prevRotationPitch + (par1EntityFireSpearCombined.rotationPitch - par1EntityFireSpearCombined.prevRotationPitch) * par9, 0.0F, 0.0F, 1.0F); - Tessellator tessellator = Tessellator.instance; - byte b0 = 0; - float f2 = 0.0F; - float f3 = 0.5F; - float f4 = (float) (0 + b0 * 10) / 32.0F; - float f5 = (float) (5 + b0 * 10) / 32.0F; - float f6 = 0.0F; - float f7 = 0.15625F; - float f8 = (float) (5 + b0 * 10) / 32.0F; - float f9 = (float) (10 + b0 * 10) / 32.0F; - float f10 = 0.05625F; - GL11.glEnable('\u803a'); - float f11 = (float) par1EntityFireSpearCombined.arrowShake - par9; - if (f11 > 0.0F) { - float i = -MathHelper.sin(f11 * 3.0F) * f11; - GL11.glRotatef(i, 0.0F, 0.0F, 1.0F); - } - - GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F); - GL11.glScalef(f10, f10, f10); - GL11.glTranslatef(-4.0F, 0.0F, 0.0F); - GL11.glNormal3f(f10, 0.0F, 0.0F); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double) f6, (double) f8); - tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double) f7, (double) f8); - tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double) f7, (double) f9); - tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double) f6, (double) f9); - tessellator.draw(); - GL11.glNormal3f(-f10, 0.0F, 0.0F); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double) f6, (double) f8); - tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double) f7, (double) f8); - tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double) f7, (double) f9); - tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double) f6, (double) f9); - tessellator.draw(); - - for (int var23 = 0; var23 < 4; ++var23) { - GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); - GL11.glNormal3f(0.0F, 0.0F, f10); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-8.0D, -2.0D, 0.0D, (double) f2, (double) f4); - tessellator.addVertexWithUV(8.0D, -2.0D, 0.0D, (double) f3, (double) f4); - tessellator.addVertexWithUV(8.0D, 2.0D, 0.0D, (double) f3, (double) f5); - tessellator.addVertexWithUV(-8.0D, 2.0D, 0.0D, (double) f2, (double) f5); - tessellator.draw(); - } - - GL11.glDisable('\u803a'); - GL11.glPopMatrix(); - } - - public void doRender(Entity par1Entity, double par2, double par4, double par6, float par8, float par9) { - System.out.println("render"); - this.renderArrow((EntityFireSpearCombined) par1Entity, par2, par4, par6, par8, par9); - } - - @Override - protected ResourceLocation getEntityTexture(Entity entity) { - return new ResourceLocation(Atum.modID + "/textures/items/ArrowEntity.png"); - } -} diff --git a/common/rebelkeithy/mods/atum/entities/render/CustomRenderBiped.java b/common/rebelkeithy/mods/atum/entities/render/CustomRenderBiped.java deleted file mode 100644 index d6e0b54..0000000 --- a/common/rebelkeithy/mods/atum/entities/render/CustomRenderBiped.java +++ /dev/null @@ -1,20 +0,0 @@ -package rebelkeithy.mods.atum.entities.render; - -import net.minecraft.client.model.ModelBiped; -import net.minecraft.client.renderer.entity.RenderBiped; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; - -public class CustomRenderBiped extends RenderBiped { - String textureName; - - public CustomRenderBiped(ModelBiped par1ModelBiped, float par2, String textureName) { - super(par1ModelBiped, par2); - this.textureName = textureName; - } - - @Override - protected ResourceLocation getEntityTexture(Entity entity) { - return new ResourceLocation("atum:textures/entities/" + textureName); - } -} diff --git a/common/rebelkeithy/mods/atum/entities/render/RenderBandit.java b/common/rebelkeithy/mods/atum/entities/render/RenderBandit.java deleted file mode 100644 index 62bdc82..0000000 --- a/common/rebelkeithy/mods/atum/entities/render/RenderBandit.java +++ /dev/null @@ -1,39 +0,0 @@ -package rebelkeithy.mods.atum.entities.render; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.client.model.ModelBiped; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.entity.RenderBiped; -import net.minecraft.client.renderer.tileentity.TileEntitySkullRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; -import net.minecraftforge.client.IItemRenderer.ItemRenderType; -import net.minecraftforge.client.IItemRenderer.ItemRendererHelper; - -import org.lwjgl.opengl.GL11; - -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.AtumItems; - -@SideOnly(Side.CLIENT) -public class RenderBandit extends RenderBiped { - String textureName; - - public RenderBandit(ModelBiped par1ModelBiped, float par2, String textureName) { - super(par1ModelBiped, par2); - this.textureName = textureName; - } - - @Override - protected ResourceLocation getEntityTexture(Entity entity) { - return new ResourceLocation("atum:textures/entities/" + textureName); - } -} diff --git a/common/rebelkeithy/mods/atum/entities/render/RenderBarbarian.java b/common/rebelkeithy/mods/atum/entities/render/RenderBarbarian.java deleted file mode 100644 index 56f2d7a..0000000 --- a/common/rebelkeithy/mods/atum/entities/render/RenderBarbarian.java +++ /dev/null @@ -1,12 +0,0 @@ -package rebelkeithy.mods.atum.entities.render; - -import net.minecraft.client.model.ModelBiped; -import net.minecraft.client.renderer.entity.RenderBiped; - -public class RenderBarbarian extends RenderBiped{ - - public RenderBarbarian(ModelBiped par1ModelBiped, float par2) { - super(par1ModelBiped, par2); - } - -} diff --git a/common/rebelkeithy/mods/atum/entities/render/RenderDesertWolf.java b/common/rebelkeithy/mods/atum/entities/render/RenderDesertWolf.java deleted file mode 100644 index 7d67ed8..0000000 --- a/common/rebelkeithy/mods/atum/entities/render/RenderDesertWolf.java +++ /dev/null @@ -1,50 +0,0 @@ -package rebelkeithy.mods.atum.entities.render; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.entity.RenderLiving; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.passive.EntitySheep; -import net.minecraft.entity.passive.EntityTameable; -import net.minecraft.util.ResourceLocation; - -import org.lwjgl.opengl.GL11; - -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.entities.EntityDesertWolf; - -@SideOnly(Side.CLIENT) -public class RenderDesertWolf extends RenderLiving { - - public RenderDesertWolf(ModelBase par1ModelBase, float par2) { - super(par1ModelBase, par2); - this.setRenderPassModel(par1ModelBase); - } - - protected int func_82447_a(EntityDesertWolf par1EntityDesertWolf, int par2, float par3) { - float f1; - if (par2 == 0 && par1EntityDesertWolf.getWolfShaking()) { - f1 = par1EntityDesertWolf.getBrightness(par3) * par1EntityDesertWolf.getShadingWhileShaking(par3); - GL11.glColor3f(f1, f1, f1); - return 1; - } else if (par2 == 1 && par1EntityDesertWolf.isTamed()) { - f1 = 1.0F; - int j = par1EntityDesertWolf.getCollarColor(); - GL11.glColor3f(f1 * EntitySheep.fleeceColorTable[j][0], f1 * EntitySheep.fleeceColorTable[j][1], f1 * EntitySheep.fleeceColorTable[j][2]); - return 1; - } else { - return -1; - } - } - - protected int shouldRenderPass(EntityLiving par1EntityLiving, int par2, float par3) { - return this.func_82447_a((EntityDesertWolf) par1EntityLiving, par2, par3); - } - - @Override - protected ResourceLocation getEntityTexture(Entity entity) { - return new ResourceLocation(((EntityDesertWolf) entity).getTexture()); - } -} diff --git a/common/rebelkeithy/mods/atum/entities/render/RenderGhost.java b/common/rebelkeithy/mods/atum/entities/render/RenderGhost.java deleted file mode 100644 index ab818e1..0000000 --- a/common/rebelkeithy/mods/atum/entities/render/RenderGhost.java +++ /dev/null @@ -1,27 +0,0 @@ -package rebelkeithy.mods.atum.entities.render; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.entity.RenderLiving; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.util.ResourceLocation; - -public class RenderGhost extends RenderLiving { - - public static final ResourceLocation texture = new ResourceLocation("atum:textures/entities/DesertGhost.png"); - - public RenderGhost(ModelBase par1ModelBase, float par2) { - super(par1ModelBase, par2); - } - - @Override - public void doRender(Entity par1Entity, double par2, double par4, double par6, float par8, float par9) { - this.renderLivingLabel((EntityLiving) par1Entity, "Wrath", par2, par4, par6, 64); - this.doRenderLiving((EntityLiving) par1Entity, par2, par4, par6, par8, par9); - } - - @Override - protected ResourceLocation getEntityTexture(Entity entity) { - return texture; - } -} diff --git a/common/rebelkeithy/mods/atum/entities/render/RenderPharaoh.java b/common/rebelkeithy/mods/atum/entities/render/RenderPharaoh.java deleted file mode 100644 index d4a33b3..0000000 --- a/common/rebelkeithy/mods/atum/entities/render/RenderPharaoh.java +++ /dev/null @@ -1,31 +0,0 @@ -package rebelkeithy.mods.atum.entities.render; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelBiped; -import net.minecraft.client.renderer.entity.RenderBiped; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.boss.BossStatus; -import net.minecraft.util.ResourceLocation; -import rebelkeithy.mods.atum.entities.EntityPharaoh; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class RenderPharaoh extends RenderBiped { - - public RenderPharaoh(ModelBiped par1ModelBiped, float par2) { - super(par1ModelBiped, par2); - } - - @Override - public void doRenderLiving(EntityLiving par1EntityLiving, double par2, double par4, double par6, float par8, float par9) { - BossStatus.setBossStatus((EntityPharaoh) par1EntityLiving, false); - super.doRenderLiving(par1EntityLiving, par2, par4, par6, par8, par9); - } - - @Override - protected ResourceLocation getEntityTexture(Entity par1Entity) { - return new ResourceLocation("atum:textures/entities/PharaohBlue.png"); - } -} diff --git a/common/rebelkeithy/mods/atum/furnace/BlockLimeStoneFurnace.java b/common/rebelkeithy/mods/atum/furnace/BlockLimeStoneFurnace.java deleted file mode 100644 index e3c7896..0000000 --- a/common/rebelkeithy/mods/atum/furnace/BlockLimeStoneFurnace.java +++ /dev/null @@ -1,227 +0,0 @@ -package rebelkeithy.mods.atum.furnace; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.Icon; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.furnace.TileEntityLimestoneFurnace; - -public class BlockLimeStoneFurnace extends BlockContainer { - - private final Random furnaceRand = new Random(); - private final boolean isActive; - private static boolean keepFurnaceInventory = false; - @SideOnly(Side.CLIENT) - private Icon field_94458_cO; - @SideOnly(Side.CLIENT) - private Icon field_94459_cP; - - - public BlockLimeStoneFurnace(int par1, boolean par2) { - super(par1, Material.rock); - this.isActive = par2; - } - - public int idDropped(int par1, Random par2Random, int par3) { - return AtumBlocks.furnaceIdle.blockID; - } - - public void onBlockAdded(World par1World, int par2, int par3, int par4) { - super.onBlockAdded(par1World, par2, par3, par4); - this.setDefaultDirection(par1World, par2, par3, par4); - } - - private void setDefaultDirection(World par1World, int par2, int par3, int par4) { - if(!par1World.isRemote) { - int l = par1World.getBlockId(par2, par3, par4 - 1); - int i1 = par1World.getBlockId(par2, par3, par4 + 1); - int j1 = par1World.getBlockId(par2 - 1, par3, par4); - int k1 = par1World.getBlockId(par2 + 1, par3, par4); - byte b0 = 3; - if(Block.opaqueCubeLookup[l] && !Block.opaqueCubeLookup[i1]) { - b0 = 3; - } - - if(Block.opaqueCubeLookup[i1] && !Block.opaqueCubeLookup[l]) { - b0 = 2; - } - - if(Block.opaqueCubeLookup[j1] && !Block.opaqueCubeLookup[k1]) { - b0 = 5; - } - - if(Block.opaqueCubeLookup[k1] && !Block.opaqueCubeLookup[j1]) { - b0 = 4; - } - - par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 2); - } - - } - - @SideOnly(Side.CLIENT) - public Icon getIcon(int par1, int par2) { - if(par2 == 0) { - par2 = 3; - } - - return par1 == 1?this.field_94458_cO:(par1 == 0?this.field_94458_cO:(par1 != par2?super.blockIcon:this.field_94459_cP)); - } - - @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - super.blockIcon = par1IconRegister.registerIcon("atum:FurnaceTop"); - this.field_94459_cP = par1IconRegister.registerIcon(this.isActive?"atum:FurnaceBurning":"atum:FurnaceFront"); - this.field_94458_cO = par1IconRegister.registerIcon("atum:FurnaceTop"); - } - - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { - if(par1World.isRemote) { - return true; - } else { - TileEntityLimestoneFurnace TileEntityLimestoneFurnace = (TileEntityLimestoneFurnace)par1World.getBlockTileEntity(par2, par3, par4); - if(TileEntityLimestoneFurnace != null) { - par5EntityPlayer.openGui(Atum.instance, 0, par1World, par2, par3, par4); - } - - return true; - } - } - - public static void updateFurnaceBlockState(boolean par0, World par1World, int par2, int par3, int par4) { - int l = par1World.getBlockMetadata(par2, par3, par4); - TileEntity tileentity = par1World.getBlockTileEntity(par2, par3, par4); - keepFurnaceInventory = true; - if(par0) { - par1World.setBlock(par2, par3, par4, AtumBlocks.furnaceBurning.blockID); - } else { - par1World.setBlock(par2, par3, par4, AtumBlocks.furnaceIdle.blockID); - } - - keepFurnaceInventory = false; - par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); - if(tileentity != null) { - tileentity.validate(); - par1World.setBlockTileEntity(par2, par3, par4, tileentity); - } - - } - - @SideOnly(Side.CLIENT) - public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if(this.isActive) { - int l = par1World.getBlockMetadata(par2, par3, par4); - float f = (float)par2 + 0.5F; - float f1 = (float)par3 + 0.0F + par5Random.nextFloat() * 6.0F / 16.0F; - float f2 = (float)par4 + 0.5F; - float f3 = 0.52F; - float f4 = par5Random.nextFloat() * 0.6F - 0.3F; - if(l == 4) { - par1World.spawnParticle("smoke", (double)(f - f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); - par1World.spawnParticle("flame", (double)(f - f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); - } else if(l == 5) { - par1World.spawnParticle("smoke", (double)(f + f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); - par1World.spawnParticle("flame", (double)(f + f3), (double)f1, (double)(f2 + f4), 0.0D, 0.0D, 0.0D); - } else if(l == 2) { - par1World.spawnParticle("smoke", (double)(f + f4), (double)f1, (double)(f2 - f3), 0.0D, 0.0D, 0.0D); - par1World.spawnParticle("flame", (double)(f + f4), (double)f1, (double)(f2 - f3), 0.0D, 0.0D, 0.0D); - } else if(l == 3) { - par1World.spawnParticle("smoke", (double)(f + f4), (double)f1, (double)(f2 + f3), 0.0D, 0.0D, 0.0D); - par1World.spawnParticle("flame", (double)(f + f4), (double)f1, (double)(f2 + f3), 0.0D, 0.0D, 0.0D); - } - } - - } - - public TileEntity createNewTileEntity(World par1World) { - return new TileEntityLimestoneFurnace(); - } - - public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLiving par5EntityLiving, ItemStack par6ItemStack) { - int l = MathHelper.floor_double((double)(par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; - if(l == 0) { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 2, 2); - } - - if(l == 1) { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 5, 2); - } - - if(l == 2) { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 3, 2); - } - - if(l == 3) { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 4, 2); - } - - if(par6ItemStack.hasDisplayName()) { - ((TileEntityLimestoneFurnace)par1World.getBlockTileEntity(par2, par3, par4)).func_94129_a(par6ItemStack.getDisplayName()); - } - - } - - public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) { - if(!keepFurnaceInventory) { - TileEntityLimestoneFurnace TileEntityLimestoneFurnace = (TileEntityLimestoneFurnace)par1World.getBlockTileEntity(par2, par3, par4); - if(TileEntityLimestoneFurnace != null) { - for(int j1 = 0; j1 < TileEntityLimestoneFurnace.getSizeInventory(); ++j1) { - ItemStack itemstack = TileEntityLimestoneFurnace.getStackInSlot(j1); - if(itemstack != null) { - float f = this.furnaceRand.nextFloat() * 0.8F + 0.1F; - float f1 = this.furnaceRand.nextFloat() * 0.8F + 0.1F; - float f2 = this.furnaceRand.nextFloat() * 0.8F + 0.1F; - - while(itemstack.stackSize > 0) { - int k1 = this.furnaceRand.nextInt(21) + 10; - if(k1 > itemstack.stackSize) { - k1 = itemstack.stackSize; - } - - itemstack.stackSize -= k1; - EntityItem entityitem = new EntityItem(par1World, (double)((float)par2 + f), (double)((float)par3 + f1), (double)((float)par4 + f2), new ItemStack(itemstack.itemID, k1, itemstack.getItemDamage())); - if(itemstack.hasTagCompound()) { - entityitem.getEntityItem().setTagCompound((NBTTagCompound)itemstack.getTagCompound().copy()); - } - - float f3 = 0.05F; - entityitem.motionX = (double)((float)this.furnaceRand.nextGaussian() * f3); - entityitem.motionY = (double)((float)this.furnaceRand.nextGaussian() * f3 + 0.2F); - entityitem.motionZ = (double)((float)this.furnaceRand.nextGaussian() * f3); - par1World.spawnEntityInWorld(entityitem); - } - } - } - - par1World.func_96440_m(par2, par3, par4, par5); - } - } - - super.breakBlock(par1World, par2, par3, par4, par5, par6); - } - - public boolean hasComparatorInputOverride() { - return true; - } - - public int getComparatorInputOverride(World par1World, int par2, int par3, int par4, int par5) { - return Container.calcRedstoneFromInventory((IInventory)par1World.getBlockTileEntity(par2, par3, par4)); - } - -} diff --git a/common/rebelkeithy/mods/atum/furnace/ContainerLimestoneFurnace.java b/common/rebelkeithy/mods/atum/furnace/ContainerLimestoneFurnace.java deleted file mode 100644 index f240fa6..0000000 --- a/common/rebelkeithy/mods/atum/furnace/ContainerLimestoneFurnace.java +++ /dev/null @@ -1,140 +0,0 @@ -package rebelkeithy.mods.atum.furnace; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.inventory.Container; -import net.minecraft.inventory.ICrafting; -import net.minecraft.inventory.Slot; -import net.minecraft.inventory.SlotFurnace; -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.FurnaceRecipes; -import net.minecraft.tileentity.TileEntity; -import rebelkeithy.mods.atum.furnace.TileEntityLimestoneFurnace; - -public class ContainerLimestoneFurnace extends Container { - - private TileEntityLimestoneFurnace furnace; - private int lastCookTime = 0; - private int lastBurnTime = 0; - private int lastItemBurnTime = 0; - - - public ContainerLimestoneFurnace(InventoryPlayer par1InventoryPlayer, TileEntity par2TileEntityLimestoneFurnace) { - this.furnace = (TileEntityLimestoneFurnace)par2TileEntityLimestoneFurnace; - this.addSlotToContainer(new Slot(this.furnace, 0, 56, 17)); - this.addSlotToContainer(new Slot(this.furnace, 1, 56, 53)); - this.addSlotToContainer(new SlotFurnace(par1InventoryPlayer.player, this.furnace, 2, 116, 35)); - - int i; - for(i = 0; i < 3; ++i) { - for(int j = 0; j < 9; ++j) { - this.addSlotToContainer(new Slot(par1InventoryPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); - } - } - - for(i = 0; i < 9; ++i) { - this.addSlotToContainer(new Slot(par1InventoryPlayer, i, 8 + i * 18, 142)); - } - - } - - public void addCraftingToCrafters(ICrafting par1ICrafting) { - super.addCraftingToCrafters(par1ICrafting); - par1ICrafting.sendProgressBarUpdate(this, 0, this.furnace.furnaceCookTime); - par1ICrafting.sendProgressBarUpdate(this, 1, this.furnace.furnaceBurnTime); - par1ICrafting.sendProgressBarUpdate(this, 2, this.furnace.currentItemBurnTime); - } - - public void detectAndSendChanges() { - super.detectAndSendChanges(); - - for(int i = 0; i < super.crafters.size(); ++i) { - ICrafting icrafting = (ICrafting)super.crafters.get(i); - if(this.lastCookTime != this.furnace.furnaceCookTime) { - icrafting.sendProgressBarUpdate(this, 0, this.furnace.furnaceCookTime); - } - - if(this.lastBurnTime != this.furnace.furnaceBurnTime) { - icrafting.sendProgressBarUpdate(this, 1, this.furnace.furnaceBurnTime); - } - - if(this.lastItemBurnTime != this.furnace.currentItemBurnTime) { - icrafting.sendProgressBarUpdate(this, 2, this.furnace.currentItemBurnTime); - } - } - - this.lastCookTime = this.furnace.furnaceCookTime; - this.lastBurnTime = this.furnace.furnaceBurnTime; - this.lastItemBurnTime = this.furnace.currentItemBurnTime; - } - - @SideOnly(Side.CLIENT) - public void updateProgressBar(int par1, int par2) { - if(par1 == 0) { - this.furnace.furnaceCookTime = par2; - } - - if(par1 == 1) { - this.furnace.furnaceBurnTime = par2; - } - - if(par1 == 2) { - this.furnace.currentItemBurnTime = par2; - } - - } - - public boolean canInteractWith(EntityPlayer par1EntityPlayer) { - return this.furnace.isUseableByPlayer(par1EntityPlayer); - } - - public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2) { - ItemStack itemstack = null; - Slot slot = (Slot)super.inventorySlots.get(par2); - if(slot != null && slot.getHasStack()) { - ItemStack itemstack1 = slot.getStack(); - itemstack = itemstack1.copy(); - if(par2 == 2) { - if(!this.mergeItemStack(itemstack1, 3, 39, true)) { - return null; - } - - slot.onSlotChange(itemstack1, itemstack); - } else if(par2 != 1 && par2 != 0) { - if(FurnaceRecipes.smelting().getSmeltingResult(itemstack1) != null) { - if(!this.mergeItemStack(itemstack1, 0, 1, false)) { - return null; - } - } else if(TileEntityLimestoneFurnace.isItemFuel(itemstack1)) { - if(!this.mergeItemStack(itemstack1, 1, 2, false)) { - return null; - } - } else if(par2 >= 3 && par2 < 30) { - if(!this.mergeItemStack(itemstack1, 30, 39, false)) { - return null; - } - } else if(par2 >= 30 && par2 < 39 && !this.mergeItemStack(itemstack1, 3, 30, false)) { - return null; - } - } else if(!this.mergeItemStack(itemstack1, 3, 39, false)) { - return null; - } - - if(itemstack1.stackSize == 0) { - slot.putStack((ItemStack)null); - } else { - slot.onSlotChanged(); - } - - if(itemstack1.stackSize == itemstack.stackSize) { - return null; - } - - slot.onPickupFromSlot(par1EntityPlayer, itemstack1); - } - - return itemstack; - } -} diff --git a/common/rebelkeithy/mods/atum/furnace/GuiLimestoneFurnace.java b/common/rebelkeithy/mods/atum/furnace/GuiLimestoneFurnace.java deleted file mode 100644 index 4f996a4..0000000 --- a/common/rebelkeithy/mods/atum/furnace/GuiLimestoneFurnace.java +++ /dev/null @@ -1,45 +0,0 @@ -package rebelkeithy.mods.atum.furnace; - -import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.StatCollector; - -import org.lwjgl.opengl.GL11; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class GuiLimestoneFurnace extends GuiContainer { - - private TileEntityLimestoneFurnace furnaceInventory; - - public GuiLimestoneFurnace(InventoryPlayer par1InventoryPlayer, TileEntity par2TileEntityLimestoneFurnace) { - super(new ContainerLimestoneFurnace(par1InventoryPlayer, par2TileEntityLimestoneFurnace)); - this.furnaceInventory = (TileEntityLimestoneFurnace) par2TileEntityLimestoneFurnace; - } - - protected void drawGuiContainerForegroundLayer(int par1, int par2) { - String s = this.furnaceInventory.isInvNameLocalized() ? this.furnaceInventory.getInvName() : StatCollector.translateToLocal(this.furnaceInventory.getInvName()); - super.fontRenderer.drawString(s, super.xSize / 2 - super.fontRenderer.getStringWidth(s) / 2, 6, 4210752); - super.fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 8, super.ySize - 96 + 2, 4210752); - } - - protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - super.mc.renderEngine.bindTexture(new ResourceLocation("/gui/furnace.png")); - int k = (super.width - super.xSize) / 2; - int l = (super.height - super.ySize) / 2; - this.drawTexturedModalRect(k, l, 0, 0, super.xSize, super.ySize); - int i1; - if (this.furnaceInventory.isBurning()) { - i1 = this.furnaceInventory.getBurnTimeRemainingScaled(12); - this.drawTexturedModalRect(k + 56, l + 36 + 12 - i1, 176, 12 - i1, 14, i1 + 2); - } - - i1 = this.furnaceInventory.getCookProgressScaled(24); - this.drawTexturedModalRect(k + 79, l + 34, 176, 14, i1 + 1, 16); - } -} diff --git a/common/rebelkeithy/mods/atum/furnace/TileEntityLimestoneFurnace.java b/common/rebelkeithy/mods/atum/furnace/TileEntityLimestoneFurnace.java deleted file mode 100644 index 2d9f746..0000000 --- a/common/rebelkeithy/mods/atum/furnace/TileEntityLimestoneFurnace.java +++ /dev/null @@ -1,294 +0,0 @@ -package rebelkeithy.mods.atum.furnace; - -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemHoe; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemSword; -import net.minecraft.item.ItemTool; -import net.minecraft.item.crafting.FurnaceRecipes; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.ForgeDirection; -import net.minecraftforge.common.ForgeDummyContainer; -import rebelkeithy.mods.atum.furnace.BlockLimeStoneFurnace; - -public class TileEntityLimestoneFurnace extends TileEntity implements ISidedInventory { - - private static final int[] field_102010_d = new int[] { 0 }; - private static final int[] field_102011_e = new int[] { 2, 1 }; - private static final int[] field_102009_f = new int[] { 1 }; - private ItemStack[] furnaceItemStacks = new ItemStack[3]; - public int furnaceBurnTime = 0; - public int currentItemBurnTime = 0; - public int furnaceCookTime = 0; - private String field_94130_e; - - public int getSizeInventory() { - return this.furnaceItemStacks.length; - } - - public ItemStack getStackInSlot(int par1) { - return this.furnaceItemStacks[par1]; - } - - public ItemStack decrStackSize(int par1, int par2) { - if (this.furnaceItemStacks[par1] != null) { - ItemStack itemstack; - if (this.furnaceItemStacks[par1].stackSize <= par2) { - itemstack = this.furnaceItemStacks[par1]; - this.furnaceItemStacks[par1] = null; - return itemstack; - } else { - itemstack = this.furnaceItemStacks[par1].splitStack(par2); - if (this.furnaceItemStacks[par1].stackSize == 0) { - this.furnaceItemStacks[par1] = null; - } - - return itemstack; - } - } else { - return null; - } - } - - public ItemStack getStackInSlotOnClosing(int par1) { - if (this.furnaceItemStacks[par1] != null) { - ItemStack itemstack = this.furnaceItemStacks[par1]; - this.furnaceItemStacks[par1] = null; - return itemstack; - } else { - return null; - } - } - - public void setInventorySlotContents(int par1, ItemStack par2ItemStack) { - this.furnaceItemStacks[par1] = par2ItemStack; - if (par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) { - par2ItemStack.stackSize = this.getInventoryStackLimit(); - } - - } - - public String getInvName() { - return this.isInvNameLocalized() ? this.field_94130_e : "container.furnace"; - } - - public boolean isInvNameLocalized() { - return this.field_94130_e != null && this.field_94130_e.length() > 0; - } - - public void func_94129_a(String par1Str) { - this.field_94130_e = par1Str; - } - - public void readFromNBT(NBTTagCompound par1NBTTagCompound) { - super.readFromNBT(par1NBTTagCompound); - NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items"); - this.furnaceItemStacks = new ItemStack[this.getSizeInventory()]; - - for (int i = 0; i < nbttaglist.tagCount(); ++i) { - NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.tagAt(i); - byte b0 = nbttagcompound1.getByte("Slot"); - if (b0 >= 0 && b0 < this.furnaceItemStacks.length) { - this.furnaceItemStacks[b0] = ItemStack.loadItemStackFromNBT(nbttagcompound1); - } - } - - this.furnaceBurnTime = par1NBTTagCompound.getShort("BurnTime"); - this.furnaceCookTime = par1NBTTagCompound.getShort("CookTime"); - this.currentItemBurnTime = getItemBurnTime(this.furnaceItemStacks[1]); - if (par1NBTTagCompound.hasKey("CustomName")) { - this.field_94130_e = par1NBTTagCompound.getString("CustomName"); - } - - } - - public void writeToNBT(NBTTagCompound par1NBTTagCompound) { - super.writeToNBT(par1NBTTagCompound); - par1NBTTagCompound.setShort("BurnTime", (short) this.furnaceBurnTime); - par1NBTTagCompound.setShort("CookTime", (short) this.furnaceCookTime); - NBTTagList nbttaglist = new NBTTagList(); - - for (int i = 0; i < this.furnaceItemStacks.length; ++i) { - if (this.furnaceItemStacks[i] != null) { - NBTTagCompound nbttagcompound1 = new NBTTagCompound(); - nbttagcompound1.setByte("Slot", (byte) i); - this.furnaceItemStacks[i].writeToNBT(nbttagcompound1); - nbttaglist.appendTag(nbttagcompound1); - } - } - - par1NBTTagCompound.setTag("Items", nbttaglist); - if (this.isInvNameLocalized()) { - par1NBTTagCompound.setString("CustomName", this.field_94130_e); - } - - } - - public int getInventoryStackLimit() { - return 64; - } - - @SideOnly(Side.CLIENT) - public int getCookProgressScaled(int par1) { - return this.furnaceCookTime * par1 / 200; - } - - @SideOnly(Side.CLIENT) - public int getBurnTimeRemainingScaled(int par1) { - if (this.currentItemBurnTime == 0) { - this.currentItemBurnTime = 200; - } - - return this.furnaceBurnTime * par1 / this.currentItemBurnTime; - } - - public boolean isBurning() { - return this.furnaceBurnTime > 0; - } - - public void updateEntity() { - boolean flag = this.furnaceBurnTime > 0; - boolean flag1 = false; - if (this.furnaceBurnTime > 0) { - --this.furnaceBurnTime; - } - - if (!super.worldObj.isRemote) { - if (this.furnaceBurnTime == 0 && this.canSmelt()) { - this.currentItemBurnTime = this.furnaceBurnTime = getItemBurnTime(this.furnaceItemStacks[1]); - if (this.furnaceBurnTime > 0) { - flag1 = true; - if (this.furnaceItemStacks[1] != null) { - --this.furnaceItemStacks[1].stackSize; - if (this.furnaceItemStacks[1].stackSize == 0) { - this.furnaceItemStacks[1] = this.furnaceItemStacks[1].getItem().getContainerItemStack(this.furnaceItemStacks[1]); - } - } - } - } - - if (this.isBurning() && this.canSmelt()) { - ++this.furnaceCookTime; - if (this.furnaceCookTime == 200) { - this.furnaceCookTime = 0; - this.smeltItem(); - flag1 = true; - } - } else { - this.furnaceCookTime = 0; - } - - if (flag != this.furnaceBurnTime > 0) { - flag1 = true; - BlockLimeStoneFurnace.updateFurnaceBlockState(this.furnaceBurnTime > 0, super.worldObj, super.xCoord, super.yCoord, super.zCoord); - } - } - - if (flag1) { - this.onInventoryChanged(); - } - - } - - private boolean canSmelt() { - if (this.furnaceItemStacks[0] == null) { - return false; - } else { - ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(this.furnaceItemStacks[0]); - if (itemstack == null) { - return false; - } else if (this.furnaceItemStacks[2] == null) { - return true; - } else if (!this.furnaceItemStacks[2].isItemEqual(itemstack)) { - return false; - } else { - int result = this.furnaceItemStacks[2].stackSize + itemstack.stackSize; - return result <= this.getInventoryStackLimit() && result <= itemstack.getMaxStackSize(); - } - } - } - - public void smeltItem() { - if (this.canSmelt()) { - ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(this.furnaceItemStacks[0]); - if (this.furnaceItemStacks[2] == null) { - this.furnaceItemStacks[2] = itemstack.copy(); - } else if (this.furnaceItemStacks[2].isItemEqual(itemstack)) { - this.furnaceItemStacks[2].stackSize += itemstack.stackSize; - } - - --this.furnaceItemStacks[0].stackSize; - if (this.furnaceItemStacks[0].stackSize <= 0) { - this.furnaceItemStacks[0] = null; - } - } - - } - - public static int getItemBurnTime(ItemStack par0ItemStack) { - if (par0ItemStack == null) { - return 0; - } else { - int i = par0ItemStack.getItem().itemID; - Item item = par0ItemStack.getItem(); - if (par0ItemStack.getItem() instanceof ItemBlock && Block.blocksList[i] != null) { - Block block = Block.blocksList[i]; - if (block == Block.woodSingleSlab) { - return 150; - } - - if (block.blockMaterial == Material.wood) { - return 300; - } - } - - return item instanceof ItemTool && ((ItemTool) item).getToolMaterialName().equals("WOOD") ? 200 : (item instanceof ItemSword && ((ItemSword) item).getToolMaterialName().equals("WOOD") ? 200 : (item instanceof ItemHoe && ((ItemHoe) item).getMaterialName().equals("WOOD") ? 200 : (i == Item.stick.itemID ? 100 : (i == Item.coal.itemID ? 1600 : (i == Item.bucketLava.itemID ? 20000 : (i == Block.sapling.blockID ? 100 : (i == Item.blazeRod.itemID ? 2400 : GameRegistry.getFuelValue(par0ItemStack)))))))); - } - } - - public static boolean isItemFuel(ItemStack par0ItemStack) { - return getItemBurnTime(par0ItemStack) > 0; - } - - public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { - return super.worldObj.getBlockTileEntity(super.xCoord, super.yCoord, super.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double) super.xCoord + 0.5D, (double) super.yCoord + 0.5D, (double) super.zCoord + 0.5D) <= 64.0D; - } - - public void openChest() { - } - - public void closeChest() { - } - - @Override - public boolean isItemValidForSlot(int par1, ItemStack par2ItemStack) { - return par1 == 2 ? false : (par1 == 1 ? isItemFuel(par2ItemStack) : true); - } - - public int[] getAccessibleSlotsFromSide(int par1) { - return par1 == 0 ? field_102011_e : (par1 == 1 ? field_102010_d : field_102009_f); - } - - public boolean canInsertItem(int par1, ItemStack par2ItemStack, int par3) { - return this.isItemValidForSlot(par1, par2ItemStack); - } - - public boolean canExtractItem(int par1, ItemStack par2ItemStack, int par3) { - return par3 != 0 || par1 != 1 || par2ItemStack.itemID == Item.bucketEmpty.itemID; - } - - public int getSizeInventorySide(ForgeDirection side) { - return 1; - } - -} diff --git a/common/rebelkeithy/mods/atum/items/ItemGreatsword.java b/common/rebelkeithy/mods/atum/items/ItemGreatsword.java deleted file mode 100644 index f20e536..0000000 --- a/common/rebelkeithy/mods/atum/items/ItemGreatsword.java +++ /dev/null @@ -1,25 +0,0 @@ -package rebelkeithy.mods.atum.items; - -import net.minecraft.entity.EntityLiving; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemSword; -import net.minecraft.util.MathHelper; -import rebelkeithy.mods.atum.entities.EntityPharaoh; -import rebelkeithy.mods.atum.entities.EntityStoneSoldier; - -public class ItemGreatsword extends ItemSword { - - public ItemGreatsword(int par1, EnumToolMaterial par2EnumToolMaterial) { - super(par1, par2EnumToolMaterial); - } - - public boolean hitEntity(ItemStack par1ItemStack, EntityLiving mob, EntityLiving player) { - if(!(mob instanceof EntityStoneSoldier) && !(mob instanceof EntityPharaoh)) { - float j = 1.2F; - mob.addVelocity((double)(-MathHelper.sin(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F), 0.1D, (double)(MathHelper.cos(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F)); - } - - return super.hitEntity(par1ItemStack, mob, player); - } -} diff --git a/common/rebelkeithy/mods/atum/items/ItemScimitar.java b/common/rebelkeithy/mods/atum/items/ItemScimitar.java deleted file mode 100644 index c55fcc5..0000000 --- a/common/rebelkeithy/mods/atum/items/ItemScimitar.java +++ /dev/null @@ -1,18 +0,0 @@ -package rebelkeithy.mods.atum.items; - -import rebelkeithy.mods.atum.Atum; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.ItemSword; - -public class ItemScimitar extends ItemSword { - - public ItemScimitar(int par1, EnumToolMaterial par2EnumToolMaterial) { - super(par1, par2EnumToolMaterial); - } - - @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon(Atum.modID + ":Scimitar"); - } -} diff --git a/common/rebelkeithy/mods/atum/particles/EntityCritFX.java b/common/rebelkeithy/mods/atum/particles/EntityCritFX.java deleted file mode 100644 index 0f92aa4..0000000 --- a/common/rebelkeithy/mods/atum/particles/EntityCritFX.java +++ /dev/null @@ -1,79 +0,0 @@ -package rebelkeithy.mods.atum.particles; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.particle.EntityFX; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.world.World; - -@SideOnly(Side.CLIENT) -public class EntityCritFX extends EntityFX { - - float field_70561_a; - - - public EntityCritFX(World par1World, double par2, double par4, double par6, double par8, double par10, double par12) { - this(par1World, par2, par4, par6, par8, par10, par12, 1.0F); - } - - public EntityCritFX(World par1World, double x, double y, double z, double dx, double dy, double dz, double r, double g, double b) { - this(par1World, x, y, z, dx, dy, dz, 1.0F); - float colorOffset = (float)((Math.random() - 0.5D) * 0.20000000298023224D); - super.particleRed = (float)r + colorOffset; - super.particleBlue = (float)b + colorOffset; - super.particleGreen = (float)g + colorOffset; - } - - public EntityCritFX(World par1World, double par2, double par4, double par6, double par8, double par10, double par12, float par14) { - super(par1World, par2, par4, par6, 0.0D, 0.0D, 0.0D); - super.motionX *= 0.10000000149011612D; - super.motionY *= 0.10000000149011612D; - super.motionZ *= 0.10000000149011612D; - super.motionX += par8 * 0.4D; - super.motionY += par10 * 0.4D; - super.motionZ += par12 * 0.4D; - super.particleRed = super.particleGreen = super.particleBlue = (float)(Math.random() * 0.30000001192092896D + 0.6000000238418579D); - super.particleScale *= 0.75F; - super.particleScale *= par14; - this.field_70561_a = super.particleScale; - super.particleMaxAge = (int)(6.0D / (Math.random() * 0.8D + 0.6D)); - super.particleMaxAge = (int)((float)super.particleMaxAge * par14); - super.noClip = false; - this.setParticleTextureIndex(65); - this.onUpdate(); - } - - public void renderParticle(Tessellator par1Tessellator, float par2, float par3, float par4, float par5, float par6, float par7) { - float f6 = ((float)super.particleAge + par2) / (float)super.particleMaxAge * 32.0F; - if(f6 < 0.0F) { - f6 = 0.0F; - } - - if(f6 > 1.0F) { - f6 = 1.0F; - } - - super.particleScale = this.field_70561_a * f6; - super.renderParticle(par1Tessellator, par2, par3, par4, par5, par6, par7); - } - - public void onUpdate() { - super.prevPosX = super.posX; - super.prevPosY = super.posY; - super.prevPosZ = super.posZ; - if(super.particleAge++ >= super.particleMaxAge) { - this.setDead(); - } - - this.moveEntity(super.motionX, super.motionY, super.motionZ); - super.motionX *= 0.699999988079071D; - super.motionY *= 0.699999988079071D; - super.motionZ *= 0.699999988079071D; - super.motionY -= 0.019999999552965164D; - if(super.onGround) { - super.motionX *= 0.699999988079071D; - super.motionZ *= 0.699999988079071D; - } - - } -} diff --git a/common/rebelkeithy/mods/atum/particles/EntitySandFX.java b/common/rebelkeithy/mods/atum/particles/EntitySandFX.java deleted file mode 100644 index 84b4b8a..0000000 --- a/common/rebelkeithy/mods/atum/particles/EntitySandFX.java +++ /dev/null @@ -1,105 +0,0 @@ -package rebelkeithy.mods.atum.particles; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.Minecraft; -import net.minecraft.client.particle.EntityFX; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.src.ModLoader; -import net.minecraft.util.ResourceLocation; -import net.minecraft.world.World; - -import org.lwjgl.opengl.GL11; - -import rebelkeithy.mods.atum.Atum; - -@SideOnly(Side.CLIENT) -public class EntitySandFX extends EntityFX { - - float smokeParticleScale; - - - public EntitySandFX(World par1World, double par2, double par4, double par6, double par8, double par10, double par12) { - this(par1World, par2, par4, par6, par8, par10, par12, 1.0F); - } - - public EntitySandFX(World par1World, double par2, double par4, double par6, double par8, double par10, double par12, float par14) { - super(par1World, par2, par4, par6, 0.0D, 0.0D, 0.0D); - super.motionX *= 0.10000000149011612D; - super.motionY *= 0.10000000149011612D; - super.motionZ *= 0.10000000149011612D; - super.motionX += par8; - super.motionY += par10; - super.motionZ += par12; - super.particleRed = super.particleGreen = super.particleBlue = 1.0F; - super.particleScale *= 0.75F; - super.particleScale *= par14; - this.smokeParticleScale = super.particleScale; - super.particleMaxAge = (int)(4.0D / (Math.random() * 0.8D + 0.2D)); - super.particleMaxAge = (int)((float)super.particleMaxAge * par14); - super.noClip = false; - } - - public void renderParticle(Tessellator tessellator, float f, float f1, float f2, float f3, float f4, float f5) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - Tessellator tessellator1 = new Tessellator(); - tessellator1.startDrawingQuads(); - tessellator1.setBrightness(this.getBrightnessForRender(f)); - float f6 = ((float)super.particleAge + f) / (float)super.particleMaxAge * 32.0F; - if(f6 < 0.0F) { - f6 = 0.0F; - } - - if(f6 > 1.0F) { - f6 = 1.0F; - } - - float var8 = ((float)super.particleAge + f) / (float)super.particleMaxAge; - super.particleScale = 1.0F - var8 * var8 * 0.5F; - int index = 3 * super.particleAge / super.particleMaxAge; - GL11.glBindTexture(3553, Minecraft.getMinecraft().renderEngine.getTexture(new ResourceLocation("atum:textures/particles/Sand.png")).getGlTextureId()); - float f0 = (float)index / 16.0F; - float f7 = f0 + 0.0625F; - float f8 = 1.0F; - float f9 = f8 + 0.0625F; - float f10 = 0.1F * super.particleScale; - float f11 = (float)(super.prevPosX + (super.posX - super.prevPosX) * (double)f - EntityFX.interpPosX); - float f12 = (float)(super.prevPosY + (super.posY - super.prevPosY) * (double)f - EntityFX.interpPosY); - float f13 = (float)(super.prevPosZ + (super.posZ - super.prevPosZ) * (double)f - EntityFX.interpPosZ); - float f14 = 1.0F; - float brightness = super.rand.nextFloat() * 0.2F + 0.5F; - tessellator1.setColorRGBA_F(0.7F * brightness, 0.55F * brightness, 0.35F * brightness, 0.6F); - tessellator1.addVertexWithUV((double)(f11 - f1 * f10 - f4 * f10), (double)(f12 - f2 * f10), (double)(f13 - f3 * f10 - f5 * f10), (double)f7, (double)f9); - tessellator1.addVertexWithUV((double)(f11 - f1 * f10 + f4 * f10), (double)(f12 + f2 * f10), (double)(f13 - f3 * f10 + f5 * f10), (double)f7, (double)f8); - tessellator1.addVertexWithUV((double)(f11 + f1 * f10 + f4 * f10), (double)(f12 + f2 * f10), (double)(f13 + f3 * f10 + f5 * f10), (double)f0, (double)f8); - tessellator1.addVertexWithUV((double)(f11 + f1 * f10 - f4 * f10), (double)(f12 - f2 * f10), (double)(f13 + f3 * f10 - f5 * f10), (double)f0, (double)f9); - tessellator1.draw(); - GL11.glBindTexture(3553, Minecraft.getMinecraft().renderEngine.getTexture(new ResourceLocation("/particles.png")).getGlTextureId()); - } - - public void onUpdate() { - super.prevPosX = super.posX; - super.prevPosY = super.posY; - super.prevPosZ = super.posZ; - if(super.particleAge++ >= super.particleMaxAge) { - this.setDead(); - } - - this.setParticleTextureIndex(7 - super.particleAge * 8 / super.particleMaxAge); - super.motionY += 0.004D; - this.moveEntity(super.motionX, super.motionY, super.motionZ); - if(super.posY == super.prevPosY) { - super.motionX *= 1.1D; - super.motionZ *= 1.1D; - } - - super.motionX *= 0.9599999785423279D; - super.motionY *= 0.9599999785423279D; - super.motionZ *= 0.9599999785423279D; - if(super.onGround) { - super.motionX *= 0.699999988079071D; - super.motionZ *= 0.699999988079071D; - } - - } -} diff --git a/common/rebelkeithy/mods/atum/particles/EntitySandPortalFX.java b/common/rebelkeithy/mods/atum/particles/EntitySandPortalFX.java deleted file mode 100644 index 021462a..0000000 --- a/common/rebelkeithy/mods/atum/particles/EntitySandPortalFX.java +++ /dev/null @@ -1,84 +0,0 @@ -package rebelkeithy.mods.atum.particles; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.particle.EntityFX; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.world.World; - -@SideOnly(Side.CLIENT) -public class EntitySandPortalFX extends EntityFX { - - private float portalParticleScale; - private double portalPosX; - private double portalPosY; - private double portalPosZ; - - - public EntitySandPortalFX(World par1World, double par2, double par4, double par6, double par8, double par10, double par12) { - super(par1World, par2, par4, par6, par8, par10, par12); - super.motionX = par8; - super.motionY = par10; - super.motionZ = par12; - this.portalPosX = super.posX = par2; - this.portalPosY = super.posY = par4; - this.portalPosZ = super.posZ = par6; - float f = super.rand.nextFloat() * 0.6F + 0.4F; - this.portalParticleScale = super.particleScale = super.rand.nextFloat() * 0.2F + 0.5F; - super.particleRed = super.particleGreen = super.particleBlue = 1.0F * f; - super.particleGreen *= 0.3F; - super.particleRed *= 0.5F; - super.particleBlue *= 0.1F; - super.particleMaxAge = (int)(Math.random() * 10.0D) + 40; - super.noClip = true; - this.setParticleTextureIndex((int)(Math.random() * 8.0D)); - } - - public void renderParticle(Tessellator par1Tessellator, float par2, float par3, float par4, float par5, float par6, float par7) { - float f6 = ((float)super.particleAge + par2) / (float)super.particleMaxAge; - f6 = 1.0F - f6; - f6 *= f6; - f6 = 1.0F - f6; - super.particleScale = this.portalParticleScale * f6; - super.renderParticle(par1Tessellator, par2, par3, par4, par5, par6, par7); - } - - public int getBrightnessForRender(float par1) { - int i = super.getBrightnessForRender(par1); - float f1 = (float)super.particleAge / (float)super.particleMaxAge; - f1 *= f1; - f1 *= f1; - int j = i & 255; - int k = i >> 16 & 255; - k += (int)(f1 * 15.0F * 16.0F); - if(k > 240) { - k = 240; - } - - return j | k << 16; - } - - public float getBrightness(float par1) { - float f1 = super.getBrightness(par1); - float f2 = (float)super.particleAge / (float)super.particleMaxAge; - f2 = f2 * f2 * f2 * f2; - return f1 * (1.0F - f2) + f2; - } - - public void onUpdate() { - super.prevPosX = super.posX; - super.prevPosY = super.posY; - super.prevPosZ = super.posZ; - float f = (float)super.particleAge / (float)super.particleMaxAge; - float f1 = f; - f = -f + f * f * 2.0F; - f = 1.0F - f; - super.posX = this.portalPosX + super.motionX * (double)f; - super.posY = this.portalPosY + super.motionY * (double)f + (double)(1.0F - f1); - super.posZ = this.portalPosZ + super.motionZ * (double)f; - if(super.particleAge++ >= super.particleMaxAge) { - this.setDead(); - } - - } -} diff --git a/common/rebelkeithy/mods/atum/tools/LimestoneAxe.java b/common/rebelkeithy/mods/atum/tools/LimestoneAxe.java deleted file mode 100644 index 6ccfe5e..0000000 --- a/common/rebelkeithy/mods/atum/tools/LimestoneAxe.java +++ /dev/null @@ -1,22 +0,0 @@ -package rebelkeithy.mods.atum.tools; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.ItemAxe; -import net.minecraft.item.ItemStack; -import rebelkeithy.mods.atum.AtumBlocks; - -public class LimestoneAxe extends ItemAxe { - - public LimestoneAxe(int par1, EnumToolMaterial par2EnumToolMaterial) { - super(par1, par2EnumToolMaterial); - } - - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == AtumBlocks.cobble.blockID; - } - - public void registerIcons(IconRegister par1IconRegister) { - super.itemIcon = par1IconRegister.registerIcon("atum:LimestoneAxe"); - } -} diff --git a/common/rebelkeithy/mods/atum/tools/LimestoneHoe.java b/common/rebelkeithy/mods/atum/tools/LimestoneHoe.java deleted file mode 100644 index 064df60..0000000 --- a/common/rebelkeithy/mods/atum/tools/LimestoneHoe.java +++ /dev/null @@ -1,22 +0,0 @@ -package rebelkeithy.mods.atum.tools; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.ItemHoe; -import net.minecraft.item.ItemStack; -import rebelkeithy.mods.atum.AtumBlocks; - -public class LimestoneHoe extends ItemHoe { - - public LimestoneHoe(int par1, EnumToolMaterial par2EnumToolMaterial) { - super(par1, par2EnumToolMaterial); - } - - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == AtumBlocks.cobble.blockID; - } - - public void registerIcons(IconRegister par1IconRegister) { - super.itemIcon = par1IconRegister.registerIcon("atum:LimestoneHoe"); - } -} diff --git a/common/rebelkeithy/mods/atum/tools/LimestonePickaxe.java b/common/rebelkeithy/mods/atum/tools/LimestonePickaxe.java deleted file mode 100644 index 9ce89dc..0000000 --- a/common/rebelkeithy/mods/atum/tools/LimestonePickaxe.java +++ /dev/null @@ -1,22 +0,0 @@ -package rebelkeithy.mods.atum.tools; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.ItemPickaxe; -import net.minecraft.item.ItemStack; -import rebelkeithy.mods.atum.AtumBlocks; - -public class LimestonePickaxe extends ItemPickaxe { - - public LimestonePickaxe(int par1, EnumToolMaterial par2EnumToolMaterial) { - super(par1, par2EnumToolMaterial); - } - - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == AtumBlocks.cobble.blockID; - } - - public void registerIcons(IconRegister par1IconRegister) { - super.itemIcon = par1IconRegister.registerIcon("atum:LimestonePickaxe"); - } -} diff --git a/common/rebelkeithy/mods/atum/tools/LimestoneShovel.java b/common/rebelkeithy/mods/atum/tools/LimestoneShovel.java deleted file mode 100644 index b211419..0000000 --- a/common/rebelkeithy/mods/atum/tools/LimestoneShovel.java +++ /dev/null @@ -1,22 +0,0 @@ -package rebelkeithy.mods.atum.tools; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.ItemSpade; -import net.minecraft.item.ItemStack; -import rebelkeithy.mods.atum.AtumBlocks; - -public class LimestoneShovel extends ItemSpade { - - public LimestoneShovel(int par1, EnumToolMaterial par2EnumToolMaterial) { - super(par1, par2EnumToolMaterial); - } - - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == AtumBlocks.cobble.blockID; - } - - public void registerIcons(IconRegister par1IconRegister) { - super.itemIcon = par1IconRegister.registerIcon("atum:LimestoneShovel"); - } -} diff --git a/common/rebelkeithy/mods/atum/tools/LimestoneSword.java b/common/rebelkeithy/mods/atum/tools/LimestoneSword.java deleted file mode 100644 index 2fc5200..0000000 --- a/common/rebelkeithy/mods/atum/tools/LimestoneSword.java +++ /dev/null @@ -1,22 +0,0 @@ -package rebelkeithy.mods.atum.tools; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemSword; -import rebelkeithy.mods.atum.AtumBlocks; - -public class LimestoneSword extends ItemSword { - - public LimestoneSword(int par1, EnumToolMaterial par2EnumToolMaterial) { - super(par1, par2EnumToolMaterial); - } - - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == AtumBlocks.cobble.blockID; - } - - public void registerIcons(IconRegister par1IconRegister) { - super.itemIcon = par1IconRegister.registerIcon("atum:LimestoneSword"); - } -} diff --git a/common/rebelkeithy/mods/atum/world/AtumChunkProvider.java b/common/rebelkeithy/mods/atum/world/AtumChunkProvider.java deleted file mode 100644 index d39c2df..0000000 --- a/common/rebelkeithy/mods/atum/world/AtumChunkProvider.java +++ /dev/null @@ -1,435 +0,0 @@ -package rebelkeithy.mods.atum.world; - -import java.util.List; -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.block.BlockSand; -import net.minecraft.entity.EnumCreatureType; -import net.minecraft.util.IProgressUpdate; -import net.minecraft.util.MathHelper; -import net.minecraft.world.ChunkPosition; -import net.minecraft.world.SpawnerAnimals; -import net.minecraft.world.World; -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.chunk.Chunk; -import net.minecraft.world.chunk.IChunkProvider; -import net.minecraft.world.gen.MapGenBase; -import net.minecraft.world.gen.MapGenRavine; -import net.minecraft.world.gen.NoiseGeneratorOctaves; -import net.minecraft.world.gen.feature.MapGenScatteredFeature; -import net.minecraft.world.gen.feature.WorldGenLakes; -import net.minecraft.world.gen.structure.MapGenMineshaft; -import net.minecraft.world.gen.structure.MapGenStronghold; -import net.minecraft.world.gen.structure.MapGenVillage; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.Event.Result; -import net.minecraftforge.event.terraingen.TerrainGen; -import net.minecraftforge.event.terraingen.ChunkProviderEvent.InitNoiseField; -import net.minecraftforge.event.terraingen.InitMapGenEvent.EventType; -import net.minecraftforge.event.terraingen.PopulateChunkEvent.Post; -import net.minecraftforge.event.terraingen.PopulateChunkEvent.Pre; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.world.AtumMapGenCaves; -import rebelkeithy.mods.atum.world.biome.BiomeGenAtumDesert; - -public class AtumChunkProvider implements IChunkProvider { - - private Random rand; - private NoiseGeneratorOctaves noiseGen1; - private NoiseGeneratorOctaves noiseGen2; - private NoiseGeneratorOctaves noiseGen3; - private NoiseGeneratorOctaves noiseGen4; - public NoiseGeneratorOctaves noiseGen5; - public NoiseGeneratorOctaves noiseGen6; - public NoiseGeneratorOctaves mobSpawnerNoise; - private World worldObj; - private final boolean mapFeaturesEnabled; - private double[] noiseArray; - private double[] stoneNoise = new double[256]; - private MapGenBase caveGenerator = new AtumMapGenCaves(); - private MapGenStronghold strongholdGenerator = new MapGenStronghold(); - private MapGenVillage villageGenerator = new MapGenVillage(); - private MapGenMineshaft mineshaftGenerator = new MapGenMineshaft(); - private MapGenScatteredFeature scatteredFeatureGenerator = new MapGenScatteredFeature(); - private MapGenBase ravineGenerator = new MapGenRavine(); - private BiomeGenBase[] biomesForGeneration; - double[] noise3; - double[] noise1; - double[] noise2; - double[] noise5; - double[] noise6; - float[] parabolicField; - int[][] field_73219_j = new int[32][32]; - - public AtumChunkProvider(World par1World, long par2, boolean par4) { - this.caveGenerator = TerrainGen.getModdedMapGen(this.caveGenerator, EventType.CAVE); - this.strongholdGenerator = (MapGenStronghold) TerrainGen.getModdedMapGen(this.strongholdGenerator, EventType.STRONGHOLD); - this.villageGenerator = (MapGenVillage) TerrainGen.getModdedMapGen(this.villageGenerator, EventType.VILLAGE); - this.mineshaftGenerator = (MapGenMineshaft) TerrainGen.getModdedMapGen(this.mineshaftGenerator, EventType.MINESHAFT); - this.scatteredFeatureGenerator = (MapGenScatteredFeature) TerrainGen.getModdedMapGen(this.scatteredFeatureGenerator, EventType.SCATTERED_FEATURE); - this.ravineGenerator = TerrainGen.getModdedMapGen(this.ravineGenerator, EventType.RAVINE); - this.worldObj = par1World; - this.mapFeaturesEnabled = par4; - this.rand = new Random(par2); - this.noiseGen1 = new NoiseGeneratorOctaves(this.rand, 16); - this.noiseGen2 = new NoiseGeneratorOctaves(this.rand, 16); - this.noiseGen3 = new NoiseGeneratorOctaves(this.rand, 8); - this.noiseGen4 = new NoiseGeneratorOctaves(this.rand, 4); - this.noiseGen5 = new NoiseGeneratorOctaves(this.rand, 10); - this.noiseGen6 = new NoiseGeneratorOctaves(this.rand, 16); - this.mobSpawnerNoise = new NoiseGeneratorOctaves(this.rand, 8); - NoiseGeneratorOctaves[] noiseGens = new NoiseGeneratorOctaves[] { this.noiseGen1, this.noiseGen2, this.noiseGen3, this.noiseGen4, this.noiseGen5, this.noiseGen6, this.mobSpawnerNoise }; - noiseGens = TerrainGen.getModdedNoiseGenerators(par1World, this.rand, noiseGens); - this.noiseGen1 = noiseGens[0]; - this.noiseGen2 = noiseGens[1]; - this.noiseGen3 = noiseGens[2]; - this.noiseGen4 = noiseGens[3]; - this.noiseGen5 = noiseGens[4]; - this.noiseGen6 = noiseGens[5]; - this.mobSpawnerNoise = noiseGens[6]; - } - - public void generateTerrain(int par1, int par2, short[] par3ArrayOfByte) { - byte b0 = 4; - byte b1 = 16; - byte b2 = 63; - int k = b0 + 1; - byte b3 = 17; - int l = b0 + 1; - this.biomesForGeneration = this.worldObj.getWorldChunkManager().getBiomesForGeneration(this.biomesForGeneration, par1 * 4 - 2, par2 * 4 - 2, k + 5, l + 5); - this.noiseArray = this.initializeNoiseField(this.noiseArray, par1 * b0, 0, par2 * b0, k, b3, l); - - for (int x1 = 0; x1 < b0; ++x1) { - for (int z1 = 0; z1 < b0; ++z1) { - for (int y1 = 0; y1 < b1; ++y1) { - double d0 = 0.125D; - double d1 = this.noiseArray[((x1 + 0) * l + z1 + 0) * b3 + y1 + 0]; - double d2 = this.noiseArray[((x1 + 0) * l + z1 + 1) * b3 + y1 + 0]; - double d3 = this.noiseArray[((x1 + 1) * l + z1 + 0) * b3 + y1 + 0]; - double d4 = this.noiseArray[((x1 + 1) * l + z1 + 1) * b3 + y1 + 0]; - double d5 = (this.noiseArray[((x1 + 0) * l + z1 + 0) * b3 + y1 + 1] - d1) * d0; - double d6 = (this.noiseArray[((x1 + 0) * l + z1 + 1) * b3 + y1 + 1] - d2) * d0; - double d7 = (this.noiseArray[((x1 + 1) * l + z1 + 0) * b3 + y1 + 1] - d3) * d0; - double d8 = (this.noiseArray[((x1 + 1) * l + z1 + 1) * b3 + y1 + 1] - d4) * d0; - - for (int y2 = 0; y2 < 8; ++y2) { - double d10 = d1; - double d11 = d2; - double d12 = (d3 - d1) * 0.25D; - double d13 = (d4 - d2) * 0.25D; - - for (int x2 = 0; x2 < 4; ++x2) { - int index = y1 * 8 + y2 << 8 | 0 + z1 * 4 << 4 | x2 + x1 * 4; - byte dy = 16; - index -= dy; - double d15 = (d11 - d10) * 0.25D; - double d16 = d10 - d15; - - for (int n = 0; n < 4; ++n) { - if ((d16 += d15) > 0.0D) { - if (index + dy < par3ArrayOfByte.length) { - par3ArrayOfByte[index += dy] = (short) AtumBlocks.stone.blockID; - } - } else if (y1 * 8 + y2 < b2) { - if (index + dy < par3ArrayOfByte.length) { - par3ArrayOfByte[index += dy] = (short) AtumBlocks.stone.blockID; - } - } else if (index + dy < par3ArrayOfByte.length) { - par3ArrayOfByte[index += dy] = 0; - } - } - - d10 += d12; - d11 += d13; - } - - d1 += d5; - d2 += d6; - d3 += d7; - d4 += d8; - } - } - } - } - - } - - public void replaceBlocksForBiome(int par1, int par2, short[] par3ArrayOfByte, BiomeGenBase[] par4ArrayOfBiomeGenBase) { - byte b0 = 63; - double d0 = 0.03125D; - this.stoneNoise = this.noiseGen4.generateNoiseOctaves(this.stoneNoise, par1 * 16, par2 * 16, 0, 16, 16, 1, d0 * 2.0D, d0 * 2.0D, d0 * 2.0D); - - for (int z = 0; z < 16; ++z) { - for (int x = 0; x < 16; ++x) { - BiomeGenBase biomegenbase = par4ArrayOfBiomeGenBase[x + z * 16]; - float f = biomegenbase.getFloatTemperature(); - int i1 = (int) (this.stoneNoise[z + x * 16] / 3.0D + 3.0D + this.rand.nextDouble() * 0.25D); - int j1 = -1; - short b1 = ((BiomeGenAtumDesert) biomegenbase).sTopBlock; - short b2 = ((BiomeGenAtumDesert) biomegenbase).sFillerBlock; - - for (int y = 127; y >= 0; --y) { - int l1 = y << 8 | z << 4 | x; - if (y <= 0 + this.rand.nextInt(5)) { - par3ArrayOfByte[l1] = (short) ((byte) Block.bedrock.blockID); - } else { - short b3 = par3ArrayOfByte[l1]; - if (b3 == 0) { - j1 = -1; - } else if (b3 == AtumBlocks.stone.blockID) { - if (j1 == -1) { - if (i1 <= 0) { - b1 = 0; - b2 = (short) AtumBlocks.stone.blockID; - } else if (y >= b0 - 4 && y <= b0 + 1) { - b1 = ((BiomeGenAtumDesert) biomegenbase).sTopBlock; - b2 = ((BiomeGenAtumDesert) biomegenbase).sFillerBlock; - } - - j1 = i1; - if (y >= b0 - 1) { - par3ArrayOfByte[l1] = b1; - } else { - par3ArrayOfByte[l1] = b2; - } - } else if (j1 > 0) { - --j1; - par3ArrayOfByte[l1] = b2; - if (j1 == 0 && b2 == AtumBlocks.sand.blockID) { - j1 = this.rand.nextInt(4); - b2 = (short) AtumBlocks.stone.blockID; - } - } - } - } - } - } - } - - } - - public Chunk loadChunk(int par1, int par2) { - return this.provideChunk(par1, par2); - } - - public Chunk provideChunk(int par1, int par2) { - long time = System.currentTimeMillis(); - this.rand.setSeed((long) par1 * 341873128712L + (long) par2 * 132897987541L); - short[] abyte = new short['\u8000']; - this.generateTerrain(par1, par2, abyte); - this.biomesForGeneration = this.worldObj.getWorldChunkManager().loadBlockGeneratorData(this.biomesForGeneration, par1 * 16, par2 * 16, 16, 16); - this.replaceBlocksForBiome(par1, par2, abyte, this.biomesForGeneration); - if (this.mapFeaturesEnabled) { - ; - } - - Chunk chunk = new Chunk(this.worldObj, abyte, new byte['\u8000'], par1, par2); - byte[] abyte1 = chunk.getBiomeArray(); - - for (int k = 0; k < abyte1.length; ++k) { - abyte1[k] = (byte) this.biomesForGeneration[k].biomeID; - } - - chunk.generateSkylightMap(); - return chunk; - } - - private double[] initializeNoiseField(double[] par1ArrayOfDouble, int par2, int par3, int par4, int par5, int par6, int par7) { - InitNoiseField event = new InitNoiseField(this, par1ArrayOfDouble, par2, par3, par4, par5, par6, par7); - MinecraftForge.EVENT_BUS.post(event); - if (event.getResult() == Result.DENY) { - return event.noisefield; - } else { - if (par1ArrayOfDouble == null) { - par1ArrayOfDouble = new double[par5 * par6 * par7]; - } - - if (this.parabolicField == null) { - this.parabolicField = new float[25]; - - for (int d0 = -2; d0 <= 2; ++d0) { - for (int l1 = -2; l1 <= 2; ++l1) { - float d1 = 10.0F / MathHelper.sqrt_float((float) (d0 * d0 + l1 * l1) + 0.2F); - this.parabolicField[d0 + 2 + (l1 + 2) * 5] = d1; - } - } - } - - double var45 = 684.412D; - double var46 = 684.412D; - this.noise5 = this.noiseGen5.generateNoiseOctaves(this.noise5, par2, par4, par5, par7, 1.121D, 1.121D, 0.5D); - this.noise6 = this.noiseGen6.generateNoiseOctaves(this.noise6, par2, par4, par5, par7, 200.0D, 200.0D, 0.5D); - this.noise3 = this.noiseGen3.generateNoiseOctaves(this.noise3, par2, par3, par4, par5, par6, par7, var45 / 80.0D, var46 / 160.0D, var45 / 80.0D); - this.noise1 = this.noiseGen1.generateNoiseOctaves(this.noise1, par2, par3, par4, par5, par6, par7, var45, var46, var45); - this.noise2 = this.noiseGen2.generateNoiseOctaves(this.noise2, par2, par3, par4, par5, par6, par7, var45, var46, var45); - boolean flag = false; - boolean flag1 = false; - int i2 = 0; - int j2 = 0; - - for (int k2 = 0; k2 < par5; ++k2) { - for (int l2 = 0; l2 < par7; ++l2) { - float f1 = 0.0F; - float f2 = 0.0F; - float f3 = 0.0F; - byte b0 = 2; - BiomeGenBase biomegenbase = this.biomesForGeneration[k2 + 2 + (l2 + 2) * (par5 + 5)]; - - for (int d2 = -b0; d2 <= b0; ++d2) { - for (int j3 = -b0; j3 <= b0; ++j3) { - BiomeGenBase k3 = this.biomesForGeneration[k2 + d2 + 2 + (l2 + j3 + 2) * (par5 + 5)]; - float d3 = this.parabolicField[d2 + 2 + (j3 + 2) * 5] / (k3.minHeight + 2.0F); - if (k3.minHeight > biomegenbase.minHeight) { - d3 /= 2.0F; - } - - f1 += k3.maxHeight * d3; - f2 += k3.minHeight * d3; - f3 += d3; - } - } - - f1 /= f3; - f2 /= f3; - f1 = f1 * 0.9F + 0.1F; - f2 = (f2 * 4.0F - 1.0F) / 8.0F; - double var47 = this.noise6[j2] / 8000.0D; - if (var47 < 0.0D) { - var47 = -var47 * 0.3D; - } - - var47 = var47 * 3.0D - 2.0D; - if (var47 < 0.0D) { - var47 /= 2.0D; - if (var47 < -1.0D) { - var47 = -1.0D; - } - - var47 /= 1.4D; - var47 /= 2.0D; - } else { - if (var47 > 1.0D) { - var47 = 1.0D; - } - - var47 /= 8.0D; - } - - ++j2; - - for (int var49 = 0; var49 < par6; ++var49) { - double var48 = (double) f2; - double d4 = (double) f1; - var48 += var47 * 0.2D; - var48 = var48 * (double) par6 / 16.0D; - double d5 = (double) par6 / 2.0D + var48 * 4.0D; - double d6 = 0.0D; - double d7 = ((double) var49 - d5) * 12.0D * 128.0D / 128.0D / d4; - if (d7 < 0.0D) { - d7 *= 4.0D; - } - - double d8 = this.noise1[i2] / 512.0D; - double d9 = this.noise2[i2] / 512.0D; - double d10 = (this.noise3[i2] / 10.0D + 1.0D) / 2.0D; - if (d10 < 0.0D) { - d6 = d8; - } else if (d10 > 1.0D) { - d6 = d9; - } else { - d6 = d8 + (d9 - d8) * d10; - } - - d6 -= d7; - if (var49 > par6 - 4) { - double d11 = (double) ((float) (var49 - (par6 - 4)) / 3.0F); - d6 = d6 * (1.0D - d11) + -10.0D * d11; - } - - par1ArrayOfDouble[i2] = d6; - ++i2; - } - } - } - - return par1ArrayOfDouble; - } - } - - public boolean chunkExists(int par1, int par2) { - return true; - } - - public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) { - long time = System.currentTimeMillis(); - BlockSand.fallInstantly = true; - int k = par2 * 16; - int l = par3 * 16; - BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(k + 16, l + 16); - this.rand.setSeed(this.worldObj.getSeed()); - long i1 = this.rand.nextLong() / 2L * 2L + 1L; - long j1 = this.rand.nextLong() / 2L * 2L + 1L; - this.rand.setSeed((long) par2 * i1 + (long) par3 * j1 ^ this.worldObj.getSeed()); - boolean flag = false; - MinecraftForge.EVENT_BUS.post(new Pre(par1IChunkProvider, this.worldObj, this.rand, par2, par3, flag)); - if (TerrainGen.populate(par1IChunkProvider, this.worldObj, this.rand, par2, par3, flag, net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.LAVA) && !flag && this.rand.nextInt(8) == 0) { - int k1 = k + this.rand.nextInt(16) + 8; - int l1 = this.rand.nextInt(this.rand.nextInt(120) + 8); - int i2 = l + this.rand.nextInt(16) + 8; - if (l1 < 63 || this.rand.nextInt(10) == 0) { - (new WorldGenLakes(Block.lavaStill.blockID)).generate(this.worldObj, this.rand, k1, l1, i2); - } - } - - biomegenbase.decorate(this.worldObj, this.rand, k, l); - SpawnerAnimals.performWorldGenSpawning(this.worldObj, biomegenbase, k + 8, l + 8, 16, 16, this.rand); - k += 8; - l += 8; - MinecraftForge.EVENT_BUS.post(new Post(par1IChunkProvider, this.worldObj, this.rand, par2, par3, flag)); - BlockSand.fallInstantly = false; - } - - public boolean saveChunks(boolean par1, IProgressUpdate par2IProgressUpdate) { - return true; - } - - public boolean unloadQueuedChunks() { - return false; - } - - public boolean canSave() { - return true; - } - - public String makeString() { - return "RandomLevelSource"; - } - - public List getPossibleCreatures(EnumCreatureType par1EnumCreatureType, int par2, int par3, int par4) { - BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(par2, par4); - return biomegenbase == null ? null : (biomegenbase == BiomeGenBase.swampland && par1EnumCreatureType == EnumCreatureType.monster && this.scatteredFeatureGenerator.hasStructureAt(par2, par3, par4) ? this.scatteredFeatureGenerator.getScatteredFeatureSpawnList() : biomegenbase.getSpawnableList(par1EnumCreatureType)); - } - - public ChunkPosition findClosestStructure(World par1World, String par2Str, int par3, int par4, int par5) { - return "Stronghold".equals(par2Str) && this.strongholdGenerator != null ? this.strongholdGenerator.getNearestInstance(par1World, par3, par4, par5) : null; - } - - public int getLoadedChunkCount() { - return 0; - } - - public void recreateStructures(int par1, int par2) { - if (this.mapFeaturesEnabled) { - this.mineshaftGenerator.generate(this, this.worldObj, par1, par2, (byte[]) null); - this.villageGenerator.generate(this, this.worldObj, par1, par2, (byte[]) null); - this.strongholdGenerator.generate(this, this.worldObj, par1, par2, (byte[]) null); - this.scatteredFeatureGenerator.generate(this, this.worldObj, par1, par2, (byte[]) null); - } - - } - - @Override - public void saveExtraData() { - - } -} diff --git a/common/rebelkeithy/mods/atum/world/AtumMapGenCaves.java b/common/rebelkeithy/mods/atum/world/AtumMapGenCaves.java deleted file mode 100644 index 9a67051..0000000 --- a/common/rebelkeithy/mods/atum/world/AtumMapGenCaves.java +++ /dev/null @@ -1,196 +0,0 @@ -package rebelkeithy.mods.atum.world; - -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import net.minecraft.world.gen.MapGenBase; -import rebelkeithy.mods.atum.AtumBlocks; - -public class AtumMapGenCaves extends MapGenBase { - - protected void generateLargeCaveNode(long par1, int par3, int par4, byte[] par5ArrayOfByte, double par6, double par8, double par10) { - this.generateCaveNode(par1, par3, par4, par5ArrayOfByte, par6, par8, par10, 1.0F + super.rand.nextFloat() * 6.0F, 0.0F, 0.0F, -1, -1, 0.5D); - } - - protected void generateCaveNode(long par1, int par3, int par4, byte[] par5ArrayOfByte, double par6, double par8, double par10, float par12, float par13, float par14, int par15, int par16, double par17) { - double d4 = (double)(par3 * 16 + 8); - double d5 = (double)(par4 * 16 + 8); - float f3 = 0.0F; - float f4 = 0.0F; - Random random = new Random(par1); - if(par16 <= 0) { - int flag = super.range * 16 - 16; - par16 = flag - random.nextInt(flag / 4); - } - - boolean var62 = false; - if(par15 == -1) { - par15 = par16 / 2; - var62 = true; - } - - int k1 = random.nextInt(par16 / 2) + par16 / 4; - - for(boolean flag1 = random.nextInt(6) == 0; par15 < par16; ++par15) { - double d6 = 1.5D + (double)(MathHelper.sin((float)par15 * 3.1415927F / (float)par16) * par12 * 1.0F); - double d7 = d6 * par17; - float f5 = MathHelper.cos(par14); - float f6 = MathHelper.sin(par14); - par6 += (double)(MathHelper.cos(par13) * f5); - par8 += (double)f6; - par10 += (double)(MathHelper.sin(par13) * f5); - if(flag1) { - par14 *= 0.92F; - } else { - par14 *= 0.7F; - } - - par14 += f4 * 0.1F; - par13 += f3 * 0.1F; - f4 *= 0.9F; - f3 *= 0.75F; - f4 += (random.nextFloat() - random.nextFloat()) * random.nextFloat() * 2.0F; - f3 += (random.nextFloat() - random.nextFloat()) * random.nextFloat() * 4.0F; - if(!var62 && par15 == k1 && par12 > 1.0F && par16 > 0) { - this.generateCaveNode(random.nextLong(), par3, par4, par5ArrayOfByte, par6, par8, par10, random.nextFloat() * 0.5F + 0.5F, par13 - 1.5707964F, par14 / 3.0F, par15, par16, 1.0D); - this.generateCaveNode(random.nextLong(), par3, par4, par5ArrayOfByte, par6, par8, par10, random.nextFloat() * 0.5F + 0.5F, par13 + 1.5707964F, par14 / 3.0F, par15, par16, 1.0D); - return; - } - - if(var62 || random.nextInt(4) != 0) { - double d8 = par6 - d4; - double d9 = par10 - d5; - double d10 = (double)(par16 - par15); - double d11 = (double)(par12 + 2.0F + 16.0F); - if(d8 * d8 + d9 * d9 - d10 * d10 > d11 * d11) { - return; - } - - if(par6 >= d4 - 16.0D - d6 * 2.0D && par10 >= d5 - 16.0D - d6 * 2.0D && par6 <= d4 + 16.0D + d6 * 2.0D && par10 <= d5 + 16.0D + d6 * 2.0D) { - int l1 = MathHelper.floor_double(par6 - d6) - par3 * 16 - 1; - int i2 = MathHelper.floor_double(par6 + d6) - par3 * 16 + 1; - int j2 = MathHelper.floor_double(par8 - d7) - 1; - int k2 = MathHelper.floor_double(par8 + d7) + 1; - int l2 = MathHelper.floor_double(par10 - d6) - par4 * 16 - 1; - int i3 = MathHelper.floor_double(par10 + d6) - par4 * 16 + 1; - if(l1 < 0) { - l1 = 0; - } - - if(i2 > 16) { - i2 = 16; - } - - if(j2 < 1) { - j2 = 1; - } - - if(k2 > 120) { - k2 = 120; - } - - if(l2 < 0) { - l2 = 0; - } - - if(i3 > 16) { - i3 = 16; - } - - boolean flag2 = false; - - int k3; - int j3; - for(j3 = l1; !flag2 && j3 < i2; ++j3) { - for(int d12 = l2; !flag2 && d12 < i3; ++d12) { - for(int i4 = k2 + 1; !flag2 && i4 >= j2 - 1; --i4) { - k3 = (j3 * 16 + d12) * 128 + i4; - if(i4 >= 0 && i4 < 128) { - if(par5ArrayOfByte[k3] == Block.waterMoving.blockID || par5ArrayOfByte[k3] == Block.waterStill.blockID) { - flag2 = true; - } - - if(i4 != j2 - 1 && j3 != l1 && j3 != i2 - 1 && d12 != l2 && d12 != i3 - 1) { - i4 = j2; - } - } - } - } - } - - if(!flag2) { - for(j3 = l1; j3 < i2; ++j3) { - double var63 = ((double)(j3 + par3 * 16) + 0.5D - par6) / d6; - - for(k3 = l2; k3 < i3; ++k3) { - double d13 = ((double)(k3 + par4 * 16) + 0.5D - par10) / d6; - int j4 = (j3 * 16 + k3) * 128 + k2; - boolean flag3 = false; - if(var63 * var63 + d13 * d13 < 1.0D) { - for(int k4 = k2 - 1; k4 >= j2; --k4) { - double d14 = ((double)k4 + 0.5D - par8) / d7; - if(d14 > -0.7D && var63 * var63 + d14 * d14 + d13 * d13 < 1.0D) { - byte b0 = par5ArrayOfByte[j4]; - if(b0 == Block.grass.blockID) { - flag3 = true; - } - - if(b0 == AtumBlocks.stone.blockID || b0 == AtumBlocks.sand.blockID) { - if(k4 < 10) { - par5ArrayOfByte[j4] = (byte)Block.lavaMoving.blockID; - } else { - par5ArrayOfByte[j4] = 0; - if(flag3 && par5ArrayOfByte[j4 - 1] == AtumBlocks.sand.blockID) { - par5ArrayOfByte[j4 - 1] = super.worldObj.getBiomeGenForCoords(j3 + par3 * 16, k3 + par4 * 16).topBlock; - } - } - } - } - - --j4; - } - } - } - } - - if(var62) { - break; - } - } - } - } - } - - } - - protected void recursiveGenerate(World par1World, int par2, int par3, int par4, int par5, byte[] par6ArrayOfByte) { - int i1 = super.rand.nextInt(super.rand.nextInt(super.rand.nextInt(40) + 1) + 1); - if(super.rand.nextInt(15) != 0) { - i1 = 0; - } - - for(int j1 = 0; j1 < i1; ++j1) { - double d0 = (double)(par2 * 16 + super.rand.nextInt(16)); - double d1 = (double)super.rand.nextInt(super.rand.nextInt(120) + 8); - double d2 = (double)(par3 * 16 + super.rand.nextInt(16)); - int k1 = 1; - if(super.rand.nextInt(4) == 0) { - this.generateLargeCaveNode(super.rand.nextLong(), par4, par5, par6ArrayOfByte, d0, d1, d2); - k1 += super.rand.nextInt(4); - } - - for(int l1 = 0; l1 < k1; ++l1) { - float f = super.rand.nextFloat() * 3.1415927F * 2.0F; - float f1 = (super.rand.nextFloat() - 0.5F) * 2.0F / 8.0F; - float f2 = super.rand.nextFloat() * 2.0F + super.rand.nextFloat(); - if(super.rand.nextInt(10) == 0) { - f2 *= super.rand.nextFloat() * super.rand.nextFloat() * 3.0F + 1.0F; - } - - this.generateCaveNode(super.rand.nextLong(), par4, par5, par6ArrayOfByte, d0, d1, d2, f2, f, f1, 0, 0, 1.0D); - } - } - - } -} diff --git a/common/rebelkeithy/mods/atum/world/AtumWorldProvider.java b/common/rebelkeithy/mods/atum/world/AtumWorldProvider.java deleted file mode 100644 index 6362de4..0000000 --- a/common/rebelkeithy/mods/atum/world/AtumWorldProvider.java +++ /dev/null @@ -1,95 +0,0 @@ -package rebelkeithy.mods.atum.world; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.util.MathHelper; -import net.minecraft.util.Vec3; -import net.minecraft.world.WorldProvider; -import net.minecraft.world.biome.WorldChunkManagerHell; -import net.minecraft.world.chunk.IChunkProvider; -import rebelkeithy.mods.atum.Atum; -import rebelkeithy.mods.atum.AtumConfig; -import rebelkeithy.mods.atum.world.AtumChunkProvider; - -public class AtumWorldProvider extends WorldProvider { - - public String getDimensionName() { - return "Atum"; - } - - protected void registerWorldChunkManager() { - super.worldChunkMgr = new WorldChunkManagerHell(Atum.atumDesert, 0.8F, 0.1F); - super.dimensionId = AtumConfig.dimensionID; - } - - public IChunkProvider createChunkGenerator() { - return new AtumChunkProvider(super.worldObj, super.worldObj.getSeed(), true); - } - - protected void generateLightBrightnessTable() { - float f = 0.0F; - - for(int i = 0; i <= 15; ++i) { - float scaledBrightness = (float)i / 15.0F; - float f1 = 1.0F - scaledBrightness; - if(i < 5) { - super.lightBrightnessTable[i] = 0.5F * scaledBrightness / (f1 * 3.0F + 1.0F) * (1.0F - f) + f; - } else { - super.lightBrightnessTable[i] = scaledBrightness / (f1 * 3.0F + 1.0F) * (1.0F - f) + f; - } - } - - } - - public float calculateCelestialAngle(long par1, float par3) { - int j = (int)(par1 % 48000L); - float f1 = ((float)j + par3) / 48000.0F - 0.25F; - if(f1 < 0.0F) { - ++f1; - } - - if(f1 > 1.0F) { - --f1; - } - - float f2 = f1; - f1 = 1.0F - (float)((Math.cos((double)f1 * 3.141592653589793D) + 1.0D) / 2.0D); - f1 = f2 + (f1 - f2) / 3.0F; - return f1; - } - - @SideOnly(Side.CLIENT) - public Vec3 getFogColor(float par1, float par2) { - float f2 = MathHelper.cos(par1 * 3.1415927F * 2.0F) * 2.0F + 0.5F; - if(f2 < 0.2F) { - f2 = 0.2F; - } - - if(f2 > 1.0F) { - f2 = 1.0F; - } - - float f3 = 0.7529412F; - float f4 = 0.84705883F; - float f5 = 1.0F; - float var10000 = f3 * (f2 * 0.94F + 0.06F); - var10000 = f4 * (f2 * 0.94F + 0.06F); - var10000 = f5 * (f2 * 0.91F + 0.09F); - f3 = 0.9F * f2; - f4 = 0.75F * f2; - f5 = 0.6F * f2; - return super.worldObj.getWorldVec3Pool().getVecFromPool((double)f3, (double)f4, (double)f5); - } - - public boolean doesXZShowFog(int par1, int par2) { - return false; - } - - public String getWelcomeMessage() { - return "Entering Atum"; - } - - public String getDepartMessage() { - return "Leaving Atum"; - } -} diff --git a/common/rebelkeithy/mods/atum/world/AtumWorldServer.java b/common/rebelkeithy/mods/atum/world/AtumWorldServer.java deleted file mode 100644 index 85fff9b..0000000 --- a/common/rebelkeithy/mods/atum/world/AtumWorldServer.java +++ /dev/null @@ -1,21 +0,0 @@ -package rebelkeithy.mods.atum.world; - -import net.minecraft.logging.ILogAgent; -import net.minecraft.profiler.Profiler; -import net.minecraft.server.MinecraftServer; -import net.minecraft.world.Teleporter; -import net.minecraft.world.WorldServer; -import net.minecraft.world.WorldSettings; -import net.minecraft.world.storage.ISaveHandler; -import rebelkeithy.mods.atum.AtumTeleporter; - -public class AtumWorldServer extends WorldServer { - - public AtumWorldServer(MinecraftServer par1MinecraftServer, ISaveHandler par2iSaveHandler, String par3Str, int par4, WorldSettings par5WorldSettings, Profiler par6Profiler, ILogAgent par7iLogAgent) { - super(par1MinecraftServer, par2iSaveHandler, par3Str, par4, par5WorldSettings, par6Profiler, par7iLogAgent); - } - - public Teleporter getDefaultTeleporter() { - return new AtumTeleporter(this); - } -} diff --git a/common/rebelkeithy/mods/atum/world/biome/BiomeDecoratorAtum.java b/common/rebelkeithy/mods/atum/world/biome/BiomeDecoratorAtum.java deleted file mode 100644 index 5f3a87f..0000000 --- a/common/rebelkeithy/mods/atum/world/biome/BiomeDecoratorAtum.java +++ /dev/null @@ -1,193 +0,0 @@ -package rebelkeithy.mods.atum.world.biome; - -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.world.World; -import net.minecraft.world.biome.BiomeDecorator; -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.gen.feature.WorldGenBigMushroom; -import net.minecraft.world.gen.feature.WorldGenCactus; -import net.minecraft.world.gen.feature.WorldGenFlowers; -import net.minecraft.world.gen.feature.WorldGenLiquids; -import net.minecraft.world.gen.feature.WorldGenMinable; -import net.minecraft.world.gen.feature.WorldGenReed; -import net.minecraft.world.gen.feature.WorldGenSand; -import net.minecraft.world.gen.feature.WorldGenWaterlily; -import net.minecraft.world.gen.feature.WorldGenerator; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.terraingen.TerrainGen; -import net.minecraftforge.event.terraingen.DecorateBiomeEvent.Post; -import net.minecraftforge.event.terraingen.DecorateBiomeEvent.Pre; -import net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.world.decorators.WorldGenShrub; - -public class BiomeDecoratorAtum extends BiomeDecorator { - - private float shrubChance; - - - public BiomeDecoratorAtum(BiomeGenBase par1BiomeGenBase) { - super(par1BiomeGenBase); - super.sandGen = new WorldGenSand(7, AtumBlocks.sand.blockID); - super.gravelAsSandGen = new WorldGenSand(6, Block.gravel.blockID); - super.dirtGen = new WorldGenMinable(Block.dirt.blockID, 32); - super.gravelGen = new WorldGenMinable(Block.gravel.blockID, 32); - super.coalGen = new WorldGenMinable(AtumBlocks.coalOre.blockID, 16, AtumBlocks.stone.blockID); - super.ironGen = new WorldGenMinable(AtumBlocks.ironOre.blockID, 8, AtumBlocks.stone.blockID); - super.goldGen = new WorldGenMinable(AtumBlocks.goldOre.blockID, 8, AtumBlocks.stone.blockID); - super.redstoneGen = new WorldGenMinable(AtumBlocks.redstoneOre.blockID, 7, AtumBlocks.stone.blockID); - super.diamondGen = new WorldGenMinable(AtumBlocks.diamondOre.blockID, 7, AtumBlocks.stone.blockID); - super.lapisGen = new WorldGenMinable(AtumBlocks.lapisOre.blockID, 6); - super.plantYellowGen = new WorldGenFlowers(Block.plantYellow.blockID); - super.plantRedGen = new WorldGenFlowers(Block.plantRed.blockID); - super.mushroomBrownGen = new WorldGenFlowers(Block.mushroomBrown.blockID); - super.mushroomRedGen = new WorldGenFlowers(Block.mushroomRed.blockID); - super.bigMushroomGen = new WorldGenBigMushroom(); - super.reedGen = new WorldGenReed(); - super.cactusGen = new WorldGenCactus(); - super.waterlilyGen = new WorldGenWaterlily(); - super.waterlilyPerChunk = 0; - super.treesPerChunk = 0; - super.flowersPerChunk = 2; - super.grassPerChunk = 1; - super.deadBushPerChunk = 1; - this.shrubChance = 0.3F; - super.mushroomsPerChunk = 0; - super.reedsPerChunk = 0; - super.cactiPerChunk = 0; - super.sandPerChunk = 1; - super.sandPerChunk2 = 3; - super.clayPerChunk = 1; - super.bigMushroomsPerChunk = 0; - super.generateLakes = true; - super.biome = par1BiomeGenBase; - } - - public void decorate(World par1World, Random par2Random, int par3, int par4) { - if(super.currentWorld != null) { - throw new RuntimeException("Already decorating!!"); - } else { - super.currentWorld = par1World; - super.randomGenerator = par2Random; - super.chunk_X = par3; - super.chunk_Z = par4; - this.decorate(); - super.currentWorld = null; - super.randomGenerator = null; - } - } - - protected void decorate() { - MinecraftForge.EVENT_BUS.post(new Pre(super.currentWorld, super.randomGenerator, super.chunk_X, super.chunk_Z)); - this.generateOres(); - boolean doGen = TerrainGen.decorate(super.currentWorld, super.randomGenerator, super.chunk_X, super.chunk_Z, EventType.SAND_PASS2); - - int i; - int j; - int k; - long time; - for(i = 0; doGen && i < super.sandPerChunk; ++i) { - j = super.chunk_X + super.randomGenerator.nextInt(16) + 8; - k = super.chunk_Z + super.randomGenerator.nextInt(16) + 8; - time = System.nanoTime(); - super.sandGen.generate(super.currentWorld, super.randomGenerator, j, super.currentWorld.getTopSolidOrLiquidBlock(j, k), k); - } - - i = super.treesPerChunk; - if(super.randomGenerator.nextInt(10) == 0) { - ++i; - } - - time = System.nanoTime(); - doGen = TerrainGen.decorate(super.currentWorld, super.randomGenerator, super.chunk_X, super.chunk_Z, EventType.GRASS); - - int l; - int i1; - for(j = 0; doGen && j < super.grassPerChunk; ++j) { - k = super.chunk_X + super.randomGenerator.nextInt(16) + 8; - l = super.randomGenerator.nextInt(128); - i1 = super.chunk_Z + super.randomGenerator.nextInt(16) + 8; - WorldGenerator worldgenerator1 = super.biome.getRandomWorldGenForGrass(super.randomGenerator); - worldgenerator1.generate(super.currentWorld, super.randomGenerator, k, l, i1); - } - - if(super.randomGenerator.nextFloat() < this.shrubChance) { - k = super.chunk_X + super.randomGenerator.nextInt(16) + 8; - l = super.randomGenerator.nextInt(128); - i1 = super.chunk_Z + super.randomGenerator.nextInt(16) + 8; - time = System.nanoTime(); - (new WorldGenShrub(AtumBlocks.shrub.blockID, 8)).generate(super.currentWorld, super.randomGenerator, k, l, i1); - } - - if(super.randomGenerator.nextFloat() < this.shrubChance) { - k = super.chunk_X + super.randomGenerator.nextInt(16) + 8; - l = super.randomGenerator.nextInt(128); - i1 = super.chunk_Z + super.randomGenerator.nextInt(16) + 8; - time = System.nanoTime(); - (new WorldGenShrub(AtumBlocks.weed.blockID, 8)).generate(super.currentWorld, super.randomGenerator, k, l, i1); - } - - doGen = TerrainGen.decorate(super.currentWorld, super.randomGenerator, super.chunk_X, super.chunk_Z, EventType.LAKE); - if(doGen && super.generateLakes) { - for(j = 0; j < 20; ++j) { - k = super.chunk_X + super.randomGenerator.nextInt(16) + 8; - l = super.randomGenerator.nextInt(super.randomGenerator.nextInt(super.randomGenerator.nextInt(112) + 8) + 8); - i1 = super.chunk_Z + super.randomGenerator.nextInt(16) + 8; - time = System.nanoTime(); - (new WorldGenLiquids(Block.lavaMoving.blockID)).generate(super.currentWorld, super.randomGenerator, k, l, i1); - } - } - - MinecraftForge.EVENT_BUS.post(new Post(super.currentWorld, super.randomGenerator, super.chunk_X, super.chunk_Z)); - } - - protected void genStandardOre1(int par1, WorldGenerator par2WorldGenerator, int par3, int par4) { - for(int l = 0; l < par1; ++l) { - int i1 = super.chunk_X + super.randomGenerator.nextInt(16); - int j1 = super.randomGenerator.nextInt(par4 - par3) + par3; - int k1 = super.chunk_Z + super.randomGenerator.nextInt(16); - par2WorldGenerator.generate(super.currentWorld, super.randomGenerator, i1, j1, k1); - } - - } - - protected void genStandardOre2(int par1, WorldGenerator par2WorldGenerator, int par3, int par4) { - for(int l = 0; l < par1; ++l) { - int i1 = super.chunk_X + super.randomGenerator.nextInt(16); - int j1 = super.randomGenerator.nextInt(par4) + super.randomGenerator.nextInt(par4) + (par3 - par4); - int k1 = super.chunk_Z + super.randomGenerator.nextInt(16); - par2WorldGenerator.generate(super.currentWorld, super.randomGenerator, i1, j1, k1); - } - - } - - protected void generateOres() { - MinecraftForge.ORE_GEN_BUS.post(new net.minecraftforge.event.terraingen.OreGenEvent.Pre(super.currentWorld, super.randomGenerator, super.chunk_X, super.chunk_Z)); - if(TerrainGen.generateOre(super.currentWorld, super.randomGenerator, super.coalGen, super.chunk_X, super.chunk_Z, net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.COAL)) { - this.genStandardOre1(20, super.coalGen, 0, 128); - } - - if(TerrainGen.generateOre(super.currentWorld, super.randomGenerator, super.ironGen, super.chunk_X, super.chunk_Z, net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.IRON)) { - this.genStandardOre1(20, super.ironGen, 0, 64); - } - - if(TerrainGen.generateOre(super.currentWorld, super.randomGenerator, super.goldGen, super.chunk_X, super.chunk_Z, net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.GOLD)) { - this.genStandardOre1(2, super.goldGen, 0, 32); - } - - if(TerrainGen.generateOre(super.currentWorld, super.randomGenerator, super.redstoneGen, super.chunk_X, super.chunk_Z, net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.REDSTONE)) { - this.genStandardOre1(8, super.redstoneGen, 0, 16); - } - - if(TerrainGen.generateOre(super.currentWorld, super.randomGenerator, super.diamondGen, super.chunk_X, super.chunk_Z, net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.DIAMOND)) { - this.genStandardOre1(1, super.diamondGen, 0, 16); - } - - if(TerrainGen.generateOre(super.currentWorld, super.randomGenerator, super.lapisGen, super.chunk_X, super.chunk_Z, net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.LAPIS)) { - this.genStandardOre2(1, super.lapisGen, 16, 16); - } - - MinecraftForge.ORE_GEN_BUS.post(new net.minecraftforge.event.terraingen.OreGenEvent.Post(super.currentWorld, super.randomGenerator, super.chunk_X, super.chunk_Z)); - } -} diff --git a/common/rebelkeithy/mods/atum/world/biome/BiomeGenAtumDesert.java b/common/rebelkeithy/mods/atum/world/biome/BiomeGenAtumDesert.java deleted file mode 100644 index ed79cdf..0000000 --- a/common/rebelkeithy/mods/atum/world/biome/BiomeGenAtumDesert.java +++ /dev/null @@ -1,127 +0,0 @@ -package rebelkeithy.mods.atum.world.biome; - -import java.util.Random; - -import net.minecraft.world.World; -import net.minecraft.world.biome.BiomeDecorator; -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.biome.SpawnListEntry; -import net.minecraft.world.gen.feature.WorldGenerator; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.entities.EntityBanditArcher; -import rebelkeithy.mods.atum.entities.EntityBanditWarlord; -import rebelkeithy.mods.atum.entities.EntityBanditWarrior; -import rebelkeithy.mods.atum.entities.EntityBarbarian; -import rebelkeithy.mods.atum.entities.EntityDesertWolf; -import rebelkeithy.mods.atum.entities.EntityDustySkeleton; -import rebelkeithy.mods.atum.entities.EntityGhost; -import rebelkeithy.mods.atum.entities.EntityMummy; -import rebelkeithy.mods.atum.entities.EntityStoneSoldier; -import rebelkeithy.mods.atum.world.biome.BiomeDecoratorAtum; -import rebelkeithy.mods.atum.world.decorators.WorldGenAtumTrees; -import rebelkeithy.mods.atum.world.decorators.WorldGenOasis; -import rebelkeithy.mods.atum.world.decorators.WorldGenPalace; -import rebelkeithy.mods.atum.world.decorators.WorldGenPalm; -import rebelkeithy.mods.atum.world.decorators.WorldGenPyramid; -import rebelkeithy.mods.atum.world.decorators.WorldGenRuins; - -public class BiomeGenAtumDesert extends BiomeGenBase { - - public WorldGenerator treeGenerator; - public WorldGenerator palmGenerator; - public WorldGenerator ruinsGenerator; - public short sTopBlock; - public short sFillerBlock; - - - public BiomeGenAtumDesert(int par1) { - super(par1); - super.spawnableCreatureList.clear(); - this.sTopBlock = (short)AtumBlocks.sand.blockID; - this.sFillerBlock = (short)AtumBlocks.sand.blockID; - super.theBiomeDecorator.treesPerChunk = 1; - super.theBiomeDecorator.deadBushPerChunk = 5; - super.theBiomeDecorator.reedsPerChunk = 0; - super.theBiomeDecorator.cactiPerChunk = 0; - this.treeGenerator = new WorldGenAtumTrees(true); - this.palmGenerator = new WorldGenPalm(true); - this.ruinsGenerator = new WorldGenRuins(); - super.spawnableMonsterList.clear(); - super.spawnableCreatureList.clear(); - super.spawnableWaterCreatureList.clear(); - super.spawnableCaveCreatureList.clear(); - super.spawnableMonsterList.add(new SpawnListEntry(EntityMummy.class, 6, 4, 4)); - super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditWarlord.class, 1, 1, 1)); - super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditWarrior.class, 6, 2, 2)); - super.spawnableMonsterList.add(new SpawnListEntry(EntityBarbarian.class, 2, 4, 4)); - super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditArcher.class, 6, 4, 4)); - super.spawnableMonsterList.add(new SpawnListEntry(EntityDustySkeleton.class, 6, 4, 4)); - super.spawnableMonsterList.add(new SpawnListEntry(EntityGhost.class, 6, 4, 4)); - super.spawnableMonsterList.add(new SpawnListEntry(EntityDesertWolf.class, 6, 4, 4)); - super.spawnableMonsterList.add(new SpawnListEntry(EntityStoneSoldier.class, 6, 4, 4)); - } - - public BiomeDecorator createBiomeDecorator() { - return new BiomeDecoratorAtum(this); - } - - public WorldGenerator getRandomWorldGenForTrees(Random par1Random) { - return this.treeGenerator; - } - - public void decorate(World par1World, Random par2Random, int par3, int par4) { - super.decorate(par1World, par2Random, par3, par4); - long time; - int k; - int l; - if(par2Random.nextInt(100) == 0) { - k = par3 + par2Random.nextInt(16) + 8; - l = par4 + par2Random.nextInt(16) + 8; - time = System.nanoTime(); - (new WorldGenOasis(false)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); - } - - if(par2Random.nextInt(20) == 0) { - k = par3 + par2Random.nextInt(16) + 8; - l = par4 + par2Random.nextInt(16) + 8; - time = System.nanoTime(); - this.ruinsGenerator.generate(par1World, par2Random, k, par1World.getHeightValue(k, l) + 1, l); - } - - int height; - if(par2Random.nextInt(5) == 0) { - k = par3 + par2Random.nextInt(16) + 8; - l = par4 + par2Random.nextInt(16) + 8; - height = par2Random.nextInt(4) + 5; - time = System.nanoTime(); - (new WorldGenPalm(true, height, 0, 0)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); - } - - if(par2Random.nextInt(7) == 0) { - k = par3 + par2Random.nextInt(16) + 8; - l = par4 + par2Random.nextInt(16) + 8; - height = par2Random.nextInt(4) + 4; - time = System.nanoTime(); - (new WorldGenAtumTrees(true)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); - } - - if(par2Random.nextInt(120) == 0) { - k = par3 + par2Random.nextInt(16) + 8; - l = par4 + par2Random.nextInt(16) + 8; - time = System.nanoTime(); - (new WorldGenPyramid()).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); - } - - if(par2Random.nextInt(160) == 0) { - k = par3 + par2Random.nextInt(16) + 8; - l = par4 + par2Random.nextInt(16) + 8; - height = par2Random.nextInt(10); - if(height <= 20) { - height += 30; - } - - (new WorldGenPalace()).generate(par1World, par2Random, k, height, l); - } - - } -} diff --git a/common/rebelkeithy/mods/atum/world/biome/MobSpawnController.java b/common/rebelkeithy/mods/atum/world/biome/MobSpawnController.java deleted file mode 100644 index 4bc6c18..0000000 --- a/common/rebelkeithy/mods/atum/world/biome/MobSpawnController.java +++ /dev/null @@ -1,27 +0,0 @@ -package rebelkeithy.mods.atum.world.biome; - -import java.util.List; -import net.minecraft.world.biome.SpawnListEntry; -import net.minecraftforge.event.ForgeSubscribe; -import net.minecraftforge.event.world.WorldEvent.PotentialSpawns; -import rebelkeithy.mods.atum.entities.IAtumDayMob; -import rebelkeithy.mods.atum.entities.IAtumNightMob; - -public class MobSpawnController { - - @ForgeSubscribe - public void getPotentialSpawns(PotentialSpawns event) { - List list = event.list; - int time = (int)(event.world.getWorldTime() % 48000L); - System.out.println(time); - - for(int i = 0; i < list.size(); ++i) { - System.out.println(time); - if((!IAtumDayMob.class.isAssignableFrom(((SpawnListEntry)list.get(i)).entityClass) || time <= 0 || time >= 24000) && (!IAtumNightMob.class.isAssignableFrom(((SpawnListEntry)list.get(i)).entityClass) || time <= 24000 || time >= '\ubb80')) { - list.remove(i); - --i; - } - } - - } -} diff --git a/common/rebelkeithy/mods/atum/world/decorators/WorldGenAtumTrees.java b/common/rebelkeithy/mods/atum/world/decorators/WorldGenAtumTrees.java deleted file mode 100644 index 7b14950..0000000 --- a/common/rebelkeithy/mods/atum/world/decorators/WorldGenAtumTrees.java +++ /dev/null @@ -1,367 +0,0 @@ -package rebelkeithy.mods.atum.world.decorators; - -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenerator; -import rebelkeithy.mods.atum.AtumBlocks; - -public class WorldGenAtumTrees extends WorldGenerator { - - static final byte[] otherCoordPairs = new byte[]{(byte)2, (byte)0, (byte)0, (byte)1, (byte)2, (byte)1}; - Random rand = new Random(); - World worldObj; - int[] basePos = new int[]{0, 0, 0}; - int heightLimit = 0; - int height; - double heightAttenuation = 0.618D; - double branchDensity = 1.0D; - double branchSlope = 0.381D; - double scaleWidth = 1.0D; - double leafDensity = 1.0D; - int trunkSize = 1; - int heightLimitLimit = 12; - int leafDistanceLimit = 4; - int[][] leafNodes; - - - public WorldGenAtumTrees(boolean par1) { - super(par1); - } - - void generateLeafNodeList() { - this.height = (int)((double)this.heightLimit * this.heightAttenuation); - if(this.height >= this.heightLimit) { - this.height = this.heightLimit - 1; - } - - int i = (int)(1.382D + Math.pow(this.leafDensity * (double)this.heightLimit / 13.0D, 2.0D)); - if(i < 1) { - i = 1; - } - - int[][] aint = new int[i * this.heightLimit][4]; - int j = this.basePos[1] + this.heightLimit - this.leafDistanceLimit; - int k = 1; - int l = this.basePos[1] + this.height; - int i1 = j - this.basePos[1]; - aint[0][0] = this.basePos[0]; - aint[0][1] = j; - aint[0][2] = this.basePos[2]; - aint[0][3] = l; - --j; - - while(i1 >= 0) { - int j1 = 0; - float f = this.layerSize(i1); - if(f < 0.0F) { - --j; - --i1; - } else { - for(double d0 = 0.5D; j1 < i; ++j1) { - double d1 = this.scaleWidth * (double)f * ((double)this.rand.nextFloat() + 0.328D); - double d2 = (double)this.rand.nextFloat() * 2.0D * 3.141592653589793D; - int k1 = MathHelper.floor_double(d1 * Math.sin(d2) + (double)this.basePos[0] + d0); - int l1 = MathHelper.floor_double(d1 * Math.cos(d2) + (double)this.basePos[2] + d0); - int[] aint1 = new int[]{k1, j, l1}; - int[] aint2 = new int[]{k1, j + this.leafDistanceLimit, l1}; - if(this.checkBlockLine(aint1, aint2) == -1) { - int[] aint3 = new int[]{this.basePos[0], this.basePos[1], this.basePos[2]}; - double d3 = Math.sqrt(Math.pow((double)Math.abs(this.basePos[0] - aint1[0]), 2.0D) + Math.pow((double)Math.abs(this.basePos[2] - aint1[2]), 2.0D)); - double d4 = d3 * this.branchSlope; - if((double)aint1[1] - d4 > (double)l) { - aint3[1] = l; - } else { - aint3[1] = (int)((double)aint1[1] - d4); - } - - if(this.checkBlockLine(aint3, aint1) == -1) { - aint[k][0] = k1; - aint[k][1] = j; - aint[k][2] = l1; - aint[k][3] = aint3[1]; - ++k; - } - } - } - - --j; - --i1; - } - } - - this.leafNodes = new int[k][4]; - System.arraycopy(aint, 0, this.leafNodes, 0, k); - } - - void genTreeLayer(int par1, int par2, int par3, float par4, byte par5, int par6) { - int i1 = (int)((double)par4 + 0.618D); - byte b1 = otherCoordPairs[par5]; - byte b2 = otherCoordPairs[par5 + 3]; - int[] aint = new int[]{par1, par2, par3}; - int[] aint1 = new int[]{0, 0, 0}; - int j1 = -i1; - int k1 = -i1; - - for(aint1[par5] = aint[par5]; j1 <= i1; ++j1) { - aint1[b1] = aint[b1] + j1; - k1 = -i1; - - while(k1 <= i1) { - double d0 = Math.pow((double)Math.abs(j1) + 0.5D, 2.0D) + Math.pow((double)Math.abs(k1) + 0.5D, 2.0D); - if(d0 > (double)(par4 * par4)) { - ++k1; - } else { - aint1[b2] = aint[b2] + k1; - int l1 = this.worldObj.getBlockId(aint1[0], aint1[1], aint1[2]); - if(l1 != 0 && l1 != Block.leaves.blockID) { - ++k1; - } else { - if(par6 != Block.leaves.blockID) { - this.setBlockAndMetadata(this.worldObj, aint1[0], aint1[1], aint1[2], par6, 0); - } - - ++k1; - } - } - } - } - - } - - float layerSize(int par1) { - if((double)par1 < (double)((float)this.heightLimit) * 0.3D) { - return -1.618F; - } else { - float f = (float)this.heightLimit / 2.0F; - float f1 = (float)this.heightLimit / 2.0F - (float)par1; - float f2; - if(f1 == 0.0F) { - f2 = f; - } else if(Math.abs(f1) >= f) { - f2 = 0.0F; - } else { - f2 = (float)Math.sqrt(Math.pow((double)Math.abs(f), 2.0D) - Math.pow((double)Math.abs(f1), 2.0D)); - } - - f2 *= 0.5F; - return f2; - } - } - - float leafSize(int par1) { - return par1 >= 0 && par1 < this.leafDistanceLimit?(par1 != 0 && par1 != this.leafDistanceLimit - 1?3.0F:2.0F):-1.0F; - } - - void generateLeafNode(int par1, int par2, int par3) { - int l = par2; - - for(int i1 = par2 + this.leafDistanceLimit; l < i1; ++l) { - float f = this.leafSize(l - par2); - this.genTreeLayer(par1, l, par3, f, (byte)1, Block.leaves.blockID); - } - - } - - void placeBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger, int par3) { - int[] aint2 = new int[]{0, 0, 0}; - byte b0 = 0; - - byte b1; - for(b1 = 0; b0 < 3; ++b0) { - aint2[b0] = par2ArrayOfInteger[b0] - par1ArrayOfInteger[b0]; - if(Math.abs(aint2[b0]) > Math.abs(aint2[b1])) { - b1 = b0; - } - } - - if(aint2[b1] != 0) { - byte b2 = otherCoordPairs[b1]; - byte b3 = otherCoordPairs[b1 + 3]; - byte b4; - if(aint2[b1] > 0) { - b4 = 1; - } else { - b4 = -1; - } - - double d0 = (double)aint2[b2] / (double)aint2[b1]; - double d1 = (double)aint2[b3] / (double)aint2[b1]; - int[] aint3 = new int[]{0, 0, 0}; - int j = 0; - - for(int k = aint2[b1] + b4; j != k; j += b4) { - aint3[b1] = MathHelper.floor_double((double)(par1ArrayOfInteger[b1] + j) + 0.5D); - aint3[b2] = MathHelper.floor_double((double)par1ArrayOfInteger[b2] + (double)j * d0 + 0.5D); - aint3[b3] = MathHelper.floor_double((double)par1ArrayOfInteger[b3] + (double)j * d1 + 0.5D); - byte b5 = 0; - int l = Math.abs(aint3[0] - par1ArrayOfInteger[0]); - int i1 = Math.abs(aint3[2] - par1ArrayOfInteger[2]); - int j1 = Math.max(l, i1); - if(j1 > 0) { - if(l == j1) { - b5 = 4; - } else if(i1 == j1) { - b5 = 8; - } - } - - this.setBlockAndMetadata(this.worldObj, aint3[0], aint3[1], aint3[2], par3, b5); - } - } - - } - - void generateLeaves() { - int i = 0; - - for(int j = this.leafNodes.length; i < j; ++i) { - int k = this.leafNodes[i][0]; - int l = this.leafNodes[i][1]; - int i1 = this.leafNodes[i][2]; - this.generateLeafNode(k, l, i1); - } - - } - - boolean leafNodeNeedsBase(int par1) { - return (double)par1 >= (double)this.heightLimit * 0.2D; - } - - void generateTrunk() { - int i = this.basePos[0]; - int j = this.basePos[1]; - int k = this.basePos[1] + this.height; - int l = this.basePos[2]; - int[] aint = new int[]{i, j, l}; - int[] aint1 = new int[]{i, k, l}; - this.placeBlockLine(aint, aint1, Block.wood.blockID); - if(this.trunkSize == 2) { - ++aint[0]; - ++aint1[0]; - this.placeBlockLine(aint, aint1, Block.wood.blockID); - ++aint[2]; - ++aint1[2]; - this.placeBlockLine(aint, aint1, Block.wood.blockID); - aint[0] += -1; - aint1[0] += -1; - this.placeBlockLine(aint, aint1, Block.wood.blockID); - } - - } - - void generateLeafNodeBases() { - int i = 0; - int j = this.leafNodes.length; - - for(int[] aint = new int[]{this.basePos[0], this.basePos[1], this.basePos[2]}; i < j; ++i) { - int[] aint1 = this.leafNodes[i]; - int[] aint2 = new int[]{aint1[0], aint1[1], aint1[2]}; - aint[1] = aint1[3]; - int k = aint[1] - this.basePos[1]; - if(this.leafNodeNeedsBase(k)) { - this.placeBlockLine(aint, aint2, (byte)Block.wood.blockID); - } - } - - } - - int checkBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger) { - int[] aint2 = new int[]{0, 0, 0}; - byte b0 = 0; - - byte b1; - for(b1 = 0; b0 < 3; ++b0) { - aint2[b0] = par2ArrayOfInteger[b0] - par1ArrayOfInteger[b0]; - if(Math.abs(aint2[b0]) > Math.abs(aint2[b1])) { - b1 = b0; - } - } - - if(aint2[b1] == 0) { - return -1; - } else { - byte b2 = otherCoordPairs[b1]; - byte b3 = otherCoordPairs[b1 + 3]; - byte b4; - if(aint2[b1] > 0) { - b4 = 1; - } else { - b4 = -1; - } - - double d0 = (double)aint2[b2] / (double)aint2[b1]; - double d1 = (double)aint2[b3] / (double)aint2[b1]; - int[] aint3 = new int[]{0, 0, 0}; - int i = 0; - - int j; - for(j = aint2[b1] + b4; i != j; i += b4) { - aint3[b1] = par1ArrayOfInteger[b1] + i; - aint3[b2] = MathHelper.floor_double((double)par1ArrayOfInteger[b2] + (double)i * d0); - aint3[b3] = MathHelper.floor_double((double)par1ArrayOfInteger[b3] + (double)i * d1); - int k = this.worldObj.getBlockId(aint3[0], aint3[1], aint3[2]); - if(k != 0 && k != Block.leaves.blockID) { - break; - } - } - - return i == j?-1:Math.abs(i); - } - } - - boolean validTreeLocation() { - int[] aint = new int[]{this.basePos[0], this.basePos[1], this.basePos[2]}; - int[] aint1 = new int[]{this.basePos[0], this.basePos[1] + this.heightLimit - 1, this.basePos[2]}; - int i = this.worldObj.getBlockId(this.basePos[0], this.basePos[1] - 1, this.basePos[2]); - Block var10000 = Block.blocksList[i]; - boolean isValidSoil = i == AtumBlocks.sand.blockID; - if(!isValidSoil) { - return false; - } else { - int j = this.checkBlockLine(aint, aint1); - if(j == -1) { - return true; - } else if(j < 6) { - return false; - } else { - this.heightLimit = j; - return true; - } - } - } - - public void setScale(double par1, double par3, double par5) { - this.heightLimitLimit = (int)(par1 * 12.0D); - if(par1 > 0.5D) { - this.leafDistanceLimit = 5; - } - - this.scaleWidth = par3; - this.leafDensity = par5; - } - - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) { - this.worldObj = par1World; - long l = par2Random.nextLong(); - this.rand.setSeed(l); - this.basePos[0] = par3; - this.basePos[1] = par4; - this.basePos[2] = par5; - if(this.heightLimit == 0) { - this.heightLimit = 5 + this.rand.nextInt(this.heightLimitLimit); - } - - if(!this.validTreeLocation()) { - return false; - } else { - this.generateLeafNodeList(); - this.generateLeaves(); - this.generateTrunk(); - this.generateLeafNodeBases(); - return true; - } - } - -} diff --git a/common/rebelkeithy/mods/atum/world/decorators/WorldGenOasis.java b/common/rebelkeithy/mods/atum/world/decorators/WorldGenOasis.java deleted file mode 100644 index 65a8c0e..0000000 --- a/common/rebelkeithy/mods/atum/world/decorators/WorldGenOasis.java +++ /dev/null @@ -1,177 +0,0 @@ -package rebelkeithy.mods.atum.world.decorators; - -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.inventory.IInventory; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenerator; -import net.minecraftforge.common.ForgeDirection; -import net.minecraftforge.common.IPlantable; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.AtumLoot; -import rebelkeithy.mods.atum.world.decorators.WorldGenPalm; - -public class WorldGenOasis extends WorldGenerator { - - private final int minTreeHeight; - private final int metaWood; - private final int metaLeaves; - - - public WorldGenOasis(boolean par1) { - this(par1, 4, 0, 0); - } - - public WorldGenOasis(boolean par1, int par2, int par3, int par4) { - super(par1); - this.minTreeHeight = par2; - this.metaWood = par3; - this.metaLeaves = par4; - } - - public boolean generate(World world, Random par2Random, int par3, int par4, int par5) { - int width = par2Random.nextInt(6) + 6; - int depth = par2Random.nextInt(5) + 5; - int id = world.getBlockId(par3, par4 - 1, par5); - if(id != AtumBlocks.sand.blockID) { - return false; - } else { - id = world.getBlockId(par3 + width, world.getHeightValue(par3 + width, par5) - 1, par5); - if(id != AtumBlocks.sand.blockID) { - return false; - } else { - id = world.getBlockId(par3, world.getHeightValue(par3, par5 + depth) - 1, par5 + depth); - if(id != AtumBlocks.sand.blockID) { - return false; - } else { - id = world.getBlockId(par3 + width, world.getHeightValue(par3 + width, par5 + depth) - 1, par5 + depth); - if(id != AtumBlocks.sand.blockID) { - return false; - } else { - int minHeight = world.getHeightValue(par3, par5); - int maxHeight = world.getHeightValue(par3, par5); - int height = world.getHeightValue(par3 + width, par5); - if(height < minHeight) { - minHeight = height; - } else if(height > maxHeight) { - maxHeight = height; - } - - height = world.getHeightValue(par3, par5 + depth); - if(height < minHeight) { - minHeight = height; - } else if(height > maxHeight) { - maxHeight = height; - } - - height = world.getHeightValue(par3 + width, par5 + depth); - if(height < minHeight) { - minHeight = height; - } else if(height > maxHeight) { - maxHeight = height; - } - - int papyrus; - int i; - int z; - int dx; - int y; - if(maxHeight - minHeight < 6) { - float treeCount = (float)width / 2.0F; - float chest = (float)depth / 2.0F; - - for(papyrus = (int)(0.0F - treeCount - 6.0F); (float)papyrus <= treeCount + 6.0F; ++papyrus) { - for(i = (int)(0.0F - chest - 6.0F); (float)i <= chest + 6.0F; ++i) { - float x = (float)(papyrus * papyrus) / (treeCount * treeCount) + (float)(i * i) / (chest * chest); - if(x <= 1.0F) { - z = world.getHeightValue(papyrus + par3, i + par5); - if(world.getBlockId(papyrus + par3, z - 1, i + par5) == AtumBlocks.sand.blockID) { - world.setBlock(papyrus + par3, z - 1, i + par5, Block.waterStill.blockID); - if((double)x < 0.6D) { - z = world.getHeightValue(papyrus + par3, i + par5); - world.setBlock(papyrus + par3, z - 2, i + par5, Block.waterStill.blockID); - } - } - } else { - x = (float)(papyrus * papyrus) / ((treeCount + 4.0F) * (treeCount + 4.0F)) + (float)(i * i) / ((chest + 4.0F) * (chest + 4.0F)); - z = world.getHeightValue(papyrus + par3, i + par5); - if(world.getBlockId(papyrus + par3, z - 1, i + par5) == AtumBlocks.sand.blockID && x < 1.0F) { - world.setBlock(papyrus + par3, z - 1, i + par5, AtumBlocks.fertileSoil.blockID); - if((double)x < 0.3D && par2Random.nextInt(8) == 0) { - for(y = -1; y <= 1; ++y) { - for(dx = -1; dx <= 1; ++dx) { - if(AtumBlocks.papyrus.canBlockStay(world, par3 + papyrus + y, z, par5 + i + dx)) { - world.setBlock(papyrus + par3 + y, z, i + par5 + dx, AtumBlocks.papyrus.blockID); - } - } - } - } - } - } - } - } - } - - int var24 = 0; - - for(int var26 = 0; var26 < 6; ++var26) { - papyrus = par2Random.nextInt(width); - i = par2Random.nextInt(depth); - id = world.getBlockId(par3 + papyrus, world.getHeightValue(par3 + papyrus, par5 + i) - 1, par5 + i); - if(id == AtumBlocks.fertileSoil.blockID) { - (new WorldGenPalm(true, 5, 0, 0)).generate(world, par2Random, par3 + papyrus, world.getHeightValue(par3 + papyrus, par5 + i), par5 + i); - ++var24; - } - - if(var24 > 2) { - break; - } - } - - boolean var25 = false; - boolean var27 = false; - - for(i = 0; i < 10; ++i) { - int var28 = par2Random.nextInt(width); - z = par2Random.nextInt(depth); - y = world.getHeightValue(par3 + var28, par5 + z); - id = world.getBlockId(par3 + var28, y - 1, par5 + z); - if(!var25 && id == AtumBlocks.fertileSoil.blockID) { - world.setBlock(par3 + var28, y, par5 + z, Block.chest.blockID); - TileEntity var29 = world.getBlockTileEntity(par3 + var28, world.getHeightValue(par3 + var28, par5 + z), par5 + z); - AtumLoot.fillChest((IInventory)var29, 5, 0.2F); - var25 = true; - } else { - int dz; - if(!var27 && Block.blocksList[id].canSustainPlant(world, par3 + var28, y, par5 + z, ForgeDirection.UP, (IPlantable)((IPlantable)AtumBlocks.papyrus))) { - for(dx = -1; dx <= 1; ++dx) { - for(dz = -1; dz <= 1; ++dz) { - if(Block.blocksList[id].canSustainPlant(world, par3 + var28 + dx, y, par5 + z + dz, ForgeDirection.UP, (IPlantable)((IPlantable)AtumBlocks.papyrus))) { - world.setBlock(par3 + var28, y, par5 + z, AtumBlocks.papyrus.blockID); - var27 = true; - } - } - } - } else if(par2Random.nextInt(5) == 0) { - for(dx = -1; dx <= 1; ++dx) { - for(dz = -1; dz <= 1; ++dz) { - int currentY = world.getHeightValue(par3 + var28, par5 + z); - int belowID = world.getBlockId(par3 + var28 + dx, currentY - 1, par5 + z + dz); - int currentID = world.getBlockId(par3 + var28 + dx, currentY, par5 + z + dz); - if(par2Random.nextInt(3) == 0 && belowID == AtumBlocks.fertileSoil.blockID && currentID == 0) { - world.setBlock(par3 + var28 + dx, currentY, par5 + z + dz, AtumBlocks.flax.blockID, 13, 0); - } - } - } - } - } - } - - return false; - } - } - } - } - } -} diff --git a/common/rebelkeithy/mods/atum/world/decorators/WorldGenPalace.java b/common/rebelkeithy/mods/atum/world/decorators/WorldGenPalace.java deleted file mode 100644 index e07a705..0000000 --- a/common/rebelkeithy/mods/atum/world/decorators/WorldGenPalace.java +++ /dev/null @@ -1,6213 +0,0 @@ -package rebelkeithy.mods.atum.world.decorators; - -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenerator; -import rebelkeithy.mods.atum.AtumBlocks; - -public class WorldGenPalace extends WorldGenerator { - - public int largeLimestoneBricks; - public int smallLimestoneBricks; - public int carvedLimestone; - public int largeLimestoneBricksStairs; - - - public WorldGenPalace() { - this.largeLimestoneBricks = AtumBlocks.largeBrick.blockID; - this.smallLimestoneBricks = AtumBlocks.smallBrick.blockID; - this.carvedLimestone = AtumBlocks.carvedBrick.blockID; - this.largeLimestoneBricksStairs = AtumBlocks.largeStoneStairs.blockID; - } - - public boolean generate(World world, Random random, int i, int j, int k) { - world.setBlock(i + 0, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 2, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 2, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 5, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 5, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 2, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 2, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 2, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 2, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 3, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 3, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 3, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 3, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 4, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 4, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 4, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 5, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 5, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 16, Block.netherrack.blockID); - world.setBlock(i + 8, j + 7, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 8, k + 16, Block.fire.blockID); - world.setBlock(i + 8, j + 8, k + 19, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 20, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 21, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 27, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 28, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 29, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 9, k + 19, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 20, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 21, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 27, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 28, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 29, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 2, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 2, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 2, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 2, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 3, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 3, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 3, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 3, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 4, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 4, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 4, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 5, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 5, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 7, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 10, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 3, k + 22, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 26, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 30, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 34, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 4, k + 22, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 26, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 30, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 34, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 34, this.largeLimestoneBricks); - this.generate2(world, random, i, j, k); - return true; - } - - public boolean generate2(World world, Random rand, int i, int j, int k) { - world.setBlock(i + 10, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 7, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 7, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 10, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 10, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 2, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 2, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 5, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 5, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 7, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 7, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 11, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 11, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 10, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 10, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 12, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 12, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 0, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 1, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 2, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 3, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 4, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 5, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 6, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 1, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 2, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 3, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 4, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 5, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 6, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 2, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 2, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 2, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 2, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 5, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 5, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 5, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 7, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 7, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 13, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 13, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 10, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 10, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 0, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 1, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 2, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 3, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 4, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 5, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 6, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 1, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 2, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 3, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 4, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 5, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 6, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 2, k + 4, Block.netherrack.blockID); - world.setBlock(i + 14, j + 2, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 3, k + 4, Block.fire.blockID); - world.setBlock(i + 14, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 7, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 14, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 14, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 10, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 0, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 1, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 2, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 3, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 4, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 5, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 6, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 1, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 2, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 3, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 4, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 5, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 6, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 2, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 2, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 2, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 2, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 2, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 3, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 3, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 4, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 4, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 5, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 7, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 10, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 0, k + 6, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 0, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 2, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 3, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 3, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 3, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 3, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 4, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 4, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 7, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 7, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 7, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 10, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 10, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 10, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 0, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 3, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 3, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 3, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 3, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 17, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 4, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 4, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 4, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 4, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 17, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 5, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 5, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 5, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 17, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 17, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 0, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 2, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 2, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 2, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 2, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 5, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 5, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 7, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 7, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 7, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 8, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 18, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 9, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 9, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 18, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 10, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 10, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 0, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 3, k + 14, this.carvedLimestone); - world.setBlock(i + 19, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 5, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 5, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 5, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 5, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 7, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 7, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 19, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 9, k + 13, this.carvedLimestone); - world.setBlock(i + 19, j + 9, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 19, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 10, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 10, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 10, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 10, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 0, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 2, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 2, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 2, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 2, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 5, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 5, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 7, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 7, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 7, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 8, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 20, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 9, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 9, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 20, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 10, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 10, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 0, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 3, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 3, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 3, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 3, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 21, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 4, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 4, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 4, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 4, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 21, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 5, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 5, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 5, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 9, this.largeLimestoneBricks); - this.generate3(world, rand, i, j, k); - return true; - } - - public boolean generate3(World world, Random rand, int i, int j, int k) { - world.setBlock(i + 21, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 21, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 21, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 0, k + 6, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 0, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 2, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 3, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 3, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 3, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 3, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 4, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 4, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 7, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 7, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 7, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 10, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 10, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 10, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 0, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 1, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 2, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 3, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 4, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 5, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 6, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 1, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 2, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 3, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 4, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 5, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 6, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 2, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 2, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 2, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 2, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 2, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 3, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 4, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 5, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 7, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 10, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 0, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 1, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 2, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 3, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 4, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 5, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 6, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 1, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 2, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 3, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 4, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 5, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 6, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 2, k + 4, Block.netherrack.blockID); - world.setBlock(i + 24, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 3, k + 4, Block.fire.blockID); - world.setBlock(i + 24, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 7, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 24, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 24, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 10, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 0, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 1, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 2, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 3, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 4, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 5, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 6, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 1, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 2, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 3, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 4, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 5, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 6, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 2, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 2, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 2, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 2, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 5, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 5, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 5, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 7, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 7, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 25, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 25, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 10, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 10, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 26, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 26, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 2, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 2, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 5, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 5, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 7, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 7, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 27, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 27, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 10, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 10, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 3, k + 22, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 26, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 30, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 34, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 4, k + 22, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 26, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 30, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 34, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 7, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 7, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 10, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 10, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 2, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 2, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 2, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 2, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 3, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 3, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 3, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 3, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 4, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 4, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 4, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 5, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 5, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 2, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 2, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 2, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 2, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 3, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 3, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 3, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 3, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 4, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 4, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 4, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 5, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 5, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 16, Block.netherrack.blockID); - world.setBlock(i + 30, j + 7, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 8, k + 16, Block.fire.blockID); - world.setBlock(i + 30, j + 8, k + 19, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 20, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 21, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 27, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 28, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 29, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 9, k + 19, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 20, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 21, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 27, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 28, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 29, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 30, this.largeLimestoneBricks); - this.generate4(world, rand, i, j, k); - return true; - } - - public boolean generate4(World world, Random rand, int i, int j, int k) { - world.setBlock(i + 31, j + 3, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 2, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 2, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 5, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 5, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 6, k + 8, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 9, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 10, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 11, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 12, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 13, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 14, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 15, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 16, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 17, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 18, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 19, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 20, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 21, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 22, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 23, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 24, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 25, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 26, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 27, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 28, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 29, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 30, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 31, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 32, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 33, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 34, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 35, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 36, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 37, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 38, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 39, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 40, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 41, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 42, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 43, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 44, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 45, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 46, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 47, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 48, this.largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 0, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 1, j + 3, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 12, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 15, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 18, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 21, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 24, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 27, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 30, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 33, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 36, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 39, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 42, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 45, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 48, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 12, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 15, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 18, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 21, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 24, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 27, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 30, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 33, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 36, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 39, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 42, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 45, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 48, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 1, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 1, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 1, j + 7, k + 9, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 10, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 11, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 12, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 13, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 14, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 15, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 16, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 17, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 18, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 19, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 20, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 21, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 22, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 23, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 24, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 25, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 26, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 27, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 28, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 29, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 30, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 31, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 32, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 33, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 34, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 35, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 36, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 37, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 38, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 39, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 40, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 41, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 42, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 43, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 44, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 45, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 46, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 47, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 48, this.largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 2, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 2, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 2, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 2, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 3, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 3, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 3, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 3, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 4, j + 3, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 4, j + 3, k + 48, this.smallLimestoneBricks); - world.setBlock(i + 4, j + 4, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 4, j + 4, k + 48, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 4, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 4, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 4, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 4, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 5, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 5, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 5, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 5, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 6, j + 3, k + 15, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 18, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 21, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 24, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 27, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 30, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 33, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 36, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 39, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 42, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 15, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 18, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 21, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 24, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 27, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 30, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 33, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 36, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 39, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 42, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 6, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 6, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 6, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 6, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 6, j + 8, k + 15, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 18, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 21, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 24, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 27, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 30, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 33, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 36, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 39, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 42, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 15, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 18, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 21, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 24, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 27, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 30, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 33, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 36, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 39, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 42, this.smallLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 48, this.smallLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 48, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 7, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 7, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 7, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 7, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 7, j + 8, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 43, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 8, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 8, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 8, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 8, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 8, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 8, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 8, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 8, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 8, j + 7, k + 18, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 8, j + 7, k + 22, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 8, j + 7, k + 26, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 8, j + 7, k + 30, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 8, j + 7, k + 34, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 8, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 8, j + 10, k + 18, this.largeLimestoneBricksStairs, 5); - world.setBlockMetadataWithNotify(i + 8, j + 10, k + 22, this.largeLimestoneBricksStairs, 5); - world.setBlockMetadataWithNotify(i + 8, j + 10, k + 26, this.largeLimestoneBricksStairs, 5); - world.setBlockMetadataWithNotify(i + 8, j + 10, k + 30, this.largeLimestoneBricksStairs, 5); - world.setBlockMetadataWithNotify(i + 8, j + 10, k + 34, this.largeLimestoneBricksStairs, 5); - world.setBlockMetadataWithNotify(i + 9, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 9, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 9, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 9, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 9, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 9, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 9, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 9, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 9, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 10, j + 2, k + 21, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 10, j + 2, k + 35, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 10, j + 3, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 10, j + 3, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 10, j + 3, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 10, j + 3, k + 48, this.smallLimestoneBricks); - world.setBlock(i + 10, j + 4, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 10, j + 4, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 10, j + 4, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 10, j + 4, k + 48, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 10, j + 5, k + 21, this.largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 10, j + 5, k + 27, this.largeLimestoneBricksStairs, 7); - world.setBlockMetadataWithNotify(i + 10, j + 5, k + 29, this.largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 10, j + 5, k + 35, this.largeLimestoneBricksStairs, 7); - world.setBlockMetadataWithNotify(i + 10, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 10, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 10, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 10, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 10, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 10, j + 8, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 10, j + 8, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 10, j + 9, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 10, j + 9, k + 43, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 10, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); - world.setBlock(i + 11, j + 3, k + 19, this.smallLimestoneBricks); - world.setBlock(i + 11, j + 3, k + 38, this.smallLimestoneBricks); - world.setBlock(i + 11, j + 4, k + 19, this.smallLimestoneBricks); - world.setBlock(i + 11, j + 4, k + 38, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 11, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 11, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 11, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 11, j + 7, k + 28, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 11, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 11, j + 8, k + 19, this.smallLimestoneBricks); - world.setBlock(i + 11, j + 8, k + 38, this.smallLimestoneBricks); - world.setBlock(i + 11, j + 9, k + 19, this.smallLimestoneBricks); - world.setBlock(i + 11, j + 9, k + 38, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 12, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 12, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 12, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 12, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 13, j + 2, k + 4, this.largeLimestoneBricksStairs); - world.setBlock(i + 13, j + 3, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 13, j + 3, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 13, j + 3, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 13, j + 3, k + 48, this.smallLimestoneBricks); - world.setBlock(i + 13, j + 4, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 13, j + 4, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 13, j + 4, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 13, j + 4, k + 48, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 13, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 13, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 13, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlock(i + 13, j + 7, k + 41, this.largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 13, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 13, j + 8, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 13, j + 8, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 13, j + 9, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 13, j + 9, k + 43, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 13, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 14, j + 2, k + 3, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 14, j + 2, k + 5, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 14, j + 2, k + 39, this.largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 14, j + 5, k + 39, this.largeLimestoneBricksStairs, 4); - world.setBlockMetadataWithNotify(i + 14, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 14, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 14, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 14, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 14, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 14, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); - world.setBlockMetadataWithNotify(i + 15, j + 2, k + 4, this.largeLimestoneBricksStairs, 1); - world.setBlock(i + 15, j + 2, k + 26, this.largeLimestoneBricksStairs); - world.setBlock(i + 15, j + 2, k + 30, this.largeLimestoneBricksStairs); - world.setBlock(i + 15, j + 3, k + 24, this.largeLimestoneBricksStairs); - world.setBlock(i + 15, j + 3, k + 25, this.largeLimestoneBricksStairs); - world.setBlock(i + 15, j + 3, k + 31, this.largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 15, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 15, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 15, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 15, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 15, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 16, j + 2, k + 27, this.largeLimestoneBricksStairs); - world.setBlock(i + 16, j + 2, k + 28, this.largeLimestoneBricksStairs); - world.setBlock(i + 16, j + 2, k + 29, this.largeLimestoneBricksStairs); - world.setBlock(i + 16, j + 3, k + 9, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 16, j + 3, k + 24, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 16, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 16, j + 3, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 16, j + 3, k + 48, this.smallLimestoneBricks); - world.setBlock(i + 16, j + 4, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 16, j + 4, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 16, j + 4, k + 48, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 16, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 16, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 16, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 16, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 16, j + 8, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 16, j + 8, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 16, j + 9, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 16, j + 9, k + 43, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 17, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 17, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 17, j + 2, k + 24, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 17, j + 2, k + 32, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 17, j + 3, k + 12, Block.torchWood.blockID, 4); - world.setBlockMetadataWithNotify(i + 17, j + 3, k + 26, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 17, j + 3, k + 30, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 17, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 17, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 17, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 17, j + 7, k + 41, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 17, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 17, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 18, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 18, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); - world.setBlock(i + 18, j + 2, k + 14, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 18, j + 2, k + 17, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 18, j + 2, k + 25, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 18, j + 2, k + 31, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 18, j + 3, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 18, j + 4, k + 14, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 18, j + 5, k + 39, this.largeLimestoneBricksStairs, 5); - world.setBlockMetadataWithNotify(i + 18, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 18, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 18, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 18, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 18, j + 8, k + 13, this.smallLimestoneBricks); - world.setBlock(i + 18, j + 8, k + 16, this.smallLimestoneBricks); - world.setBlock(i + 18, j + 9, k + 16, this.smallLimestoneBricks); - world.setBlock(i + 18, j + 10, k + 13, this.largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 19, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 19, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); - world.setBlock(i + 19, j + 2, k + 14, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 19, j + 2, k + 25, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 19, j + 2, k + 31, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 19, j + 3, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 19, j + 3, k + 48, this.smallLimestoneBricks); - world.setBlock(i + 19, j + 4, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 19, j + 4, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 19, j + 4, k + 48, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 19, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 19, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 19, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 19, j + 7, k + 19, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 19, j + 7, k + 38, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 19, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 19, j + 8, k + 43, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 19, j + 9, k + 16, this.largeLimestoneBricksStairs, 7); - world.setBlock(i + 19, j + 9, k + 43, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 20, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 20, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); - world.setBlock(i + 20, j + 2, k + 14, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 20, j + 2, k + 25, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 20, j + 2, k + 31, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 20, j + 3, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 20, j + 4, k + 14, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 20, j + 5, k + 39, this.largeLimestoneBricksStairs, 4); - world.setBlockMetadataWithNotify(i + 20, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 20, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 20, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 20, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 20, j + 8, k + 13, this.smallLimestoneBricks); - world.setBlock(i + 20, j + 8, k + 16, this.smallLimestoneBricks); - world.setBlock(i + 20, j + 9, k + 16, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 20, j + 10, k + 13, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 21, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 21, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 21, j + 2, k + 24, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 21, j + 2, k + 32, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 21, j + 3, k + 12, Block.torchWood.blockID, 4); - world.setBlockMetadataWithNotify(i + 21, j + 3, k + 26, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 21, j + 3, k + 30, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 21, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 21, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 21, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 21, j + 7, k + 41, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 21, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 21, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 22, j + 2, k + 27, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 22, j + 2, k + 28, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 22, j + 2, k + 29, this.largeLimestoneBricksStairs, 1); - world.setBlock(i + 22, j + 3, k + 9, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 22, j + 3, k + 24, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 22, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 22, j + 3, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 22, j + 3, k + 48, this.smallLimestoneBricks); - world.setBlock(i + 22, j + 4, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 22, j + 4, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 22, j + 4, k + 48, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 22, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 22, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 22, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 22, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 22, j + 8, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 22, j + 8, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 22, j + 9, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 22, j + 9, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 23, j + 2, k + 4, this.largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 23, j + 2, k + 26, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 23, j + 2, k + 30, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 23, j + 3, k + 24, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 23, j + 3, k + 25, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 23, j + 3, k + 31, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 23, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 23, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 23, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 23, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 23, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 24, j + 2, k + 3, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 24, j + 2, k + 5, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 24, j + 2, k + 39, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 24, j + 5, k + 39, this.largeLimestoneBricksStairs, 5); - world.setBlockMetadataWithNotify(i + 24, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 24, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 24, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 24, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 24, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 24, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); - world.setBlockMetadataWithNotify(i + 25, j + 2, k + 4, this.largeLimestoneBricksStairs, 1); - world.setBlock(i + 25, j + 3, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 25, j + 3, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 25, j + 3, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 25, j + 3, k + 48, this.smallLimestoneBricks); - world.setBlock(i + 25, j + 4, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 25, j + 4, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 25, j + 4, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 25, j + 4, k + 48, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 25, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 25, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 25, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 25, j + 7, k + 41, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 25, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 25, j + 8, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 25, j + 8, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 25, j + 9, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 25, j + 9, k + 43, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 25, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 26, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 26, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 26, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 26, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 27, j + 3, k + 19, this.smallLimestoneBricks); - world.setBlock(i + 27, j + 3, k + 38, this.smallLimestoneBricks); - world.setBlock(i + 27, j + 4, k + 19, this.smallLimestoneBricks); - world.setBlock(i + 27, j + 4, k + 38, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 27, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 27, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 27, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 27, j + 7, k + 28, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 27, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 27, j + 8, k + 19, this.smallLimestoneBricks); - world.setBlock(i + 27, j + 8, k + 38, this.smallLimestoneBricks); - world.setBlock(i + 27, j + 9, k + 19, this.smallLimestoneBricks); - world.setBlock(i + 27, j + 9, k + 38, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 28, j + 2, k + 21, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 28, j + 2, k + 35, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 28, j + 3, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 28, j + 3, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 28, j + 3, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 28, j + 3, k + 48, this.smallLimestoneBricks); - world.setBlock(i + 28, j + 4, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 28, j + 4, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 28, j + 4, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 28, j + 4, k + 48, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 28, j + 5, k + 21, this.largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 28, j + 5, k + 27, this.largeLimestoneBricksStairs, 7); - world.setBlockMetadataWithNotify(i + 28, j + 5, k + 29, this.largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 28, j + 5, k + 35, this.largeLimestoneBricksStairs, 7); - world.setBlockMetadataWithNotify(i + 28, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 28, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 28, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 28, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 28, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 28, j + 8, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 28, j + 8, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 28, j + 9, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 28, j + 9, k + 43, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 28, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); - world.setBlockMetadataWithNotify(i + 29, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 29, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 29, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 29, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 29, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 29, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 29, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 29, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 29, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 30, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 30, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 30, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 30, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 30, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 30, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 30, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 30, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlock(i + 30, j + 7, k + 18, this.largeLimestoneBricksStairs); - world.setBlock(i + 30, j + 7, k + 22, this.largeLimestoneBricksStairs); - world.setBlock(i + 30, j + 7, k + 26, this.largeLimestoneBricksStairs); - world.setBlock(i + 30, j + 7, k + 30, this.largeLimestoneBricksStairs); - world.setBlock(i + 30, j + 7, k + 34, this.largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 30, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 30, j + 10, k + 18, this.largeLimestoneBricksStairs, 4); - world.setBlockMetadataWithNotify(i + 30, j + 10, k + 22, this.largeLimestoneBricksStairs, 4); - world.setBlockMetadataWithNotify(i + 30, j + 10, k + 26, this.largeLimestoneBricksStairs, 4); - world.setBlockMetadataWithNotify(i + 30, j + 10, k + 30, this.largeLimestoneBricksStairs, 4); - world.setBlockMetadataWithNotify(i + 30, j + 10, k + 34, this.largeLimestoneBricksStairs, 4); - world.setBlock(i + 31, j + 3, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 48, this.smallLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 48, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 31, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 31, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 31, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 31, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 31, j + 8, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 15, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 18, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 21, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 24, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 27, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 30, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 33, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 36, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 39, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 42, this.smallLimestoneBricks); - this.generate5(world, rand, i, j, k); - return true; - } - - public boolean generate5(World world, Random rand, int i, int j, int k) { - world.setBlock(i + 32, j + 4, k + 15, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 18, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 21, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 24, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 27, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 30, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 33, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 36, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 39, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 42, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 32, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 32, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 32, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 32, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 32, j + 8, k + 15, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 18, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 21, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 24, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 27, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 30, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 33, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 36, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 39, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 42, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 15, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 18, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 21, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 24, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 27, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 30, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 33, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 36, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 39, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 42, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 33, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 33, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 33, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 33, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 34, j + 3, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 34, j + 3, k + 48, this.smallLimestoneBricks); - world.setBlock(i + 34, j + 4, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 34, j + 4, k + 48, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 34, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 34, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 34, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 34, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 35, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 35, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 35, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 35, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 36, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 36, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 36, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 36, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 37, j + 3, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 12, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 15, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 18, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 21, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 24, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 27, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 30, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 33, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 36, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 39, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 42, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 45, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 48, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 12, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 15, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 18, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 21, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 24, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 27, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 30, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 33, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 36, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 39, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 42, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 45, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 48, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 37, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 37, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 10, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 11, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 12, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 13, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 14, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 15, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 16, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 17, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 18, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 19, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 20, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 21, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 22, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 23, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 24, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 25, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 26, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 27, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 28, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 29, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 30, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 31, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 32, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 33, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 34, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 35, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 36, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 37, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 38, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 39, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 40, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 41, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 42, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 43, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 44, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 45, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 46, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 47, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 48, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 9, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 10, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 11, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 12, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 13, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 14, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 15, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 16, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 17, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 18, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 19, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 20, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 21, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 22, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 23, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 24, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 25, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 26, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 27, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 28, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 29, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 30, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 31, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 32, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 33, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 34, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 35, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 36, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 37, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 38, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 39, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 40, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 41, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 42, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 43, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 44, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 45, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 46, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 47, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 48, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 49, this.largeLimestoneBricksStairs, 1); - return true; - } -} diff --git a/common/rebelkeithy/mods/atum/world/decorators/WorldGenPalm.java b/common/rebelkeithy/mods/atum/world/decorators/WorldGenPalm.java deleted file mode 100644 index a150ae3..0000000 --- a/common/rebelkeithy/mods/atum/world/decorators/WorldGenPalm.java +++ /dev/null @@ -1,136 +0,0 @@ -package rebelkeithy.mods.atum.world.decorators; - -import java.util.Random; -import net.minecraft.block.Block; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenerator; -import rebelkeithy.mods.atum.AtumBlocks; - -public class WorldGenPalm extends WorldGenerator { - - private final int minTreeHeight; - private final int metaWood; - private final int metaLeaves; - - - public WorldGenPalm(boolean par1) { - this(par1, 5, 0, 0); - } - - public WorldGenPalm(boolean par1, int par2, int par3, int par4) { - super(par1); - this.minTreeHeight = par2; - this.metaWood = par3; - this.metaLeaves = par4; - } - - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) { - int l = par2Random.nextInt(3) + this.minTreeHeight; - boolean flag = true; - int id = par1World.getBlockId(par3, par4 - 1, par5); - if((id == AtumBlocks.sand.blockID || id == AtumBlocks.fertileSoil.blockID || id == Block.dirt.blockID) && par4 >= 1 && par4 + l + 1 <= 256) { - int i1; - int j1; - int k1; - for(i1 = par4; i1 <= par4 + 1 + l; ++i1) { - byte b0 = 1; - if(i1 == par4) { - b0 = 0; - } - - if(i1 >= par4 + 1 + l - 2) { - b0 = 2; - } - - for(int soil = par3 - b0; soil <= par3 + b0 && flag; ++soil) { - for(j1 = par5 - b0; j1 <= par5 + b0 && flag; ++j1) { - if(i1 >= 0 && i1 < 256) { - k1 = par1World.getBlockId(soil, i1, j1); - Block b1 = Block.blocksList[k1]; - if(k1 != 0 && !b1.isLeaves(par1World, soil, i1, j1) && k1 != AtumBlocks.fertileSoil.blockID && k1 != Block.dirt.blockID && !b1.isWood(par1World, soil, i1, j1)) { - flag = false; - } - } else { - flag = false; - } - } - } - } - - if(!flag) { - return false; - } else { - i1 = par1World.getBlockId(par3, par4 - 1, par5); - Block var21 = Block.blocksList[i1]; - if(par4 >= 256 - l - 1) { - return false; - } else { - if(var21 != null) { - var21.onPlantGrow(par1World, par3, par4 - 1, par5, par3, par4, par5); - } - - boolean var20 = true; - boolean var22 = false; - this.spawnLeaf(par1World, par3, par4 + l + 1, par5); - - for(int block = -1; block <= 1; ++block) { - for(int z = -1; z <= 1; ++z) { - if(block != 0 || z != 0) { - this.spawnLeaf(par1World, par3 + block, par4 + l, par5 + z); - } - } - } - - this.spawnLeaf(par1World, par3 + 2, par4 + l, par5); - this.spawnLeaf(par1World, par3 - 2, par4 + l, par5); - this.spawnLeaf(par1World, par3, par4 + l, par5 + 2); - this.spawnLeaf(par1World, par3, par4 + l, par5 - 2); - this.spawnLeaf(par1World, par3, par4 + l - 1, par5 - 2); - this.spawnLeaf(par1World, par3, par4 + l - 1, par5 + 2); - this.spawnLeaf(par1World, par3 + 2, par4 + l - 1, par5); - this.spawnLeaf(par1World, par3 - 2, par4 + l - 1, par5); - this.spawnLeaf(par1World, par3, par4 + l - 1, par5 - 3); - this.spawnLeaf(par1World, par3, par4 + l - 1, par5 + 3); - this.spawnLeaf(par1World, par3 + 3, par4 + l - 1, par5); - this.spawnLeaf(par1World, par3 - 3, par4 + l - 1, par5); - if(par2Random.nextInt(100) < 15) { - par1World.setBlock(par3 + 1, par4 + l - 1, par5, AtumBlocks.dateBlock.blockID, 0, 2); - } - - if(par2Random.nextInt(100) < 15) { - par1World.setBlock(par3 - 1, par4 + l - 1, par5, AtumBlocks.dateBlock.blockID, 0, 2); - } - - if(par2Random.nextInt(100) < 15) { - par1World.setBlock(par3, par4 + l - 1, par5 + 1, AtumBlocks.dateBlock.blockID, 0, 2); - } - - if(par2Random.nextInt(100) < 15) { - par1World.setBlock(par3, par4 + l - 1, par5 - 1, AtumBlocks.dateBlock.blockID, 0, 2); - } - - for(j1 = 0; j1 <= l; ++j1) { - k1 = par1World.getBlockId(par3, par4 + j1, par5); - Block var23 = Block.blocksList[k1]; - if(k1 == 0 || var23 == null || var23.isLeaves(par1World, par3, par4 + j1, par5)) { - this.setBlockAndMetadata(par1World, par3, par4 + j1, par5, AtumBlocks.log.blockID, this.metaWood); - } - } - - return true; - } - } - } else { - return false; - } - } - - public void spawnLeaf(World par1World, int x, int y, int z) { - int j3 = par1World.getBlockId(x, y, z); - Block block = Block.blocksList[j3]; - if(block == null || block.canBeReplacedByLeaves(par1World, x, y, z)) { - this.setBlockAndMetadata(par1World, x, y, z, AtumBlocks.leaves.blockID, this.metaLeaves); - } - - } -} diff --git a/common/rebelkeithy/mods/atum/world/decorators/WorldGenPyramid.java b/common/rebelkeithy/mods/atum/world/decorators/WorldGenPyramid.java deleted file mode 100644 index bf65f9b..0000000 --- a/common/rebelkeithy/mods/atum/world/decorators/WorldGenPyramid.java +++ /dev/null @@ -1,213 +0,0 @@ -package rebelkeithy.mods.atum.world.decorators; - -import static net.minecraftforge.common.ForgeDirection.EAST; -import static net.minecraftforge.common.ForgeDirection.NORTH; -import static net.minecraftforge.common.ForgeDirection.SOUTH; -import static net.minecraftforge.common.ForgeDirection.WEST; - -import java.util.ArrayList; -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenerator; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.AtumLoot; -import rebelkeithy.mods.atum.cursedchest.TileEntityPharaohChest; - -public class WorldGenPyramid extends WorldGenerator { - class Pair { - public int x; - public int y; - - Pair(int x, int y) { - this.x = x; - this.y = y; - } - - @Override - public boolean equals(Object p) { - if (p instanceof Pair) - return ((Pair) p).x == x && ((Pair) p).y == y; - else - return false; - } - } - - @Override - public boolean generate(World world, Random random, int i, int j, int k) { - if (random.nextFloat() > 0.3) - j -= 8; - - int width = 17; - int depth = 17; - - boolean[][] maze = new boolean[17][17]; - - ArrayList points = new ArrayList(); - - int zIn = 9; - - maze[0][zIn] = true; - generateMaze(maze, random, 1, zIn); - - for (int y = -6; y < 10; y++) { - for (int x = y; x <= width - y; x++) { - for (int z = y; z <= depth - y; z++) { - // int id = world.getBlockId(x+i, y+j+3, z+k); - // if(id == 0 || id == AtumBlocks.atumSand.blockID) - world.setBlock(x + i, y + j + 3, z + k, AtumBlocks.largeBrick.blockID, 1, 0); - } - } - } - - for (int x = -3; x < width + 3; x++) { - for (int z = -3; z < depth + 3; z++) { - if (x >= 0 && x < width && z >= 0 && z < depth) { - world.setBlock(x + i, j - 1, z + k, AtumBlocks.stone.blockID); - if (!maze[x][z]) { - if (random.nextFloat() > 0.1F) - world.setBlock(x + i, j, z + k, AtumBlocks.largeBrick.blockID, 1, 0); - else - placeTrap(world, x + i, j, z + k); - world.setBlock(x + i, j + 1, z + k, AtumBlocks.largeBrick.blockID, 1, 0); - world.setBlock(x + i, j + 2, z + k, AtumBlocks.largeBrick.blockID, 1, 0); - } else { - int meta = random.nextInt(5); - world.setBlock(x + i, j, z + k, AtumBlocks.sandLayered.blockID, meta, 0); - world.setBlockToAir(x + i, j + 1, z + k); - world.setBlockToAir(x + i, j + 2, z + k); - } - world.setBlock(x + i, j + 3, z + k, AtumBlocks.largeBrick.blockID, 1, 0); - } - } - } - - world.setBlockToAir(i - 1, j, k + zIn); - world.setBlockToAir(i - 1, j + 1, k + zIn); - world.setBlockToAir(i - 2, j, k + zIn); - world.setBlockToAir(i - 2, j + 1, k + zIn); - world.setBlockToAir(i - 3, j, k + zIn); - world.setBlockToAir(i - 3, j + 1, k + zIn); - world.setBlockToAir(i - 4, j, k + zIn); - world.setBlockToAir(i - 4, j + 1, k + zIn); - - for (int y = 4; y < 8; y++) { - for (int x = 6; x < 12; x++) { - for (int z = 6; z < 12; z++) { - world.setBlockToAir(i + x, j + y, k + z); - } - } - } - - world.setBlock(i + 11, j + 6, k + 7, Block.torchWood.blockID, 2, 0); - world.setBlock(i + 11, j + 6, k + 10, Block.torchWood.blockID, 2, 0); - - world.setBlock(i + 10, j + 4, k + 8, AtumBlocks.pharaohChest.blockID, 0, 2); - try { - TileEntityPharaohChest te = (TileEntityPharaohChest) world.getBlockTileEntity(i + 10, j + 4, k + 8); - AtumLoot.fillChest(te, 15, 0.9f); - } catch (ClassCastException e) { - } - if (world.isAirBlock(i + 7, j + 1, k + 7)) { - placeLadders(world, i + 7, j, k + 7, 4); - } else { - boolean found = false; - for (int dx = -1; dx <= 1; dx++) { - if (found) - break; - - for (int dz = -1; dz <= 1; dz++) { - if (world.isAirBlock(i + 7 + dx, j + 1, k + 7 + dz)) { - placeLadders(world, i + 7 + dx, j, k + 7 + dz, 3); - found = true; - break; - } - } - } - } - - /* - * if(world.isAirBlock(i+7+1, j+1, k+7)) { } placeLadders(world, i+7+1, - * j+1, k+7, 4); }else if(world.isAirBlock(i+7-1, j+1, k+7)) { - * placeLadders(world, i+7-1, j+1, k+7, 4); }else - * if(world.isAirBlock(i+7, j+1, k+7+1)) { placeLadders(world, i+7, j+1, - * k+7+1, 4); }else if(world.isAirBlock(i+7, j+1, k+7-1)) { - * placeLadders(world, i+7, j+1, k+7-1, 4); } - */ - return false; - } - - public void placeTrap(World world, int x, int y, int z) { - int meta = 0; - if (world.isBlockSolidOnSide(x, y, z + 1, NORTH)) { - meta = 2; - ; - } - - if (world.isBlockSolidOnSide(x, y, z - 1, SOUTH)) { - meta = 3; - } - - if (world.isBlockSolidOnSide(x + 1, y, z, WEST)) { - meta = 4; - } - - if (world.isBlockSolidOnSide(x - 1, y, z, EAST)) { - meta = 5; - } - - world.setBlock(x, y, z, AtumBlocks.trapArrow.blockID, meta, 0); - } - - public void placeLadders(World world, int x, int y, int z, int height) { - int meta = 0; - if (world.isBlockSolidOnSide(x, y, z + 1, NORTH)) { - meta = 2; - ; - } - - if (world.isBlockSolidOnSide(x, y, z - 1, SOUTH)) { - meta = 3; - } - - if (world.isBlockSolidOnSide(x + 1, y, z, WEST)) { - meta = 4; - } - - if (world.isBlockSolidOnSide(x - 1, y, z, EAST)) { - meta = 5; - } - - for (int i = 0; i < height; i++) - world.setBlock(x, y + i, z, Block.ladder.blockID, meta, 0); - } - - public void generateMaze(boolean[][] array, Random random, int x, int y) { - int dx = 0; - int dy = 0; - - ArrayList choices = new ArrayList(); - do { - choices.clear(); - if (x + 2 < 16 && array[x + 2][y] == false) - choices.add(new Pair(2, 0)); - if (x - 2 >= 0 && array[x - 2][y] == false) - choices.add(new Pair(-2, 0)); - if (y + 2 < 16 && array[x][y + 2] == false) - choices.add(new Pair(0, 2)); - if (y - 2 >= 0 && array[x][y - 2] == false) - choices.add(new Pair(0, -2)); - - if (choices.size() > 0) { - int i = random.nextInt(choices.size()); - Pair choice = choices.get(i); - choices.remove(i); - array[choice.x + x][choice.y + y] = true; - array[x + choice.x / 2][y + choice.y / 2] = true; - generateMaze(array, random, x + choice.x, y + choice.y); - } - - } while (choices.size() > 0); - } -} \ No newline at end of file diff --git a/common/rebelkeithy/mods/atum/world/decorators/WorldGenRuins.java b/common/rebelkeithy/mods/atum/world/decorators/WorldGenRuins.java deleted file mode 100644 index a1c19ed..0000000 --- a/common/rebelkeithy/mods/atum/world/decorators/WorldGenRuins.java +++ /dev/null @@ -1,92 +0,0 @@ -package rebelkeithy.mods.atum.world.decorators; - -import java.util.Random; -import net.minecraft.inventory.IInventory; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenerator; -import rebelkeithy.mods.atum.AtumBlocks; -import rebelkeithy.mods.atum.AtumLoot; - -public class WorldGenRuins extends WorldGenerator { - - public boolean generate(World world, Random random, int i, int j, int k) { - int width = random.nextInt(4) + 6; - int depth = random.nextInt(2) + 5; - int height = world.getHeightValue(i, k); - int x2; - int z2; - if(world.getHeightValue(i + width, k + depth) >= height) { - x2 = i + width; - z2 = k + depth; - } else if(world.getHeightValue(i - width, k + depth) >= height) { - x2 = i - width; - z2 = k + depth; - } else if(world.getHeightValue(i + width, k - depth) >= height) { - x2 = i + width; - z2 = k - depth; - } else { - if(world.getHeightValue(i - width, k - depth) < height) { - return false; - } - - x2 = i - width; - z2 = k - depth; - } - - int chestX; - int chestZ; - int chestY; - for(chestX = Math.min(x2, i); chestX <= Math.max(x2, i); ++chestX) { - for(chestZ = Math.min(z2, k); chestZ <= Math.max(z2, k); ++chestZ) { - int meta = random.nextInt(4); - - for(chestY = -1; chestY < 15; ++chestY) { - if(chestX != x2 && chestZ != z2 && chestX != i && chestZ != k && chestY != -1) { - world.setBlockToAir(chestX, chestY + height, chestZ); - } else if(chestY < meta) { - if((double)random.nextFloat() > 0.1D) { - world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.largeBrick.blockID); - } else { - world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.smallBrick.blockID); - } - } else if(chestY == meta && (double)random.nextFloat() > 0.7D) { - if((double)random.nextFloat() > 0.1D) { - world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.slabs.blockID, 2, 0); - } else { - world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.slabs.blockID, 3, 0); - } - } - } - } - } - - chestX = width / 2 + i; - chestZ = Math.max(z2, k) - 1; - boolean var16 = false; - if((double)random.nextFloat() > 0.5D) { - chestX = random.nextInt(width - 1) + 1 + Math.min(i, x2); - if((double)random.nextFloat() > 0.5D) { - chestZ = Math.max(z2, k) - 1; - var16 = true; - } else { - chestZ = Math.min(z2, k) + 1; - var16 = true; - } - } else { - chestZ = random.nextInt(depth - 1) + 1 + Math.min(k, z2); - if((double)random.nextFloat() > 0.5D) { - chestX = Math.max(x2, i) - 1; - var16 = true; - } else { - chestX = Math.min(x2, i) + 1; - var16 = true; - } - } - - chestY = world.getHeightValue(chestX, chestZ); - world.setBlock(chestX, chestY, chestZ, AtumBlocks.cursedChest.blockID, 0, 2); - IInventory chest = (IInventory)world.getBlockTileEntity(chestX, chestY, chestZ); - AtumLoot.fillChest(chest, 5, 0.5F); - return false; - } -} diff --git a/common/rebelkeithy/mods/atum/world/decorators/WorldGenShrub.java b/common/rebelkeithy/mods/atum/world/decorators/WorldGenShrub.java deleted file mode 100644 index c67ad41..0000000 --- a/common/rebelkeithy/mods/atum/world/decorators/WorldGenShrub.java +++ /dev/null @@ -1,34 +0,0 @@ -package rebelkeithy.mods.atum.world.decorators; - -import java.util.Random; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenerator; -import rebelkeithy.mods.atum.AtumBlocks; - -public class WorldGenShrub extends WorldGenerator { - - private int deadBushID; - private int groupSize; - - - public WorldGenShrub(int par1, int par2) { - this.deadBushID = par1; - this.groupSize = par2; - } - - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) { - int size = par2Random.nextInt(this.groupSize / 2) + this.groupSize / 2; - - for(int i1 = 0; i1 < size; ++i1) { - byte range = 6; - int x = par3 + par2Random.nextInt(range + 1) - range / 2; - int z = par5 + par2Random.nextInt(range + 1) - range / 2; - int y = par1World.getHeightValue(x, z); - if(par1World.isAirBlock(x, y, z) && AtumBlocks.shrub.canBlockStay(par1World, x, y, z)) { - par1World.setBlock(x, y, z, this.deadBushID); - } - } - - return true; - } -} diff --git a/common/rebelkeithy/mods/metaitem/MetadataItem.java b/common/rebelkeithy/mods/metaitem/MetadataItem.java deleted file mode 100644 index f8361d5..0000000 --- a/common/rebelkeithy/mods/metaitem/MetadataItem.java +++ /dev/null @@ -1,109 +0,0 @@ -package rebelkeithy.mods.metaitem; - -import java.io.PrintStream; -import java.util.ArrayList; -import java.util.List; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.EntityLiving; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; - -public class MetadataItem extends Item { - private List varNames; - private List varLengths; - int totalOffset; - - public MetadataItem(int par1) { - super(par1); - this.varNames = new ArrayList(); - this.varLengths = new ArrayList(); - this.totalOffset = 0; - } - - public void addDamageVariable(String name, int bitlength) { - int prevMaxDamage = getMaxDamage(); - - setMaxDamage(getMaxDamage() << bitlength); - this.totalOffset += bitlength; - - this.varNames.add(name); - this.varLengths.add(Integer.valueOf(bitlength)); - - if (prevMaxDamage < getMaxDamage()) { - throw new OutOffDamageValueBitsException("Variable " + name + " of length " + bitlength + " caused max damage value to shift off the left"); - } - } - - public int getVar(int damage, String name) { - return getDamageVariable(damage, name); - } - - public int getVar(ItemStack stack, String name) { - return getDamageVariable(stack, name); - } - - public int getDamageVariable(ItemStack stack, String name) { - int damage = stack.getItemDamage(); - - return getDamageVariable(damage, name); - } - - public int getDamageVariable(int damage, String name) { - if (!this.varNames.contains(name)) { - throw new DamageVariableDoesNotExistException("Items does not contain damage variable: " + name); - } - for (int i = 0; i < this.varNames.size(); i++) { - int length = ((Integer) this.varLengths.get(i)).intValue(); - if (((String) this.varNames.get(i)).equals(name)) { - int mask = 2147483647 << length ^ 0xFFFFFFFF; - damage &= mask; - break; - } - damage >>= length; - } - - return damage; - } - - public Item setMaxDamage(int par1) { - long shiftedDamageLong = par1 << this.totalOffset; - int shiftedDamage = (int) shiftedDamageLong; - if (shiftedDamage != shiftedDamageLong) - throw new OutOffDamageValueBitsException("Setting damage to " + par1 + " caused an integer overflow. Damage variables use " + this.totalOffset + " bits"); - return super.setMaxDamage(shiftedDamage); - } - - public int getMaxDamage() { - return super.getMaxDamage() >> this.totalOffset; - } - - public void damageItem(ItemStack stack, int amount, EntityLiving entity) { - stack.damageItem(amount << this.totalOffset, entity); - } - - public void getSubItems(String string, int amount, int par1, CreativeTabs par2CreativeTabs, List par3List) { - int offset = 0; - for (int i = 0; i < this.varNames.size(); i++) { - if (((String) this.varNames.get(i)).equals(string)) { - break; - } - offset += ((Integer) this.varLengths.get(i)).intValue(); - } - - for (int i = 0; i < amount; i++) { - par3List.add(new ItemStack(par1, 1, i << offset)); - } - } - - public class DamageVariableDoesNotExistException extends RuntimeException { - public DamageVariableDoesNotExistException(String message) { - super(); - } - } - - public class OutOffDamageValueBitsException extends RuntimeException { - public OutOffDamageValueBitsException(String message) { - super(); - } - } -} \ No newline at end of file diff --git a/common/rebelkeithy/mods/particleregistry/ParticleRegistry.java b/common/rebelkeithy/mods/particleregistry/ParticleRegistry.java deleted file mode 100644 index 411ecfb..0000000 --- a/common/rebelkeithy/mods/particleregistry/ParticleRegistry.java +++ /dev/null @@ -1,55 +0,0 @@ -package rebelkeithy.mods.particleregistry; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import java.lang.reflect.Constructor; -import java.util.HashMap; -import java.util.Map; -import net.minecraft.client.Minecraft; -import net.minecraft.client.particle.EntityFX; -import net.minecraft.world.World; - -public class ParticleRegistry { - - private static Map particleList = new HashMap(); - - - public static void registerParticle(String name, Class particle) { - particleList.put(name, particle); - } - - @SideOnly(Side.CLIENT) - public static void spawnParticle(String string, World par1World, double x, double y, double z, double dx, double dy, double dz, double r, double g, double b) { - Class entityClass = (Class)particleList.get(string); - if(entityClass != null) { - try { - Constructor entityConstructor = entityClass.getConstructor(new Class[]{World.class, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE}); - if(entityConstructor != null) { - EntityFX e = (EntityFX)entityConstructor.newInstance(new Object[]{par1World, Double.valueOf(x), Double.valueOf(y), Double.valueOf(z), Double.valueOf(dx), Double.valueOf(dy), Double.valueOf(dz), Double.valueOf(r), Double.valueOf(g), Double.valueOf(b)}); - Minecraft.getMinecraft().effectRenderer.addEffect(e); - } - } catch (Exception var23) { - var23.printStackTrace(); - } - } - - } - - @SideOnly(Side.CLIENT) - public static void spawnParticle(String string, World par1World, double x, double y, double z, double r, double g, double b) { - Class entityClass = (Class)particleList.get(string); - if(entityClass != null) { - try { - Constructor entityConstructor = entityClass.getConstructor(new Class[]{World.class, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE, Double.TYPE}); - if(entityConstructor != null) { - EntityFX e = (EntityFX)entityConstructor.newInstance(new Object[]{par1World, Double.valueOf(x), Double.valueOf(y), Double.valueOf(z), Double.valueOf(r), Double.valueOf(g), Double.valueOf(b)}); - Minecraft.getMinecraft().effectRenderer.addEffect(e); - } - } catch (Exception var17) { - var17.printStackTrace(); - } - } - - } - -} diff --git a/resources/assets/atum/lang/en_US.properties b/resources/assets/atum/lang/en_US.properties new file mode 100644 index 0000000..10343f3 --- /dev/null +++ b/resources/assets/atum/lang/en_US.properties @@ -0,0 +1,110 @@ +# Blocks +block.portal.name=Atum Portal +tile.chestSpawner.name=Atum Chest +block.sand.name=Atum Sand +block.stone.name=Limestone +block.cobble.name=Limestone Cobble +block.largeBrick.name=Limestone Large Bricks +block.smallBrick.name=Limestone Small Bricks +block.carvedBrick.name=Limestone Carved Bricks +block.slab.name=Limestone Slab +block.doubleSlab.name=LimeStone Double Slab +block.smoothStairs.name=Limestone Stairs +block.cobbleStairs.name=Limestone Cobble Stairs +block.largeStairs.name=Limestone Large Brick Stairs +block.smallStairs.name=Limestone Small Brick Stairs +block.sandLayer.name=Sand Layer +block.crackedLargeBrick.name=Limestone Cracked Large Bricks +block.walls.name=Limestone wall +block.crystalGlass.name=Crystal Glass +block.framedGlass.name=Framed Glass +block.palmSapling.name=Palm Sapling +block.date.name=Date +block.shrub.name=Shrub +block.weed.name=Weed +block.papyrus.name=Papyrus +block.flax.name=Flax +block.fertileSoil.name=Fertile Soil +block.fertileSoilTilled.name=Tilled Fertile Soil +block.palmLog.name=Palm Log +block.palmLeaves.name=Palm Leaves +block.palmPlanks.name=Palm Planks +block.thinCrystalGlass.name=Thin Crystal Glass +block.thinFramedGlass.name=Thin Framed Glass +tile.arrowTrap.name=Arrow Trap +tile.pharaohChest.name=Pharaoh's Chest +block.redstoneOre.name=Redstone Ore +block.coalOre.name=Coal Ore +block.ironOre.name=Iron Ore +block.goldOre.name=Gold Ore +block.lapisOre.name=Lapis Ore +block.diamondOre.name=Diamonds Ore +tile.furnaceIdle.name=Limestone Furnace +tile.furnaceBurning.name=Limestone Furnace Burning + +# Item +item.scarab.name=Scarab +item.scimitar.name=Scimitar +item.greatsword.name=Greatsword +item.scepter.name=Scepter +item.stoneSoldierSword.name=Stone Soldier Sword +item.bow.name=ShortBow +item.ptahsDecadence.name=Ptahs Decadence +item.soteksRage.name=Soteks Rage +item.osirisWill.name=Osiris Will +item.akersToil.name=Akers Toil +item.gebsBlessing.name=Gebs Blessing +item.atensFury.name=Atens Fury +item.rasGlory.name=Ras Glory +item.sekhmetsWrath.name=Sekhmets Wrath +item.nutsAgility.name=Nuts Agility +item.horusFlight.name=Horus Flight +item.monthusStrike.name=Monthus Strike +item.anhursMight.name=Anhurs Might +item.hedetetsSting.name=Hedetets Sting +item.horusSoaring.name=Horus Soaring +item.shusBreath.name=Shus Breath +item.ptahsDestruction.name=Ptahs Destruction +item.monthusBlast.name=Monthus Blast +item.nusFlux.name=Nus Flux +item.mnevisHorns.name=Mnevis Horns +item.isisEmbrace.name=Isis Embrace +item.maatsBalance.name=Maats Balance +item.hedetetsVenom.name=Hedetets Venom +item.gebsSolidarity.name=Gebs Solidarity +item.nutsCall.name=Nuts Call +item.anuketsBounty.name=Anukets Bounty +item.mafdetsQuickness.name=Mafdets Quickness +item.isisHealing.name=Isis Healing +item.amunetsHomecoming.name=Amunets Homecoming +item.anubisMercy.name=Amubis Mercy +item.limestoneShovel.name=Limestone Shovel +item.limestonePickaxe.name=LimeStone PickAxe +item.limestoneAxe.name=LimeStone Axe +item.limestoneSword.name=Limestone Sword +item.limestoneHoe.name=Limestone Hoe +item.mummyHelmet.name= +item.mummyChest.name= +item.mummyLegs.name= +item.mummyBoots.name= +item.wandererHelmet.name= +item.wandererChest.name= +item.wandererLegs.name= +item.wandererBoots.name= +item.desertHelmet.name= +item.desertChest.name= +item.desertLegs.name= +item.desertBoots.name= +item.papyrusPlantItem.name= +item.ectoplasm.name= +item.stoneChunk.name= +item.clothScrap.name= +item.scroll.name= +item.wolfPelt.name= +item.date.name= +item.linen.name= +item.flaxItem.name= +item.flaxSeeds.name= +item.fish.name= +item.neithsAudacity.name= +item.spear.name= \ No newline at end of file diff --git a/resources/assets/atum/textures/blocks/portal.mcmeta b/resources/assets/atum/textures/blocks/portal.png.mcmeta similarity index 100% rename from resources/assets/atum/textures/blocks/portal.mcmeta rename to resources/assets/atum/textures/blocks/portal.png.mcmeta From f34d0d2e672c18a04d399c4b81db2c03e967a63f Mon Sep 17 00:00:00 2001 From: lclc98 Date: Thu, 23 Jan 2014 13:02:21 +1000 Subject: [PATCH 005/157] Added WorldGen --- common/com/teammetallurgy/atum/Atum.java | 11 +- .../com/teammetallurgy/atum/AtumConfig.java | 10 +- .../teammetallurgy/atum/AtumCreativeTab.java | 25 + common/com/teammetallurgy/atum/AtumIDS.java | 4 + .../teammetallurgy/atum/blocks/BlockAtum.java | 2 + .../atum/blocks/BlockPortal.java | 167 +- .../teammetallurgy/atum/blocks/Blocks.java | 23 + .../tileentity/TileEntityArrowTrap.java | 84 + .../client/render/tileentity/RenderDate.java | 8 +- .../teammetallurgy/atum/items/ItemLoot.java | 5 +- .../teammetallurgy/atum/items/ItemScarab.java | 46 +- .../com/teammetallurgy/atum/items/Items.java | 100 +- .../atum/proxy/ClientProxy.java | 2 +- .../atum/world/AtumPortalPosition.java | 15 + .../atum/world/AtumTeleporter.java | 410 ++ .../com/teammetallurgy/atum/world/World.java | 20 + .../atum/worldgen/AtumChunkProvider.java | 448 ++ .../atum/worldgen/AtumMapGenCaves.java | 199 + .../atum/worldgen/AtumWorldProvider.java | 101 + .../atum/worldgen/AtumWorldServer.java | 22 + .../teammetallurgy/atum/worldgen/World.java | 8 - .../worldgen/biome/BiomeDecoratorAtum.java | 200 + .../worldgen/biome/BiomeGenAtumDesert.java | 125 + .../worldgen/biome/MobSpawnController.java | 25 + .../decorators/WorldGenAtumTrees.java | 370 + .../worldgen/decorators/WorldGenOasis.java | 176 + .../worldgen/decorators/WorldGenPalace.java | 6215 +++++++++++++++++ .../worldgen/decorators/WorldGenPalm.java | 138 + .../worldgen/decorators/WorldGenPyramid.java | 209 + .../worldgen/decorators/WorldGenRuins.java | 93 + .../worldgen/decorators/WorldGenShrub.java | 36 + resources/assets/atum/lang/en_US.properties | 55 +- 32 files changed, 9155 insertions(+), 197 deletions(-) create mode 100644 common/com/teammetallurgy/atum/AtumCreativeTab.java create mode 100644 common/com/teammetallurgy/atum/blocks/tileentity/TileEntityArrowTrap.java create mode 100644 common/com/teammetallurgy/atum/world/AtumPortalPosition.java create mode 100644 common/com/teammetallurgy/atum/world/AtumTeleporter.java create mode 100644 common/com/teammetallurgy/atum/world/World.java create mode 100644 common/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java create mode 100644 common/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java create mode 100644 common/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java create mode 100644 common/com/teammetallurgy/atum/worldgen/AtumWorldServer.java delete mode 100644 common/com/teammetallurgy/atum/worldgen/World.java create mode 100644 common/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java create mode 100644 common/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java create mode 100644 common/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java create mode 100644 common/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java create mode 100644 common/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java create mode 100644 common/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java create mode 100644 common/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java create mode 100644 common/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java create mode 100644 common/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java create mode 100644 common/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java diff --git a/common/com/teammetallurgy/atum/Atum.java b/common/com/teammetallurgy/atum/Atum.java index 07b90ca..b69aa70 100644 --- a/common/com/teammetallurgy/atum/Atum.java +++ b/common/com/teammetallurgy/atum/Atum.java @@ -7,7 +7,7 @@ import com.teammetallurgy.atum.blocks.Blocks; import com.teammetallurgy.atum.items.Items; import com.teammetallurgy.atum.proxy.CommonProxy; -import com.teammetallurgy.atum.worldgen.World; +import com.teammetallurgy.atum.world.World; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; @@ -16,6 +16,7 @@ import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import cpw.mods.fml.common.registry.LanguageRegistry; @Mod(modid = Atum.MODID, name = Atum.NAME, version = Atum.VERSION) public class Atum { @@ -32,7 +33,7 @@ public class Atum { public static final Logger LOGGER = Logger.getLogger(Atum.class.getSimpleName()); public static AtumConfig config; - public static CreativeTabs creativeTab = new CreativeTabs("Atum"); + public static CreativeTabs creativeTab = new AtumCreativeTab(); @EventHandler public void preInit(FMLPreInitializationEvent event) { @@ -45,11 +46,13 @@ public void preInit(FMLPreInitializationEvent event) { public void init(FMLInitializationEvent event) { LOGGER.info("Block Init"); Blocks.INSTANCE.registerBlocks(); + LOGGER.info("Item Init"); Items.INSTANCE.registerItems(); + LOGGER.info("World Init"); - World.load(); - + World.INSTANCE.register(); + LOGGER.info("Proxy Init"); proxy.init(); proxy.initRenders(); diff --git a/common/com/teammetallurgy/atum/AtumConfig.java b/common/com/teammetallurgy/atum/AtumConfig.java index 7794d91..f4cba0a 100644 --- a/common/com/teammetallurgy/atum/AtumConfig.java +++ b/common/com/teammetallurgy/atum/AtumConfig.java @@ -56,7 +56,7 @@ public void load() { AtumIDS.BLOCK_DIAMONDORE_ID = getBlock("Atum Diamond Ore", 1063); AtumIDS.BLOCK_FURNACEIDLE_ID = getBlock("Atum Furnace Idle", 1064); AtumIDS.BLOCK_FURNACEBURNING_ID = getBlock("Atum Furnace Burning", 1065); - + AtumIDS.ITEM_SCARAB_ID = getItem("Scarab", 5000); AtumIDS.ITEM_SCIMITAR_ID = getItem("Scimitar", 5001); AtumIDS.ITEM_GREATSWORD_ID = getItem("Great Sword", 5002); @@ -123,6 +123,10 @@ public void load() { AtumIDS.ITEM_FISH_ID = getItem("Fish", 5062); AtumIDS.ITEM_NEITHSAUDACITY_ID = getItem("Neiths Audacity", 5063); AtumIDS.ITEM_SPEAR_ID = getItem("Spear", 5064); + + AtumIDS.DIMENSION_ID = get("Dimension", "Atum", 17); + + AtumIDS.BIOME_DESERT_ID = get("Biome", "Desert", 200); this.CONFIG.save(); } @@ -134,4 +138,8 @@ private int getBlock(String name, int defaultId) { return this.CONFIG.getBlock(name, defaultId).getInt(); } + private int get(String category, String name, int defaultId) { + return this.CONFIG.get(category, name, defaultId).getInt(); + } + } diff --git a/common/com/teammetallurgy/atum/AtumCreativeTab.java b/common/com/teammetallurgy/atum/AtumCreativeTab.java new file mode 100644 index 0000000..c8ab8a6 --- /dev/null +++ b/common/com/teammetallurgy/atum/AtumCreativeTab.java @@ -0,0 +1,25 @@ +package com.teammetallurgy.atum; + +import net.minecraft.creativetab.CreativeTabs; + +public class AtumCreativeTab extends CreativeTabs { + + public AtumCreativeTab() { + super("Atum"); + } + + @Override + public String getTranslatedTabLabel() { + return LocalizationHelper.localize("itemGroup.Atum"); + } + + @Override + public String getBackgroundImageName() { + return super.getBackgroundImageName().replace("s.png", "_search.png"); + } + + @Override + public boolean hasSearchBar() { + return true; + } +} diff --git a/common/com/teammetallurgy/atum/AtumIDS.java b/common/com/teammetallurgy/atum/AtumIDS.java index 49b91be..5e7603d 100644 --- a/common/com/teammetallurgy/atum/AtumIDS.java +++ b/common/com/teammetallurgy/atum/AtumIDS.java @@ -111,4 +111,8 @@ public class AtumIDS { public static int ITEM_FISH_ID; public static int ITEM_NEITHSAUDACITY_ID; public static int ITEM_SPEAR_ID; + + public static int DIMENSION_ID; + + public static int BIOME_DESERT_ID; } diff --git a/common/com/teammetallurgy/atum/blocks/BlockAtum.java b/common/com/teammetallurgy/atum/blocks/BlockAtum.java index 207c823..4f2241d 100644 --- a/common/com/teammetallurgy/atum/blocks/BlockAtum.java +++ b/common/com/teammetallurgy/atum/blocks/BlockAtum.java @@ -2,6 +2,8 @@ import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; public class BlockAtum extends Block { diff --git a/common/com/teammetallurgy/atum/blocks/BlockPortal.java b/common/com/teammetallurgy/atum/blocks/BlockPortal.java index e19b095..c92a163 100644 --- a/common/com/teammetallurgy/atum/blocks/BlockPortal.java +++ b/common/com/teammetallurgy/atum/blocks/BlockPortal.java @@ -5,7 +5,6 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockBreakable; import net.minecraft.block.material.Material; -import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.server.MinecraftServer; @@ -15,7 +14,8 @@ import net.minecraft.world.WorldServer; import rebelkeithy.mods.keithyutils.particleregistry.ParticleRegistry; -import com.teammetallurgy.atum.AtumConfig; +import com.teammetallurgy.atum.AtumIDS; +import com.teammetallurgy.atum.world.AtumTeleporter; import cpw.mods.fml.common.ObfuscationReflectionHelper; import cpw.mods.fml.relauncher.Side; @@ -24,7 +24,7 @@ public class BlockPortal extends BlockBreakable { public BlockPortal(int par1) { - super(par1, "atum:portal", Material.portal, false); + super(par1, "atum:portal", Material.portal, true); this.setTickRandomly(true); this.setHardness(-1.0F); this.setUnlocalizedName("atum:portal"); @@ -39,42 +39,13 @@ public void updateTick(World par1World, int par2, int par3, int par4, Random par } - @Override - public boolean isOpaqueCube() { - return false; + public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { + return null; } - @Override - public boolean renderAsNormalBlock() { - return true; + public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { } - public boolean tryToCreatePortal(World par1World, int par2, int par3, int par4) { - // par1World.getBlockId(par2, par3 - 1, par4); - // int id1 = par1World.getBlockId(par2 - 2, par3 + 0, par4); - // int id2 = par1World.getBlockId(par2 - 2, par3 + 1, par4); - // int id3 = par1World.getBlockId(par2, par3 + 0, par4 - 2); - // int id4 = par1World.getBlockId(par2, par3 + 1, par4 - 2); - // int id5 = par1World.getBlockId(par2, par3 + 0, par4 + 2); - // int id6 = par1World.getBlockId(par2, par3 + 1, par4 + 2); - // int id7 = par1World.getBlockId(par2 + 2, par3 + 0, par4); - // int id8 = par1World.getBlockId(par2 + 2, par3 + 1, par4); - // int id9 = par1World.getBlockId(par2 - 1, par3 + 2, par4); - // int id10 = par1World.getBlockId(par2, par3 + 2, par4 - 1); - // int id11 = par1World.getBlockId(par2, par3 + 2, par4 + 1); - // int id12 = par1World.getBlockId(par2 + 1, par3 + 2, par4); - // if(id1 == id2 && id2 == id3 && id3 == id4 && id4 == id5 && id6 == id7 && id7 == id8 && id8 == id9 && id9 == id10 && id10 == id11 && id11 == id12 && id12 == Block.sandStone.blockID) { - // par1World.setBlock(par2, par3, par4, AtumBlocks.portal.blockID, 0, 2); - // par1World.setBlock(par2, par3 + 1, par4, AtumBlocks.portal.blockID, 0, 2); - // par1World.setBlock(par2, par3 + 2, par4, AtumBlocks.portal.blockID, 0, 2); - // return true; - // } else { - // return false; - // } - return false; - } - - @Override public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) { byte b0 = 0; byte b1 = 1; @@ -96,35 +67,59 @@ public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, ; } - if(j1 == 3 && par1World.getBlockId(par2, i1 + j1, par4) == Block.sandStone.blockID) { - boolean flag = par1World.getBlockId(par2 - 1, par3, par4) == super.blockID || par1World.getBlockId(par2 + 1, par3, par4) == super.blockID; - boolean flag1 = par1World.getBlockId(par2, par3, par4 - 1) == super.blockID || par1World.getBlockId(par2, par3, par4 + 1) == super.blockID; - if(flag && flag1) { - par1World.setBlockToAir(par2, par3, par4); - } else if((par1World.getBlockId(par2 + b0, par3, par4 + b1) != Block.sandStone.blockID || par1World.getBlockId(par2 - b0, par3, par4 - b1) != super.blockID) && (par1World.getBlockId(par2 - b0, par3, par4 - b1) != Block.sandStone.blockID || par1World.getBlockId(par2 + b0, par3, par4 + b1) != super.blockID)) { - par1World.setBlockToAir(par2, par3, par4); - } - } else { - par1World.setBlockToAir(par2, par3, par4); + boolean flag = par1World.getBlockId(par2 - 1, par3, par4) != this.blockID || par1World.getBlockId(par2 + 1, par3, par4) != this.blockID; + boolean flag1 = par1World.getBlockId(par2, par3, par4 - 1) != this.blockID || par1World.getBlockId(par2, par3, par4 + 1) != this.blockID; + boolean flag2 = par1World.getBlockId(par2 - 1, par3, par4) != sandStone.blockID || par1World.getBlockId(par2 + 1, par3, par4) != sandStone.blockID; + boolean flag3 = par1World.getBlockId(par2, par3, par4 - 1) != sandStone.blockID || par1World.getBlockId(par2, par3, par4 + 1) != sandStone.blockID; + if((flag && flag1) || (flag2 && flag3)) { + // par1World.setBlockToAir(par2, par3, par4); } } } @Override - @SideOnly(Side.CLIENT) - public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { - if(par1IBlockAccess.getBlockId(par2, par3, par4) == super.blockID) { - return false; - } else { - boolean flag = par1IBlockAccess.getBlockId(par2 - 1, par3, par4) == super.blockID && par1IBlockAccess.getBlockId(par2 - 2, par3, par4) != super.blockID; - boolean flag1 = par1IBlockAccess.getBlockId(par2 + 1, par3, par4) == super.blockID && par1IBlockAccess.getBlockId(par2 + 2, par3, par4) != super.blockID; - boolean flag2 = par1IBlockAccess.getBlockId(par2, par3, par4 - 1) == super.blockID && par1IBlockAccess.getBlockId(par2, par3, par4 - 2) != super.blockID; - boolean flag3 = par1IBlockAccess.getBlockId(par2, par3, par4 + 1) == super.blockID && par1IBlockAccess.getBlockId(par2, par3, par4 + 2) != super.blockID; - boolean flag4 = flag || flag1; - boolean flag5 = flag2 || flag3; - return flag4 && par5 == 4 ? true : (flag4 && par5 == 5 ? true : (flag5 && par5 == 2 ? true : flag5 && par5 == 3)); + public boolean isOpaqueCube() { + return false; + } + + public boolean tryToCreatePortal(World par1World, int x, int y, int z) { + for(int x1 = -2; x1 < 3; x1++) { + for(int z1 = -2; z1 < 3; z1++) { + int id = par1World.getBlockId(x + x1, y, z + z1); + if(id != Block.sandStone.blockID) { + return false; + } + } + } + for(int x1 = -2; x1 < 3; x1++) { + for(int z1 = -2; z1 < 3; z1++) { + if(x1 + x == x + 2 || z1 + z == z + 2 || x1 + x == x - 2 || z1 + z == z - 2) { + int id = par1World.getBlockId(x + x1, y + 1, z + z1); + if(id != Block.sandStone.blockID) { + return false; + } + } + } + } + for(int y1 = 2; y1 < 4; y1++) { + for(int x1 = -2; x1 < 3; x1++) { + for(int z1 = -2; z1 < 3; z1++) { + if((x1 + x == x + 2 && z1 + z == z + 2) || (x1 + x == x - 2 && z1 + z == z + 2) || (x1 + x == x + 2 && z1 + z == z - 2) || (x1 + x == x - 2 && z1 + z == z - 2)) { + int id = par1World.getBlockId(x + x1, y + y1, z + z1); + if(id != Block.sandStone.blockID) { + return false; + } + } + } + } + } + for(int x1 = -1; x1 < 2; x1++) { + for(int z1 = -1; z1 < 2; z1++) { + par1World.setBlock(x + x1, y + 1, z + z1, Blocks.BLOCK_PORTAL.blockID); + } } + return true; } @Override @@ -134,40 +129,34 @@ public int quantityDropped(Random par1Random) { @Override public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int par4, Entity par5Entity) { - // if(par5Entity.ridingEntity == null && par5Entity.riddenByEntity == null && par5Entity instanceof EntityPlayerMP) { - // EntityPlayerMP player = (EntityPlayerMP) par5Entity; - // if(par5Entity.timeUntilPortal == 0 && par5Entity instanceof EntityPlayerMP) { - // par5Entity.timeUntilPortal = 100; - // MinecraftServer minecraftserver = MinecraftServer.getServer(); - // int dimID = par5Entity.dimension; - // WorldServer worldserver = minecraftserver.worldServerForDimension(0); - // WorldServer worldserver1 = minecraftserver.worldServerForDimension(AtumConfig.dimensionID); - // if(dimID == AtumConfig.dimensionID) { - // minecraftserver.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP) par5Entity, 0, new AtumTeleporter(worldserver)); - // if(par1World.isRemote) { - // Minecraft.getMinecraft().gameSettings.renderDistance = TickHandler.defaultFog; - // } - // } else { - // minecraftserver.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP) par5Entity, AtumConfig.dimensionID, new AtumTeleporter(worldserver1)); - // } - // - // try { - // EntityPlayerMP e = (EntityPlayerMP) player; - // ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[]{"lastExperience", "cp", "field_71144_ck"}); - // ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[]{"lastHealth", "cm", "field_71149_ch"}); - // ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[]{"lastFoodLevel", "cn", "field_71146_ci"}); - // } catch(Exception var12) { - // var12.printStackTrace(); - // } - // } - // } + if(par5Entity.ridingEntity == null && par5Entity.riddenByEntity == null && par5Entity instanceof EntityPlayerMP) { + EntityPlayerMP player = (EntityPlayerMP) par5Entity; + if(par5Entity.timeUntilPortal == 0 && par5Entity instanceof EntityPlayerMP) { + par5Entity.timeUntilPortal = 100; + MinecraftServer minecraftserver = MinecraftServer.getServer(); + int dimID = par5Entity.dimension; + WorldServer worldserver = minecraftserver.worldServerForDimension(0); + WorldServer worldserver1 = minecraftserver.worldServerForDimension(AtumIDS.DIMENSION_ID); + if(dimID == AtumIDS.DIMENSION_ID) { + minecraftserver.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP) par5Entity, 0, new AtumTeleporter(worldserver)); + // if(par1World.isRemote) { + // Minecraft.getMinecraft().gameSettings.renderDistance = TickHandler.defaultFog; + // } + } else { + minecraftserver.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP) par5Entity, AtumIDS.DIMENSION_ID, new AtumTeleporter(worldserver1)); + } - } + try { + EntityPlayerMP e = (EntityPlayerMP) player; + ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[]{"lastExperience", "cp", "field_71144_ck"}); + ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[]{"lastHealth", "cm", "field_71149_ch"}); + ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[]{"lastFoodLevel", "cn", "field_71146_ci"}); + } catch(Exception var12) { + var12.printStackTrace(); + } + } + } - @Override - @SideOnly(Side.CLIENT) - public int getRenderBlockPass() { - return 1; } @Override diff --git a/common/com/teammetallurgy/atum/blocks/Blocks.java b/common/com/teammetallurgy/atum/blocks/Blocks.java index b19cea8..9649d44 100644 --- a/common/com/teammetallurgy/atum/blocks/Blocks.java +++ b/common/com/teammetallurgy/atum/blocks/Blocks.java @@ -3,10 +3,18 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraftforge.common.ForgeHooks; +import net.minecraftforge.common.MinecraftForge; import com.teammetallurgy.atum.Atum; +import com.teammetallurgy.atum.AtumConfig; import com.teammetallurgy.atum.AtumIDS; import com.teammetallurgy.atum.LocalizationHelper; +import com.teammetallurgy.atum.blocks.tileentity.TileEntityArrowTrap; +import com.teammetallurgy.atum.blocks.tileentity.TileEntityChestSpawner; +import com.teammetallurgy.atum.blocks.tileentity.TileEntityPharaohChest; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; @@ -100,6 +108,21 @@ public void registerBlocks() { this.register(BLOCK_DIAMONDORE); this.register(BLOCK_FURNACEIDLE); this.register(BLOCK_FURNACEBURNING); + + ForgeHooks.canToolHarvestBlock(BLOCK_SAND, 0, new ItemStack(Item.shovelIron)); + MinecraftForge.setBlockHarvestLevel(BLOCK_SAND, "shovel", 0); + MinecraftForge.setBlockHarvestLevel(BLOCK_COALORE, "pickaxe", 0); + MinecraftForge.setBlockHarvestLevel(BLOCK_IRONORE, "pickaxe", 1); + MinecraftForge.setBlockHarvestLevel(BLOCK_GOLDORE, "pickaxe", 2); + MinecraftForge.setBlockHarvestLevel(BLOCK_LAPISORE, "pickaxe", 1); + MinecraftForge.setBlockHarvestLevel(BLOCK_DIAMONDORE, "pickaxe", 2); + MinecraftForge.setBlockHarvestLevel(BLOCK_REDSTONEORE, "pickaxe", 2); + Block.setBurnProperties(BLOCK_PLANKS.blockID, 5, 20); + Block.setBurnProperties(BLOCK_LEAVES.blockID, 30, 60); + + GameRegistry.registerTileEntity(TileEntityChestSpawner.class, "CursedChest"); + GameRegistry.registerTileEntity(TileEntityPharaohChest.class, "PharaohChest"); + GameRegistry.registerTileEntity(TileEntityArrowTrap.class, "ArrowTrap"); } private void register(Block b) { diff --git a/common/com/teammetallurgy/atum/blocks/tileentity/TileEntityArrowTrap.java b/common/com/teammetallurgy/atum/blocks/tileentity/TileEntityArrowTrap.java new file mode 100644 index 0000000..a15292b --- /dev/null +++ b/common/com/teammetallurgy/atum/blocks/tileentity/TileEntityArrowTrap.java @@ -0,0 +1,84 @@ +package com.teammetallurgy.atum.blocks.tileentity; + +import java.util.Iterator; +import java.util.List; +import java.util.Random; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.Vec3; + +public class TileEntityArrowTrap extends TileEntity { + + private ItemStack[] dispenserContents = new ItemStack[9]; + private Random dispenserRandom = new Random(); + protected String field_94050_c; + + @Override + public void updateEntity() { + EntityPlayer p = super.worldObj.getClosestPlayer((double) super.xCoord, (double) super.yCoord, (double) super.zCoord, 4.0D); + byte range = 1; + int xMin = super.xCoord; + int xMax = super.xCoord + range; + int yMin = super.yCoord; + int yMax = super.yCoord + range; + int zMin = super.zCoord; + int zMax = super.zCoord + range; + EnumFacing facing = EnumFacing.getFront(super.worldObj.getBlockMetadata(super.xCoord, super.yCoord, super.zCoord)); + xMin += facing.getFrontOffsetX() * range; + xMax += facing.getFrontOffsetX() * range; + yMin += facing.getFrontOffsetY() * range; + yMax += facing.getFrontOffsetY() * range; + zMin += facing.getFrontOffsetZ() * range; + zMax += facing.getFrontOffsetZ() * range; + AxisAlignedBB bb = AxisAlignedBB.getAABBPool().getAABB((double) xMin, (double) yMin, (double) zMin, (double) xMax, (double) yMax, (double) zMax); + List list = super.worldObj.getEntitiesWithinAABB(EntityMob.class, bb); + if(p != null && bb.isVecInside(Vec3.createVectorHelper(p.posX, p.posY + 0.5D, p.posZ))) { + p.setFire(2); + this.spawnFlames(); + } + + Iterator i = list.iterator(); + + while(i.hasNext()) { + Entity e = (Entity) i.next(); + if(e instanceof EntityLiving) { + e.setFire(2); + } + } + + } + + public void spawnFlames() { + Random par5Random = new Random(); + int l = super.worldObj.getBlockMetadata(super.xCoord, super.yCoord, super.zCoord); + float f = (float) super.xCoord + 0.5F; + float f1 = (float) super.yCoord + 0.1875F + par5Random.nextFloat() * 10.0F / 16.0F; + float f2 = (float) super.zCoord + 0.5F; + float f3 = 0.52F; + float f4 = par5Random.nextFloat() * 0.6F - 0.3F; + double mx = par5Random.nextDouble() * 0.08D - 0.04D; + double my = par5Random.nextDouble() * 0.08D - 0.04D; + double mz = par5Random.nextDouble() * 0.08D - 0.04D; + if(l == 4) { + super.worldObj.spawnParticle("smoke", (double) (f - f3), (double) f1, (double) (f2 + f4), mx - 0.1D, my, mz); + super.worldObj.spawnParticle("flame", (double) (f - f3), (double) f1, (double) (f2 + f4), mx - 0.1D, my, mz); + } else if(l == 5) { + super.worldObj.spawnParticle("smoke", (double) (f + f3), (double) f1, (double) (f2 + f4), mx + 0.1D, my, mz); + super.worldObj.spawnParticle("flame", (double) (f + f3), (double) f1, (double) (f2 + f4), mx + 0.1D, my, mz); + } else if(l == 2) { + super.worldObj.spawnParticle("smoke", (double) (f + f4), (double) f1, (double) (f2 - f3), mx, my, mz - 0.1D); + super.worldObj.spawnParticle("flame", (double) (f + f4), (double) f1, (double) (f2 - f3), mx, my, mz - 0.1D); + } else if(l == 3) { + super.worldObj.spawnParticle("smoke", (double) (f + f4), (double) f1, (double) (f2 + f3), mx, my, mz + 0.1D); + super.worldObj.spawnParticle("flame", (double) (f + f4), (double) f1, (double) (f2 + f3), mx, my, mz + 0.1D); + } + + } +} diff --git a/common/com/teammetallurgy/atum/client/render/tileentity/RenderDate.java b/common/com/teammetallurgy/atum/client/render/tileentity/RenderDate.java index bf26ef9..592949d 100644 --- a/common/com/teammetallurgy/atum/client/render/tileentity/RenderDate.java +++ b/common/com/teammetallurgy/atum/client/render/tileentity/RenderDate.java @@ -1,9 +1,11 @@ package com.teammetallurgy.atum.client.render.tileentity; import net.minecraft.block.Block; +import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.Tessellator; import net.minecraft.util.Icon; +import net.minecraft.util.ResourceLocation; import net.minecraft.world.IBlockAccess; import com.teammetallurgy.atum.blocks.BlockDate; @@ -16,9 +18,11 @@ public class RenderDate implements ISimpleBlockRenderingHandler { ModelDate modelDate = new ModelDate(); + @Override public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) { } + @Override public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { Tessellator tessellator = Tessellator.instance; if(world != null) { @@ -108,11 +112,13 @@ public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block b return true; } + @Override public boolean shouldRender3DInInventory() { return false; } + @Override public int getRenderId() { - return ((BlockDate) ((BlockDate) Blocks.BLOCK_DATEBLOCK)).renderID; + return ((BlockDate) Blocks.BLOCK_DATEBLOCK).renderID; } } diff --git a/common/com/teammetallurgy/atum/items/ItemLoot.java b/common/com/teammetallurgy/atum/items/ItemLoot.java index 8c844e4..fa9d914 100644 --- a/common/com/teammetallurgy/atum/items/ItemLoot.java +++ b/common/com/teammetallurgy/atum/items/ItemLoot.java @@ -13,6 +13,7 @@ import net.minecraft.util.MathHelper; import com.teammetallurgy.atum.Atum; +import com.teammetallurgy.atum.LocalizationHelper; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -32,7 +33,7 @@ public ItemLoot(int par1) { public static ItemStack getRandomLoot(Random rand, boolean isDirty) { int type = rand.nextInt(typeArray.length); int quality = rand.nextInt(qualityArray.length - 1) + 1; - return new ItemStack(Items.loot.itemID, 1, type << 5 | quality << 1 | (isDirty ? 1 : 0)); + return new ItemStack(Items.ITEM_LOOT.itemID, 1, type << 5 | quality << 1 | (isDirty ? 1 : 0)); } @Override @@ -48,7 +49,7 @@ public String getUnlocalizedName(ItemStack par1ItemStack) { int dirty = par1ItemStack.getItemDamage() & 1; int quality = par1ItemStack.getItemDamage() >> 1 & 15; int type = par1ItemStack.getItemDamage() >> 5 & 15; - return dirty == 1 ? super.getUnlocalizedName() + ".dirty" + typeArray[type] : super.getUnlocalizedName() + "." + qualityArray[quality] + typeArray[type]; + return dirty == 1 ? LocalizationHelper.localize(this.getUnlocalizedName() + ".dirty" + typeArray[type]) : LocalizationHelper.localize(this.getUnlocalizedName() + "." + qualityArray[quality] + typeArray[type]); } @Override diff --git a/common/com/teammetallurgy/atum/items/ItemScarab.java b/common/com/teammetallurgy/atum/items/ItemScarab.java index 4e504f5..529a08e 100644 --- a/common/com/teammetallurgy/atum/items/ItemScarab.java +++ b/common/com/teammetallurgy/atum/items/ItemScarab.java @@ -1,13 +1,13 @@ package com.teammetallurgy.atum.items; import net.minecraft.block.Block; -import net.minecraft.block.BlockPortal; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; +import com.teammetallurgy.atum.blocks.BlockPortal; import com.teammetallurgy.atum.blocks.Blocks; public class ItemScarab extends Item { @@ -23,23 +23,37 @@ public boolean hasEffect(ItemStack par1ItemStack) { } @Override - public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) { - int blockID = par3World.getBlockId(par4, par5, par6); + public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int x, int y, int z, int par7, float par8, float par9, float par10) { + int blockID = par3World.getBlockId(x, y, z); if(blockID == Block.sandStone.blockID) { - if(!((BlockPortal) Blocks.BLOCK_PORTAL).tryToCreatePortal(par3World, par4, par5 + 1, par6)) { + if(!((BlockPortal) Blocks.BLOCK_PORTAL).tryToCreatePortal(par3World, x, y, z)) { if(par2EntityPlayer.capabilities.isCreativeMode) { - par3World.setBlock(par4 + 2, par5 + 1, par6, Block.sandStone.blockID); - par3World.setBlock(par4 + 2, par5 + 2, par6, Block.sandStone.blockID); - par3World.setBlock(par4 - 2, par5 + 1, par6, Block.sandStone.blockID); - par3World.setBlock(par4 - 2, par5 + 2, par6, Block.sandStone.blockID); - par3World.setBlock(par4, par5 + 1, par6 + 2, Block.sandStone.blockID); - par3World.setBlock(par4, par5 + 2, par6 + 2, Block.sandStone.blockID); - par3World.setBlock(par4, par5 + 1, par6 - 2, Block.sandStone.blockID); - par3World.setBlock(par4, par5 + 2, par6 - 2, Block.sandStone.blockID); - par3World.setBlock(par4, par5 + 3, par6 + 1, Block.sandStone.blockID); - par3World.setBlock(par4, par5 + 3, par6 - 1, Block.sandStone.blockID); - par3World.setBlock(par4 - 1, par5 + 3, par6, Block.sandStone.blockID); - par3World.setBlock(par4 + 1, par5 + 3, par6, Block.sandStone.blockID); + if(par2EntityPlayer.worldObj.provider.dimensionId == 0) { + for(int x1 = -2; x1 < 3; x1++) { + for(int z1 = -2; z1 < 3; z1++) { + par3World.setBlock(x + x1, y, z + z1, Block.sandStone.blockID); + } + } + for(int x1 = -2; x1 < 3; x1++) { + for(int z1 = -2; z1 < 3; z1++) { + if(x1 + x == x + 2 || z1 + z == z + 2 || x1 + x == x - 2 || z1 + z == z - 2) { + par3World.setBlock(x + x1, y + 1, z + z1, Block.sandStone.blockID); + } + } + } + for(int y1 = 2; y1 < 4; y1++) { + for(int x1 = -2; x1 < 3; x1++) { + for(int z1 = -2; z1 < 3; z1++) { + if((x1 + x == x + 2 && z1 + z == z + 2) || (x1 + x == x - 2 && z1 + z == z + 2) || (x1 + x == x + 2 && z1 + z == z - 2) || (x1 + x == x - 2 && z1 + z == z - 2)) { + par3World.setBlock(x + x1, y + y1, z + z1, Block.sandStone.blockID); + } + } + } + } + + } else { + + } } } else { --par2EntityPlayer.getCurrentEquippedItem().stackSize; diff --git a/common/com/teammetallurgy/atum/items/Items.java b/common/com/teammetallurgy/atum/items/Items.java index aac6502..8f36aa5 100644 --- a/common/com/teammetallurgy/atum/items/Items.java +++ b/common/com/teammetallurgy/atum/items/Items.java @@ -50,38 +50,38 @@ public enum Items { INSTANCE; - public static final Item scarab = new ItemScarab(AtumIDS.ITEM_SCARAB_ID).setUnlocalizedName("atum:scarab").setCreativeTab(Atum.creativeTab); - public static final Item loot = new ItemLoot(AtumIDS.ITEM_LOOT_ID).setCreativeTab(Atum.creativeTab); - public static final Item date = new ItemFood(AtumIDS.ITEM_DATE_ID, 5, 1.5F, false).setTextureName("atum:date").setUnlocalizedName("atum:date").setCreativeTab(Atum.creativeTab); - public static final Item scimitar = new ItemScimitar(AtumIDS.ITEM_SCIMITAR_ID, EnumToolMaterial.IRON).setUnlocalizedName("atum:scimitar").setCreativeTab(Atum.creativeTab); - public static final Item greatsword = new ItemGreatsword(AtumIDS.ITEM_GREATSWORD_ID, EnumToolMaterial.IRON).setUnlocalizedName("atum:greatsword").setTextureName("atum:Greatsword").setCreativeTab(Atum.creativeTab); - public static final Item bow = new ItemAtumBow(AtumIDS.ITEM_BOW_ID).setUnlocalizedName("atum:bow").setCreativeTab(Atum.creativeTab); - public static final Item stoneSoldierSword = new ItemStoneSoldierSword(AtumIDS.ITEM_STONESOLDIERSWORD_ID, EnumToolMaterial.IRON).setUnlocalizedName("atum:StoneSoldierSword").setCreativeTab(Atum.creativeTab); - public static final Item scepter = new ItemScepter(AtumIDS.ITEM_SCEPTER_ID, EnumToolMaterial.GOLD).setUnlocalizedName("atum:Scepter").setCreativeTab(Atum.creativeTab); - public static final Item ptahsPick = new ItemPtahsDecadence(AtumIDS.ITEM_PTAHSPICK_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:PtahsDecadence").setCreativeTab(Atum.creativeTab); - public static final Item sobeksRage = new ItemSobeksRage(AtumIDS.ITEM_SOBEKSRAGE_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:SoteksRage").setCreativeTab(Atum.creativeTab); - public static final Item osirisWill = new ItemOsirisWill(AtumIDS.ITEM_OSIRISWILL_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:OsirisWill").setCreativeTab(Atum.creativeTab); - public static final Item akersToil = new ItemAkersToil(AtumIDS.ITEM_AKERSTOIL_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:AkersToil").setCreativeTab(Atum.creativeTab); - public static final Item gebsBlessing = new ItemGebsBlessing(AtumIDS.ITEM_GEBSBLESSING_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:GebsBlessing").setCreativeTab(Atum.creativeTab); - public static final Item atensFury = new ItemAtensFury(AtumIDS.ITEM_ATENSFURY_ID).setUnlocalizedName("atum:AtensFury").setCreativeTab(Atum.creativeTab); - public static final Item rasGlory = new ItemRasGlory(AtumIDS.ITEM_RASGLORY_ID, EnumArmorMaterial.DIAMOND, 0, 0).setTextureFile("EgyptianArmor_1").setUnlocalizedName("atum:RasGlory").setCreativeTab(Atum.creativeTab); - public static final Item sekhmetsWrath = new ItemSekhmetsWrath(AtumIDS.ITEM_SEKHMETSWRATH_ID, EnumArmorMaterial.DIAMOND, 1, 1).setTextureFile("EgyptianArmor_1").setUnlocalizedName("atum:SekhmetsWrath").setCreativeTab(Atum.creativeTab); - public static final Item nutsAgility = new ItemNutsAgility(AtumIDS.ITEM_NUTSAGILITY_ID, EnumArmorMaterial.DIAMOND, 2, 2).setTextureFile("EgyptianArmor_2").setUnlocalizedName("atum:NutsAgility").setCreativeTab(Atum.creativeTab); - public static final Item horusFlight = new ItemHorusFlight(AtumIDS.ITEM_HORUSFLIGHT_ID, EnumArmorMaterial.DIAMOND, 3, 3).setTextureFile("EgyptianArmor_1").setUnlocalizedName("atum:HorusFlight").setCreativeTab(Atum.creativeTab); - public static final Item monthusStrike = new ItemMonthusStrike(AtumIDS.ITEM_MONTHUSSTRIKE_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:MonthusStrike").setCreativeTab(Atum.creativeTab); - public static final Item anhursMight = new ItemAnhursMight(AtumIDS.ITEM_ANHURSMIGHT_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:AnhursMight").setCreativeTab(Atum.creativeTab); - public static final Item hedetetsSting = new ItemHedetetsSting(AtumIDS.ITEM_HEDETETSSTING_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:HedetetsSting").setCreativeTab(Atum.creativeTab); - public static final Item horusSoaring = new ItemHorusSoaring(AtumIDS.ITEM_HORUSFLIGHT_ID).setUnlocalizedName("atum:HorusSoaring").setCreativeTab(Atum.creativeTab); - public static final Item shusBreath = new ItemShusBreath(AtumIDS.ITEM_SHUSBREATH_ID).setUnlocalizedName("atum:ShusBreath").setCreativeTab(Atum.creativeTab); - public static final Item ptahsDestruction = new ItemPtahsDestruction(AtumIDS.ITEM_PTAHSDESTRUCTION_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:PtahsDestruction").setCreativeTab(Atum.creativeTab); - public static final Item monthusBlast = new ItemMonthusBlast(AtumIDS.ITEM_MONTHUSBLAST_ID).setUnlocalizedName("atum:MonthusBlast").setCreativeTab(Atum.creativeTab); - public static final Item nusFlux = new ItemNusFlux(AtumIDS.ITEM_NUSFLUX_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:NusFlux").setCreativeTab(Atum.creativeTab); - public static final Item mnevisHorns = new ItemMnevisHorns(AtumIDS.ITEM_MNEVISHORNS_ID, EnumArmorMaterial.DIAMOND, 0, 0).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("atum:MnevisHorns").setCreativeTab(Atum.creativeTab); - public static final Item isisEmbrace = new IsisEmbrace(AtumIDS.ITEM_ISISEMBRACE_ID, EnumArmorMaterial.DIAMOND, 1, 1).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("atum:IsisEmbrace").setCreativeTab(Atum.creativeTab); - public static final Item maatsBalance = new ItemMaatsBalance(AtumIDS.ITEM_MAATSBALANCE_ID, EnumArmorMaterial.DIAMOND, 2, 2).setTextureFile("RubyArtifactArmor_2").setUnlocalizedName("atum:MaatsBalance").setCreativeTab(Atum.creativeTab); - public static final Item hedetetsVenom = new ItemHedetetsVenom(AtumIDS.ITEM_HEDETETSVENOM_ID).setUnlocalizedName("atum:HedetetsVenom").setCreativeTab(Atum.creativeTab); - public static final Item gebsSolidarity = new ItemGebsSolidarity(AtumIDS.ITEM_GEBSSOLIDARITY_ID, EnumArmorMaterial.DIAMOND, 3, 3).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("atum:GebsSolidarity").setCreativeTab(Atum.creativeTab); - public static final Item nutsCall = new ItemNutsCall(AtumIDS.ITEM_NUTSCALL_ID).setUnlocalizedName("atum:NutsCall").setCreativeTab(Atum.creativeTab); + public static final Item ITEM_SCARAB = new ItemScarab(AtumIDS.ITEM_SCARAB_ID).setUnlocalizedName("atum:scarab").setCreativeTab(Atum.creativeTab); + public static final Item ITEM_LOOT = new ItemLoot(AtumIDS.ITEM_LOOT_ID).setUnlocalizedName("atum:loot").setCreativeTab(Atum.creativeTab); + public static final Item ITEM_DATE = new ItemFood(AtumIDS.ITEM_DATE_ID, 5, 1.5F, false).setTextureName("atum:date").setUnlocalizedName("atum:date").setCreativeTab(Atum.creativeTab); + public static final Item ITEM_SCIMITAR = new ItemScimitar(AtumIDS.ITEM_SCIMITAR_ID, EnumToolMaterial.IRON).setUnlocalizedName("atum:scimitar").setCreativeTab(Atum.creativeTab); + public static final Item ITEM_GREATSWORD = new ItemGreatsword(AtumIDS.ITEM_GREATSWORD_ID, EnumToolMaterial.IRON).setUnlocalizedName("atum:greatsword").setTextureName("atum:Greatsword").setCreativeTab(Atum.creativeTab); + public static final Item ITEM_BOW = new ItemAtumBow(AtumIDS.ITEM_BOW_ID).setUnlocalizedName("atum:bow").setCreativeTab(Atum.creativeTab); + public static final Item stoneSoldierSword = new ItemStoneSoldierSword(AtumIDS.ITEM_STONESOLDIERSWORD_ID, EnumToolMaterial.IRON).setUnlocalizedName("atum:stoneSoldierSword").setCreativeTab(Atum.creativeTab); + public static final Item scepter = new ItemScepter(AtumIDS.ITEM_SCEPTER_ID, EnumToolMaterial.GOLD).setUnlocalizedName("atum:scepter").setCreativeTab(Atum.creativeTab); + public static final Item ptahsPick = new ItemPtahsDecadence(AtumIDS.ITEM_PTAHSPICK_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:ptahsDecadence").setCreativeTab(Atum.creativeTab); + public static final Item sobeksRage = new ItemSobeksRage(AtumIDS.ITEM_SOBEKSRAGE_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:soteksRage").setCreativeTab(Atum.creativeTab); + public static final Item osirisWill = new ItemOsirisWill(AtumIDS.ITEM_OSIRISWILL_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:osirisWill").setCreativeTab(Atum.creativeTab); + public static final Item akersToil = new ItemAkersToil(AtumIDS.ITEM_AKERSTOIL_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:akersToil").setCreativeTab(Atum.creativeTab); + public static final Item gebsBlessing = new ItemGebsBlessing(AtumIDS.ITEM_GEBSBLESSING_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:gebsBlessing").setCreativeTab(Atum.creativeTab); + public static final Item atensFury = new ItemAtensFury(AtumIDS.ITEM_ATENSFURY_ID).setUnlocalizedName("atum:atensFury").setCreativeTab(Atum.creativeTab); + public static final Item rasGlory = new ItemRasGlory(AtumIDS.ITEM_RASGLORY_ID, EnumArmorMaterial.DIAMOND, 0, 0).setTextureFile("EgyptianArmor_1").setUnlocalizedName("atum:rasGlory").setCreativeTab(Atum.creativeTab); + public static final Item sekhmetsWrath = new ItemSekhmetsWrath(AtumIDS.ITEM_SEKHMETSWRATH_ID, EnumArmorMaterial.DIAMOND, 1, 1).setTextureFile("EgyptianArmor_1").setUnlocalizedName("atum:sekhmetsWrath").setCreativeTab(Atum.creativeTab); + public static final Item nutsAgility = new ItemNutsAgility(AtumIDS.ITEM_NUTSAGILITY_ID, EnumArmorMaterial.DIAMOND, 2, 2).setTextureFile("EgyptianArmor_2").setUnlocalizedName("atum:nutsAgility").setCreativeTab(Atum.creativeTab); + public static final Item horusFlight = new ItemHorusFlight(AtumIDS.ITEM_HORUSFLIGHT_ID, EnumArmorMaterial.DIAMOND, 3, 3).setTextureFile("EgyptianArmor_1").setUnlocalizedName("atum:horusFlight").setCreativeTab(Atum.creativeTab); + public static final Item monthusStrike = new ItemMonthusStrike(AtumIDS.ITEM_MONTHUSSTRIKE_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:monthusStrike").setCreativeTab(Atum.creativeTab); + public static final Item anhursMight = new ItemAnhursMight(AtumIDS.ITEM_ANHURSMIGHT_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:anhursMight").setCreativeTab(Atum.creativeTab); + public static final Item hedetetsSting = new ItemHedetetsSting(AtumIDS.ITEM_HEDETETSSTING_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:hedetetsSting").setCreativeTab(Atum.creativeTab); + public static final Item horusSoaring = new ItemHorusSoaring(AtumIDS.ITEM_HORUSFLIGHT_ID).setUnlocalizedName("atum:horusSoaring").setCreativeTab(Atum.creativeTab); + public static final Item shusBreath = new ItemShusBreath(AtumIDS.ITEM_SHUSBREATH_ID).setUnlocalizedName("atum:shusBreath").setCreativeTab(Atum.creativeTab); + public static final Item ptahsDestruction = new ItemPtahsDestruction(AtumIDS.ITEM_PTAHSDESTRUCTION_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:ptahsDestruction").setCreativeTab(Atum.creativeTab); + public static final Item monthusBlast = new ItemMonthusBlast(AtumIDS.ITEM_MONTHUSBLAST_ID).setUnlocalizedName("atum:monthusBlast").setCreativeTab(Atum.creativeTab); + public static final Item nusFlux = new ItemNusFlux(AtumIDS.ITEM_NUSFLUX_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:nusFlux").setCreativeTab(Atum.creativeTab); + public static final Item mnevisHorns = new ItemMnevisHorns(AtumIDS.ITEM_MNEVISHORNS_ID, EnumArmorMaterial.DIAMOND, 0, 0).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("atum:mnevisHorns").setCreativeTab(Atum.creativeTab); + public static final Item isisEmbrace = new IsisEmbrace(AtumIDS.ITEM_ISISEMBRACE_ID, EnumArmorMaterial.DIAMOND, 1, 1).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("atum:isisEmbrace").setCreativeTab(Atum.creativeTab); + public static final Item maatsBalance = new ItemMaatsBalance(AtumIDS.ITEM_MAATSBALANCE_ID, EnumArmorMaterial.DIAMOND, 2, 2).setTextureFile("RubyArtifactArmor_2").setUnlocalizedName("atum:maatsBalance").setCreativeTab(Atum.creativeTab); + public static final Item hedetetsVenom = new ItemHedetetsVenom(AtumIDS.ITEM_HEDETETSVENOM_ID).setUnlocalizedName("atum:hedetetsVenom").setCreativeTab(Atum.creativeTab); + public static final Item gebsSolidarity = new ItemGebsSolidarity(AtumIDS.ITEM_GEBSSOLIDARITY_ID, EnumArmorMaterial.DIAMOND, 3, 3).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("atum:gebsSolidarity").setCreativeTab(Atum.creativeTab); + public static final Item nutsCall = new ItemNutsCall(AtumIDS.ITEM_NUTSCALL_ID).setUnlocalizedName("atum:nutsCall").setCreativeTab(Atum.creativeTab); public static final Item anuketsBounty = new ItemAnuketsBounty(AtumIDS.ITEM_ANUKETSBOUNTY_ID).setUnlocalizedName("atum:anuketsBounty").setCreativeTab(Atum.creativeTab); public static final Item mafdetsQuickness = new ItemMafdetsQuickness(AtumIDS.ITEM_MAFDETSQUICKNESS_ID).setUnlocalizedName("atum:mafdetsQuickness").setCreativeTab(Atum.creativeTab); public static final Item isisHealing = new ItemIsisHealing(AtumIDS.ITEM_ISISHEALING_ID).setUnlocalizedName("atum:isisHealing").setCreativeTab(Atum.creativeTab); @@ -107,28 +107,28 @@ public enum Items { public static final Item desertChest = new ItemTexturedArmor(AtumIDS.ITEM_DESERTCHEST_ID, desertEnum, 0, 1).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("atum:desertChest").setTextureName("atum:DesertChest").setCreativeTab(Atum.creativeTab); public static final Item desertLegs = new ItemTexturedArmor(AtumIDS.ITEM_DESERTLEGS_ID, desertEnum, 0, 2).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_2").setUnlocalizedName("atum:desertLegs").setTextureName("atum:DesertLegs").setCreativeTab(Atum.creativeTab); public static final Item desertBoots = new ItemTexturedArmor(AtumIDS.ITEM_DESERTBOOTS_ID, desertEnum, 0, 3).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("atum:desertBoots").setTextureName("atum:DesertBoots").setCreativeTab(Atum.creativeTab); - public static final Item papyrusPlant = new ItemPapyrusPlant(AtumIDS.ITEM_PAPYRUSPLANT_ID, Blocks.BLOCK_PAPYRUS).setUnlocalizedName("atum:PapyrusPlantItem").setCreativeTab(Atum.creativeTab); - public static final Item ectoplasm = new Item(AtumIDS.ITEM_ECTOPLASM_ID).setUnlocalizedName("atum:Ectoplasm").setTextureName("atum:Ectoplasm").setCreativeTab(Atum.creativeTab); - public static final Item stoneChunk = new Item(AtumIDS.ITEM_STONECHUNK_ID).setUnlocalizedName("atum:StoneChunk").setTextureName("atum:StoneChunk").setCreativeTab(Atum.creativeTab); - public static final Item scrap = new Item(AtumIDS.ITEM_SCRAP_ID).setUnlocalizedName("atum:ClothScrap").setTextureName("atum:ClothScrap").setCreativeTab(Atum.creativeTab); - public static final Item scroll = new Item(AtumIDS.ITEM_SCROLL_ID).setUnlocalizedName("atum:Scroll").setTextureName("atum:Scroll").setCreativeTab(Atum.creativeTab); - public static final Item pelt = new Item(AtumIDS.ITEM_PELT_ID).setUnlocalizedName("atum:WolfPelt").setTextureName("atum:WolfPelt").setCreativeTab(Atum.creativeTab); - public static final Item linen = new Item(AtumIDS.ITEM_LINEN_ID).setUnlocalizedName("atum:Linen").setTextureName("atum:Linen").setCreativeTab(Atum.creativeTab); - public static final Item flax = new Item(AtumIDS.ITEM_FLAX_ID).setUnlocalizedName("atum:FlaxItem").setTextureName("atum:FlaxItem").setCreativeTab(Atum.creativeTab); + public static final Item papyrusPlant = new ItemPapyrusPlant(AtumIDS.ITEM_PAPYRUSPLANT_ID, Blocks.BLOCK_PAPYRUS).setUnlocalizedName("atum:papyrusPlantItem").setCreativeTab(Atum.creativeTab); + public static final Item ectoplasm = new Item(AtumIDS.ITEM_ECTOPLASM_ID).setUnlocalizedName("atum:ectoplasm").setTextureName("atum:Ectoplasm").setCreativeTab(Atum.creativeTab); + public static final Item stoneChunk = new Item(AtumIDS.ITEM_STONECHUNK_ID).setUnlocalizedName("atum:stoneChunk").setTextureName("atum:StoneChunk").setCreativeTab(Atum.creativeTab); + public static final Item scrap = new Item(AtumIDS.ITEM_SCRAP_ID).setUnlocalizedName("atum:clothScrap").setTextureName("atum:ClothScrap").setCreativeTab(Atum.creativeTab); + public static final Item scroll = new Item(AtumIDS.ITEM_SCROLL_ID).setUnlocalizedName("atum:scroll").setTextureName("atum:Scroll").setCreativeTab(Atum.creativeTab); + public static final Item pelt = new Item(AtumIDS.ITEM_PELT_ID).setUnlocalizedName("atum:wolfPelt").setTextureName("atum:WolfPelt").setCreativeTab(Atum.creativeTab); + public static final Item linen = new Item(AtumIDS.ITEM_LINEN_ID).setUnlocalizedName("atum:linen").setTextureName("atum:Linen").setCreativeTab(Atum.creativeTab); + public static final Item flax = new Item(AtumIDS.ITEM_FLAX_ID).setUnlocalizedName("atum:flaxItem").setTextureName("atum:FlaxItem").setCreativeTab(Atum.creativeTab); public static final Item flaxSeeds = new ItemSeeds(AtumIDS.ITEM_FLAXSEEDS_ID, Blocks.BLOCK_FLAX.blockID, Block.tilledField.blockID).setUnlocalizedName("atum:flaxSeeds").setTextureName("atum:FlaxSeeds").setCreativeTab(Atum.creativeTab); public static final Item fish = new ItemFish(AtumIDS.ITEM_FISH_ID).setUnlocalizedName("atum:fish").setCreativeTab(Atum.creativeTab); public static final Item neithsAudacity = new ItemNeithsAudacity(AtumIDS.ITEM_NEITHSAUDACITY_ID).setUnlocalizedName("atum:neithsAudacity").setCreativeTab(Atum.creativeTab); public static final Item spear = new ItemSpear(AtumIDS.ITEM_SPEAR_ID).setUnlocalizedName("atum:spear").setCreativeTab(Atum.creativeTab); public void registerItems() { - this.register(scarab); - this.register(loot); - this.register(date); - this.register(scimitar); - this.register(greatsword); + this.register(ITEM_SCARAB); + this.register(ITEM_LOOT); + this.register(ITEM_DATE); + this.register(ITEM_SCIMITAR); + this.register(ITEM_GREATSWORD); this.register(scepter); this.register(stoneSoldierSword); - this.register(bow); + this.register(ITEM_BOW); this.register(ptahsPick); this.register(sobeksRage); this.register(osirisWill); @@ -191,11 +191,11 @@ public void registerItems() { private void register(Item item) { GameRegistry.registerItem(item, item.getUnlocalizedName()); - System.out.println("item." + item.getUnlocalizedName().split(":")[1] + ".name="); + this.name(item, item.getUnlocalizedName().split(":")[1]); } - - private void name(Item b, String type, String tag) { - LanguageRegistry.addName(b, LocalizationHelper.localize("item" + tag + ".name")); + + private void name(Item item, String tag) { + LanguageRegistry.addName(item, LocalizationHelper.localize("item." + tag + ".name")); } } diff --git a/common/com/teammetallurgy/atum/proxy/ClientProxy.java b/common/com/teammetallurgy/atum/proxy/ClientProxy.java index 0839149..df61894 100644 --- a/common/com/teammetallurgy/atum/proxy/ClientProxy.java +++ b/common/com/teammetallurgy/atum/proxy/ClientProxy.java @@ -15,7 +15,7 @@ public class ClientProxy extends CommonProxy { @Override public void initRenders() { - MinecraftForgeClient.registerItemRenderer(Items.bow.itemID, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(Items.ITEM_BOW.itemID, new RendererItemBow()); MinecraftForgeClient.registerItemRenderer(Items.atensFury.itemID, new RendererItemBow()); MinecraftForgeClient.registerItemRenderer(Items.horusSoaring.itemID, new RendererItemBow()); MinecraftForgeClient.registerItemRenderer(Items.neithsAudacity.itemID, new RendererItemBow()); diff --git a/common/com/teammetallurgy/atum/world/AtumPortalPosition.java b/common/com/teammetallurgy/atum/world/AtumPortalPosition.java new file mode 100644 index 0000000..d7c67e4 --- /dev/null +++ b/common/com/teammetallurgy/atum/world/AtumPortalPosition.java @@ -0,0 +1,15 @@ +package com.teammetallurgy.atum.world; + +import net.minecraft.util.ChunkCoordinates; + +public class AtumPortalPosition extends ChunkCoordinates { + + public long field_85087_d; + final AtumTeleporter field_85088_e; + + public AtumPortalPosition(AtumTeleporter par1Teleporter, int par2, int par3, int par4, long par5) { + super(par2, par3, par4); + this.field_85088_e = par1Teleporter; + this.field_85087_d = par5; + } +} diff --git a/common/com/teammetallurgy/atum/world/AtumTeleporter.java b/common/com/teammetallurgy/atum/world/AtumTeleporter.java new file mode 100644 index 0000000..64b8575 --- /dev/null +++ b/common/com/teammetallurgy/atum/world/AtumTeleporter.java @@ -0,0 +1,410 @@ +package com.teammetallurgy.atum.world; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.entity.Entity; +import net.minecraft.util.Direction; +import net.minecraft.util.LongHashMap; +import net.minecraft.util.MathHelper; +import net.minecraft.world.ChunkCoordIntPair; +import net.minecraft.world.PortalPosition; +import net.minecraft.world.Teleporter; +import net.minecraft.world.WorldServer; + +import com.teammetallurgy.atum.blocks.Blocks; + +public class AtumTeleporter extends Teleporter { + + private final WorldServer worldServerInstance; + private final Random random; + public static String[][] portalDesign = new String[][]{{"XXXXX", "X X", "X X", "X X", "XXXXX"}, {"X X", " ", " ", " ", "X X"}, {"X X", " ", " ", " ", "X X"}}; + + private final LongHashMap destinationCoordinateCache = new LongHashMap(); + private final List destinationCoordinateKeys = new ArrayList(); + + public AtumTeleporter(WorldServer par1WorldServer) { + super(par1WorldServer); + this.worldServerInstance = par1WorldServer; + this.random = new Random(par1WorldServer.getSeed()); + } + + @Override + public void placeInPortal(Entity par1Entity, double par2, double par4, double par6, float par8) { + if(this.worldServerInstance.provider.dimensionId != 1) { + if(!this.placeInExistingPortal(par1Entity, par2, par4, par6, par8)) { + this.makePortal(par1Entity); + this.placeInExistingPortal(par1Entity, par2, par4, par6, par8); + } + } else { + int i = MathHelper.floor_double(par1Entity.posX); + int j = MathHelper.floor_double(par1Entity.posY) - 1; + int k = MathHelper.floor_double(par1Entity.posZ); + byte b0 = 1; + byte b1 = 0; + + for(int l = -2; l <= 2; ++l) { + for(int i1 = -2; i1 <= 2; ++i1) { + for(int j1 = -1; j1 < 3; ++j1) { + int k1 = i + i1 * b0 + l * b1; + int l1 = j + j1; + int i2 = k + i1 * b1 - l * b0; + boolean flag = j1 < 0; + this.worldServerInstance.setBlock(k1, l1, i2, flag ? Block.sandStone.blockID : 0); + } + } + } + + par1Entity.setLocationAndAngles((double) i, (double) j, (double) k, par1Entity.rotationYaw, 0.0F); + par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D; + } + + } + + @Override + public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4, double par6, float par8) { + short short1 = 128; + double d3 = -1.0D; + int i = 0; + int j = 0; + int k = 0; + int l = MathHelper.floor_double(par1Entity.posX); + int i1 = MathHelper.floor_double(par1Entity.posZ); + long j1 = ChunkCoordIntPair.chunkXZ2Int(l, i1); + boolean flag = true; + double d4; + int k1; + int k2; + double var46; + if(this.destinationCoordinateCache.containsItem(j1)) { + PortalPosition d8 = (PortalPosition) this.destinationCoordinateCache.getValueByKey(j1); + d3 = 0.0D; + i = d8.posX; + j = d8.posY; + k = d8.posZ; + d8.lastUpdateTime = this.worldServerInstance.getTotalWorldTime(); + flag = false; + } else { + for(k1 = l - short1; k1 <= l + short1; ++k1) { + var46 = (double) k1 + 0.5D - par1Entity.posX; + + for(int d9 = i1 - short1; d9 <= i1 + short1; ++d9) { + double d6 = (double) d9 + 0.5D - par1Entity.posZ; + + for(k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { + if(this.worldServerInstance.getBlockId(k1, k2, d9) == Blocks.BLOCK_PORTAL.blockID) { + while(this.worldServerInstance.getBlockId(k1, k2 - 1, d9) == Blocks.BLOCK_PORTAL.blockID) { + --k2; + } + + d4 = (double) k2 + 0.5D - par1Entity.posY; + double l2 = var46 * var46 + d4 * d4 + d6 * d6; + if(d3 < 0.0D || l2 < d3) { + d3 = l2; + i = k1; + j = k2; + k = d9; + } + } + } + } + } + } + + if(d3 >= 0.0D) { + if(flag) { + this.destinationCoordinateCache.add(j1, new AtumPortalPosition(this, i, j, k, this.worldServerInstance.getTotalWorldTime())); + this.destinationCoordinateKeys.add(Long.valueOf(j1)); + } + + var46 = (double) i + 0.5D; + double var47 = (double) j + 0.5D; + d4 = (double) k + 0.5D; + int j2 = -1; + if(this.worldServerInstance.getBlockId(i - 1, j, k) == Blocks.BLOCK_PORTAL.blockID) { + j2 = 2; + } + + if(this.worldServerInstance.getBlockId(i + 1, j, k) == Blocks.BLOCK_PORTAL.blockID) { + j2 = 0; + } + + if(this.worldServerInstance.getBlockId(i, j, k - 1) == Blocks.BLOCK_PORTAL.blockID) { + j2 = 3; + } + + if(this.worldServerInstance.getBlockId(i, j, k + 1) == Blocks.BLOCK_PORTAL.blockID) { + j2 = 1; + } + + k2 = par1Entity.getTeleportDirection(); + if(j2 > -1) { + int var48 = Direction.rotateLeft[j2]; + int i3 = Direction.offsetX[j2]; + int j3 = Direction.offsetZ[j2]; + int k3 = Direction.offsetX[var48]; + int l3 = Direction.offsetZ[var48]; + boolean flag1 = !this.worldServerInstance.isAirBlock(i + i3 + k3, j, k + j3 + l3) || !this.worldServerInstance.isAirBlock(i + i3 + k3, j + 1, k + j3 + l3); + boolean flag2 = !this.worldServerInstance.isAirBlock(i + i3, j, k + j3) || !this.worldServerInstance.isAirBlock(i + i3, j + 1, k + j3); + if(flag1 && flag2) { + j2 = Direction.rotateOpposite[j2]; + var48 = Direction.rotateOpposite[var48]; + i3 = Direction.offsetX[j2]; + j3 = Direction.offsetZ[j2]; + k3 = Direction.offsetX[var48]; + l3 = Direction.offsetZ[var48]; + k1 = i - k3; + var46 -= (double) k3; + int f1 = k - l3; + d4 -= (double) l3; + flag1 = !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j, f1 + j3 + l3) || !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j + 1, f1 + j3 + l3); + flag2 = !this.worldServerInstance.isAirBlock(k1 + i3, j, f1 + j3) || !this.worldServerInstance.isAirBlock(k1 + i3, j + 1, f1 + j3); + } + + float var49 = 0.5F; + float f2 = 0.5F; + if(!flag1 && flag2) { + var49 = 1.0F; + } else if(flag1 && !flag2) { + var49 = 0.0F; + } else if(flag1 && flag2) { + f2 = 0.0F; + } + + var46 += (double) ((float) k3 * var49 + f2 * (float) i3); + d4 += (double) ((float) l3 * var49 + f2 * (float) j3); + float f3 = 0.0F; + float f4 = 0.0F; + float f5 = 0.0F; + float f6 = 0.0F; + if(j2 == k2) { + f3 = 1.0F; + f4 = 1.0F; + } else if(j2 == Direction.rotateOpposite[k2]) { + f3 = -1.0F; + f4 = -1.0F; + } else if(j2 == Direction.rotateRight[k2]) { + f5 = 1.0F; + f6 = -1.0F; + } else { + f5 = -1.0F; + f6 = 1.0F; + } + + double d10 = par1Entity.motionX; + double d11 = par1Entity.motionZ; + par1Entity.motionX = d10 * (double) f3 + d11 * (double) f6; + par1Entity.motionZ = d10 * (double) f5 + d11 * (double) f4; + par1Entity.rotationYaw = par8 - (float) (k2 * 90) + (float) (j2 * 90); + } else { + par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D; + } + + par1Entity.setLocationAndAngles(var46, var47, d4, par1Entity.rotationYaw, par1Entity.rotationPitch); + return true; + } else { + return false; + } + } + + @Override + public boolean makePortal(Entity par1Entity) { + byte b0 = 16; + double d0 = -1.0D; + int entityX = MathHelper.floor_double(par1Entity.posX); + int entityY = MathHelper.floor_double(par1Entity.posY); + int entityZ = MathHelper.floor_double(par1Entity.posZ); + int l = entityX; + int i1 = entityY; + int j1 = entityZ; + int k1 = 0; + int l1 = this.random.nextInt(4); + + int i2; + double d1; + double d2; + int k2; + int j2; + int i3; + int l2; + int k3; + int j3; + int i4; + int l3; + int k4; + int j4; + double d3; + double d4; + int i5; + for(i2 = entityX - b0; i2 <= entityX + b0; ++i2) { + d1 = (double) i2 + 0.5D - par1Entity.posX; + + for(j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) { + d2 = (double) j2 + 0.5D - par1Entity.posZ; + + label272: for(k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { + if(this.worldServerInstance.isAirBlock(i2, k2, j2)) { + while(k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) { + --k2; + } + + for(i3 = l1; i3 < l1 + 4; ++i3) { + l2 = i3 % 2; + k3 = 1 - l2; + if(i3 % 4 >= 2) { + l2 = -l2; + k3 = -k3; + } + + for(j3 = 0; j3 < 3; ++j3) { + for(i4 = 0; i4 < 4; ++i4) { + for(l3 = -1; l3 < 4; ++l3) { + k4 = i2 + (i4 - 1) * l2 + j3 * k3; + j4 = k2 + l3; + i5 = j2 + (i4 - 1) * k3 - j3 * l2; + if(l3 < 0 && !this.worldServerInstance.getBlockMaterial(k4, j4, i5).isSolid() || l3 >= 0 && !this.worldServerInstance.isAirBlock(k4, j4, i5)) { + continue label272; + } + } + } + } + + d4 = (double) k2 + 0.5D - par1Entity.posY; + d3 = d1 * d1 + d4 * d4 + d2 * d2; + if(d0 < 0.0D || d3 < d0) { + d0 = d3; + l = i2; + i1 = k2; + j1 = j2; + k1 = i3 % 4; + } + } + } + } + } + } + + if(d0 < 0.0D) { + for(i2 = entityX - b0; i2 <= entityX + b0; ++i2) { + d1 = (double) i2 + 0.5D - par1Entity.posX; + + for(j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) { + d2 = (double) j2 + 0.5D - par1Entity.posZ; + + label220: for(k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { + if(this.worldServerInstance.isAirBlock(i2, k2, j2)) { + while(k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) { + --k2; + } + + for(i3 = l1; i3 < l1 + 2; ++i3) { + l2 = i3 % 2; + k3 = 1 - l2; + + for(j3 = 0; j3 < 4; ++j3) { + for(i4 = -1; i4 < 4; ++i4) { + l3 = i2 + (j3 - 1) * l2; + k4 = k2 + i4; + j4 = j2 + (j3 - 1) * k3; + if(i4 < 0 && !this.worldServerInstance.getBlockMaterial(l3, k4, j4).isSolid() || i4 >= 0 && !this.worldServerInstance.isAirBlock(l3, k4, j4)) { + continue label220; + } + } + } + + d4 = (double) k2 + 0.5D - par1Entity.posY; + d3 = d1 * d1 + d4 * d4 + d2 * d2; + if(d0 < 0.0D || d3 < d0) { + d0 = d3; + l = i2; + i1 = k2; + j1 = j2; + k1 = i3 % 2; + } + } + } + } + } + } + } + + i5 = l; + int j5 = i1; + j2 = j1; + int k5 = k1 % 2; + int l5 = 1 - k5; + if(k1 % 4 >= 2) { + k5 = -k5; + l5 = -l5; + } + + boolean flag; + if(d0 < 0.0D) { + if(i1 < 70) { + i1 = 70; + } + + if(i1 > this.worldServerInstance.getActualHeight() - 10) { + i1 = this.worldServerInstance.getActualHeight() - 10; + } + + j5 = i1; + + for(k2 = -1; k2 <= 1; ++k2) { + for(i3 = 1; i3 < 3; ++i3) { + for(l2 = -1; l2 < 3; ++l2) { + k3 = i5 + (i3 - 1) * k5 + k2 * l5; + j3 = j5 + l2; + i4 = j2 + (i3 - 1) * l5 - k2 * k5; + flag = l2 < 0; + this.worldServerInstance.setBlock(k3, j3, i4, flag ? Block.sandStone.blockID : 0); + } + } + } + } + + for(k2 = 0; k2 < 4; ++k2) { + for(i3 = 0; i3 < 4; ++i3) { + for(l2 = -1; l2 < 4; ++l2) { + k3 = i5 + (i3 - 1) * k5; + j3 = j5 + l2; + i4 = j2 + (i3 - 1) * l5; + flag = i3 == 0 || i3 == 3 || l2 == -1 || l2 == 3; + this.worldServerInstance.setBlock(k3, j3, i4, flag ? Block.sandStone.blockID : Blocks.BLOCK_PORTAL.blockID, 0, 2); + } + } + + for(i3 = 0; i3 < 4; ++i3) { + for(l2 = -1; l2 < 4; ++l2) { + k3 = i5 + (i3 - 1) * k5; + j3 = j5 + l2; + i4 = j2 + (i3 - 1) * l5; + this.worldServerInstance.notifyBlocksOfNeighborChange(k3, j3, i4, this.worldServerInstance.getBlockId(k3, j3, i4)); + } + } + } + + return true; + } + + public void removeStalePortalLocations(long par1) { + if(par1 % 100L == 0L) { + Iterator iterator = this.destinationCoordinateKeys.iterator(); + long j = par1 - 600L; + + while(iterator.hasNext()) { + Long olong = (Long) iterator.next(); + PortalPosition portalposition = (PortalPosition) this.destinationCoordinateCache.getValueByKey(olong.longValue()); + if(portalposition == null || portalposition.lastUpdateTime < j) { + iterator.remove(); + this.destinationCoordinateCache.remove(olong.longValue()); + } + } + } + + } + +} diff --git a/common/com/teammetallurgy/atum/world/World.java b/common/com/teammetallurgy/atum/world/World.java new file mode 100644 index 0000000..02f73e6 --- /dev/null +++ b/common/com/teammetallurgy/atum/world/World.java @@ -0,0 +1,20 @@ +package com.teammetallurgy.atum.world; + +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraftforge.common.DimensionManager; + +import com.teammetallurgy.atum.AtumConfig; +import com.teammetallurgy.atum.AtumIDS; +import com.teammetallurgy.atum.worldgen.AtumWorldProvider; +import com.teammetallurgy.atum.worldgen.biome.BiomeGenAtumDesert; + +public enum World { + INSTANCE; + + public static final BiomeGenBase BIOME_DESERT = new BiomeGenAtumDesert(AtumIDS.BIOME_DESERT_ID); + + public void register() { + DimensionManager.registerProviderType(AtumIDS.DIMENSION_ID, AtumWorldProvider.class, true); + DimensionManager.registerDimension(AtumIDS.DIMENSION_ID, AtumIDS.DIMENSION_ID); + } +} diff --git a/common/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java b/common/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java new file mode 100644 index 0000000..e3b3a82 --- /dev/null +++ b/common/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java @@ -0,0 +1,448 @@ +package com.teammetallurgy.atum.worldgen; + +import java.util.List; +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockSand; +import net.minecraft.entity.EnumCreatureType; +import net.minecraft.util.IProgressUpdate; +import net.minecraft.util.MathHelper; +import net.minecraft.world.ChunkPosition; +import net.minecraft.world.SpawnerAnimals; +import net.minecraft.world.World; +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.chunk.Chunk; +import net.minecraft.world.chunk.IChunkProvider; +import net.minecraft.world.gen.MapGenBase; +import net.minecraft.world.gen.MapGenRavine; +import net.minecraft.world.gen.NoiseGeneratorOctaves; +import net.minecraft.world.gen.feature.MapGenScatteredFeature; +import net.minecraft.world.gen.feature.WorldGenLakes; +import net.minecraft.world.gen.structure.MapGenMineshaft; +import net.minecraft.world.gen.structure.MapGenStronghold; +import net.minecraft.world.gen.structure.MapGenVillage; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.Event.Result; +import net.minecraftforge.event.terraingen.ChunkProviderEvent.InitNoiseField; +import net.minecraftforge.event.terraingen.InitMapGenEvent.EventType; +import net.minecraftforge.event.terraingen.PopulateChunkEvent.Post; +import net.minecraftforge.event.terraingen.PopulateChunkEvent.Pre; +import net.minecraftforge.event.terraingen.TerrainGen; + +import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.worldgen.biome.BiomeGenAtumDesert; + +public class AtumChunkProvider implements IChunkProvider { + + private Random rand; + private NoiseGeneratorOctaves noiseGen1; + private NoiseGeneratorOctaves noiseGen2; + private NoiseGeneratorOctaves noiseGen3; + private NoiseGeneratorOctaves noiseGen4; + public NoiseGeneratorOctaves noiseGen5; + public NoiseGeneratorOctaves noiseGen6; + public NoiseGeneratorOctaves mobSpawnerNoise; + private World worldObj; + private final boolean mapFeaturesEnabled; + private double[] noiseArray; + private double[] stoneNoise = new double[256]; + private MapGenBase caveGenerator = new MapGenBase(); + private MapGenStronghold strongholdGenerator = new MapGenStronghold(); + private MapGenVillage villageGenerator = new MapGenVillage(); + private MapGenMineshaft mineshaftGenerator = new MapGenMineshaft(); + private MapGenScatteredFeature scatteredFeatureGenerator = new MapGenScatteredFeature(); + private MapGenBase ravineGenerator = new MapGenRavine(); + private BiomeGenBase[] biomesForGeneration; + double[] noise3; + double[] noise1; + double[] noise2; + double[] noise5; + double[] noise6; + float[] parabolicField; + int[][] field_73219_j = new int[32][32]; + + public AtumChunkProvider(World par1World, long par2, boolean par4) { + this.caveGenerator = TerrainGen.getModdedMapGen(this.caveGenerator, EventType.CAVE); + this.strongholdGenerator = (MapGenStronghold) TerrainGen.getModdedMapGen(this.strongholdGenerator, EventType.STRONGHOLD); + this.villageGenerator = (MapGenVillage) TerrainGen.getModdedMapGen(this.villageGenerator, EventType.VILLAGE); + this.mineshaftGenerator = (MapGenMineshaft) TerrainGen.getModdedMapGen(this.mineshaftGenerator, EventType.MINESHAFT); + this.scatteredFeatureGenerator = (MapGenScatteredFeature) TerrainGen.getModdedMapGen(this.scatteredFeatureGenerator, EventType.SCATTERED_FEATURE); + this.ravineGenerator = TerrainGen.getModdedMapGen(this.ravineGenerator, EventType.RAVINE); + this.worldObj = par1World; + this.mapFeaturesEnabled = par4; + this.rand = new Random(par2); + this.noiseGen1 = new NoiseGeneratorOctaves(this.rand, 16); + this.noiseGen2 = new NoiseGeneratorOctaves(this.rand, 16); + this.noiseGen3 = new NoiseGeneratorOctaves(this.rand, 8); + this.noiseGen4 = new NoiseGeneratorOctaves(this.rand, 4); + this.noiseGen5 = new NoiseGeneratorOctaves(this.rand, 10); + this.noiseGen6 = new NoiseGeneratorOctaves(this.rand, 16); + this.mobSpawnerNoise = new NoiseGeneratorOctaves(this.rand, 8); + NoiseGeneratorOctaves[] noiseGens = new NoiseGeneratorOctaves[]{this.noiseGen1, this.noiseGen2, this.noiseGen3, this.noiseGen4, this.noiseGen5, this.noiseGen6, this.mobSpawnerNoise}; + noiseGens = TerrainGen.getModdedNoiseGenerators(par1World, this.rand, noiseGens); + this.noiseGen1 = noiseGens[0]; + this.noiseGen2 = noiseGens[1]; + this.noiseGen3 = noiseGens[2]; + this.noiseGen4 = noiseGens[3]; + this.noiseGen5 = noiseGens[4]; + this.noiseGen6 = noiseGens[5]; + this.mobSpawnerNoise = noiseGens[6]; + } + + public void generateTerrain(int par1, int par2, short[] par3ArrayOfByte) { + byte b0 = 4; + byte b1 = 16; + byte b2 = 63; + int k = b0 + 1; + byte b3 = 17; + int l = b0 + 1; + this.biomesForGeneration = this.worldObj.getWorldChunkManager().getBiomesForGeneration(this.biomesForGeneration, par1 * 4 - 2, par2 * 4 - 2, k + 5, l + 5); + this.noiseArray = this.initializeNoiseField(this.noiseArray, par1 * b0, 0, par2 * b0, k, b3, l); + + for(int x1 = 0; x1 < b0; ++x1) { + for(int z1 = 0; z1 < b0; ++z1) { + for(int y1 = 0; y1 < b1; ++y1) { + double d0 = 0.125D; + double d1 = this.noiseArray[((x1 + 0) * l + z1 + 0) * b3 + y1 + 0]; + double d2 = this.noiseArray[((x1 + 0) * l + z1 + 1) * b3 + y1 + 0]; + double d3 = this.noiseArray[((x1 + 1) * l + z1 + 0) * b3 + y1 + 0]; + double d4 = this.noiseArray[((x1 + 1) * l + z1 + 1) * b3 + y1 + 0]; + double d5 = (this.noiseArray[((x1 + 0) * l + z1 + 0) * b3 + y1 + 1] - d1) * d0; + double d6 = (this.noiseArray[((x1 + 0) * l + z1 + 1) * b3 + y1 + 1] - d2) * d0; + double d7 = (this.noiseArray[((x1 + 1) * l + z1 + 0) * b3 + y1 + 1] - d3) * d0; + double d8 = (this.noiseArray[((x1 + 1) * l + z1 + 1) * b3 + y1 + 1] - d4) * d0; + + for(int y2 = 0; y2 < 8; ++y2) { + double d10 = d1; + double d11 = d2; + double d12 = (d3 - d1) * 0.25D; + double d13 = (d4 - d2) * 0.25D; + + for(int x2 = 0; x2 < 4; ++x2) { + int index = y1 * 8 + y2 << 8 | 0 + z1 * 4 << 4 | x2 + x1 * 4; + byte dy = 16; + index -= dy; + double d15 = (d11 - d10) * 0.25D; + double d16 = d10 - d15; + + for(int n = 0; n < 4; ++n) { + if((d16 += d15) > 0.0D) { + if(index + dy < par3ArrayOfByte.length) { + par3ArrayOfByte[index += dy] = (short) Blocks.BLOCK_STONE.blockID; + } + } else if(y1 * 8 + y2 < b2) { + if(index + dy < par3ArrayOfByte.length) { + par3ArrayOfByte[index += dy] = (short) Blocks.BLOCK_STONE.blockID; + } + } else if(index + dy < par3ArrayOfByte.length) { + par3ArrayOfByte[index += dy] = 0; + } + } + + d10 += d12; + d11 += d13; + } + + d1 += d5; + d2 += d6; + d3 += d7; + d4 += d8; + } + } + } + } + + } + + public void replaceBlocksForBiome(int par1, int par2, short[] par3ArrayOfByte, BiomeGenBase[] par4ArrayOfBiomeGenBase) { + byte b0 = 63; + double d0 = 0.03125D; + this.stoneNoise = this.noiseGen4.generateNoiseOctaves(this.stoneNoise, par1 * 16, par2 * 16, 0, 16, 16, 1, d0 * 2.0D, d0 * 2.0D, d0 * 2.0D); + + for(int z = 0; z < 16; ++z) { + for(int x = 0; x < 16; ++x) { + BiomeGenBase biomegenbase = par4ArrayOfBiomeGenBase[x + z * 16]; + float f = biomegenbase.getFloatTemperature(); + int i1 = (int) (this.stoneNoise[z + x * 16] / 3.0D + 3.0D + this.rand.nextDouble() * 0.25D); + int j1 = -1; + short b1 = ((BiomeGenAtumDesert) biomegenbase).sTopBlock; + short b2 = ((BiomeGenAtumDesert) biomegenbase).sFillerBlock; + + for(int y = 127; y >= 0; --y) { + int l1 = y << 8 | z << 4 | x; + if(y <= 0 + this.rand.nextInt(5)) { + par3ArrayOfByte[l1] = (short) ((byte) Block.bedrock.blockID); + } else { + short b3 = par3ArrayOfByte[l1]; + if(b3 == 0) { + j1 = -1; + } else if(b3 == Blocks.BLOCK_STONE.blockID) { + if(j1 == -1) { + if(i1 <= 0) { + b1 = 0; + b2 = (short) Blocks.BLOCK_STONE.blockID; + } else if(y >= b0 - 4 && y <= b0 + 1) { + b1 = ((BiomeGenAtumDesert) biomegenbase).sTopBlock; + b2 = ((BiomeGenAtumDesert) biomegenbase).sFillerBlock; + } + + j1 = i1; + if(y >= b0 - 1) { + par3ArrayOfByte[l1] = b1; + } else { + par3ArrayOfByte[l1] = b2; + } + } else if(j1 > 0) { + --j1; + par3ArrayOfByte[l1] = b2; + if(j1 == 0 && b2 == Blocks.BLOCK_SAND.blockID) { + j1 = this.rand.nextInt(4); + b2 = (short) Blocks.BLOCK_STONE.blockID; + } + } + } + } + } + } + } + + } + + @Override + public Chunk loadChunk(int par1, int par2) { + return this.provideChunk(par1, par2); + } + + @Override + public Chunk provideChunk(int par1, int par2) { + long time = System.currentTimeMillis(); + this.rand.setSeed((long) par1 * 341873128712L + (long) par2 * 132897987541L); + short[] abyte = new short['\u8000']; + this.generateTerrain(par1, par2, abyte); + this.biomesForGeneration = this.worldObj.getWorldChunkManager().loadBlockGeneratorData(this.biomesForGeneration, par1 * 16, par2 * 16, 16, 16); + this.replaceBlocksForBiome(par1, par2, abyte, this.biomesForGeneration); + if(this.mapFeaturesEnabled) { + ; + } + + Chunk chunk = new Chunk(this.worldObj, abyte, new byte['\u8000'], par1, par2); + byte[] abyte1 = chunk.getBiomeArray(); + + for(int k = 0; k < abyte1.length; ++k) { + abyte1[k] = (byte) this.biomesForGeneration[k].biomeID; + } + + chunk.generateSkylightMap(); + return chunk; + } + + private double[] initializeNoiseField(double[] par1ArrayOfDouble, int par2, int par3, int par4, int par5, int par6, int par7) { + InitNoiseField event = new InitNoiseField(this, par1ArrayOfDouble, par2, par3, par4, par5, par6, par7); + MinecraftForge.EVENT_BUS.post(event); + if(event.getResult() == Result.DENY) { + return event.noisefield; + } else { + if(par1ArrayOfDouble == null) { + par1ArrayOfDouble = new double[par5 * par6 * par7]; + } + + if(this.parabolicField == null) { + this.parabolicField = new float[25]; + + for(int d0 = -2; d0 <= 2; ++d0) { + for(int l1 = -2; l1 <= 2; ++l1) { + float d1 = 10.0F / MathHelper.sqrt_float((float) (d0 * d0 + l1 * l1) + 0.2F); + this.parabolicField[d0 + 2 + (l1 + 2) * 5] = d1; + } + } + } + + double var45 = 684.412D; + double var46 = 684.412D; + this.noise5 = this.noiseGen5.generateNoiseOctaves(this.noise5, par2, par4, par5, par7, 1.121D, 1.121D, 0.5D); + this.noise6 = this.noiseGen6.generateNoiseOctaves(this.noise6, par2, par4, par5, par7, 200.0D, 200.0D, 0.5D); + this.noise3 = this.noiseGen3.generateNoiseOctaves(this.noise3, par2, par3, par4, par5, par6, par7, var45 / 80.0D, var46 / 160.0D, var45 / 80.0D); + this.noise1 = this.noiseGen1.generateNoiseOctaves(this.noise1, par2, par3, par4, par5, par6, par7, var45, var46, var45); + this.noise2 = this.noiseGen2.generateNoiseOctaves(this.noise2, par2, par3, par4, par5, par6, par7, var45, var46, var45); + boolean flag = false; + boolean flag1 = false; + int i2 = 0; + int j2 = 0; + + for(int k2 = 0; k2 < par5; ++k2) { + for(int l2 = 0; l2 < par7; ++l2) { + float f1 = 0.0F; + float f2 = 0.0F; + float f3 = 0.0F; + byte b0 = 2; + BiomeGenBase biomegenbase = this.biomesForGeneration[k2 + 2 + (l2 + 2) * (par5 + 5)]; + + for(int d2 = -b0; d2 <= b0; ++d2) { + for(int j3 = -b0; j3 <= b0; ++j3) { + BiomeGenBase k3 = this.biomesForGeneration[k2 + d2 + 2 + (l2 + j3 + 2) * (par5 + 5)]; + float d3 = this.parabolicField[d2 + 2 + (j3 + 2) * 5] / (k3.minHeight + 2.0F); + if(k3.minHeight > biomegenbase.minHeight) { + d3 /= 2.0F; + } + + f1 += k3.maxHeight * d3; + f2 += k3.minHeight * d3; + f3 += d3; + } + } + + f1 /= f3; + f2 /= f3; + f1 = f1 * 0.9F + 0.1F; + f2 = (f2 * 4.0F - 1.0F) / 8.0F; + double var47 = this.noise6[j2] / 8000.0D; + if(var47 < 0.0D) { + var47 = -var47 * 0.3D; + } + + var47 = var47 * 3.0D - 2.0D; + if(var47 < 0.0D) { + var47 /= 2.0D; + if(var47 < -1.0D) { + var47 = -1.0D; + } + + var47 /= 1.4D; + var47 /= 2.0D; + } else { + if(var47 > 1.0D) { + var47 = 1.0D; + } + + var47 /= 8.0D; + } + + ++j2; + + for(int var49 = 0; var49 < par6; ++var49) { + double var48 = (double) f2; + double d4 = (double) f1; + var48 += var47 * 0.2D; + var48 = var48 * (double) par6 / 16.0D; + double d5 = (double) par6 / 2.0D + var48 * 4.0D; + double d6 = 0.0D; + double d7 = ((double) var49 - d5) * 12.0D * 128.0D / 128.0D / d4; + if(d7 < 0.0D) { + d7 *= 4.0D; + } + + double d8 = this.noise1[i2] / 512.0D; + double d9 = this.noise2[i2] / 512.0D; + double d10 = (this.noise3[i2] / 10.0D + 1.0D) / 2.0D; + if(d10 < 0.0D) { + d6 = d8; + } else if(d10 > 1.0D) { + d6 = d9; + } else { + d6 = d8 + (d9 - d8) * d10; + } + + d6 -= d7; + if(var49 > par6 - 4) { + double d11 = (double) ((float) (var49 - (par6 - 4)) / 3.0F); + d6 = d6 * (1.0D - d11) + -10.0D * d11; + } + + par1ArrayOfDouble[i2] = d6; + ++i2; + } + } + } + + return par1ArrayOfDouble; + } + } + + @Override + public boolean chunkExists(int par1, int par2) { + return true; + } + + @Override + public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) { + long time = System.currentTimeMillis(); + BlockSand.fallInstantly = true; + int k = par2 * 16; + int l = par3 * 16; + BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(k + 16, l + 16); + this.rand.setSeed(this.worldObj.getSeed()); + long i1 = this.rand.nextLong() / 2L * 2L + 1L; + long j1 = this.rand.nextLong() / 2L * 2L + 1L; + this.rand.setSeed((long) par2 * i1 + (long) par3 * j1 ^ this.worldObj.getSeed()); + boolean flag = false; + MinecraftForge.EVENT_BUS.post(new Pre(par1IChunkProvider, this.worldObj, this.rand, par2, par3, flag)); + if(TerrainGen.populate(par1IChunkProvider, this.worldObj, this.rand, par2, par3, flag, net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.LAVA) && !flag && this.rand.nextInt(8) == 0) { + int k1 = k + this.rand.nextInt(16) + 8; + int l1 = this.rand.nextInt(this.rand.nextInt(120) + 8); + int i2 = l + this.rand.nextInt(16) + 8; + if(l1 < 63 || this.rand.nextInt(10) == 0) { + (new WorldGenLakes(Block.lavaStill.blockID)).generate(this.worldObj, this.rand, k1, l1, i2); + } + } + + biomegenbase.decorate(this.worldObj, this.rand, k, l); + SpawnerAnimals.performWorldGenSpawning(this.worldObj, biomegenbase, k + 8, l + 8, 16, 16, this.rand); + k += 8; + l += 8; + MinecraftForge.EVENT_BUS.post(new Post(par1IChunkProvider, this.worldObj, this.rand, par2, par3, flag)); + BlockSand.fallInstantly = false; + } + + @Override + public boolean saveChunks(boolean par1, IProgressUpdate par2IProgressUpdate) { + return true; + } + + @Override + public boolean unloadQueuedChunks() { + return false; + } + + @Override + public boolean canSave() { + return true; + } + + @Override + public String makeString() { + return "RandomLevelSource"; + } + + @Override + public List getPossibleCreatures(EnumCreatureType par1EnumCreatureType, int par2, int par3, int par4) { + BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(par2, par4); + return biomegenbase == null ? null : (biomegenbase == BiomeGenBase.swampland && par1EnumCreatureType == EnumCreatureType.monster && this.scatteredFeatureGenerator.hasStructureAt(par2, par3, par4) ? this.scatteredFeatureGenerator.getScatteredFeatureSpawnList() : biomegenbase.getSpawnableList(par1EnumCreatureType)); + } + + @Override + public ChunkPosition findClosestStructure(World par1World, String par2Str, int par3, int par4, int par5) { + return "Stronghold".equals(par2Str) && this.strongholdGenerator != null ? this.strongholdGenerator.getNearestInstance(par1World, par3, par4, par5) : null; + } + + @Override + public int getLoadedChunkCount() { + return 0; + } + + @Override + public void recreateStructures(int par1, int par2) { + if(this.mapFeaturesEnabled) { + this.mineshaftGenerator.generate(this, this.worldObj, par1, par2, (byte[]) null); + this.villageGenerator.generate(this, this.worldObj, par1, par2, (byte[]) null); + this.strongholdGenerator.generate(this, this.worldObj, par1, par2, (byte[]) null); + this.scatteredFeatureGenerator.generate(this, this.worldObj, par1, par2, (byte[]) null); + } + + } + + @Override + public void saveExtraData() { + + } +} diff --git a/common/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java b/common/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java new file mode 100644 index 0000000..f28c2b9 --- /dev/null +++ b/common/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java @@ -0,0 +1,199 @@ +package com.teammetallurgy.atum.worldgen; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; +import net.minecraft.world.gen.MapGenBase; + +import com.teammetallurgy.atum.blocks.Blocks; + +public class AtumMapGenCaves extends MapGenBase { + + protected void generateLargeCaveNode(long par1, int par3, int par4, byte[] par5ArrayOfByte, double par6, double par8, double par10) { + this.generateCaveNode(par1, par3, par4, par5ArrayOfByte, par6, par8, par10, 1.0F + super.rand.nextFloat() * 6.0F, 0.0F, 0.0F, -1, -1, 0.5D); + } + + protected void generateCaveNode(long par1, int par3, int par4, byte[] par5ArrayOfByte, double par6, double par8, double par10, float par12, float par13, float par14, int par15, int par16, double par17) { + double d4 = (double) (par3 * 16 + 8); + double d5 = (double) (par4 * 16 + 8); + float f3 = 0.0F; + float f4 = 0.0F; + Random random = new Random(par1); + if(par16 <= 0) { + int flag = super.range * 16 - 16; + par16 = flag - random.nextInt(flag / 4); + } + + boolean var62 = false; + if(par15 == -1) { + par15 = par16 / 2; + var62 = true; + } + + int k1 = random.nextInt(par16 / 2) + par16 / 4; + + for(boolean flag1 = random.nextInt(6) == 0; par15 < par16; ++par15) { + double d6 = 1.5D + (double) (MathHelper.sin((float) par15 * 3.1415927F / (float) par16) * par12 * 1.0F); + double d7 = d6 * par17; + float f5 = MathHelper.cos(par14); + float f6 = MathHelper.sin(par14); + par6 += (double) (MathHelper.cos(par13) * f5); + par8 += (double) f6; + par10 += (double) (MathHelper.sin(par13) * f5); + if(flag1) { + par14 *= 0.92F; + } else { + par14 *= 0.7F; + } + + par14 += f4 * 0.1F; + par13 += f3 * 0.1F; + f4 *= 0.9F; + f3 *= 0.75F; + f4 += (random.nextFloat() - random.nextFloat()) * random.nextFloat() * 2.0F; + f3 += (random.nextFloat() - random.nextFloat()) * random.nextFloat() * 4.0F; + if(!var62 && par15 == k1 && par12 > 1.0F && par16 > 0) { + this.generateCaveNode(random.nextLong(), par3, par4, par5ArrayOfByte, par6, par8, par10, random.nextFloat() * 0.5F + 0.5F, par13 - 1.5707964F, par14 / 3.0F, par15, par16, 1.0D); + this.generateCaveNode(random.nextLong(), par3, par4, par5ArrayOfByte, par6, par8, par10, random.nextFloat() * 0.5F + 0.5F, par13 + 1.5707964F, par14 / 3.0F, par15, par16, 1.0D); + return; + } + + if(var62 || random.nextInt(4) != 0) { + double d8 = par6 - d4; + double d9 = par10 - d5; + double d10 = (double) (par16 - par15); + double d11 = (double) (par12 + 2.0F + 16.0F); + if(d8 * d8 + d9 * d9 - d10 * d10 > d11 * d11) { + return; + } + + if(par6 >= d4 - 16.0D - d6 * 2.0D && par10 >= d5 - 16.0D - d6 * 2.0D && par6 <= d4 + 16.0D + d6 * 2.0D && par10 <= d5 + 16.0D + d6 * 2.0D) { + int l1 = MathHelper.floor_double(par6 - d6) - par3 * 16 - 1; + int i2 = MathHelper.floor_double(par6 + d6) - par3 * 16 + 1; + int j2 = MathHelper.floor_double(par8 - d7) - 1; + int k2 = MathHelper.floor_double(par8 + d7) + 1; + int l2 = MathHelper.floor_double(par10 - d6) - par4 * 16 - 1; + int i3 = MathHelper.floor_double(par10 + d6) - par4 * 16 + 1; + if(l1 < 0) { + l1 = 0; + } + + if(i2 > 16) { + i2 = 16; + } + + if(j2 < 1) { + j2 = 1; + } + + if(k2 > 120) { + k2 = 120; + } + + if(l2 < 0) { + l2 = 0; + } + + if(i3 > 16) { + i3 = 16; + } + + boolean flag2 = false; + + int k3; + int j3; + for(j3 = l1; !flag2 && j3 < i2; ++j3) { + for(int d12 = l2; !flag2 && d12 < i3; ++d12) { + for(int i4 = k2 + 1; !flag2 && i4 >= j2 - 1; --i4) { + k3 = (j3 * 16 + d12) * 128 + i4; + if(i4 >= 0 && i4 < 128) { + if(par5ArrayOfByte[k3] == Block.waterMoving.blockID || par5ArrayOfByte[k3] == Block.waterStill.blockID) { + flag2 = true; + } + + if(i4 != j2 - 1 && j3 != l1 && j3 != i2 - 1 && d12 != l2 && d12 != i3 - 1) { + i4 = j2; + } + } + } + } + } + + if(!flag2) { + for(j3 = l1; j3 < i2; ++j3) { + double var63 = ((double) (j3 + par3 * 16) + 0.5D - par6) / d6; + + for(k3 = l2; k3 < i3; ++k3) { + double d13 = ((double) (k3 + par4 * 16) + 0.5D - par10) / d6; + int j4 = (j3 * 16 + k3) * 128 + k2; + boolean flag3 = false; + if(var63 * var63 + d13 * d13 < 1.0D) { + for(int k4 = k2 - 1; k4 >= j2; --k4) { + double d14 = ((double) k4 + 0.5D - par8) / d7; + if(d14 > -0.7D && var63 * var63 + d14 * d14 + d13 * d13 < 1.0D) { + byte b0 = par5ArrayOfByte[j4]; + if(b0 == Block.grass.blockID) { + flag3 = true; + } + + if(b0 == Blocks.BLOCK_STONE.blockID || b0 == Blocks.BLOCK_SAND.blockID) { + if(k4 < 10) { + par5ArrayOfByte[j4] = (byte) Block.lavaMoving.blockID; + } else { + par5ArrayOfByte[j4] = 0; + if(flag3 && par5ArrayOfByte[j4 - 1] == Blocks.BLOCK_SAND.blockID) { + par5ArrayOfByte[j4 - 1] = super.worldObj.getBiomeGenForCoords(j3 + par3 * 16, k3 + par4 * 16).topBlock; + } + } + } + } + + --j4; + } + } + } + } + + if(var62) { + break; + } + } + } + } + } + + } + + @Override + protected void recursiveGenerate(World par1World, int par2, int par3, int par4, int par5, byte[] par6ArrayOfByte) { + int i1 = super.rand.nextInt(super.rand.nextInt(super.rand.nextInt(40) + 1) + 1); + if(super.rand.nextInt(15) != 0) { + i1 = 0; + } + + for(int j1 = 0; j1 < i1; ++j1) { + double d0 = (double) (par2 * 16 + super.rand.nextInt(16)); + double d1 = (double) super.rand.nextInt(super.rand.nextInt(120) + 8); + double d2 = (double) (par3 * 16 + super.rand.nextInt(16)); + int k1 = 1; + if(super.rand.nextInt(4) == 0) { + this.generateLargeCaveNode(super.rand.nextLong(), par4, par5, par6ArrayOfByte, d0, d1, d2); + k1 += super.rand.nextInt(4); + } + + for(int l1 = 0; l1 < k1; ++l1) { + float f = super.rand.nextFloat() * 3.1415927F * 2.0F; + float f1 = (super.rand.nextFloat() - 0.5F) * 2.0F / 8.0F; + float f2 = super.rand.nextFloat() * 2.0F + super.rand.nextFloat(); + if(super.rand.nextInt(10) == 0) { + f2 *= super.rand.nextFloat() * super.rand.nextFloat() * 3.0F + 1.0F; + } + + this.generateCaveNode(super.rand.nextLong(), par4, par5, par6ArrayOfByte, d0, d1, d2, f2, f, f1, 0, 0, 1.0D); + } + } + + } +} diff --git a/common/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java b/common/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java new file mode 100644 index 0000000..f45203d --- /dev/null +++ b/common/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java @@ -0,0 +1,101 @@ +package com.teammetallurgy.atum.worldgen; + +import com.teammetallurgy.atum.AtumIDS; +import com.teammetallurgy.atum.world.World; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; +import net.minecraft.world.WorldProvider; +import net.minecraft.world.biome.WorldChunkManagerHell; +import net.minecraft.world.chunk.IChunkProvider; + +public class AtumWorldProvider extends WorldProvider { + @Override + public String getDimensionName() { + return "Atum"; + } + + @Override + protected void registerWorldChunkManager() { + super.worldChunkMgr = new WorldChunkManagerHell(World.BIOME_DESERT, 0.8F, 0.1F); + super.dimensionId = AtumIDS.DIMENSION_ID; + } + + @Override + public IChunkProvider createChunkGenerator() { + return new AtumChunkProvider(super.worldObj, super.worldObj.getSeed(), true); + } + + @Override + protected void generateLightBrightnessTable() { + float f = 0.0F; + + for(int i = 0; i <= 15; ++i) { + float scaledBrightness = (float) i / 15.0F; + float f1 = 1.0F - scaledBrightness; + if(i < 5) { + super.lightBrightnessTable[i] = 0.5F * scaledBrightness / (f1 * 3.0F + 1.0F) * (1.0F - f) + f; + } else { + super.lightBrightnessTable[i] = scaledBrightness / (f1 * 3.0F + 1.0F) * (1.0F - f) + f; + } + } + + } + + @Override + public float calculateCelestialAngle(long par1, float par3) { + int j = (int) (par1 % 48000L); + float f1 = ((float) j + par3) / 48000.0F - 0.25F; + if(f1 < 0.0F) { + ++f1; + } + + if(f1 > 1.0F) { + --f1; + } + + float f2 = f1; + f1 = 1.0F - (float) ((Math.cos((double) f1 * 3.141592653589793D) + 1.0D) / 2.0D); + f1 = f2 + (f1 - f2) / 3.0F; + return f1; + } + + @Override + @SideOnly(Side.CLIENT) + public Vec3 getFogColor(float par1, float par2) { + float f2 = MathHelper.cos(par1 * 3.1415927F * 2.0F) * 2.0F + 0.5F; + if(f2 < 0.2F) { + f2 = 0.2F; + } + + if(f2 > 1.0F) { + f2 = 1.0F; + } + + float f3 = 0.7529412F; + float f4 = 0.84705883F; + float f5 = 1.0F; + float var10000 = f3 * (f2 * 0.94F + 0.06F); + var10000 = f4 * (f2 * 0.94F + 0.06F); + var10000 = f5 * (f2 * 0.91F + 0.09F); + f3 = 0.9F * f2; + f4 = 0.75F * f2; + f5 = 0.6F * f2; + return super.worldObj.getWorldVec3Pool().getVecFromPool((double) f3, (double) f4, (double) f5); + } + + @Override + public boolean doesXZShowFog(int par1, int par2) { + return false; + } + + public String getWelcomeMessage() { + return "Entering Atum"; + } + + public String getDepartMessage() { + return "Leaving Atum"; + } +} diff --git a/common/com/teammetallurgy/atum/worldgen/AtumWorldServer.java b/common/com/teammetallurgy/atum/worldgen/AtumWorldServer.java new file mode 100644 index 0000000..bfe6946 --- /dev/null +++ b/common/com/teammetallurgy/atum/worldgen/AtumWorldServer.java @@ -0,0 +1,22 @@ +package com.teammetallurgy.atum.worldgen; + +import com.teammetallurgy.atum.world.AtumTeleporter; + +import net.minecraft.logging.ILogAgent; +import net.minecraft.profiler.Profiler; +import net.minecraft.server.MinecraftServer; +import net.minecraft.world.Teleporter; +import net.minecraft.world.WorldServer; +import net.minecraft.world.WorldSettings; +import net.minecraft.world.storage.ISaveHandler; + +public class AtumWorldServer extends WorldServer { + + public AtumWorldServer(MinecraftServer par1MinecraftServer, ISaveHandler par2iSaveHandler, String par3Str, int par4, WorldSettings par5WorldSettings, Profiler par6Profiler, ILogAgent par7iLogAgent) { + super(par1MinecraftServer, par2iSaveHandler, par3Str, par4, par5WorldSettings, par6Profiler, par7iLogAgent); + } + @Override + public Teleporter getDefaultTeleporter() { + return new AtumTeleporter(this); + } +} diff --git a/common/com/teammetallurgy/atum/worldgen/World.java b/common/com/teammetallurgy/atum/worldgen/World.java deleted file mode 100644 index 9241829..0000000 --- a/common/com/teammetallurgy/atum/worldgen/World.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.teammetallurgy.atum.worldgen; - -public class World { - - public static void load() { - } - -} diff --git a/common/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java b/common/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java new file mode 100644 index 0000000..a83d301 --- /dev/null +++ b/common/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java @@ -0,0 +1,200 @@ +package com.teammetallurgy.atum.worldgen.biome; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.world.World; +import net.minecraft.world.biome.BiomeDecorator; +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.gen.feature.WorldGenBigMushroom; +import net.minecraft.world.gen.feature.WorldGenCactus; +import net.minecraft.world.gen.feature.WorldGenFlowers; +import net.minecraft.world.gen.feature.WorldGenLiquids; +import net.minecraft.world.gen.feature.WorldGenMinable; +import net.minecraft.world.gen.feature.WorldGenReed; +import net.minecraft.world.gen.feature.WorldGenSand; +import net.minecraft.world.gen.feature.WorldGenWaterlily; +import net.minecraft.world.gen.feature.WorldGenerator; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType; +import net.minecraftforge.event.terraingen.OreGenEvent; +import net.minecraftforge.event.terraingen.OreGenEvent.Post; +import net.minecraftforge.event.terraingen.OreGenEvent.Pre; +import net.minecraftforge.event.terraingen.TerrainGen; + +import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.worldgen.decorators.WorldGenShrub; + +public class BiomeDecoratorAtum extends BiomeDecorator { + + private float shrubChance; + + public BiomeDecoratorAtum(BiomeGenBase par1BiomeGenBase) { + super(par1BiomeGenBase); + this.sandGen = new WorldGenSand(7, Blocks.BLOCK_SAND.blockID); + this.gravelAsSandGen = new WorldGenSand(6, Block.gravel.blockID); + this.dirtGen = new WorldGenMinable(Block.dirt.blockID, 32); + this.gravelGen = new WorldGenMinable(Block.gravel.blockID, 32); + this.coalGen = new WorldGenMinable(Blocks.BLOCK_COALORE.blockID, 16, Blocks.BLOCK_STONE.blockID); + this.ironGen = new WorldGenMinable(Blocks.BLOCK_IRONORE.blockID, 8, Blocks.BLOCK_STONE.blockID); + this.goldGen = new WorldGenMinable(Blocks.BLOCK_GOLDORE.blockID, 8, Blocks.BLOCK_STONE.blockID); + this.redstoneGen = new WorldGenMinable(Blocks.BLOCK_REDSTONEORE.blockID, 7, Blocks.BLOCK_STONE.blockID); + this.diamondGen = new WorldGenMinable(Blocks.BLOCK_DIAMONDORE.blockID, 7, Blocks.BLOCK_STONE.blockID); + this.lapisGen = new WorldGenMinable(Blocks.BLOCK_LAPISORE.blockID, 6); + this.plantYellowGen = new WorldGenFlowers(Block.plantYellow.blockID); + this.plantRedGen = new WorldGenFlowers(Block.plantRed.blockID); + this.mushroomBrownGen = new WorldGenFlowers(Block.mushroomBrown.blockID); + this.mushroomRedGen = new WorldGenFlowers(Block.mushroomRed.blockID); + this.bigMushroomGen = new WorldGenBigMushroom(); + this.reedGen = new WorldGenReed(); + this.cactusGen = new WorldGenCactus(); + this.waterlilyGen = new WorldGenWaterlily(); + this.waterlilyPerChunk = 0; + this.treesPerChunk = 0; + this.flowersPerChunk = 2; + this.grassPerChunk = 1; + this.deadBushPerChunk = 1; + this.shrubChance = 0.3F; + this.mushroomsPerChunk = 0; + this.reedsPerChunk = 0; + this.cactiPerChunk = 0; + this.sandPerChunk = 1; + this.sandPerChunk2 = 3; + this.clayPerChunk = 1; + this.bigMushroomsPerChunk = 0; + this.generateLakes = true; + this.biome = par1BiomeGenBase; + } + + @Override + public void decorate(World par1World, Random par2Random, int par3, int par4) { + if(this.currentWorld != null) { + throw new RuntimeException("Already decorating!!"); + } else { + this.currentWorld = par1World; + this.randomGenerator = par2Random; + this.chunk_X = par3; + this.chunk_Z = par4; + this.decorate(); + this.currentWorld = null; + this.randomGenerator = null; + } + } + + @Override + protected void decorate() { + MinecraftForge.EVENT_BUS.post(new Pre(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z)); + this.generateOres(); + boolean doGen = TerrainGen.decorate(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z, EventType.SAND_PASS2); + + int i; + int j; + int k; + long time; + for(i = 0; doGen && i < this.sandPerChunk; ++i) { + j = this.chunk_X + this.randomGenerator.nextInt(16) + 8; + k = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; + time = System.nanoTime(); + this.sandGen.generate(this.currentWorld, this.randomGenerator, j, this.currentWorld.getTopSolidOrLiquidBlock(j, k), k); + } + + i = this.treesPerChunk; + if(this.randomGenerator.nextInt(10) == 0) { + ++i; + } + + time = System.nanoTime(); + doGen = TerrainGen.decorate(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z, EventType.GRASS); + + int l; + int i1; + for(j = 0; doGen && j < this.grassPerChunk; ++j) { + k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; + l = this.randomGenerator.nextInt(128); + i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; + WorldGenerator worldgenerator1 = this.biome.getRandomWorldGenForGrass(this.randomGenerator); + worldgenerator1.generate(this.currentWorld, this.randomGenerator, k, l, i1); + } + + if(this.randomGenerator.nextFloat() < this.shrubChance) { + k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; + l = this.randomGenerator.nextInt(128); + i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; + time = System.nanoTime(); + (new WorldGenShrub(Blocks.BLOCK_SHRUB.blockID, 8)).generate(this.currentWorld, this.randomGenerator, k, l, i1); + } + + if(this.randomGenerator.nextFloat() < this.shrubChance) { + k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; + l = this.randomGenerator.nextInt(128); + i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; + time = System.nanoTime(); + (new WorldGenShrub(Blocks.BLOCK_WEED.blockID, 8)).generate(this.currentWorld, this.randomGenerator, k, l, i1); + } + + doGen = TerrainGen.decorate(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z, EventType.LAKE); + if(doGen && this.generateLakes) { + for(j = 0; j < 20; ++j) { + k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; + l = this.randomGenerator.nextInt(this.randomGenerator.nextInt(this.randomGenerator.nextInt(112) + 8) + 8); + i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; + time = System.nanoTime(); + (new WorldGenLiquids(Block.lavaMoving.blockID)).generate(this.currentWorld, this.randomGenerator, k, l, i1); + } + } + + MinecraftForge.EVENT_BUS.post(new Post(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z)); + } + + @Override + protected void genStandardOre1(int par1, WorldGenerator par2WorldGenerator, int par3, int par4) { + for(int l = 0; l < par1; ++l) { + int i1 = this.chunk_X + this.randomGenerator.nextInt(16); + int j1 = this.randomGenerator.nextInt(par4 - par3) + par3; + int k1 = this.chunk_Z + this.randomGenerator.nextInt(16); + par2WorldGenerator.generate(this.currentWorld, this.randomGenerator, i1, j1, k1); + } + + } + + @Override + protected void genStandardOre2(int par1, WorldGenerator par2WorldGenerator, int par3, int par4) { + for(int l = 0; l < par1; ++l) { + int i1 = this.chunk_X + this.randomGenerator.nextInt(16); + int j1 = this.randomGenerator.nextInt(par4) + this.randomGenerator.nextInt(par4) + (par3 - par4); + int k1 = this.chunk_Z + this.randomGenerator.nextInt(16); + par2WorldGenerator.generate(this.currentWorld, this.randomGenerator, i1, j1, k1); + } + + } + + @Override + protected void generateOres() { + MinecraftForge.ORE_GEN_BUS.post(new OreGenEvent.Pre(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z)); + if(TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.coalGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.COAL)) { + this.genStandardOre1(20, this.coalGen, 0, 128); + } + + if(TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.ironGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.IRON)) { + this.genStandardOre1(20, this.ironGen, 0, 64); + } + + if(TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.goldGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.GOLD)) { + this.genStandardOre1(2, this.goldGen, 0, 32); + } + + if(TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.redstoneGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.REDSTONE)) { + this.genStandardOre1(8, this.redstoneGen, 0, 16); + } + + if(TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.diamondGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.DIAMOND)) { + this.genStandardOre1(1, this.diamondGen, 0, 16); + } + + if(TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.lapisGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.LAPIS)) { + this.genStandardOre2(1, this.lapisGen, 16, 16); + } + + MinecraftForge.ORE_GEN_BUS.post(new OreGenEvent.Post(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z)); + } +} diff --git a/common/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java b/common/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java new file mode 100644 index 0000000..1f0939c --- /dev/null +++ b/common/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java @@ -0,0 +1,125 @@ +package com.teammetallurgy.atum.worldgen.biome; + +import java.util.Random; + +import net.minecraft.world.World; +import net.minecraft.world.biome.BiomeDecorator; +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.gen.feature.WorldGenerator; + +import com.teammetallurgy.atum.LocalizationHelper; +import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.worldgen.decorators.WorldGenAtumTrees; +import com.teammetallurgy.atum.worldgen.decorators.WorldGenOasis; +import com.teammetallurgy.atum.worldgen.decorators.WorldGenPalace; +import com.teammetallurgy.atum.worldgen.decorators.WorldGenPalm; +import com.teammetallurgy.atum.worldgen.decorators.WorldGenPyramid; +import com.teammetallurgy.atum.worldgen.decorators.WorldGenRuins; + +public class BiomeGenAtumDesert extends BiomeGenBase { + + public WorldGenerator treeGenerator; + public WorldGenerator palmGenerator; + public WorldGenerator ruinsGenerator; + public short sTopBlock; + public short sFillerBlock; + + public BiomeGenAtumDesert(int par1) { + super(par1); + super.spawnableCreatureList.clear(); + this.sTopBlock = (short) Blocks.BLOCK_SAND.blockID; + this.sFillerBlock = (short) Blocks.BLOCK_SAND.blockID; + super.theBiomeDecorator.treesPerChunk = 1; + super.theBiomeDecorator.deadBushPerChunk = 5; + super.theBiomeDecorator.reedsPerChunk = 0; + super.theBiomeDecorator.cactiPerChunk = 0; + this.treeGenerator = new WorldGenAtumTrees(true); + this.palmGenerator = new WorldGenPalm(true); + this.ruinsGenerator = new WorldGenRuins(); + super.spawnableMonsterList.clear(); + super.spawnableCreatureList.clear(); + super.spawnableWaterCreatureList.clear(); + super.spawnableCaveCreatureList.clear(); + this.setColor(16421912); + this.setBiomeName(LocalizationHelper.localize("biome.desert.name")); + this.setDisableRain(); + this.setTemperatureRainfall(2.0F, 0.0F); + this.setMinMaxHeight(0.1F, 0.2F); + // super.spawnableMonsterList.add(new SpawnListEntry(EntityMummy.class, 6, 4, 4)); + // super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditWarlord.class, 1, 1, 1)); + // super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditWarrior.class, 6, 2, 2)); + // super.spawnableMonsterList.add(new SpawnListEntry(EntityBarbarian.class, 2, 4, 4)); + // super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditArcher.class, 6, 4, 4)); + // super.spawnableMonsterList.add(new SpawnListEntry(EntityDustySkeleton.class, 6, 4, 4)); + // super.spawnableMonsterList.add(new SpawnListEntry(EntityGhost.class, 6, 4, 4)); + // super.spawnableMonsterList.add(new SpawnListEntry(EntityDesertWolf.class, 6, 4, 4)); + // super.spawnableMonsterList.add(new SpawnListEntry(EntityStoneSoldier.class, 6, 4, 4)); + } + + @Override + public BiomeDecorator createBiomeDecorator() { + return new BiomeDecoratorAtum(this); + } + + @Override + public WorldGenerator getRandomWorldGenForTrees(Random par1Random) { + return this.treeGenerator; + } + + @Override + public void decorate(World par1World, Random par2Random, int par3, int par4) { + super.decorate(par1World, par2Random, par3, par4); + long time; + int k; + int l; + if(par2Random.nextInt(100) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + time = System.nanoTime(); + (new WorldGenOasis(false)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); + } + + if(par2Random.nextInt(20) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + time = System.nanoTime(); + this.ruinsGenerator.generate(par1World, par2Random, k, par1World.getHeightValue(k, l) + 1, l); + } + + int height; + if(par2Random.nextInt(5) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + height = par2Random.nextInt(4) + 5; + time = System.nanoTime(); + (new WorldGenPalm(true, height, 0, 0)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); + } + + if(par2Random.nextInt(7) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + height = par2Random.nextInt(4) + 4; + time = System.nanoTime(); + (new WorldGenAtumTrees(true)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); + } + + if(par2Random.nextInt(120) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + time = System.nanoTime(); + (new WorldGenPyramid()).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); + } + + if(par2Random.nextInt(160) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + height = par2Random.nextInt(10); + if(height <= 20) { + height += 30; + } + + (new WorldGenPalace()).generate(par1World, par2Random, k, height, l); + } + + } +} diff --git a/common/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java b/common/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java new file mode 100644 index 0000000..327a71d --- /dev/null +++ b/common/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java @@ -0,0 +1,25 @@ +package com.teammetallurgy.atum.worldgen.biome; + +import java.util.List; + +import net.minecraftforge.event.ForgeSubscribe; +import net.minecraftforge.event.world.WorldEvent.PotentialSpawns; + +public class MobSpawnController { + + @ForgeSubscribe + public void getPotentialSpawns(PotentialSpawns event) { + List list = event.list; + int time = (int) (event.world.getWorldTime() % 48000L); + System.out.println(time); + + for(int i = 0; i < list.size(); ++i) { + System.out.println(time); + //if((!IAtumDayMob.class.isAssignableFrom(((SpawnListEntry) list.get(i)).entityClass) || time <= 0 || time >= 24000) && (!IAtumNightMob.class.isAssignableFrom(((SpawnListEntry) list.get(i)).entityClass) || time <= 24000 || time >= '\ubb80')) { + list.remove(i); + --i; + //} + } + + } +} diff --git a/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java b/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java new file mode 100644 index 0000000..6fd74c2 --- /dev/null +++ b/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java @@ -0,0 +1,370 @@ +package com.teammetallurgy.atum.worldgen.decorators; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; +import net.minecraft.world.gen.feature.WorldGenerator; + +import com.teammetallurgy.atum.blocks.Blocks; + +public class WorldGenAtumTrees extends WorldGenerator { + + static final byte[] otherCoordPairs = new byte[]{(byte) 2, (byte) 0, (byte) 0, (byte) 1, (byte) 2, (byte) 1}; + Random rand = new Random(); + World worldObj; + int[] basePos = new int[]{0, 0, 0}; + int heightLimit = 0; + int height; + double heightAttenuation = 0.618D; + double branchDensity = 1.0D; + double branchSlope = 0.381D; + double scaleWidth = 1.0D; + double leafDensity = 1.0D; + int trunkSize = 1; + int heightLimitLimit = 12; + int leafDistanceLimit = 4; + int[][] leafNodes; + + public WorldGenAtumTrees(boolean par1) { + super(par1); + } + + private void generateLeafNodeList() { + this.height = (int) ((double) this.heightLimit * this.heightAttenuation); + if(this.height >= this.heightLimit) { + this.height = this.heightLimit - 1; + } + + int i = (int) (1.382D + Math.pow(this.leafDensity * (double) this.heightLimit / 13.0D, 2.0D)); + if(i < 1) { + i = 1; + } + + int[][] aint = new int[i * this.heightLimit][4]; + int j = this.basePos[1] + this.heightLimit - this.leafDistanceLimit; + int k = 1; + int l = this.basePos[1] + this.height; + int i1 = j - this.basePos[1]; + aint[0][0] = this.basePos[0]; + aint[0][1] = j; + aint[0][2] = this.basePos[2]; + aint[0][3] = l; + --j; + + while(i1 >= 0) { + int j1 = 0; + float f = this.layerSize(i1); + if(f < 0.0F) { + --j; + --i1; + } else { + for(double d0 = 0.5D; j1 < i; ++j1) { + double d1 = this.scaleWidth * (double) f * ((double) this.rand.nextFloat() + 0.328D); + double d2 = (double) this.rand.nextFloat() * 2.0D * 3.141592653589793D; + int k1 = MathHelper.floor_double(d1 * Math.sin(d2) + (double) this.basePos[0] + d0); + int l1 = MathHelper.floor_double(d1 * Math.cos(d2) + (double) this.basePos[2] + d0); + int[] aint1 = new int[]{k1, j, l1}; + int[] aint2 = new int[]{k1, j + this.leafDistanceLimit, l1}; + if(this.checkBlockLine(aint1, aint2) == -1) { + int[] aint3 = new int[]{this.basePos[0], this.basePos[1], this.basePos[2]}; + double d3 = Math.sqrt(Math.pow((double) Math.abs(this.basePos[0] - aint1[0]), 2.0D) + Math.pow((double) Math.abs(this.basePos[2] - aint1[2]), 2.0D)); + double d4 = d3 * this.branchSlope; + if((double) aint1[1] - d4 > (double) l) { + aint3[1] = l; + } else { + aint3[1] = (int) ((double) aint1[1] - d4); + } + + if(this.checkBlockLine(aint3, aint1) == -1) { + aint[k][0] = k1; + aint[k][1] = j; + aint[k][2] = l1; + aint[k][3] = aint3[1]; + ++k; + } + } + } + + --j; + --i1; + } + } + + this.leafNodes = new int[k][4]; + System.arraycopy(aint, 0, this.leafNodes, 0, k); + } + + private void genTreeLayer(int par1, int par2, int par3, float par4, byte par5, int par6) { + int i1 = (int) ((double) par4 + 0.618D); + byte b1 = otherCoordPairs[par5]; + byte b2 = otherCoordPairs[par5 + 3]; + int[] aint = new int[]{par1, par2, par3}; + int[] aint1 = new int[]{0, 0, 0}; + int j1 = -i1; + int k1 = -i1; + + for(aint1[par5] = aint[par5]; j1 <= i1; ++j1) { + aint1[b1] = aint[b1] + j1; + k1 = -i1; + + while(k1 <= i1) { + double d0 = Math.pow((double) Math.abs(j1) + 0.5D, 2.0D) + Math.pow((double) Math.abs(k1) + 0.5D, 2.0D); + if(d0 > (double) (par4 * par4)) { + ++k1; + } else { + aint1[b2] = aint[b2] + k1; + int l1 = this.worldObj.getBlockId(aint1[0], aint1[1], aint1[2]); + if(l1 != 0 && l1 != Block.leaves.blockID) { + ++k1; + } else { + if(par6 != Block.leaves.blockID) { + this.setBlockAndMetadata(this.worldObj, aint1[0], aint1[1], aint1[2], par6, 0); + } + + ++k1; + } + } + } + } + + } + + private float layerSize(int par1) { + if((double) par1 < (double) ((float) this.heightLimit) * 0.3D) { + return -1.618F; + } else { + float f = (float) this.heightLimit / 2.0F; + float f1 = (float) this.heightLimit / 2.0F - (float) par1; + float f2; + if(f1 == 0.0F) { + f2 = f; + } else if(Math.abs(f1) >= f) { + f2 = 0.0F; + } else { + f2 = (float) Math.sqrt(Math.pow((double) Math.abs(f), 2.0D) - Math.pow((double) Math.abs(f1), 2.0D)); + } + + f2 *= 0.5F; + return f2; + } + } + + private float leafSize(int par1) { + return par1 >= 0 && par1 < this.leafDistanceLimit ? (par1 != 0 && par1 != this.leafDistanceLimit - 1 ? 3.0F : 2.0F) : -1.0F; + } + + private void generateLeafNode(int par1, int par2, int par3) { + int l = par2; + + for(int i1 = par2 + this.leafDistanceLimit; l < i1; ++l) { + float f = this.leafSize(l - par2); + this.genTreeLayer(par1, l, par3, f, (byte) 1, Block.leaves.blockID); + } + + } + + private void placeBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger, int par3) { + int[] aint2 = new int[]{0, 0, 0}; + byte b0 = 0; + + byte b1; + for(b1 = 0; b0 < 3; ++b0) { + aint2[b0] = par2ArrayOfInteger[b0] - par1ArrayOfInteger[b0]; + if(Math.abs(aint2[b0]) > Math.abs(aint2[b1])) { + b1 = b0; + } + } + + if(aint2[b1] != 0) { + byte b2 = otherCoordPairs[b1]; + byte b3 = otherCoordPairs[b1 + 3]; + byte b4; + if(aint2[b1] > 0) { + b4 = 1; + } else { + b4 = -1; + } + + double d0 = (double) aint2[b2] / (double) aint2[b1]; + double d1 = (double) aint2[b3] / (double) aint2[b1]; + int[] aint3 = new int[]{0, 0, 0}; + int j = 0; + + for(int k = aint2[b1] + b4; j != k; j += b4) { + aint3[b1] = MathHelper.floor_double((double) (par1ArrayOfInteger[b1] + j) + 0.5D); + aint3[b2] = MathHelper.floor_double((double) par1ArrayOfInteger[b2] + (double) j * d0 + 0.5D); + aint3[b3] = MathHelper.floor_double((double) par1ArrayOfInteger[b3] + (double) j * d1 + 0.5D); + byte b5 = 0; + int l = Math.abs(aint3[0] - par1ArrayOfInteger[0]); + int i1 = Math.abs(aint3[2] - par1ArrayOfInteger[2]); + int j1 = Math.max(l, i1); + if(j1 > 0) { + if(l == j1) { + b5 = 4; + } else if(i1 == j1) { + b5 = 8; + } + } + + this.setBlockAndMetadata(this.worldObj, aint3[0], aint3[1], aint3[2], par3, b5); + } + } + + } + + private void generateLeaves() { + int i = 0; + + for(int j = this.leafNodes.length; i < j; ++i) { + int k = this.leafNodes[i][0]; + int l = this.leafNodes[i][1]; + int i1 = this.leafNodes[i][2]; + this.generateLeafNode(k, l, i1); + } + + } + + private boolean leafNodeNeedsBase(int par1) { + return (double) par1 >= (double) this.heightLimit * 0.2D; + } + + private void generateTrunk() { + int i = this.basePos[0]; + int j = this.basePos[1]; + int k = this.basePos[1] + this.height; + int l = this.basePos[2]; + int[] aint = new int[]{i, j, l}; + int[] aint1 = new int[]{i, k, l}; + this.placeBlockLine(aint, aint1, Block.wood.blockID); + if(this.trunkSize == 2) { + ++aint[0]; + ++aint1[0]; + this.placeBlockLine(aint, aint1, Block.wood.blockID); + ++aint[2]; + ++aint1[2]; + this.placeBlockLine(aint, aint1, Block.wood.blockID); + aint[0] += -1; + aint1[0] += -1; + this.placeBlockLine(aint, aint1, Block.wood.blockID); + } + + } + + private void generateLeafNodeBases() { + int i = 0; + int j = this.leafNodes.length; + + for(int[] aint = new int[]{this.basePos[0], this.basePos[1], this.basePos[2]}; i < j; ++i) { + int[] aint1 = this.leafNodes[i]; + int[] aint2 = new int[]{aint1[0], aint1[1], aint1[2]}; + aint[1] = aint1[3]; + int k = aint[1] - this.basePos[1]; + if(this.leafNodeNeedsBase(k)) { + this.placeBlockLine(aint, aint2, (byte) Block.wood.blockID); + } + } + + } + + private int checkBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger) { + int[] aint2 = new int[]{0, 0, 0}; + byte b0 = 0; + + byte b1; + for(b1 = 0; b0 < 3; ++b0) { + aint2[b0] = par2ArrayOfInteger[b0] - par1ArrayOfInteger[b0]; + if(Math.abs(aint2[b0]) > Math.abs(aint2[b1])) { + b1 = b0; + } + } + + if(aint2[b1] == 0) { + return -1; + } else { + byte b2 = otherCoordPairs[b1]; + byte b3 = otherCoordPairs[b1 + 3]; + byte b4; + if(aint2[b1] > 0) { + b4 = 1; + } else { + b4 = -1; + } + + double d0 = (double) aint2[b2] / (double) aint2[b1]; + double d1 = (double) aint2[b3] / (double) aint2[b1]; + int[] aint3 = new int[]{0, 0, 0}; + int i = 0; + + int j; + for(j = aint2[b1] + b4; i != j; i += b4) { + aint3[b1] = par1ArrayOfInteger[b1] + i; + aint3[b2] = MathHelper.floor_double((double) par1ArrayOfInteger[b2] + (double) i * d0); + aint3[b3] = MathHelper.floor_double((double) par1ArrayOfInteger[b3] + (double) i * d1); + int k = this.worldObj.getBlockId(aint3[0], aint3[1], aint3[2]); + if(k != 0 && k != Block.leaves.blockID) { + break; + } + } + + return i == j ? -1 : Math.abs(i); + } + } + + private boolean validTreeLocation() { + int[] aint = new int[]{this.basePos[0], this.basePos[1], this.basePos[2]}; + int[] aint1 = new int[]{this.basePos[0], this.basePos[1] + this.heightLimit - 1, this.basePos[2]}; + int i = this.worldObj.getBlockId(this.basePos[0], this.basePos[1] - 1, this.basePos[2]); + Block var10000 = Block.blocksList[i]; + boolean isValidSoil = i == Blocks.BLOCK_SAND.blockID; + if(!isValidSoil) { + return false; + } else { + int j = this.checkBlockLine(aint, aint1); + if(j == -1) { + return true; + } else if(j < 6) { + return false; + } else { + this.heightLimit = j; + return true; + } + } + } + + @Override + public void setScale(double par1, double par3, double par5) { + this.heightLimitLimit = (int) (par1 * 12.0D); + if(par1 > 0.5D) { + this.leafDistanceLimit = 5; + } + + this.scaleWidth = par3; + this.leafDensity = par5; + } + + @Override + public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) { + this.worldObj = par1World; + long l = par2Random.nextLong(); + this.rand.setSeed(l); + this.basePos[0] = par3; + this.basePos[1] = par4; + this.basePos[2] = par5; + if(this.heightLimit == 0) { + this.heightLimit = 5 + this.rand.nextInt(this.heightLimitLimit); + } + + if(!this.validTreeLocation()) { + return false; + } else { + this.generateLeafNodeList(); + this.generateLeaves(); + this.generateTrunk(); + this.generateLeafNodeBases(); + return true; + } + } + +} diff --git a/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java b/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java new file mode 100644 index 0000000..3a31ce4 --- /dev/null +++ b/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java @@ -0,0 +1,176 @@ +package com.teammetallurgy.atum.worldgen.decorators; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraft.world.gen.feature.WorldGenerator; +import net.minecraftforge.common.ForgeDirection; +import net.minecraftforge.common.IPlantable; + +import com.teammetallurgy.atum.blocks.Blocks; + +public class WorldGenOasis extends WorldGenerator { + + private final int minTreeHeight; + private final int metaWood; + private final int metaLeaves; + + public WorldGenOasis(boolean par1) { + this(par1, 4, 0, 0); + } + + public WorldGenOasis(boolean par1, int par2, int par3, int par4) { + super(par1); + this.minTreeHeight = par2; + this.metaWood = par3; + this.metaLeaves = par4; + } + + @Override + public boolean generate(World world, Random par2Random, int par3, int par4, int par5) { + int width = par2Random.nextInt(6) + 6; + int depth = par2Random.nextInt(5) + 5; + int id = world.getBlockId(par3, par4 - 1, par5); + if(id != Blocks.BLOCK_SAND.blockID) { + return false; + } else { + id = world.getBlockId(par3 + width, world.getHeightValue(par3 + width, par5) - 1, par5); + if(id != Blocks.BLOCK_SAND.blockID) { + return false; + } else { + id = world.getBlockId(par3, world.getHeightValue(par3, par5 + depth) - 1, par5 + depth); + if(id != Blocks.BLOCK_SAND.blockID) { + return false; + } else { + id = world.getBlockId(par3 + width, world.getHeightValue(par3 + width, par5 + depth) - 1, par5 + depth); + if(id != Blocks.BLOCK_SAND.blockID) { + return false; + } else { + int minHeight = world.getHeightValue(par3, par5); + int maxHeight = world.getHeightValue(par3, par5); + int height = world.getHeightValue(par3 + width, par5); + if(height < minHeight) { + minHeight = height; + } else if(height > maxHeight) { + maxHeight = height; + } + + height = world.getHeightValue(par3, par5 + depth); + if(height < minHeight) { + minHeight = height; + } else if(height > maxHeight) { + maxHeight = height; + } + + height = world.getHeightValue(par3 + width, par5 + depth); + if(height < minHeight) { + minHeight = height; + } else if(height > maxHeight) { + maxHeight = height; + } + + int papyrus; + int i; + int z; + int dx; + int y; + if(maxHeight - minHeight < 6) { + float treeCount = (float) width / 2.0F; + float chest = (float) depth / 2.0F; + + for(papyrus = (int) (0.0F - treeCount - 6.0F); (float) papyrus <= treeCount + 6.0F; ++papyrus) { + for(i = (int) (0.0F - chest - 6.0F); (float) i <= chest + 6.0F; ++i) { + float x = (float) (papyrus * papyrus) / (treeCount * treeCount) + (float) (i * i) / (chest * chest); + if(x <= 1.0F) { + z = world.getHeightValue(papyrus + par3, i + par5); + if(world.getBlockId(papyrus + par3, z - 1, i + par5) == Blocks.BLOCK_SAND.blockID) { + world.setBlock(papyrus + par3, z - 1, i + par5, Block.waterStill.blockID); + if((double) x < 0.6D) { + z = world.getHeightValue(papyrus + par3, i + par5); + world.setBlock(papyrus + par3, z - 2, i + par5, Block.waterStill.blockID); + } + } + } else { + x = (float) (papyrus * papyrus) / ((treeCount + 4.0F) * (treeCount + 4.0F)) + (float) (i * i) / ((chest + 4.0F) * (chest + 4.0F)); + z = world.getHeightValue(papyrus + par3, i + par5); + if(world.getBlockId(papyrus + par3, z - 1, i + par5) == Blocks.BLOCK_SAND.blockID && x < 1.0F) { + world.setBlock(papyrus + par3, z - 1, i + par5, Blocks.BLOCK_FERTILESOIL.blockID); + if((double) x < 0.3D && par2Random.nextInt(8) == 0) { + for(y = -1; y <= 1; ++y) { + for(dx = -1; dx <= 1; ++dx) { + if(Blocks.BLOCK_PAPYRUS.canBlockStay(world, par3 + papyrus + y, z, par5 + i + dx)) { + world.setBlock(papyrus + par3 + y, z, i + par5 + dx, Blocks.BLOCK_PAPYRUS.blockID); + } + } + } + } + } + } + } + } + } + + int var24 = 0; + + for(int var26 = 0; var26 < 6; ++var26) { + papyrus = par2Random.nextInt(width); + i = par2Random.nextInt(depth); + id = world.getBlockId(par3 + papyrus, world.getHeightValue(par3 + papyrus, par5 + i) - 1, par5 + i); + if(id == Blocks.BLOCK_FERTILESOIL.blockID) { + (new WorldGenPalm(true, 5, 0, 0)).generate(world, par2Random, par3 + papyrus, world.getHeightValue(par3 + papyrus, par5 + i), par5 + i); + ++var24; + } + + if(var24 > 2) { + break; + } + } + + boolean var25 = false; + boolean var27 = false; + + for(i = 0; i < 10; ++i) { + int var28 = par2Random.nextInt(width); + z = par2Random.nextInt(depth); + y = world.getHeightValue(par3 + var28, par5 + z); + id = world.getBlockId(par3 + var28, y - 1, par5 + z); + if(!var25 && id == Blocks.BLOCK_FERTILESOIL.blockID) { + world.setBlock(par3 + var28, y, par5 + z, Block.chest.blockID); + TileEntity var29 = world.getBlockTileEntity(par3 + var28, world.getHeightValue(par3 + var28, par5 + z), par5 + z); + // AtumLoot.fillChest((IInventory) var29, 5, 0.2F); + var25 = true; + } else { + int dz; + if(!var27 && Block.blocksList[id].canSustainPlant(world, par3 + var28, y, par5 + z, ForgeDirection.UP, (IPlantable) ((IPlantable) Blocks.BLOCK_PAPYRUS))) { + for(dx = -1; dx <= 1; ++dx) { + for(dz = -1; dz <= 1; ++dz) { + if(Block.blocksList[id].canSustainPlant(world, par3 + var28 + dx, y, par5 + z + dz, ForgeDirection.UP, (IPlantable) ((IPlantable) Blocks.BLOCK_PAPYRUS))) { + world.setBlock(par3 + var28, y, par5 + z, Blocks.BLOCK_PAPYRUS.blockID); + var27 = true; + } + } + } + } else if(par2Random.nextInt(5) == 0) { + for(dx = -1; dx <= 1; ++dx) { + for(dz = -1; dz <= 1; ++dz) { + int currentY = world.getHeightValue(par3 + var28, par5 + z); + int belowID = world.getBlockId(par3 + var28 + dx, currentY - 1, par5 + z + dz); + int currentID = world.getBlockId(par3 + var28 + dx, currentY, par5 + z + dz); + if(par2Random.nextInt(3) == 0 && belowID == Blocks.BLOCK_FERTILESOIL.blockID && currentID == 0) { + world.setBlock(par3 + var28 + dx, currentY, par5 + z + dz, Blocks.BLOCK_FLAX.blockID, 13, 0); + } + } + } + } + } + } + + return false; + } + } + } + } + } +} diff --git a/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java b/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java new file mode 100644 index 0000000..2bb73c0 --- /dev/null +++ b/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java @@ -0,0 +1,6215 @@ +package com.teammetallurgy.atum.worldgen.decorators; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.world.World; +import net.minecraft.world.gen.feature.WorldGenerator; + +import com.teammetallurgy.atum.blocks.Blocks; + +public class WorldGenPalace extends WorldGenerator { + + public int largeLimestoneBricks; + public int smallLimestoneBricks; + public int carvedLimestone; + public int largeLimestoneBricksStairs; + + public WorldGenPalace() { + this.largeLimestoneBricks = Blocks.BLOCK_LARGEBRICK.blockID; + this.smallLimestoneBricks = Blocks.BLOCK_SMALLBRICK.blockID; + this.carvedLimestone = Blocks.BLOCK_CARVEDBRICK.blockID; + this.largeLimestoneBricksStairs = Blocks.BLOCK_LARGESTONESTAIRS.blockID; + } + + @Override + public boolean generate(World world, Random random, int i, int j, int k) { + world.setBlock(i + 0, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 2, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 2, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 2, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 3, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 3, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 3, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 3, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 4, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 4, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 4, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 5, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 5, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 16, Block.netherrack.blockID); + world.setBlock(i + 8, j + 7, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 8, k + 16, Block.fire.blockID); + world.setBlock(i + 8, j + 8, k + 19, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 20, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 21, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 23, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 27, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 28, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 29, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 33, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 9, k + 19, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 20, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 21, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 23, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 27, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 28, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 29, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 33, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 2, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 2, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 2, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 3, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 3, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 3, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 3, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 4, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 4, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 4, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 5, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 5, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 7, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 10, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 3, k + 22, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 23, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 26, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 30, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 33, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 34, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 4, k + 22, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 23, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 26, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 30, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 33, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 34, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 34, this.largeLimestoneBricks); + this.generate2(world, random, i, j, k); + return true; + } + + public boolean generate2(World world, Random rand, int i, int j, int k) { + world.setBlock(i + 10, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 2, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 5, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 5, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 7, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 7, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 11, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 11, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 10, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 10, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 12, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 12, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 0, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 13, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 13, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 0, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 2, k + 4, Block.netherrack.blockID); + world.setBlock(i + 14, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 3, k + 4, Block.fire.blockID); + world.setBlock(i + 14, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 8, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 14, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 9, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 14, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 0, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 2, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 2, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 2, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 2, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 3, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 3, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 4, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 4, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 8, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 9, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 16, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 16, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 3, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 3, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 3, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 3, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 16, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 4, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 4, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 16, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 16, j + 8, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 16, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 16, j + 9, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 16, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 3, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 3, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 3, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 3, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 17, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 4, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 4, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 4, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 4, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 17, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 5, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 5, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 17, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 17, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 2, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 2, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 5, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 5, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 7, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 8, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 8, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 18, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 9, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 9, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 9, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 18, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 3, k + 14, this.carvedLimestone); + world.setBlock(i + 19, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 5, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 5, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 8, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 19, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 9, k + 13, this.carvedLimestone); + world.setBlock(i + 19, j + 9, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 9, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 19, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 10, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 2, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 2, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 5, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 5, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 7, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 8, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 8, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 20, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 9, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 9, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 9, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 20, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 3, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 3, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 3, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 3, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 21, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 4, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 4, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 4, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 4, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 21, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 5, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 5, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 9, this.largeLimestoneBricks); + this.generate3(world, rand, i, j, k); + return true; + } + + public boolean generate3(World world, Random rand, int i, int j, int k) { + world.setBlock(i + 21, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 21, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 21, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 22, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 22, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 3, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 3, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 3, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 3, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 22, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 4, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 4, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 22, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 22, j + 8, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 22, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 22, j + 9, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 22, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 0, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 2, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 2, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 2, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 2, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 3, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 4, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 8, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 9, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 0, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 2, k + 4, Block.netherrack.blockID); + world.setBlock(i + 24, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 3, k + 4, Block.fire.blockID); + world.setBlock(i + 24, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 8, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 24, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 9, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 24, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 0, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 25, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 25, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 26, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 26, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 2, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 5, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 5, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 7, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 7, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 27, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 27, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 10, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 10, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 3, k + 22, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 23, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 26, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 30, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 33, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 34, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 4, k + 22, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 23, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 26, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 30, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 33, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 34, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 2, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 2, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 2, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 3, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 3, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 3, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 3, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 4, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 4, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 4, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 5, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 5, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 2, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 2, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 2, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 3, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 3, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 3, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 3, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 4, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 4, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 4, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 5, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 5, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 16, Block.netherrack.blockID); + world.setBlock(i + 30, j + 7, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 8, k + 16, Block.fire.blockID); + world.setBlock(i + 30, j + 8, k + 19, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 20, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 21, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 23, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 27, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 28, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 29, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 33, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 9, k + 19, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 20, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 21, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 23, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 27, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 28, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 29, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 33, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 30, this.largeLimestoneBricks); + this.generate4(world, rand, i, j, k); + return true; + } + + public boolean generate4(World world, Random rand, int i, int j, int k) { + world.setBlock(i + 31, j + 3, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 6, k + 8, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 9, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 10, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 11, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 12, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 13, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 14, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 15, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 16, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 17, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 18, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 19, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 20, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 21, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 22, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 23, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 24, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 25, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 26, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 27, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 28, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 29, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 30, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 31, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 32, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 33, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 34, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 35, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 36, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 37, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 38, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 39, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 40, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 41, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 42, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 43, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 44, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 45, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 46, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 47, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 48, this.largeLimestoneBricksStairs); + world.setBlockMetadataWithNotify(i + 0, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 1, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 12, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 45, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 12, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 45, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 48, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 1, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 1, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 1, j + 7, k + 9, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 10, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 11, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 12, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 13, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 14, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 15, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 16, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 17, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 18, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 19, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 20, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 21, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 22, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 23, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 24, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 25, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 26, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 27, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 28, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 29, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 30, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 31, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 32, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 33, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 34, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 35, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 36, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 37, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 38, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 39, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 40, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 41, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 42, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 43, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 44, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 45, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 46, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 47, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 48, this.largeLimestoneBricksStairs); + world.setBlockMetadataWithNotify(i + 2, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 2, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 2, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 2, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 3, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 3, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 3, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 3, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 4, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 4, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 4, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 4, j + 4, k + 48, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 4, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 4, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 4, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 4, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 5, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 5, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 5, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 5, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 6, j + 3, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 42, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 6, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 6, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 6, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 6, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 6, j + 8, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 48, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 7, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 7, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 7, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 7, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 7, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 43, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 8, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 8, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 8, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 8, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 8, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 8, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 8, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 8, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 8, j + 7, k + 18, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 8, j + 7, k + 22, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 8, j + 7, k + 26, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 8, j + 7, k + 30, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 8, j + 7, k + 34, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 8, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 8, j + 10, k + 18, this.largeLimestoneBricksStairs, 5); + world.setBlockMetadataWithNotify(i + 8, j + 10, k + 22, this.largeLimestoneBricksStairs, 5); + world.setBlockMetadataWithNotify(i + 8, j + 10, k + 26, this.largeLimestoneBricksStairs, 5); + world.setBlockMetadataWithNotify(i + 8, j + 10, k + 30, this.largeLimestoneBricksStairs, 5); + world.setBlockMetadataWithNotify(i + 8, j + 10, k + 34, this.largeLimestoneBricksStairs, 5); + world.setBlockMetadataWithNotify(i + 9, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 9, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 9, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 9, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 9, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 9, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 9, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 9, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 9, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 10, j + 2, k + 21, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 10, j + 2, k + 35, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 10, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 4, k + 48, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 10, j + 5, k + 21, this.largeLimestoneBricksStairs, 6); + world.setBlockMetadataWithNotify(i + 10, j + 5, k + 27, this.largeLimestoneBricksStairs, 7); + world.setBlockMetadataWithNotify(i + 10, j + 5, k + 29, this.largeLimestoneBricksStairs, 6); + world.setBlockMetadataWithNotify(i + 10, j + 5, k + 35, this.largeLimestoneBricksStairs, 7); + world.setBlockMetadataWithNotify(i + 10, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 10, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 10, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 10, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 10, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 10, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 9, k + 43, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 10, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); + world.setBlock(i + 11, j + 3, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 11, j + 3, k + 38, this.smallLimestoneBricks); + world.setBlock(i + 11, j + 4, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 11, j + 4, k + 38, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 11, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 11, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 11, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 11, j + 7, k + 28, Block.torchWood.blockID, 5); + world.setBlockMetadataWithNotify(i + 11, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 11, j + 8, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 11, j + 8, k + 38, this.smallLimestoneBricks); + world.setBlock(i + 11, j + 9, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 11, j + 9, k + 38, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 12, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 12, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 12, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 12, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 13, j + 2, k + 4, this.largeLimestoneBricksStairs); + world.setBlock(i + 13, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 4, k + 48, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 13, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 13, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 13, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlock(i + 13, j + 7, k + 41, this.largeLimestoneBricksStairs); + world.setBlockMetadataWithNotify(i + 13, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 13, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 9, k + 43, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 13, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); + world.setBlockMetadataWithNotify(i + 14, j + 2, k + 3, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 14, j + 2, k + 5, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 14, j + 2, k + 39, this.largeLimestoneBricksStairs); + world.setBlockMetadataWithNotify(i + 14, j + 5, k + 39, this.largeLimestoneBricksStairs, 4); + world.setBlockMetadataWithNotify(i + 14, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 14, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 14, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 14, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 14, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 14, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); + world.setBlockMetadataWithNotify(i + 15, j + 2, k + 4, this.largeLimestoneBricksStairs, 1); + world.setBlock(i + 15, j + 2, k + 26, this.largeLimestoneBricksStairs); + world.setBlock(i + 15, j + 2, k + 30, this.largeLimestoneBricksStairs); + world.setBlock(i + 15, j + 3, k + 24, this.largeLimestoneBricksStairs); + world.setBlock(i + 15, j + 3, k + 25, this.largeLimestoneBricksStairs); + world.setBlock(i + 15, j + 3, k + 31, this.largeLimestoneBricksStairs); + world.setBlockMetadataWithNotify(i + 15, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 15, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 15, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 15, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 15, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 16, j + 2, k + 27, this.largeLimestoneBricksStairs); + world.setBlock(i + 16, j + 2, k + 28, this.largeLimestoneBricksStairs); + world.setBlock(i + 16, j + 2, k + 29, this.largeLimestoneBricksStairs); + world.setBlock(i + 16, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 16, j + 3, k + 24, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 16, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 16, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 16, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 16, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 16, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 16, j + 4, k + 48, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 16, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 16, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 16, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 16, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 16, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 16, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 16, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 16, j + 9, k + 43, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 17, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 17, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 17, j + 2, k + 24, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 17, j + 2, k + 32, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 17, j + 3, k + 12, Block.torchWood.blockID, 4); + world.setBlockMetadataWithNotify(i + 17, j + 3, k + 26, Block.torchWood.blockID, 5); + world.setBlockMetadataWithNotify(i + 17, j + 3, k + 30, Block.torchWood.blockID, 5); + world.setBlockMetadataWithNotify(i + 17, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 17, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 17, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 17, j + 7, k + 41, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 17, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 17, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); + world.setBlockMetadataWithNotify(i + 18, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 18, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); + world.setBlock(i + 18, j + 2, k + 14, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 18, j + 2, k + 17, Block.torchWood.blockID, 5); + world.setBlockMetadataWithNotify(i + 18, j + 2, k + 25, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 18, j + 2, k + 31, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 18, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 18, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 18, j + 5, k + 39, this.largeLimestoneBricksStairs, 5); + world.setBlockMetadataWithNotify(i + 18, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 18, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 18, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 18, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 18, j + 8, k + 13, this.smallLimestoneBricks); + world.setBlock(i + 18, j + 8, k + 16, this.smallLimestoneBricks); + world.setBlock(i + 18, j + 9, k + 16, this.smallLimestoneBricks); + world.setBlock(i + 18, j + 10, k + 13, this.largeLimestoneBricksStairs); + world.setBlockMetadataWithNotify(i + 19, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 19, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); + world.setBlock(i + 19, j + 2, k + 14, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 19, j + 2, k + 25, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 19, j + 2, k + 31, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 19, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 19, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 19, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 19, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 19, j + 4, k + 48, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 19, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 19, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 19, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 19, j + 7, k + 19, Block.torchWood.blockID, 5); + world.setBlockMetadataWithNotify(i + 19, j + 7, k + 38, Block.torchWood.blockID, 5); + world.setBlockMetadataWithNotify(i + 19, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 19, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 19, j + 9, k + 16, this.largeLimestoneBricksStairs, 7); + world.setBlock(i + 19, j + 9, k + 43, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 20, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 20, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); + world.setBlock(i + 20, j + 2, k + 14, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 20, j + 2, k + 25, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 20, j + 2, k + 31, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 20, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 20, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 20, j + 5, k + 39, this.largeLimestoneBricksStairs, 4); + world.setBlockMetadataWithNotify(i + 20, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 20, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 20, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 20, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 20, j + 8, k + 13, this.smallLimestoneBricks); + world.setBlock(i + 20, j + 8, k + 16, this.smallLimestoneBricks); + world.setBlock(i + 20, j + 9, k + 16, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 20, j + 10, k + 13, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 21, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 21, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 21, j + 2, k + 24, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 21, j + 2, k + 32, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 21, j + 3, k + 12, Block.torchWood.blockID, 4); + world.setBlockMetadataWithNotify(i + 21, j + 3, k + 26, Block.torchWood.blockID, 5); + world.setBlockMetadataWithNotify(i + 21, j + 3, k + 30, Block.torchWood.blockID, 5); + world.setBlockMetadataWithNotify(i + 21, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 21, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 21, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 21, j + 7, k + 41, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 21, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 21, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); + world.setBlockMetadataWithNotify(i + 22, j + 2, k + 27, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 22, j + 2, k + 28, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 22, j + 2, k + 29, this.largeLimestoneBricksStairs, 1); + world.setBlock(i + 22, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 22, j + 3, k + 24, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 22, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 22, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 22, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 22, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 22, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 22, j + 4, k + 48, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 22, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 22, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 22, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 22, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 22, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 22, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 22, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 22, j + 9, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 23, j + 2, k + 4, this.largeLimestoneBricksStairs); + world.setBlockMetadataWithNotify(i + 23, j + 2, k + 26, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 23, j + 2, k + 30, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 23, j + 3, k + 24, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 23, j + 3, k + 25, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 23, j + 3, k + 31, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 23, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 23, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 23, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 23, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 23, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 24, j + 2, k + 3, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 24, j + 2, k + 5, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 24, j + 2, k + 39, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 24, j + 5, k + 39, this.largeLimestoneBricksStairs, 5); + world.setBlockMetadataWithNotify(i + 24, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 24, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 24, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 24, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 24, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 24, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); + world.setBlockMetadataWithNotify(i + 25, j + 2, k + 4, this.largeLimestoneBricksStairs, 1); + world.setBlock(i + 25, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 4, k + 48, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 25, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 25, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 25, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 25, j + 7, k + 41, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 25, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 25, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 9, k + 43, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 25, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); + world.setBlockMetadataWithNotify(i + 26, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 26, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 26, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 26, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 27, j + 3, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 27, j + 3, k + 38, this.smallLimestoneBricks); + world.setBlock(i + 27, j + 4, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 27, j + 4, k + 38, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 27, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 27, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 27, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 27, j + 7, k + 28, Block.torchWood.blockID, 5); + world.setBlockMetadataWithNotify(i + 27, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 27, j + 8, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 27, j + 8, k + 38, this.smallLimestoneBricks); + world.setBlock(i + 27, j + 9, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 27, j + 9, k + 38, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 28, j + 2, k + 21, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 28, j + 2, k + 35, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 28, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 4, k + 48, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 28, j + 5, k + 21, this.largeLimestoneBricksStairs, 6); + world.setBlockMetadataWithNotify(i + 28, j + 5, k + 27, this.largeLimestoneBricksStairs, 7); + world.setBlockMetadataWithNotify(i + 28, j + 5, k + 29, this.largeLimestoneBricksStairs, 6); + world.setBlockMetadataWithNotify(i + 28, j + 5, k + 35, this.largeLimestoneBricksStairs, 7); + world.setBlockMetadataWithNotify(i + 28, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 28, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 28, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 28, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 28, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 28, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 9, k + 43, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 28, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); + world.setBlockMetadataWithNotify(i + 29, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 29, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 29, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 29, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 29, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 29, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 29, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 29, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 29, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 30, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 30, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 30, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 30, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 30, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 30, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 30, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 30, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlock(i + 30, j + 7, k + 18, this.largeLimestoneBricksStairs); + world.setBlock(i + 30, j + 7, k + 22, this.largeLimestoneBricksStairs); + world.setBlock(i + 30, j + 7, k + 26, this.largeLimestoneBricksStairs); + world.setBlock(i + 30, j + 7, k + 30, this.largeLimestoneBricksStairs); + world.setBlock(i + 30, j + 7, k + 34, this.largeLimestoneBricksStairs); + world.setBlockMetadataWithNotify(i + 30, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 30, j + 10, k + 18, this.largeLimestoneBricksStairs, 4); + world.setBlockMetadataWithNotify(i + 30, j + 10, k + 22, this.largeLimestoneBricksStairs, 4); + world.setBlockMetadataWithNotify(i + 30, j + 10, k + 26, this.largeLimestoneBricksStairs, 4); + world.setBlockMetadataWithNotify(i + 30, j + 10, k + 30, this.largeLimestoneBricksStairs, 4); + world.setBlockMetadataWithNotify(i + 30, j + 10, k + 34, this.largeLimestoneBricksStairs, 4); + world.setBlock(i + 31, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 48, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 31, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 31, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 31, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 31, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 31, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 42, this.smallLimestoneBricks); + this.generate5(world, rand, i, j, k); + return true; + } + + public boolean generate5(World world, Random rand, int i, int j, int k) { + world.setBlock(i + 32, j + 4, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 42, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 32, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 32, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 32, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 32, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 32, j + 8, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 42, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 33, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 33, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 33, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 33, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 34, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 34, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 34, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 34, j + 4, k + 48, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 34, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 34, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 34, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 34, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 35, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 35, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 35, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 35, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 36, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 36, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 36, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 36, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 37, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 12, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 45, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 12, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 45, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 48, this.smallLimestoneBricks); + world.setBlockMetadataWithNotify(i + 37, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 37, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 10, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 11, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 12, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 13, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 14, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 15, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 16, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 17, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 18, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 19, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 20, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 21, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 22, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 23, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 24, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 25, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 26, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 27, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 28, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 29, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 30, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 31, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 32, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 33, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 34, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 35, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 36, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 37, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 38, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 39, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 40, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 41, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 42, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 43, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 44, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 45, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 46, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 47, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 37, j + 7, k + 48, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 9, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 10, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 11, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 12, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 13, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 14, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 15, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 16, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 17, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 18, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 19, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 20, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 21, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 22, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 23, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 24, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 25, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 26, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 27, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 28, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 29, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 30, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 31, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 32, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 33, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 34, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 35, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 36, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 37, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 38, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 39, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 40, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 41, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 42, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 43, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 44, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 45, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 46, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 47, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 48, this.largeLimestoneBricksStairs, 1); + world.setBlockMetadataWithNotify(i + 38, j + 6, k + 49, this.largeLimestoneBricksStairs, 1); + return true; + } +} diff --git a/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java b/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java new file mode 100644 index 0000000..bbda595 --- /dev/null +++ b/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java @@ -0,0 +1,138 @@ +package com.teammetallurgy.atum.worldgen.decorators; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.world.World; +import net.minecraft.world.gen.feature.WorldGenerator; + +import com.teammetallurgy.atum.blocks.Blocks; + +public class WorldGenPalm extends WorldGenerator { + + private final int minTreeHeight; + private final int metaWood; + private final int metaLeaves; + + public WorldGenPalm(boolean par1) { + this(par1, 5, 0, 0); + } + + public WorldGenPalm(boolean par1, int par2, int par3, int par4) { + super(par1); + this.minTreeHeight = par2; + this.metaWood = par3; + this.metaLeaves = par4; + } + + @Override + public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) { + int l = par2Random.nextInt(3) + this.minTreeHeight; + boolean flag = true; + int id = par1World.getBlockId(par3, par4 - 1, par5); + if((id == Blocks.BLOCK_SAND.blockID || id == Blocks.BLOCK_FERTILESOIL.blockID || id == Block.dirt.blockID) && par4 >= 1 && par4 + l + 1 <= 256) { + int i1; + int j1; + int k1; + for(i1 = par4; i1 <= par4 + 1 + l; ++i1) { + byte b0 = 1; + if(i1 == par4) { + b0 = 0; + } + + if(i1 >= par4 + 1 + l - 2) { + b0 = 2; + } + + for(int soil = par3 - b0; soil <= par3 + b0 && flag; ++soil) { + for(j1 = par5 - b0; j1 <= par5 + b0 && flag; ++j1) { + if(i1 >= 0 && i1 < 256) { + k1 = par1World.getBlockId(soil, i1, j1); + Block b1 = Block.blocksList[k1]; + if(k1 != 0 && !b1.isLeaves(par1World, soil, i1, j1) && k1 != Blocks.BLOCK_FERTILESOIL.blockID && k1 != Block.dirt.blockID && !b1.isWood(par1World, soil, i1, j1)) { + flag = false; + } + } else { + flag = false; + } + } + } + } + + if(!flag) { + return false; + } else { + i1 = par1World.getBlockId(par3, par4 - 1, par5); + Block var21 = Block.blocksList[i1]; + if(par4 >= 256 - l - 1) { + return false; + } else { + if(var21 != null) { + var21.onPlantGrow(par1World, par3, par4 - 1, par5, par3, par4, par5); + } + + boolean var20 = true; + boolean var22 = false; + this.spawnLeaf(par1World, par3, par4 + l + 1, par5); + + for(int block = -1; block <= 1; ++block) { + for(int z = -1; z <= 1; ++z) { + if(block != 0 || z != 0) { + this.spawnLeaf(par1World, par3 + block, par4 + l, par5 + z); + } + } + } + + this.spawnLeaf(par1World, par3 + 2, par4 + l, par5); + this.spawnLeaf(par1World, par3 - 2, par4 + l, par5); + this.spawnLeaf(par1World, par3, par4 + l, par5 + 2); + this.spawnLeaf(par1World, par3, par4 + l, par5 - 2); + this.spawnLeaf(par1World, par3, par4 + l - 1, par5 - 2); + this.spawnLeaf(par1World, par3, par4 + l - 1, par5 + 2); + this.spawnLeaf(par1World, par3 + 2, par4 + l - 1, par5); + this.spawnLeaf(par1World, par3 - 2, par4 + l - 1, par5); + this.spawnLeaf(par1World, par3, par4 + l - 1, par5 - 3); + this.spawnLeaf(par1World, par3, par4 + l - 1, par5 + 3); + this.spawnLeaf(par1World, par3 + 3, par4 + l - 1, par5); + this.spawnLeaf(par1World, par3 - 3, par4 + l - 1, par5); + if(par2Random.nextInt(100) < 15) { + par1World.setBlock(par3 + 1, par4 + l - 1, par5, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); + } + + if(par2Random.nextInt(100) < 15) { + par1World.setBlock(par3 - 1, par4 + l - 1, par5, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); + } + + if(par2Random.nextInt(100) < 15) { + par1World.setBlock(par3, par4 + l - 1, par5 + 1, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); + } + + if(par2Random.nextInt(100) < 15) { + par1World.setBlock(par3, par4 + l - 1, par5 - 1, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); + } + + for(j1 = 0; j1 <= l; ++j1) { + k1 = par1World.getBlockId(par3, par4 + j1, par5); + Block var23 = Block.blocksList[k1]; + if(k1 == 0 || var23 == null || var23.isLeaves(par1World, par3, par4 + j1, par5)) { + this.setBlockAndMetadata(par1World, par3, par4 + j1, par5, Blocks.BLOCK_LOG.blockID, this.metaWood); + } + } + + return true; + } + } + } else { + return false; + } + } + + public void spawnLeaf(World par1World, int x, int y, int z) { + int j3 = par1World.getBlockId(x, y, z); + Block block = Block.blocksList[j3]; + if(block == null || block.canBeReplacedByLeaves(par1World, x, y, z)) { + this.setBlockAndMetadata(par1World, x, y, z, Blocks.BLOCK_LEAVES.blockID, this.metaLeaves); + } + + } +} diff --git a/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java b/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java new file mode 100644 index 0000000..ea584ef --- /dev/null +++ b/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java @@ -0,0 +1,209 @@ +package com.teammetallurgy.atum.worldgen.decorators; + +import static net.minecraftforge.common.ForgeDirection.EAST; +import static net.minecraftforge.common.ForgeDirection.NORTH; +import static net.minecraftforge.common.ForgeDirection.SOUTH; +import static net.minecraftforge.common.ForgeDirection.WEST; + +import java.util.ArrayList; +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.world.World; +import net.minecraft.world.gen.feature.WorldGenerator; + +import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.tileentity.TileEntityPharaohChest; + +public class WorldGenPyramid extends WorldGenerator { + class Pair { + public int x; + public int y; + + Pair(int x, int y) { + this.x = x; + this.y = y; + } + + @Override + public boolean equals(Object p) { + if(p instanceof Pair) + return ((Pair) p).x == x && ((Pair) p).y == y; + else + return false; + } + } + + @Override + public boolean generate(World world, Random random, int i, int j, int k) { + if(random.nextFloat() > 0.3) + j -= 8; + + int width = 17; + int depth = 17; + + boolean[][] maze = new boolean[17][17]; + + ArrayList points = new ArrayList(); + + int zIn = 9; + + maze[0][zIn] = true; + generateMaze(maze, random, 1, zIn); + + for(int y = -6; y < 10; y++) { + for(int x = y; x <= width - y; x++) { + for(int z = y; z <= depth - y; z++) { + // int id = world.getBlockId(x+i, y+j+3, z+k); + // if(id == 0 || id == Blocks.atumSand.blockID) + world.setBlock(x + i, y + j + 3, z + k, Blocks.BLOCK_LARGEBRICK.blockID, 1, 0); + } + } + } + + for(int x = -3; x < width + 3; x++) { + for(int z = -3; z < depth + 3; z++) { + if(x >= 0 && x < width && z >= 0 && z < depth) { + world.setBlock(x + i, j - 1, z + k, Blocks.BLOCK_STONE.blockID); + if(!maze[x][z]) { + if(random.nextFloat() > 0.1F) + world.setBlock(x + i, j, z + k, Blocks.BLOCK_LARGEBRICK.blockID, 1, 0); + else + placeTrap(world, x + i, j, z + k); + world.setBlock(x + i, j + 1, z + k, Blocks.BLOCK_LARGEBRICK.blockID, 1, 0); + world.setBlock(x + i, j + 2, z + k, Blocks.BLOCK_LARGEBRICK.blockID, 1, 0); + } else { + int meta = random.nextInt(5); + world.setBlock(x + i, j, z + k, Blocks.BLOCK_SANDLAYERED.blockID, meta, 0); + world.setBlockToAir(x + i, j + 1, z + k); + world.setBlockToAir(x + i, j + 2, z + k); + } + world.setBlock(x + i, j + 3, z + k, Blocks.BLOCK_LARGEBRICK.blockID, 1, 0); + } + } + } + + world.setBlockToAir(i - 1, j, k + zIn); + world.setBlockToAir(i - 1, j + 1, k + zIn); + world.setBlockToAir(i - 2, j, k + zIn); + world.setBlockToAir(i - 2, j + 1, k + zIn); + world.setBlockToAir(i - 3, j, k + zIn); + world.setBlockToAir(i - 3, j + 1, k + zIn); + world.setBlockToAir(i - 4, j, k + zIn); + world.setBlockToAir(i - 4, j + 1, k + zIn); + + for(int y = 4; y < 8; y++) { + for(int x = 6; x < 12; x++) { + for(int z = 6; z < 12; z++) { + world.setBlockToAir(i + x, j + y, k + z); + } + } + } + + world.setBlock(i + 11, j + 6, k + 7, Block.torchWood.blockID, 2, 0); + world.setBlock(i + 11, j + 6, k + 10, Block.torchWood.blockID, 2, 0); + + world.setBlock(i + 10, j + 4, k + 8, Blocks.BLOCK_PHARAOHCHEST.blockID, 0, 2); + try { + TileEntityPharaohChest te = (TileEntityPharaohChest) world.getBlockTileEntity(i + 10, j + 4, k + 8); + // AtumLoot.fillChest(te, 15, 0.9f); + } catch(ClassCastException e) { + } + if(world.isAirBlock(i + 7, j + 1, k + 7)) { + placeLadders(world, i + 7, j, k + 7, 4); + } else { + boolean found = false; + for(int dx = -1; dx <= 1; dx++) { + if(found) + break; + + for(int dz = -1; dz <= 1; dz++) { + if(world.isAirBlock(i + 7 + dx, j + 1, k + 7 + dz)) { + placeLadders(world, i + 7 + dx, j, k + 7 + dz, 3); + found = true; + break; + } + } + } + } + + /* + * if(world.isAirBlock(i+7+1, j+1, k+7)) { } placeLadders(world, i+7+1, j+1, k+7, 4); }else if(world.isAirBlock(i+7-1, j+1, k+7)) { placeLadders(world, i+7-1, j+1, k+7, 4); }else + * if(world.isAirBlock(i+7, j+1, k+7+1)) { placeLadders(world, i+7, j+1, k+7+1, 4); }else if(world.isAirBlock(i+7, j+1, k+7-1)) { placeLadders(world, i+7, j+1, k+7-1, 4); } + */ + return false; + } + + public void placeTrap(World world, int x, int y, int z) { + int meta = 0; + if(world.isBlockSolidOnSide(x, y, z + 1, NORTH)) { + meta = 2; + ; + } + + if(world.isBlockSolidOnSide(x, y, z - 1, SOUTH)) { + meta = 3; + } + + if(world.isBlockSolidOnSide(x + 1, y, z, WEST)) { + meta = 4; + } + + if(world.isBlockSolidOnSide(x - 1, y, z, EAST)) { + meta = 5; + } + + world.setBlock(x, y, z, Blocks.BLOCK_TRAPARROW.blockID, meta, 0); + } + + public void placeLadders(World world, int x, int y, int z, int height) { + int meta = 0; + if(world.isBlockSolidOnSide(x, y, z + 1, NORTH)) { + meta = 2; + ; + } + + if(world.isBlockSolidOnSide(x, y, z - 1, SOUTH)) { + meta = 3; + } + + if(world.isBlockSolidOnSide(x + 1, y, z, WEST)) { + meta = 4; + } + + if(world.isBlockSolidOnSide(x - 1, y, z, EAST)) { + meta = 5; + } + + for(int i = 0; i < height; i++) + world.setBlock(x, y + i, z, Block.ladder.blockID, meta, 0); + } + + public void generateMaze(boolean[][] array, Random random, int x, int y) { + int dx = 0; + int dy = 0; + + ArrayList choices = new ArrayList(); + do { + choices.clear(); + if(x + 2 < 16 && array[x + 2][y] == false) + choices.add(new Pair(2, 0)); + if(x - 2 >= 0 && array[x - 2][y] == false) + choices.add(new Pair(-2, 0)); + if(y + 2 < 16 && array[x][y + 2] == false) + choices.add(new Pair(0, 2)); + if(y - 2 >= 0 && array[x][y - 2] == false) + choices.add(new Pair(0, -2)); + + if(choices.size() > 0) { + int i = random.nextInt(choices.size()); + Pair choice = choices.get(i); + choices.remove(i); + array[choice.x + x][choice.y + y] = true; + array[x + choice.x / 2][y + choice.y / 2] = true; + generateMaze(array, random, x + choice.x, y + choice.y); + } + + } while(choices.size() > 0); + } +} \ No newline at end of file diff --git a/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java b/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java new file mode 100644 index 0000000..0b4a467 --- /dev/null +++ b/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java @@ -0,0 +1,93 @@ +package com.teammetallurgy.atum.worldgen.decorators; + +import java.util.Random; + +import net.minecraft.inventory.IInventory; +import net.minecraft.world.World; +import net.minecraft.world.gen.feature.WorldGenerator; + +import com.teammetallurgy.atum.blocks.Blocks; + +public class WorldGenRuins extends WorldGenerator { + @Override + public boolean generate(World world, Random random, int i, int j, int k) { + int width = random.nextInt(4) + 6; + int depth = random.nextInt(2) + 5; + int height = world.getHeightValue(i, k); + int x2; + int z2; + if(world.getHeightValue(i + width, k + depth) >= height) { + x2 = i + width; + z2 = k + depth; + } else if(world.getHeightValue(i - width, k + depth) >= height) { + x2 = i - width; + z2 = k + depth; + } else if(world.getHeightValue(i + width, k - depth) >= height) { + x2 = i + width; + z2 = k - depth; + } else { + if(world.getHeightValue(i - width, k - depth) < height) { + return false; + } + + x2 = i - width; + z2 = k - depth; + } + + int chestX; + int chestZ; + int chestY; + for(chestX = Math.min(x2, i); chestX <= Math.max(x2, i); ++chestX) { + for(chestZ = Math.min(z2, k); chestZ <= Math.max(z2, k); ++chestZ) { + int meta = random.nextInt(4); + + for(chestY = -1; chestY < 15; ++chestY) { + if(chestX != x2 && chestZ != z2 && chestX != i && chestZ != k && chestY != -1) { + world.setBlockToAir(chestX, chestY + height, chestZ); + } else if(chestY < meta) { + if((double) random.nextFloat() > 0.1D) { + world.setBlock(chestX, chestY + height, chestZ, Blocks.BLOCK_LARGEBRICK.blockID); + } else { + world.setBlock(chestX, chestY + height, chestZ, Blocks.BLOCK_SMALLBRICK.blockID); + } + } else if(chestY == meta && (double) random.nextFloat() > 0.7D) { + if((double) random.nextFloat() > 0.1D) { + world.setBlock(chestX, chestY + height, chestZ, Blocks.BLOCK_SLABS.blockID, 2, 0); + } else { + world.setBlock(chestX, chestY + height, chestZ, Blocks.BLOCK_SLABS.blockID, 3, 0); + } + } + } + } + } + + chestX = width / 2 + i; + chestZ = Math.max(z2, k) - 1; + boolean var16 = false; + if((double) random.nextFloat() > 0.5D) { + chestX = random.nextInt(width - 1) + 1 + Math.min(i, x2); + if((double) random.nextFloat() > 0.5D) { + chestZ = Math.max(z2, k) - 1; + var16 = true; + } else { + chestZ = Math.min(z2, k) + 1; + var16 = true; + } + } else { + chestZ = random.nextInt(depth - 1) + 1 + Math.min(k, z2); + if((double) random.nextFloat() > 0.5D) { + chestX = Math.max(x2, i) - 1; + var16 = true; + } else { + chestX = Math.min(x2, i) + 1; + var16 = true; + } + } + + chestY = world.getHeightValue(chestX, chestZ); + world.setBlock(chestX, chestY, chestZ, Blocks.BLOCK_CURSEDCHEST.blockID, 0, 2); + IInventory chest = (IInventory) world.getBlockTileEntity(chestX, chestY, chestZ); + // AtumLoot.fillChest(chest, 5, 0.5F); + return false; + } +} diff --git a/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java b/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java new file mode 100644 index 0000000..4ffe825 --- /dev/null +++ b/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java @@ -0,0 +1,36 @@ +package com.teammetallurgy.atum.worldgen.decorators; + +import java.util.Random; + +import com.teammetallurgy.atum.blocks.Blocks; + +import net.minecraft.world.World; +import net.minecraft.world.gen.feature.WorldGenerator; + +public class WorldGenShrub extends WorldGenerator { + + private int deadBushID; + private int groupSize; + + public WorldGenShrub(int par1, int par2) { + this.deadBushID = par1; + this.groupSize = par2; + } + + @Override + public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) { + int size = par2Random.nextInt(this.groupSize / 2) + this.groupSize / 2; + + for(int i1 = 0; i1 < size; ++i1) { + byte range = 6; + int x = par3 + par2Random.nextInt(range + 1) - range / 2; + int z = par5 + par2Random.nextInt(range + 1) - range / 2; + int y = par1World.getHeightValue(x, z); + if(par1World.isAirBlock(x, y, z) && Blocks.BLOCK_SHRUB.canBlockStay(par1World, x, y, z)) { + par1World.setBlock(x, y, z, this.deadBushID); + } + } + + return true; + } +} diff --git a/resources/assets/atum/lang/en_US.properties b/resources/assets/atum/lang/en_US.properties index 10343f3..96f2c4f 100644 --- a/resources/assets/atum/lang/en_US.properties +++ b/resources/assets/atum/lang/en_US.properties @@ -1,3 +1,7 @@ +# Misc +itemGroup.Atum=Atum +biome.desert.name=Desert + # Blocks block.portal.name=Atum Portal tile.chestSpawner.name=Atum Chest @@ -44,6 +48,7 @@ tile.furnaceBurning.name=Limestone Furnace Burning # Item item.scarab.name=Scarab +item.loot.name=Loot item.scimitar.name=Scimitar item.greatsword.name=Greatsword item.scepter.name=Scepter @@ -83,28 +88,28 @@ item.limestonePickaxe.name=LimeStone PickAxe item.limestoneAxe.name=LimeStone Axe item.limestoneSword.name=Limestone Sword item.limestoneHoe.name=Limestone Hoe -item.mummyHelmet.name= -item.mummyChest.name= -item.mummyLegs.name= -item.mummyBoots.name= -item.wandererHelmet.name= -item.wandererChest.name= -item.wandererLegs.name= -item.wandererBoots.name= -item.desertHelmet.name= -item.desertChest.name= -item.desertLegs.name= -item.desertBoots.name= -item.papyrusPlantItem.name= -item.ectoplasm.name= -item.stoneChunk.name= -item.clothScrap.name= -item.scroll.name= -item.wolfPelt.name= -item.date.name= -item.linen.name= -item.flaxItem.name= -item.flaxSeeds.name= -item.fish.name= -item.neithsAudacity.name= -item.spear.name= \ No newline at end of file +item.mummyHelmet.name=Mummy Helmet +item.mummyChest.name=Mummy Chestplate +item.mummyLegs.name=Mummy Leggings +item.mummyBoots.name=Mummy Boots +item.wandererHelmet.name=Wanderer Helmet +item.wandererChest.name=Wanderer Chestplate +item.wandererLegs.name=Wanderer Leggings +item.wandererBoots.name=Wanderer Boots +item.desertHelmet.name=Desert Helmet +item.desertChest.name=Desert Chestplate +item.desertLegs.name=Desert Leggings +item.desertBoots.name=Desert Boots +item.papyrusPlantItem.name=Papyrus +item.ectoplasm.name=Ectoplasm +item.stoneChunk.name=Stone Chunk +item.clothScrap.name=Cloth Scrap +item.scroll.name=Scroll +item.wolfPelt.name=Wolf Pelt +item.date.name=Date +item.linen.name=Linen +item.flaxItem.name=Flax +item.flaxSeeds.name=Flax Seed +item.fish.name=Fish +item.neithsAudacity.name=Neiths Audacity +item.spear.name=Spear \ No newline at end of file From 494ff62fefe0801d16a2e1113352b9eacb10aa29 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Sun, 2 Feb 2014 17:02:46 +1000 Subject: [PATCH 006/157] Finished Rewrite --- .gitignore | 4 + build.xml | 379 ++++++----- .../tileentity/TileEntityPharaohChest.java | 310 --------- .../atum/proxy/ClientProxy.java | 28 - .../atum/proxy/CommonProxy.java | 14 - .../com/teammetallurgy/atum/Atum.java | 17 +- .../com/teammetallurgy/atum/AtumConfig.java | 0 .../teammetallurgy/atum/AtumCreativeTab.java | 9 + src/com/teammetallurgy/atum/AtumFish.java | 28 + .../com/teammetallurgy/atum/AtumIDS.java | 0 src/com/teammetallurgy/atum/AtumLoot.java | 122 ++++ .../atum/AtumWeightedLootSet.java | 67 ++ .../atum/LocalizationHelper.java | 0 .../atum/blocks/BlockArrowTrap.java | 12 +- .../teammetallurgy/atum/blocks/BlockAtum.java | 0 .../atum/blocks/BlockAtumGlass.java | 0 .../atum/blocks/BlockAtumOres.java | 0 .../atum/blocks/BlockAtumPane.java | 0 .../atum/blocks/BlockChestSpawner.java | 0 .../teammetallurgy/atum/blocks/BlockDate.java | 15 +- .../atum/blocks/BlockFertileSoil.java | 0 .../atum/blocks/BlockFertileSoilTilled.java | 0 .../teammetallurgy/atum/blocks/BlockFlax.java | 9 +- .../atum/blocks/BlockLeave.java | 0 .../atum/blocks/BlockLimeStoneFurnace.java | 0 .../atum/blocks/BlockPalmLog.java | 0 .../atum/blocks/BlockPalmSapling.java | 0 .../atum/blocks/BlockPapyrus.java | 0 .../atum/blocks/BlockPharaohChest.java | 3 +- .../atum/blocks/BlockPortal.java | 8 +- .../atum/blocks/BlockSandLayered.java | 0 .../atum/blocks/BlockSands.java | 0 .../atum/blocks/BlockShrub.java | 0 .../teammetallurgy/atum/blocks/BlockSlab.java | 0 .../atum/blocks/BlockStair.java | 0 .../atum/blocks/BlockStones.java | 0 .../atum/blocks/BlockWalls.java | 0 .../teammetallurgy/atum/blocks/Blocks.java | 0 .../tileentity/CursedChestBaseLogic.java | 0 .../tileentity/CursedChestSpawnerLogic.java | 0 .../tileentity/TileEntityArrowTrap.java | 0 .../tileentity/TileEntityChestSpawner.java | 0 .../tileentity/TileEntityPharaohChest.java | 310 +++++++++ .../client/model/entity/ModelDesertWolf.java | 188 ++++++ .../model/entity/ModelDustySkeleton.java | 31 + .../client/model/tileentity/ModelDate.java | 0 .../client/render/entity/RenderBandit.java | 135 ++++ .../render/entity/RenderDesertWolf.java | 65 ++ .../client/render/entity/RenderFireSpear.java | 90 +++ .../entity/RenderFireSpearSeperated.java | 92 +++ .../client/render/entity/RenderGhost.java | 490 ++++++++++++++ .../client/render/entity/RenderPharaoh.java | 149 +++++ .../entity/arrow/RenderCustomArrow.java | 90 +++ .../render/entity/arrow/RenderNutsCall.java | 68 ++ .../client/render/item/RendererItemBow.java | 0 .../client/render/tileentity/RenderDate.java | 0 .../render/tileentity/RenderPapyrus.java | 0 .../teammetallurgy/atum/entity/Entity.java | 81 +++ .../atum/entity/EntityBanditArcher.java | 183 +++++ .../atum/entity/EntityBanditWarlord.java | 104 +++ .../atum/entity/EntityBanditWarrior.java | 91 +++ .../atum/entity/EntityBarbarian.java | 93 +++ .../atum/entity/EntityBonestorm.java | 220 ++++++ .../atum/entity/EntityDesertWolf.java | 540 +++++++++++++++ .../atum/entity/EntityDustySkeleton.java | 69 ++ .../atum/entity/EntityGhost.java | 134 ++++ .../atum/entity/EntityMummy.java | 89 +++ .../atum/entity/EntityPharaoh.java | 386 +++++++++++ .../atum/entity/EntityStone.java | 28 + .../atum/entity/EntityStoneSoldier.java | 115 ++++ .../atum/entity/IAtumDayMob.java | 5 + .../atum/entity/IAtumNightMob.java | 5 + .../atum/entity/arrow/CustomArrow.java | 34 + .../entity/arrow/EntityArrowDoubleShot.java | 617 +++++++++++++++++ .../entity/arrow/EntityArrowExplosive.java | 625 ++++++++++++++++++ .../atum/entity/arrow/EntityArrowFire.java | 532 +++++++++++++++ .../atum/entity/arrow/EntityArrowPoison.java | 533 +++++++++++++++ .../entity/arrow/EntityArrowQuickdraw.java | 617 +++++++++++++++++ .../entity/arrow/EntityArrowVelocity.java | 529 +++++++++++++++ .../atum/entity/arrow/EntityAtumFishHook.java | 470 +++++++++++++ .../atum/entity/arrow/EntityNutsCall.java | 536 +++++++++++++++ .../projectiles/EntityFireSpearCombined.java | 545 +++++++++++++++ .../projectiles/EntityFireSpearSeperated.java | 550 +++++++++++++++ .../atum/items/ItemAtumBow.java | 0 .../teammetallurgy/atum/items/ItemFish.java | 0 .../atum/items/ItemGreatsword.java | 8 +- .../teammetallurgy/atum/items/ItemLoot.java | 0 .../atum/items/ItemPapyrusPlant.java | 0 .../teammetallurgy/atum/items/ItemScarab.java | 0 .../atum/items/ItemScepter.java | 0 .../atum/items/ItemScimitar.java | 0 .../atum/items/ItemStoneSoldierSword.java | 0 .../atum/items/ItemTexturedArmor.java | 0 .../com/teammetallurgy/atum/items/Items.java | 0 .../atum/items/LimestoneAxe.java | 0 .../atum/items/LimestoneHoe.java | 0 .../atum/items/LimestonePickaxe.java | 0 .../atum/items/LimestoneShovel.java | 0 .../atum/items/LimestoneSword.java | 0 .../atum/items/artifacts/IsisEmbrace.java | 0 .../atum/items/artifacts/ItemAkersToil.java | 0 .../artifacts/ItemAmunetsHomecoming.java | 0 .../atum/items/artifacts/ItemAnhursMight.java | 0 .../atum/items/artifacts/ItemAnubisMercy.java | 0 .../items/artifacts/ItemAnuketsBounty.java | 4 +- .../atum/items/artifacts/ItemAtensFury.java | 40 +- .../items/artifacts/ItemGebsBlessing.java | 0 .../items/artifacts/ItemGebsSolidarity.java | 0 .../items/artifacts/ItemHedetetsSting.java | 0 .../items/artifacts/ItemHedetetsVenom.java | 64 +- .../atum/items/artifacts/ItemHorusFlight.java | 0 .../items/artifacts/ItemHorusSoaring.java | 45 +- .../atum/items/artifacts/ItemIsisHealing.java | 0 .../items/artifacts/ItemMaatsBalance.java | 0 .../items/artifacts/ItemMafdetsQuickness.java | 0 .../atum/items/artifacts/ItemMnevisHorns.java | 0 .../items/artifacts/ItemMonthusBlast.java | 44 +- .../items/artifacts/ItemMonthusStrike.java | 36 +- .../items/artifacts/ItemNeithsAudacity.java | 94 +-- .../atum/items/artifacts/ItemNusFlux.java | 34 +- .../atum/items/artifacts/ItemNutsAgility.java | 0 .../atum/items/artifacts/ItemNutsCall.java | 12 +- .../atum/items/artifacts/ItemOsirisWill.java | 0 .../items/artifacts/ItemPtahsDecadence.java | 0 .../items/artifacts/ItemPtahsDestruction.java | 5 +- .../atum/items/artifacts/ItemRasGlory.java | 0 .../items/artifacts/ItemSekhmetsWrath.java | 0 .../atum/items/artifacts/ItemShusBreath.java | 44 +- .../atum/items/artifacts/ItemSobeksRage.java | 11 +- .../atum/items/artifacts/ItemSpear.java | 11 +- .../atum/lib/proxy/ClientProxy.java | 123 ++++ .../atum/lib/proxy/CommonProxy.java | 21 + .../lib/tickhandler/ClientTickHandler.java | 133 ++++ .../lib/tickhandler/ServerTickHandler.java | 80 +++ .../atum/world/AtumPortalPosition.java | 0 .../atum/world/AtumTeleporter.java | 0 .../com/teammetallurgy/atum/world/World.java | 0 .../atum/worldgen/AtumChunkProvider.java | 43 +- .../atum/worldgen/AtumMapGenCaves.java | 0 .../atum/worldgen/AtumWorldProvider.java | 0 .../atum/worldgen/AtumWorldServer.java | 5 +- .../worldgen/biome/BiomeDecoratorAtum.java | 1 + .../worldgen/biome/BiomeGenAtumDesert.java | 28 +- .../worldgen/biome/MobSpawnController.java | 8 +- .../decorators/WorldGenAtumTrees.java | 0 .../worldgen/decorators/WorldGenOasis.java | 4 +- .../worldgen/decorators/WorldGenPalace.java | 0 .../worldgen/decorators/WorldGenPalm.java | 0 .../worldgen/decorators/WorldGenPyramid.java | 13 +- .../worldgen/decorators/WorldGenRuins.java | 3 +- .../worldgen/decorators/WorldGenShrub.java | 0 151 files changed, 10560 insertions(+), 818 deletions(-) create mode 100644 .gitignore delete mode 100644 common/com/teammetallurgy/atum/blocks/tileentity/TileEntityPharaohChest.java delete mode 100644 common/com/teammetallurgy/atum/proxy/ClientProxy.java delete mode 100644 common/com/teammetallurgy/atum/proxy/CommonProxy.java rename {common => src}/com/teammetallurgy/atum/Atum.java (76%) rename {common => src}/com/teammetallurgy/atum/AtumConfig.java (100%) rename {common => src}/com/teammetallurgy/atum/AtumCreativeTab.java (69%) create mode 100644 src/com/teammetallurgy/atum/AtumFish.java rename {common => src}/com/teammetallurgy/atum/AtumIDS.java (100%) create mode 100644 src/com/teammetallurgy/atum/AtumLoot.java create mode 100644 src/com/teammetallurgy/atum/AtumWeightedLootSet.java rename {common => src}/com/teammetallurgy/atum/LocalizationHelper.java (100%) rename {common => src}/com/teammetallurgy/atum/blocks/BlockArrowTrap.java (94%) rename {common => src}/com/teammetallurgy/atum/blocks/BlockAtum.java (100%) rename {common => src}/com/teammetallurgy/atum/blocks/BlockAtumGlass.java (100%) rename {common => src}/com/teammetallurgy/atum/blocks/BlockAtumOres.java (100%) rename {common => src}/com/teammetallurgy/atum/blocks/BlockAtumPane.java (100%) rename {common => src}/com/teammetallurgy/atum/blocks/BlockChestSpawner.java (100%) rename {common => src}/com/teammetallurgy/atum/blocks/BlockDate.java (73%) rename {common => src}/com/teammetallurgy/atum/blocks/BlockFertileSoil.java (100%) rename {common => src}/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java (100%) rename {common => src}/com/teammetallurgy/atum/blocks/BlockFlax.java (98%) rename {common => src}/com/teammetallurgy/atum/blocks/BlockLeave.java (100%) rename {common => src}/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java (100%) rename {common => src}/com/teammetallurgy/atum/blocks/BlockPalmLog.java (100%) rename {common => src}/com/teammetallurgy/atum/blocks/BlockPalmSapling.java (100%) rename {common => src}/com/teammetallurgy/atum/blocks/BlockPapyrus.java (100%) rename {common => src}/com/teammetallurgy/atum/blocks/BlockPharaohChest.java (97%) rename {common => src}/com/teammetallurgy/atum/blocks/BlockPortal.java (96%) rename {common => src}/com/teammetallurgy/atum/blocks/BlockSandLayered.java (100%) rename {common => src}/com/teammetallurgy/atum/blocks/BlockSands.java (100%) rename {common => src}/com/teammetallurgy/atum/blocks/BlockShrub.java (100%) rename {common => src}/com/teammetallurgy/atum/blocks/BlockSlab.java (100%) rename {common => src}/com/teammetallurgy/atum/blocks/BlockStair.java (100%) rename {common => src}/com/teammetallurgy/atum/blocks/BlockStones.java (100%) rename {common => src}/com/teammetallurgy/atum/blocks/BlockWalls.java (100%) rename {common => src}/com/teammetallurgy/atum/blocks/Blocks.java (100%) rename {common => src}/com/teammetallurgy/atum/blocks/tileentity/CursedChestBaseLogic.java (100%) rename {common => src}/com/teammetallurgy/atum/blocks/tileentity/CursedChestSpawnerLogic.java (100%) rename {common => src}/com/teammetallurgy/atum/blocks/tileentity/TileEntityArrowTrap.java (100%) rename {common => src}/com/teammetallurgy/atum/blocks/tileentity/TileEntityChestSpawner.java (100%) create mode 100644 src/com/teammetallurgy/atum/blocks/tileentity/TileEntityPharaohChest.java create mode 100644 src/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java create mode 100644 src/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java rename {common => src}/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java (100%) create mode 100644 src/com/teammetallurgy/atum/client/render/entity/RenderBandit.java create mode 100644 src/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java create mode 100644 src/com/teammetallurgy/atum/client/render/entity/RenderFireSpear.java create mode 100644 src/com/teammetallurgy/atum/client/render/entity/RenderFireSpearSeperated.java create mode 100644 src/com/teammetallurgy/atum/client/render/entity/RenderGhost.java create mode 100644 src/com/teammetallurgy/atum/client/render/entity/RenderPharaoh.java create mode 100644 src/com/teammetallurgy/atum/client/render/entity/arrow/RenderCustomArrow.java create mode 100644 src/com/teammetallurgy/atum/client/render/entity/arrow/RenderNutsCall.java rename {common => src}/com/teammetallurgy/atum/client/render/item/RendererItemBow.java (100%) rename {common => src}/com/teammetallurgy/atum/client/render/tileentity/RenderDate.java (100%) rename {common => src}/com/teammetallurgy/atum/client/render/tileentity/RenderPapyrus.java (100%) create mode 100644 src/com/teammetallurgy/atum/entity/Entity.java create mode 100644 src/com/teammetallurgy/atum/entity/EntityBanditArcher.java create mode 100644 src/com/teammetallurgy/atum/entity/EntityBanditWarlord.java create mode 100644 src/com/teammetallurgy/atum/entity/EntityBanditWarrior.java create mode 100644 src/com/teammetallurgy/atum/entity/EntityBarbarian.java create mode 100644 src/com/teammetallurgy/atum/entity/EntityBonestorm.java create mode 100644 src/com/teammetallurgy/atum/entity/EntityDesertWolf.java create mode 100644 src/com/teammetallurgy/atum/entity/EntityDustySkeleton.java create mode 100644 src/com/teammetallurgy/atum/entity/EntityGhost.java create mode 100644 src/com/teammetallurgy/atum/entity/EntityMummy.java create mode 100644 src/com/teammetallurgy/atum/entity/EntityPharaoh.java create mode 100644 src/com/teammetallurgy/atum/entity/EntityStone.java create mode 100644 src/com/teammetallurgy/atum/entity/EntityStoneSoldier.java create mode 100644 src/com/teammetallurgy/atum/entity/IAtumDayMob.java create mode 100644 src/com/teammetallurgy/atum/entity/IAtumNightMob.java create mode 100644 src/com/teammetallurgy/atum/entity/arrow/CustomArrow.java create mode 100644 src/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java create mode 100644 src/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java create mode 100644 src/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java create mode 100644 src/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java create mode 100644 src/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java create mode 100644 src/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java create mode 100644 src/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java create mode 100644 src/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java create mode 100644 src/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearCombined.java create mode 100644 src/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearSeperated.java rename {common => src}/com/teammetallurgy/atum/items/ItemAtumBow.java (100%) rename {common => src}/com/teammetallurgy/atum/items/ItemFish.java (100%) rename {common => src}/com/teammetallurgy/atum/items/ItemGreatsword.java (80%) rename {common => src}/com/teammetallurgy/atum/items/ItemLoot.java (100%) rename {common => src}/com/teammetallurgy/atum/items/ItemPapyrusPlant.java (100%) rename {common => src}/com/teammetallurgy/atum/items/ItemScarab.java (100%) rename {common => src}/com/teammetallurgy/atum/items/ItemScepter.java (100%) rename {common => src}/com/teammetallurgy/atum/items/ItemScimitar.java (100%) rename {common => src}/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java (100%) rename {common => src}/com/teammetallurgy/atum/items/ItemTexturedArmor.java (100%) rename {common => src}/com/teammetallurgy/atum/items/Items.java (100%) rename {common => src}/com/teammetallurgy/atum/items/LimestoneAxe.java (100%) rename {common => src}/com/teammetallurgy/atum/items/LimestoneHoe.java (100%) rename {common => src}/com/teammetallurgy/atum/items/LimestonePickaxe.java (100%) rename {common => src}/com/teammetallurgy/atum/items/LimestoneShovel.java (100%) rename {common => src}/com/teammetallurgy/atum/items/LimestoneSword.java (100%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java (100%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java (100%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java (100%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java (100%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java (100%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java (94%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java (83%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java (100%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java (100%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java (100%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java (74%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java (100%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java (80%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java (100%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java (100%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java (100%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java (100%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java (81%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java (81%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java (68%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java (76%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java (100%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java (88%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java (100%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java (100%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java (91%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java (100%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java (100%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java (81%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java (82%) rename {common => src}/com/teammetallurgy/atum/items/artifacts/ItemSpear.java (70%) create mode 100644 src/com/teammetallurgy/atum/lib/proxy/ClientProxy.java create mode 100644 src/com/teammetallurgy/atum/lib/proxy/CommonProxy.java create mode 100644 src/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java create mode 100644 src/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java rename {common => src}/com/teammetallurgy/atum/world/AtumPortalPosition.java (100%) rename {common => src}/com/teammetallurgy/atum/world/AtumTeleporter.java (100%) rename {common => src}/com/teammetallurgy/atum/world/World.java (100%) rename {common => src}/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java (89%) rename {common => src}/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java (100%) rename {common => src}/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java (100%) rename {common => src}/com/teammetallurgy/atum/worldgen/AtumWorldServer.java (99%) rename {common => src}/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java (99%) rename {common => src}/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java (74%) rename {common => src}/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java (56%) rename {common => src}/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java (100%) rename {common => src}/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java (97%) rename {common => src}/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java (100%) rename {common => src}/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java (100%) rename {common => src}/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java (89%) rename {common => src}/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java (97%) rename {common => src}/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java (100%) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fba3145 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +/releases/ +/download/ +/build/ +/bin/ \ No newline at end of file diff --git a/build.xml b/build.xml index c7fcf24..289fa7e 100644 --- a/build.xml +++ b/build.xml @@ -1,194 +1,209 @@ - - + + - - - + + + - + + - - + - - + + + + - + + - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - version ${project.complete.version} (${project.version}) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + version ${project.complete.version} (${project.version}) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/common/com/teammetallurgy/atum/blocks/tileentity/TileEntityPharaohChest.java b/common/com/teammetallurgy/atum/blocks/tileentity/TileEntityPharaohChest.java deleted file mode 100644 index dc52bdd..0000000 --- a/common/com/teammetallurgy/atum/blocks/tileentity/TileEntityPharaohChest.java +++ /dev/null @@ -1,310 +0,0 @@ -package com.teammetallurgy.atum.blocks.tileentity; - -import java.util.Iterator; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockChest; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.ContainerChest; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.InventoryLargeChest; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntityChest; -import net.minecraft.util.AxisAlignedBB; -import cpw.mods.fml.common.FMLCommonHandler; - -public class TileEntityPharaohChest extends TileEntityChest implements IInventory { - - private ItemStack[] chestContents = new ItemStack[36]; - public float f; - public float g; - public int h; - private int ticksSinceSync; - private int field_94046_i = -1; - private String field_94045_s; - private boolean hasSpawned = false; - private boolean isOpenable = false; - - - public int getSizeInventory() { - return 27; - } - - public ItemStack getStackInSlot(int par1) { - return this.chestContents[par1]; - } - - public ItemStack decrStackSize(int par1, int par2) { - if(this.chestContents[par1] != null) { - ItemStack itemstack; - if(this.chestContents[par1].stackSize <= par2) { - itemstack = this.chestContents[par1]; - this.chestContents[par1] = null; - this.onInventoryChanged(); - return itemstack; - } else { - itemstack = this.chestContents[par1].splitStack(par2); - if(this.chestContents[par1].stackSize == 0) { - this.chestContents[par1] = null; - } - - this.onInventoryChanged(); - return itemstack; - } - } else { - return null; - } - } - - public ItemStack getStackInSlotOnClosing(int par1) { - if(this.chestContents[par1] != null) { - ItemStack itemstack = this.chestContents[par1]; - this.chestContents[par1] = null; - return itemstack; - } else { - return null; - } - } - - public void setInventorySlotContents(int par1, ItemStack par2ItemStack) { - this.chestContents[par1] = par2ItemStack; - if(par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) { - par2ItemStack.stackSize = this.getInventoryStackLimit(); - } - - this.onInventoryChanged(); - } - - public String getInvName() { - return this.isInvNameLocalized()?this.field_94045_s:"container.chest"; - } - - public boolean isInvNameLocalized() { - return this.field_94045_s != null && this.field_94045_s.length() > 0; - } - - public void func_94043_a(String par1Str) { - this.field_94045_s = par1Str; - } - - public void readFromNBT(NBTTagCompound par1NBTTagCompound) { - super.readFromNBT(par1NBTTagCompound); - NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items"); - this.chestContents = new ItemStack[this.getSizeInventory()]; - if(par1NBTTagCompound.hasKey("CustomName")) { - this.field_94045_s = par1NBTTagCompound.getString("CustomName"); - } - - for(int i = 0; i < nbttaglist.tagCount(); ++i) { - NBTTagCompound nbttagcompound1 = (NBTTagCompound)nbttaglist.tagAt(i); - int j = nbttagcompound1.getByte("Slot") & 255; - if(j >= 0 && j < this.chestContents.length) { - this.chestContents[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1); - } - } - - this.hasSpawned = par1NBTTagCompound.getBoolean("spawned"); - this.isOpenable = par1NBTTagCompound.getBoolean("openable"); - } - - public void writeToNBT(NBTTagCompound par1NBTTagCompound) { - super.writeToNBT(par1NBTTagCompound); - NBTTagList nbttaglist = new NBTTagList(); - - for(int i = 0; i < this.chestContents.length; ++i) { - if(this.chestContents[i] != null) { - NBTTagCompound nbttagcompound1 = new NBTTagCompound(); - nbttagcompound1.setByte("Slot", (byte)i); - this.chestContents[i].writeToNBT(nbttagcompound1); - nbttaglist.appendTag(nbttagcompound1); - } - } - - par1NBTTagCompound.setTag("Items", nbttaglist); - if(this.isInvNameLocalized()) { - par1NBTTagCompound.setString("CustomName", this.field_94045_s); - } - - par1NBTTagCompound.setBoolean("spawned", this.hasSpawned); - par1NBTTagCompound.setBoolean("openable", this.isOpenable); - } - - public int getInventoryStackLimit() { - return 64; - } - - public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { - return !this.isOpenable?false:(this.isOpenable && super.worldObj.getBlockTileEntity(super.xCoord, super.yCoord, super.zCoord) != this?false:par1EntityPlayer.getDistanceSq((double)super.xCoord + 0.5D, (double)super.yCoord + 0.5D, (double)super.zCoord + 0.5D) <= 64.0D); - } - - private boolean func_94044_a(int par1, int par2, int par3) { - Block block = Block.blocksList[super.worldObj.getBlockId(par1, par2, par3)]; - return block != null && block instanceof BlockChest?((BlockChest)block).chestType == this.func_98041_l():false; - } - - public void updateEntity() { - super.updateEntity(); - ++this.ticksSinceSync; - float f; - if(!super.worldObj.isRemote && super.numUsingPlayers != 0 && (this.ticksSinceSync + super.xCoord + super.yCoord + super.zCoord) % 200 == 0) { - super.numUsingPlayers = 0; - f = 5.0F; - List d0 = super.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getAABBPool().getAABB((double)((float)super.xCoord - f), (double)((float)super.yCoord - f), (double)((float)super.zCoord - f), (double)((float)(super.xCoord + 1) + f), (double)((float)(super.yCoord + 1) + f), (double)((float)(super.zCoord + 1) + f))); - Iterator iterator = d0.iterator(); - - while(iterator.hasNext()) { - EntityPlayer f1 = (EntityPlayer)iterator.next(); - if(f1.openContainer instanceof ContainerChest) { - IInventory f2 = ((ContainerChest)f1.openContainer).getLowerChestInventory(); - if(f2 == this || f2 instanceof InventoryLargeChest && ((InventoryLargeChest)f2).isPartOfLargeChest(this)) { - ++super.numUsingPlayers; - } - } - } - } - - super.prevLidAngle = super.lidAngle; - f = 0.1F; - double var8; - if(super.numUsingPlayers > 0 && super.lidAngle == 0.0F) { - double var9 = (double)super.xCoord + 0.5D; - var8 = (double)super.zCoord + 0.5D; - super.worldObj.playSoundEffect(var9, (double)super.yCoord + 0.5D, var8, "random.chestopen", 0.5F, super.worldObj.rand.nextFloat() * 0.1F + 0.9F); - } - - if(super.numUsingPlayers == 0 && super.lidAngle > 0.0F || super.numUsingPlayers > 0 && super.lidAngle < 1.0F) { - float var10 = super.lidAngle; - if(super.numUsingPlayers > 0) { - super.lidAngle += f; - } else { - super.lidAngle -= f; - } - - if(super.lidAngle > 1.0F) { - super.lidAngle = 1.0F; - } - - float var11 = 0.5F; - if(super.lidAngle < var11 && var10 >= var11) { - var8 = (double)super.xCoord + 0.5D; - double d2 = (double)super.zCoord + 0.5D; - super.worldObj.playSoundEffect(var8, (double)super.yCoord + 0.5D, d2, "random.chestclosed", 0.5F, super.worldObj.rand.nextFloat() * 0.1F + 0.9F); - } - - if(super.lidAngle < 0.0F) { - super.lidAngle = 0.0F; - } - } - - } - - public boolean receiveClientEvent(int par1, int par2) { - if(par1 == 1) { - super.numUsingPlayers = par2; - return true; - } else { - return super.receiveClientEvent(par1, par2); - } - } - - public void openChest() { - if(super.numUsingPlayers < 0) { - super.numUsingPlayers = 0; - } - - ++super.numUsingPlayers; - super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID, 1, super.numUsingPlayers); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType().blockID); - } - - public void closeChest() { - if(this.getBlockType() != null && this.getBlockType() instanceof BlockChest) { - --super.numUsingPlayers; - super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID, 1, super.numUsingPlayers); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType().blockID); - } - - } - - public boolean isStackValidForSlot(int par1, ItemStack par2ItemStack) { - return true; - } - - public void invalidate() { - super.invalidate(); - this.updateContainingBlockInfo(); - } - - public int func_98041_l() { - if(this.field_94046_i == -1) { - if(super.worldObj == null || !(this.getBlockType() instanceof BlockChest)) { - return 0; - } - - this.field_94046_i = ((BlockChest)this.getBlockType()).chestType; - } - - return this.field_94046_i; - } - - public void setOpenable() { - this.isOpenable = true; - } - - public boolean hasSpawned() { - return this.hasSpawned; - } - - public void spawn(EntityPlayer player) { -// EntityPharaoh pharaoh = new EntityPharaoh(super.worldObj); -// pharaoh.setPosition((double)super.xCoord + 0.5D, (double)(super.yCoord + 1), (double)super.zCoord + 0.5D); -// pharaoh.link(super.xCoord, super.yCoord, super.zCoord); -// pharaoh.entityInit(); -// if(!super.worldObj.isRemote) { -// super.worldObj.spawnEntityInWorld(pharaoh); -// } -// -// pharaoh.spawnExplosionParticle(); -// this.hasSpawned = true; -// EntityMummy mummy1 = new EntityMummy(super.worldObj); -// mummy1.setPosition((double)super.xCoord + 0.5D, (double)super.yCoord, (double)super.zCoord - 0.5D); -// mummy1.entityInit(); -// if(!super.worldObj.isRemote) { -// super.worldObj.spawnEntityInWorld(mummy1); -// } -// -// mummy1.spawnExplosionParticle(); -// EntityMummy mummy2 = new EntityMummy(super.worldObj); -// mummy2.setPosition((double)super.xCoord + 0.5D, (double)super.yCoord, (double)super.zCoord + 1.5D); -// mummy2.entityInit(); -// if(!super.worldObj.isRemote) { -// super.worldObj.spawnEntityInWorld(mummy2); -// } -// -// mummy2.spawnExplosionParticle(); -// if(!super.worldObj.isRemote) { -// List players = FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList; -// Iterator i = players.iterator(); -// -// while(i.hasNext()) { -// EntityPlayer p = (EntityPlayer)i.next(); -// p.addChatMessage(pharaoh.getEntityName() + " was summoned by " + player.getEntityName()); -// } -// } - -// if(!super.worldObj.isRemote) { -// System.out.println("Playing Sound"); -// super.worldObj.playSoundAtEntity(pharaoh, "Atum.pharaohspawn", 1.0F, 1.0F); -// } - - } - - public void setPharaohDespawned() { - this.hasSpawned = false; - } -} diff --git a/common/com/teammetallurgy/atum/proxy/ClientProxy.java b/common/com/teammetallurgy/atum/proxy/ClientProxy.java deleted file mode 100644 index df61894..0000000 --- a/common/com/teammetallurgy/atum/proxy/ClientProxy.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.teammetallurgy.atum.proxy; - -import net.minecraftforge.client.MinecraftForgeClient; - -import com.teammetallurgy.atum.blocks.BlockDate; -import com.teammetallurgy.atum.blocks.BlockPapyrus; -import com.teammetallurgy.atum.blocks.Blocks; -import com.teammetallurgy.atum.client.render.item.RendererItemBow; -import com.teammetallurgy.atum.client.render.tileentity.RenderDate; -import com.teammetallurgy.atum.client.render.tileentity.RenderPapyrus; -import com.teammetallurgy.atum.items.Items; - -import cpw.mods.fml.client.registry.RenderingRegistry; - -public class ClientProxy extends CommonProxy { - @Override - public void initRenders() { - MinecraftForgeClient.registerItemRenderer(Items.ITEM_BOW.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(Items.atensFury.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(Items.horusSoaring.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(Items.neithsAudacity.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(Items.shusBreath.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(Items.hedetetsVenom.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(Items.monthusBlast.itemID, new RendererItemBow()); - RenderingRegistry.registerBlockHandler(((BlockPapyrus) Blocks.BLOCK_PAPYRUS).renderID, new RenderPapyrus()); - RenderingRegistry.registerBlockHandler(((BlockDate) Blocks.BLOCK_DATEBLOCK).renderID, new RenderDate()); - } -} diff --git a/common/com/teammetallurgy/atum/proxy/CommonProxy.java b/common/com/teammetallurgy/atum/proxy/CommonProxy.java deleted file mode 100644 index 34072d8..0000000 --- a/common/com/teammetallurgy/atum/proxy/CommonProxy.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.teammetallurgy.atum.proxy; - -public class CommonProxy { - - public void init() { - } - - public void initRenders() { - } - - public void initTiles() { - } - -} diff --git a/common/com/teammetallurgy/atum/Atum.java b/src/com/teammetallurgy/atum/Atum.java similarity index 76% rename from common/com/teammetallurgy/atum/Atum.java rename to src/com/teammetallurgy/atum/Atum.java index b69aa70..9095638 100644 --- a/common/com/teammetallurgy/atum/Atum.java +++ b/src/com/teammetallurgy/atum/Atum.java @@ -5,8 +5,9 @@ import net.minecraft.creativetab.CreativeTabs; import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.entity.Entity; import com.teammetallurgy.atum.items.Items; -import com.teammetallurgy.atum.proxy.CommonProxy; +import com.teammetallurgy.atum.lib.proxy.CommonProxy; import com.teammetallurgy.atum.world.World; import cpw.mods.fml.common.Mod; @@ -16,18 +17,19 @@ import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.registry.LanguageRegistry; +import cpw.mods.fml.common.network.NetworkMod; @Mod(modid = Atum.MODID, name = Atum.NAME, version = Atum.VERSION) +@NetworkMod(clientSideRequired = true, serverSideRequired = false) public class Atum { public static final String MODID = "Atum"; public static final String NAME = "Atum"; - public static final String VERSION = "0.0.1"; + public static final String VERSION = "0.5.0B"; @Instance(Atum.MODID) public static Atum instance; - @SidedProxy(clientSide = "com.teammetallurgy.atum.proxy.ClientProxy", serverSide = "com.teammetallurgy.atum.proxy.CommonProxy") + @SidedProxy(clientSide = "com.teammetallurgy.atum.lib.proxy.ClientProxy", serverSide = "com.teammetallurgy.atum.lib.proxy.CommonProxy") public static CommonProxy proxy; public static final Logger LOGGER = Logger.getLogger(Atum.class.getSimpleName()); @@ -53,11 +55,16 @@ public void init(FMLInitializationEvent event) { LOGGER.info("World Init"); World.INSTANCE.register(); + LOGGER.info("Entity Init"); + Entity.INSTANCE.register(); + + LOGGER.info("Loot Init"); + AtumLoot.INSTANCE.register(); + LOGGER.info("Proxy Init"); proxy.init(); proxy.initRenders(); proxy.initTiles(); - } @EventHandler diff --git a/common/com/teammetallurgy/atum/AtumConfig.java b/src/com/teammetallurgy/atum/AtumConfig.java similarity index 100% rename from common/com/teammetallurgy/atum/AtumConfig.java rename to src/com/teammetallurgy/atum/AtumConfig.java diff --git a/common/com/teammetallurgy/atum/AtumCreativeTab.java b/src/com/teammetallurgy/atum/AtumCreativeTab.java similarity index 69% rename from common/com/teammetallurgy/atum/AtumCreativeTab.java rename to src/com/teammetallurgy/atum/AtumCreativeTab.java index c8ab8a6..53df21e 100644 --- a/common/com/teammetallurgy/atum/AtumCreativeTab.java +++ b/src/com/teammetallurgy/atum/AtumCreativeTab.java @@ -1,6 +1,10 @@ package com.teammetallurgy.atum; +import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.artifacts.ItemSpear; + import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; public class AtumCreativeTab extends CreativeTabs { @@ -22,4 +26,9 @@ public String getBackgroundImageName() { public boolean hasSearchBar() { return true; } + + @Override + public Item getTabIconItem() { + return Items.ITEM_SCARAB; + } } diff --git a/src/com/teammetallurgy/atum/AtumFish.java b/src/com/teammetallurgy/atum/AtumFish.java new file mode 100644 index 0000000..64db5b4 --- /dev/null +++ b/src/com/teammetallurgy/atum/AtumFish.java @@ -0,0 +1,28 @@ +package com.teammetallurgy.atum; + +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +import com.teammetallurgy.atum.items.Items; + +public class AtumFish { + private static AtumWeightedLootSet fish; + + static { + fish = new AtumWeightedLootSet(); + + AtumFish.addFish(new ItemStack(Item.fishRaw, 1, 0), 100); + AtumFish.addFish(new ItemStack(Items.fish, 1, 0), 30); + AtumFish.addFish(new ItemStack(Items.fish, 1, 1), 5); + AtumFish.addFish(new ItemStack(Items.fish, 1, 2), 50); + AtumFish.addFish(new ItemStack(Items.fish, 1, 3), 50); + } + + public static void addFish(ItemStack fishStack, int probability) { + fish.addLoot(fishStack, probability, 1, 1); + } + + public static ItemStack getRandomFish() { + return fish.getRandomLoot(); + } +} diff --git a/common/com/teammetallurgy/atum/AtumIDS.java b/src/com/teammetallurgy/atum/AtumIDS.java similarity index 100% rename from common/com/teammetallurgy/atum/AtumIDS.java rename to src/com/teammetallurgy/atum/AtumIDS.java diff --git a/src/com/teammetallurgy/atum/AtumLoot.java b/src/com/teammetallurgy/atum/AtumLoot.java new file mode 100644 index 0000000..9751ec5 --- /dev/null +++ b/src/com/teammetallurgy/atum/AtumLoot.java @@ -0,0 +1,122 @@ +package com.teammetallurgy.atum; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +import net.minecraft.inventory.IInventory; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.items.ItemLoot; +import com.teammetallurgy.atum.items.Items; + +public enum AtumLoot { + INSTANCE; + + public static List artifacts; + public static AtumWeightedLootSet goodLoot; + public static AtumWeightedLootSet junkLoot; + + public void register() { + artifacts = new ArrayList(); + goodLoot = new AtumWeightedLootSet(); + junkLoot = new AtumWeightedLootSet(); + + ItemStack stack = new ItemStack(Items.ptahsPick); + artifacts.add(stack); + + artifacts.add(new ItemStack(Items.sobeksRage)); + artifacts.add(new ItemStack(Items.osirisWill)); + artifacts.add(new ItemStack(Items.akersToil)); + artifacts.add(new ItemStack(Items.gebsBlessing)); + artifacts.add(new ItemStack(Items.atensFury)); + artifacts.add(new ItemStack(Items.rasGlory)); + artifacts.add(new ItemStack(Items.sekhmetsWrath)); + artifacts.add(new ItemStack(Items.nutsAgility)); + artifacts.add(new ItemStack(Items.horusFlight)); + artifacts.add(new ItemStack(Items.monthusStrike)); + artifacts.add(new ItemStack(Items.neithsAudacity)); + artifacts.add(new ItemStack(Items.hedetetsSting)); + artifacts.add(new ItemStack(Items.nusFlux)); + artifacts.add(new ItemStack(Items.anhursMight)); + artifacts.add(new ItemStack(Items.horusSoaring)); + artifacts.add(new ItemStack(Items.shusBreath)); + artifacts.add(new ItemStack(Items.hedetetsVenom)); + artifacts.add(new ItemStack(Items.monthusBlast)); + artifacts.add(new ItemStack(Items.mnevisHorns)); + artifacts.add(new ItemStack(Items.isisEmbrace)); + artifacts.add(new ItemStack(Items.maatsBalance)); + artifacts.add(new ItemStack(Items.nutsCall)); + artifacts.add(new ItemStack(Items.ptahsDestruction)); + artifacts.add(new ItemStack(Items.anuketsBounty)); + artifacts.add(new ItemStack(Items.anubisMercy)); + artifacts.add(new ItemStack(Items.amunetsHomecoming)); + artifacts.add(new ItemStack(Items.isisHealing)); + artifacts.add(new ItemStack(Items.mafdetsQuickness)); + + // Junk Loot Stuff + junkLoot.addLoot(new ItemStack(Items.flaxSeeds), 5, 1, 2); + junkLoot.addLoot(new ItemStack(Item.stick), 5, 1, 5); + junkLoot.addLoot(new ItemStack(Items.ITEM_DATE), 5, 1, 2); + junkLoot.addLoot(new ItemStack(Item.bone), 10, 1, 3); + junkLoot.addLoot(new ItemStack(Item.bread), 10, 1, 4); + junkLoot.addLoot(new ItemStack(Blocks.BLOCK_SAND), 20, 1, 64); + junkLoot.addLoot(new ItemStack(Items.ITEM_SCIMITAR), 5, 1, 1); + junkLoot.addLoot(new ItemStack(Item.seeds), 5, 1, 3); + junkLoot.addLoot(new ItemStack(Item.leather), 5, 1, 5); + junkLoot.addLoot(new ItemStack(Item.dyePowder, 1, 3), 5, 1, 3); + junkLoot.addLoot(new ItemStack(Item.saddle), 5, 1, 1); + + // Good Loot + goodLoot.addLoot(new ItemStack(Item.ingotIron), 38, 1, 3); + goodLoot.addLoot(new ItemStack(Item.ingotGold), 20, 1, 3); + goodLoot.addLoot(new ItemStack(Item.diamond), 4, 1, 2); + goodLoot.addLoot(new ItemStack(Item.enchantedBook, 1, 1), 5, 1, 1); + ItemStack stick = new ItemStack(Item.stick); + stick.setItemName("Amazing Stick"); + goodLoot.addLoot(stick, 1, 1, 1); + } + + public static void addArtifact(ItemStack stack) { + artifacts.add(stack); + } + + public static ItemStack getRandomLoot() { + return artifacts.get(0); + } + + public static ItemStack getRandomArtifact() { + + int i = (new Random()).nextInt(artifacts.size()); + return artifacts.get(i).copy(); + } + + public static void fillChest(IInventory inventory, int multiplier, float quality) { + if(inventory == null) { + System.out.println("Error trying to fill empty chest"); + return; + } + + Random rand = new Random(); + for(int i = 0; i < multiplier; i++) { + int slot = rand.nextInt(inventory.getSizeInventory()); + float roll = rand.nextFloat(); + ItemStack stack = new ItemStack(0, 0, 0); + if(rand.nextFloat() < quality) { + if(roll > 0.20) { + stack = goodLoot.getRandomLoot(); + } else if(roll > 0.005) { + stack = ItemLoot.getRandomLoot(rand, true); + } else { + int randomArtifactID = rand.nextInt(artifacts.size()); + stack = artifacts.get(randomArtifactID).copy(); + } + } else { + stack = junkLoot.getRandomLoot(); + } + inventory.setInventorySlotContents(slot, stack); + } + } +} diff --git a/src/com/teammetallurgy/atum/AtumWeightedLootSet.java b/src/com/teammetallurgy/atum/AtumWeightedLootSet.java new file mode 100644 index 0000000..4917866 --- /dev/null +++ b/src/com/teammetallurgy/atum/AtumWeightedLootSet.java @@ -0,0 +1,67 @@ +package com.teammetallurgy.atum; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; +import java.util.Random; +import java.util.Set; + +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.EnchantmentData; +import net.minecraft.item.Item; +import net.minecraft.item.ItemEnchantedBook; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MathHelper; + +public class AtumWeightedLootSet { + public Map loot; + public Map lootMin; + public Map lootMax; + public int totalWeight; + + public AtumWeightedLootSet() { + loot = new HashMap(); + lootMin = new HashMap(); + lootMax = new HashMap(); + totalWeight = 0; + } + + public void addLoot(ItemStack stack, int weight, int min, int max) { + if(weight <= 0 || stack == null) + return; + + loot.put(totalWeight + weight, stack); + lootMin.put(totalWeight + weight, min); + lootMax.put(totalWeight + weight, max); + totalWeight += weight; + } + + public ItemStack getRandomLoot() { + Random rand = new Random(); + int weight = rand.nextInt(totalWeight); + + ItemStack stack = null; + + Set keySet = loot.keySet(); + Integer[] keys = keySet.toArray(new Integer[keySet.size()]); + Arrays.sort(keys); + + for(Integer key : keys) { + if(key >= weight) { + stack = loot.get(key).copy(); + int min = lootMin.get(key); + int max = lootMax.get(key); + int amount = rand.nextInt(max - min + 1) + min; + stack.stackSize = amount; + if(stack.itemID == Item.enchantedBook.itemID) { + Enchantment enchantment = Enchantment.enchantmentsBookList[rand.nextInt(Enchantment.enchantmentsBookList.length)]; + int l = MathHelper.getRandomIntegerInRange(rand, enchantment.getMinLevel(), enchantment.getMaxLevel()); + ((ItemEnchantedBook) stack.getItem()).addEnchantment(stack, new EnchantmentData(enchantment, l)); + } + break; + } + } + + return stack; + } +} diff --git a/common/com/teammetallurgy/atum/LocalizationHelper.java b/src/com/teammetallurgy/atum/LocalizationHelper.java similarity index 100% rename from common/com/teammetallurgy/atum/LocalizationHelper.java rename to src/com/teammetallurgy/atum/LocalizationHelper.java diff --git a/common/com/teammetallurgy/atum/blocks/BlockArrowTrap.java b/src/com/teammetallurgy/atum/blocks/BlockArrowTrap.java similarity index 94% rename from common/com/teammetallurgy/atum/blocks/BlockArrowTrap.java rename to src/com/teammetallurgy/atum/blocks/BlockArrowTrap.java index 79b9808..f36032a 100644 --- a/common/com/teammetallurgy/atum/blocks/BlockArrowTrap.java +++ b/src/com/teammetallurgy/atum/blocks/BlockArrowTrap.java @@ -20,6 +20,7 @@ import net.minecraft.world.World; import com.teammetallurgy.atum.Atum; +import com.teammetallurgy.atum.blocks.tileentity.TileEntityArrowTrap; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -105,10 +106,10 @@ public boolean onBlockActivated(World par1World, int par2, int par3, int par4, E if(par1World.isRemote) { return true; } else { - // TileEntityArrowTrap TileEntityArrowTrap = (TileEntityArrowTrap) par1World.getBlockTileEntity(par2, par3, par4); - // if(TileEntityArrowTrap != null) { - // ; - // } + TileEntityArrowTrap TileEntityArrowTrap = (TileEntityArrowTrap) par1World.getBlockTileEntity(par2, par3, par4); + if(TileEntityArrowTrap != null) { + ; + } return true; } @@ -129,8 +130,7 @@ public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, } public TileEntity createNewTileEntity(World par1World) { - // return new TileEntityArrowTrap(); - return null; + return new TileEntityArrowTrap(); } @Override diff --git a/common/com/teammetallurgy/atum/blocks/BlockAtum.java b/src/com/teammetallurgy/atum/blocks/BlockAtum.java similarity index 100% rename from common/com/teammetallurgy/atum/blocks/BlockAtum.java rename to src/com/teammetallurgy/atum/blocks/BlockAtum.java diff --git a/common/com/teammetallurgy/atum/blocks/BlockAtumGlass.java b/src/com/teammetallurgy/atum/blocks/BlockAtumGlass.java similarity index 100% rename from common/com/teammetallurgy/atum/blocks/BlockAtumGlass.java rename to src/com/teammetallurgy/atum/blocks/BlockAtumGlass.java diff --git a/common/com/teammetallurgy/atum/blocks/BlockAtumOres.java b/src/com/teammetallurgy/atum/blocks/BlockAtumOres.java similarity index 100% rename from common/com/teammetallurgy/atum/blocks/BlockAtumOres.java rename to src/com/teammetallurgy/atum/blocks/BlockAtumOres.java diff --git a/common/com/teammetallurgy/atum/blocks/BlockAtumPane.java b/src/com/teammetallurgy/atum/blocks/BlockAtumPane.java similarity index 100% rename from common/com/teammetallurgy/atum/blocks/BlockAtumPane.java rename to src/com/teammetallurgy/atum/blocks/BlockAtumPane.java diff --git a/common/com/teammetallurgy/atum/blocks/BlockChestSpawner.java b/src/com/teammetallurgy/atum/blocks/BlockChestSpawner.java similarity index 100% rename from common/com/teammetallurgy/atum/blocks/BlockChestSpawner.java rename to src/com/teammetallurgy/atum/blocks/BlockChestSpawner.java diff --git a/common/com/teammetallurgy/atum/blocks/BlockDate.java b/src/com/teammetallurgy/atum/blocks/BlockDate.java similarity index 73% rename from common/com/teammetallurgy/atum/blocks/BlockDate.java rename to src/com/teammetallurgy/atum/blocks/BlockDate.java index ac66d71..e3a301e 100644 --- a/common/com/teammetallurgy/atum/blocks/BlockDate.java +++ b/src/com/teammetallurgy/atum/blocks/BlockDate.java @@ -4,7 +4,12 @@ import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.item.ItemStack; import net.minecraft.world.World; + +import com.teammetallurgy.atum.items.Items; + import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -36,8 +41,8 @@ public int getRenderType() { @Override public void onNeighborBlockChange(World world, int x, int y, int z, int neighborID) { if(world.getBlockId(x, y + 1, z) != Blocks.BLOCK_LEAVES.blockID && !world.isRemote) { - // EntityItem entityItem = new EntityItem(world, (double) x, (double) y, (double) z, new ItemStack(AtumItems.date.itemID, 0, this.quantityDropped(new Random()))); - // entityItem.dropItem(AtumItems.date.itemID, this.quantityDropped(new Random())); + EntityItem entityItem = new EntityItem(world, (double) x, (double) y, (double) z, new ItemStack(Items.ITEM_DATE.itemID, 0, this.quantityDropped(new Random()))); + entityItem.dropItem(Items.ITEM_DATE.itemID, this.quantityDropped(new Random())); world.setBlockToAir(x, y, z); } @@ -45,8 +50,7 @@ public void onNeighborBlockChange(World world, int x, int y, int z, int neighbor @Override public int idDropped(int par1, Random rand, int par3) { - // return AtumItems.date.itemID; - return 0; + return Items.ITEM_DATE.itemID; } @Override @@ -57,8 +61,7 @@ public int quantityDropped(Random rand) { @Override @SideOnly(Side.CLIENT) public int idPicked(World par1World, int par2, int par3, int par4) { - // return AtumItems.date.itemID; - return 0; + return Items.ITEM_DATE.itemID; } } diff --git a/common/com/teammetallurgy/atum/blocks/BlockFertileSoil.java b/src/com/teammetallurgy/atum/blocks/BlockFertileSoil.java similarity index 100% rename from common/com/teammetallurgy/atum/blocks/BlockFertileSoil.java rename to src/com/teammetallurgy/atum/blocks/BlockFertileSoil.java diff --git a/common/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java b/src/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java similarity index 100% rename from common/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java rename to src/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java diff --git a/common/com/teammetallurgy/atum/blocks/BlockFlax.java b/src/com/teammetallurgy/atum/blocks/BlockFlax.java similarity index 98% rename from common/com/teammetallurgy/atum/blocks/BlockFlax.java rename to src/com/teammetallurgy/atum/blocks/BlockFlax.java index b2c2e7a..7eb2187 100644 --- a/common/com/teammetallurgy/atum/blocks/BlockFlax.java +++ b/src/com/teammetallurgy/atum/blocks/BlockFlax.java @@ -13,6 +13,9 @@ import net.minecraft.world.World; import net.minecraftforge.common.EnumPlantType; import net.minecraftforge.common.ForgeDirection; + +import com.teammetallurgy.atum.items.Items; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -133,13 +136,11 @@ public int getRenderType() { } protected int getSeedItem() { - return 0; - //return AtumItems.flaxSeeds.itemID; + return Items.flaxSeeds.itemID; } protected int getCropItem() { - return 0; - //return AtumItems.flax.itemID; + return Items.flax.itemID; } @Override diff --git a/common/com/teammetallurgy/atum/blocks/BlockLeave.java b/src/com/teammetallurgy/atum/blocks/BlockLeave.java similarity index 100% rename from common/com/teammetallurgy/atum/blocks/BlockLeave.java rename to src/com/teammetallurgy/atum/blocks/BlockLeave.java diff --git a/common/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java b/src/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java similarity index 100% rename from common/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java rename to src/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java diff --git a/common/com/teammetallurgy/atum/blocks/BlockPalmLog.java b/src/com/teammetallurgy/atum/blocks/BlockPalmLog.java similarity index 100% rename from common/com/teammetallurgy/atum/blocks/BlockPalmLog.java rename to src/com/teammetallurgy/atum/blocks/BlockPalmLog.java diff --git a/common/com/teammetallurgy/atum/blocks/BlockPalmSapling.java b/src/com/teammetallurgy/atum/blocks/BlockPalmSapling.java similarity index 100% rename from common/com/teammetallurgy/atum/blocks/BlockPalmSapling.java rename to src/com/teammetallurgy/atum/blocks/BlockPalmSapling.java diff --git a/common/com/teammetallurgy/atum/blocks/BlockPapyrus.java b/src/com/teammetallurgy/atum/blocks/BlockPapyrus.java similarity index 100% rename from common/com/teammetallurgy/atum/blocks/BlockPapyrus.java rename to src/com/teammetallurgy/atum/blocks/BlockPapyrus.java diff --git a/common/com/teammetallurgy/atum/blocks/BlockPharaohChest.java b/src/com/teammetallurgy/atum/blocks/BlockPharaohChest.java similarity index 97% rename from common/com/teammetallurgy/atum/blocks/BlockPharaohChest.java rename to src/com/teammetallurgy/atum/blocks/BlockPharaohChest.java index a4f5008..9933488 100644 --- a/common/com/teammetallurgy/atum/blocks/BlockPharaohChest.java +++ b/src/com/teammetallurgy/atum/blocks/BlockPharaohChest.java @@ -20,6 +20,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.ForgeDirection; +import com.teammetallurgy.atum.AtumLoot; import com.teammetallurgy.atum.blocks.tileentity.TileEntityPharaohChest; import cpw.mods.fml.relauncher.Side; @@ -109,7 +110,7 @@ public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, Entit ((TileEntityPharaohChest) par1World.getBlockTileEntity(par2, par3, par4)).func_94043_a(par6ItemStack.getDisplayName()); } - //AtumLoot.fillChest((TileEntityPharaohChest) par1World.getBlockTileEntity(par2, par3, par4), 15, 0.9F); + AtumLoot.fillChest((TileEntityPharaohChest) par1World.getBlockTileEntity(par2, par3, par4), 15, 0.9F); } @Override diff --git a/common/com/teammetallurgy/atum/blocks/BlockPortal.java b/src/com/teammetallurgy/atum/blocks/BlockPortal.java similarity index 96% rename from common/com/teammetallurgy/atum/blocks/BlockPortal.java rename to src/com/teammetallurgy/atum/blocks/BlockPortal.java index c92a163..828dd6f 100644 --- a/common/com/teammetallurgy/atum/blocks/BlockPortal.java +++ b/src/com/teammetallurgy/atum/blocks/BlockPortal.java @@ -5,6 +5,7 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockBreakable; import net.minecraft.block.material.Material; +import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.server.MinecraftServer; @@ -15,6 +16,7 @@ import rebelkeithy.mods.keithyutils.particleregistry.ParticleRegistry; import com.teammetallurgy.atum.AtumIDS; +import com.teammetallurgy.atum.lib.tickhandler.ClientTickHandler; import com.teammetallurgy.atum.world.AtumTeleporter; import cpw.mods.fml.common.ObfuscationReflectionHelper; @@ -139,9 +141,9 @@ public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int p WorldServer worldserver1 = minecraftserver.worldServerForDimension(AtumIDS.DIMENSION_ID); if(dimID == AtumIDS.DIMENSION_ID) { minecraftserver.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP) par5Entity, 0, new AtumTeleporter(worldserver)); - // if(par1World.isRemote) { - // Minecraft.getMinecraft().gameSettings.renderDistance = TickHandler.defaultFog; - // } + if(par1World.isRemote) { + Minecraft.getMinecraft().gameSettings.renderDistance = ClientTickHandler.defaultFog; + } } else { minecraftserver.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP) par5Entity, AtumIDS.DIMENSION_ID, new AtumTeleporter(worldserver1)); } diff --git a/common/com/teammetallurgy/atum/blocks/BlockSandLayered.java b/src/com/teammetallurgy/atum/blocks/BlockSandLayered.java similarity index 100% rename from common/com/teammetallurgy/atum/blocks/BlockSandLayered.java rename to src/com/teammetallurgy/atum/blocks/BlockSandLayered.java diff --git a/common/com/teammetallurgy/atum/blocks/BlockSands.java b/src/com/teammetallurgy/atum/blocks/BlockSands.java similarity index 100% rename from common/com/teammetallurgy/atum/blocks/BlockSands.java rename to src/com/teammetallurgy/atum/blocks/BlockSands.java diff --git a/common/com/teammetallurgy/atum/blocks/BlockShrub.java b/src/com/teammetallurgy/atum/blocks/BlockShrub.java similarity index 100% rename from common/com/teammetallurgy/atum/blocks/BlockShrub.java rename to src/com/teammetallurgy/atum/blocks/BlockShrub.java diff --git a/common/com/teammetallurgy/atum/blocks/BlockSlab.java b/src/com/teammetallurgy/atum/blocks/BlockSlab.java similarity index 100% rename from common/com/teammetallurgy/atum/blocks/BlockSlab.java rename to src/com/teammetallurgy/atum/blocks/BlockSlab.java diff --git a/common/com/teammetallurgy/atum/blocks/BlockStair.java b/src/com/teammetallurgy/atum/blocks/BlockStair.java similarity index 100% rename from common/com/teammetallurgy/atum/blocks/BlockStair.java rename to src/com/teammetallurgy/atum/blocks/BlockStair.java diff --git a/common/com/teammetallurgy/atum/blocks/BlockStones.java b/src/com/teammetallurgy/atum/blocks/BlockStones.java similarity index 100% rename from common/com/teammetallurgy/atum/blocks/BlockStones.java rename to src/com/teammetallurgy/atum/blocks/BlockStones.java diff --git a/common/com/teammetallurgy/atum/blocks/BlockWalls.java b/src/com/teammetallurgy/atum/blocks/BlockWalls.java similarity index 100% rename from common/com/teammetallurgy/atum/blocks/BlockWalls.java rename to src/com/teammetallurgy/atum/blocks/BlockWalls.java diff --git a/common/com/teammetallurgy/atum/blocks/Blocks.java b/src/com/teammetallurgy/atum/blocks/Blocks.java similarity index 100% rename from common/com/teammetallurgy/atum/blocks/Blocks.java rename to src/com/teammetallurgy/atum/blocks/Blocks.java diff --git a/common/com/teammetallurgy/atum/blocks/tileentity/CursedChestBaseLogic.java b/src/com/teammetallurgy/atum/blocks/tileentity/CursedChestBaseLogic.java similarity index 100% rename from common/com/teammetallurgy/atum/blocks/tileentity/CursedChestBaseLogic.java rename to src/com/teammetallurgy/atum/blocks/tileentity/CursedChestBaseLogic.java diff --git a/common/com/teammetallurgy/atum/blocks/tileentity/CursedChestSpawnerLogic.java b/src/com/teammetallurgy/atum/blocks/tileentity/CursedChestSpawnerLogic.java similarity index 100% rename from common/com/teammetallurgy/atum/blocks/tileentity/CursedChestSpawnerLogic.java rename to src/com/teammetallurgy/atum/blocks/tileentity/CursedChestSpawnerLogic.java diff --git a/common/com/teammetallurgy/atum/blocks/tileentity/TileEntityArrowTrap.java b/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityArrowTrap.java similarity index 100% rename from common/com/teammetallurgy/atum/blocks/tileentity/TileEntityArrowTrap.java rename to src/com/teammetallurgy/atum/blocks/tileentity/TileEntityArrowTrap.java diff --git a/common/com/teammetallurgy/atum/blocks/tileentity/TileEntityChestSpawner.java b/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityChestSpawner.java similarity index 100% rename from common/com/teammetallurgy/atum/blocks/tileentity/TileEntityChestSpawner.java rename to src/com/teammetallurgy/atum/blocks/tileentity/TileEntityChestSpawner.java diff --git a/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityPharaohChest.java b/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityPharaohChest.java new file mode 100644 index 0000000..7f8fec0 --- /dev/null +++ b/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityPharaohChest.java @@ -0,0 +1,310 @@ +package com.teammetallurgy.atum.blocks.tileentity; + +import java.util.Iterator; +import java.util.List; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockChest; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.ContainerChest; +import net.minecraft.inventory.IInventory; +import net.minecraft.inventory.InventoryLargeChest; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.tileentity.TileEntityChest; +import net.minecraft.util.AxisAlignedBB; + +import com.teammetallurgy.atum.entity.EntityMummy; +import com.teammetallurgy.atum.entity.EntityPharaoh; + +import cpw.mods.fml.common.FMLCommonHandler; + +public class TileEntityPharaohChest extends TileEntityChest implements IInventory { + + private ItemStack[] chestContents = new ItemStack[36]; + public float f; + public float g; + public int h; + private int ticksSinceSync; + private int field_94046_i = -1; + private String field_94045_s; + private boolean hasSpawned = false; + private boolean isOpenable = false; + + public int getSizeInventory() { + return 27; + } + + public ItemStack getStackInSlot(int par1) { + return this.chestContents[par1]; + } + + public ItemStack decrStackSize(int par1, int par2) { + if(this.chestContents[par1] != null) { + ItemStack itemstack; + if(this.chestContents[par1].stackSize <= par2) { + itemstack = this.chestContents[par1]; + this.chestContents[par1] = null; + this.onInventoryChanged(); + return itemstack; + } else { + itemstack = this.chestContents[par1].splitStack(par2); + if(this.chestContents[par1].stackSize == 0) { + this.chestContents[par1] = null; + } + + this.onInventoryChanged(); + return itemstack; + } + } else { + return null; + } + } + + public ItemStack getStackInSlotOnClosing(int par1) { + if(this.chestContents[par1] != null) { + ItemStack itemstack = this.chestContents[par1]; + this.chestContents[par1] = null; + return itemstack; + } else { + return null; + } + } + + public void setInventorySlotContents(int par1, ItemStack par2ItemStack) { + this.chestContents[par1] = par2ItemStack; + if(par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) { + par2ItemStack.stackSize = this.getInventoryStackLimit(); + } + + this.onInventoryChanged(); + } + + public String getInvName() { + return this.isInvNameLocalized() ? this.field_94045_s : "container.chest"; + } + + public boolean isInvNameLocalized() { + return this.field_94045_s != null && this.field_94045_s.length() > 0; + } + + public void func_94043_a(String par1Str) { + this.field_94045_s = par1Str; + } + + public void readFromNBT(NBTTagCompound par1NBTTagCompound) { + super.readFromNBT(par1NBTTagCompound); + NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items"); + this.chestContents = new ItemStack[this.getSizeInventory()]; + if(par1NBTTagCompound.hasKey("CustomName")) { + this.field_94045_s = par1NBTTagCompound.getString("CustomName"); + } + + for(int i = 0; i < nbttaglist.tagCount(); ++i) { + NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.tagAt(i); + int j = nbttagcompound1.getByte("Slot") & 255; + if(j >= 0 && j < this.chestContents.length) { + this.chestContents[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1); + } + } + + this.hasSpawned = par1NBTTagCompound.getBoolean("spawned"); + this.isOpenable = par1NBTTagCompound.getBoolean("openable"); + } + + public void writeToNBT(NBTTagCompound par1NBTTagCompound) { + super.writeToNBT(par1NBTTagCompound); + NBTTagList nbttaglist = new NBTTagList(); + + for(int i = 0; i < this.chestContents.length; ++i) { + if(this.chestContents[i] != null) { + NBTTagCompound nbttagcompound1 = new NBTTagCompound(); + nbttagcompound1.setByte("Slot", (byte) i); + this.chestContents[i].writeToNBT(nbttagcompound1); + nbttaglist.appendTag(nbttagcompound1); + } + } + + par1NBTTagCompound.setTag("Items", nbttaglist); + if(this.isInvNameLocalized()) { + par1NBTTagCompound.setString("CustomName", this.field_94045_s); + } + + par1NBTTagCompound.setBoolean("spawned", this.hasSpawned); + par1NBTTagCompound.setBoolean("openable", this.isOpenable); + } + + public int getInventoryStackLimit() { + return 64; + } + + public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { + return !this.isOpenable ? false : (this.isOpenable && super.worldObj.getBlockTileEntity(super.xCoord, super.yCoord, super.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double) super.xCoord + 0.5D, (double) super.yCoord + 0.5D, (double) super.zCoord + 0.5D) <= 64.0D); + } + + private boolean func_94044_a(int par1, int par2, int par3) { + Block block = Block.blocksList[super.worldObj.getBlockId(par1, par2, par3)]; + return block != null && block instanceof BlockChest ? ((BlockChest) block).chestType == this.func_98041_l() : false; + } + + public void updateEntity() { + super.updateEntity(); + ++this.ticksSinceSync; + float f; + if(!super.worldObj.isRemote && super.numUsingPlayers != 0 && (this.ticksSinceSync + super.xCoord + super.yCoord + super.zCoord) % 200 == 0) { + super.numUsingPlayers = 0; + f = 5.0F; + List d0 = super.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getAABBPool().getAABB((double) ((float) super.xCoord - f), (double) ((float) super.yCoord - f), (double) ((float) super.zCoord - f), (double) ((float) (super.xCoord + 1) + f), (double) ((float) (super.yCoord + 1) + f), (double) ((float) (super.zCoord + 1) + f))); + Iterator iterator = d0.iterator(); + + while(iterator.hasNext()) { + EntityPlayer f1 = (EntityPlayer) iterator.next(); + if(f1.openContainer instanceof ContainerChest) { + IInventory f2 = ((ContainerChest) f1.openContainer).getLowerChestInventory(); + if(f2 == this || f2 instanceof InventoryLargeChest && ((InventoryLargeChest) f2).isPartOfLargeChest(this)) { + ++super.numUsingPlayers; + } + } + } + } + + super.prevLidAngle = super.lidAngle; + f = 0.1F; + double var8; + if(super.numUsingPlayers > 0 && super.lidAngle == 0.0F) { + double var9 = (double) super.xCoord + 0.5D; + var8 = (double) super.zCoord + 0.5D; + super.worldObj.playSoundEffect(var9, (double) super.yCoord + 0.5D, var8, "random.chestopen", 0.5F, super.worldObj.rand.nextFloat() * 0.1F + 0.9F); + } + + if(super.numUsingPlayers == 0 && super.lidAngle > 0.0F || super.numUsingPlayers > 0 && super.lidAngle < 1.0F) { + float var10 = super.lidAngle; + if(super.numUsingPlayers > 0) { + super.lidAngle += f; + } else { + super.lidAngle -= f; + } + + if(super.lidAngle > 1.0F) { + super.lidAngle = 1.0F; + } + + float var11 = 0.5F; + if(super.lidAngle < var11 && var10 >= var11) { + var8 = (double) super.xCoord + 0.5D; + double d2 = (double) super.zCoord + 0.5D; + super.worldObj.playSoundEffect(var8, (double) super.yCoord + 0.5D, d2, "random.chestclosed", 0.5F, super.worldObj.rand.nextFloat() * 0.1F + 0.9F); + } + + if(super.lidAngle < 0.0F) { + super.lidAngle = 0.0F; + } + } + + } + + public boolean receiveClientEvent(int par1, int par2) { + if(par1 == 1) { + super.numUsingPlayers = par2; + return true; + } else { + return super.receiveClientEvent(par1, par2); + } + } + + public void openChest() { + if(super.numUsingPlayers < 0) { + super.numUsingPlayers = 0; + } + + ++super.numUsingPlayers; + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID, 1, super.numUsingPlayers); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType().blockID); + } + + public void closeChest() { + if(this.getBlockType() != null && this.getBlockType() instanceof BlockChest) { + --super.numUsingPlayers; + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID, 1, super.numUsingPlayers); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType().blockID); + } + + } + + public boolean isStackValidForSlot(int par1, ItemStack par2ItemStack) { + return true; + } + + public void invalidate() { + super.invalidate(); + this.updateContainingBlockInfo(); + } + + public int func_98041_l() { + if(this.field_94046_i == -1) { + if(super.worldObj == null || !(this.getBlockType() instanceof BlockChest)) { + return 0; + } + + this.field_94046_i = ((BlockChest) this.getBlockType()).chestType; + } + + return this.field_94046_i; + } + + public void setOpenable() { + this.isOpenable = true; + } + + public boolean hasSpawned() { + return this.hasSpawned; + } + + public void spawn(EntityPlayer player) { + EntityPharaoh pharaoh = new EntityPharaoh(super.worldObj); + pharaoh.setPosition((double) super.xCoord + 0.5D, (double) (super.yCoord + 1), (double) super.zCoord + 0.5D); + pharaoh.link(super.xCoord, super.yCoord, super.zCoord); + if(!super.worldObj.isRemote) { + super.worldObj.spawnEntityInWorld(pharaoh); + } + + pharaoh.spawnExplosionParticle(); + this.hasSpawned = true; + EntityMummy mummy1 = new EntityMummy(super.worldObj); + mummy1.setPosition((double) super.xCoord + 0.5D, (double) super.yCoord, (double) super.zCoord - 0.5D); + if(!super.worldObj.isRemote) { + super.worldObj.spawnEntityInWorld(mummy1); + } + + mummy1.spawnExplosionParticle(); + EntityMummy mummy2 = new EntityMummy(super.worldObj); + mummy2.setPosition((double) super.xCoord + 0.5D, (double) super.yCoord, (double) super.zCoord + 1.5D); + if(!super.worldObj.isRemote) { + super.worldObj.spawnEntityInWorld(mummy2); + } + + mummy2.spawnExplosionParticle(); + if(!super.worldObj.isRemote) { + List players = FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList; + Iterator i = players.iterator(); + + while(i.hasNext()) { + EntityPlayer p = (EntityPlayer) i.next(); + p.addChatMessage(pharaoh.getEntityName() + " was summoned by " + player.getEntityName()); + } + } + + if(!super.worldObj.isRemote) { + System.out.println("Playing Sound"); + super.worldObj.playSoundAtEntity(pharaoh, "Atum.pharaohspawn", 1.0F, 1.0F); + } + + } + + public void setPharaohDespawned() { + this.hasSpawned = false; + } +} diff --git a/src/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java b/src/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java new file mode 100644 index 0000000..a68717c --- /dev/null +++ b/src/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java @@ -0,0 +1,188 @@ +package com.teammetallurgy.atum.client.model.entity; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.util.MathHelper; + +import org.lwjgl.opengl.GL11; + +import com.teammetallurgy.atum.entity.EntityDesertWolf; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +@SideOnly(Side.CLIENT) +public class ModelDesertWolf extends ModelBase +{ + /** main box for the wolf head */ + public ModelRenderer wolfHeadMain; + + /** The wolf's body */ + public ModelRenderer wolfBody; + + /** Wolf'se first leg */ + public ModelRenderer wolfLeg1; + + /** Wolf's second leg */ + public ModelRenderer wolfLeg2; + + /** Wolf's third leg */ + public ModelRenderer wolfLeg3; + + /** Wolf's fourth leg */ + public ModelRenderer wolfLeg4; + + /** The wolf's tail */ + ModelRenderer wolfTail; + + /** The wolf's mane */ + ModelRenderer wolfMane; + + public ModelDesertWolf() + { + float f = 0.0F; + float f1 = 13.5F; + this.wolfHeadMain = new ModelRenderer(this, 0, 0); + this.wolfHeadMain.addBox(-3.0F, -3.0F, -2.0F, 6, 6, 4, f); + this.wolfHeadMain.setRotationPoint(-1.0F, f1, -7.0F); + this.wolfBody = new ModelRenderer(this, 18, 14); + this.wolfBody.addBox(-4.0F, -2.0F, -3.0F, 6, 9, 6, f); + this.wolfBody.setRotationPoint(0.0F, 14.0F, 2.0F); + this.wolfMane = new ModelRenderer(this, 21, 0); + this.wolfMane.addBox(-4.0F, -3.0F, -3.0F, 8, 6, 7, f); + this.wolfMane.setRotationPoint(-1.0F, 14.0F, 2.0F); + this.wolfLeg1 = new ModelRenderer(this, 0, 18); + this.wolfLeg1.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); + this.wolfLeg1.setRotationPoint(-2.5F, 16.0F, 7.0F); + this.wolfLeg2 = new ModelRenderer(this, 0, 18); + this.wolfLeg2.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); + this.wolfLeg2.setRotationPoint(0.5F, 16.0F, 7.0F); + this.wolfLeg3 = new ModelRenderer(this, 0, 18); + this.wolfLeg3.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); + this.wolfLeg3.setRotationPoint(-2.5F, 16.0F, -4.0F); + this.wolfLeg4 = new ModelRenderer(this, 0, 18); + this.wolfLeg4.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); + this.wolfLeg4.setRotationPoint(0.5F, 16.0F, -4.0F); + this.wolfTail = new ModelRenderer(this, 9, 18); + this.wolfTail.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); + this.wolfTail.setRotationPoint(-1.0F, 12.0F, 8.0F); + this.wolfHeadMain.setTextureOffset(16, 14).addBox(-3.0F, -5.0F, 0.0F, 2, 2, 1, f); + this.wolfHeadMain.setTextureOffset(16, 14).addBox(1.0F, -5.0F, 0.0F, 2, 2, 1, f); + this.wolfHeadMain.setTextureOffset(0, 10).addBox(-1.5F, 0.0F, -5.0F, 3, 3, 4, f); + } + + /** + * Sets the models various rotation angles then renders the model. + */ + @Override + public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) + { + super.render(par1Entity, par2, par3, par4, par5, par6, par7); + this.setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); + + if (this.isChild) + { + float f6 = 2.0F; + GL11.glPushMatrix(); + GL11.glTranslatef(0.0F, 5.0F * par7, 2.0F * par7); + this.wolfHeadMain.renderWithRotation(par7); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(1.0F / f6, 1.0F / f6, 1.0F / f6); + GL11.glTranslatef(0.0F, 24.0F * par7, 0.0F); + this.wolfBody.render(par7); + this.wolfLeg1.render(par7); + this.wolfLeg2.render(par7); + this.wolfLeg3.render(par7); + this.wolfLeg4.render(par7); + this.wolfTail.renderWithRotation(par7); + this.wolfMane.render(par7); + GL11.glPopMatrix(); + } + else + { + this.wolfHeadMain.renderWithRotation(par7); + this.wolfBody.render(par7); + this.wolfLeg1.render(par7); + this.wolfLeg2.render(par7); + this.wolfLeg3.render(par7); + this.wolfLeg4.render(par7); + this.wolfTail.renderWithRotation(par7); + this.wolfMane.render(par7); + } + } + + /** + * Used for easily adding entity-dependent animations. The second and third float params here are the same second + * and third as in the setRotationAngles method. + */ + @Override + public void setLivingAnimations(EntityLivingBase par1EntityLiving, float par2, float par3, float par4) + { + EntityDesertWolf entitywolf = (EntityDesertWolf)par1EntityLiving; + + if (entitywolf.isAngry()) + { + this.wolfTail.rotateAngleY = 0.0F; + } + else + { + this.wolfTail.rotateAngleY = MathHelper.cos(par2 * 0.6662F) * 1.4F * par3; + } + + if (entitywolf.isSitting()) + { + this.wolfMane.setRotationPoint(-1.0F, 16.0F, -3.0F); + this.wolfMane.rotateAngleX = ((float)Math.PI * 2F / 5F); + this.wolfMane.rotateAngleY = 0.0F; + this.wolfBody.setRotationPoint(0.0F, 18.0F, 0.0F); + this.wolfBody.rotateAngleX = ((float)Math.PI / 4F); + this.wolfTail.setRotationPoint(-1.0F, 21.0F, 6.0F); + this.wolfLeg1.setRotationPoint(-2.5F, 22.0F, 2.0F); + this.wolfLeg1.rotateAngleX = ((float)Math.PI * 3F / 2F); + this.wolfLeg2.setRotationPoint(0.5F, 22.0F, 2.0F); + this.wolfLeg2.rotateAngleX = ((float)Math.PI * 3F / 2F); + this.wolfLeg3.rotateAngleX = 5.811947F; + this.wolfLeg3.setRotationPoint(-2.49F, 17.0F, -4.0F); + this.wolfLeg4.rotateAngleX = 5.811947F; + this.wolfLeg4.setRotationPoint(0.51F, 17.0F, -4.0F); + } + else + { + this.wolfBody.setRotationPoint(0.0F, 14.0F, 2.0F); + this.wolfBody.rotateAngleX = ((float)Math.PI / 2F); + this.wolfMane.setRotationPoint(-1.0F, 14.0F, -3.0F); + this.wolfMane.rotateAngleX = this.wolfBody.rotateAngleX; + this.wolfTail.setRotationPoint(-1.0F, 12.0F, 8.0F); + this.wolfLeg1.setRotationPoint(-2.5F, 16.0F, 7.0F); + this.wolfLeg2.setRotationPoint(0.5F, 16.0F, 7.0F); + this.wolfLeg3.setRotationPoint(-2.5F, 16.0F, -4.0F); + this.wolfLeg4.setRotationPoint(0.5F, 16.0F, -4.0F); + this.wolfLeg1.rotateAngleX = MathHelper.cos(par2 * 0.6662F) * 1.4F * par3; + this.wolfLeg2.rotateAngleX = MathHelper.cos(par2 * 0.6662F + (float)Math.PI) * 1.4F * par3; + this.wolfLeg3.rotateAngleX = MathHelper.cos(par2 * 0.6662F + (float)Math.PI) * 1.4F * par3; + this.wolfLeg4.rotateAngleX = MathHelper.cos(par2 * 0.6662F) * 1.4F * par3; + } + + this.wolfHeadMain.rotateAngleZ = entitywolf.getInterestedAngle(par4) + entitywolf.getShakeAngle(par4, 0.0F); + this.wolfMane.rotateAngleZ = entitywolf.getShakeAngle(par4, -0.08F); + this.wolfBody.rotateAngleZ = entitywolf.getShakeAngle(par4, -0.16F); + this.wolfTail.rotateAngleZ = entitywolf.getShakeAngle(par4, -0.2F); + } + + /** + * Sets the model's various rotation angles. For bipeds, par1 and par2 are used for animating the movement of arms + * and legs, where par1 represents the time(so that arms and legs swing back and forth) and par2 represents how + * "far" arms and legs can swing at most. + */ + @Override + public void setRotationAngles(float par1, float par2, float par3, float par4, float par5, float par6, Entity par7Entity) + { + super.setRotationAngles(par1, par2, par3, par4, par5, par6, par7Entity); + this.wolfHeadMain.rotateAngleX = par5 / (180F / (float)Math.PI); + this.wolfHeadMain.rotateAngleY = par4 / (180F / (float)Math.PI); + this.wolfTail.rotateAngleX = par3; + } +} diff --git a/src/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java b/src/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java new file mode 100644 index 0000000..0abb4f4 --- /dev/null +++ b/src/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java @@ -0,0 +1,31 @@ +package com.teammetallurgy.atum.client.model.entity; + +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.client.model.ModelZombie; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +@SideOnly(Side.CLIENT) +public class ModelDustySkeleton extends ModelZombie { + public ModelDustySkeleton() { + this(0.0F); + } + + public ModelDustySkeleton(float par1) { + super(par1, 0.0F, 64, 32); + this.bipedRightArm = new ModelRenderer(this, 40, 16); + this.bipedRightArm.addBox(-1.0F, -2.0F, -1.0F, 2, 12, 2, par1); + this.bipedRightArm.setRotationPoint(-5.0F, 2.0F, 0.0F); + this.bipedLeftArm = new ModelRenderer(this, 40, 16); + this.bipedLeftArm.mirror = true; + this.bipedLeftArm.addBox(-1.0F, -2.0F, -1.0F, 2, 12, 2, par1); + this.bipedLeftArm.setRotationPoint(5.0F, 2.0F, 0.0F); + this.bipedRightLeg = new ModelRenderer(this, 0, 16); + this.bipedRightLeg.addBox(-1.0F, 0.0F, -1.0F, 2, 12, 2, par1); + this.bipedRightLeg.setRotationPoint(-2.0F, 12.0F, 0.0F); + this.bipedLeftLeg = new ModelRenderer(this, 0, 16); + this.bipedLeftLeg.mirror = true; + this.bipedLeftLeg.addBox(-1.0F, 0.0F, -1.0F, 2, 12, 2, par1); + this.bipedLeftLeg.setRotationPoint(2.0F, 12.0F, 0.0F); + } +} diff --git a/common/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java b/src/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java similarity index 100% rename from common/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java rename to src/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java diff --git a/src/com/teammetallurgy/atum/client/render/entity/RenderBandit.java b/src/com/teammetallurgy/atum/client/render/entity/RenderBandit.java new file mode 100644 index 0000000..bb20c77 --- /dev/null +++ b/src/com/teammetallurgy/atum/client/render/entity/RenderBandit.java @@ -0,0 +1,135 @@ +package com.teammetallurgy.atum.client.render.entity; + +import static net.minecraftforge.client.IItemRenderer.ItemRenderType.EQUIPPED; +import static net.minecraftforge.client.IItemRenderer.ItemRendererHelper.BLOCK_3D; +import net.minecraft.block.Block; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.client.renderer.entity.RenderBiped; +import net.minecraft.client.renderer.tileentity.TileEntitySkullRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.Item; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.IItemRenderer; +import net.minecraftforge.client.MinecraftForgeClient; + +import org.lwjgl.opengl.GL11; + +import com.teammetallurgy.atum.entity.EntityBanditWarrior; +import com.teammetallurgy.atum.items.Items; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +@SideOnly(Side.CLIENT) +public class RenderBandit extends RenderBiped { + + public RenderBandit(ModelBiped par1ModelBiped, float par2) { + super(par1ModelBiped, par2); + } + + @Override + protected void renderEquippedItems(EntityLivingBase par1EntityLiving, float par2) { + float f1 = 1.0F; + GL11.glColor3f(f1, f1, f1); + ItemStack itemstack = par1EntityLiving.getHeldItem(); + ItemStack itemstack1 = par1EntityLiving.getCurrentItemOrArmor(3); + float f2; + + if(itemstack1 != null) { + GL11.glPushMatrix(); + this.modelBipedMain.bipedHead.postRender(0.0625F); + + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemstack1, EQUIPPED); + boolean is3D = (customRenderer != null && customRenderer.shouldUseRenderHelper(EQUIPPED, itemstack1, BLOCK_3D)); + + if(itemstack1.getItem() instanceof ItemBlock) { + if(is3D || RenderBlocks.renderItemIn3d(Block.blocksList[itemstack1.itemID].getRenderType())) { + f2 = 0.625F; + GL11.glTranslatef(0.0F, -0.25F, 0.0F); + GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(f2, -f2, -f2); + } + + this.renderManager.itemRenderer.renderItem(par1EntityLiving, itemstack1, 0); + } else if(itemstack1.getItem().itemID == Item.skull.itemID) { + f2 = 1.0625F; + GL11.glScalef(f2, -f2, -f2); + String s = ""; + + if(itemstack1.hasTagCompound() && itemstack1.getTagCompound().hasKey("SkullOwner")) { + s = itemstack1.getTagCompound().getString("SkullOwner"); + } + + TileEntitySkullRenderer.skullRenderer.func_82393_a(-0.5F, 0.0F, -0.5F, 1, 180.0F, itemstack1.getItemDamage(), s); + } + + GL11.glPopMatrix(); + } + + if(itemstack != null) { + GL11.glPushMatrix(); + + if(this.mainModel.isChild) { + f2 = 0.5F; + GL11.glTranslatef(0.0F, 0.625F, 0.0F); + GL11.glRotatef(-20.0F, -1.0F, 0.0F, 0.0F); + GL11.glScalef(f2, f2, f2); + } + + this.modelBipedMain.bipedRightArm.postRender(0.0625F); + GL11.glTranslatef(-0.0625F, 0.4375F, 0.0625F); + + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemstack, EQUIPPED); + boolean is3D = (customRenderer != null && customRenderer.shouldUseRenderHelper(EQUIPPED, itemstack, BLOCK_3D)); + + if(itemstack.getItem() instanceof ItemBlock && (is3D || RenderBlocks.renderItemIn3d(Block.blocksList[itemstack.itemID].getRenderType()))) { + f2 = 0.5F; + GL11.glTranslatef(0.0F, 0.1875F, -0.3125F); + f2 *= 0.75F; + GL11.glRotatef(20.0F, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(-f2, -f2, f2); + } else if(itemstack.itemID == Items.ITEM_BOW.itemID) { + f2 = 0.625F; + GL11.glTranslatef(0.0F, 0.125F, 0.3125F); + GL11.glRotatef(-20.0F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(f2, -f2, f2); + GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); + } else if(Item.itemsList[itemstack.itemID].isFull3D()) { + f2 = 0.625F; + + if(Item.itemsList[itemstack.itemID].shouldRotateAroundWhenRendering()) { + GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F); + GL11.glTranslatef(0.0F, -0.125F, 0.0F); + } + + this.func_82422_c(); + GL11.glScalef(f2, -f2, f2); + GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); + } else { + f2 = 0.375F; + GL11.glTranslatef(0.25F, 0.1875F, -0.1875F); + GL11.glScalef(f2, f2, f2); + GL11.glRotatef(60.0F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(-90.0F, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(20.0F, 0.0F, 0.0F, 1.0F); + } + + this.renderManager.itemRenderer.renderItem(par1EntityLiving, itemstack, 0); + + if(itemstack.getItem().requiresMultipleRenderPasses()) { + for(int x = 1; x < itemstack.getItem().getRenderPasses(itemstack.getItemDamage()); x++) { + this.renderManager.itemRenderer.renderItem(par1EntityLiving, itemstack, x); + } + } + + GL11.glPopMatrix(); + } + } +} diff --git a/src/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java b/src/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java new file mode 100644 index 0000000..625d190 --- /dev/null +++ b/src/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java @@ -0,0 +1,65 @@ +package com.teammetallurgy.atum.client.render.entity; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.entity.RenderLiving; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.passive.EntitySheep; +import net.minecraft.util.ResourceLocation; + +import org.lwjgl.opengl.GL11; + +import com.teammetallurgy.atum.entity.EntityDesertWolf; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +@SideOnly(Side.CLIENT) +public class RenderDesertWolf extends RenderLiving { + public RenderDesertWolf(ModelBase par1ModelBase, ModelBase par2ModelBase, float par3) { + super(par1ModelBase, par3); + this.setRenderPassModel(par2ModelBase); + } + + protected float getTailRotation(EntityDesertWolf par1EntityDesertWolf, float par2) { + return par1EntityDesertWolf.getTailRotation(); + } + + protected int func_82447_a(EntityDesertWolf par1EntityDesertWolf, int par2, float par3) { + float f1; + this.bindEntityTexture(par1EntityDesertWolf); + if(par2 == 0 && par1EntityDesertWolf.getWolfShaking()) { + f1 = par1EntityDesertWolf.getBrightness(par3) * par1EntityDesertWolf.getShadingWhileShaking(par3); + GL11.glColor3f(f1, f1, f1); + return 1; + } else if(par2 == 1 && par1EntityDesertWolf.isTamed()) { + f1 = 1.0F; + int j = par1EntityDesertWolf.getCollarColor(); + GL11.glColor3f(f1 * EntitySheep.fleeceColorTable[j][0], f1 * EntitySheep.fleeceColorTable[j][1], f1 * EntitySheep.fleeceColorTable[j][2]); + return 1; + } else { + return -1; + } + } + + /** + * Queries whether should render the specified pass or not. + */ + @Override + protected int shouldRenderPass(EntityLivingBase par1EntityLiving, int par2, float par3) { + return this.func_82447_a((EntityDesertWolf) par1EntityLiving, par2, par3); + } + + /** + * Defines what float the third param in setRotationAngles of ModelBase is + */ + @Override + protected float handleRotationFloat(EntityLivingBase par1EntityLiving, float par2) { + return this.getTailRotation((EntityDesertWolf) par1EntityLiving, par2); + } + + @Override + protected ResourceLocation getEntityTexture(Entity entity) { + return new ResourceLocation("atum", "textures/entities/DesertWolf.png"); + } +} diff --git a/src/com/teammetallurgy/atum/client/render/entity/RenderFireSpear.java b/src/com/teammetallurgy/atum/client/render/entity/RenderFireSpear.java new file mode 100644 index 0000000..8250d3e --- /dev/null +++ b/src/com/teammetallurgy/atum/client/render/entity/RenderFireSpear.java @@ -0,0 +1,90 @@ +package com.teammetallurgy.atum.client.render.entity; + +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.entity.Entity; +import net.minecraft.util.MathHelper; +import net.minecraft.util.ResourceLocation; + +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL12; + +import com.teammetallurgy.atum.entity.projectiles.EntityFireSpearCombined; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +@SideOnly(Side.CLIENT) +public class RenderFireSpear extends Render { + public void renderArrow(EntityFireSpearCombined par1EntityFireSpearCombined, double par2, double par4, double par6, float par8, float par9) { + this.bindEntityTexture(par1EntityFireSpearCombined); + GL11.glPushMatrix(); + GL11.glTranslatef((float) par2, (float) par4, (float) par6); + GL11.glRotatef(par1EntityFireSpearCombined.prevRotationYaw + (par1EntityFireSpearCombined.rotationYaw - par1EntityFireSpearCombined.prevRotationYaw) * par9 - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(par1EntityFireSpearCombined.prevRotationPitch + (par1EntityFireSpearCombined.rotationPitch - par1EntityFireSpearCombined.prevRotationPitch) * par9, 0.0F, 0.0F, 1.0F); + Tessellator tessellator = Tessellator.instance; + byte b0 = 0; + float f2 = 0.0F; + float f3 = 0.5F; + float f4 = (float) (0 + b0 * 10) / 32.0F; + float f5 = (float) (5 + b0 * 10) / 32.0F; + float f6 = 0.0F; + float f7 = 0.15625F; + float f8 = (float) (5 + b0 * 10) / 32.0F; + float f9 = (float) (10 + b0 * 10) / 32.0F; + float f10 = 0.05625F; + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + float f11 = (float) par1EntityFireSpearCombined.arrowShake - par9; + + if(f11 > 0.0F) { + float f12 = -MathHelper.sin(f11 * 3.0F) * f11; + GL11.glRotatef(f12, 0.0F, 0.0F, 1.0F); + } + + GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F); + GL11.glScalef(f10, f10, f10); + GL11.glTranslatef(-4.0F, 0.0F, 0.0F); + GL11.glNormal3f(f10, 0.0F, 0.0F); + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double) f6, (double) f8); + tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double) f7, (double) f8); + tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double) f7, (double) f9); + tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double) f6, (double) f9); + tessellator.draw(); + GL11.glNormal3f(-f10, 0.0F, 0.0F); + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double) f6, (double) f8); + tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double) f7, (double) f8); + tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double) f7, (double) f9); + tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double) f6, (double) f9); + tessellator.draw(); + + for(int i = 0; i < 4; ++i) { + GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); + GL11.glNormal3f(0.0F, 0.0F, f10); + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(-8.0D, -2.0D, 0.0D, (double) f2, (double) f4); + tessellator.addVertexWithUV(8.0D, -2.0D, 0.0D, (double) f3, (double) f4); + tessellator.addVertexWithUV(8.0D, 2.0D, 0.0D, (double) f3, (double) f5); + tessellator.addVertexWithUV(-8.0D, 2.0D, 0.0D, (double) f2, (double) f5); + tessellator.draw(); + } + + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + GL11.glPopMatrix(); + } + + /** + * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then handing it off to a worker function which does the actual work. In all + * probabilty, the class Render is generic (Render 0.0F) { + float f12 = -MathHelper.sin(f11 * 3.0F) * f11; + GL11.glRotatef(f12, 0.0F, 0.0F, 1.0F); + } + + GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F); + GL11.glScalef(f10, f10, f10); + GL11.glTranslatef(-4.0F, 0.0F, 0.0F); + GL11.glNormal3f(f10, 0.0F, 0.0F); + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double) f6, (double) f8); + tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double) f7, (double) f8); + tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double) f7, (double) f9); + tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double) f6, (double) f9); + tessellator.draw(); + GL11.glNormal3f(-f10, 0.0F, 0.0F); + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double) f6, (double) f8); + tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double) f7, (double) f8); + tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double) f7, (double) f9); + tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double) f6, (double) f9); + tessellator.draw(); + + for(int i = 0; i < 4; ++i) { + GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); + GL11.glNormal3f(0.0F, 0.0F, f10); + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(-8.0D, -2.0D, 0.0D, (double) f2, (double) f4); + tessellator.addVertexWithUV(8.0D, -2.0D, 0.0D, (double) f3, (double) f4); + tessellator.addVertexWithUV(8.0D, 2.0D, 0.0D, (double) f3, (double) f5); + tessellator.addVertexWithUV(-8.0D, 2.0D, 0.0D, (double) f2, (double) f5); + tessellator.draw(); + } + + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + GL11.glPopMatrix(); + } + + /** + * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then handing it off to a worker function which does the actual work. In all + * probabilty, the class Render is generic (Render= 180.0F) { + f3 -= 360.0F; + } + + return par1 + par3 * f3; + } + + public void doRenderLiving(EntityLivingBase par1EntityLiving, double par2, double par4, double par6, float par8, float par9) { + GL11.glPushMatrix(); + GL11.glDisable(GL11.GL_CULL_FACE); + + par4 += ((EntityGhost) par1EntityLiving).getFloatingHeight(); + + this.mainModel.onGround = this.renderSwingProgress(par1EntityLiving, par9); + + if(this.renderPassModel != null) { + this.renderPassModel.onGround = this.mainModel.onGround; + } + + this.mainModel.isRiding = par1EntityLiving.isRiding(); + + if(this.renderPassModel != null) { + this.renderPassModel.isRiding = this.mainModel.isRiding; + } + + this.mainModel.isChild = par1EntityLiving.isChild(); + + if(this.renderPassModel != null) { + this.renderPassModel.isChild = this.mainModel.isChild; + } + + try { + float f2 = this.interpolateRotation(par1EntityLiving.prevRenderYawOffset, par1EntityLiving.renderYawOffset, par9); + float f3 = this.interpolateRotation(par1EntityLiving.prevRotationYawHead, par1EntityLiving.rotationYawHead, par9); + float f4 = par1EntityLiving.prevRotationPitch + (par1EntityLiving.rotationPitch - par1EntityLiving.prevRotationPitch) * par9; + this.renderLivingAt(par1EntityLiving, par2, par4, par6); + float f5 = this.handleRotationFloat(par1EntityLiving, par9); + this.rotateCorpse(par1EntityLiving, f5, f2, par9); + float f6 = 0.0625F; + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + GL11.glScalef(-1.0F, -1.0F, 1.0F); + this.preRenderCallback(par1EntityLiving, par9); + GL11.glTranslatef(0.0F, -24.0F * f6 - 0.0078125F, 0.0F); + float f7 = par1EntityLiving.prevLimbSwingAmount + (par1EntityLiving.limbSwing - par1EntityLiving.prevLimbSwingAmount) * par9; + float f8 = par1EntityLiving.limbSwing - par1EntityLiving.limbSwing * (1.0F - par9); + + if(par1EntityLiving.isChild()) { + f8 *= 3.0F; + } + + if(f7 > 1.0F) { + f7 = 1.0F; + } + + GL11.glEnable(GL11.GL_ALPHA_TEST); + this.mainModel.setLivingAnimations(par1EntityLiving, f8, f7, par9); + this.renderModel(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); + float f9; + int i; + float f10; + float f11; + + for(int j = 0; j < 4; ++j) { + i = this.shouldRenderPass(par1EntityLiving, j, par9); + + if(i > 0) { + this.renderPassModel.setLivingAnimations(par1EntityLiving, f8, f7, par9); + this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); + + if((i & 240) == 16) { + this.func_82408_c(par1EntityLiving, j, par9); + this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); + } + + if((i & 15) == 15) { + f9 = (float) par1EntityLiving.ticksExisted + par9; + GL11.glEnable(GL11.GL_BLEND); + f10 = 0.5F; + GL11.glColor4f(f10, f10, f10, 1.0F); + GL11.glDepthFunc(GL11.GL_EQUAL); + GL11.glDepthMask(false); + + for(int k = 0; k < 2; ++k) { + GL11.glDisable(GL11.GL_LIGHTING); + f11 = 0.76F; + GL11.glColor4f(0.5F * f11, 0.25F * f11, 0.8F * f11, 1.0F); + GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glLoadIdentity(); + float f12 = f9 * (0.001F + (float) k * 0.003F) * 20.0F; + float f13 = 0.33333334F; + GL11.glScalef(f13, f13, f13); + GL11.glRotatef(30.0F - (float) k * 60.0F, 0.0F, 0.0F, 1.0F); + GL11.glTranslatef(0.0F, f12, 0.0F); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); + } + + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glDepthMask(true); + GL11.glLoadIdentity(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + } + + GL11.glDisable(GL11.GL_BLEND); + GL11.glEnable(GL11.GL_ALPHA_TEST); + } + } + + GL11.glDepthMask(true); + this.renderEquippedItems(par1EntityLiving, par9); + float f14 = par1EntityLiving.getBrightness(par9); + i = this.getColorMultiplier(par1EntityLiving, f14, par9); + OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapTexUnit); + GL11.glDisable(GL11.GL_TEXTURE_2D); + OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit); + + if((i >> 24 & 255) > 0 || par1EntityLiving.hurtTime > 0 || par1EntityLiving.deathTime > 0) { + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glDisable(GL11.GL_ALPHA_TEST); + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + GL11.glDepthFunc(GL11.GL_EQUAL); + + if(par1EntityLiving.hurtTime > 0 || par1EntityLiving.deathTime > 0) { + GL11.glColor4f(f14, 0.0F, 0.0F, 0.4F); + this.mainModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); + + for(int l = 0; l < 4; ++l) { + if(this.inheritRenderPass(par1EntityLiving, l, par9) >= 0) { + GL11.glColor4f(f14, 0.0F, 0.0F, 0.4F); + this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); + } + } + } + + if((i >> 24 & 255) > 0) { + f9 = (float) (i >> 16 & 255) / 255.0F; + f10 = (float) (i >> 8 & 255) / 255.0F; + float f15 = (float) (i & 255) / 255.0F; + f11 = (float) (i >> 24 & 255) / 255.0F; + GL11.glColor4f(f9, f10, f15, f11); + this.mainModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); + + for(int i1 = 0; i1 < 4; ++i1) { + if(this.inheritRenderPass(par1EntityLiving, i1, par9) >= 0) { + GL11.glColor4f(f9, f10, f15, f11); + this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); + } + } + } + + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glDisable(GL11.GL_BLEND); + GL11.glEnable(GL11.GL_ALPHA_TEST); + GL11.glEnable(GL11.GL_TEXTURE_2D); + } + + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + } catch(Exception exception) { + exception.printStackTrace(); + } + + OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapTexUnit); + GL11.glEnable(GL11.GL_TEXTURE_2D); + OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit); + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glPopMatrix(); + this.passSpecialRender(par1EntityLiving, par2, par4, par6); + } + + /** + * Renders the model in RenderLiving + */ + protected void renderModel(EntityLivingBase par1EntityLiving, float par2, float par3, float par4, float par5, float par6, float par7) { + this.bindEntityTexture(par1EntityLiving); + + if(!par1EntityLiving.isInvisible()) { + this.mainModel.render(par1EntityLiving, par2, par3, par4, par5, par6, par7); + } else if(!par1EntityLiving.isInvisibleToPlayer(Minecraft.getMinecraft().thePlayer)) { + GL11.glPushMatrix(); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 0.15F); + GL11.glDepthMask(false); + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + GL11.glAlphaFunc(GL11.GL_GREATER, 0.003921569F); + this.mainModel.render(par1EntityLiving, par2, par3, par4, par5, par6, par7); + GL11.glDisable(GL11.GL_BLEND); + GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F); + GL11.glPopMatrix(); + GL11.glDepthMask(true); + } else { + this.mainModel.setRotationAngles(par2, par3, par4, par5, par6, par7, par1EntityLiving); + } + } + + /** + * Sets a simple glTranslate on a LivingEntity. + */ + protected void renderLivingAt(EntityLivingBase par1EntityLiving, double par2, double par4, double par6) { + GL11.glTranslatef((float) par2, (float) par4, (float) par6); + } + + protected void rotateCorpse(EntityLivingBase par1EntityLiving, float par2, float par3, float par4) { + GL11.glRotatef(180.0F - par3, 0.0F, 1.0F, 0.0F); + + if(par1EntityLiving.deathTime > 0) { + float f3 = ((float) par1EntityLiving.deathTime + par4 - 1.0F) / 20.0F * 1.6F; + f3 = MathHelper.sqrt_float(f3); + + if(f3 > 1.0F) { + f3 = 1.0F; + } + + GL11.glRotatef(f3 * this.getDeathMaxRotation(par1EntityLiving), 0.0F, 0.0F, 1.0F); + } + } + + protected float renderSwingProgress(EntityLivingBase par1EntityLiving, float par2) { + return par1EntityLiving.getSwingProgress(par2); + } + + /** + * Defines what float the third param in setRotationAngles of ModelBase is + */ + protected float handleRotationFloat(EntityLivingBase par1EntityLiving, float par2) { + return (float) par1EntityLiving.ticksExisted + par2; + } + + protected void renderEquippedItems(EntityLivingBase par1EntityLiving, float par2) { + } + + /** + * renders arrows the Entity has been attacked with, attached to it + */ + protected void renderArrowsStuckInEntity(EntityLiving par1EntityLiving, float par2) { + int i = par1EntityLiving.getArrowCountInEntity(); + + if(i > 0) { + EntityArrow entityarrow = new EntityArrow(par1EntityLiving.worldObj, par1EntityLiving.posX, par1EntityLiving.posY, par1EntityLiving.posZ); + Random random = new Random((long) par1EntityLiving.entityId); + RenderHelper.disableStandardItemLighting(); + + for(int j = 0; j < i; ++j) { + GL11.glPushMatrix(); + ModelRenderer modelrenderer = this.mainModel.getRandomModelBox(random); + ModelBox modelbox = (ModelBox) modelrenderer.cubeList.get(random.nextInt(modelrenderer.cubeList.size())); + modelrenderer.postRender(0.0625F); + float f1 = random.nextFloat(); + float f2 = random.nextFloat(); + float f3 = random.nextFloat(); + float f4 = (modelbox.posX1 + (modelbox.posX2 - modelbox.posX1) * f1) / 16.0F; + float f5 = (modelbox.posY1 + (modelbox.posY2 - modelbox.posY1) * f2) / 16.0F; + float f6 = (modelbox.posZ1 + (modelbox.posZ2 - modelbox.posZ1) * f3) / 16.0F; + GL11.glTranslatef(f4, f5, f6); + f1 = f1 * 2.0F - 1.0F; + f2 = f2 * 2.0F - 1.0F; + f3 = f3 * 2.0F - 1.0F; + f1 *= -1.0F; + f2 *= -1.0F; + f3 *= -1.0F; + float f7 = MathHelper.sqrt_float(f1 * f1 + f3 * f3); + entityarrow.prevRotationYaw = entityarrow.rotationYaw = (float) (Math.atan2((double) f1, (double) f3) * 180.0D / Math.PI); + entityarrow.prevRotationPitch = entityarrow.rotationPitch = (float) (Math.atan2((double) f2, (double) f7) * 180.0D / Math.PI); + double d0 = 0.0D; + double d1 = 0.0D; + double d2 = 0.0D; + float f8 = 0.0F; + this.renderManager.renderEntityWithPosYaw(entityarrow, d0, d1, d2, f8, par2); + GL11.glPopMatrix(); + } + + RenderHelper.enableStandardItemLighting(); + } + } + + protected int inheritRenderPass(EntityLivingBase par1EntityLiving, int par2, float par3) { + return this.shouldRenderPass(par1EntityLiving, par2, par3); + } + + /** + * Queries whether should render the specified pass or not. + */ + protected int shouldRenderPass(EntityLivingBase par1EntityLiving, int par2, float par3) { + return -1; + } + + protected void func_82408_c(EntityLivingBase par1EntityLiving, int par2, float par3) { + } + + protected float getDeathMaxRotation(EntityLivingBase par1EntityLiving) { + return 90.0F; + } + + /** + * Returns an ARGB int color back. Args: entityLiving, lightBrightness, partialTickTime + */ + protected int getColorMultiplier(EntityLivingBase par1EntityLiving, float par2, float par3) { + return 0; + } + + /** + * Allows the render to do any OpenGL state modifications necessary before the model is rendered. Args: entityLiving, partialTickTime + */ + protected void preRenderCallback(EntityLivingBase par1EntityLiving, float par2) { + } + + /** + * Passes the specialRender and renders it + */ + protected void passSpecialRender(EntityLivingBase par1EntityLiving, double par2, double par4, double par6) { + if(Minecraft.isGuiEnabled() && par1EntityLiving != this.renderManager.livingPlayer && !par1EntityLiving.isInvisibleToPlayer(Minecraft.getMinecraft().thePlayer) && (par1EntityLiving.getAlwaysRenderNameTagForRender() || ((EntityLiving) par1EntityLiving).hasCustomNameTag() && par1EntityLiving == this.renderManager.field_96451_i)) { + float f = 1.6F; + float f1 = 0.016666668F * f; + double d3 = par1EntityLiving.getDistanceSqToEntity(this.renderManager.livingPlayer); + float f2 = par1EntityLiving.isSneaking() ? 32.0F : 64.0F; + + if(d3 < (double) (f2 * f2)) { + String s = par1EntityLiving.getTranslatedEntityName(); + + if(par1EntityLiving.isSneaking()) { + FontRenderer fontrenderer = this.getFontRendererFromRenderManager(); + GL11.glPushMatrix(); + GL11.glTranslatef((float) par2 + 0.0F, (float) par4 + par1EntityLiving.height + 0.5F, (float) par6); + GL11.glNormal3f(0.0F, 1.0F, 0.0F); + GL11.glRotatef(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F); + GL11.glScalef(-f1, -f1, f1); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glTranslatef(0.0F, 0.25F / f1, 0.0F); + GL11.glDepthMask(false); + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + Tessellator tessellator = Tessellator.instance; + GL11.glDisable(GL11.GL_TEXTURE_2D); + tessellator.startDrawingQuads(); + int i = fontrenderer.getStringWidth(s) / 2; + tessellator.setColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F); + tessellator.addVertex((double) (-i - 1), -1.0D, 0.0D); + tessellator.addVertex((double) (-i - 1), 8.0D, 0.0D); + tessellator.addVertex((double) (i + 1), 8.0D, 0.0D); + tessellator.addVertex((double) (i + 1), -1.0D, 0.0D); + tessellator.draw(); + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glDepthMask(true); + fontrenderer.drawString(s, -fontrenderer.getStringWidth(s) / 2, 0, 553648127); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_BLEND); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glPopMatrix(); + } else { + this.func_96449_a(par1EntityLiving, par2, par4, par6, s, f1, d3); + } + } + } + } + + protected void func_96449_a(EntityLivingBase par1EntityLiving, double par2, double par4, double par6, String par8Str, float par9, double par10) { + if(par1EntityLiving.isPlayerSleeping()) { + this.renderLivingLabel(par1EntityLiving, par8Str, par2, par4 - 1.5D, par6, 64); + } else { + this.renderLivingLabel(par1EntityLiving, par8Str, par2, par4, par6, 64); + } + } + + /** + * Draws the debug or playername text above a living + */ + protected void renderLivingLabel(EntityLivingBase par1EntityLiving, String par2Str, double par3, double par5, double par7, int par9) { + double d3 = par1EntityLiving.getDistanceSqToEntity(this.renderManager.livingPlayer); + + if(d3 <= (double) (par9 * par9)) { + FontRenderer fontrenderer = this.getFontRendererFromRenderManager(); + float f = 1.6F; + float f1 = 0.016666668F * f; + GL11.glPushMatrix(); + GL11.glTranslatef((float) par3 + 0.0F, (float) par5 + par1EntityLiving.height + 0.5F, (float) par7); + GL11.glNormal3f(0.0F, 1.0F, 0.0F); + GL11.glRotatef(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F); + GL11.glScalef(-f1, -f1, f1); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glDepthMask(false); + GL11.glDisable(GL11.GL_DEPTH_TEST); + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + Tessellator tessellator = Tessellator.instance; + byte b0 = 0; + + if(par2Str.equals("deadmau5")) { + b0 = -10; + } + + GL11.glDisable(GL11.GL_TEXTURE_2D); + tessellator.startDrawingQuads(); + int j = fontrenderer.getStringWidth(par2Str) / 2; + tessellator.setColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F); + tessellator.addVertex((double) (-j - 1), (double) (-1 + b0), 0.0D); + tessellator.addVertex((double) (-j - 1), (double) (8 + b0), 0.0D); + tessellator.addVertex((double) (j + 1), (double) (8 + b0), 0.0D); + tessellator.addVertex((double) (j + 1), (double) (-1 + b0), 0.0D); + tessellator.draw(); + GL11.glEnable(GL11.GL_TEXTURE_2D); + fontrenderer.drawString(par2Str, -fontrenderer.getStringWidth(par2Str) / 2, b0, 553648127); + GL11.glEnable(GL11.GL_DEPTH_TEST); + GL11.glDepthMask(true); + fontrenderer.drawString(par2Str, -fontrenderer.getStringWidth(par2Str) / 2, b0, -1); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_BLEND); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glPopMatrix(); + } + } + + /** + * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then handing it off to a worker function which does the actual work. In all + * probabilty, the class Render is generic (Render 0.0F) { + float f12 = -MathHelper.sin(f11 * 3.0F) * f11; + GL11.glRotatef(f12, 0.0F, 0.0F, 1.0F); + } + + GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F); + GL11.glScalef(f10, f10, f10); + GL11.glTranslatef(-4.0F, 0.0F, 0.0F); + GL11.glNormal3f(f10, 0.0F, 0.0F); + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double) f6, (double) f8); + tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double) f7, (double) f8); + tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double) f7, (double) f9); + tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double) f6, (double) f9); + tessellator.draw(); + GL11.glNormal3f(-f10, 0.0F, 0.0F); + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double) f6, (double) f8); + tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double) f7, (double) f8); + tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double) f7, (double) f9); + tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double) f6, (double) f9); + tessellator.draw(); + + for(int i = 0; i < 4; ++i) { + GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); + GL11.glNormal3f(0.0F, 0.0F, f10); + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(-8.0D, -2.0D, 0.0D, (double) f2, (double) f4); + tessellator.addVertexWithUV(8.0D, -2.0D, 0.0D, (double) f3, (double) f4); + tessellator.addVertexWithUV(8.0D, 2.0D, 0.0D, (double) f3, (double) f5); + tessellator.addVertexWithUV(-8.0D, 2.0D, 0.0D, (double) f2, (double) f5); + tessellator.draw(); + } + + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + GL11.glPopMatrix(); + } + + /** + * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then handing it off to a worker function which does the actual work. In all + * probabilty, the class Render is generic (Render 0.0F) { + float f12 = -MathHelper.sin(f11 * 3.0F) * f11; + GL11.glRotatef(f12, 0.0F, 0.0F, 1.0F); + } + + GL11.glScalef(2f, 1.5f, 1.5f); + GL11.glTranslatef(-0.85F, 0.0F, 0.0F); + GL11.glNormal3f(f10, 0.0F, 0.0F); + + ItemRenderer.renderItemIn2D(tessellator, -1f, -10 / 32.0f, -5 / 32.0f, 12 / 32.0f, 32, 32 * 32, 0.0625F); + + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + GL11.glPopMatrix(); + } + + /** + * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then handing it off to a worker function which does the actual work. In all + * probabilty, the class Render is generic (Render 0) { + entityarrow.setDamage(entityarrow.getDamage() + (double) i * 0.5D + 0.5D); + } + + if(j > 0) { + entityarrow.setKnockbackStrength(j); + } + + if(EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, this.getHeldItem()) > 0) { + entityarrow.setFire(100); + } + + this.playSound("random.bow", 1.0F, 1.0F / (this.getRNG().nextFloat() * 0.4F + 0.8F)); + this.worldObj.spawnEntityInWorld(entityarrow); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + @Override + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + super.readEntityFromNBT(par1NBTTagCompound); + + this.setCombatTask(); + } + + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + if(rand.nextInt(20) == 0) { + int damage = (int) (Items.ITEM_BOW.getMaxDamage() - rand.nextInt(Items.ITEM_BOW.getMaxDamage()) * 0.5 + 20); + this.entityDropItem(new ItemStack(Items.ITEM_BOW.itemID, 1, damage), 0.0F); + } + + if(rand.nextInt(10) == 0) { + int amount = rand.nextInt(2) + 1; + this.dropItem(Item.goldNugget.itemID, amount); + } + + if(rand.nextInt(4) == 0) { + int amount = rand.nextInt(3) + 1; + this.dropItem(Item.arrow.itemID, amount); + } + } +} \ No newline at end of file diff --git a/src/com/teammetallurgy/atum/entity/EntityBanditWarlord.java b/src/com/teammetallurgy/atum/entity/EntityBanditWarlord.java new file mode 100644 index 0000000..d6cac74 --- /dev/null +++ b/src/com/teammetallurgy/atum/entity/EntityBanditWarlord.java @@ -0,0 +1,104 @@ +package com.teammetallurgy.atum.entity; + +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EnumCreatureAttribute; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +import com.teammetallurgy.atum.AtumConfig; +import com.teammetallurgy.atum.items.Items; + +public class EntityBanditWarlord extends EntityMob implements IAtumDayMob { + + public EntityBanditWarlord(World par1World) { + super(par1World); + this.experienceValue = 16; + + this.setCurrentItemOrArmor(0, new ItemStack(Items.ITEM_SCIMITAR)); + EnchantmentHelper.addRandomEnchantment(this.rand, this.getHeldItem(), 5 + this.worldObj.difficultySetting * this.rand.nextInt(6)); + + for(int i = 0; i < this.equipmentDropChances.length; ++i) { + this.equipmentDropChances[i] = 0.05F; + } + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(8.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); + } + + + @Override + protected void addRandomArmor() { + } + + /** + * Checks if the entity's current position is a valid location to spawn this entity. + */ + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } + + /** + * Will return how many at most can spawn in a chunk at once. + */ + @Override + public int getMaxSpawnedInChunk() { + return 1; + } + + /** + * Checks to make sure the light is not too bright where the mob is spawning + */ + @Override + protected boolean isValidLightLevel() { + return true; + } + + + /** + * Get this Entity's EnumCreatureAttribute + */ + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } + + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + if(rand.nextInt(20) == 0) { + int damage = (int) (Items.ITEM_SCIMITAR.getMaxDamage() - rand.nextInt(Items.ITEM_SCIMITAR.getMaxDamage()) * 0.5 + 20); + this.entityDropItem(new ItemStack(Items.ITEM_SCIMITAR.itemID, 1, damage), 0.0F); + } + + if(rand.nextInt(4) == 0) { + int amount = rand.nextInt(3) + 3; + this.dropItem(Item.goldNugget.itemID, amount); + } + + if(rand.nextInt(4) == 0) { + int choice = rand.nextInt(4); + if(choice == 0) { + this.dropItem(Items.wandererHelmet.itemID, 1); + } else if(choice == 1) { + this.dropItem(Items.wandererChest.itemID, 1); + } else if(choice == 2) { + this.dropItem(Items.wandererLegs.itemID, 1); + } else if(choice == 3) { + this.dropItem(Items.wandererBoots.itemID, 1); + } + } + } +} diff --git a/src/com/teammetallurgy/atum/entity/EntityBanditWarrior.java b/src/com/teammetallurgy/atum/entity/EntityBanditWarrior.java new file mode 100644 index 0000000..12a1f66 --- /dev/null +++ b/src/com/teammetallurgy/atum/entity/EntityBanditWarrior.java @@ -0,0 +1,91 @@ +package com.teammetallurgy.atum.entity; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EnumCreatureAttribute; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +import com.teammetallurgy.atum.items.Items; + +public class EntityBanditWarrior extends EntityMob implements IAtumDayMob { + + public EntityBanditWarrior(World par1World) { + super(par1World); + this.experienceValue = 8; + + super.setCurrentItemOrArmor(0, new ItemStack(Items.ITEM_SCIMITAR)); + this.enchantEquipment(); + + for(int i = 0; i < this.equipmentDropChances.length; ++i) { + this.equipmentDropChances[i] = 0F; + } + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(30.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(3.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); + } + + public String getTexture() { + return "atum:textures/entities/BanditWarrior.png"; + } + + /** + * Checks if the entity's current position is a valid location to spawn this entity. + */ + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } + + /** + * Checks to make sure the light is not too bright where the mob is spawning + */ + @Override + protected boolean isValidLightLevel() { + return true; + } + + /** + * Get this Entity's EnumCreatureAttribute + */ + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } + + /** + * Returns the amount of damage a mob should deal. + */ + public int getAttackStrength(Entity par1Entity) { + ItemStack itemstack = this.getHeldItem(); + float f = (float) (this.getMaxHealth() - this.getHealth()) / (float) this.getMaxHealth(); + int i = 3 + MathHelper.floor_float(f * 4.0F); + + return i; + } + + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + if(rand.nextInt(20) == 0) { + int damage = (int) (Items.ITEM_SCIMITAR.getMaxDamage() - rand.nextInt(Items.ITEM_SCIMITAR.getMaxDamage()) * 0.5 + 20); + this.entityDropItem(new ItemStack(Items.ITEM_SCIMITAR.itemID, 1, damage), 0.0F); + } + + if(rand.nextInt(10) == 0) { + int amount = rand.nextInt(2) + 1; + this.dropItem(Item.goldNugget.itemID, amount); + } + } +} diff --git a/src/com/teammetallurgy/atum/entity/EntityBarbarian.java b/src/com/teammetallurgy/atum/entity/EntityBarbarian.java new file mode 100644 index 0000000..7c2e921 --- /dev/null +++ b/src/com/teammetallurgy/atum/entity/EntityBarbarian.java @@ -0,0 +1,93 @@ +package com.teammetallurgy.atum.entity; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EnumCreatureAttribute; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +import com.teammetallurgy.atum.items.Items; + +public class EntityBarbarian extends EntityMob implements IAtumDayMob { + + public EntityBarbarian(World par1World) { + super(par1World); + this.experienceValue = 9; + + this.setCurrentItemOrArmor(0, new ItemStack(Items.ITEM_GREATSWORD)); + this.enchantEquipment(); + + for(int i = 0; i < this.equipmentDropChances.length; ++i) { + this.equipmentDropChances[i] = 0F; + } + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(30.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); + } + + @Override + protected void addRandomArmor() { + } + + /** + * Checks if the entity's current position is a valid location to spawn this entity. + */ + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } + + /** + * Checks to make sure the light is not too bright where the mob is spawning + */ + @Override + protected boolean isValidLightLevel() { + return true; + } + + /** + * Get this Entity's EnumCreatureAttribute + */ + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } + + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + if(rand.nextInt(20) == 0) { + int damage = (int) (Items.ITEM_GREATSWORD.getMaxDamage() - rand.nextInt(Items.ITEM_GREATSWORD.getMaxDamage()) * 0.5 + 20); + this.entityDropItem(new ItemStack(Items.ITEM_GREATSWORD.itemID, 1, damage), 0.0F); + } + + if(rand.nextInt(4) == 0) { + int amount = rand.nextInt(2) + 1; + this.dropItem(Item.goldNugget.itemID, amount); + } + } + + /** + * Basic mob attack. Default to touch of death in EntityCreature. Overridden by each mob to define their attack. + */ + @Override + protected void attackEntity(Entity mob, float par2) { + + if(!(mob instanceof EntityStoneSoldier || mob instanceof EntityPharaoh)) { + float j = 1.2f; + mob.addVelocity((double) (-MathHelper.sin(this.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), 0.1D, (double) (MathHelper.cos(this.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); + } + super.attackEntity(mob, par2); + } +} diff --git a/src/com/teammetallurgy/atum/entity/EntityBonestorm.java b/src/com/teammetallurgy/atum/entity/EntityBonestorm.java new file mode 100644 index 0000000..3a8b151 --- /dev/null +++ b/src/com/teammetallurgy/atum/entity/EntityBonestorm.java @@ -0,0 +1,220 @@ +package com.teammetallurgy.atum.entity; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.projectile.EntitySmallFireball; +import net.minecraft.item.Item; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class EntityBonestorm extends EntityMob { + /** Random offset used in floating behaviour */ + private float heightOffset = 0.5F; + + /** ticks until heightOffset is randomized */ + private int heightOffsetUpdateTime; + private int field_70846_g; + + public EntityBonestorm(World par1World) { + super(par1World); + // this.texture = "/mob/fire.png"; + this.isImmuneToFire = true; + this.experienceValue = 10; + + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(20.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(2.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); + } + + @Override + protected void entityInit() { + super.entityInit(); + this.dataWatcher.addObject(16, new Byte((byte) 0)); + } + + /** + * Returns the sound this mob makes while it's alive. + */ + protected String getLivingSound() { + return "mob.blaze.breathe"; + } + + /** + * Returns the sound this mob makes when it is hurt. + */ + protected String getHurtSound() { + return "mob.blaze.hit"; + } + + /** + * Returns the sound this mob makes on death. + */ + protected String getDeathSound() { + return "mob.blaze.death"; + } + + @SideOnly(Side.CLIENT) + public int getBrightnessForRender(float par1) { + return 15728880; + } + + /** + * Gets how bright this entity is. + */ + public float getBrightness(float par1) { + return 1.0F; + } + + /** + * Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons use this to react to sunlight and start to burn. + */ + public void onLivingUpdate() { + if(!this.worldObj.isRemote) { + if(this.isWet()) { + this.attackEntityFrom(DamageSource.drown, 1); + } + + --this.heightOffsetUpdateTime; + + if(this.heightOffsetUpdateTime <= 0) { + this.heightOffsetUpdateTime = 100; + this.heightOffset = 0.5F + (float) this.rand.nextGaussian() * 3.0F; + } + + if(this.getEntityToAttack() != null && this.getEntityToAttack().posY + (double) this.getEntityToAttack().getEyeHeight() > this.posY + (double) this.getEyeHeight() + (double) this.heightOffset) { + this.motionY += (0.30000001192092896D - this.motionY) * 0.30000001192092896D; + } + } + + if(this.rand.nextInt(24) == 0) { + this.worldObj.playSoundEffect(this.posX + 0.5D, this.posY + 0.5D, this.posZ + 0.5D, "fire.fire", 1.0F + this.rand.nextFloat(), this.rand.nextFloat() * 0.7F + 0.3F); + } + + if(!this.onGround && this.motionY < 0.0D) { + this.motionY *= 0.6D; + } + + for(int i = 0; i < 2; ++i) { + this.worldObj.spawnParticle("largesmoke", this.posX + (this.rand.nextDouble() - 0.5D) * (double) this.width, this.posY + this.rand.nextDouble() * (double) this.height, this.posZ + (this.rand.nextDouble() - 0.5D) * (double) this.width, 0.0D, 0.0D, 0.0D); + } + + super.onLivingUpdate(); + } + + /** + * Basic mob attack. Default to touch of death in EntityCreature. Overridden by each mob to define their attack. + */ + protected void attackEntity(Entity par1Entity, float par2) { + if(this.attackTime <= 0 && par2 < 2.0F && par1Entity.boundingBox.maxY > this.boundingBox.minY && par1Entity.boundingBox.minY < this.boundingBox.maxY) { + this.attackTime = 20; + this.attackEntityAsMob(par1Entity); + } else if(par2 < 30.0F) { + double d0 = par1Entity.posX - this.posX; + double d1 = par1Entity.boundingBox.minY + (double) (par1Entity.height / 2.0F) - (this.posY + (double) (this.height / 2.0F)); + double d2 = par1Entity.posZ - this.posZ; + + if(this.attackTime == 0) { + ++this.field_70846_g; + + if(this.field_70846_g == 1) { + this.attackTime = 60; + this.func_70844_e(true); + } else if(this.field_70846_g <= 4) { + this.attackTime = 6; + } else { + this.attackTime = 100; + this.field_70846_g = 0; + this.func_70844_e(false); + } + + if(this.field_70846_g > 1) { + float f1 = MathHelper.sqrt_float(par2) * 0.5F; + this.worldObj.playAuxSFXAtEntity((EntityPlayer) null, 1009, (int) this.posX, (int) this.posY, (int) this.posZ, 0); + + for(int i = 0; i < 1; ++i) { + EntitySmallFireball entitysmallfireball = new EntitySmallFireball(this.worldObj, this, d0 + this.rand.nextGaussian() * (double) f1, d1, d2 + this.rand.nextGaussian() * (double) f1); + entitysmallfireball.posY = this.posY + (double) (this.height / 2.0F) + 0.5D; + this.worldObj.spawnEntityInWorld(entitysmallfireball); + } + } + } + + this.rotationYaw = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + this.hasAttacked = true; + } + } + + /** + * Called when the mob is falling. Calculates and applies fall damage. + */ + protected void fall(float par1) { + } + + /** + * Returns the item ID for the item the mob drops on death. + */ + protected int getDropItemId() { + return Item.blazeRod.itemID; + } + + /** + * Returns true if the entity is on fire. Used by render to add the fire effect on rendering. + */ + public boolean isBurning() { + return this.func_70845_n(); + } + + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + */ + protected void dropFewItems(boolean par1, int par2) { + if(par1) { + int j = this.rand.nextInt(2 + par2); + + for(int k = 0; k < j; ++k) { + this.dropItem(Item.blazeRod.itemID, 1); + } + } + } + + public boolean func_70845_n() { + return (this.dataWatcher.getWatchableObjectByte(16) & 1) != 0; + } + + public void func_70844_e(boolean par1) { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + + if(par1) { + b0 = (byte) (b0 | 1); + } else { + b0 &= -2; + } + + this.dataWatcher.updateObject(16, Byte.valueOf(b0)); + } + + /** + * Checks to make sure the light is not too bright where the mob is spawning + */ + protected boolean isValidLightLevel() { + return true; + } + + /** + * Returns the amount of damage a mob should deal. + */ + public int getAttackStrength(Entity par1Entity) { + return 6; + } +} diff --git a/src/com/teammetallurgy/atum/entity/EntityDesertWolf.java b/src/com/teammetallurgy/atum/entity/EntityDesertWolf.java new file mode 100644 index 0000000..c224f35 --- /dev/null +++ b/src/com/teammetallurgy/atum/entity/EntityDesertWolf.java @@ -0,0 +1,540 @@ +package com.teammetallurgy.atum.entity; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityAgeable; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.ai.EntityAIAttackOnCollide; +import net.minecraft.entity.ai.EntityAIFollowOwner; +import net.minecraft.entity.ai.EntityAIHurtByTarget; +import net.minecraft.entity.ai.EntityAILeapAtTarget; +import net.minecraft.entity.ai.EntityAILookIdle; +import net.minecraft.entity.ai.EntityAIMate; +import net.minecraft.entity.ai.EntityAIOwnerHurtByTarget; +import net.minecraft.entity.ai.EntityAIOwnerHurtTarget; +import net.minecraft.entity.ai.EntityAISwimming; +import net.minecraft.entity.ai.EntityAITargetNonTamed; +import net.minecraft.entity.ai.EntityAIWander; +import net.minecraft.entity.ai.EntityAIWatchClosest; +import net.minecraft.entity.passive.EntityAnimal; +import net.minecraft.entity.passive.EntityTameable; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.projectile.EntityArrow; +import net.minecraft.item.Item; +import net.minecraft.item.ItemFood; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.pathfinding.PathEntity; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +import com.teammetallurgy.atum.items.Items; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class EntityDesertWolf extends EntityTameable implements IAtumDayMob { + private float field_70926_e; + private float field_70924_f; + + /** true is the wolf is wet else false */ + private boolean isShaking; + private boolean field_70928_h; + + /** + * This time increases while wolf is shaking and emitting water particles. + */ + private float timeWolfIsShaking; + private float prevTimeWolfIsShaking; + + public EntityDesertWolf(World par1World) { + super(par1World); + this.dataWatcher.addObject(18, new Float(this.getHealth())); + this.dataWatcher.addObject(19, new Byte((byte) 0)); + this.setAngry(true); + this.experienceValue = 6; + + this.setSize(0.6F, 0.8F); + this.getNavigator().setAvoidsWater(true); + this.tasks.addTask(1, new EntityAISwimming(this)); + this.tasks.addTask(2, this.aiSit); + this.tasks.addTask(3, new EntityAILeapAtTarget(this, 0.4F)); + this.tasks.addTask(4, new EntityAIAttackOnCollide(this, 1, true)); + this.tasks.addTask(5, new EntityAIFollowOwner(this, 0.8, 10.0F, 2.0F)); + this.tasks.addTask(6, new EntityAIMate(this, 0.8)); + this.tasks.addTask(7, new EntityAIWander(this, 0.88)); + this.tasks.addTask(8, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); + this.tasks.addTask(9, new EntityAILookIdle(this)); + this.targetTasks.addTask(1, new EntityAIOwnerHurtByTarget(this)); + this.targetTasks.addTask(2, new EntityAIOwnerHurtTarget(this)); + this.targetTasks.addTask(3, new EntityAIHurtByTarget(this, true)); + this.targetTasks.addTask(4, new EntityAITargetNonTamed(this, EntityPlayer.class, 16, true)); + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(8.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); + } + + /** + * Returns true if the newer Entity AI code should be run + */ + @Override + public boolean isAIEnabled() { + return true; + } + + /** + * Finds the closest player within 16 blocks to attack, or null if this Entity isn't interested in attacking (Animals, Spiders at day, peaceful PigZombies). + */ + @Override + protected Entity findPlayerToAttack() { + EntityPlayer entityplayer = this.worldObj.getClosestVulnerablePlayerToEntity(this, 16.0D); + return entityplayer != null && this.canEntityBeSeen(entityplayer) ? entityplayer : null; + } + + /** + * Sets the active target the Task system uses for tracking + */ + @Override + public void setAttackTarget(EntityLivingBase par1EntityLiving) { + super.setAttackTarget(par1EntityLiving); + + if(par1EntityLiving instanceof EntityPlayer) { + this.setAngry(true); + } + } + + /** + * main AI tick function, replaces updateEntityActionState + */ + @Override + protected void updateAITick() { + this.dataWatcher.updateObject(18, Float.valueOf(this.getHealth())); + } + + /** + * Checks if the entity's current position is a valid location to spawn this entity. + */ + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } + + /** + * Plays step sound at given x, y, z for the entity + */ + @Override + protected void playStepSound(int par1, int par2, int par3, int par4) { + this.playSound("mob.wolf.step", 0.15F, 1.0F); + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + @Override + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + super.writeEntityToNBT(par1NBTTagCompound); + par1NBTTagCompound.setBoolean("Angry", this.isAngry()); + par1NBTTagCompound.setByte("CollarColor", (byte) this.getCollarColor()); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + @Override + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + super.readEntityFromNBT(par1NBTTagCompound); + this.setAngry(par1NBTTagCompound.getBoolean("Angry")); + + if(par1NBTTagCompound.hasKey("CollarColor")) { + this.setCollarColor(par1NBTTagCompound.getByte("CollarColor")); + } + } + + /** + * Determines if an entity can be despawned, used on idle far away entities + */ + @Override + protected boolean canDespawn() { + return this.isAngry(); + } + + /** + * Returns the sound this mob makes while it's alive. + */ + @Override + protected String getLivingSound() { + return this.isAngry() ? "mob.wolf.growl" : (this.rand.nextInt(3) == 0 ? (this.isTamed() && this.dataWatcher.getWatchableObjectInt(18) < 10 ? "mob.wolf.whine" : "mob.wolf.panting") : "mob.wolf.bark"); + } + + /** + * Returns the sound this mob makes when it is hurt. + */ + @Override + protected String getHurtSound() { + return "mob.wolf.hurt"; + } + + /** + * Returns the sound this mob makes on death. + */ + @Override + protected String getDeathSound() { + return "mob.wolf.death"; + } + + /** + * Returns the volume for the sounds this mob makes. + */ + @Override + protected float getSoundVolume() { + return 0.4F; + } + + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + if(rand.nextInt(10) == 0) { + this.dropItem(Item.bone.itemID, 1); + } + if(rand.nextInt(4) == 0) { + int amount = rand.nextInt(2) + 1; + this.dropItem(Items.pelt.itemID, amount); + } + } + + /** + * Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons use this to react to sunlight and start to burn. + */ + @Override + public void onLivingUpdate() { + super.onLivingUpdate(); + + if(!this.worldObj.isRemote && this.isShaking && !this.field_70928_h && !this.hasPath() && this.onGround) { + this.field_70928_h = true; + this.timeWolfIsShaking = 0.0F; + this.prevTimeWolfIsShaking = 0.0F; + this.worldObj.setEntityState(this, (byte) 8); + } + } + + /** + * Called to update the entity's position/logic. + */ + @Override + public void onUpdate() { + super.onUpdate(); + + if(!this.worldObj.isRemote && this.worldObj.difficultySetting == 0) { + this.setDead(); + return; + } + + this.field_70924_f = this.field_70926_e; + + if(this.func_70922_bv()) { + this.field_70926_e += (1.0F - this.field_70926_e) * 0.4F; + } else { + this.field_70926_e += (0.0F - this.field_70926_e) * 0.4F; + } + + if(this.func_70922_bv()) { + this.numTicksToChaseTarget = 10; + } + + if(this.isWet()) { + this.isShaking = true; + this.field_70928_h = false; + this.timeWolfIsShaking = 0.0F; + this.prevTimeWolfIsShaking = 0.0F; + } else if((this.isShaking || this.field_70928_h) && this.field_70928_h) { + if(this.timeWolfIsShaking == 0.0F) { + this.playSound("mob.wolf.shake", this.getSoundVolume(), (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F); + } + + this.prevTimeWolfIsShaking = this.timeWolfIsShaking; + this.timeWolfIsShaking += 0.05F; + + if(this.prevTimeWolfIsShaking >= 2.0F) { + this.isShaking = false; + this.field_70928_h = false; + this.prevTimeWolfIsShaking = 0.0F; + this.timeWolfIsShaking = 0.0F; + } + + if(this.timeWolfIsShaking > 0.4F) { + float f = (float) this.boundingBox.minY; + int i = (int) (MathHelper.sin((this.timeWolfIsShaking - 0.4F) * (float) Math.PI) * 7.0F); + + for(int j = 0; j < i; ++j) { + float f1 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; + float f2 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; + this.worldObj.spawnParticle("splash", this.posX + (double) f1, (double) (f + 0.8F), this.posZ + (double) f2, this.motionX, this.motionY, this.motionZ); + } + } + } + } + + @SideOnly(Side.CLIENT) + public boolean getWolfShaking() { + return this.isShaking; + } + + @SideOnly(Side.CLIENT) + /** + * Used when calculating the amount of shading to apply while the wolf is shaking. + */ + public float getShadingWhileShaking(float par1) { + return 0.75F + (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * par1) / 2.0F * 0.25F; + } + + @SideOnly(Side.CLIENT) + public float getShakeAngle(float par1, float par2) { + float f2 = (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * par1 + par2) / 1.8F; + + if(f2 < 0.0F) { + f2 = 0.0F; + } else if(f2 > 1.0F) { + f2 = 1.0F; + } + + return MathHelper.sin(f2 * (float) Math.PI) * MathHelper.sin(f2 * (float) Math.PI * 11.0F) * 0.15F * (float) Math.PI; + } + + @SideOnly(Side.CLIENT) + public float getInterestedAngle(float par1) { + return (this.field_70924_f + (this.field_70926_e - this.field_70924_f) * par1) * 0.15F * (float) Math.PI; + } + + @Override + public float getEyeHeight() { + return this.height * 0.8F; + } + + /** + * The speed it takes to move the entityliving's rotationPitch through the faceEntity method. This is only currently use in wolves. + */ + @Override + public int getVerticalFaceSpeed() { + return this.isSitting() ? 20 : super.getVerticalFaceSpeed(); + } + + /** + * Called when the entity is attacked. + */ + @Override + public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { + if(this.isEntityInvulnerable()) { + return false; + } else { + Entity entity = par1DamageSource.getEntity(); + this.aiSit.setSitting(false); + + if(entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) { + par2 = (par2 + 1) / 2; + } + + return super.attackEntityFrom(par1DamageSource, par2); + } + } + + @Override + public boolean attackEntityAsMob(Entity par1Entity) { + int i = this.isTamed() ? 4 : 2; + return par1Entity.attackEntityFrom(DamageSource.causeMobDamage(this), i); + } + + /** + * Called when a player interacts with a mob. e.g. gets milk from a cow, gets into the saddle on a pig. + */ + @Override + public boolean interact(EntityPlayer par1EntityPlayer) { + ItemStack itemstack = par1EntityPlayer.inventory.getCurrentItem(); + + if(this.isTamed()) { + if(itemstack != null) { + if(Item.itemsList[itemstack.itemID] instanceof ItemFood) { + ItemFood itemfood = (ItemFood) Item.itemsList[itemstack.itemID]; + + if(itemfood.isWolfsFavoriteMeat() && this.dataWatcher.getWatchableObjectInt(18) < 20) { + if(!par1EntityPlayer.capabilities.isCreativeMode) { + --itemstack.stackSize; + } + + this.heal(itemfood.getHealAmount()); + + if(itemstack.stackSize <= 0) { + par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); + } + + return true; + } + } + } + + if(par1EntityPlayer.username.equalsIgnoreCase(this.getOwnerName()) && !this.worldObj.isRemote && !this.isBreedingItem(itemstack)) { + this.aiSit.setSitting(!this.isSitting()); + this.isJumping = false; + this.setPathToEntity((PathEntity) null); + } + } else if(itemstack != null && itemstack.itemID == Item.bone.itemID && !this.isAngry()) { + if(!par1EntityPlayer.capabilities.isCreativeMode) { + --itemstack.stackSize; + } + + if(itemstack.stackSize <= 0) { + par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); + } + + if(!this.worldObj.isRemote) { + if(this.rand.nextInt(3) == 0) { + this.setTamed(true); + this.setPathToEntity((PathEntity) null); + this.setAttackTarget((EntityLiving) null); + this.aiSit.setSitting(true); + this.setOwner(par1EntityPlayer.username); + this.playTameEffect(true); + this.worldObj.setEntityState(this, (byte) 7); + } else { + this.playTameEffect(false); + this.worldObj.setEntityState(this, (byte) 6); + } + } + + return true; + } + + return super.interact(par1EntityPlayer); + } + + @SideOnly(Side.CLIENT) + @Override + public void handleHealthUpdate(byte par1) { + if(par1 == 8) { + this.field_70928_h = true; + this.timeWolfIsShaking = 0.0F; + this.prevTimeWolfIsShaking = 0.0F; + } else { + super.handleHealthUpdate(par1); + } + } + + @SideOnly(Side.CLIENT) + public float getTailRotation() { + return this.isAngry() ? 1.5393804F : (this.isTamed() ? (0.55F - (float) (20 - this.dataWatcher.getWatchableObjectInt(18)) * 0.02F) * (float) Math.PI : ((float) Math.PI / 5F)); + } + + /** + * Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on the animal type) + */ + @Override + public boolean isBreedingItem(ItemStack par1ItemStack) { + return par1ItemStack == null ? false : (!(Item.itemsList[par1ItemStack.itemID] instanceof ItemFood) ? false : ((ItemFood) Item.itemsList[par1ItemStack.itemID]).isWolfsFavoriteMeat()); + } + + /** + * Will return how many at most can spawn in a chunk at once. + */ + @Override + public int getMaxSpawnedInChunk() { + return 8; + } + + /** + * Determines whether this wolf is angry or not. + */ + public boolean isAngry() { + return (this.dataWatcher.getWatchableObjectByte(16) & 2) != 0; + } + + /** + * Sets whether this wolf is angry or not. + */ + public void setAngry(boolean par1) { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + + if(par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 2))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -3))); + } + } + + /** + * Return this wolf's collar color. + */ + public int getCollarColor() { + return this.dataWatcher.getWatchableObjectByte(20) & 15; + } + + /** + * Set this wolf's collar color. + */ + public void setCollarColor(int par1) { + this.dataWatcher.updateObject(20, Byte.valueOf((byte) (par1 & 15))); + } + + /** + * This function is used when two same-species animals in 'love mode' breed to generate the new baby animal. + */ + public EntityDesertWolf spawnBabyAnimal(EntityAgeable par1EntityAgeable) { + EntityDesertWolf entitywolf = new EntityDesertWolf(this.worldObj); + String s = this.getOwnerName(); + + if(s != null && s.trim().length() > 0) { + entitywolf.setOwner(s); + entitywolf.setTamed(true); + } + + return entitywolf; + } + + public void func_70918_i(boolean par1) { + byte b0 = this.dataWatcher.getWatchableObjectByte(19); + + if(par1) { + this.dataWatcher.updateObject(19, Byte.valueOf((byte) 1)); + } else { + this.dataWatcher.updateObject(19, Byte.valueOf((byte) 0)); + } + } + + /** + * Returns true if the mob is currently able to mate with the specified mob. + */ + @Override + public boolean canMateWith(EntityAnimal par1EntityAnimal) { + if(par1EntityAnimal == this) { + return false; + } else if(!this.isTamed()) { + return false; + } else if(!(par1EntityAnimal instanceof EntityDesertWolf)) { + return false; + } else { + EntityDesertWolf entitywolf = (EntityDesertWolf) par1EntityAnimal; + return !entitywolf.isTamed() ? false : (entitywolf.isSitting() ? false : this.isInLove() && entitywolf.isInLove()); + } + } + + public boolean func_70922_bv() { + return this.dataWatcher.getWatchableObjectByte(19) == 1; + } + + @Override + public EntityAgeable createChild(EntityAgeable par1EntityAgeable) { + return this.spawnBabyAnimal(par1EntityAgeable); + } + + @Override + public Entity getOwner() { + return null; + } +} diff --git a/src/com/teammetallurgy/atum/entity/EntityDustySkeleton.java b/src/com/teammetallurgy/atum/entity/EntityDustySkeleton.java new file mode 100644 index 0000000..3ee1ac2 --- /dev/null +++ b/src/com/teammetallurgy/atum/entity/EntityDustySkeleton.java @@ -0,0 +1,69 @@ +package com.teammetallurgy.atum.entity; + +import net.minecraft.entity.EnumCreatureAttribute; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.item.Item; +import net.minecraft.util.DamageSource; +import net.minecraft.world.World; + +public class EntityDustySkeleton extends EntityMob implements IAtumNightMob { + + public EntityDustySkeleton(World par1World) { + super(par1World); + this.isImmuneToFire = true; + this.experienceValue = 6; + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(20.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); + } + + + @Override + public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { + return super.attackEntityFrom(par1DamageSource, par2); + } + + /** + * Checks if the entity's current position is a valid location to spawn this entity. + */ + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } + + /** + * Checks to make sure the light is not too bright where the mob is spawning + */ + @Override + protected boolean isValidLightLevel() { + return true; + } + + /** + * Get this Entity's EnumCreatureAttribute + */ + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEAD; + } + + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + switch(this.rand.nextInt(4)) { + case 0: + int amount = rand.nextInt(2) + 1; + this.dropItem(Item.bone.itemID, amount); + break; + } + } +} diff --git a/src/com/teammetallurgy/atum/entity/EntityGhost.java b/src/com/teammetallurgy/atum/entity/EntityGhost.java new file mode 100644 index 0000000..3f10ee9 --- /dev/null +++ b/src/com/teammetallurgy/atum/entity/EntityGhost.java @@ -0,0 +1,134 @@ +package com.teammetallurgy.atum.entity; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EnumCreatureAttribute; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; +import net.minecraftforge.common.ForgeHooks; + +import com.teammetallurgy.atum.items.Items; + +public class EntityGhost extends EntityMob implements IAtumNightMob { + private int cycleHeight = 0; + private int cycleTime = 100; + + public EntityGhost(World par1World) { + super(par1World); + this.experienceValue = 6; + cycleTime = (int) ((Math.random() * 40) + 80); + cycleHeight = (int) (Math.random() * cycleTime); + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(10.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(1.04D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(2.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); + } + + /** + * Returns true if the newer Entity AI code should be run + */ + @Override + public boolean isAIEnabled() { + return false; + } + + public void onLivingUpdate() { + cycleHeight = (cycleHeight + 1) % cycleTime; + + super.onLivingUpdate(); + } + + /** + * Checks if the entity's current position is a valid location to spawn this entity. + */ + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } + + /** + * Checks to make sure the light is not too bright where the mob is spawning + */ + @Override + protected boolean isValidLightLevel() { + return true; + } + + @Override + protected void jump() { + this.motionY = 0.56999998688697815D; + + if(this.isPotionActive(Potion.jump)) { + this.motionY += (double) ((float) (this.getActivePotionEffect(Potion.jump).getAmplifier() + 1) * 0.1F); + } + + if(this.isSprinting()) { + float f = this.rotationYaw * 0.017453292F; + this.motionX -= (double) (MathHelper.sin(f) * 0.2F); + this.motionZ += (double) (MathHelper.cos(f) * 0.2F); + } + + this.isAirBorne = true; + ForgeHooks.onLivingJump(this); + } + + /** + * Plays step sound at given x, y, z for the entity + */ + @Override + protected void playStepSound(int par1, int par2, int par3, int par4) { + } + + /** + * Get this Entity's EnumCreatureAttribute + */ + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEAD; + } + + @Override + public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { + return super.attackEntityFrom(par1DamageSource, par2); + } + + /** + * Basic mob attack. Default to touch of death in EntityCreature. Overridden by each mob to define their attack. + */ + @Override + protected void attackEntity(Entity par1Entity, float par2) { + if(this.attackTime <= 0 && par2 < 2.0F && par1Entity.boundingBox.maxY > this.boundingBox.minY && par1Entity.boundingBox.minY < this.boundingBox.maxY) { + this.attackTime = 20; + this.attackEntityAsMob(par1Entity); + if(Math.random() > 0.75 && par1Entity instanceof EntityLiving) { + EntityLiving e = (EntityLiving) par1Entity; + e.addPotionEffect(new PotionEffect(2, 100, 2)); + } + } + } + + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + if(this.rand.nextInt(4) == 0) { + int amount = rand.nextInt(3) + 1; + this.dropItem(Items.ectoplasm.itemID, amount); + } + } + + public double getFloatingHeight() { + return Math.cos(2 * Math.PI * (cycleHeight / (double) cycleTime)) / 3.0F; + } +} diff --git a/src/com/teammetallurgy/atum/entity/EntityMummy.java b/src/com/teammetallurgy/atum/entity/EntityMummy.java new file mode 100644 index 0000000..1ac8c10 --- /dev/null +++ b/src/com/teammetallurgy/atum/entity/EntityMummy.java @@ -0,0 +1,89 @@ +package com.teammetallurgy.atum.entity; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EnumCreatureAttribute; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.item.Item; +import net.minecraft.util.DamageSource; +import net.minecraft.world.World; + +import com.teammetallurgy.atum.items.Items; + +public class EntityMummy extends EntityMob implements IAtumNightMob { + + public EntityMummy(World par1World) { + super(par1World); + this.experienceValue = 8; + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(40.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(2.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); + } + + /** + * Checks if the entity's current position is a valid location to spawn this entity. + */ + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } + + /** + * Checks to make sure the light is not too bright where the mob is spawning + */ + @Override + protected boolean isValidLightLevel() { + return true; + } + + /** + * Get this Entity's EnumCreatureAttribute + */ + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEAD; + } + + @Override + public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { + if(par1DamageSource.isFireDamage()) { + par2 += 1; + } + if(this.isBurning()) { + par2 = (int) (par2 * 1.5); + } + + return super.attackEntityFrom(par1DamageSource, par2); + } + + @Override + public boolean attackEntityAsMob(Entity par1Entity) { + boolean flag = super.attackEntityAsMob(par1Entity); + + if(flag && this.isBurning() && this.rand.nextFloat() < (float) this.worldObj.difficultySetting * 0.4F) { + par1Entity.setFire(2 * this.worldObj.difficultySetting); + } + + return flag; + } + + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + if(rand.nextInt(4) == 0) { + this.dropItem(Item.rottenFlesh.itemID, 1); + } + if(rand.nextInt(4) == 0) { + int amount = rand.nextInt(2) + 1; + this.dropItem(Items.scrap.itemID, amount); + } + } +} diff --git a/src/com/teammetallurgy/atum/entity/EntityPharaoh.java b/src/com/teammetallurgy/atum/entity/EntityPharaoh.java new file mode 100644 index 0000000..7eac1a2 --- /dev/null +++ b/src/com/teammetallurgy/atum/entity/EntityPharaoh.java @@ -0,0 +1,386 @@ +package com.teammetallurgy.atum.entity; + +import java.util.List; +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EnumCreatureAttribute; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.boss.IBossDisplayData; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +import com.teammetallurgy.atum.AtumLoot; +import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.tileentity.TileEntityPharaohChest; +import com.teammetallurgy.atum.items.Items; + +import cpw.mods.fml.common.FMLCommonHandler; + +public class EntityPharaoh extends EntityMob implements IBossDisplayData { + int linkedX; + int linkedY; + int linkedZ; + + int stage; + + public static String[] prefix = {"Ama'", "Ata'", "Ato'", "Bak'", "Cal'", "Djet'", "Eje'", "For'", "Gol'", "Gut'", "Hop'", "Hor'", "Huni'", "Iam'", "Jor'", "Kal'", "Khas'", "Khor'", "Lat'", "Mal'", "Not'", "Oap'", "Pra'", "Qo'", "Ras'", "Shas'", "Thoth'", "Tui'", "Uld'", "Ver'", "Wot'", "Xo'", "Yat'", "Zyt'", "Khep'"}; + public static String[] suffix = {"Ahat", "Amesh", "Amon", "Anut", "Baroom", "Chanta", "Erant", "Funam", "Daresh", "Djer", "Hotesh", "Khaden", "Kron", "Gorkum", "Ialenter", "Ma'at", "Narmer", "Radeem", "Jaloom", "Lepsha", "Quor", "Oleshet", "Peput", "Talat", "Ulam", "Veresh", "Ranesh", "Snef", "Wollolo", "Hathor", "Intef", "Neferk", "Khatne", "Tepy", "Moret"}; + public static String[] numeral = {"I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII", "XIII", "XIV", "XV"}; + + private int suffixID = 0; + private int prefixID = 0; + private int numID = 0; + private int regenTime = 0; + + public EntityPharaoh(World par1World) { + super(par1World); + this.experienceValue = 250; + Random rand = new Random(); + stage = 0; + + this.setCurrentItemOrArmor(0, new ItemStack(Items.scepter)); + + for(int i = 0; i < this.equipmentDropChances.length; ++i) { + this.equipmentDropChances[i] = 0F; + } + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(300.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); + } + + public void setName(int par1, int par2, int par3) { + suffixID = par1; + prefixID = par2; + numID = par3; + this.dataWatcher.updateObject(18, new Integer(suffixID)); + this.dataWatcher.updateObject(19, new Integer(prefixID)); + this.dataWatcher.updateObject(20, new Integer(numID)); + } + + public void link(int x, int y, int z) { + linkedX = x; + linkedY = y; + linkedZ = z; + } + + /** + * Makes the entity despawn if requirements are reached + */ + @Override + protected void despawnEntity() { + } + + @Override + public void onDeath(DamageSource par1DamageSource) { + super.onDeath(par1DamageSource); + + if(par1DamageSource.damageType == "player") { + EntityPlayer slayer = (EntityPlayer) par1DamageSource.getEntity(); + if(!worldObj.isRemote) { + List players = FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList; + for(EntityPlayer player : players) { + player.addChatMessage(this.getEntityName() + " was slain by " + slayer.getEntityName()); + } + } + } + + if(linkedX != 0 && linkedY != 0 && linkedZ != 0) { + TileEntity te = worldObj.getBlockTileEntity(linkedX, linkedY, linkedZ); + if(te != null) { + if(te instanceof TileEntityPharaohChest) { + TileEntityPharaohChest tepc = (TileEntityPharaohChest) te; + tepc.setOpenable(); + } + } + } + } + + @Override + public String getEntityName() { + try { + int s = this.dataWatcher.getWatchableObjectInt(18); + int p = this.dataWatcher.getWatchableObjectInt(19); + int n = this.dataWatcher.getWatchableObjectInt(20); + return "Pharaoh " + prefix[p] + suffix[s] + " " + numeral[n]; + } catch(Exception e) { + return ""; + } + + } + + /** + * Get this Entity's EnumCreatureAttribute + */ + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEAD; + } + + /** + * knocks back this entity + */ + @Override + public void knockBack(Entity par1Entity, float par2, double par3, double par5) { + this.isAirBorne = true; + float f = MathHelper.sqrt_double(par3 * par3 + par5 * par5); + float f1 = 0.3F; + this.motionX /= 2.0D; + this.motionY /= 2.0D; + this.motionZ /= 2.0D; + this.motionX -= par3 / (double) f * (double) f1; + this.motionZ -= par5 / (double) f * (double) f1; + + if(this.motionY > 0.4000000059604645D) { + this.motionY = 0.4000000059604645D; + } + } + + @Override + public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { + if(par1DamageSource.isFireDamage()) { + par2 = 0; + } + + if(super.attackEntityFrom(par1DamageSource, par2)) { + if(par1DamageSource.getEntity() != null) { + Entity par1Entity = par1DamageSource.getEntity(); + int j = 0; + if(par1Entity instanceof EntityLiving) { + j += EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, this); + + if(j > 0) { + this.motionX /= 0.6D; + this.motionZ /= 0.6D; + this.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), -0.1D, (double) (-MathHelper.cos(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); + } + } + + } + + if(this.getHealth() < this.getMaxHealth() * 0.75 && stage == 0) { + stage++; + spawnGuards(); + } else if(stage == 1 && this.getHealth() < this.getMaxHealth() * 0.5) { + stage++; + spawnGuards(); + } else if(stage == 2 && this.getHealth() < this.getMaxHealth() * 0.25) { + stage++; + spawnGuards(); + } + return true; + } + + return false; + } + + /** + * Destroys all blocks that aren't associated with 'The End' inside the given bounding box. + */ + + private boolean destroyBlocksInAABB(AxisAlignedBB par1AxisAlignedBB) { + int minX = MathHelper.floor_double(par1AxisAlignedBB.minX); + int minY = MathHelper.floor_double(par1AxisAlignedBB.minY); + int minZ = MathHelper.floor_double(par1AxisAlignedBB.minZ); + int maxX = MathHelper.floor_double(par1AxisAlignedBB.maxX); + int maxY = MathHelper.floor_double(par1AxisAlignedBB.maxY); + int maxZ = MathHelper.floor_double(par1AxisAlignedBB.maxZ); + boolean flag = false; + boolean flag1 = false; + + for(int x = minX; x <= maxX; ++x) { + for(int y = minY; y <= maxY; ++y) { + for(int z = minZ; z <= maxZ; ++z) { + int id = this.worldObj.getBlockId(x, y, z); + int metadata = this.worldObj.getBlockMetadata(x, y, z); + Block block = Block.blocksList[id]; + + if(block != null) { + if(id != Blocks.BLOCK_LARGEBRICK.blockID && id != Blocks.BLOCK_PHARAOHCHEST.blockID && Block.blocksList[id].isBlockSolid(worldObj, x, y, z, 0)) { + Block.blocksList[id].dropBlockAsItem(worldObj, x, y, z, metadata, 0); + flag1 = this.worldObj.setBlockToAir(x, y, z) || flag1; + } + + flag = true; + } + } + } + } + + if(flag1) { + System.out.println("explode"); + double d0 = par1AxisAlignedBB.minX + (par1AxisAlignedBB.maxX - par1AxisAlignedBB.minX) * (double) this.rand.nextFloat(); + double d1 = par1AxisAlignedBB.minY + (par1AxisAlignedBB.maxY - par1AxisAlignedBB.minY) * (double) this.rand.nextFloat(); + double d2 = par1AxisAlignedBB.minZ + (par1AxisAlignedBB.maxZ - par1AxisAlignedBB.minZ) * (double) this.rand.nextFloat(); + this.worldObj.spawnParticle("largeexplode", d0, d1, d2, 0.0D, 0.0D, 0.0D); + } + + return flag; + } + + private void spawnGuards() { + int numSpawned = 0; + + if(trySpawnMummy((int) posX + 1, (int) posY, (int) posZ)) { + numSpawned++; + } + if(numSpawned >= 2) + return; + + if(trySpawnMummy((int) posX - 1, (int) posY, (int) posZ - 1)) { + numSpawned++; + } + if(numSpawned >= 2) + return; + + if(trySpawnMummy((int) posX, (int) posY, (int) posZ + 1)) { + numSpawned++; + } + if(numSpawned >= 2) + return; + + if(trySpawnMummy((int) posX, (int) posY, (int) posZ - 1)) { + numSpawned++; + } + if(numSpawned >= 2) + return; + + if(trySpawnMummy((int) posX + 1, (int) posY, (int) posZ + 1)) { + numSpawned++; + } + if(numSpawned >= 2) + return; + + if(trySpawnMummy((int) posX - 1, (int) posY, (int) posZ - 1)) { + numSpawned++; + } + if(numSpawned >= 2) + return; + + if(trySpawnMummy((int) posX - 1, (int) posY, (int) posZ + 1)) { + numSpawned++; + } + if(numSpawned >= 2) + return; + + if(trySpawnMummy((int) posX + 1, (int) posY, (int) posZ - 1)) { + numSpawned++; + } + if(numSpawned >= 2) + return; + + } + + public boolean trySpawnMummy(int x, int y, int z) { + EntityMummy mummy1 = new EntityMummy(worldObj); + mummy1.setPosition(x, y, z); + if(mummy1.getCanSpawnHere()) { + if(!worldObj.isRemote) + worldObj.spawnEntityInWorld(mummy1); + mummy1.spawnExplosionParticle(); + return true; + } + + return false; + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + @Override + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + super.writeEntityToNBT(par1NBTTagCompound); + par1NBTTagCompound.setInteger("suffix", dataWatcher.getWatchableObjectInt(18)); + par1NBTTagCompound.setInteger("prefix", dataWatcher.getWatchableObjectInt(19)); + par1NBTTagCompound.setInteger("numeral", dataWatcher.getWatchableObjectInt(20)); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + @Override + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + super.readEntityFromNBT(par1NBTTagCompound); + this.dataWatcher.updateObject(16, Float.valueOf(this.prevHealth)); + suffixID = par1NBTTagCompound.getInteger("suffix"); + prefixID = par1NBTTagCompound.getInteger("prefix"); + numID = par1NBTTagCompound.getInteger("numeral"); + this.dataWatcher.updateObject(18, new Integer(suffixID)); + this.dataWatcher.updateObject(19, new Integer(prefixID)); + this.dataWatcher.updateObject(20, new Integer(numID)); + } + + @Override + protected void entityInit() { + super.entityInit(); + this.dataWatcher.addObject(16, new Float(100)); + if(suffixID == 0 && prefixID == 0 && numID == 0) { + suffixID = rand.nextInt(suffix.length); + prefixID = rand.nextInt(prefix.length); + numID = rand.nextInt(numeral.length); + } + this.dataWatcher.addObject(18, new Integer(suffixID)); + this.dataWatcher.addObject(19, new Integer(prefixID)); + this.dataWatcher.addObject(20, new Integer(numID)); + } + + /** + * Called to update the entity's position/logic. + */ + public void onUpdate() { + super.onUpdate(); + + if(!this.worldObj.isRemote && this.worldObj.difficultySetting == 0) { + TileEntity te = worldObj.getBlockTileEntity(linkedX, linkedY, linkedZ); + if(te instanceof TileEntityPharaohChest) { + ((TileEntityPharaohChest) te).setPharaohDespawned(); + } + this.setDead(); + } + } + + @Override + public void onLivingUpdate() { + if(!this.worldObj.isRemote) { + this.dataWatcher.updateObject(16, Float.valueOf(this.prevHealth)); + } + + if(regenTime++ > 20) { + regenTime = 0; + this.heal(1); + } + + super.onLivingUpdate(); + + if(!worldObj.isRemote) + this.destroyBlocksInAABB(this.boundingBox.expand(0.1, 0, 0.1)); + } + + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + int amount = rand.nextInt(2) + 1; + this.dropItem(Item.ingotGold.itemID, amount); + + this.entityDropItem(AtumLoot.getRandomArtifact(), 0.0F); + } +} diff --git a/src/com/teammetallurgy/atum/entity/EntityStone.java b/src/com/teammetallurgy/atum/entity/EntityStone.java new file mode 100644 index 0000000..8553931 --- /dev/null +++ b/src/com/teammetallurgy/atum/entity/EntityStone.java @@ -0,0 +1,28 @@ +package com.teammetallurgy.atum.entity; + +import net.minecraft.entity.EnumCreatureAttribute; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.world.World; + +public class EntityStone extends EntityMob +{ + + public EntityStone(World par1World) + { + super(par1World); + } + + public boolean isPotionApplicable(PotionEffect par1PotionEffect) + { + int i = par1PotionEffect.getPotionID(); + + if (i == Potion.poison.id) + { + return false; + } + + return true; + } +} diff --git a/src/com/teammetallurgy/atum/entity/EntityStoneSoldier.java b/src/com/teammetallurgy/atum/entity/EntityStoneSoldier.java new file mode 100644 index 0000000..24b31bb --- /dev/null +++ b/src/com/teammetallurgy/atum/entity/EntityStoneSoldier.java @@ -0,0 +1,115 @@ +package com.teammetallurgy.atum.entity; + +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EnumCreatureAttribute; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.item.ItemStack; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +import com.teammetallurgy.atum.items.Items; + +public class EntityStoneSoldier extends EntityStone implements IAtumNightMob, IAtumDayMob { + + public EntityStoneSoldier(World par1World) { + super(par1World); + this.isImmuneToFire = true; + this.experienceValue = 8; + + this.setCurrentItemOrArmor(0, new ItemStack(Items.stoneSoldierSword)); + + for(int i = 0; i < this.equipmentDropChances.length; ++i) { + this.equipmentDropChances[i] = 0F; + } + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(80.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); + } + + /** + * Checks if the entity's current position is a valid location to spawn this entity. + */ + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } + + /** + * Checks to make sure the light is not too bright where the mob is spawning + */ + @Override + protected boolean isValidLightLevel() { + return true; + } + + /** + * Get this Entity's EnumCreatureAttribute + */ + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } + + @Override + public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { + if(super.attackEntityFrom(par1DamageSource, par2)) { + if(par1DamageSource.getEntity() != null) { + Entity par1Entity = par1DamageSource.getEntity(); + int j = 0; + if(par1Entity instanceof EntityLiving) { + j += EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, this); + + if(j > 0) { + this.motionX /= 0.6D; + this.motionZ /= 0.6D; + this.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), -0.1D, (double) (-MathHelper.cos(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); + } + } + + } + return true; + } + + return false; + } + + /** + * knocks back this entity + */ + @Override + public void knockBack(Entity par1Entity, float par2, double par3, double par5) { + this.isAirBorne = true; + float f = MathHelper.sqrt_double(par3 * par3 + par5 * par5); + float f1 = 0.2F; + this.motionX /= 2.0D; + this.motionY /= 2.0D; + this.motionZ /= 2.0D; + this.motionX -= par3 / (double) f * (double) f1; + this.motionZ -= par5 / (double) f * (double) f1; + + if(this.motionY > 0.4000000059604645D) { + this.motionY = 0.4000000059604645D; + } + } + + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + if(this.rand.nextInt(4) == 0) { + int amount = rand.nextInt(2) + 1; + this.dropItem(Items.stoneChunk.itemID, amount); + } + } + +} diff --git a/src/com/teammetallurgy/atum/entity/IAtumDayMob.java b/src/com/teammetallurgy/atum/entity/IAtumDayMob.java new file mode 100644 index 0000000..a0cf9b9 --- /dev/null +++ b/src/com/teammetallurgy/atum/entity/IAtumDayMob.java @@ -0,0 +1,5 @@ +package com.teammetallurgy.atum.entity; + +public interface IAtumDayMob +{ +} diff --git a/src/com/teammetallurgy/atum/entity/IAtumNightMob.java b/src/com/teammetallurgy/atum/entity/IAtumNightMob.java new file mode 100644 index 0000000..ee0c213 --- /dev/null +++ b/src/com/teammetallurgy/atum/entity/IAtumNightMob.java @@ -0,0 +1,5 @@ +package com.teammetallurgy.atum.entity; + +public interface IAtumNightMob { + +} diff --git a/src/com/teammetallurgy/atum/entity/arrow/CustomArrow.java b/src/com/teammetallurgy/atum/entity/arrow/CustomArrow.java new file mode 100644 index 0000000..d4cf02e --- /dev/null +++ b/src/com/teammetallurgy/atum/entity/arrow/CustomArrow.java @@ -0,0 +1,34 @@ +package com.teammetallurgy.atum.entity.arrow; + +import net.minecraft.entity.Entity; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; + +public class CustomArrow extends Entity { + + public float arrowShake = 0; + + public CustomArrow(World par1World) { + super(par1World); + } + + @Override + protected void entityInit() { + + } + + public String getTexture() { + return "/item/arrows.png"; + } + + @Override + protected void readEntityFromNBT(NBTTagCompound nbttagcompound) { + super.readFromNBT(nbttagcompound); + } + + @Override + protected void writeEntityToNBT(NBTTagCompound nbttagcompound) { + super.writeToNBT(nbttagcompound); + } + +} diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java new file mode 100644 index 0000000..05081c8 --- /dev/null +++ b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java @@ -0,0 +1,617 @@ +package com.teammetallurgy.atum.entity.arrow; + +import java.util.List; + +import net.minecraft.block.Block; +import net.minecraft.enchantment.EnchantmentThorns; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.IProjectile; +import net.minecraft.entity.monster.EntityEnderman; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.packet.Packet70GameEvent; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import rebelkeithy.mods.keithyutils.particleregistry.ParticleRegistry; +import cpw.mods.fml.common.registry.IThrowableEntity; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class EntityArrowDoubleShot extends CustomArrow implements IProjectile, IThrowableEntity +{ + private int xTile = -1; + private int yTile = -1; + private int zTile = -1; + private int inTile = 0; + private int inData = 0; + private boolean inGround = false; + + /** 1 if the player can pick up the arrow */ + public int canBePickedUp = 0; + + /** Seems to be some sort of timer for animating an arrow. */ + public int arrowShake = 0; + + /** The owner of this arrow. */ + public Entity shootingEntity; + private int ticksInGround; + private int ticksInAir = 0; + private double damage = 2.0D; + + /** The amount of knockback an arrow applies when it hits a mob. */ + private int knockbackStrength; + + public EntityArrowDoubleShot(World par1World) + { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + } + + public EntityArrowDoubleShot(World par1World, double par2, double par4, double par6) + { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.setPosition(par2, par4, par6); + this.yOffset = 0.0F; + } + + public EntityArrowDoubleShot(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) + { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if (par2EntityLiving instanceof EntityPlayer) + { + this.canBePickedUp = 1; + } + + this.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + double d0 = par3EntityLiving.posX - par2EntityLiving.posX; + double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - this.posY; + double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; + double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); + + if (d3 >= 1.0E-7D) + { + float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); + this.yOffset = 0.0F; + float f4 = (float)d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); + } + } + + public EntityArrowDoubleShot(World par1World, EntityLivingBase par2EntityLiving, float par3) + { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if (par2EntityLiving instanceof EntityPlayer) + { + this.canBePickedUp = 1; + } + + this.setSize(0.5F, 0.5F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); + this.posY -= 0.10000000149011612D; + this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); + this.setPosition(this.posX, this.posY, this.posZ); + this.yOffset = 0.0F; + this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); + this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); + this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); + this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); + } + + protected void entityInit() + { + this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); + } + + /** + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + */ + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) + { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double)f2; + par3 /= (double)f2; + par5 /= (double)f2; + par1 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; + par3 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; + par5 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; + par1 *= (double)par7; + par3 *= (double)par7; + par5 *= (double)par7; + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + + /** + * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, + * posY, posZ, yaw, pitch + */ + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) + { + this.setPosition(par1, par3, par5); + this.setRotation(par7, par8); + } + + @SideOnly(Side.CLIENT) + + /** + * Sets the velocity to the args. Args: x, y, z + */ + public void setVelocity(double par1, double par3, double par5) + { + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) + { + float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch; + this.prevRotationYaw = this.rotationYaw; + this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); + this.ticksInGround = 0; + } + } + + /** + * Called to update the entity's position/logic. + */ + public void onUpdate() + { + super.onUpdate(); + + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) + { + float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); + } + + int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + + if (i > 0) + { + Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + + if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) + { + this.inGround = true; + } + } + + if (this.arrowShake > 0) + { + --this.arrowShake; + } + + if (this.inGround) + { + int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + + if (j == this.inTile && k == this.inData) + { + ++this.ticksInGround; + + if (this.ticksInGround == 1200) + { + this.setDead(); + } + } + else + { + this.inGround = false; + this.motionX *= (double)(this.rand.nextFloat() * 0.2F); + this.motionY *= (double)(this.rand.nextFloat() * 0.2F); + this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } + } + else + { + ++this.ticksInAir; + Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); + Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); + vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); + vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if (movingobjectposition != null) + { + vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + int l; + float f1; + + for (l = 0; l < list.size(); ++l) + { + Entity entity1 = (Entity)list.get(l); + + if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) + { + f1 = 0.3F; + AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1); + MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); + + if (movingobjectposition1 != null) + { + double d1 = vec3.distanceTo(movingobjectposition1.hitVec); + + if (d1 < d0 || d0 == 0.0D) + { + entity = entity1; + d0 = d1; + } + } + } + } + + if (entity != null) + { + movingobjectposition = new MovingObjectPosition(entity); + } + + if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) + { + EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; + + if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(entityplayer)) + { + movingobjectposition = null; + } + } + + float f2; + float f3; + + if (movingobjectposition != null) + { + if (movingobjectposition.entityHit != null) + { + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + int i1 = MathHelper.ceiling_double_int((double)f2 * this.damage); + + if (this.getIsCritical()) + { + i1 += this.rand.nextInt(i1 / 2 + 2); + } + + DamageSource damagesource = null; + + if (this.shootingEntity == null) + { + damagesource = DamageSource.causeThrownDamage(this, this); + } + else + { + damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); + } + + if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) + { + movingobjectposition.entityHit.setFire(5); + } + + if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) + { + if (movingobjectposition.entityHit instanceof EntityLiving) + { + EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; + + if (!this.worldObj.isRemote) + { + entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); + } + + if (this.knockbackStrength > 0) + { + f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + + if (f3 > 0.0F) + { + movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3); + } + } + + if (this.shootingEntity != null) + { + EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); + } + + if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) + { + ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + } + } + + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + + if (!(movingobjectposition.entityHit instanceof EntityEnderman)) + { + this.setDead(); + } + } + else + { + this.motionX *= -0.10000000149011612D; + this.motionY *= -0.10000000149011612D; + this.motionZ *= -0.10000000149011612D; + this.rotationYaw += 180.0F; + this.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } + else + { + this.xTile = movingobjectposition.blockX; + this.yTile = movingobjectposition.blockY; + this.zTile = movingobjectposition.blockZ; + this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX)); + this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY)); + this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ)); + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + this.posX -= this.motionX / (double)f2 * 0.05000000074505806D; + this.posY -= this.motionY / (double)f2 * 0.05000000074505806D; + this.posZ -= this.motionZ / (double)f2 * 0.05000000074505806D; + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + this.inGround = true; + this.arrowShake = 7; + this.setIsCritical(false); + + if (this.inTile != 0) + { + Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + } + } + } + + if (this.getIsCritical() && worldObj.isRemote) + { + for (l = 0; l < 4; ++l) + { + ParticleRegistry.spawnParticle("coloredcrit", worldObj, this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); + } + } + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) + { + ; + } + + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) + { + this.prevRotationPitch += 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw < -180.0F) + { + this.prevRotationYaw -= 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) + { + this.prevRotationYaw += 360.0F; + } + + this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; + this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; + float f4 = 0.99F; + f1 = 0.05F; + + if (this.isInWater()) + { + for (int j1 = 0; j1 < 4; ++j1) + { + f3 = 0.25F; + this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f3, this.posY - this.motionY * (double)f3, this.posZ - this.motionZ * (double)f3, this.motionX, this.motionY, this.motionZ); + } + + f4 = 0.45F; + } + + this.motionX *= (double)f4; + this.motionY *= (double)f4; + this.motionZ *= (double)f4; + this.motionY -= (double)f1; + this.setPosition(this.posX, this.posY, this.posZ); + this.doBlockCollisions(); + } + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) + { + par1NBTTagCompound.setShort("xTile", (short)this.xTile); + par1NBTTagCompound.setShort("yTile", (short)this.yTile); + par1NBTTagCompound.setShort("zTile", (short)this.zTile); + par1NBTTagCompound.setByte("inTile", (byte)this.inTile); + par1NBTTagCompound.setByte("inData", (byte)this.inData); + par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0)); + par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); + par1NBTTagCompound.setDouble("damage", this.damage); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) + { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inData = par1NBTTagCompound.getByte("inData") & 255; + this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + + if (par1NBTTagCompound.hasKey("damage")) + { + this.damage = par1NBTTagCompound.getDouble("damage"); + } + + if (par1NBTTagCompound.hasKey("pickup")) + { + this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); + } + else if (par1NBTTagCompound.hasKey("player")) + { + this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; + } + } + + /** + * Called by a player entity when they collide with an entity + */ + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) + { + if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) + { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; + + if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) + { + flag = false; + } + + if (flag) + { + this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + par1EntityPlayer.onItemPickup(this, 1); + this.setDead(); + } + } + } + + /** + * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to + * prevent them from trampling crops + */ + protected boolean canTriggerWalking() + { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() + { + return 0.0F; + } + + public void setDamage(double par1) + { + this.damage = par1; + } + + public double getDamage() + { + return this.damage; + } + + /** + * Sets the amount of knockback the arrow applies when it hits a mob. + */ + public void setKnockbackStrength(int par1) + { + this.knockbackStrength = par1; + } + + /** + * If returns false, the item will not inflict any damage against entities. + */ + public boolean canAttackWithItem() + { + return false; + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public void setIsCritical(boolean par1) + { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + + if (par1) + { + this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); + } + else + { + this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); + } + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public boolean getIsCritical() + { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } + + @Override + public Entity getThrower() + { + return shootingEntity; + } + + @Override + public void setThrower(Entity entity) + { + shootingEntity = entity; + } + + @Override + public String getTexture() + { + return "/mods/Atum/textures/projectiles/arrows_double.png"; + } +} diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java new file mode 100644 index 0000000..6be11c9 --- /dev/null +++ b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java @@ -0,0 +1,625 @@ +package com.teammetallurgy.atum.entity.arrow; + +import java.util.List; + +import net.minecraft.block.Block; +import net.minecraft.enchantment.EnchantmentThorns; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.IProjectile; +import net.minecraft.entity.monster.EntityEnderman; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.packet.Packet70GameEvent; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import rebelkeithy.mods.keithyutils.particleregistry.ParticleRegistry; +import cpw.mods.fml.common.registry.IThrowableEntity; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class EntityArrowExplosive extends CustomArrow implements IProjectile, IThrowableEntity +{ + private int xTile = -1; + private int yTile = -1; + private int zTile = -1; + private int inTile = 0; + private int inData = 0; + private boolean inGround = false; + + /** 1 if the player can pick up the arrow */ + public int canBePickedUp = 0; + + /** Seems to be some sort of timer for animating an arrow. */ + public int arrowShake = 0; + + /** The owner of this arrow. */ + public Entity shootingEntity; + private int ticksInGround; + private int ticksInAir = 0; + private double damage = 2.0D; + + /** The amount of knockback an arrow applies when it hits a mob. */ + private int knockbackStrength; + + public EntityArrowExplosive(World par1World) + { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + } + + public EntityArrowExplosive(World par1World, double par2, double par4, double par6) + { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.setPosition(par2, par4, par6); + this.yOffset = 0.0F; + } + + public EntityArrowExplosive(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) + { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if (par2EntityLiving instanceof EntityPlayer) + { + this.canBePickedUp = 1; + } + + this.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + double d0 = par3EntityLiving.posX - par2EntityLiving.posX; + double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - this.posY; + double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; + double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); + + if (d3 >= 1.0E-7D) + { + float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); + this.yOffset = 0.0F; + float f4 = (float)d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); + } + } + + public EntityArrowExplosive(World par1World, EntityLivingBase par2EntityLiving, float par3) + { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if (par2EntityLiving instanceof EntityPlayer) + { + this.canBePickedUp = 1; + } + + this.setSize(0.5F, 0.5F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); + this.posY -= 0.10000000149011612D; + this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); + this.setPosition(this.posX, this.posY, this.posZ); + this.yOffset = 0.0F; + this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); + this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); + this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); + this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); + } + + protected void entityInit() + { + this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); + } + + /** + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + */ + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) + { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double)f2; + par3 /= (double)f2; + par5 /= (double)f2; + par1 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; + par3 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; + par5 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; + par1 *= (double)par7; + par3 *= (double)par7; + par5 *= (double)par7; + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + + /** + * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, + * posY, posZ, yaw, pitch + */ + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) + { + this.setPosition(par1, par3, par5); + this.setRotation(par7, par8); + } + + @SideOnly(Side.CLIENT) + + /** + * Sets the velocity to the args. Args: x, y, z + */ + public void setVelocity(double par1, double par3, double par5) + { + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) + { + float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch; + this.prevRotationYaw = this.rotationYaw; + this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); + this.ticksInGround = 0; + } + } + + /** + * Called to update the entity's position/logic. + */ + public void onUpdate() + { + super.onUpdate(); + + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) + { + float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); + } + + int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + + if (i > 0) + { + Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + + if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) + { + this.worldObj.newExplosion(this, this.posX, this.posY, this.posZ, 2.0F, this.isBurning(), true); + this.inGround = true; + } + } + + if (this.arrowShake > 0) + { + --this.arrowShake; + } + + if (this.inGround) + { + int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + + if (j == this.inTile && k == this.inData) + { + ++this.ticksInGround; + + if (this.ticksInGround == 1200) + { + this.setDead(); + } + } + else + { + this.inGround = false; + this.motionX *= (double)(this.rand.nextFloat() * 0.2F); + this.motionY *= (double)(this.rand.nextFloat() * 0.2F); + this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } + } + else + { + ++this.ticksInAir; + Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); + Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); + vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); + vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if (movingobjectposition != null) + { + vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + int l; + float f1; + + for (l = 0; l < list.size(); ++l) + { + Entity entity1 = (Entity)list.get(l); + + if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) + { + f1 = 0.3F; + AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1); + MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); + + if (movingobjectposition1 != null) + { + double d1 = vec3.distanceTo(movingobjectposition1.hitVec); + + if (d1 < d0 || d0 == 0.0D) + { + entity = entity1; + d0 = d1; + } + } + } + } + + if (entity != null) + { + movingobjectposition = new MovingObjectPosition(entity); + } + + if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) + { + EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; + + if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(entityplayer)) + { + movingobjectposition = null; + } + } + + float f2; + float f3; + + if (movingobjectposition != null) + { + if (movingobjectposition.entityHit != null) + { + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + int i1 = MathHelper.ceiling_double_int((double)f2 * this.damage); + + if (this.getIsCritical()) + { + i1 += this.rand.nextInt(i1 / 2 + 2); + } + + DamageSource damagesource = null; + + if (this.shootingEntity == null) + { + damagesource = DamageSource.causeThrownDamage(this, this); + } + else + { + damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); + } + + if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) + { + movingobjectposition.entityHit.setFire(5); + } + + this.worldObj.createExplosion(this, entity.posX, entity.posY, entity.posZ, 2.0F, true); + + this.setDead(); + + if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) + { + if (movingobjectposition.entityHit instanceof EntityLiving) + { + EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; + + if (!this.worldObj.isRemote) + { + entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); + } + + if (this.knockbackStrength > 0) + { + f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + + if (f3 > 0.0F) + { + movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3); + } + } + + if (this.shootingEntity != null) + { + EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); + } + + if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) + { + ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + } + } + + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + + } + else + { + this.motionX *= -0.10000000149011612D; + this.motionY *= -0.10000000149011612D; + this.motionZ *= -0.10000000149011612D; + this.rotationYaw += 180.0F; + this.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } + else + { + this.xTile = movingobjectposition.blockX; + this.yTile = movingobjectposition.blockY; + this.zTile = movingobjectposition.blockZ; + this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX)); + this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY)); + this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ)); + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + this.posX -= this.motionX / (double)f2 * 0.05000000074505806D; + this.posY -= this.motionY / (double)f2 * 0.05000000074505806D; + this.posZ -= this.motionZ / (double)f2 * 0.05000000074505806D; + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + this.worldObj.createExplosion(this, movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord, 2.0F, true); + this.inGround = true; + this.arrowShake = 7; + this.setDead(); + this.setIsCritical(false); + + if (this.inTile != 0) + { + Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + } + } + } + + if (this.getIsCritical() && worldObj.isRemote) + { + for (l = 0; l < 4; ++l) + { + ParticleRegistry.spawnParticle("coloredcrit", worldObj, this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); + } + } + + if(Math.random() > 0.0) + { + worldObj.spawnParticle("smoke", this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX/10F, (-this.motionY + 0.2D)/10F, -this.motionZ/10F); + } + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) + { + ; + } + + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) + { + this.prevRotationPitch += 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw < -180.0F) + { + this.prevRotationYaw -= 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) + { + this.prevRotationYaw += 360.0F; + } + + this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; + this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; + float f4 = 0.99F; + f1 = 0.15F; + + if (this.isInWater()) + { + for (int j1 = 0; j1 < 4; ++j1) + { + f3 = 0.25F; + this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f3, this.posY - this.motionY * (double)f3, this.posZ - this.motionZ * (double)f3, this.motionX, this.motionY, this.motionZ); + } + + f4 = 0.8F; + } + + this.motionX *= (double)f4; + this.motionY *= (double)f4; + this.motionZ *= (double)f4; + this.motionY -= (double)f1; + this.setPosition(this.posX, this.posY, this.posZ); + this.doBlockCollisions(); + } + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) + { + par1NBTTagCompound.setShort("xTile", (short)this.xTile); + par1NBTTagCompound.setShort("yTile", (short)this.yTile); + par1NBTTagCompound.setShort("zTile", (short)this.zTile); + par1NBTTagCompound.setByte("inTile", (byte)this.inTile); + par1NBTTagCompound.setByte("inData", (byte)this.inData); + par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0)); + par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); + par1NBTTagCompound.setDouble("damage", this.damage); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) + { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inData = par1NBTTagCompound.getByte("inData") & 255; + this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + + if (par1NBTTagCompound.hasKey("damage")) + { + this.damage = par1NBTTagCompound.getDouble("damage"); + } + + if (par1NBTTagCompound.hasKey("pickup")) + { + this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); + } + else if (par1NBTTagCompound.hasKey("player")) + { + this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; + } + } + + /** + * Called by a player entity when they collide with an entity + */ + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) + { + if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) + { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; + + if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) + { + flag = false; + } + + if (flag) + { + this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + par1EntityPlayer.onItemPickup(this, 1); + this.setDead(); + } + } + } + + /** + * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to + * prevent them from trampling crops + */ + protected boolean canTriggerWalking() + { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() + { + return 0.0F; + } + + public void setDamage(double par1) + { + this.damage = par1; + } + + public double getDamage() + { + return this.damage; + } + + /** + * Sets the amount of knockback the arrow applies when it hits a mob. + */ + public void setKnockbackStrength(int par1) + { + this.knockbackStrength = par1; + } + + /** + * If returns false, the item will not inflict any damage against entities. + */ + public boolean canAttackWithItem() + { + return false; + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public void setIsCritical(boolean par1) + { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + + if (par1) + { + this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); + } + else + { + this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); + } + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public boolean getIsCritical() + { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } + + @Override + public Entity getThrower() + { + return shootingEntity; + } + + @Override + public void setThrower(Entity entity) + { + shootingEntity = entity; + } + + @Override + public String getTexture() + { + return "/mods/Atum/textures/projectiles/arrows_exploding.png"; + } +} diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java new file mode 100644 index 0000000..fa25931 --- /dev/null +++ b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java @@ -0,0 +1,532 @@ +package com.teammetallurgy.atum.entity.arrow; + +import java.util.List; + +import net.minecraft.block.Block; +import net.minecraft.enchantment.EnchantmentThorns; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.IProjectile; +import net.minecraft.entity.monster.EntityEnderman; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.packet.Packet70GameEvent; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import rebelkeithy.mods.keithyutils.particleregistry.ParticleRegistry; +import cpw.mods.fml.common.registry.IThrowableEntity; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class EntityArrowFire extends CustomArrow implements IProjectile, IThrowableEntity { + private int xTile = -1; + private int yTile = -1; + private int zTile = -1; + private int inTile = 0; + private int inData = 0; + private boolean inGround = false; + + /** 1 if the player can pick up the arrow */ + public int canBePickedUp = 0; + + /** Seems to be some sort of timer for animating an arrow. */ + public int arrowShake = 0; + + /** The owner of this arrow. */ + public Entity shootingEntity; + private int ticksInGround; + private int ticksInAir = 0; + private double damage = 2.0D; + + /** The amount of knockback an arrow applies when it hits a mob. */ + private int knockbackStrength; + + public EntityArrowFire(World par1World) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + } + + public EntityArrowFire(World par1World, double par2, double par4, double par6) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.setPosition(par2, par4, par6); + this.yOffset = 0.0F; + } + + public EntityArrowFire(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.posY = par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + double d0 = par3EntityLiving.posX - par2EntityLiving.posX; + double d1 = par3EntityLiving.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; + double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; + double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); + + if(d3 >= 1.0E-7D) { + float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); + this.yOffset = 0.0F; + float f4 = (float) d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); + } + } + + public EntityArrowFire(World par1World, EntityLivingBase par2EntityLiving, float par3) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.setSize(0.5F, 0.5F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.posY -= 0.10000000149011612D; + this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.setPosition(this.posX, this.posY, this.posZ); + this.yOffset = 0.0F; + this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); + this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); + } + + protected void entityInit() { + this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); + } + + /** + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + */ + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double) f2; + par3 /= (double) f2; + par5 /= (double) f2; + par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par1 *= (double) par7; + par3 *= (double) par7; + par5 *= (double) par7; + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + /** + * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, + * posY, posZ, yaw, pitch + */ + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { + this.setPosition(par1, par3, par5); + this.setRotation(par7, par8); + } + + @SideOnly(Side.CLIENT) + /** + * Sets the velocity to the args. Args: x, y, z + */ + public void setVelocity(double par1, double par3, double par5) { + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + + if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch; + this.prevRotationYaw = this.rotationYaw; + this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); + this.ticksInGround = 0; + } + } + + /** + * Called to update the entity's position/logic. + */ + public void onUpdate() { + super.onUpdate(); + + if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); + } + + int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + + if(i > 0) { + Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + + if(axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { + this.inGround = true; + } + } + + if(this.arrowShake > 0) { + --this.arrowShake; + } + + if(this.inGround) { + int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + + if(j == this.inTile && k == this.inData) { + ++this.ticksInGround; + + if(worldObj.isAirBlock((int) posX, (int) posY, (int) posZ)) + worldObj.setBlock((int) posX, (int) posY, (int) posZ, Block.fire.blockID); + + if(this.ticksInGround == 1200) { + this.setDead(); + } + } else { + this.inGround = false; + this.motionX *= (double) (this.rand.nextFloat() * 0.2F); + this.motionY *= (double) (this.rand.nextFloat() * 0.2F); + this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } + } else { + ++this.ticksInAir; + Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); + Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); + vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); + vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if(movingobjectposition != null) { + vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + int l; + float f1; + + for(l = 0; l < list.size(); ++l) { + Entity entity1 = (Entity) list.get(l); + + if(entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { + f1 = 0.3F; + AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); + MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); + + if(movingobjectposition1 != null) { + double d1 = vec3.distanceTo(movingobjectposition1.hitVec); + + if(d1 < d0 || d0 == 0.0D) { + entity = entity1; + d0 = d1; + } + } + } + } + + if(entity != null) { + movingobjectposition = new MovingObjectPosition(entity); + } + + if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; + + if(entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { + movingobjectposition = null; + } + } + + float f2; + float f3; + + if(movingobjectposition != null) { + if(movingobjectposition.entityHit != null) { + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); + + if(this.getIsCritical()) { + i1 += this.rand.nextInt(i1 / 2 + 2); + } + + DamageSource damagesource = null; + + if(this.shootingEntity == null) { + damagesource = DamageSource.causeThrownDamage(this, this); + } else { + damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); + } + + if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + movingobjectposition.entityHit.setFire(5); + } + + if(movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if(movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; + + if(!this.worldObj.isRemote) { + entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); + } + + if(this.knockbackStrength > 0) { + f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + + if(f3 > 0.0F) { + movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); + } + } + + if(this.shootingEntity != null) { + EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); + } + + if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + } + } + + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + + if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { + this.setDead(); + } + } else { + this.motionX *= -0.10000000149011612D; + this.motionY *= -0.10000000149011612D; + this.motionZ *= -0.10000000149011612D; + this.rotationYaw += 180.0F; + this.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } else { + this.xTile = movingobjectposition.blockX; + this.yTile = movingobjectposition.blockY; + this.zTile = movingobjectposition.blockZ; + this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); + this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); + this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; + this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; + this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + this.inGround = true; + this.arrowShake = 7; + this.setIsCritical(false); + + if(this.inTile != 0) { + Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + } + } + } + + if(this.getIsCritical() && worldObj.isRemote) { + for(l = 0; l < 4; ++l) { + ParticleRegistry.spawnParticle("coloredcrit", worldObj, this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); + } + } + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for(this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + ; + } + + while(this.rotationPitch - this.prevRotationPitch >= 180.0F) { + this.prevRotationPitch += 360.0F; + } + + while(this.rotationYaw - this.prevRotationYaw < -180.0F) { + this.prevRotationYaw -= 360.0F; + } + + while(this.rotationYaw - this.prevRotationYaw >= 180.0F) { + this.prevRotationYaw += 360.0F; + } + + this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; + this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; + float f4 = 0.99F; + f1 = 0.05F; + + if(this.isInWater()) { + for(int j1 = 0; j1 < 4; ++j1) { + f3 = 0.25F; + this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); + } + + f4 = 0.45F; + } + + this.motionX *= (double) f4; + this.motionY *= (double) f4; + this.motionZ *= (double) f4; + this.motionY -= (double) f1; + this.setPosition(this.posX, this.posY, this.posZ); + this.doBlockCollisions(); + } + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short) this.xTile); + par1NBTTagCompound.setShort("yTile", (short) this.yTile); + par1NBTTagCompound.setShort("zTile", (short) this.zTile); + par1NBTTagCompound.setByte("inTile", (byte) this.inTile); + par1NBTTagCompound.setByte("inData", (byte) this.inData); + par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); + par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); + par1NBTTagCompound.setDouble("damage", this.damage); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inData = par1NBTTagCompound.getByte("inData") & 255; + this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + + if(par1NBTTagCompound.hasKey("damage")) { + this.damage = par1NBTTagCompound.getDouble("damage"); + } + + if(par1NBTTagCompound.hasKey("pickup")) { + this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); + } else if(par1NBTTagCompound.hasKey("player")) { + this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; + } + } + + /** + * Called by a player entity when they collide with an entity + */ + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if(!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; + + if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { + flag = false; + } + + if(flag) { + this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + par1EntityPlayer.onItemPickup(this, 1); + this.setDead(); + } + } + } + + /** + * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to prevent them from trampling crops + */ + protected boolean canTriggerWalking() { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() { + return 0.0F; + } + + public void setDamage(double par1) { + this.damage = par1; + } + + public double getDamage() { + return this.damage; + } + + /** + * Sets the amount of knockback the arrow applies when it hits a mob. + */ + public void setKnockbackStrength(int par1) { + this.knockbackStrength = par1; + } + + /** + * If returns false, the item will not inflict any damage against entities. + */ + public boolean canAttackWithItem() { + return false; + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public void setIsCritical(boolean par1) { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + + if(par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public boolean getIsCritical() { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } + + @Override + public Entity getThrower() { + return shootingEntity; + } + + @Override + public void setThrower(Entity entity) { + shootingEntity = entity; + } + + @Override + public String getTexture() { + return "/mods/Atum/textures/projectiles/arrows_fire.png"; + } +} diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java new file mode 100644 index 0000000..489fa19 --- /dev/null +++ b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java @@ -0,0 +1,533 @@ +package com.teammetallurgy.atum.entity.arrow; + +import java.util.List; + +import net.minecraft.block.Block; +import net.minecraft.enchantment.EnchantmentThorns; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.IProjectile; +import net.minecraft.entity.monster.EntityEnderman; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.packet.Packet70GameEvent; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import rebelkeithy.mods.keithyutils.particleregistry.ParticleRegistry; +import cpw.mods.fml.common.registry.IThrowableEntity; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class EntityArrowPoison extends CustomArrow implements IProjectile, IThrowableEntity { + private int xTile = -1; + private int yTile = -1; + private int zTile = -1; + private int inTile = 0; + private int inData = 0; + private boolean inGround = false; + + /** 1 if the player can pick up the arrow */ + public int canBePickedUp = 0; + + /** Seems to be some sort of timer for animating an arrow. */ + public int arrowShake = 0; + + /** The owner of this arrow. */ + public Entity shootingEntity; + private int ticksInGround; + private int ticksInAir = 0; + private double damage = 2.0D; + + /** The amount of knockback an arrow applies when it hits a mob. */ + private int knockbackStrength; + + public EntityArrowPoison(World par1World) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + } + + public EntityArrowPoison(World par1World, double par2, double par4, double par6) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.setPosition(par2, par4, par6); + this.yOffset = 0.0F; + } + + public EntityArrowPoison(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.posY = par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + double d0 = par3EntityLiving.posX - par2EntityLiving.posX; + double d1 = par3EntityLiving.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; + double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; + double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); + + if(d3 >= 1.0E-7D) { + float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); + this.yOffset = 0.0F; + float f4 = (float) d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); + } + } + + public EntityArrowPoison(World par1World, EntityLivingBase par2EntityLiving, float par3) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.setSize(0.5F, 0.5F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.posY -= 0.10000000149011612D; + this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.setPosition(this.posX, this.posY, this.posZ); + this.yOffset = 0.0F; + this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); + this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); + } + + protected void entityInit() { + this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); + } + + /** + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + */ + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double) f2; + par3 /= (double) f2; + par5 /= (double) f2; + par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par1 *= (double) par7; + par3 *= (double) par7; + par5 *= (double) par7; + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + /** + * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, + * posY, posZ, yaw, pitch + */ + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { + this.setPosition(par1, par3, par5); + this.setRotation(par7, par8); + } + + @SideOnly(Side.CLIENT) + /** + * Sets the velocity to the args. Args: x, y, z + */ + public void setVelocity(double par1, double par3, double par5) { + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + + if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch; + this.prevRotationYaw = this.rotationYaw; + this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); + this.ticksInGround = 0; + } + } + + /** + * Called to update the entity's position/logic. + */ + public void onUpdate() { + super.onUpdate(); + + if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); + } + + int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + + if(i > 0) { + Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + + if(axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { + this.inGround = true; + } + } + + if(this.arrowShake > 0) { + --this.arrowShake; + } + + if(this.inGround) { + int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + + if(j == this.inTile && k == this.inData) { + ++this.ticksInGround; + + if(this.ticksInGround == 1200) { + this.setDead(); + } + } else { + this.inGround = false; + this.motionX *= (double) (this.rand.nextFloat() * 0.2F); + this.motionY *= (double) (this.rand.nextFloat() * 0.2F); + this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } + } else { + ++this.ticksInAir; + Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); + Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); + vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); + vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if(movingobjectposition != null) { + vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + int l; + float f1; + + for(l = 0; l < list.size(); ++l) { + Entity entity1 = (Entity) list.get(l); + + if(entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { + f1 = 0.3F; + AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); + MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); + + if(movingobjectposition1 != null) { + double d1 = vec3.distanceTo(movingobjectposition1.hitVec); + + if(d1 < d0 || d0 == 0.0D) { + entity = entity1; + d0 = d1; + } + } + } + } + + if(entity != null) { + movingobjectposition = new MovingObjectPosition(entity); + } + + if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; + + if(entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { + movingobjectposition = null; + } + } + + float f2; + float f3; + + if(movingobjectposition != null) { + if(movingobjectposition.entityHit != null) { + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); + + if(this.getIsCritical()) { + i1 += this.rand.nextInt(i1 / 2 + 2); + } + + DamageSource damagesource = null; + + if(this.shootingEntity == null) { + damagesource = DamageSource.causeThrownDamage(this, this); + } else { + damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); + } + + if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + movingobjectposition.entityHit.setFire(5); + } + + if(movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if(movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; + + entityliving.addPotionEffect(new PotionEffect(Potion.poison.id, 140, 2, false)); + + if(!this.worldObj.isRemote) { + entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); + } + + if(this.knockbackStrength > 0) { + f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + + if(f3 > 0.0F) { + movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); + } + } + + if(this.shootingEntity != null) { + EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); + } + + if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + } + } + + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + + if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { + this.setDead(); + } + } else { + this.motionX *= -0.10000000149011612D; + this.motionY *= -0.10000000149011612D; + this.motionZ *= -0.10000000149011612D; + this.rotationYaw += 180.0F; + this.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } else { + this.xTile = movingobjectposition.blockX; + this.yTile = movingobjectposition.blockY; + this.zTile = movingobjectposition.blockZ; + this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); + this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); + this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; + this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; + this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + this.inGround = true; + this.arrowShake = 7; + this.setIsCritical(false); + + if(this.inTile != 0) { + Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + } + } + } + + if(this.getIsCritical() && worldObj.isRemote) { + for(l = 0; l < 4; ++l) { + ParticleRegistry.spawnParticle("coloredcrit", worldObj, this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); + } + } + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for(this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + ; + } + + while(this.rotationPitch - this.prevRotationPitch >= 180.0F) { + this.prevRotationPitch += 360.0F; + } + + while(this.rotationYaw - this.prevRotationYaw < -180.0F) { + this.prevRotationYaw -= 360.0F; + } + + while(this.rotationYaw - this.prevRotationYaw >= 180.0F) { + this.prevRotationYaw += 360.0F; + } + + this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; + this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; + float f4 = 0.99F; + f1 = 0.05F; + + if(this.isInWater()) { + for(int j1 = 0; j1 < 4; ++j1) { + f3 = 0.25F; + this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); + } + + f4 = 0.45F; + } + + this.motionX *= (double) f4; + this.motionY *= (double) f4; + this.motionZ *= (double) f4; + this.motionY -= (double) f1; + this.setPosition(this.posX, this.posY, this.posZ); + this.doBlockCollisions(); + } + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short) this.xTile); + par1NBTTagCompound.setShort("yTile", (short) this.yTile); + par1NBTTagCompound.setShort("zTile", (short) this.zTile); + par1NBTTagCompound.setByte("inTile", (byte) this.inTile); + par1NBTTagCompound.setByte("inData", (byte) this.inData); + par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); + par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); + par1NBTTagCompound.setDouble("damage", this.damage); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inData = par1NBTTagCompound.getByte("inData") & 255; + this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + + if(par1NBTTagCompound.hasKey("damage")) { + this.damage = par1NBTTagCompound.getDouble("damage"); + } + + if(par1NBTTagCompound.hasKey("pickup")) { + this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); + } else if(par1NBTTagCompound.hasKey("player")) { + this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; + } + } + + /** + * Called by a player entity when they collide with an entity + */ + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if(!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; + + if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { + flag = false; + } + + if(flag) { + this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + par1EntityPlayer.onItemPickup(this, 1); + this.setDead(); + } + } + } + + /** + * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to prevent them from trampling crops + */ + protected boolean canTriggerWalking() { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() { + return 0.0F; + } + + public void setDamage(double par1) { + this.damage = par1; + } + + public double getDamage() { + return this.damage; + } + + /** + * Sets the amount of knockback the arrow applies when it hits a mob. + */ + public void setKnockbackStrength(int par1) { + this.knockbackStrength = par1; + } + + /** + * If returns false, the item will not inflict any damage against entities. + */ + public boolean canAttackWithItem() { + return false; + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public void setIsCritical(boolean par1) { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + + if(par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public boolean getIsCritical() { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } + + @Override + public Entity getThrower() { + return shootingEntity; + } + + @Override + public void setThrower(Entity entity) { + shootingEntity = entity; + } + + @Override + public String getTexture() { + return "/mods/Atum/textures/projectiles/arrows_poison.png"; + } +} diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java new file mode 100644 index 0000000..5f9cd35 --- /dev/null +++ b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java @@ -0,0 +1,617 @@ +package com.teammetallurgy.atum.entity.arrow; + +import java.util.List; + +import net.minecraft.block.Block; +import net.minecraft.enchantment.EnchantmentThorns; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.IProjectile; +import net.minecraft.entity.monster.EntityEnderman; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.packet.Packet70GameEvent; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import rebelkeithy.mods.keithyutils.particleregistry.ParticleRegistry; +import cpw.mods.fml.common.registry.IThrowableEntity; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class EntityArrowQuickdraw extends CustomArrow implements IProjectile, IThrowableEntity +{ + private int xTile = -1; + private int yTile = -1; + private int zTile = -1; + private int inTile = 0; + private int inData = 0; + private boolean inGround = false; + + /** 1 if the player can pick up the arrow */ + public int canBePickedUp = 0; + + /** Seems to be some sort of timer for animating an arrow. */ + public int arrowShake = 0; + + /** The owner of this arrow. */ + public Entity shootingEntity; + private int ticksInGround; + private int ticksInAir = 0; + private double damage = 2.0D; + + /** The amount of knockback an arrow applies when it hits a mob. */ + private int knockbackStrength; + + public EntityArrowQuickdraw(World par1World) + { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + } + + public EntityArrowQuickdraw(World par1World, double par2, double par4, double par6) + { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.setPosition(par2, par4, par6); + this.yOffset = 0.0F; + } + + public EntityArrowQuickdraw(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) + { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if (par2EntityLiving instanceof EntityPlayer) + { + this.canBePickedUp = 1; + } + + this.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + double d0 = par3EntityLiving.posX - par2EntityLiving.posX; + double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - this.posY; + double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; + double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); + + if (d3 >= 1.0E-7D) + { + float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); + this.yOffset = 0.0F; + float f4 = (float)d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); + } + } + + public EntityArrowQuickdraw(World par1World, EntityLivingBase par2EntityLiving, float par3) + { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if (par2EntityLiving instanceof EntityPlayer) + { + this.canBePickedUp = 1; + } + + this.setSize(0.5F, 0.5F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); + this.posY -= 0.10000000149011612D; + this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); + this.setPosition(this.posX, this.posY, this.posZ); + this.yOffset = 0.0F; + this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); + this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); + this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); + this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); + } + + protected void entityInit() + { + this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); + } + + /** + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + */ + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) + { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double)f2; + par3 /= (double)f2; + par5 /= (double)f2; + par1 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; + par3 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; + par5 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; + par1 *= (double)par7; + par3 *= (double)par7; + par5 *= (double)par7; + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + + /** + * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, + * posY, posZ, yaw, pitch + */ + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) + { + this.setPosition(par1, par3, par5); + this.setRotation(par7, par8); + } + + @SideOnly(Side.CLIENT) + + /** + * Sets the velocity to the args. Args: x, y, z + */ + public void setVelocity(double par1, double par3, double par5) + { + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) + { + float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch; + this.prevRotationYaw = this.rotationYaw; + this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); + this.ticksInGround = 0; + } + } + + /** + * Called to update the entity's position/logic. + */ + public void onUpdate() + { + super.onUpdate(); + + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) + { + float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); + } + + int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + + if (i > 0) + { + Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + + if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) + { + this.inGround = true; + } + } + + if (this.arrowShake > 0) + { + --this.arrowShake; + } + + if (this.inGround) + { + int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + + if (j == this.inTile && k == this.inData) + { + ++this.ticksInGround; + + if (this.ticksInGround == 1200) + { + this.setDead(); + } + } + else + { + this.inGround = false; + this.motionX *= (double)(this.rand.nextFloat() * 0.2F); + this.motionY *= (double)(this.rand.nextFloat() * 0.2F); + this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } + } + else + { + ++this.ticksInAir; + Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); + Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); + vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); + vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if (movingobjectposition != null) + { + vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + int l; + float f1; + + for (l = 0; l < list.size(); ++l) + { + Entity entity1 = (Entity)list.get(l); + + if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) + { + f1 = 0.3F; + AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1); + MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); + + if (movingobjectposition1 != null) + { + double d1 = vec3.distanceTo(movingobjectposition1.hitVec); + + if (d1 < d0 || d0 == 0.0D) + { + entity = entity1; + d0 = d1; + } + } + } + } + + if (entity != null) + { + movingobjectposition = new MovingObjectPosition(entity); + } + + if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) + { + EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; + + if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(entityplayer)) + { + movingobjectposition = null; + } + } + + float f2; + float f3; + + if (movingobjectposition != null) + { + if (movingobjectposition.entityHit != null) + { + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + int i1 = MathHelper.ceiling_double_int((double)f2 * this.damage); + + if (this.getIsCritical()) + { + i1 += this.rand.nextInt(i1 / 2 + 2); + } + + DamageSource damagesource = null; + + if (this.shootingEntity == null) + { + damagesource = DamageSource.causeThrownDamage(this, this); + } + else + { + damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); + } + + if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) + { + movingobjectposition.entityHit.setFire(5); + } + + if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) + { + if (movingobjectposition.entityHit instanceof EntityLiving) + { + EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; + + if (!this.worldObj.isRemote) + { + entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); + } + + if (this.knockbackStrength > 0) + { + f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + + if (f3 > 0.0F) + { + movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3); + } + } + + if (this.shootingEntity != null) + { + EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); + } + + if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) + { + ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + } + } + + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + + if (!(movingobjectposition.entityHit instanceof EntityEnderman)) + { + this.setDead(); + } + } + else + { + this.motionX *= -0.10000000149011612D; + this.motionY *= -0.10000000149011612D; + this.motionZ *= -0.10000000149011612D; + this.rotationYaw += 180.0F; + this.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } + else + { + this.xTile = movingobjectposition.blockX; + this.yTile = movingobjectposition.blockY; + this.zTile = movingobjectposition.blockZ; + this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX)); + this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY)); + this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ)); + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + this.posX -= this.motionX / (double)f2 * 0.05000000074505806D; + this.posY -= this.motionY / (double)f2 * 0.05000000074505806D; + this.posZ -= this.motionZ / (double)f2 * 0.05000000074505806D; + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + this.inGround = true; + this.arrowShake = 7; + this.setIsCritical(false); + + if (this.inTile != 0) + { + Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + } + } + } + + if (this.getIsCritical() && worldObj.isRemote) + { + for (l = 0; l < 4; ++l) + { + ParticleRegistry.spawnParticle("coloredcrit", worldObj, this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); + } + } + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) + { + ; + } + + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) + { + this.prevRotationPitch += 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw < -180.0F) + { + this.prevRotationYaw -= 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) + { + this.prevRotationYaw += 360.0F; + } + + this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; + this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; + float f4 = 0.99F; + f1 = 0.05F; + + if (this.isInWater()) + { + for (int j1 = 0; j1 < 4; ++j1) + { + f3 = 0.25F; + this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f3, this.posY - this.motionY * (double)f3, this.posZ - this.motionZ * (double)f3, this.motionX, this.motionY, this.motionZ); + } + + f4 = 0.45F; + } + + this.motionX *= (double)f4; + this.motionY *= (double)f4; + this.motionZ *= (double)f4; + this.motionY -= (double)f1; + this.setPosition(this.posX, this.posY, this.posZ); + this.doBlockCollisions(); + } + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) + { + par1NBTTagCompound.setShort("xTile", (short)this.xTile); + par1NBTTagCompound.setShort("yTile", (short)this.yTile); + par1NBTTagCompound.setShort("zTile", (short)this.zTile); + par1NBTTagCompound.setByte("inTile", (byte)this.inTile); + par1NBTTagCompound.setByte("inData", (byte)this.inData); + par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0)); + par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); + par1NBTTagCompound.setDouble("damage", this.damage); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) + { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inData = par1NBTTagCompound.getByte("inData") & 255; + this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + + if (par1NBTTagCompound.hasKey("damage")) + { + this.damage = par1NBTTagCompound.getDouble("damage"); + } + + if (par1NBTTagCompound.hasKey("pickup")) + { + this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); + } + else if (par1NBTTagCompound.hasKey("player")) + { + this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; + } + } + + /** + * Called by a player entity when they collide with an entity + */ + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) + { + if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) + { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; + + if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) + { + flag = false; + } + + if (flag) + { + this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + par1EntityPlayer.onItemPickup(this, 1); + this.setDead(); + } + } + } + + /** + * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to + * prevent them from trampling crops + */ + protected boolean canTriggerWalking() + { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() + { + return 0.0F; + } + + public void setDamage(double par1) + { + this.damage = par1; + } + + public double getDamage() + { + return this.damage; + } + + /** + * Sets the amount of knockback the arrow applies when it hits a mob. + */ + public void setKnockbackStrength(int par1) + { + this.knockbackStrength = par1; + } + + /** + * If returns false, the item will not inflict any damage against entities. + */ + public boolean canAttackWithItem() + { + return false; + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public void setIsCritical(boolean par1) + { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + + if (par1) + { + this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); + } + else + { + this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); + } + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public boolean getIsCritical() + { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } + + @Override + public Entity getThrower() + { + return shootingEntity; + } + + @Override + public void setThrower(Entity entity) + { + shootingEntity = entity; + } + + @Override + public String getTexture() + { + return "/mods/Atum/textures/projectiles/arrows_quickdraw.png"; + } +} diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java new file mode 100644 index 0000000..0334d61 --- /dev/null +++ b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java @@ -0,0 +1,529 @@ +package com.teammetallurgy.atum.entity.arrow; + +import java.util.List; + +import net.minecraft.block.Block; +import net.minecraft.enchantment.EnchantmentThorns; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.IProjectile; +import net.minecraft.entity.monster.EntityEnderman; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.packet.Packet70GameEvent; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import rebelkeithy.mods.keithyutils.particleregistry.ParticleRegistry; +import cpw.mods.fml.common.registry.IThrowableEntity; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class EntityArrowVelocity extends CustomArrow implements IProjectile, IThrowableEntity { + private int xTile = -1; + private int yTile = -1; + private int zTile = -1; + private int inTile = 0; + private int inData = 0; + private boolean inGround = false; + + /** 1 if the player can pick up the arrow */ + public int canBePickedUp = 0; + + /** Seems to be some sort of timer for animating an arrow. */ + public int arrowShake = 0; + + /** The owner of this arrow. */ + public Entity shootingEntity; + private int ticksInGround; + private int ticksInAir = 0; + private double damage = 2.0D; + + /** The amount of knockback an arrow applies when it hits a mob. */ + private int knockbackStrength; + + public EntityArrowVelocity(World par1World) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + } + + public EntityArrowVelocity(World par1World, double par2, double par4, double par6) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.setPosition(par2, par4, par6); + this.yOffset = 0.0F; + } + + public EntityArrowVelocity(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.posY = par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + double d0 = par3EntityLiving.posX - par2EntityLiving.posX; + double d1 = par3EntityLiving.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; + double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; + double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); + + if(d3 >= 1.0E-7D) { + float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); + this.yOffset = 0.0F; + float f4 = (float) d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); + } + } + + public EntityArrowVelocity(World par1World, EntityLivingBase par2EntityLiving, float par3) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.setSize(0.5F, 0.5F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.posY -= 0.10000000149011612D; + this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.setPosition(this.posX, this.posY, this.posZ); + this.yOffset = 0.0F; + this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); + this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); + } + + protected void entityInit() { + this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); + } + + /** + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + */ + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double) f2; + par3 /= (double) f2; + par5 /= (double) f2; + par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par1 *= (double) par7; + par3 *= (double) par7; + par5 *= (double) par7; + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + /** + * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, + * posY, posZ, yaw, pitch + */ + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { + this.setPosition(par1, par3, par5); + this.setRotation(par7, par8); + } + + @SideOnly(Side.CLIENT) + /** + * Sets the velocity to the args. Args: x, y, z + */ + public void setVelocity(double par1, double par3, double par5) { + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + + if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch; + this.prevRotationYaw = this.rotationYaw; + this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); + this.ticksInGround = 0; + } + } + + /** + * Called to update the entity's position/logic. + */ + public void onUpdate() { + super.onUpdate(); + + if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); + } + + int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + + if(i > 0) { + Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + + if(axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { + this.inGround = true; + } + } + + if(this.arrowShake > 0) { + --this.arrowShake; + } + + if(this.inGround) { + int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + + if(j == this.inTile && k == this.inData) { + ++this.ticksInGround; + + if(this.ticksInGround == 1200) { + this.setDead(); + } + } else { + this.inGround = false; + this.motionX *= (double) (this.rand.nextFloat() * 0.2F); + this.motionY *= (double) (this.rand.nextFloat() * 0.2F); + this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } + } else { + ++this.ticksInAir; + Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); + Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); + vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); + vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if(movingobjectposition != null) { + vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + int l; + float f1; + + for(l = 0; l < list.size(); ++l) { + Entity entity1 = (Entity) list.get(l); + + if(entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { + f1 = 0.3F; + AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); + MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); + + if(movingobjectposition1 != null) { + double d1 = vec3.distanceTo(movingobjectposition1.hitVec); + + if(d1 < d0 || d0 == 0.0D) { + entity = entity1; + d0 = d1; + } + } + } + } + + if(entity != null) { + movingobjectposition = new MovingObjectPosition(entity); + } + + if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; + + if(entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { + movingobjectposition = null; + } + } + + float f2; + float f3; + + if(movingobjectposition != null) { + if(movingobjectposition.entityHit != null) { + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); + + if(this.getIsCritical()) { + i1 += this.rand.nextInt(i1 / 2 + 2); + } + + DamageSource damagesource = null; + + if(this.shootingEntity == null) { + damagesource = DamageSource.causeThrownDamage(this, this); + } else { + damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); + } + + if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + movingobjectposition.entityHit.setFire(5); + } + + if(movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if(movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; + + if(!this.worldObj.isRemote) { + entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); + } + + if(this.knockbackStrength > 0) { + f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + + if(f3 > 0.0F) { + movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); + } + } + + if(this.shootingEntity != null) { + EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); + } + + if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + } + } + + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + + if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { + this.setDead(); + } + } else { + this.motionX *= -0.10000000149011612D; + this.motionY *= -0.10000000149011612D; + this.motionZ *= -0.10000000149011612D; + this.rotationYaw += 180.0F; + this.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } else { + this.xTile = movingobjectposition.blockX; + this.yTile = movingobjectposition.blockY; + this.zTile = movingobjectposition.blockZ; + this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); + this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); + this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; + this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; + this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + this.inGround = true; + this.arrowShake = 7; + this.setIsCritical(false); + + if(this.inTile != 0) { + Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + } + } + } + + if(this.getIsCritical() && worldObj.isRemote) { + for(l = 0; l < 4; ++l) { + ParticleRegistry.spawnParticle("coloredcrit", worldObj, this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); + } + } + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for(this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + ; + } + + while(this.rotationPitch - this.prevRotationPitch >= 180.0F) { + this.prevRotationPitch += 360.0F; + } + + while(this.rotationYaw - this.prevRotationYaw < -180.0F) { + this.prevRotationYaw -= 360.0F; + } + + while(this.rotationYaw - this.prevRotationYaw >= 180.0F) { + this.prevRotationYaw += 360.0F; + } + + this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; + this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; + float f4 = 0.99F; + f1 = 0.05F; + + if(this.isInWater()) { + for(int j1 = 0; j1 < 4; ++j1) { + f3 = 0.5F; + this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); + } + + f4 = 0.9F; + } + + this.motionX *= (double) f4; + this.motionY *= (double) f4; + this.motionZ *= (double) f4; + this.motionY -= (double) Math.min(0.05, f1 / (motionX * motionX + motionZ * motionZ)); + this.setPosition(this.posX, this.posY, this.posZ); + this.doBlockCollisions(); + } + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short) this.xTile); + par1NBTTagCompound.setShort("yTile", (short) this.yTile); + par1NBTTagCompound.setShort("zTile", (short) this.zTile); + par1NBTTagCompound.setByte("inTile", (byte) this.inTile); + par1NBTTagCompound.setByte("inData", (byte) this.inData); + par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); + par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); + par1NBTTagCompound.setDouble("damage", this.damage); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inData = par1NBTTagCompound.getByte("inData") & 255; + this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + + if(par1NBTTagCompound.hasKey("damage")) { + this.damage = par1NBTTagCompound.getDouble("damage"); + } + + if(par1NBTTagCompound.hasKey("pickup")) { + this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); + } else if(par1NBTTagCompound.hasKey("player")) { + this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; + } + } + + /** + * Called by a player entity when they collide with an entity + */ + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if(!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; + + if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { + flag = false; + } + + if(flag) { + this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + par1EntityPlayer.onItemPickup(this, 1); + this.setDead(); + } + } + } + + /** + * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to prevent them from trampling crops + */ + protected boolean canTriggerWalking() { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() { + return 0.0F; + } + + public void setDamage(double par1) { + this.damage = par1; + } + + public double getDamage() { + return this.damage; + } + + /** + * Sets the amount of knockback the arrow applies when it hits a mob. + */ + public void setKnockbackStrength(int par1) { + this.knockbackStrength = par1; + } + + /** + * If returns false, the item will not inflict any damage against entities. + */ + public boolean canAttackWithItem() { + return false; + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public void setIsCritical(boolean par1) { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + + if(par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public boolean getIsCritical() { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } + + @Override + public Entity getThrower() { + return shootingEntity; + } + + @Override + public void setThrower(Entity entity) { + shootingEntity = entity; + } + + @Override + public String getTexture() { + return "/mods/Atum/textures/projectiles/arrows_velocity.png"; + } +} diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java b/src/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java new file mode 100644 index 0000000..1887a10 --- /dev/null +++ b/src/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java @@ -0,0 +1,470 @@ +package com.teammetallurgy.atum.entity.arrow; + +import java.util.List; + +import net.minecraft.block.material.Material; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.item.EntityXPOrb; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.projectile.EntityFishHook; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.stats.StatList; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +import com.teammetallurgy.atum.AtumFish; +import com.teammetallurgy.atum.AtumIDS; +import com.teammetallurgy.atum.items.Items; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class EntityAtumFishHook extends EntityFishHook { + /** The tile this entity is on, X position */ + private int xTile; + + /** The tile this entity is on, Y position */ + private int yTile; + + /** The tile this entity is on, Z position */ + private int zTile; + private int inTile; + private boolean inGround; + public int shake; + public EntityPlayer angler; + private int ticksInGround; + private int ticksInAir; + + /** the number of ticks remaining until this fish can no longer be caught */ + private int ticksCatchable; + + /** + * The entity that the fishing rod is connected to, if any. When you right click on the fishing rod and the hook falls on to an entity, this it that entity. + */ + public Entity bobber; + private int fishPosRotationIncrements; + private double fishX; + private double fishY; + private double fishZ; + private double fishYaw; + private double fishPitch; + @SideOnly(Side.CLIENT) + private double velocityX; + @SideOnly(Side.CLIENT) + private double velocityY; + @SideOnly(Side.CLIENT) + private double velocityZ; + + public EntityAtumFishHook(World par1World) { + super(par1World); + this.xTile = -1; + this.yTile = -1; + this.zTile = -1; + this.inTile = 0; + this.inGround = false; + this.shake = 0; + this.ticksInAir = 0; + this.ticksCatchable = 0; + this.bobber = null; + this.setSize(0.25F, 0.25F); + this.ignoreFrustumCheck = true; + } + + @SideOnly(Side.CLIENT) + public EntityAtumFishHook(World par1World, double par2, double par4, double par6, EntityPlayer par8EntityPlayer) { + this(par1World); + this.setPosition(par2, par4, par6); + this.ignoreFrustumCheck = true; + this.angler = par8EntityPlayer; + par8EntityPlayer.fishEntity = this; + } + + public EntityAtumFishHook(World par1World, EntityPlayer par2EntityPlayer) { + super(par1World); + this.xTile = -1; + this.yTile = -1; + this.zTile = -1; + this.inTile = 0; + this.inGround = false; + this.shake = 0; + this.ticksInAir = 0; + this.ticksCatchable = 0; + this.bobber = null; + this.ignoreFrustumCheck = true; + this.angler = par2EntityPlayer; + this.angler.fishEntity = this; + this.setSize(0.25F, 0.25F); + this.setLocationAndAngles(par2EntityPlayer.posX, par2EntityPlayer.posY + 1.62D - (double) par2EntityPlayer.yOffset, par2EntityPlayer.posZ, par2EntityPlayer.rotationYaw, par2EntityPlayer.rotationPitch); + this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.posY -= 0.10000000149011612D; + this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.setPosition(this.posX, this.posY, this.posZ); + this.yOffset = 0.0F; + float f = 0.4F; + this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI) * f); + this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI) * f); + this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI) * f); + this.calculateVelocity(this.motionX, this.motionY, this.motionZ, 1.5F, 1.0F); + } + + protected void entityInit() { + } + + @SideOnly(Side.CLIENT) + /** + * Checks if the entity is in range to render by using the past in distance and comparing it to its average edge + * length * 64 * renderDistanceWeight Args: distance + */ + public boolean isInRangeToRenderDist(double par1) { + double d1 = this.boundingBox.getAverageEdgeLength() * 4.0D; + d1 *= 64.0D; + return par1 < d1 * d1; + } + + public void calculateVelocity(double par1, double par3, double par5, float par7, float par8) { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double) f2; + par3 /= (double) f2; + par5 /= (double) f2; + par1 += this.rand.nextGaussian() * 0.007499999832361937D * (double) par8; + par3 += this.rand.nextGaussian() * 0.007499999832361937D * (double) par8; + par5 += this.rand.nextGaussian() * 0.007499999832361937D * (double) par8; + par1 *= (double) par7; + par3 *= (double) par7; + par5 *= (double) par7; + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + /** + * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, + * posY, posZ, yaw, pitch + */ + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { + this.fishX = par1; + this.fishY = par3; + this.fishZ = par5; + this.fishYaw = (double) par7; + this.fishPitch = (double) par8; + this.fishPosRotationIncrements = par9; + this.motionX = this.velocityX; + this.motionY = this.velocityY; + this.motionZ = this.velocityZ; + } + + @SideOnly(Side.CLIENT) + /** + * Sets the velocity to the args. Args: x, y, z + */ + public void setVelocity(double par1, double par3, double par5) { + this.velocityX = this.motionX = par1; + this.velocityY = this.motionY = par3; + this.velocityZ = this.motionZ = par5; + } + + /** + * Called to update the entity's position/logic. + */ + public void onUpdate() { + this.onEntityUpdate(); + + if(this.fishPosRotationIncrements > 0) { + double d0 = this.posX + (this.fishX - this.posX) / (double) this.fishPosRotationIncrements; + double d1 = this.posY + (this.fishY - this.posY) / (double) this.fishPosRotationIncrements; + double d2 = this.posZ + (this.fishZ - this.posZ) / (double) this.fishPosRotationIncrements; + double d3 = MathHelper.wrapAngleTo180_double(this.fishYaw - (double) this.rotationYaw); + this.rotationYaw = (float) ((double) this.rotationYaw + d3 / (double) this.fishPosRotationIncrements); + this.rotationPitch = (float) ((double) this.rotationPitch + (this.fishPitch - (double) this.rotationPitch) / (double) this.fishPosRotationIncrements); + --this.fishPosRotationIncrements; + this.setPosition(d0, d1, d2); + this.setRotation(this.rotationYaw, this.rotationPitch); + } else { + if(!this.worldObj.isRemote) { + ItemStack itemstack = this.angler.getCurrentEquippedItem(); + + if(this.angler.isDead || !this.angler.isEntityAlive() || itemstack == null || itemstack.getItem() != Items.anuketsBounty || this.getDistanceSqToEntity(this.angler) > 1024.0D) { + this.setDead(); + this.angler.fishEntity = null; + return; + } + + if(this.bobber != null) { + if(!this.bobber.isDead) { + this.posX = this.bobber.posX; + this.posY = this.bobber.boundingBox.minY + (double) this.bobber.height * 0.8D; + this.posZ = this.bobber.posZ; + return; + } + + this.bobber = null; + } + } + + if(this.shake > 0) { + --this.shake; + } + + if(this.inGround) { + int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + + if(i == this.inTile) { + ++this.ticksInGround; + + if(this.ticksInGround == 1200) { + this.setDead(); + } + + return; + } + + this.inGround = false; + this.motionX *= (double) (this.rand.nextFloat() * 0.2F); + this.motionY *= (double) (this.rand.nextFloat() * 0.2F); + this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } else { + ++this.ticksInAir; + } + + Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); + Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, false); + vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); + vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if(movingobjectposition != null) { + vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d4 = 0.0D; + double d5; + + for(int j = 0; j < list.size(); ++j) { + Entity entity1 = (Entity) list.get(j); + + if(entity1.canBeCollidedWith() && (entity1 != this.angler || this.ticksInAir >= 5)) { + float f = 0.3F; + AxisAlignedBB axisalignedbb = entity1.boundingBox.expand((double) f, (double) f, (double) f); + MovingObjectPosition movingobjectposition1 = axisalignedbb.calculateIntercept(vec3, vec31); + + if(movingobjectposition1 != null) { + d5 = vec3.distanceTo(movingobjectposition1.hitVec); + + if(d5 < d4 || d4 == 0.0D) { + entity = entity1; + d4 = d5; + } + } + } + } + + if(entity != null) { + movingobjectposition = new MovingObjectPosition(entity); + } + + if(movingobjectposition != null) { + if(movingobjectposition.entityHit != null) { + if(movingobjectposition.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.angler), 0)) { + this.bobber = movingobjectposition.entityHit; + } + } else { + this.inGround = true; + } + } + + if(!this.inGround) { + this.moveEntity(this.motionX, this.motionY, this.motionZ); + float f1 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for(this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f1) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + ; + } + + while(this.rotationPitch - this.prevRotationPitch >= 180.0F) { + this.prevRotationPitch += 360.0F; + } + + while(this.rotationYaw - this.prevRotationYaw < -180.0F) { + this.prevRotationYaw -= 360.0F; + } + + while(this.rotationYaw - this.prevRotationYaw >= 180.0F) { + this.prevRotationYaw += 360.0F; + } + + this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; + this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; + float f2 = 0.92F; + + if(this.onGround || this.isCollidedHorizontally) { + f2 = 0.5F; + } + + byte b0 = 5; + double d6 = 0.0D; + + for(int k = 0; k < b0; ++k) { + double d7 = this.boundingBox.minY + (this.boundingBox.maxY - this.boundingBox.minY) * (double) (k + 0) / (double) b0 - 0.125D + 0.125D; + double d8 = this.boundingBox.minY + (this.boundingBox.maxY - this.boundingBox.minY) * (double) (k + 1) / (double) b0 - 0.125D + 0.125D; + AxisAlignedBB axisalignedbb1 = AxisAlignedBB.getAABBPool().getAABB(this.boundingBox.minX, d7, this.boundingBox.minZ, this.boundingBox.maxX, d8, this.boundingBox.maxZ); + + if(this.worldObj.isAABBInMaterial(axisalignedbb1, Material.water)) { + d6 += 1.0D / (double) b0; + } + } + + if(d6 > 0.0D) { + if(this.ticksCatchable > 0) { + --this.ticksCatchable; + } else { + short short1 = 500; + + if(this.worldObj.canLightningStrikeAt(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY) + 1, MathHelper.floor_double(this.posZ))) { + short1 = 300; + } + + if(this.rand.nextInt(short1) == 0) { + this.ticksCatchable = this.rand.nextInt(30) + 10; + this.motionY -= 0.20000000298023224D; + this.playSound("random.splash", 0.25F, 1.0F + (this.rand.nextFloat() - this.rand.nextFloat()) * 0.4F); + float f3 = (float) MathHelper.floor_double(this.boundingBox.minY); + int l; + float f4; + float f5; + + for(l = 0; (float) l < 1.0F + this.width * 20.0F; ++l) { + f5 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; + f4 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; + this.worldObj.spawnParticle("bubble", this.posX + (double) f5, (double) (f3 + 1.0F), this.posZ + (double) f4, this.motionX, this.motionY - (double) (this.rand.nextFloat() * 0.2F), this.motionZ); + } + + for(l = 0; (float) l < 1.0F + this.width * 20.0F; ++l) { + f5 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; + f4 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; + this.worldObj.spawnParticle("splash", this.posX + (double) f5, (double) (f3 + 1.0F), this.posZ + (double) f4, this.motionX, this.motionY, this.motionZ); + } + } + } + } + + if(this.ticksCatchable > 0) { + this.motionY -= (double) (this.rand.nextFloat() * this.rand.nextFloat() * this.rand.nextFloat()) * 0.2D; + } + + d5 = d6 * 2.0D - 1.0D; + this.motionY += 0.03999999910593033D * d5; + + if(d6 > 0.0D) { + f2 = (float) ((double) f2 * 0.9D); + this.motionY *= 0.8D; + } + + this.motionX *= (double) f2; + this.motionY *= (double) f2; + this.motionZ *= (double) f2; + this.setPosition(this.posX, this.posY, this.posZ); + } + } + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short) this.xTile); + par1NBTTagCompound.setShort("yTile", (short) this.yTile); + par1NBTTagCompound.setShort("zTile", (short) this.zTile); + par1NBTTagCompound.setByte("inTile", (byte) this.inTile); + par1NBTTagCompound.setByte("shake", (byte) this.shake); + par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.shake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() { + return 0.0F; + } + + public int catchFish() { + if(this.worldObj.isRemote) { + return 0; + } else { + byte b0 = 0; + + if(this.bobber != null) { + double d0 = this.angler.posX - this.posX; + double d1 = this.angler.posY - this.posY; + double d2 = this.angler.posZ - this.posZ; + double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d1 * d1 + d2 * d2); + double d4 = 0.1D; + this.bobber.motionX += d0 * d4; + this.bobber.motionY += d1 * d4 + (double) MathHelper.sqrt_double(d3) * 0.08D; + this.bobber.motionZ += d2 * d4; + b0 = 3; + } else if(this.ticksCatchable > 0) { + EntityItem entityitem = new EntityItem(this.worldObj, this.posX, this.posY, this.posZ, new ItemStack(Item.fishRaw)); + if(worldObj.provider.dimensionId == AtumIDS.DIMENSION_ID) + entityitem.setEntityItemStack(AtumFish.getRandomFish()); + double d5 = this.angler.posX - this.posX; + double d6 = this.angler.posY - this.posY; + double d7 = this.angler.posZ - this.posZ; + double d8 = (double) MathHelper.sqrt_double(d5 * d5 + d6 * d6 + d7 * d7); + double d9 = 0.1D; + entityitem.motionX = d5 * d9; + entityitem.motionY = d6 * d9 + (double) MathHelper.sqrt_double(d8) * 0.08D; + entityitem.motionZ = d7 * d9; + this.worldObj.spawnEntityInWorld(entityitem); + this.angler.addStat(StatList.fishCaughtStat, 1); + this.angler.worldObj.spawnEntityInWorld(new EntityXPOrb(this.angler.worldObj, this.angler.posX, this.angler.posY + 0.5D, this.angler.posZ + 0.5D, this.rand.nextInt(6) + 1)); + b0 = 1; + } + + if(this.inGround) { + b0 = 2; + } + + this.setDead(); + this.angler.fishEntity = null; + return b0; + } + } + + /** + * Will get destroyed next tick. + */ + public void setDead() { + super.setDead(); + + if(this.angler != null) { + this.angler.fishEntity = null; + } + } +} diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java b/src/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java new file mode 100644 index 0000000..de03f7c --- /dev/null +++ b/src/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java @@ -0,0 +1,536 @@ +package com.teammetallurgy.atum.entity.arrow; + +import java.util.List; + +import net.minecraft.block.Block; +import net.minecraft.enchantment.EnchantmentThorns; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.IProjectile; +import net.minecraft.entity.effect.EntityLightningBolt; +import net.minecraft.entity.monster.EntityEnderman; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.packet.Packet70GameEvent; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import cpw.mods.fml.common.registry.IThrowableEntity; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class EntityNutsCall extends CustomArrow implements IProjectile, IThrowableEntity { + private int xTile = -1; + private int yTile = -1; + private int zTile = -1; + private int inTile = 0; + private int inData = 0; + private boolean inGround = false; + + /** 1 if the player can pick up the arrow */ + public int canBePickedUp = 0; + + /** Seems to be some sort of timer for animating an arrow. */ + public int arrowShake = 0; + + /** The owner of this arrow. */ + public Entity shootingEntity; + private int ticksInGround; + private int ticksInAir = 0; + private double damage = 2.0D; + + public ItemStack stack; + + /** The amount of knockback an arrow applies when it hits a mob. */ + private int knockbackStrength; + + public EntityNutsCall(World par1World) { + super(par1World); + this.renderDistanceWeight = 10.0D; + isImmuneToFire = true; + this.setSize(1.5F, 0.5F); + } + + public EntityNutsCall(World par1World, double par2, double par4, double par6) { + super(par1World); + this.renderDistanceWeight = 10.0D; + isImmuneToFire = true; + this.setSize(1.5F, 0.5F); + this.setPosition(par2, par4, par6); + this.yOffset = 0.0F; + } + + public EntityNutsCall(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { + super(par1World); + isImmuneToFire = true; + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.posY = par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + double d0 = par3EntityLiving.posX - par2EntityLiving.posX; + double d1 = par3EntityLiving.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; + double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; + double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); + + if(d3 >= 1.0E-7D) { + float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); + this.yOffset = 0.0F; + float f4 = (float) d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); + } + } + + public EntityNutsCall(World par1World, EntityLivingBase par2EntityLiving, float par3) { + super(par1World); + isImmuneToFire = true; + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.setSize(1.5F, 0.5F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.posY -= 0.10000000149011612D; + this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.setPosition(this.posX, this.posY, this.posZ); + this.yOffset = 0.0F; + this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); + this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); + } + + public void setStack(ItemStack stack) { + this.stack = stack; + } + + protected void entityInit() { + this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); + } + + /** + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + */ + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double) f2; + par3 /= (double) f2; + par5 /= (double) f2; + par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par1 *= (double) par7; + par3 *= (double) par7; + par5 *= (double) par7; + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + /** + * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, + * posY, posZ, yaw, pitch + */ + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { + this.setPosition(par1, par3, par5); + this.setRotation(par7, par8); + } + + @SideOnly(Side.CLIENT) + /** + * Sets the velocity to the args. Args: x, y, z + */ + public void setVelocity(double par1, double par3, double par5) { + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + + if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch; + this.prevRotationYaw = this.rotationYaw; + this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); + this.ticksInGround = 0; + } + } + + /** + * Called to update the entity's position/logic. + */ + public void onUpdate() { + super.onUpdate(); + + if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); + } + + int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + + if(i > 0) { + Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + + if(axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { + this.inGround = true; + } + } + + if(this.arrowShake > 0) { + --this.arrowShake; + } + + if(this.inGround) { + int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + + if(j == this.inTile && k == this.inData) { + ++this.ticksInGround; + + if(this.ticksInGround == 20000) { + this.setDead(); + } + } else { + this.inGround = false; + this.motionX *= (double) (this.rand.nextFloat() * 0.2F); + this.motionY *= (double) (this.rand.nextFloat() * 0.2F); + this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } + } else { + ++this.ticksInAir; + Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); + Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); + vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); + vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if(movingobjectposition != null) { + vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + int l; + float f1; + + for(l = 0; l < list.size(); ++l) { + Entity entity1 = (Entity) list.get(l); + + if(entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { + f1 = 0.3F; + AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); + MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); + + if(movingobjectposition1 != null) { + double d1 = vec3.distanceTo(movingobjectposition1.hitVec); + + if(d1 < d0 || d0 == 0.0D) { + entity = entity1; + d0 = d1; + } + } + } + } + + if(entity != null) { + movingobjectposition = new MovingObjectPosition(entity); + } + + if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; + + if(entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { + movingobjectposition = null; + } + } + + float f2; + float f3; + + if(movingobjectposition != null) { + if(movingobjectposition.entityHit != null) { + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); + + if(this.getIsCritical()) { + i1 += this.rand.nextInt(i1 / 2 + 2); + } + + DamageSource damagesource = null; + + if(this.shootingEntity == null) { + damagesource = DamageSource.causeThrownDamage(this, this); + } else { + damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); + } + + if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + movingobjectposition.entityHit.setFire(5); + } + + if(Math.random() > 0.5) + worldObj.addWeatherEffect(new EntityLightningBolt(worldObj, (double) posX, (double) posY, (double) posZ)); + + if(movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if(movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; + + if(this.knockbackStrength > 0) { + f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + + if(f3 > 0.0F) { + movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); + } + } + + if(this.shootingEntity != null) { + EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); + } + + if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + } + } + + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + } else { + this.motionX *= -0.10000000149011612D; + this.motionY *= -0.10000000149011612D; + this.motionZ *= -0.10000000149011612D; + this.rotationYaw += 180.0F; + this.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } else { + this.xTile = movingobjectposition.blockX; + this.yTile = movingobjectposition.blockY; + this.zTile = movingobjectposition.blockZ; + this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); + this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); + this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; + this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; + this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + this.inGround = true; + this.arrowShake = 7; + this.setIsCritical(false); + + if(this.inTile != 0) { + Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + } + } + } + + if(this.getIsCritical()) { + for(l = 0; l < 4; ++l) { + this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); + } + } + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for(this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + ; + } + + while(this.rotationPitch - this.prevRotationPitch >= 180.0F) { + this.prevRotationPitch += 360.0F; + } + + while(this.rotationYaw - this.prevRotationYaw < -180.0F) { + this.prevRotationYaw -= 360.0F; + } + + while(this.rotationYaw - this.prevRotationYaw >= 180.0F) { + this.prevRotationYaw += 360.0F; + } + + this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; + this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; + float f4 = 0.99F; + f1 = 0.05F; + + if(this.isInWater()) { + for(int j1 = 0; j1 < 4; ++j1) { + f3 = 0.25F; + this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); + } + + f4 = 0.45F; + } + + this.motionX *= (double) f4; + this.motionY *= (double) f4; + this.motionZ *= (double) f4; + this.motionY -= (double) f1; + this.setPosition(this.posX, this.posY, this.posZ); + this.doBlockCollisions(); + } + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short) this.xTile); + par1NBTTagCompound.setShort("yTile", (short) this.yTile); + par1NBTTagCompound.setShort("zTile", (short) this.zTile); + par1NBTTagCompound.setByte("inTile", (byte) this.inTile); + par1NBTTagCompound.setByte("inData", (byte) this.inData); + par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); + par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); + par1NBTTagCompound.setDouble("damage", this.damage); + + NBTTagCompound stackTag = new NBTTagCompound(); + stack.writeToNBT(stackTag); + + par1NBTTagCompound.setCompoundTag("itemstack", stackTag); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inData = par1NBTTagCompound.getByte("inData") & 255; + this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + + if(par1NBTTagCompound.hasKey("damage")) { + this.damage = par1NBTTagCompound.getDouble("damage"); + } + + if(par1NBTTagCompound.hasKey("pickup")) { + this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); + } else if(par1NBTTagCompound.hasKey("player")) { + this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; + } + + NBTTagCompound stackTag = par1NBTTagCompound.getCompoundTag("itemstack"); + stack = ItemStack.loadItemStackFromNBT(stackTag); + } + + /** + * Called by a player entity when they collide with an entity + */ + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if(!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; + + if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(stack)) { + flag = false; + } + + if(flag) { + this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + par1EntityPlayer.onItemPickup(this, 1); + this.setDead(); + } + } + } + + /** + * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to prevent them from trampling crops + */ + protected boolean canTriggerWalking() { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() { + return 0.0F; + } + + public void setDamage(double par1) { + this.damage = par1; + } + + public double getDamage() { + return this.damage; + } + + /** + * Sets the amount of knockback the arrow applies when it hits a mob. + */ + public void setKnockbackStrength(int par1) { + this.knockbackStrength = par1; + } + + /** + * If returns false, the item will not inflict any damage against entities. + */ + public boolean canAttackWithItem() { + return false; + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public void setIsCritical(boolean par1) { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + + if(par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public boolean getIsCritical() { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } + + @Override + public Entity getThrower() { + return shootingEntity; + } + + @Override + public void setThrower(Entity entity) { + shootingEntity = entity; + } +} diff --git a/src/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearCombined.java b/src/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearCombined.java new file mode 100644 index 0000000..30858bf --- /dev/null +++ b/src/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearCombined.java @@ -0,0 +1,545 @@ +package com.teammetallurgy.atum.entity.projectiles; + +import java.util.List; + +import net.minecraft.block.Block; +import net.minecraft.enchantment.EnchantmentThorns; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.IProjectile; +import net.minecraft.entity.monster.EntityEnderman; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.packet.Packet70GameEvent; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import cpw.mods.fml.common.registry.IThrowableEntity; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class EntityFireSpearCombined extends Entity implements IProjectile, IThrowableEntity { + private int xTile = -1; + private int yTile = -1; + private int zTile = -1; + private int inTile = 0; + private int inData = 0; + private boolean inGround = false; + + /** 1 if the player can pick up the arrow */ + public int canBePickedUp = 0; + + /** Seems to be some sort of timer for animating an arrow. */ + public int arrowShake = 0; + + /** The owner of this arrow. */ + public Entity shootingEntity; + private int ticksInGround; + private int ticksInAir = 0; + private double damage = 2.0D; + + /** The amount of knockback an arrow applies when it hits a mob. */ + private int knockbackStrength; + + public EntityFireSpearCombined(World par1World) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + } + + public EntityFireSpearCombined(World par1World, double par2, double par4, double par6) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.setPosition(par2, par4, par6); + this.yOffset = 0.0F; + } + + public EntityFireSpearCombined(World par1World, EntityLivingBase par2EntityLivingBase, EntityLiving par3EntityLiving, float par4, float par5) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLivingBase; + + if(par2EntityLivingBase instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.posY = par2EntityLivingBase.posY + (double) par2EntityLivingBase.getEyeHeight() - 0.10000000149011612D; + double d0 = par3EntityLiving.posX - par2EntityLivingBase.posX; + double d1 = par3EntityLiving.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; + double d2 = par3EntityLiving.posZ - par2EntityLivingBase.posZ; + double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); + + if(d3 >= 1.0E-7D) { + float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(par2EntityLivingBase.posX + d4, this.posY, par2EntityLivingBase.posZ + d5, f2, f3); + this.yOffset = 0.0F; + float f4 = (float) d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); + } + } + + public EntityFireSpearCombined(World par1World, EntityLivingBase par2EntityLivingBase, float par3) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLivingBase; + + if(par2EntityLivingBase instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.setSize(0.5F, 0.5F); + this.setLocationAndAngles(par2EntityLivingBase.posX, par2EntityLivingBase.posY + (double) par2EntityLivingBase.getEyeHeight(), par2EntityLivingBase.posZ, par2EntityLivingBase.rotationYaw, par2EntityLivingBase.rotationPitch); + this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.posY -= 0.10000000149011612D; + this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.setPosition(this.posX, this.posY, this.posZ); + this.yOffset = 0.0F; + this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); + this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); + } + + protected void entityInit() { + this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); + } + + /** + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + */ + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double) f2; + par3 /= (double) f2; + par5 /= (double) f2; + par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par1 *= (double) par7; + par3 *= (double) par7; + par5 *= (double) par7; + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + /** + * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, + * posY, posZ, yaw, pitch + */ + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { + this.setPosition(par1, par3, par5); + this.setRotation(par7, par8); + } + + @SideOnly(Side.CLIENT) + /** + * Sets the velocity to the args. Args: x, y, z + */ + public void setVelocity(double par1, double par3, double par5) { + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + + if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch; + this.prevRotationYaw = this.rotationYaw; + this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); + this.ticksInGround = 0; + } + } + + /** + * Called to update the entity's position/logic. + */ + public void onUpdate() { + super.onUpdate(); + + if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); + } + + int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + + if(i > 0) { + Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + + if(axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { + this.inGround = true; + } + } + + if(this.arrowShake > 0) { + --this.arrowShake; + } + + if(this.inGround) { + int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + + if(j == this.inTile && k == this.inData) { + ++this.ticksInGround; + + if(this.ticksInGround == 1200) { + this.setDead(); + } + } else { + this.inGround = false; + this.motionX *= (double) (this.rand.nextFloat() * 0.2F); + this.motionY *= (double) (this.rand.nextFloat() * 0.2F); + this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } + } else { + ++this.ticksInAir; + Vec3 position = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); + Vec3 new_position = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(position, new_position, false, true); + position = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); + new_position = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if(movingobjectposition != null) { + new_position = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + int l; + float f1; + + for(l = 0; l < list.size(); ++l) { + Entity entity1 = (Entity) list.get(l); + + if(entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { + f1 = 0.3F; + AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); + MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(position, new_position); + + if(movingobjectposition1 != null) { + double d1 = position.distanceTo(movingobjectposition1.hitVec); + + if(d1 < d0 || d0 == 0.0D) { + entity = entity1; + d0 = d1; + } + } + } + } + + if(entity != null) { + movingobjectposition = new MovingObjectPosition(entity); + } + + if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; + + if(entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { + movingobjectposition = null; + } + } + + float f2; + float f3; + + if(movingobjectposition != null) { + if(movingobjectposition.entityHit != null) { + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); + + if(this.getIsCritical()) { + i1 += this.rand.nextInt(i1 / 2 + 2); + } + + DamageSource damagesource = null; + + if(this.shootingEntity == null) { + damagesource = DamageSource.causeThrownDamage(this, this); + } else { + damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); + } + + if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + movingobjectposition.entityHit.setFire(5); + } + + if(movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if(movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; + + if(!this.worldObj.isRemote) { + entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); + } + + if(this.knockbackStrength > 0) { + f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + + if(f3 > 0.0F) { + movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); + } + } + + if(this.shootingEntity != null) { + EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); + } + + if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + } + } + + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + + if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { + this.setDead(); + } + } else { + this.motionX *= -0.10000000149011612D; + this.motionY *= -0.10000000149011612D; + this.motionZ *= -0.10000000149011612D; + this.rotationYaw += 180.0F; + this.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } else { + this.xTile = movingobjectposition.blockX; + this.yTile = movingobjectposition.blockY; + this.zTile = movingobjectposition.blockZ; + this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); + this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); + this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + this.posX -= this.motionX / (double) f2 * 0.05D; + this.posY -= this.motionY / (double) f2 * 0.05D; + this.posZ -= this.motionZ / (double) f2 * 0.05D; + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + this.inGround = true; + this.arrowShake = 7; + this.setIsCritical(false); + + if(this.inTile != 0) { + Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + } + } + } + + if(this.getIsCritical()) { + for(l = 0; l < 4; ++l) { + this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); + } + } + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for(this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + ; + } + + while(this.rotationPitch - this.prevRotationPitch >= 180.0F) { + this.prevRotationPitch += 360.0F; + } + + while(this.rotationYaw - this.prevRotationYaw < -180.0F) { + this.prevRotationYaw -= 360.0F; + } + + while(this.rotationYaw - this.prevRotationYaw >= 180.0F) { + this.prevRotationYaw += 360.0F; + } + + this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; + this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; + float f4 = 0.99F; + f1 = 0.05F; + + if(this.isInWater()) { + for(int j1 = 0; j1 < 4; ++j1) { + f3 = 0.25F; + this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); + } + + f4 = 0.8F; + } + + double prevMotionY = motionY; + + this.motionX *= (double) f4; + this.motionY *= (double) f4; + this.motionZ *= (double) f4; + this.motionY -= (double) f1; + this.setPosition(this.posX, this.posY, this.posZ); + + if(Math.random() > 0.0) { + worldObj.spawnParticle("flame", (double) (this.posX + Math.random() * 0.5 - 0.25), (double) (this.posY + Math.random() * 0.5 - 0.25), (double) (this.posZ + Math.random() * 0.5 - 0.25), 0.0D, 0.0D, 0.0D); + worldObj.spawnParticle("smoke", (double) (this.posX + Math.random() * 0.5 - 0.25), (double) (this.posY + Math.random() * 0.5 - 0.25), (double) (this.posZ + Math.random() * 0.5 - 0.25), 0.0D, 0.0D, 0.0D); + } + + if(this.ticksInAir > 10 && motionY < 0) { + EntityFireSpearSeperated spear1 = new EntityFireSpearSeperated(this, 0.1F, 0.0F, 0.1F); + EntityFireSpearSeperated spear2 = new EntityFireSpearSeperated(this, -0.1F, 0.0F, -0.1F); + EntityFireSpearSeperated spear3 = new EntityFireSpearSeperated(this, 0.0F, 0.0F, 0.0F); + + if(!worldObj.isRemote) { + worldObj.spawnEntityInWorld(spear1); + worldObj.spawnEntityInWorld(spear2); + worldObj.spawnEntityInWorld(spear3); + this.setDead(); + } + } + + this.doBlockCollisions(); + } + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short) this.xTile); + par1NBTTagCompound.setShort("yTile", (short) this.yTile); + par1NBTTagCompound.setShort("zTile", (short) this.zTile); + par1NBTTagCompound.setByte("inTile", (byte) this.inTile); + par1NBTTagCompound.setByte("inData", (byte) this.inData); + par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); + par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); + par1NBTTagCompound.setDouble("damage", this.damage); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inData = par1NBTTagCompound.getByte("inData") & 255; + this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + + if(par1NBTTagCompound.hasKey("damage")) { + this.damage = par1NBTTagCompound.getDouble("damage"); + } + + if(par1NBTTagCompound.hasKey("pickup")) { + this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); + } else if(par1NBTTagCompound.hasKey("player")) { + this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; + } + } + + /** + * Called by a player entity when they collide with an entity + */ + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if(!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; + + if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { + flag = false; + } + + if(flag) { + this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + par1EntityPlayer.onItemPickup(this, 1); + this.setDead(); + } + } + } + + /** + * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to prevent them from trampling crops + */ + protected boolean canTriggerWalking() { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() { + return 0.0F; + } + + public void setDamage(double par1) { + this.damage = par1; + } + + public double getDamage() { + return this.damage; + } + + /** + * Sets the amount of knockback the arrow applies when it hits a mob. + */ + public void setKnockbackStrength(int par1) { + this.knockbackStrength = par1; + } + + /** + * If returns false, the item will not inflict any damage against entities. + */ + public boolean canAttackWithItem() { + return false; + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public void setIsCritical(boolean par1) { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + + if(par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public boolean getIsCritical() { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } + + @Override + public Entity getThrower() { + return shootingEntity; + } + + @Override + public void setThrower(Entity entity) { + shootingEntity = entity; + } + +} diff --git a/src/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearSeperated.java b/src/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearSeperated.java new file mode 100644 index 0000000..223d7d5 --- /dev/null +++ b/src/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearSeperated.java @@ -0,0 +1,550 @@ +package com.teammetallurgy.atum.entity.projectiles; + +import java.util.List; + +import net.minecraft.block.Block; +import net.minecraft.enchantment.EnchantmentThorns; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.IProjectile; +import net.minecraft.entity.monster.EntityEnderman; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.packet.Packet70GameEvent; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import cpw.mods.fml.common.registry.IThrowableEntity; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class EntityFireSpearSeperated extends Entity implements IProjectile, IThrowableEntity { + private int xTile = -1; + private int yTile = -1; + private int zTile = -1; + private int inTile = 0; + private int inData = 0; + private boolean inGround = false; + + /** 1 if the player can pick up the arrow */ + public int canBePickedUp = 0; + + /** Seems to be some sort of timer for animating an arrow. */ + public int arrowShake = 0; + + /** The owner of this arrow. */ + public Entity shootingEntity; + private int ticksInGround; + private int ticksInAir = 0; + private double damage = 2.0D; + + /** The amount of knockback an arrow applies when it hits a mob. */ + private int knockbackStrength; + + public EntityFireSpearSeperated(EntityFireSpearCombined spear, float dmx, float dmy, float dmz) { + super(spear.worldObj); + this.setPosition(spear.posX, spear.posY, spear.posZ); + this.renderDistanceWeight = spear.renderDistanceWeight; + this.shootingEntity = spear.shootingEntity; + this.canBePickedUp = spear.canBePickedUp; + + // Set location and angles + this.lastTickPosX = spear.lastTickPosX; + this.lastTickPosY = spear.lastTickPosY; + this.lastTickPosZ = spear.lastTickPosZ; + this.rotationYaw = spear.rotationYaw; + this.rotationPitch = spear.rotationPitch; + + this.motionX = spear.motionX + dmx; + this.motionY = spear.motionY + dmy; + this.motionZ = spear.motionZ + dmz; + } + + public EntityFireSpearSeperated(World par1World) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + + this.setSize(0.5F, 0.5F); + } + + public EntityFireSpearSeperated(World par1World, double par2, double par4, double par6) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.setPosition(par2, par4, par6); + this.yOffset = 0.0F; + } + + public EntityFireSpearSeperated(World par1World, EntityLivingBase par2EntityLivingBase, EntityLiving par3EntityLiving, float par4, float par5) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLivingBase; + + if(par2EntityLivingBase instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.posY = par2EntityLivingBase.posY + (double) par2EntityLivingBase.getEyeHeight() - 0.10000000149011612D; + double d0 = par2EntityLivingBase.posX - par2EntityLivingBase.posX; + double d1 = par2EntityLivingBase.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; + double d2 = par2EntityLivingBase.posZ - par2EntityLivingBase.posZ; + double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); + + if(d3 >= 1.0E-7D) { + float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(par2EntityLivingBase.posX + d4, this.posY, par2EntityLivingBase.posZ + d5, f2, f3); + this.yOffset = 0.0F; + float f4 = (float) d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); + } + } + + public EntityFireSpearSeperated(World par1World, EntityLivingBase par2EntityLivingBase, float par3) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLivingBase; + + if(par2EntityLivingBase instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.setSize(0.5F, 0.5F); + this.setLocationAndAngles(par2EntityLivingBase.posX, par2EntityLivingBase.posY + (double) par2EntityLivingBase.getEyeHeight(), par2EntityLivingBase.posZ, par2EntityLivingBase.rotationYaw, par2EntityLivingBase.rotationPitch); + this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.posY -= 0.10000000149011612D; + this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.setPosition(this.posX, this.posY, this.posZ); + this.yOffset = 0.0F; + this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); + this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); + } + + protected void entityInit() { + this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); + } + + /** + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + */ + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double) f2; + par3 /= (double) f2; + par5 /= (double) f2; + par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par1 *= (double) par7; + par3 *= (double) par7; + par5 *= (double) par7; + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + /** + * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, + * posY, posZ, yaw, pitch + */ + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { + this.setPosition(par1, par3, par5); + this.setRotation(par7, par8); + } + + @SideOnly(Side.CLIENT) + /** + * Sets the velocity to the args. Args: x, y, z + */ + public void setVelocity(double par1, double par3, double par5) { + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + + if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch; + this.prevRotationYaw = this.rotationYaw; + this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); + this.ticksInGround = 0; + } + } + + /** + * Called to update the entity's position/logic. + */ + public void onUpdate() { + super.onUpdate(); + + if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); + } + + int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + + if(i > 0) { + Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + + if(axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { + this.inGround = true; + } + } + + if(this.arrowShake > 0) { + --this.arrowShake; + } + + if(this.inGround) { + int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + + if(j == this.inTile && k == this.inData) { + ++this.ticksInGround; + + if(this.ticksInGround == 1200) { + this.setDead(); + } + } else { + this.inGround = false; + this.motionX *= (double) (this.rand.nextFloat() * 0.2F); + this.motionY *= (double) (this.rand.nextFloat() * 0.2F); + this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } + } else { + ++this.ticksInAir; + Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); + Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); + vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); + vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if(movingobjectposition != null) { + vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + int l; + float f1; + + for(l = 0; l < list.size(); ++l) { + Entity entity1 = (Entity) list.get(l); + + if(entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { + f1 = 0.3F; + AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); + MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); + + if(movingobjectposition1 != null) { + double d1 = vec3.distanceTo(movingobjectposition1.hitVec); + + if(d1 < d0 || d0 == 0.0D) { + entity = entity1; + d0 = d1; + } + } + } + } + + if(entity != null) { + movingobjectposition = new MovingObjectPosition(entity); + } + + if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; + + if(entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { + movingobjectposition = null; + } + } + + float f2; + float f3; + + if(movingobjectposition != null) { + if(movingobjectposition.entityHit != null) { + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); + + if(this.getIsCritical()) { + i1 += this.rand.nextInt(i1 / 2 + 2); + } + + DamageSource damagesource = null; + + if(this.shootingEntity == null) { + damagesource = DamageSource.causeThrownDamage(this, this); + } else { + damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); + } + + if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + movingobjectposition.entityHit.setFire(5); + } + + if(movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if(movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; + + if(!this.worldObj.isRemote) { + entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); + } + + if(this.knockbackStrength > 0) { + f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + + if(f3 > 0.0F) { + movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); + } + } + + if(this.shootingEntity != null) { + EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); + } + + if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + } + } + + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + + if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { + this.setDead(); + } + } else { + this.motionX *= -0.10000000149011612D; + this.motionY *= -0.10000000149011612D; + this.motionZ *= -0.10000000149011612D; + this.rotationYaw += 180.0F; + this.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } else { + this.xTile = movingobjectposition.blockX; + this.yTile = movingobjectposition.blockY; + this.zTile = movingobjectposition.blockZ; + this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); + this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); + this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; + this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; + this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + this.inGround = true; + this.arrowShake = 7; + this.setIsCritical(false); + + if(this.inTile != 0) { + Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + } + } + } + + if(this.getIsCritical()) { + for(l = 0; l < 4; ++l) { + this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); + } + } + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for(this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + ; + } + + while(this.rotationPitch - this.prevRotationPitch >= 180.0F) { + this.prevRotationPitch += 360.0F; + } + + while(this.rotationYaw - this.prevRotationYaw < -180.0F) { + this.prevRotationYaw -= 360.0F; + } + + while(this.rotationYaw - this.prevRotationYaw >= 180.0F) { + this.prevRotationYaw += 360.0F; + } + + this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; + this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; + float f4 = 0.99F; + f1 = 0.05F; + + if(this.isInWater()) { + for(int j1 = 0; j1 < 4; ++j1) { + f3 = 0.25F; + this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); + } + + f4 = 0.8F; + } + + this.motionX *= (double) f4; + this.motionY *= (double) f4; + this.motionZ *= (double) f4; + this.motionY -= (double) f1; + this.setPosition(this.posX, this.posY, this.posZ); + this.doBlockCollisions(); + + if(Math.random() > 0.0) { + worldObj.spawnParticle("flame", (double) (this.posX + Math.random() * 0.5 - 0.25), (double) (this.posY + Math.random() * 0.5 - 0.25), (double) (this.posZ + Math.random() * 0.5 - 0.25), 0.0D, 0.0D, 0.0D); + worldObj.spawnParticle("smoke", (double) (this.posX + Math.random() * 0.5 - 0.25), (double) (this.posY + Math.random() * 0.5 - 0.25), (double) (this.posZ + Math.random() * 0.5 - 0.25), 0.0D, 0.0D, 0.0D); + } + } + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short) this.xTile); + par1NBTTagCompound.setShort("yTile", (short) this.yTile); + par1NBTTagCompound.setShort("zTile", (short) this.zTile); + par1NBTTagCompound.setByte("inTile", (byte) this.inTile); + par1NBTTagCompound.setByte("inData", (byte) this.inData); + par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); + par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); + par1NBTTagCompound.setDouble("damage", this.damage); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inData = par1NBTTagCompound.getByte("inData") & 255; + this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + + if(par1NBTTagCompound.hasKey("damage")) { + this.damage = par1NBTTagCompound.getDouble("damage"); + } + + if(par1NBTTagCompound.hasKey("pickup")) { + this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); + } else if(par1NBTTagCompound.hasKey("player")) { + this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; + } + } + + /** + * Called by a player entity when they collide with an entity + */ + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if(!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; + + if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { + flag = false; + } + + if(flag) { + this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + par1EntityPlayer.onItemPickup(this, 1); + this.setDead(); + } + } + } + + /** + * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to prevent them from trampling crops + */ + protected boolean canTriggerWalking() { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() { + return 0.0F; + } + + public void setDamage(double par1) { + this.damage = par1; + } + + public double getDamage() { + return this.damage; + } + + /** + * Sets the amount of knockback the arrow applies when it hits a mob. + */ + public void setKnockbackStrength(int par1) { + this.knockbackStrength = par1; + } + + /** + * If returns false, the item will not inflict any damage against entities. + */ + public boolean canAttackWithItem() { + return false; + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public void setIsCritical(boolean par1) { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + + if(par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public boolean getIsCritical() { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } + + @Override + public Entity getThrower() { + return shootingEntity; + } + + @Override + public void setThrower(Entity entity) { + shootingEntity = entity; + } + +} diff --git a/common/com/teammetallurgy/atum/items/ItemAtumBow.java b/src/com/teammetallurgy/atum/items/ItemAtumBow.java similarity index 100% rename from common/com/teammetallurgy/atum/items/ItemAtumBow.java rename to src/com/teammetallurgy/atum/items/ItemAtumBow.java diff --git a/common/com/teammetallurgy/atum/items/ItemFish.java b/src/com/teammetallurgy/atum/items/ItemFish.java similarity index 100% rename from common/com/teammetallurgy/atum/items/ItemFish.java rename to src/com/teammetallurgy/atum/items/ItemFish.java diff --git a/common/com/teammetallurgy/atum/items/ItemGreatsword.java b/src/com/teammetallurgy/atum/items/ItemGreatsword.java similarity index 80% rename from common/com/teammetallurgy/atum/items/ItemGreatsword.java rename to src/com/teammetallurgy/atum/items/ItemGreatsword.java index b931201..aab5b2a 100644 --- a/common/com/teammetallurgy/atum/items/ItemGreatsword.java +++ b/src/com/teammetallurgy/atum/items/ItemGreatsword.java @@ -1,12 +1,14 @@ package com.teammetallurgy.atum.items; -import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; import net.minecraft.util.MathHelper; +import com.teammetallurgy.atum.entity.EntityPharaoh; +import com.teammetallurgy.atum.entity.EntityStoneSoldier; + public class ItemGreatsword extends ItemSword { public ItemGreatsword(int par1, EnumToolMaterial par2EnumToolMaterial) { @@ -15,10 +17,10 @@ public ItemGreatsword(int par1, EnumToolMaterial par2EnumToolMaterial) { @Override public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase mob, EntityLivingBase player) { - //if(!(mob instanceof EntityStoneSoldier) && !(mob instanceof EntityPharaoh)) { + if(!(mob instanceof EntityStoneSoldier) && !(mob instanceof EntityPharaoh)) { float j = 1.2F; mob.addVelocity((double) (-MathHelper.sin(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F), 0.1D, (double) (MathHelper.cos(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F)); - //} + } return super.hitEntity(par1ItemStack, mob, player); } diff --git a/common/com/teammetallurgy/atum/items/ItemLoot.java b/src/com/teammetallurgy/atum/items/ItemLoot.java similarity index 100% rename from common/com/teammetallurgy/atum/items/ItemLoot.java rename to src/com/teammetallurgy/atum/items/ItemLoot.java diff --git a/common/com/teammetallurgy/atum/items/ItemPapyrusPlant.java b/src/com/teammetallurgy/atum/items/ItemPapyrusPlant.java similarity index 100% rename from common/com/teammetallurgy/atum/items/ItemPapyrusPlant.java rename to src/com/teammetallurgy/atum/items/ItemPapyrusPlant.java diff --git a/common/com/teammetallurgy/atum/items/ItemScarab.java b/src/com/teammetallurgy/atum/items/ItemScarab.java similarity index 100% rename from common/com/teammetallurgy/atum/items/ItemScarab.java rename to src/com/teammetallurgy/atum/items/ItemScarab.java diff --git a/common/com/teammetallurgy/atum/items/ItemScepter.java b/src/com/teammetallurgy/atum/items/ItemScepter.java similarity index 100% rename from common/com/teammetallurgy/atum/items/ItemScepter.java rename to src/com/teammetallurgy/atum/items/ItemScepter.java diff --git a/common/com/teammetallurgy/atum/items/ItemScimitar.java b/src/com/teammetallurgy/atum/items/ItemScimitar.java similarity index 100% rename from common/com/teammetallurgy/atum/items/ItemScimitar.java rename to src/com/teammetallurgy/atum/items/ItemScimitar.java diff --git a/common/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java b/src/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java similarity index 100% rename from common/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java rename to src/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java diff --git a/common/com/teammetallurgy/atum/items/ItemTexturedArmor.java b/src/com/teammetallurgy/atum/items/ItemTexturedArmor.java similarity index 100% rename from common/com/teammetallurgy/atum/items/ItemTexturedArmor.java rename to src/com/teammetallurgy/atum/items/ItemTexturedArmor.java diff --git a/common/com/teammetallurgy/atum/items/Items.java b/src/com/teammetallurgy/atum/items/Items.java similarity index 100% rename from common/com/teammetallurgy/atum/items/Items.java rename to src/com/teammetallurgy/atum/items/Items.java diff --git a/common/com/teammetallurgy/atum/items/LimestoneAxe.java b/src/com/teammetallurgy/atum/items/LimestoneAxe.java similarity index 100% rename from common/com/teammetallurgy/atum/items/LimestoneAxe.java rename to src/com/teammetallurgy/atum/items/LimestoneAxe.java diff --git a/common/com/teammetallurgy/atum/items/LimestoneHoe.java b/src/com/teammetallurgy/atum/items/LimestoneHoe.java similarity index 100% rename from common/com/teammetallurgy/atum/items/LimestoneHoe.java rename to src/com/teammetallurgy/atum/items/LimestoneHoe.java diff --git a/common/com/teammetallurgy/atum/items/LimestonePickaxe.java b/src/com/teammetallurgy/atum/items/LimestonePickaxe.java similarity index 100% rename from common/com/teammetallurgy/atum/items/LimestonePickaxe.java rename to src/com/teammetallurgy/atum/items/LimestonePickaxe.java diff --git a/common/com/teammetallurgy/atum/items/LimestoneShovel.java b/src/com/teammetallurgy/atum/items/LimestoneShovel.java similarity index 100% rename from common/com/teammetallurgy/atum/items/LimestoneShovel.java rename to src/com/teammetallurgy/atum/items/LimestoneShovel.java diff --git a/common/com/teammetallurgy/atum/items/LimestoneSword.java b/src/com/teammetallurgy/atum/items/LimestoneSword.java similarity index 100% rename from common/com/teammetallurgy/atum/items/LimestoneSword.java rename to src/com/teammetallurgy/atum/items/LimestoneSword.java diff --git a/common/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java b/src/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java similarity index 100% rename from common/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java rename to src/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java b/src/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java similarity index 100% rename from common/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java b/src/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java similarity index 100% rename from common/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java b/src/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java similarity index 100% rename from common/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java b/src/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java similarity index 100% rename from common/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java b/src/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java similarity index 94% rename from common/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java index 322928e..ea1a13f 100644 --- a/common/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java @@ -14,6 +14,8 @@ import org.lwjgl.input.Keyboard; +import com.teammetallurgy.atum.entity.arrow.EntityAtumFishHook; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -50,7 +52,7 @@ public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, Enti } else { par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 0.5F, 0.4F / (Item.itemRand.nextFloat() * 0.4F + 0.8F)); if(!par2World.isRemote) { - // par2World.spawnEntityInWorld(new EntityAtumFishHook(par2World, par3EntityPlayer)); + par2World.spawnEntityInWorld(new EntityAtumFishHook(par2World, par3EntityPlayer)); } par3EntityPlayer.swingItem(); diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java b/src/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java similarity index 83% rename from common/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java index 0adb2d7..ae308ac 100644 --- a/common/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java @@ -18,6 +18,8 @@ import org.lwjgl.input.Keyboard; +import com.teammetallurgy.atum.entity.arrow.EntityArrowFire; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -55,33 +57,33 @@ public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, Entit f = 1.0F; } - // EntityArrowFire entityarrow = new EntityArrowFire(par2World, par3EntityPlayer, f * 2.0F); - // entityarrow.setDamage(entityarrow.getDamage() * 1.5D); - // if(f == 1.0F) { - // entityarrow.setIsCritical(true); - // } - // - // int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - // if(k > 0) { - // entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); - // } - // - // int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - // if(l > 0) { - // entityarrow.setKnockbackStrength(l); - // } - // - // entityarrow.setFire(100); + EntityArrowFire entityarrow = new EntityArrowFire(par2World, par3EntityPlayer, f * 2.0F); + entityarrow.setDamage(entityarrow.getDamage() * 1.5D); + if(f == 1.0F) { + entityarrow.setIsCritical(true); + } + + int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); + if(k > 0) { + entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + } + + int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); + if(l > 0) { + entityarrow.setKnockbackStrength(l); + } + + entityarrow.setFire(100); par1ItemStack.damageItem(1, par3EntityPlayer); par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); if(flag) { - // entityarrow.canBePickedUp = 2; + entityarrow.canBePickedUp = 2; } else { par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); } if(!par2World.isRemote) { - // par2World.spawnEntityInWorld(entityarrow); + par2World.spawnEntityInWorld(entityarrow); } } diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java b/src/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java similarity index 100% rename from common/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java b/src/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java similarity index 100% rename from common/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java b/src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java similarity index 100% rename from common/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java b/src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java similarity index 74% rename from common/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java index e0f2d2b..4fdc86c 100644 --- a/common/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java @@ -18,6 +18,8 @@ import org.lwjgl.input.Keyboard; +import com.teammetallurgy.atum.entity.arrow.EntityArrowPoison; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -53,37 +55,37 @@ public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, Entit f = 1.0F; } - //EntityArrowPoison entityarrow = new EntityArrowPoison(par2World, par3EntityPlayer, f * 3.0F); - //entityarrow.setDamage(entityarrow.getDamage() * 1.5D); -// if(f == 1.0F) { -// entityarrow.setIsCritical(true); -// } -// -// int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); -// if(k > 0) { -// entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); -// } -// -// int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); -// if(l > 0) { -// entityarrow.setKnockbackStrength(l); -// } -// -// if(EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { -// entityarrow.setFire(100); -// } -// -// par1ItemStack.damageItem(1, par3EntityPlayer); -// par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); -// if(flag) { -// entityarrow.canBePickedUp = 2; -// } else { -// par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); -// } -// -// if(!par2World.isRemote) { -// par2World.spawnEntityInWorld(entityarrow); -// } + EntityArrowPoison entityarrow = new EntityArrowPoison(par2World, par3EntityPlayer, f * 3.0F); + entityarrow.setDamage(entityarrow.getDamage() * 1.5D); + if(f == 1.0F) { + entityarrow.setIsCritical(true); + } + + int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); + if(k > 0) { + entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + } + + int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); + if(l > 0) { + entityarrow.setKnockbackStrength(l); + } + + if(EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { + entityarrow.setFire(100); + } + + par1ItemStack.damageItem(1, par3EntityPlayer); + par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); + if(flag) { + entityarrow.canBePickedUp = 2; + } else { + par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); + } + + if(!par2World.isRemote) { + par2World.spawnEntityInWorld(entityarrow); + } } } diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java b/src/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java similarity index 100% rename from common/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java b/src/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java similarity index 80% rename from common/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java index 80910b8..49a304b 100644 --- a/common/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java @@ -14,6 +14,9 @@ import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; + +import com.teammetallurgy.atum.entity.arrow.EntityArrowVelocity; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -52,36 +55,36 @@ public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, Entit f = 1.0F; } - //EntityArrowVelocity entityarrow = new EntityArrowVelocity(par2World, par3EntityPlayer, f * 3.0F); - //entityarrow.setDamage(entityarrow.getDamage() * 1.5D); -// if(f == 1.0F) { -// entityarrow.setIsCritical(true); -// } -// -// int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); -// if(k > 0) { -// entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); -// } -// -// int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); -// if(l > 0) { -// entityarrow.setKnockbackStrength(l); -// } -// -// if(EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { -// entityarrow.setFire(100); -// } + EntityArrowVelocity entityarrow = new EntityArrowVelocity(par2World, par3EntityPlayer, f * 3.0F); + entityarrow.setDamage(entityarrow.getDamage() * 1.5D); + if(f == 1.0F) { + entityarrow.setIsCritical(true); + } + + int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); + if(k > 0) { + entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + } + + int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); + if(l > 0) { + entityarrow.setKnockbackStrength(l); + } + + if(EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { + entityarrow.setFire(100); + } par1ItemStack.damageItem(1, par3EntityPlayer); par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); if(flag) { - // entityarrow.canBePickedUp = 2; + entityarrow.canBePickedUp = 2; } else { par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); } if(!par2World.isRemote) { - // par2World.spawnEntityInWorld(entityarrow); + par2World.spawnEntityInWorld(entityarrow); } } diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java b/src/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java similarity index 100% rename from common/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java b/src/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java similarity index 100% rename from common/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java b/src/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java similarity index 100% rename from common/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java b/src/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java similarity index 100% rename from common/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java b/src/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java similarity index 81% rename from common/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java index 035b24a..9fdd96f 100644 --- a/common/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java @@ -18,6 +18,8 @@ import org.lwjgl.input.Keyboard; +import com.teammetallurgy.atum.entity.arrow.EntityArrowExplosive; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -54,36 +56,36 @@ public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, Entit f = 1.0F; } -// EntityArrowExplosive entityarrow = new EntityArrowExplosive(par2World, par3EntityPlayer, f * 1.5F); -// entityarrow.setDamage(entityarrow.getDamage() * 1.5D); -// if(f == 1.0F) { -// entityarrow.setIsCritical(true); -// } -// -// int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); -// if(k > 0) { -// entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); -// } -// -// int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); -// if(l > 0) { -// entityarrow.setKnockbackStrength(l); -// } -// -// if(EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { -// entityarrow.setFire(100); -// } + EntityArrowExplosive entityarrow = new EntityArrowExplosive(par2World, par3EntityPlayer, f * 1.5F); + entityarrow.setDamage(entityarrow.getDamage() * 1.5D); + if(f == 1.0F) { + entityarrow.setIsCritical(true); + } + + int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); + if(k > 0) { + entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + } + + int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); + if(l > 0) { + entityarrow.setKnockbackStrength(l); + } + + if(EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { + entityarrow.setFire(100); + } par1ItemStack.damageItem(1, par3EntityPlayer); par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); if(flag) { - // entityarrow.canBePickedUp = 2; + entityarrow.canBePickedUp = 2; } else { par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); } if(!par2World.isRemote) { - // par2World.spawnEntityInWorld(entityarrow); + par2World.spawnEntityInWorld(entityarrow); } } diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java b/src/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java similarity index 81% rename from common/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java index fd4f1b2..04ec75d 100644 --- a/common/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java @@ -22,6 +22,8 @@ import org.lwjgl.input.Keyboard; +import com.teammetallurgy.atum.entity.EntityStoneSoldier; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -53,23 +55,23 @@ public void onPlayerStoppedUsing(ItemStack par1ItemStack, World world, EntityPla while(i.hasNext()) { Entity entity = (Entity) i.next(); - // if (entity != player && !(entity instanceof EntityStoneSoldier)) { - // double dx = entity.posX - player.posX; - // double dz = entity.posZ - player.posZ; - // double magnitude = Math.sqrt(dx * dx + dz * dz); - // dx /= magnitude; - // dz /= magnitude; - // entity.isAirBorne = true; - // entity.addVelocity(dx * 2.5D, 0.3D, dz * 2.5D); - // if (entity.motionY > 0.4000000059604645D) { - // entity.motionY = 0.4000000059604645D; - // } - // - // ((EntityLiving) entity).attackEntityFrom(DamageSource.generic, this.getDamageVsEntity(entity, par1ItemStack)); - // if (world.isRemote) { - // this.spawnParticle(world, entity); - // } - // } + if(entity != player && !(entity instanceof EntityStoneSoldier)) { + double dx = entity.posX - player.posX; + double dz = entity.posZ - player.posZ; + double magnitude = Math.sqrt(dx * dx + dz * dz); + dx /= magnitude; + dz /= magnitude; + entity.isAirBorne = true; + entity.addVelocity(dx * 2.5D, 0.3D, dz * 2.5D); + if(entity.motionY > 0.4000000059604645D) { + entity.motionY = 0.4000000059604645D; + } + + ((EntityLiving) entity).attackEntityFrom(DamageSource.generic, this.getDamageVsEntity(entity, par1ItemStack)); + if(world.isRemote) { + this.spawnParticle(world, entity); + } + } } par1ItemStack.damageItem(4, player); diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java b/src/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java similarity index 68% rename from common/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java index 0aae3d2..60b69d9 100644 --- a/common/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java @@ -21,6 +21,8 @@ import org.lwjgl.input.Keyboard; +import com.teammetallurgy.atum.entity.arrow.EntityArrowDoubleShot; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -71,52 +73,52 @@ public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, Entit f = 1.0F; } - // EntityArrowDoubleShot entityarrow = new EntityArrowDoubleShot(par2World, par3EntityPlayer, f * 2.0F); - // EntityArrowDoubleShot entityarrow1 = new EntityArrowDoubleShot(par2World, par3EntityPlayer, f * 2.0F); - // entityarrow.motionX += Math.random() * 0.4D - 0.2D; - // entityarrow.motionY += Math.random() * 0.4D - 0.2D; - // entityarrow.motionZ += Math.random() * 0.4D - 0.2D; - // entityarrow1.motionX += Math.random() * 0.4D - 0.2D; - // entityarrow1.motionY += Math.random() * 0.4D - 0.2D; - // entityarrow1.motionZ += Math.random() * 0.4D - 0.2D; - // entityarrow.setDamage(entityarrow.getDamage() + 0.5D); - // entityarrow1.setDamage(entityarrow.getDamage() + 0.5D); - // if(f == 1.0F) { - // entityarrow.setIsCritical(true); - // entityarrow1.setIsCritical(true); - // } - // - // int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - // if(k > 0) { - // entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); - // entityarrow1.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); - // } - // - // int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - // if(l > 0) { - // entityarrow.setKnockbackStrength(l); - // entityarrow1.setKnockbackStrength(l); - // } - // - // if(EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { - // entityarrow.setFire(100); - // entityarrow1.setFire(100); - // } - // - // par1ItemStack.damageItem(1, par3EntityPlayer); - // par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - // if(flag) { - // entityarrow.canBePickedUp = 2; - // entityarrow1.canBePickedUp = 2; - // } else { - // par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); - // par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); - // } - // - // if(!par2World.isRemote) { - // par2World.spawnEntityInWorld(entityarrow); - // par2World.spawnEntityInWorld(entityarrow1); - // } + EntityArrowDoubleShot entityarrow = new EntityArrowDoubleShot(par2World, par3EntityPlayer, f * 2.0F); + EntityArrowDoubleShot entityarrow1 = new EntityArrowDoubleShot(par2World, par3EntityPlayer, f * 2.0F); + entityarrow.motionX += Math.random() * 0.4D - 0.2D; + entityarrow.motionY += Math.random() * 0.4D - 0.2D; + entityarrow.motionZ += Math.random() * 0.4D - 0.2D; + entityarrow1.motionX += Math.random() * 0.4D - 0.2D; + entityarrow1.motionY += Math.random() * 0.4D - 0.2D; + entityarrow1.motionZ += Math.random() * 0.4D - 0.2D; + entityarrow.setDamage(entityarrow.getDamage() + 0.5D); + entityarrow1.setDamage(entityarrow.getDamage() + 0.5D); + if(f == 1.0F) { + entityarrow.setIsCritical(true); + entityarrow1.setIsCritical(true); + } + + int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); + if(k > 0) { + entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + entityarrow1.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + } + + int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); + if(l > 0) { + entityarrow.setKnockbackStrength(l); + entityarrow1.setKnockbackStrength(l); + } + + if(EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { + entityarrow.setFire(100); + entityarrow1.setFire(100); + } + + par1ItemStack.damageItem(1, par3EntityPlayer); + par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); + if(flag) { + entityarrow.canBePickedUp = 2; + entityarrow1.canBePickedUp = 2; + } else { + par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); + par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); + } + + if(!par2World.isRemote) { + par2World.spawnEntityInWorld(entityarrow); + par2World.spawnEntityInWorld(entityarrow1); + } } } diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java b/src/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java similarity index 76% rename from common/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java index 760dee5..a5aabf1 100644 --- a/common/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java @@ -19,6 +19,8 @@ import org.lwjgl.input.Keyboard; +import com.teammetallurgy.atum.entity.EntityStoneSoldier; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -31,22 +33,22 @@ public ItemNusFlux(int par1, EnumToolMaterial par2EnumToolMaterial) { @Override public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase entity, EntityLivingBase player) { - // if(!player.worldObj.isRemote && Math.random() > 0.75D && !(entity instanceof EntityStoneSoldier)) { - double dx = entity.posX - player.posX; - double dz = entity.posZ - player.posZ; - double magnitude = Math.sqrt(dx * dx + dz * dz); - dx /= magnitude; - dz /= magnitude; - entity.isAirBorne = true; - entity.addVelocity(dx / 2.0D, 1.5D, dz / 2.0D); - if(entity.motionY > 1.0D) { - entity.motionY = 1.0D; - } - - entity.attackEntityFrom(DamageSource.generic, this.getDamageVsEntity(entity, par1ItemStack)); - if(player.worldObj.isRemote) { - this.spawnParticle(player.worldObj, entity); - // } + if(!player.worldObj.isRemote && Math.random() > 0.75D && !(entity instanceof EntityStoneSoldier)) { + double dx = entity.posX - player.posX; + double dz = entity.posZ - player.posZ; + double magnitude = Math.sqrt(dx * dx + dz * dz); + dx /= magnitude; + dz /= magnitude; + entity.isAirBorne = true; + entity.addVelocity(dx / 2.0D, 1.5D, dz / 2.0D); + if(entity.motionY > 1.0D) { + entity.motionY = 1.0D; + } + + entity.attackEntityFrom(DamageSource.generic, this.getDamageVsEntity(entity, par1ItemStack)); + if(player.worldObj.isRemote) { + this.spawnParticle(player.worldObj, entity); + } } return super.hitEntity(par1ItemStack, entity, player); diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java b/src/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java similarity index 100% rename from common/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java b/src/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java similarity index 88% rename from common/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java index bf6b7d6..1d566d6 100644 --- a/common/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java @@ -13,6 +13,8 @@ import org.lwjgl.input.Keyboard; +import com.teammetallurgy.atum.entity.arrow.EntityNutsCall; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -48,12 +50,12 @@ public void onPlayerStoppedUsing(ItemStack par1ItemStack, World world, EntityPla j = 21; } - // EntityNutsCall spear = new EntityNutsCall(world, player, (float) j / 37.0F + 0.25F); - // spear.setDamage(spear.getDamage() * 2.0D); - // spear.setStack(par1ItemStack); + EntityNutsCall spear = new EntityNutsCall(world, player, (float) j / 37.0F + 0.25F); + spear.setDamage(spear.getDamage() * 2.0D); + spear.setStack(par1ItemStack); if(!world.isRemote) { - // world.spawnEntityInWorld(spear); - // world.updateEntity(spear); + world.spawnEntityInWorld(spear); + world.updateEntity(spear); } par1ItemStack.damageItem(4, player); diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java b/src/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java similarity index 100% rename from common/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java b/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java similarity index 100% rename from common/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java b/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java similarity index 91% rename from common/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java index c33aa75..10d4f2f 100644 --- a/common/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java @@ -14,6 +14,8 @@ import org.lwjgl.input.Keyboard; +import com.teammetallurgy.atum.entity.EntityStoneSoldier; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -28,8 +30,7 @@ public ItemPtahsDestruction(int par1, EnumToolMaterial par2EnumToolMaterial) { @Override public float getDamageVsEntity(Entity entity, ItemStack stack) { float damage = 4 + super.toolMaterial.getDamageVsEntity(); - // return entity instanceof EntityStoneSoldier ? (int) ((double) damage * (2.0D + Math.random())) : damage; - return 0; + return entity instanceof EntityStoneSoldier ? (int) ((double) damage * (2.0D + Math.random())) : damage; } @Override diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java b/src/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java similarity index 100% rename from common/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java b/src/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java similarity index 100% rename from common/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java b/src/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java similarity index 81% rename from common/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java index 39c3fed..fb68842 100644 --- a/common/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java @@ -18,6 +18,8 @@ import org.lwjgl.input.Keyboard; +import com.teammetallurgy.atum.entity.arrow.EntityArrowQuickdraw; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -57,36 +59,36 @@ public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, Entit f = 1.0F; } - // EntityArrowQuickdraw entityarrow = new EntityArrowQuickdraw(par2World, par3EntityPlayer, f * 2.0F); - // entityarrow.setDamage(entityarrow.getDamage() * 1.5D); - // if(f == 1.0F) { - // entityarrow.setIsCritical(true); - // } - // - // int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - // if(k > 0) { - // entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); - // } - // - // int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - // if(l > 0) { - // entityarrow.setKnockbackStrength(l); - // } - // - // if(EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { - // entityarrow.setFire(100); - // } + EntityArrowQuickdraw entityarrow = new EntityArrowQuickdraw(par2World, par3EntityPlayer, f * 2.0F); + entityarrow.setDamage(entityarrow.getDamage() * 1.5D); + if(f == 1.0F) { + entityarrow.setIsCritical(true); + } + + int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); + if(k > 0) { + entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + } + + int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); + if(l > 0) { + entityarrow.setKnockbackStrength(l); + } + + if(EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { + entityarrow.setFire(100); + } par1ItemStack.damageItem(1, par3EntityPlayer); par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); if(flag) { - // entityarrow.canBePickedUp = 2; + entityarrow.canBePickedUp = 2; } else { par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); } if(!par2World.isRemote) { - // par2World.spawnEntityInWorld(entityarrow); + par2World.spawnEntityInWorld(entityarrow); } } diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java b/src/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java similarity index 82% rename from common/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java index 4d0ac90..f7d71af 100644 --- a/common/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java @@ -16,6 +16,9 @@ import org.lwjgl.input.Keyboard; +import com.teammetallurgy.atum.entity.EntityPharaoh; +import com.teammetallurgy.atum.entity.EntityStoneSoldier; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -33,10 +36,10 @@ public float getDamageVsEntity(Entity entity, ItemStack stack) { @Override public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase mob, EntityLivingBase player) { - // if(!(mob instanceof EntityStoneSoldier) && !(mob instanceof EntityPharaoh)) { - float j = 4.0F; - mob.addVelocity((double) (-MathHelper.sin(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F), 0.1D, (double) (MathHelper.cos(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F)); - // } + if(!(mob instanceof EntityStoneSoldier) && !(mob instanceof EntityPharaoh)) { + float j = 4.0F; + mob.addVelocity((double) (-MathHelper.sin(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F), 0.1D, (double) (MathHelper.cos(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F)); + } return super.hitEntity(par1ItemStack, mob, player); } diff --git a/common/com/teammetallurgy/atum/items/artifacts/ItemSpear.java b/src/com/teammetallurgy/atum/items/artifacts/ItemSpear.java similarity index 70% rename from common/com/teammetallurgy/atum/items/artifacts/ItemSpear.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemSpear.java index e8d0ec8..0b9cdc9 100644 --- a/common/com/teammetallurgy/atum/items/artifacts/ItemSpear.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemSpear.java @@ -5,6 +5,9 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; + +import com.teammetallurgy.atum.entity.projectiles.EntityFireSpearCombined; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -16,11 +19,11 @@ public ItemSpear(int par1) { @Override public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { - // EntityFireSpearCombined entityarrow = new EntityFireSpearCombined(par2World, par3EntityPlayer, 0.75F); - // entityarrow.setDamage(entityarrow.getDamage() * 1.5D); + EntityFireSpearCombined entityarrow = new EntityFireSpearCombined(par2World, par3EntityPlayer, 0.75F); + entityarrow.setDamage(entityarrow.getDamage() * 1.5D); if(!par2World.isRemote) { - // par2World.spawnEntityInWorld(entityarrow); - // par2World.updateEntity(entityarrow); + par2World.spawnEntityInWorld(entityarrow); + par2World.updateEntity(entityarrow); } return par1ItemStack; diff --git a/src/com/teammetallurgy/atum/lib/proxy/ClientProxy.java b/src/com/teammetallurgy/atum/lib/proxy/ClientProxy.java new file mode 100644 index 0000000..de6bf94 --- /dev/null +++ b/src/com/teammetallurgy/atum/lib/proxy/ClientProxy.java @@ -0,0 +1,123 @@ +package com.teammetallurgy.atum.lib.proxy; + +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelZombie; +import net.minecraft.client.renderer.entity.RenderBiped; +import net.minecraft.client.renderer.entity.RenderFish; +import net.minecraft.client.renderer.entity.RenderLiving; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.MinecraftForgeClient; + +import com.teammetallurgy.atum.blocks.BlockDate; +import com.teammetallurgy.atum.blocks.BlockPapyrus; +import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.client.model.entity.ModelDesertWolf; +import com.teammetallurgy.atum.client.model.entity.ModelDustySkeleton; +import com.teammetallurgy.atum.client.render.entity.RenderBandit; +import com.teammetallurgy.atum.client.render.entity.RenderDesertWolf; +import com.teammetallurgy.atum.client.render.entity.RenderFireSpear; +import com.teammetallurgy.atum.client.render.entity.RenderGhost; +import com.teammetallurgy.atum.client.render.entity.RenderPharaoh; +import com.teammetallurgy.atum.client.render.entity.arrow.RenderCustomArrow; +import com.teammetallurgy.atum.client.render.entity.arrow.RenderNutsCall; +import com.teammetallurgy.atum.client.render.item.RendererItemBow; +import com.teammetallurgy.atum.client.render.tileentity.RenderDate; +import com.teammetallurgy.atum.client.render.tileentity.RenderPapyrus; +import com.teammetallurgy.atum.entity.EntityBanditArcher; +import com.teammetallurgy.atum.entity.EntityBanditWarlord; +import com.teammetallurgy.atum.entity.EntityBanditWarrior; +import com.teammetallurgy.atum.entity.EntityBarbarian; +import com.teammetallurgy.atum.entity.EntityDesertWolf; +import com.teammetallurgy.atum.entity.EntityDustySkeleton; +import com.teammetallurgy.atum.entity.EntityGhost; +import com.teammetallurgy.atum.entity.EntityMummy; +import com.teammetallurgy.atum.entity.EntityPharaoh; +import com.teammetallurgy.atum.entity.EntityStoneSoldier; +import com.teammetallurgy.atum.entity.arrow.CustomArrow; +import com.teammetallurgy.atum.entity.arrow.EntityAtumFishHook; +import com.teammetallurgy.atum.entity.arrow.EntityNutsCall; +import com.teammetallurgy.atum.entity.projectiles.EntityFireSpearCombined; +import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.lib.tickhandler.ClientTickHandler; + +import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.common.registry.TickRegistry; +import cpw.mods.fml.relauncher.Side; + +public class ClientProxy extends CommonProxy { + + @Override + public void init() { + TickRegistry.registerTickHandler(new ClientTickHandler(), Side.CLIENT); + } + + @Override + public void initRenders() { + MinecraftForgeClient.registerItemRenderer(Items.ITEM_BOW.itemID, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(Items.atensFury.itemID, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(Items.horusSoaring.itemID, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(Items.neithsAudacity.itemID, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(Items.shusBreath.itemID, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(Items.hedetetsVenom.itemID, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(Items.monthusBlast.itemID, new RendererItemBow()); + RenderingRegistry.registerBlockHandler(((BlockPapyrus) Blocks.BLOCK_PAPYRUS).renderID, new RenderPapyrus()); + RenderingRegistry.registerBlockHandler(((BlockDate) Blocks.BLOCK_DATEBLOCK).renderID, new RenderDate()); + + RenderingRegistry.registerEntityRenderingHandler(EntityMummy.class, new RenderLiving(new ModelZombie(), 0.5F) { + + @Override + protected ResourceLocation getEntityTexture(Entity entity) { + return new ResourceLocation("atum", "textures/entities/Mummy.png"); + } + }); + RenderingRegistry.registerEntityRenderingHandler(EntityBanditWarrior.class, new RenderBiped(new ModelBiped(), 0.5F) { + @Override + protected ResourceLocation getEntityTexture(Entity par1Entity) { + return new ResourceLocation("atum", "textures/entities/BanditWarrior.png"); + } + }); + RenderingRegistry.registerEntityRenderingHandler(EntityBarbarian.class, new RenderBiped(new ModelBiped(), 0.5F) { + @Override + protected ResourceLocation getEntityTexture(Entity par1Entity) { + return new ResourceLocation("atum", "textures/entities/Barbarian.png"); + } + }); + RenderingRegistry.registerEntityRenderingHandler(EntityBanditArcher.class, new RenderBandit(new ModelBiped(), 0.5F) { + @Override + protected ResourceLocation getEntityTexture(Entity par1Entity) { + return new ResourceLocation("atum", "textures/entities/BanditArcher.png"); + } + }); + RenderingRegistry.registerEntityRenderingHandler(EntityBanditWarlord.class, new RenderBiped(new ModelBiped(), 0.5F) { + @Override + protected ResourceLocation getEntityTexture(Entity par1Entity) { + return new ResourceLocation("atum", "textures/entities/BanditWarlord.png"); + } + }); + + RenderingRegistry.registerEntityRenderingHandler(EntityPharaoh.class, new RenderPharaoh(new ModelBiped(), 0.5F)); + + RenderingRegistry.registerEntityRenderingHandler(EntityDustySkeleton.class, new RenderBiped(new ModelDustySkeleton(), 0.5F) { + @Override + protected ResourceLocation getEntityTexture(Entity par1Entity) { + return new ResourceLocation("atum", "textures/entities/DustySkeleton.png"); + } + }); + + RenderingRegistry.registerEntityRenderingHandler(EntityGhost.class, new RenderGhost(new ModelZombie(), 0.5F)); + RenderingRegistry.registerEntityRenderingHandler(EntityStoneSoldier.class, new RenderBiped(new ModelBiped(), 0.5F) { + @Override + protected ResourceLocation getEntityTexture(Entity par1Entity) { + return new ResourceLocation("atum", "textures/entities/StoneSoldier.png"); + } + }); + + RenderingRegistry.registerEntityRenderingHandler(EntityDesertWolf.class, new RenderDesertWolf(new ModelDesertWolf(), new ModelDesertWolf(), 0.5F)); + + RenderingRegistry.registerEntityRenderingHandler(EntityFireSpearCombined.class, new RenderFireSpear()); + RenderingRegistry.registerEntityRenderingHandler(CustomArrow.class, new RenderCustomArrow()); + RenderingRegistry.registerEntityRenderingHandler(EntityNutsCall.class, new RenderNutsCall()); + RenderingRegistry.registerEntityRenderingHandler(EntityAtumFishHook.class, new RenderFish()); + } +} diff --git a/src/com/teammetallurgy/atum/lib/proxy/CommonProxy.java b/src/com/teammetallurgy/atum/lib/proxy/CommonProxy.java new file mode 100644 index 0000000..edfe09b --- /dev/null +++ b/src/com/teammetallurgy/atum/lib/proxy/CommonProxy.java @@ -0,0 +1,21 @@ +package com.teammetallurgy.atum.lib.proxy; + +import com.teammetallurgy.atum.lib.tickhandler.ClientTickHandler; +import com.teammetallurgy.atum.lib.tickhandler.ServerTickHandler; + +import cpw.mods.fml.common.registry.TickRegistry; +import cpw.mods.fml.relauncher.Side; + +public class CommonProxy { + + public void init() { + TickRegistry.registerTickHandler(new ServerTickHandler(), Side.SERVER); + } + + public void initRenders() { + } + + public void initTiles() { + } + +} diff --git a/src/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java b/src/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java new file mode 100644 index 0000000..6748e04 --- /dev/null +++ b/src/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java @@ -0,0 +1,133 @@ +package com.teammetallurgy.atum.lib.tickhandler; + +import java.util.EnumSet; +import java.util.List; +import java.util.Random; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.ScaledResolution; +import net.minecraft.client.renderer.ImageBufferDownload; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; +import rebelkeithy.mods.keithyutils.particleregistry.ParticleRegistry; + +import com.teammetallurgy.atum.AtumIDS; +import com.teammetallurgy.atum.items.Items; + +import cpw.mods.fml.client.FMLClientHandler; +import cpw.mods.fml.common.ITickHandler; +import cpw.mods.fml.common.TickType; + +public class ClientTickHandler implements ITickHandler { + private boolean raining; + private boolean overlay; + public static int defaultFog; + + @Override + public void tickStart(EnumSet type, Object... tickData) { + + if(type.equals(EnumSet.of(TickType.RENDER))) { + } + + if(type.equals(EnumSet.of(TickType.PLAYER))) { + // if(Minecraft.getMinecraft().theWorld != null && Minecraft.getMinecraft().theWorld.loadedEntityList.size() > 0) { + // List players = Minecraft.getMinecraft().theWorld.playerEntities; + // for(EntityPlayer player : players) { + // if(player != null && player.getEntityName() == "RebelKeithy" || player.getEntityName() == "Shadowclaimer") { + // String cloakURL = "http://images.mccapes.com/capes/standardmc/RebelKeithy.png"; + // if(player.cloakUrl != cloakURL) + // player.cloakUrl = cloakURL; + // + // Minecraft.getMinecraft().renderEngine.obtainImageData(player.cloakUrl, new ImageBufferDownload()); + // } + // } + // } + + EntityPlayer player = (EntityPlayer) tickData[0]; + + boolean nightvision = false; + + if(player.getCurrentArmor(3) != null) { + if(player.getCurrentArmor(3).itemID == Items.rasGlory.itemID) { + nightvision = true; + } + + } + + if(player.dimension == AtumIDS.DIMENSION_ID) { + if(Minecraft.getMinecraft().gameSettings.renderDistance < (nightvision ? 1 : 2)) { + defaultFog = Minecraft.getMinecraft().gameSettings.renderDistance; + Minecraft.getMinecraft().gameSettings.renderDistance = nightvision ? 1 : 2; + } + + if(player.worldObj.isRaining()) { + raining = true; + if(Minecraft.getMinecraft().gameSettings.renderDistance < (nightvision ? 2 : 3)) { + Minecraft.getMinecraft().gameSettings.renderDistance = nightvision ? 2 : 3; + } + + Random random = new Random(); + int particlesPerTick = (3 - Minecraft.getMinecraft().gameSettings.particleSetting) * 6; + for(int i = 0; i < particlesPerTick; i++) { + float x = random.nextInt(4) - 2; + float z = random.nextInt(4) - 2; + float y = (random.nextFloat() - 0.7F) * 2F; + + float vx = 0.1F + random.nextFloat() * 0.1F; + float vz = 0.1F + random.nextFloat() * 0.1F; + + ParticleRegistry.spawnParticle("sand", player.worldObj, player.posX + x, player.posY + y, player.posZ + z, vx + player.motionX, 0.0D, vz + player.motionZ); + } + } else { + if(raining == true && defaultFog < (nightvision ? 1 : 2)) { + raining = false; + Minecraft.getMinecraft().gameSettings.renderDistance = nightvision ? 1 : 2; + + } + } + } + + } + } + + @Override + public void tickEnd(EnumSet type, Object... tickData) { + + Minecraft minecraft = FMLClientHandler.instance().getClient(); + EntityPlayer player = minecraft.thePlayer; + ItemStack currentItemStack = null; + + if(type.contains(TickType.RENDER)) { + if(player != null && player.getCurrentArmor(3) != null) { + if(player.getCurrentArmor(3).itemID == Items.mummyHelmet.itemID) { + ScaledResolution scaledresolution = new ScaledResolution(Minecraft.getMinecraft().gameSettings, Minecraft.getMinecraft().displayWidth, Minecraft.getMinecraft().displayHeight); + int par1 = scaledresolution.getScaledWidth(); + int par2 = scaledresolution.getScaledHeight(); + + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation("atum", "/textures/hub/mummyblur.png")); + Tessellator tessellator = Tessellator.instance; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(0.0D, par2, -100, 0.0D, 1.0D); + tessellator.addVertexWithUV(par1, par2, -100, 1.0D, 1.0D); + tessellator.addVertexWithUV(par1, 0.0D, -100, 1.0D, 0.0D); + tessellator.addVertexWithUV(0.0D, 0.0D, -100, 0.0D, 0.0D); + tessellator.draw(); + } + + } + } + } + + @Override + public EnumSet ticks() { + return EnumSet.of(TickType.PLAYER, TickType.RENDER); + } + + @Override + public String getLabel() { + return "Atum.TickHandler.Player"; + } + +} diff --git a/src/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java b/src/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java new file mode 100644 index 0000000..86a06d8 --- /dev/null +++ b/src/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java @@ -0,0 +1,80 @@ +package com.teammetallurgy.atum.lib.tickhandler; + +import java.util.EnumSet; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; + +import com.teammetallurgy.atum.items.Items; + +import cpw.mods.fml.common.ITickHandler; +import cpw.mods.fml.common.TickType; + +public class ServerTickHandler implements ITickHandler { + + private boolean raining; + + @Override + public void tickStart(EnumSet type, Object... tickData) { + if(type.equals(EnumSet.of(TickType.PLAYER))) { + EntityPlayer player = (EntityPlayer) tickData[0]; + + if(player.worldObj.getTotalWorldTime() % 60L == 0L) { + + if(player.getCurrentArmor(2) != null) { + if(player.getCurrentArmor(2).itemID == Items.isisEmbrace.itemID) { + player.heal(1); + } + } + } + + if(player.worldObj.getTotalWorldTime() % 10L == 0L) { + if(player.getCurrentArmor(3) != null) { + if(player.getCurrentArmor(3).itemID == Items.rasGlory.itemID) { + player.addPotionEffect(new PotionEffect(16, 340, 0, true)); + } else { + if(player.isPotionActive(16)) { + player.clearActivePotions(); + } + } + } + + if(player.getCurrentArmor(2) != null) { + if(player.getCurrentArmor(2).itemID == Items.sekhmetsWrath.itemID) { + // player.addPotionEffect(new PotionEffect(12, 240, 0, true)); + } + } + + if(player.getCurrentArmor(1) != null) { + if(player.getCurrentArmor(1).itemID == Items.nutsAgility.itemID) { + // player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 240, 1, true)); + player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 240, 1, true)); + } + } + + if(player.getCurrentArmor(0) != null) { + if(player.getCurrentArmor(0).itemID == Items.horusFlight.itemID) { + // player.addPotionEffect(new PotionEffect(8, 240, 1, true)); + } + } + } + } + } + + @Override + public void tickEnd(EnumSet type, Object... tickData) { + + } + + @Override + public EnumSet ticks() { + return EnumSet.of(TickType.PLAYER); + } + + @Override + public String getLabel() { + return "AtumServerHandler"; + } + +} \ No newline at end of file diff --git a/common/com/teammetallurgy/atum/world/AtumPortalPosition.java b/src/com/teammetallurgy/atum/world/AtumPortalPosition.java similarity index 100% rename from common/com/teammetallurgy/atum/world/AtumPortalPosition.java rename to src/com/teammetallurgy/atum/world/AtumPortalPosition.java diff --git a/common/com/teammetallurgy/atum/world/AtumTeleporter.java b/src/com/teammetallurgy/atum/world/AtumTeleporter.java similarity index 100% rename from common/com/teammetallurgy/atum/world/AtumTeleporter.java rename to src/com/teammetallurgy/atum/world/AtumTeleporter.java diff --git a/common/com/teammetallurgy/atum/world/World.java b/src/com/teammetallurgy/atum/world/World.java similarity index 100% rename from common/com/teammetallurgy/atum/world/World.java rename to src/com/teammetallurgy/atum/world/World.java diff --git a/common/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java b/src/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java similarity index 89% rename from common/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java rename to src/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java index e3b3a82..40f5eb7 100644 --- a/common/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java +++ b/src/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java @@ -1,5 +1,7 @@ package com.teammetallurgy.atum.worldgen; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; import java.util.List; import java.util.Random; @@ -47,12 +49,8 @@ public class AtumChunkProvider implements IChunkProvider { private final boolean mapFeaturesEnabled; private double[] noiseArray; private double[] stoneNoise = new double[256]; - private MapGenBase caveGenerator = new MapGenBase(); - private MapGenStronghold strongholdGenerator = new MapGenStronghold(); - private MapGenVillage villageGenerator = new MapGenVillage(); - private MapGenMineshaft mineshaftGenerator = new MapGenMineshaft(); + private MapGenBase caveGenerator = new AtumMapGenCaves(); private MapGenScatteredFeature scatteredFeatureGenerator = new MapGenScatteredFeature(); - private MapGenBase ravineGenerator = new MapGenRavine(); private BiomeGenBase[] biomesForGeneration; double[] noise3; double[] noise1; @@ -60,15 +58,10 @@ public class AtumChunkProvider implements IChunkProvider { double[] noise5; double[] noise6; float[] parabolicField; - int[][] field_73219_j = new int[32][32]; public AtumChunkProvider(World par1World, long par2, boolean par4) { this.caveGenerator = TerrainGen.getModdedMapGen(this.caveGenerator, EventType.CAVE); - this.strongholdGenerator = (MapGenStronghold) TerrainGen.getModdedMapGen(this.strongholdGenerator, EventType.STRONGHOLD); - this.villageGenerator = (MapGenVillage) TerrainGen.getModdedMapGen(this.villageGenerator, EventType.VILLAGE); - this.mineshaftGenerator = (MapGenMineshaft) TerrainGen.getModdedMapGen(this.mineshaftGenerator, EventType.MINESHAFT); this.scatteredFeatureGenerator = (MapGenScatteredFeature) TerrainGen.getModdedMapGen(this.scatteredFeatureGenerator, EventType.SCATTERED_FEATURE); - this.ravineGenerator = TerrainGen.getModdedMapGen(this.ravineGenerator, EventType.RAVINE); this.worldObj = par1World; this.mapFeaturesEnabled = par4; this.rand = new Random(par2); @@ -215,18 +208,21 @@ public Chunk loadChunk(int par1, int par2) { } @Override - public Chunk provideChunk(int par1, int par2) { - long time = System.currentTimeMillis(); - this.rand.setSeed((long) par1 * 341873128712L + (long) par2 * 132897987541L); + public Chunk provideChunk(int x, int z) { + this.rand.setSeed((long) x * 341873128712L + (long) z * 132897987541L); short[] abyte = new short['\u8000']; - this.generateTerrain(par1, par2, abyte); - this.biomesForGeneration = this.worldObj.getWorldChunkManager().loadBlockGeneratorData(this.biomesForGeneration, par1 * 16, par2 * 16, 16, 16); - this.replaceBlocksForBiome(par1, par2, abyte, this.biomesForGeneration); - if(this.mapFeaturesEnabled) { - ; - } - - Chunk chunk = new Chunk(this.worldObj, abyte, new byte['\u8000'], par1, par2); + this.generateTerrain(x, z, abyte); + this.biomesForGeneration = this.worldObj.getWorldChunkManager().loadBlockGeneratorData(this.biomesForGeneration, x * 16, z * 16, 16, 16); + this.replaceBlocksForBiome(x, z, abyte, this.biomesForGeneration); + + ByteBuffer buffer = ByteBuffer.allocate(abyte.length * 2); + buffer.order(ByteOrder.LITTLE_ENDIAN); + buffer.asShortBuffer().put(abyte); + + System.out.println(x +":"+z); + caveGenerator.generate(this, worldObj, x, z, buffer.array()); + + Chunk chunk = new Chunk(this.worldObj, abyte, new byte['\u8000'], x, z); byte[] abyte1 = chunk.getBiomeArray(); for(int k = 0; k < abyte1.length; ++k) { @@ -422,7 +418,7 @@ public List getPossibleCreatures(EnumCreatureType par1EnumCreatureType, int par2 @Override public ChunkPosition findClosestStructure(World par1World, String par2Str, int par3, int par4, int par5) { - return "Stronghold".equals(par2Str) && this.strongholdGenerator != null ? this.strongholdGenerator.getNearestInstance(par1World, par3, par4, par5) : null; + return null; } @Override @@ -433,9 +429,6 @@ public int getLoadedChunkCount() { @Override public void recreateStructures(int par1, int par2) { if(this.mapFeaturesEnabled) { - this.mineshaftGenerator.generate(this, this.worldObj, par1, par2, (byte[]) null); - this.villageGenerator.generate(this, this.worldObj, par1, par2, (byte[]) null); - this.strongholdGenerator.generate(this, this.worldObj, par1, par2, (byte[]) null); this.scatteredFeatureGenerator.generate(this, this.worldObj, par1, par2, (byte[]) null); } diff --git a/common/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java b/src/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java similarity index 100% rename from common/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java rename to src/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java diff --git a/common/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java b/src/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java similarity index 100% rename from common/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java rename to src/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java diff --git a/common/com/teammetallurgy/atum/worldgen/AtumWorldServer.java b/src/com/teammetallurgy/atum/worldgen/AtumWorldServer.java similarity index 99% rename from common/com/teammetallurgy/atum/worldgen/AtumWorldServer.java rename to src/com/teammetallurgy/atum/worldgen/AtumWorldServer.java index bfe6946..8e6f838 100644 --- a/common/com/teammetallurgy/atum/worldgen/AtumWorldServer.java +++ b/src/com/teammetallurgy/atum/worldgen/AtumWorldServer.java @@ -1,7 +1,5 @@ package com.teammetallurgy.atum.worldgen; -import com.teammetallurgy.atum.world.AtumTeleporter; - import net.minecraft.logging.ILogAgent; import net.minecraft.profiler.Profiler; import net.minecraft.server.MinecraftServer; @@ -10,11 +8,14 @@ import net.minecraft.world.WorldSettings; import net.minecraft.world.storage.ISaveHandler; +import com.teammetallurgy.atum.world.AtumTeleporter; + public class AtumWorldServer extends WorldServer { public AtumWorldServer(MinecraftServer par1MinecraftServer, ISaveHandler par2iSaveHandler, String par3Str, int par4, WorldSettings par5WorldSettings, Profiler par6Profiler, ILogAgent par7iLogAgent) { super(par1MinecraftServer, par2iSaveHandler, par3Str, par4, par5WorldSettings, par6Profiler, par7iLogAgent); } + @Override public Teleporter getDefaultTeleporter() { return new AtumTeleporter(this); diff --git a/common/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java b/src/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java similarity index 99% rename from common/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java rename to src/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java index a83d301..cbd73e7 100644 --- a/common/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java +++ b/src/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java @@ -41,6 +41,7 @@ public BiomeDecoratorAtum(BiomeGenBase par1BiomeGenBase) { this.redstoneGen = new WorldGenMinable(Blocks.BLOCK_REDSTONEORE.blockID, 7, Blocks.BLOCK_STONE.blockID); this.diamondGen = new WorldGenMinable(Blocks.BLOCK_DIAMONDORE.blockID, 7, Blocks.BLOCK_STONE.blockID); this.lapisGen = new WorldGenMinable(Blocks.BLOCK_LAPISORE.blockID, 6); + this.plantYellowGen = new WorldGenFlowers(Block.plantYellow.blockID); this.plantRedGen = new WorldGenFlowers(Block.plantRed.blockID); this.mushroomBrownGen = new WorldGenFlowers(Block.mushroomBrown.blockID); diff --git a/common/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java b/src/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java similarity index 74% rename from common/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java rename to src/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java index 1f0939c..2a74d06 100644 --- a/common/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java +++ b/src/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java @@ -5,10 +5,20 @@ import net.minecraft.world.World; import net.minecraft.world.biome.BiomeDecorator; import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.biome.SpawnListEntry; import net.minecraft.world.gen.feature.WorldGenerator; import com.teammetallurgy.atum.LocalizationHelper; import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.entity.EntityBanditArcher; +import com.teammetallurgy.atum.entity.EntityBanditWarlord; +import com.teammetallurgy.atum.entity.EntityBanditWarrior; +import com.teammetallurgy.atum.entity.EntityBarbarian; +import com.teammetallurgy.atum.entity.EntityDesertWolf; +import com.teammetallurgy.atum.entity.EntityDustySkeleton; +import com.teammetallurgy.atum.entity.EntityGhost; +import com.teammetallurgy.atum.entity.EntityMummy; +import com.teammetallurgy.atum.entity.EntityStoneSoldier; import com.teammetallurgy.atum.worldgen.decorators.WorldGenAtumTrees; import com.teammetallurgy.atum.worldgen.decorators.WorldGenOasis; import com.teammetallurgy.atum.worldgen.decorators.WorldGenPalace; @@ -45,15 +55,15 @@ public BiomeGenAtumDesert(int par1) { this.setDisableRain(); this.setTemperatureRainfall(2.0F, 0.0F); this.setMinMaxHeight(0.1F, 0.2F); - // super.spawnableMonsterList.add(new SpawnListEntry(EntityMummy.class, 6, 4, 4)); - // super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditWarlord.class, 1, 1, 1)); - // super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditWarrior.class, 6, 2, 2)); - // super.spawnableMonsterList.add(new SpawnListEntry(EntityBarbarian.class, 2, 4, 4)); - // super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditArcher.class, 6, 4, 4)); - // super.spawnableMonsterList.add(new SpawnListEntry(EntityDustySkeleton.class, 6, 4, 4)); - // super.spawnableMonsterList.add(new SpawnListEntry(EntityGhost.class, 6, 4, 4)); - // super.spawnableMonsterList.add(new SpawnListEntry(EntityDesertWolf.class, 6, 4, 4)); - // super.spawnableMonsterList.add(new SpawnListEntry(EntityStoneSoldier.class, 6, 4, 4)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityMummy.class, 6, 4, 4)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditWarlord.class, 1, 1, 1)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditWarrior.class, 6, 2, 2)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityBarbarian.class, 2, 4, 4)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditArcher.class, 6, 4, 4)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityDustySkeleton.class, 6, 4, 4)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityGhost.class, 6, 4, 4)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityDesertWolf.class, 6, 4, 4)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityStoneSoldier.class, 6, 4, 4)); } @Override diff --git a/common/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java b/src/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java similarity index 56% rename from common/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java rename to src/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java index 327a71d..b2ce64a 100644 --- a/common/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java +++ b/src/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java @@ -2,9 +2,13 @@ import java.util.List; +import net.minecraft.world.biome.SpawnListEntry; import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.world.WorldEvent.PotentialSpawns; +import com.teammetallurgy.atum.entity.IAtumDayMob; +import com.teammetallurgy.atum.entity.IAtumNightMob; + public class MobSpawnController { @ForgeSubscribe @@ -15,10 +19,10 @@ public void getPotentialSpawns(PotentialSpawns event) { for(int i = 0; i < list.size(); ++i) { System.out.println(time); - //if((!IAtumDayMob.class.isAssignableFrom(((SpawnListEntry) list.get(i)).entityClass) || time <= 0 || time >= 24000) && (!IAtumNightMob.class.isAssignableFrom(((SpawnListEntry) list.get(i)).entityClass) || time <= 24000 || time >= '\ubb80')) { + if((!IAtumDayMob.class.isAssignableFrom(((SpawnListEntry) list.get(i)).entityClass) || time <= 0 || time >= 24000) && (!IAtumNightMob.class.isAssignableFrom(((SpawnListEntry) list.get(i)).entityClass) || time <= 24000 || time >= '\ubb80')) { list.remove(i); --i; - //} + } } } diff --git a/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java similarity index 100% rename from common/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java rename to src/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java diff --git a/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java similarity index 97% rename from common/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java rename to src/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java index 3a31ce4..a16bf52 100644 --- a/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java +++ b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java @@ -3,12 +3,14 @@ import java.util.Random; import net.minecraft.block.Block; +import net.minecraft.inventory.IInventory; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.IPlantable; +import com.teammetallurgy.atum.AtumLoot; import com.teammetallurgy.atum.blocks.Blocks; public class WorldGenOasis extends WorldGenerator { @@ -139,7 +141,7 @@ public boolean generate(World world, Random par2Random, int par3, int par4, int if(!var25 && id == Blocks.BLOCK_FERTILESOIL.blockID) { world.setBlock(par3 + var28, y, par5 + z, Block.chest.blockID); TileEntity var29 = world.getBlockTileEntity(par3 + var28, world.getHeightValue(par3 + var28, par5 + z), par5 + z); - // AtumLoot.fillChest((IInventory) var29, 5, 0.2F); + AtumLoot.fillChest((IInventory) var29, 5, 0.2F); var25 = true; } else { int dz; diff --git a/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java similarity index 100% rename from common/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java rename to src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java diff --git a/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java similarity index 100% rename from common/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java rename to src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java diff --git a/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java similarity index 89% rename from common/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java rename to src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java index ea584ef..98b9a4f 100644 --- a/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java +++ b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java @@ -12,6 +12,7 @@ import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; +import com.teammetallurgy.atum.AtumLoot; import com.teammetallurgy.atum.blocks.Blocks; import com.teammetallurgy.atum.blocks.tileentity.TileEntityPharaohChest; @@ -54,9 +55,9 @@ public boolean generate(World world, Random random, int i, int j, int k) { for(int y = -6; y < 10; y++) { for(int x = y; x <= width - y; x++) { for(int z = y; z <= depth - y; z++) { - // int id = world.getBlockId(x+i, y+j+3, z+k); - // if(id == 0 || id == Blocks.atumSand.blockID) - world.setBlock(x + i, y + j + 3, z + k, Blocks.BLOCK_LARGEBRICK.blockID, 1, 0); + int id = world.getBlockId(x + i, y + j + 3, z + k); + if(id == 0 || id == Blocks.BLOCK_SAND.blockID) + world.setBlock(x + i, y + j + 3, z + k, Blocks.BLOCK_LARGEBRICK.blockID, 1, 0); } } } @@ -106,7 +107,7 @@ public boolean generate(World world, Random random, int i, int j, int k) { world.setBlock(i + 10, j + 4, k + 8, Blocks.BLOCK_PHARAOHCHEST.blockID, 0, 2); try { TileEntityPharaohChest te = (TileEntityPharaohChest) world.getBlockTileEntity(i + 10, j + 4, k + 8); - // AtumLoot.fillChest(te, 15, 0.9f); + AtumLoot.fillChest(te, 15, 0.9f); } catch(ClassCastException e) { } if(world.isAirBlock(i + 7, j + 1, k + 7)) { @@ -127,10 +128,6 @@ public boolean generate(World world, Random random, int i, int j, int k) { } } - /* - * if(world.isAirBlock(i+7+1, j+1, k+7)) { } placeLadders(world, i+7+1, j+1, k+7, 4); }else if(world.isAirBlock(i+7-1, j+1, k+7)) { placeLadders(world, i+7-1, j+1, k+7, 4); }else - * if(world.isAirBlock(i+7, j+1, k+7+1)) { placeLadders(world, i+7, j+1, k+7+1, 4); }else if(world.isAirBlock(i+7, j+1, k+7-1)) { placeLadders(world, i+7, j+1, k+7-1, 4); } - */ return false; } diff --git a/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java similarity index 97% rename from common/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java rename to src/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java index 0b4a467..6eb291d 100644 --- a/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java +++ b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java @@ -6,6 +6,7 @@ import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; +import com.teammetallurgy.atum.AtumLoot; import com.teammetallurgy.atum.blocks.Blocks; public class WorldGenRuins extends WorldGenerator { @@ -87,7 +88,7 @@ public boolean generate(World world, Random random, int i, int j, int k) { chestY = world.getHeightValue(chestX, chestZ); world.setBlock(chestX, chestY, chestZ, Blocks.BLOCK_CURSEDCHEST.blockID, 0, 2); IInventory chest = (IInventory) world.getBlockTileEntity(chestX, chestY, chestZ); - // AtumLoot.fillChest(chest, 5, 0.5F); + AtumLoot.fillChest(chest, 5, 0.5F); return false; } } diff --git a/common/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java similarity index 100% rename from common/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java rename to src/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java From 879f677145ab73199447f24c41e8cd775a2f8dbc Mon Sep 17 00:00:00 2001 From: lclc98 Date: Sun, 2 Feb 2014 18:46:08 +1000 Subject: [PATCH 007/157] Fixed Bugs --- build.xml | 3 - resources/assets/atum/lang/en_US.properties | 8 +- .../atum/blocks/BlockPortal.java | 3 +- .../render/entity/RenderDesertWolf.java | 5 - .../atum/entity/EntityDesertWolf.java | 20 +- .../entity/arrow/EntityArrowDoubleShot.java | 1075 ++++++++--------- .../entity/arrow/EntityArrowExplosive.java | 3 +- .../atum/entity/arrow/EntityArrowFire.java | 3 +- .../atum/entity/arrow/EntityArrowPoison.java | 3 +- .../entity/arrow/EntityArrowQuickdraw.java | 1075 ++++++++--------- .../entity/arrow/EntityArrowVelocity.java | 3 +- src/com/teammetallurgy/atum/items/Items.java | 3 + .../atum/items/artifacts/ItemAnhursMight.java | 3 +- .../items/artifacts/ItemPtahsDestruction.java | 2 +- .../items/artifacts/ItemSekhmetsWrath.java | 3 +- .../lib/tickhandler/ClientTickHandler.java | 7 +- .../atum/worldgen/AtumChunkProvider.java | 1 - 17 files changed, 1005 insertions(+), 1215 deletions(-) diff --git a/build.xml b/build.xml index 289fa7e..221c340 100644 --- a/build.xml +++ b/build.xml @@ -140,9 +140,6 @@ - - - diff --git a/resources/assets/atum/lang/en_US.properties b/resources/assets/atum/lang/en_US.properties index 96f2c4f..c2f8e2c 100644 --- a/resources/assets/atum/lang/en_US.properties +++ b/resources/assets/atum/lang/en_US.properties @@ -12,14 +12,14 @@ block.largeBrick.name=Limestone Large Bricks block.smallBrick.name=Limestone Small Bricks block.carvedBrick.name=Limestone Carved Bricks block.slab.name=Limestone Slab -block.doubleSlab.name=LimeStone Double Slab +block.doubleSlab.name=Limestone Double Slab block.smoothStairs.name=Limestone Stairs block.cobbleStairs.name=Limestone Cobble Stairs block.largeStairs.name=Limestone Large Brick Stairs block.smallStairs.name=Limestone Small Brick Stairs block.sandLayer.name=Sand Layer block.crackedLargeBrick.name=Limestone Cracked Large Bricks -block.walls.name=Limestone wall +block.walls.name=Limestone Wall block.crystalGlass.name=Crystal Glass block.framedGlass.name=Framed Glass block.palmSapling.name=Palm Sapling @@ -42,7 +42,7 @@ block.coalOre.name=Coal Ore block.ironOre.name=Iron Ore block.goldOre.name=Gold Ore block.lapisOre.name=Lapis Ore -block.diamondOre.name=Diamonds Ore +block.diamondOre.name=Diamond Ore tile.furnaceIdle.name=Limestone Furnace tile.furnaceBurning.name=Limestone Furnace Burning @@ -53,7 +53,7 @@ item.scimitar.name=Scimitar item.greatsword.name=Greatsword item.scepter.name=Scepter item.stoneSoldierSword.name=Stone Soldier Sword -item.bow.name=ShortBow +item.bow.name=Shortbow item.ptahsDecadence.name=Ptahs Decadence item.soteksRage.name=Soteks Rage item.osirisWill.name=Osiris Will diff --git a/src/com/teammetallurgy/atum/blocks/BlockPortal.java b/src/com/teammetallurgy/atum/blocks/BlockPortal.java index 828dd6f..448305b 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockPortal.java +++ b/src/com/teammetallurgy/atum/blocks/BlockPortal.java @@ -13,7 +13,6 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraft.world.WorldServer; -import rebelkeithy.mods.keithyutils.particleregistry.ParticleRegistry; import com.teammetallurgy.atum.AtumIDS; import com.teammetallurgy.atum.lib.tickhandler.ClientTickHandler; @@ -187,7 +186,7 @@ public void randomDisplayTick(World par1World, int par2, int par3, int par4, Ran d5 = (double) (par5Random.nextFloat() * 2.0F * (float) i1); } - ParticleRegistry.spawnParticle("sandportal", par1World, d0, d1, d2, d3, d4, d5); + par1World.spawnParticle("sandportal", d0, d1, d2, d3, d4, d5); } } diff --git a/src/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java b/src/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java index 625d190..0a179bd 100644 --- a/src/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java +++ b/src/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java @@ -32,11 +32,6 @@ protected int func_82447_a(EntityDesertWolf par1EntityDesertWolf, int par2, floa f1 = par1EntityDesertWolf.getBrightness(par3) * par1EntityDesertWolf.getShadingWhileShaking(par3); GL11.glColor3f(f1, f1, f1); return 1; - } else if(par2 == 1 && par1EntityDesertWolf.isTamed()) { - f1 = 1.0F; - int j = par1EntityDesertWolf.getCollarColor(); - GL11.glColor3f(f1 * EntitySheep.fleeceColorTable[j][0], f1 * EntitySheep.fleeceColorTable[j][1], f1 * EntitySheep.fleeceColorTable[j][2]); - return 1; } else { return -1; } diff --git a/src/com/teammetallurgy/atum/entity/EntityDesertWolf.java b/src/com/teammetallurgy/atum/entity/EntityDesertWolf.java index c224f35..67e1d72 100644 --- a/src/com/teammetallurgy/atum/entity/EntityDesertWolf.java +++ b/src/com/teammetallurgy/atum/entity/EntityDesertWolf.java @@ -77,7 +77,7 @@ public EntityDesertWolf(World par1World) { protected void applyEntityAttributes() { super.applyEntityAttributes(); this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(8.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); } @@ -141,7 +141,6 @@ protected void playStepSound(int par1, int par2, int par3, int par4) { public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { super.writeEntityToNBT(par1NBTTagCompound); par1NBTTagCompound.setBoolean("Angry", this.isAngry()); - par1NBTTagCompound.setByte("CollarColor", (byte) this.getCollarColor()); } /** @@ -152,9 +151,6 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { super.readEntityFromNBT(par1NBTTagCompound); this.setAngry(par1NBTTagCompound.getBoolean("Angry")); - if(par1NBTTagCompound.hasKey("CollarColor")) { - this.setCollarColor(par1NBTTagCompound.getByte("CollarColor")); - } } /** @@ -468,20 +464,6 @@ public void setAngry(boolean par1) { } } - /** - * Return this wolf's collar color. - */ - public int getCollarColor() { - return this.dataWatcher.getWatchableObjectByte(20) & 15; - } - - /** - * Set this wolf's collar color. - */ - public void setCollarColor(int par1) { - this.dataWatcher.updateObject(20, Byte.valueOf((byte) (par1 & 15))); - } - /** * This function is used when two same-species animals in 'love mode' breed to generate the new baby animal. */ diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java index 05081c8..7fb3fae 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java +++ b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java @@ -21,597 +21,508 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; -import rebelkeithy.mods.keithyutils.particleregistry.ParticleRegistry; import cpw.mods.fml.common.registry.IThrowableEntity; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class EntityArrowDoubleShot extends CustomArrow implements IProjectile, IThrowableEntity -{ - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private int inTile = 0; - private int inData = 0; - private boolean inGround = false; - - /** 1 if the player can pick up the arrow */ - public int canBePickedUp = 0; - - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake = 0; - - /** The owner of this arrow. */ - public Entity shootingEntity; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - - /** The amount of knockback an arrow applies when it hits a mob. */ - private int knockbackStrength; - - public EntityArrowDoubleShot(World par1World) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - } - - public EntityArrowDoubleShot(World par1World, double par2, double par4, double par6) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - this.yOffset = 0.0F; - } - - public EntityArrowDoubleShot(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - this.posY; - double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); - - if (d3 >= 1.0E-7D) - { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); - } - } - - public EntityArrowDoubleShot(World par1World, EntityLivingBase par2EntityLiving, float par3) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.posY -= 0.10000000149011612D; - this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); - } - - protected void entityInit() - { - this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. - */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) - { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par3 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par5 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) - { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the velocity to the args. Args: x, y, z - */ - public void setVelocity(double par1, double par3, double par5) - { - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.ticksInGround = 0; - } - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() - { - super.onUpdate(); - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); - } - - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - - if (i > 0) - { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) - { - this.inGround = true; - } - } - - if (this.arrowShake > 0) - { - --this.arrowShake; - } - - if (this.inGround) - { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - - if (j == this.inTile && k == this.inData) - { - ++this.ticksInGround; - - if (this.ticksInGround == 1200) - { - this.setDead(); - } - } - else - { - this.inGround = false; - this.motionX *= (double)(this.rand.nextFloat() * 0.2F); - this.motionY *= (double)(this.rand.nextFloat() * 0.2F); - this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } - else - { - ++this.ticksInAir; - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) - { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - int l; - float f1; - - for (l = 0; l < list.size(); ++l) - { - Entity entity1 = (Entity)list.get(l); - - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) - { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - - if (movingobjectposition1 != null) - { - double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - - if (d1 < d0 || d0 == 0.0D) - { - entity = entity1; - d0 = d1; - } - } - } - } - - if (entity != null) - { - movingobjectposition = new MovingObjectPosition(entity); - } - - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) - { - EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; - - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(entityplayer)) - { - movingobjectposition = null; - } - } - - float f2; - float f3; - - if (movingobjectposition != null) - { - if (movingobjectposition.entityHit != null) - { - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double)f2 * this.damage); - - if (this.getIsCritical()) - { - i1 += this.rand.nextInt(i1 / 2 + 2); - } - - DamageSource damagesource = null; - - if (this.shootingEntity == null) - { - damagesource = DamageSource.causeThrownDamage(this, this); - } - else - { - damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) - { - movingobjectposition.entityHit.setFire(5); - } - - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) - { - if (movingobjectposition.entityHit instanceof EntityLiving) - { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; - - if (!this.worldObj.isRemote) - { - entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); - } - - if (this.knockbackStrength > 0) - { - f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - - if (f3 > 0.0F) - { - movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3); - } - } - - if (this.shootingEntity != null) - { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); - } - - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) - { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); - } - } - - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - - if (!(movingobjectposition.entityHit instanceof EntityEnderman)) - { - this.setDead(); - } - } - else - { - this.motionX *= -0.10000000149011612D; - this.motionY *= -0.10000000149011612D; - this.motionZ *= -0.10000000149011612D; - this.rotationYaw += 180.0F; - this.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } - else - { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ)); - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double)f2 * 0.05000000074505806D; - this.posY -= this.motionY / (double)f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / (double)f2 * 0.05000000074505806D; - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - - if (this.inTile != 0) - { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } - } - - if (this.getIsCritical() && worldObj.isRemote) - { - for (l = 0; l < 4; ++l) - { - ParticleRegistry.spawnParticle("coloredcrit", worldObj, this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); - } - } - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { - this.prevRotationYaw -= 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { - this.prevRotationYaw += 360.0F; - } - - this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; - this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; - float f4 = 0.99F; - f1 = 0.05F; - - if (this.isInWater()) - { - for (int j1 = 0; j1 < 4; ++j1) - { - f3 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f3, this.posY - this.motionY * (double)f3, this.posZ - this.motionZ * (double)f3, this.motionX, this.motionY, this.motionZ); - } - - f4 = 0.45F; - } - - this.motionX *= (double)f4; - this.motionY *= (double)f4; - this.motionZ *= (double)f4; - this.motionY -= (double)f1; - this.setPosition(this.posX, this.posY, this.posZ); - this.doBlockCollisions(); - } - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - - if (par1NBTTagCompound.hasKey("damage")) - { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if (par1NBTTagCompound.hasKey("pickup")) - { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } - else if (par1NBTTagCompound.hasKey("player")) - { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; - } - } - - /** - * Called by a player entity when they collide with an entity - */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) - { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) - { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - - if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) - { - flag = false; - } - - if (flag) - { - this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to - * prevent them from trampling crops - */ - protected boolean canTriggerWalking() - { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() - { - return 0.0F; - } - - public void setDamage(double par1) - { - this.damage = par1; - } - - public double getDamage() - { - return this.damage; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int par1) - { - this.knockbackStrength = par1; - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - public boolean canAttackWithItem() - { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public void setIsCritical(boolean par1) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } - else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public boolean getIsCritical() - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } +public class EntityArrowDoubleShot extends CustomArrow implements IProjectile, IThrowableEntity { + private int xTile = -1; + private int yTile = -1; + private int zTile = -1; + private int inTile = 0; + private int inData = 0; + private boolean inGround = false; + + /** 1 if the player can pick up the arrow */ + public int canBePickedUp = 0; + + /** Seems to be some sort of timer for animating an arrow. */ + public int arrowShake = 0; + + /** The owner of this arrow. */ + public Entity shootingEntity; + private int ticksInGround; + private int ticksInAir = 0; + private double damage = 2.0D; + + /** The amount of knockback an arrow applies when it hits a mob. */ + private int knockbackStrength; + + public EntityArrowDoubleShot(World par1World) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + } + + public EntityArrowDoubleShot(World par1World, double par2, double par4, double par6) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.setPosition(par2, par4, par6); + this.yOffset = 0.0F; + } + + public EntityArrowDoubleShot(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.posY = par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + double d0 = par3EntityLiving.posX - par2EntityLiving.posX; + double d1 = par3EntityLiving.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; + double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; + double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); + + if(d3 >= 1.0E-7D) { + float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); + this.yOffset = 0.0F; + float f4 = (float) d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); + } + } + + public EntityArrowDoubleShot(World par1World, EntityLivingBase par2EntityLiving, float par3) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.setSize(0.5F, 0.5F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.posY -= 0.10000000149011612D; + this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.setPosition(this.posX, this.posY, this.posZ); + this.yOffset = 0.0F; + this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); + this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); + } + + protected void entityInit() { + this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); + } + + /** + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + */ + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double) f2; + par3 /= (double) f2; + par5 /= (double) f2; + par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par1 *= (double) par7; + par3 *= (double) par7; + par5 *= (double) par7; + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + /** + * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, + * posY, posZ, yaw, pitch + */ + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { + this.setPosition(par1, par3, par5); + this.setRotation(par7, par8); + } + + @SideOnly(Side.CLIENT) + /** + * Sets the velocity to the args. Args: x, y, z + */ + public void setVelocity(double par1, double par3, double par5) { + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + + if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch; + this.prevRotationYaw = this.rotationYaw; + this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); + this.ticksInGround = 0; + } + } + + /** + * Called to update the entity's position/logic. + */ + public void onUpdate() { + super.onUpdate(); + + if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); + } + + int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + + if(i > 0) { + Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + + if(axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { + this.inGround = true; + } + } + + if(this.arrowShake > 0) { + --this.arrowShake; + } + + if(this.inGround) { + int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + + if(j == this.inTile && k == this.inData) { + ++this.ticksInGround; + + if(this.ticksInGround == 1200) { + this.setDead(); + } + } else { + this.inGround = false; + this.motionX *= (double) (this.rand.nextFloat() * 0.2F); + this.motionY *= (double) (this.rand.nextFloat() * 0.2F); + this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } + } else { + ++this.ticksInAir; + Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); + Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); + vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); + vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if(movingobjectposition != null) { + vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + int l; + float f1; + + for(l = 0; l < list.size(); ++l) { + Entity entity1 = (Entity) list.get(l); + + if(entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { + f1 = 0.3F; + AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); + MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); + + if(movingobjectposition1 != null) { + double d1 = vec3.distanceTo(movingobjectposition1.hitVec); + + if(d1 < d0 || d0 == 0.0D) { + entity = entity1; + d0 = d1; + } + } + } + } + + if(entity != null) { + movingobjectposition = new MovingObjectPosition(entity); + } + + if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; + + if(entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { + movingobjectposition = null; + } + } + + float f2; + float f3; + + if(movingobjectposition != null) { + if(movingobjectposition.entityHit != null) { + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); + + if(this.getIsCritical()) { + i1 += this.rand.nextInt(i1 / 2 + 2); + } + + DamageSource damagesource = null; + + if(this.shootingEntity == null) { + damagesource = DamageSource.causeThrownDamage(this, this); + } else { + damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); + } + + if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + movingobjectposition.entityHit.setFire(5); + } + + if(movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if(movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; + + if(!this.worldObj.isRemote) { + entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); + } + + if(this.knockbackStrength > 0) { + f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + + if(f3 > 0.0F) { + movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); + } + } + + if(this.shootingEntity != null) { + EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); + } + + if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + } + } + + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + + if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { + this.setDead(); + } + } else { + this.motionX *= -0.10000000149011612D; + this.motionY *= -0.10000000149011612D; + this.motionZ *= -0.10000000149011612D; + this.rotationYaw += 180.0F; + this.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } else { + this.xTile = movingobjectposition.blockX; + this.yTile = movingobjectposition.blockY; + this.zTile = movingobjectposition.blockZ; + this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); + this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); + this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; + this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; + this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + this.inGround = true; + this.arrowShake = 7; + this.setIsCritical(false); + + if(this.inTile != 0) { + Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + } + } + } + + if(this.getIsCritical() && worldObj.isRemote) { + for(l = 0; l < 4; ++l) { + this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); + } + } + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for(this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + ; + } + + while(this.rotationPitch - this.prevRotationPitch >= 180.0F) { + this.prevRotationPitch += 360.0F; + } + + while(this.rotationYaw - this.prevRotationYaw < -180.0F) { + this.prevRotationYaw -= 360.0F; + } + + while(this.rotationYaw - this.prevRotationYaw >= 180.0F) { + this.prevRotationYaw += 360.0F; + } + + this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; + this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; + float f4 = 0.99F; + f1 = 0.05F; + + if(this.isInWater()) { + for(int j1 = 0; j1 < 4; ++j1) { + f3 = 0.25F; + this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); + } + + f4 = 0.45F; + } + + this.motionX *= (double) f4; + this.motionY *= (double) f4; + this.motionZ *= (double) f4; + this.motionY -= (double) f1; + this.setPosition(this.posX, this.posY, this.posZ); + this.doBlockCollisions(); + } + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short) this.xTile); + par1NBTTagCompound.setShort("yTile", (short) this.yTile); + par1NBTTagCompound.setShort("zTile", (short) this.zTile); + par1NBTTagCompound.setByte("inTile", (byte) this.inTile); + par1NBTTagCompound.setByte("inData", (byte) this.inData); + par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); + par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); + par1NBTTagCompound.setDouble("damage", this.damage); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inData = par1NBTTagCompound.getByte("inData") & 255; + this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + + if(par1NBTTagCompound.hasKey("damage")) { + this.damage = par1NBTTagCompound.getDouble("damage"); + } + + if(par1NBTTagCompound.hasKey("pickup")) { + this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); + } else if(par1NBTTagCompound.hasKey("player")) { + this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; + } + } + + /** + * Called by a player entity when they collide with an entity + */ + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if(!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; + + if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { + flag = false; + } + + if(flag) { + this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + par1EntityPlayer.onItemPickup(this, 1); + this.setDead(); + } + } + } + + /** + * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to prevent them from trampling crops + */ + protected boolean canTriggerWalking() { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() { + return 0.0F; + } + + public void setDamage(double par1) { + this.damage = par1; + } + + public double getDamage() { + return this.damage; + } + + /** + * Sets the amount of knockback the arrow applies when it hits a mob. + */ + public void setKnockbackStrength(int par1) { + this.knockbackStrength = par1; + } + + /** + * If returns false, the item will not inflict any damage against entities. + */ + public boolean canAttackWithItem() { + return false; + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public void setIsCritical(boolean par1) { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + + if(par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public boolean getIsCritical() { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } @Override - public Entity getThrower() - { + public Entity getThrower() { return shootingEntity; } @Override - public void setThrower(Entity entity) - { - shootingEntity = entity; + public void setThrower(Entity entity) { + shootingEntity = entity; + } + + @Override + public String getTexture() { + return "/mods/Atum/textures/projectiles/arrows_double.png"; } - - @Override - public String getTexture() - { - return "/mods/Atum/textures/projectiles/arrows_double.png"; - } } diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java index 6be11c9..41cde11 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java +++ b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java @@ -21,7 +21,6 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; -import rebelkeithy.mods.keithyutils.particleregistry.ParticleRegistry; import cpw.mods.fml.common.registry.IThrowableEntity; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -411,7 +410,7 @@ public void onUpdate() { for (l = 0; l < 4; ++l) { - ParticleRegistry.spawnParticle("coloredcrit", worldObj, this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); + this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); } } diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java index fa25931..716683b 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java +++ b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java @@ -21,7 +21,6 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; -import rebelkeithy.mods.keithyutils.particleregistry.ParticleRegistry; import cpw.mods.fml.common.registry.IThrowableEntity; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -354,7 +353,7 @@ public void onUpdate() { if(this.getIsCritical() && worldObj.isRemote) { for(l = 0; l < 4; ++l) { - ParticleRegistry.spawnParticle("coloredcrit", worldObj, this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); + this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); } } diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java index 489fa19..b40c0a0 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java +++ b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java @@ -23,7 +23,6 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; -import rebelkeithy.mods.keithyutils.particleregistry.ParticleRegistry; import cpw.mods.fml.common.registry.IThrowableEntity; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -355,7 +354,7 @@ public void onUpdate() { if(this.getIsCritical() && worldObj.isRemote) { for(l = 0; l < 4; ++l) { - ParticleRegistry.spawnParticle("coloredcrit", worldObj, this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); + this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); } } diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java index 5f9cd35..720c437 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java +++ b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java @@ -21,597 +21,508 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; -import rebelkeithy.mods.keithyutils.particleregistry.ParticleRegistry; import cpw.mods.fml.common.registry.IThrowableEntity; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class EntityArrowQuickdraw extends CustomArrow implements IProjectile, IThrowableEntity -{ - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private int inTile = 0; - private int inData = 0; - private boolean inGround = false; - - /** 1 if the player can pick up the arrow */ - public int canBePickedUp = 0; - - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake = 0; - - /** The owner of this arrow. */ - public Entity shootingEntity; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - - /** The amount of knockback an arrow applies when it hits a mob. */ - private int knockbackStrength; - - public EntityArrowQuickdraw(World par1World) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - } - - public EntityArrowQuickdraw(World par1World, double par2, double par4, double par6) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - this.yOffset = 0.0F; - } - - public EntityArrowQuickdraw(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - this.posY; - double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); - - if (d3 >= 1.0E-7D) - { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); - } - } - - public EntityArrowQuickdraw(World par1World, EntityLivingBase par2EntityLiving, float par3) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.posY -= 0.10000000149011612D; - this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); - } - - protected void entityInit() - { - this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. - */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) - { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par3 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par5 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) - { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the velocity to the args. Args: x, y, z - */ - public void setVelocity(double par1, double par3, double par5) - { - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.ticksInGround = 0; - } - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() - { - super.onUpdate(); - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); - } - - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - - if (i > 0) - { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) - { - this.inGround = true; - } - } - - if (this.arrowShake > 0) - { - --this.arrowShake; - } - - if (this.inGround) - { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - - if (j == this.inTile && k == this.inData) - { - ++this.ticksInGround; - - if (this.ticksInGround == 1200) - { - this.setDead(); - } - } - else - { - this.inGround = false; - this.motionX *= (double)(this.rand.nextFloat() * 0.2F); - this.motionY *= (double)(this.rand.nextFloat() * 0.2F); - this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } - else - { - ++this.ticksInAir; - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) - { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - int l; - float f1; - - for (l = 0; l < list.size(); ++l) - { - Entity entity1 = (Entity)list.get(l); - - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) - { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - - if (movingobjectposition1 != null) - { - double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - - if (d1 < d0 || d0 == 0.0D) - { - entity = entity1; - d0 = d1; - } - } - } - } - - if (entity != null) - { - movingobjectposition = new MovingObjectPosition(entity); - } - - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) - { - EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; - - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(entityplayer)) - { - movingobjectposition = null; - } - } - - float f2; - float f3; - - if (movingobjectposition != null) - { - if (movingobjectposition.entityHit != null) - { - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double)f2 * this.damage); - - if (this.getIsCritical()) - { - i1 += this.rand.nextInt(i1 / 2 + 2); - } - - DamageSource damagesource = null; - - if (this.shootingEntity == null) - { - damagesource = DamageSource.causeThrownDamage(this, this); - } - else - { - damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) - { - movingobjectposition.entityHit.setFire(5); - } - - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) - { - if (movingobjectposition.entityHit instanceof EntityLiving) - { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; - - if (!this.worldObj.isRemote) - { - entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); - } - - if (this.knockbackStrength > 0) - { - f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - - if (f3 > 0.0F) - { - movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3); - } - } - - if (this.shootingEntity != null) - { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); - } - - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) - { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); - } - } - - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - - if (!(movingobjectposition.entityHit instanceof EntityEnderman)) - { - this.setDead(); - } - } - else - { - this.motionX *= -0.10000000149011612D; - this.motionY *= -0.10000000149011612D; - this.motionZ *= -0.10000000149011612D; - this.rotationYaw += 180.0F; - this.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } - else - { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ)); - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double)f2 * 0.05000000074505806D; - this.posY -= this.motionY / (double)f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / (double)f2 * 0.05000000074505806D; - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - - if (this.inTile != 0) - { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } - } - - if (this.getIsCritical() && worldObj.isRemote) - { - for (l = 0; l < 4; ++l) - { - ParticleRegistry.spawnParticle("coloredcrit", worldObj, this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); - } - } - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { - this.prevRotationYaw -= 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { - this.prevRotationYaw += 360.0F; - } - - this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; - this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; - float f4 = 0.99F; - f1 = 0.05F; - - if (this.isInWater()) - { - for (int j1 = 0; j1 < 4; ++j1) - { - f3 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f3, this.posY - this.motionY * (double)f3, this.posZ - this.motionZ * (double)f3, this.motionX, this.motionY, this.motionZ); - } - - f4 = 0.45F; - } - - this.motionX *= (double)f4; - this.motionY *= (double)f4; - this.motionZ *= (double)f4; - this.motionY -= (double)f1; - this.setPosition(this.posX, this.posY, this.posZ); - this.doBlockCollisions(); - } - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - - if (par1NBTTagCompound.hasKey("damage")) - { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if (par1NBTTagCompound.hasKey("pickup")) - { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } - else if (par1NBTTagCompound.hasKey("player")) - { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; - } - } - - /** - * Called by a player entity when they collide with an entity - */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) - { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) - { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - - if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) - { - flag = false; - } - - if (flag) - { - this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to - * prevent them from trampling crops - */ - protected boolean canTriggerWalking() - { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() - { - return 0.0F; - } - - public void setDamage(double par1) - { - this.damage = par1; - } - - public double getDamage() - { - return this.damage; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int par1) - { - this.knockbackStrength = par1; - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - public boolean canAttackWithItem() - { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public void setIsCritical(boolean par1) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } - else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public boolean getIsCritical() - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } +public class EntityArrowQuickdraw extends CustomArrow implements IProjectile, IThrowableEntity { + private int xTile = -1; + private int yTile = -1; + private int zTile = -1; + private int inTile = 0; + private int inData = 0; + private boolean inGround = false; + + /** 1 if the player can pick up the arrow */ + public int canBePickedUp = 0; + + /** Seems to be some sort of timer for animating an arrow. */ + public int arrowShake = 0; + + /** The owner of this arrow. */ + public Entity shootingEntity; + private int ticksInGround; + private int ticksInAir = 0; + private double damage = 2.0D; + + /** The amount of knockback an arrow applies when it hits a mob. */ + private int knockbackStrength; + + public EntityArrowQuickdraw(World par1World) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + } + + public EntityArrowQuickdraw(World par1World, double par2, double par4, double par6) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.setPosition(par2, par4, par6); + this.yOffset = 0.0F; + } + + public EntityArrowQuickdraw(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.posY = par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + double d0 = par3EntityLiving.posX - par2EntityLiving.posX; + double d1 = par3EntityLiving.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; + double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; + double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); + + if(d3 >= 1.0E-7D) { + float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); + this.yOffset = 0.0F; + float f4 = (float) d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); + } + } + + public EntityArrowQuickdraw(World par1World, EntityLivingBase par2EntityLiving, float par3) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.setSize(0.5F, 0.5F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.posY -= 0.10000000149011612D; + this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.setPosition(this.posX, this.posY, this.posZ); + this.yOffset = 0.0F; + this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); + this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); + } + + protected void entityInit() { + this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); + } + + /** + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + */ + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double) f2; + par3 /= (double) f2; + par5 /= (double) f2; + par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par1 *= (double) par7; + par3 *= (double) par7; + par5 *= (double) par7; + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + /** + * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, + * posY, posZ, yaw, pitch + */ + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { + this.setPosition(par1, par3, par5); + this.setRotation(par7, par8); + } + + @SideOnly(Side.CLIENT) + /** + * Sets the velocity to the args. Args: x, y, z + */ + public void setVelocity(double par1, double par3, double par5) { + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + + if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch; + this.prevRotationYaw = this.rotationYaw; + this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); + this.ticksInGround = 0; + } + } + + /** + * Called to update the entity's position/logic. + */ + public void onUpdate() { + super.onUpdate(); + + if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); + } + + int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + + if(i > 0) { + Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + + if(axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { + this.inGround = true; + } + } + + if(this.arrowShake > 0) { + --this.arrowShake; + } + + if(this.inGround) { + int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + + if(j == this.inTile && k == this.inData) { + ++this.ticksInGround; + + if(this.ticksInGround == 1200) { + this.setDead(); + } + } else { + this.inGround = false; + this.motionX *= (double) (this.rand.nextFloat() * 0.2F); + this.motionY *= (double) (this.rand.nextFloat() * 0.2F); + this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } + } else { + ++this.ticksInAir; + Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); + Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); + vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); + vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if(movingobjectposition != null) { + vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + int l; + float f1; + + for(l = 0; l < list.size(); ++l) { + Entity entity1 = (Entity) list.get(l); + + if(entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { + f1 = 0.3F; + AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); + MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); + + if(movingobjectposition1 != null) { + double d1 = vec3.distanceTo(movingobjectposition1.hitVec); + + if(d1 < d0 || d0 == 0.0D) { + entity = entity1; + d0 = d1; + } + } + } + } + + if(entity != null) { + movingobjectposition = new MovingObjectPosition(entity); + } + + if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; + + if(entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { + movingobjectposition = null; + } + } + + float f2; + float f3; + + if(movingobjectposition != null) { + if(movingobjectposition.entityHit != null) { + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); + + if(this.getIsCritical()) { + i1 += this.rand.nextInt(i1 / 2 + 2); + } + + DamageSource damagesource = null; + + if(this.shootingEntity == null) { + damagesource = DamageSource.causeThrownDamage(this, this); + } else { + damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); + } + + if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + movingobjectposition.entityHit.setFire(5); + } + + if(movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if(movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; + + if(!this.worldObj.isRemote) { + entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); + } + + if(this.knockbackStrength > 0) { + f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + + if(f3 > 0.0F) { + movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); + } + } + + if(this.shootingEntity != null) { + EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); + } + + if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + } + } + + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + + if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { + this.setDead(); + } + } else { + this.motionX *= -0.10000000149011612D; + this.motionY *= -0.10000000149011612D; + this.motionZ *= -0.10000000149011612D; + this.rotationYaw += 180.0F; + this.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } else { + this.xTile = movingobjectposition.blockX; + this.yTile = movingobjectposition.blockY; + this.zTile = movingobjectposition.blockZ; + this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); + this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); + this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; + this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; + this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + this.inGround = true; + this.arrowShake = 7; + this.setIsCritical(false); + + if(this.inTile != 0) { + Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + } + } + } + + if(this.getIsCritical() && worldObj.isRemote) { + for(l = 0; l < 4; ++l) { + this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); + } + } + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for(this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + ; + } + + while(this.rotationPitch - this.prevRotationPitch >= 180.0F) { + this.prevRotationPitch += 360.0F; + } + + while(this.rotationYaw - this.prevRotationYaw < -180.0F) { + this.prevRotationYaw -= 360.0F; + } + + while(this.rotationYaw - this.prevRotationYaw >= 180.0F) { + this.prevRotationYaw += 360.0F; + } + + this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; + this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; + float f4 = 0.99F; + f1 = 0.05F; + + if(this.isInWater()) { + for(int j1 = 0; j1 < 4; ++j1) { + f3 = 0.25F; + this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); + } + + f4 = 0.45F; + } + + this.motionX *= (double) f4; + this.motionY *= (double) f4; + this.motionZ *= (double) f4; + this.motionY -= (double) f1; + this.setPosition(this.posX, this.posY, this.posZ); + this.doBlockCollisions(); + } + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short) this.xTile); + par1NBTTagCompound.setShort("yTile", (short) this.yTile); + par1NBTTagCompound.setShort("zTile", (short) this.zTile); + par1NBTTagCompound.setByte("inTile", (byte) this.inTile); + par1NBTTagCompound.setByte("inData", (byte) this.inData); + par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); + par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); + par1NBTTagCompound.setDouble("damage", this.damage); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inData = par1NBTTagCompound.getByte("inData") & 255; + this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + + if(par1NBTTagCompound.hasKey("damage")) { + this.damage = par1NBTTagCompound.getDouble("damage"); + } + + if(par1NBTTagCompound.hasKey("pickup")) { + this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); + } else if(par1NBTTagCompound.hasKey("player")) { + this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; + } + } + + /** + * Called by a player entity when they collide with an entity + */ + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if(!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; + + if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { + flag = false; + } + + if(flag) { + this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + par1EntityPlayer.onItemPickup(this, 1); + this.setDead(); + } + } + } + + /** + * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to prevent them from trampling crops + */ + protected boolean canTriggerWalking() { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() { + return 0.0F; + } + + public void setDamage(double par1) { + this.damage = par1; + } + + public double getDamage() { + return this.damage; + } + + /** + * Sets the amount of knockback the arrow applies when it hits a mob. + */ + public void setKnockbackStrength(int par1) { + this.knockbackStrength = par1; + } + + /** + * If returns false, the item will not inflict any damage against entities. + */ + public boolean canAttackWithItem() { + return false; + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public void setIsCritical(boolean par1) { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + + if(par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public boolean getIsCritical() { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } @Override - public Entity getThrower() - { + public Entity getThrower() { return shootingEntity; } @Override - public void setThrower(Entity entity) - { - shootingEntity = entity; + public void setThrower(Entity entity) { + shootingEntity = entity; + } + + @Override + public String getTexture() { + return "/mods/Atum/textures/projectiles/arrows_quickdraw.png"; } - - @Override - public String getTexture() - { - return "/mods/Atum/textures/projectiles/arrows_quickdraw.png"; - } } diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java index 0334d61..973e9e1 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java +++ b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java @@ -21,7 +21,6 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; -import rebelkeithy.mods.keithyutils.particleregistry.ParticleRegistry; import cpw.mods.fml.common.registry.IThrowableEntity; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -351,7 +350,7 @@ public void onUpdate() { if(this.getIsCritical() && worldObj.isRemote) { for(l = 0; l < 4; ++l) { - ParticleRegistry.spawnParticle("coloredcrit", worldObj, this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); + this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); } } diff --git a/src/com/teammetallurgy/atum/items/Items.java b/src/com/teammetallurgy/atum/items/Items.java index 8f36aa5..1effa7c 100644 --- a/src/com/teammetallurgy/atum/items/Items.java +++ b/src/com/teammetallurgy/atum/items/Items.java @@ -7,6 +7,7 @@ import net.minecraft.item.ItemFood; import net.minecraft.item.ItemSeeds; import net.minecraftforge.common.EnumHelper; +import net.minecraftforge.common.MinecraftForge; import com.teammetallurgy.atum.Atum; import com.teammetallurgy.atum.AtumIDS; @@ -187,6 +188,8 @@ public void registerItems() { this.register(fish); this.register(neithsAudacity); this.register(spear); + + MinecraftForge.EVENT_BUS.register(sekhmetsWrath); } private void register(Item item) { diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java b/src/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java index 213b874..647043b 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java @@ -43,7 +43,8 @@ public void onUpdate(ItemStack stack, World world, Entity entity, int par4, bool EntityPlayer player = (EntityPlayer) entity; if(player.getCurrentEquippedItem() != null && player.getCurrentEquippedItem().itemID == super.itemID) { double magnitude = Math.sqrt(player.motionX * player.motionX + player.motionZ * player.motionZ); - player.capabilities.setPlayerWalkSpeed((float) ((double) player.capabilities.getWalkSpeed() * 0.75D)); + //Fix + //player.capabilities.setPlayerWalkSpeed((float) ((double) player.capabilities.getWalkSpeed() * 0.75D)); } } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java b/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java index 10d4f2f..191b0c5 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java @@ -43,7 +43,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if(Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Stonecutter I: Incresed damage"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "Stonecutter I: Increases damage"); par3List.add(EnumChatFormatting.DARK_PURPLE + "to stone enemies"); } else { par3List.add("Stonecutter I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java b/src/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java index 33dddb2..6c7ccc5 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java @@ -25,10 +25,9 @@ public class ItemSekhmetsWrath extends ItemArmor { String texture; + @SideOnly(Side.CLIENT) public ItemSekhmetsWrath(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); - MinecraftForge.EVENT_BUS.register(this); - } @ForgeSubscribe diff --git a/src/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java b/src/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java index 6748e04..10030c8 100644 --- a/src/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java +++ b/src/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java @@ -1,17 +1,14 @@ package com.teammetallurgy.atum.lib.tickhandler; import java.util.EnumSet; -import java.util.List; import java.util.Random; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.ScaledResolution; -import net.minecraft.client.renderer.ImageBufferDownload; import net.minecraft.client.renderer.Tessellator; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; -import rebelkeithy.mods.keithyutils.particleregistry.ParticleRegistry; import com.teammetallurgy.atum.AtumIDS; import com.teammetallurgy.atum.items.Items; @@ -78,7 +75,7 @@ public void tickStart(EnumSet type, Object... tickData) { float vx = 0.1F + random.nextFloat() * 0.1F; float vz = 0.1F + random.nextFloat() * 0.1F; - ParticleRegistry.spawnParticle("sand", player.worldObj, player.posX + x, player.posY + y, player.posZ + z, vx + player.motionX, 0.0D, vz + player.motionZ); + player.worldObj.spawnParticle("sand", player.posX + x, player.posY + y, player.posZ + z, vx + player.motionX, 0.0D, vz + player.motionZ); } } else { if(raining == true && defaultFog < (nightvision ? 1 : 2)) { @@ -106,7 +103,7 @@ public void tickEnd(EnumSet type, Object... tickData) { int par1 = scaledresolution.getScaledWidth(); int par2 = scaledresolution.getScaledHeight(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation("atum", "/textures/hub/mummyblur.png")); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation("atum", "textures/hud/mummyblur.png")); Tessellator tessellator = Tessellator.instance; tessellator.startDrawingQuads(); tessellator.addVertexWithUV(0.0D, par2, -100, 0.0D, 1.0D); diff --git a/src/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java b/src/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java index 40f5eb7..146d439 100644 --- a/src/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java +++ b/src/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java @@ -219,7 +219,6 @@ public Chunk provideChunk(int x, int z) { buffer.order(ByteOrder.LITTLE_ENDIAN); buffer.asShortBuffer().put(abyte); - System.out.println(x +":"+z); caveGenerator.generate(this, worldObj, x, z, buffer.array()); Chunk chunk = new Chunk(this.worldObj, abyte, new byte['\u8000'], x, z); From 41052a792f0dc246fade659d0e7ef33903a25197 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Sun, 2 Feb 2014 19:17:04 +1000 Subject: [PATCH 008/157] Fixed Bugs --- resources/assets/atum/lang/en_US.properties | 6 ++--- .../teammetallurgy/atum/blocks/Blocks.java | 15 +++++++++++- .../atum/entity/EntityPharaoh.java | 2 +- .../atum/entity/EntityStoneSoldier.java | 2 +- src/com/teammetallurgy/atum/items/Items.java | 24 +++++++++++++++---- 5 files changed, 38 insertions(+), 11 deletions(-) diff --git a/resources/assets/atum/lang/en_US.properties b/resources/assets/atum/lang/en_US.properties index c2f8e2c..b05d595 100644 --- a/resources/assets/atum/lang/en_US.properties +++ b/resources/assets/atum/lang/en_US.properties @@ -7,7 +7,7 @@ block.portal.name=Atum Portal tile.chestSpawner.name=Atum Chest block.sand.name=Atum Sand block.stone.name=Limestone -block.cobble.name=Limestone Cobble +block.cobble.name=Cracked Limestone block.largeBrick.name=Limestone Large Bricks block.smallBrick.name=Limestone Small Bricks block.carvedBrick.name=Limestone Carved Bricks @@ -84,8 +84,8 @@ item.isisHealing.name=Isis Healing item.amunetsHomecoming.name=Amunets Homecoming item.anubisMercy.name=Amubis Mercy item.limestoneShovel.name=Limestone Shovel -item.limestonePickaxe.name=LimeStone PickAxe -item.limestoneAxe.name=LimeStone Axe +item.limestonePickaxe.name=Limestone Pickaxe +item.limestoneAxe.name=Limestone Axe item.limestoneSword.name=Limestone Sword item.limestoneHoe.name=Limestone Hoe item.mummyHelmet.name=Mummy Helmet diff --git a/src/com/teammetallurgy/atum/blocks/Blocks.java b/src/com/teammetallurgy/atum/blocks/Blocks.java index 9649d44..b614cd4 100644 --- a/src/com/teammetallurgy/atum/blocks/Blocks.java +++ b/src/com/teammetallurgy/atum/blocks/Blocks.java @@ -9,7 +9,6 @@ import net.minecraftforge.common.MinecraftForge; import com.teammetallurgy.atum.Atum; -import com.teammetallurgy.atum.AtumConfig; import com.teammetallurgy.atum.AtumIDS; import com.teammetallurgy.atum.LocalizationHelper; import com.teammetallurgy.atum.blocks.tileentity.TileEntityArrowTrap; @@ -123,6 +122,8 @@ public void registerBlocks() { GameRegistry.registerTileEntity(TileEntityChestSpawner.class, "CursedChest"); GameRegistry.registerTileEntity(TileEntityPharaohChest.class, "PharaohChest"); GameRegistry.registerTileEntity(TileEntityArrowTrap.class, "ArrowTrap"); + + this.addLanguages(); } private void register(Block b) { @@ -140,4 +141,16 @@ private void register(Block b) { private void name(Block b, String type, String tag) { LanguageRegistry.addName(b, LocalizationHelper.localize(type + tag + ".name")); } + + private void name(ItemStack b, String tag) { + LanguageRegistry.addName(b, LocalizationHelper.localize("block." + tag + ".name")); + } + + private void addLanguages() { + name(new ItemStack(this.BLOCK_WALL), "Smooth Limestone Wall"); + name(new ItemStack(this.BLOCK_WALL), "Cracked Limestone Wall"); + name(new ItemStack(this.BLOCK_WALL), "Large Limestone Brick Wall"); + name(new ItemStack(this.BLOCK_WALL), "Small Limestone Brick Wall"); + + } } diff --git a/src/com/teammetallurgy/atum/entity/EntityPharaoh.java b/src/com/teammetallurgy/atum/entity/EntityPharaoh.java index 7eac1a2..6709e30 100644 --- a/src/com/teammetallurgy/atum/entity/EntityPharaoh.java +++ b/src/com/teammetallurgy/atum/entity/EntityPharaoh.java @@ -50,7 +50,7 @@ public EntityPharaoh(World par1World) { Random rand = new Random(); stage = 0; - this.setCurrentItemOrArmor(0, new ItemStack(Items.scepter)); + this.setCurrentItemOrArmor(0, new ItemStack(Items.ITEM_SCEPTER)); for(int i = 0; i < this.equipmentDropChances.length; ++i) { this.equipmentDropChances[i] = 0F; diff --git a/src/com/teammetallurgy/atum/entity/EntityStoneSoldier.java b/src/com/teammetallurgy/atum/entity/EntityStoneSoldier.java index 24b31bb..a507379 100644 --- a/src/com/teammetallurgy/atum/entity/EntityStoneSoldier.java +++ b/src/com/teammetallurgy/atum/entity/EntityStoneSoldier.java @@ -19,7 +19,7 @@ public EntityStoneSoldier(World par1World) { this.isImmuneToFire = true; this.experienceValue = 8; - this.setCurrentItemOrArmor(0, new ItemStack(Items.stoneSoldierSword)); + this.setCurrentItemOrArmor(0, new ItemStack(Items.ITEM_STONESOLDIER_SWORD)); for(int i = 0; i < this.equipmentDropChances.length; ++i) { this.equipmentDropChances[i] = 0F; diff --git a/src/com/teammetallurgy/atum/items/Items.java b/src/com/teammetallurgy/atum/items/Items.java index 1effa7c..b75035a 100644 --- a/src/com/teammetallurgy/atum/items/Items.java +++ b/src/com/teammetallurgy/atum/items/Items.java @@ -6,6 +6,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemFood; import net.minecraft.item.ItemSeeds; +import net.minecraft.item.ItemStack; import net.minecraftforge.common.EnumHelper; import net.minecraftforge.common.MinecraftForge; @@ -57,8 +58,8 @@ public enum Items { public static final Item ITEM_SCIMITAR = new ItemScimitar(AtumIDS.ITEM_SCIMITAR_ID, EnumToolMaterial.IRON).setUnlocalizedName("atum:scimitar").setCreativeTab(Atum.creativeTab); public static final Item ITEM_GREATSWORD = new ItemGreatsword(AtumIDS.ITEM_GREATSWORD_ID, EnumToolMaterial.IRON).setUnlocalizedName("atum:greatsword").setTextureName("atum:Greatsword").setCreativeTab(Atum.creativeTab); public static final Item ITEM_BOW = new ItemAtumBow(AtumIDS.ITEM_BOW_ID).setUnlocalizedName("atum:bow").setCreativeTab(Atum.creativeTab); - public static final Item stoneSoldierSword = new ItemStoneSoldierSword(AtumIDS.ITEM_STONESOLDIERSWORD_ID, EnumToolMaterial.IRON).setUnlocalizedName("atum:stoneSoldierSword").setCreativeTab(Atum.creativeTab); - public static final Item scepter = new ItemScepter(AtumIDS.ITEM_SCEPTER_ID, EnumToolMaterial.GOLD).setUnlocalizedName("atum:scepter").setCreativeTab(Atum.creativeTab); + public static final Item ITEM_STONESOLDIER_SWORD = new ItemStoneSoldierSword(AtumIDS.ITEM_STONESOLDIERSWORD_ID, EnumToolMaterial.IRON).setUnlocalizedName("atum:stoneSoldierSword").setCreativeTab(Atum.creativeTab); + public static final Item ITEM_SCEPTER = new ItemScepter(AtumIDS.ITEM_SCEPTER_ID, EnumToolMaterial.GOLD).setUnlocalizedName("atum:scepter").setCreativeTab(Atum.creativeTab); public static final Item ptahsPick = new ItemPtahsDecadence(AtumIDS.ITEM_PTAHSPICK_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:ptahsDecadence").setCreativeTab(Atum.creativeTab); public static final Item sobeksRage = new ItemSobeksRage(AtumIDS.ITEM_SOBEKSRAGE_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:soteksRage").setCreativeTab(Atum.creativeTab); public static final Item osirisWill = new ItemOsirisWill(AtumIDS.ITEM_OSIRISWILL_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:osirisWill").setCreativeTab(Atum.creativeTab); @@ -127,8 +128,8 @@ public void registerItems() { this.register(ITEM_DATE); this.register(ITEM_SCIMITAR); this.register(ITEM_GREATSWORD); - this.register(scepter); - this.register(stoneSoldierSword); + this.register(ITEM_SCEPTER); + this.register(ITEM_STONESOLDIER_SWORD); this.register(ITEM_BOW); this.register(ptahsPick); this.register(sobeksRage); @@ -188,8 +189,10 @@ public void registerItems() { this.register(fish); this.register(neithsAudacity); this.register(spear); - + MinecraftForge.EVENT_BUS.register(sekhmetsWrath); + + this.addLanguages(); } private void register(Item item) { @@ -201,4 +204,15 @@ private void name(Item item, String tag) { LanguageRegistry.addName(item, LocalizationHelper.localize("item." + tag + ".name")); } + private void name(ItemStack item, String tag) { + LanguageRegistry.addName(item, LocalizationHelper.localize("item." + tag + ".name")); + } + + private void addLanguages() { + name(new ItemStack(fish, 1, 0), "Forsaken Fish"); + name(new ItemStack(fish, 1, 1), "Mummified Fish"); + name(new ItemStack(fish, 1, 2), "Jeweled Fish"); + name(new ItemStack(fish, 1, 3), "Skeletal Fish"); + } + } From 3069bce0fcc833f8041a60286f14eb2f72062f71 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Mon, 3 Feb 2014 17:22:11 +1000 Subject: [PATCH 009/157] Fixed More Issues --- resources/assets/atum/lang/en_US.properties | 12 ++++++++-- .../atum/blocks/BlockWalls.java | 8 +++++++ .../teammetallurgy/atum/blocks/Blocks.java | 15 +++++++----- .../atum/blocks/ItemBlockAtum.java | 23 +++++++++++++++++++ .../teammetallurgy/atum/entity/Entity.java | 12 ++++++++++ src/com/teammetallurgy/atum/items/Items.java | 8 +++---- 6 files changed, 66 insertions(+), 12 deletions(-) create mode 100644 src/com/teammetallurgy/atum/blocks/ItemBlockAtum.java diff --git a/resources/assets/atum/lang/en_US.properties b/resources/assets/atum/lang/en_US.properties index b05d595..57deeb0 100644 --- a/resources/assets/atum/lang/en_US.properties +++ b/resources/assets/atum/lang/en_US.properties @@ -5,7 +5,7 @@ biome.desert.name=Desert # Blocks block.portal.name=Atum Portal tile.chestSpawner.name=Atum Chest -block.sand.name=Atum Sand +block.sand.name=Strange Sand block.stone.name=Limestone block.cobble.name=Cracked Limestone block.largeBrick.name=Limestone Large Bricks @@ -19,7 +19,11 @@ block.largeStairs.name=Limestone Large Brick Stairs block.smallStairs.name=Limestone Small Brick Stairs block.sandLayer.name=Sand Layer block.crackedLargeBrick.name=Limestone Cracked Large Bricks -block.walls.name=Limestone Wall +block.walls.name=Smooth-Limestone-Wall +block.walls0.name=Smooth-Limestone-Wall +block.walls1.name=Cracked-Limestone-Wall +block.walls2.name=Large Limestone Brick Wall +block.walls3.name=Small Limestone Brick Wall block.crystalGlass.name=Crystal Glass block.framedGlass.name=Framed Glass block.palmSapling.name=Palm Sapling @@ -111,5 +115,9 @@ item.linen.name=Linen item.flaxItem.name=Flax item.flaxSeeds.name=Flax Seed item.fish.name=Fish +item.fish1.name=Forsaken Fish +item.fish2.name=Mummified Fish +item.fish3.name=Jeweled Fish +item.fish4.name=Skeletal Fish item.neithsAudacity.name=Neiths Audacity item.spear.name=Spear \ No newline at end of file diff --git a/src/com/teammetallurgy/atum/blocks/BlockWalls.java b/src/com/teammetallurgy/atum/blocks/BlockWalls.java index 3744322..fc927f8 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockWalls.java +++ b/src/com/teammetallurgy/atum/blocks/BlockWalls.java @@ -10,6 +10,9 @@ import net.minecraft.util.Icon; import net.minecraft.world.World; import net.minecraftforge.common.ForgeDirection; + +import com.teammetallurgy.atum.LocalizationHelper; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -22,6 +25,10 @@ public BlockWalls(int par1, Block par2Block) { this.setUnlocalizedName("atum:walls"); } + public String getLocalizedName(ItemStack stack) { + return LocalizationHelper.localize("block.walls" + stack.getItemDamage() + ".name"); + } + @Override public Icon getIcon(int side, int meta) { return this.icon[meta]; @@ -49,4 +56,5 @@ public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List) par3List.add(new ItemStack(par1, 1, 2)); par3List.add(new ItemStack(par1, 1, 3)); } + } diff --git a/src/com/teammetallurgy/atum/blocks/Blocks.java b/src/com/teammetallurgy/atum/blocks/Blocks.java index b614cd4..4d94a55 100644 --- a/src/com/teammetallurgy/atum/blocks/Blocks.java +++ b/src/com/teammetallurgy/atum/blocks/Blocks.java @@ -130,7 +130,11 @@ private void register(Block b) { if(!(b instanceof BlockDate)) { b.setCreativeTab(Atum.creativeTab); } - GameRegistry.registerBlock(b, b.getUnlocalizedName()); + if(b instanceof BlockWalls) { + GameRegistry.registerBlock(b, ItemBlockAtum.class, b.getUnlocalizedName()); + } else { + GameRegistry.registerBlock(b, b.getUnlocalizedName()); + } if(b instanceof BlockContainer) { name(b, "tile.", b.getUnlocalizedName().split(":")[1]); } else { @@ -147,10 +151,9 @@ private void name(ItemStack b, String tag) { } private void addLanguages() { - name(new ItemStack(this.BLOCK_WALL), "Smooth Limestone Wall"); - name(new ItemStack(this.BLOCK_WALL), "Cracked Limestone Wall"); - name(new ItemStack(this.BLOCK_WALL), "Large Limestone Brick Wall"); - name(new ItemStack(this.BLOCK_WALL), "Small Limestone Brick Wall"); - + name(new ItemStack(this.BLOCK_WALL, 1, 0), "walls"); + name(new ItemStack(this.BLOCK_WALL, 1, 1), "walls1"); + name(new ItemStack(this.BLOCK_WALL, 1, 2), "walls2"); + name(new ItemStack(this.BLOCK_WALL, 1, 3), "walls3"); } } diff --git a/src/com/teammetallurgy/atum/blocks/ItemBlockAtum.java b/src/com/teammetallurgy/atum/blocks/ItemBlockAtum.java new file mode 100644 index 0000000..bea8841 --- /dev/null +++ b/src/com/teammetallurgy/atum/blocks/ItemBlockAtum.java @@ -0,0 +1,23 @@ +package com.teammetallurgy.atum.blocks; + +import net.minecraft.block.Block; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; + +public class ItemBlockAtum extends ItemBlock { + + public ItemBlockAtum(int par1) { + super(par1); + } + + @Override + public String getItemDisplayName(ItemStack stack) { + return getItemStackDisplayName(stack); + } + + @Override + public String getItemStackDisplayName(ItemStack stack) { + return ((BlockWalls) Block.blocksList[getBlockID()]).getLocalizedName(stack); + } + +} diff --git a/src/com/teammetallurgy/atum/entity/Entity.java b/src/com/teammetallurgy/atum/entity/Entity.java index dd028b5..e70ef7e 100644 --- a/src/com/teammetallurgy/atum/entity/Entity.java +++ b/src/com/teammetallurgy/atum/entity/Entity.java @@ -1,8 +1,10 @@ package com.teammetallurgy.atum.entity; import net.minecraft.entity.EntityList; +import net.minecraft.item.ItemStack; import com.teammetallurgy.atum.Atum; +import com.teammetallurgy.atum.LocalizationHelper; import com.teammetallurgy.atum.entity.arrow.EntityArrowDoubleShot; import com.teammetallurgy.atum.entity.arrow.EntityArrowExplosive; import com.teammetallurgy.atum.entity.arrow.EntityArrowFire; @@ -15,6 +17,7 @@ import com.teammetallurgy.atum.entity.projectiles.EntityFireSpearSeperated; import cpw.mods.fml.common.registry.EntityRegistry; +import cpw.mods.fml.common.registry.LanguageRegistry; public enum Entity { INSTANCE; @@ -76,6 +79,15 @@ public void register() { EntityRegistry.registerModEntity(EntityNutsCall.class, "EntityNutsCall", 6, Atum.instance, 64, 1, true); EntityRegistry.registerModEntity(EntityAtumFishHook.class, "EntityAtumFishHook", 7, Atum.instance, 64, 1, false); + addNames(); + } + + private void addNames() { + + } + + private void name(Entity entity, String tag) { + LanguageRegistry.addName(entity, LocalizationHelper.localize("block." + tag + ".name")); } } diff --git a/src/com/teammetallurgy/atum/items/Items.java b/src/com/teammetallurgy/atum/items/Items.java index b75035a..00503d6 100644 --- a/src/com/teammetallurgy/atum/items/Items.java +++ b/src/com/teammetallurgy/atum/items/Items.java @@ -209,10 +209,10 @@ private void name(ItemStack item, String tag) { } private void addLanguages() { - name(new ItemStack(fish, 1, 0), "Forsaken Fish"); - name(new ItemStack(fish, 1, 1), "Mummified Fish"); - name(new ItemStack(fish, 1, 2), "Jeweled Fish"); - name(new ItemStack(fish, 1, 3), "Skeletal Fish"); + name(new ItemStack(fish, 1, 0), "fish1"); + name(new ItemStack(fish, 1, 1), "fish2"); + name(new ItemStack(fish, 1, 2), "fish3"); + name(new ItemStack(fish, 1, 3), "fish4"); } } From f8214e2bfd78cf4dc385f39be56ea988a5c5e7bb Mon Sep 17 00:00:00 2001 From: lclc98 Date: Mon, 3 Feb 2014 17:24:22 +1000 Subject: [PATCH 010/157] Fixed Burning Trap name --- resources/assets/atum/lang/en_US.properties | 2 +- .../{BlockArrowTrap.java => BlockBurningTrap.java} | 14 +++++++------- src/com/teammetallurgy/atum/blocks/Blocks.java | 6 +++--- ...tyArrowTrap.java => TileEntityBurningTrap.java} | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) rename src/com/teammetallurgy/atum/blocks/{BlockArrowTrap.java => BlockBurningTrap.java} (91%) rename src/com/teammetallurgy/atum/blocks/tileentity/{TileEntityArrowTrap.java => TileEntityBurningTrap.java} (98%) diff --git a/resources/assets/atum/lang/en_US.properties b/resources/assets/atum/lang/en_US.properties index 57deeb0..c10d461 100644 --- a/resources/assets/atum/lang/en_US.properties +++ b/resources/assets/atum/lang/en_US.properties @@ -39,7 +39,7 @@ block.palmLeaves.name=Palm Leaves block.palmPlanks.name=Palm Planks block.thinCrystalGlass.name=Thin Crystal Glass block.thinFramedGlass.name=Thin Framed Glass -tile.arrowTrap.name=Arrow Trap +tile.burningTrap.name=Burning Trap tile.pharaohChest.name=Pharaoh's Chest block.redstoneOre.name=Redstone Ore block.coalOre.name=Coal Ore diff --git a/src/com/teammetallurgy/atum/blocks/BlockArrowTrap.java b/src/com/teammetallurgy/atum/blocks/BlockBurningTrap.java similarity index 91% rename from src/com/teammetallurgy/atum/blocks/BlockArrowTrap.java rename to src/com/teammetallurgy/atum/blocks/BlockBurningTrap.java index f36032a..e24be79 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockArrowTrap.java +++ b/src/com/teammetallurgy/atum/blocks/BlockBurningTrap.java @@ -20,21 +20,21 @@ import net.minecraft.world.World; import com.teammetallurgy.atum.Atum; -import com.teammetallurgy.atum.blocks.tileentity.TileEntityArrowTrap; +import com.teammetallurgy.atum.blocks.tileentity.TileEntityBurningTrap; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class BlockArrowTrap extends BlockContainer { +public class BlockBurningTrap extends BlockContainer { public static final IRegistry dispenseBehaviorRegistry = new RegistryDefaulted(new BehaviorDefaultDispenseItem()); protected Random random = new Random(); @SideOnly(Side.CLIENT) protected Icon fireTrap; - public BlockArrowTrap(int par1) { + public BlockBurningTrap(int par1) { super(par1, Material.rock); - this.setUnlocalizedName("atum:arrowTrap"); + this.setUnlocalizedName("atum:burningTrap"); this.setCreativeTab(CreativeTabs.tabRedstone); this.setHardness(-1.0F); } @@ -106,8 +106,8 @@ public boolean onBlockActivated(World par1World, int par2, int par3, int par4, E if(par1World.isRemote) { return true; } else { - TileEntityArrowTrap TileEntityArrowTrap = (TileEntityArrowTrap) par1World.getBlockTileEntity(par2, par3, par4); - if(TileEntityArrowTrap != null) { + TileEntityBurningTrap tileEntityBurningTrap = (TileEntityBurningTrap) par1World.getBlockTileEntity(par2, par3, par4); + if(tileEntityBurningTrap != null) { ; } @@ -130,7 +130,7 @@ public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, } public TileEntity createNewTileEntity(World par1World) { - return new TileEntityArrowTrap(); + return new TileEntityBurningTrap(); } @Override diff --git a/src/com/teammetallurgy/atum/blocks/Blocks.java b/src/com/teammetallurgy/atum/blocks/Blocks.java index 4d94a55..668feb7 100644 --- a/src/com/teammetallurgy/atum/blocks/Blocks.java +++ b/src/com/teammetallurgy/atum/blocks/Blocks.java @@ -11,7 +11,7 @@ import com.teammetallurgy.atum.Atum; import com.teammetallurgy.atum.AtumIDS; import com.teammetallurgy.atum.LocalizationHelper; -import com.teammetallurgy.atum.blocks.tileentity.TileEntityArrowTrap; +import com.teammetallurgy.atum.blocks.tileentity.TileEntityBurningTrap; import com.teammetallurgy.atum.blocks.tileentity.TileEntityChestSpawner; import com.teammetallurgy.atum.blocks.tileentity.TileEntityPharaohChest; @@ -53,7 +53,7 @@ public enum Blocks { public static final Block BLOCK_PLANKS = new Block(AtumIDS.BLOCK_PLANKS_ID, Material.wood).setUnlocalizedName("atum:palmPlanks").setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setTextureName("atum:Planks"); public static final Block BLOCK_THINCRYSTALGLASS = new BlockAtumPane(AtumIDS.BLOCK_THINCRYSTALGLASS_ID, "atum:AtumCrystalGlass", "thinglass_top").setUnlocalizedName("atum:thinCrystalGlass"); public static final Block BLOCK_THINFRAMEDGLASS = new BlockAtumPane(AtumIDS.BLOCK_THINFRAMEDGLASS_ID, "atum:AtumFramedGlass", "thinglass_top").setUnlocalizedName("atum:thinFramedGlass"); - public static final Block BLOCK_TRAPARROW = new BlockArrowTrap(AtumIDS.BLOCK_TRAPARROW_ID); + public static final Block BLOCK_TRAPARROW = new BlockBurningTrap(AtumIDS.BLOCK_TRAPARROW_ID); public static final Block BLOCK_PHARAOHCHEST = new BlockPharaohChest(AtumIDS.BLOCK_PHARAOHCHEST_ID); public static final Block BLOCK_REDSTONEORE = new BlockAtumOres(AtumIDS.BLOCK_REDSTONEORE_ID).setUnlocalizedName("atum:redstoneOre").setTextureName("atum:AtumRedstone"); public static final Block BLOCK_COALORE = new BlockAtumOres(AtumIDS.BLOCK_COALORE_ID).setUnlocalizedName("atum:coalOre").setTextureName("atum:AtumCoal"); @@ -121,7 +121,7 @@ public void registerBlocks() { GameRegistry.registerTileEntity(TileEntityChestSpawner.class, "CursedChest"); GameRegistry.registerTileEntity(TileEntityPharaohChest.class, "PharaohChest"); - GameRegistry.registerTileEntity(TileEntityArrowTrap.class, "ArrowTrap"); + GameRegistry.registerTileEntity(TileEntityBurningTrap.class, "BurningTrap"); this.addLanguages(); } diff --git a/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityArrowTrap.java b/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java similarity index 98% rename from src/com/teammetallurgy/atum/blocks/tileentity/TileEntityArrowTrap.java rename to src/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java index a15292b..a04bca2 100644 --- a/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityArrowTrap.java +++ b/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java @@ -14,7 +14,7 @@ import net.minecraft.util.EnumFacing; import net.minecraft.util.Vec3; -public class TileEntityArrowTrap extends TileEntity { +public class TileEntityBurningTrap extends TileEntity { private ItemStack[] dispenserContents = new ItemStack[9]; private Random dispenserRandom = new Random(); From 31b08c643f74575be77aee8b2571eb0d51f6e3c9 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Mon, 3 Feb 2014 17:37:05 +1000 Subject: [PATCH 011/157] Fixed Mob Names --- resources/assets/atum/lang/en_US.properties | 14 +++++++++++++- src/com/teammetallurgy/atum/entity/Entity.java | 14 ++++++++++++-- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/resources/assets/atum/lang/en_US.properties b/resources/assets/atum/lang/en_US.properties index c10d461..d5934ce 100644 --- a/resources/assets/atum/lang/en_US.properties +++ b/resources/assets/atum/lang/en_US.properties @@ -120,4 +120,16 @@ item.fish2.name=Mummified Fish item.fish3.name=Jeweled Fish item.fish4.name=Skeletal Fish item.neithsAudacity.name=Neiths Audacity -item.spear.name=Spear \ No newline at end of file +item.spear.name=Spear + +# Entity +entity.mummy.name=Mummy +entity.banditWarrior.name=Bandit Warrior +entity.banditArcher.name=Bandit Archer +entity.pharaoh.name=Pharaoh +entity.dustySkeleton.name=Dusty Skeleton +entity.desertGhost.name=Desert Ghost +entity.stoneSoldier.name=Stone Soldier +entity.desertWolf.name=Desert Wolf +entity.banditWarlord.name=Bandit Warlord +entity.barbarian.name=Barbarian \ No newline at end of file diff --git a/src/com/teammetallurgy/atum/entity/Entity.java b/src/com/teammetallurgy/atum/entity/Entity.java index e70ef7e..ddb5bcb 100644 --- a/src/com/teammetallurgy/atum/entity/Entity.java +++ b/src/com/teammetallurgy/atum/entity/Entity.java @@ -83,11 +83,21 @@ public void register() { } private void addNames() { + name("entity.AtumMummy.name", "mummy"); + name("entity.AtumBanditWarrior.name", "banditWarrior"); + name("entity.AtumBanditArcher.name", "banditArcher"); + name("entity.AtumPharaoh.name", "pharaoh"); + name("entity.AtumDustySkeleton.name", "dustySkeleton"); + name("entity.AtumDesertGhost.name", "desertGhost"); + name("entity.AtumStoneSoldier.name", "stoneSoldier"); + name("entity.AtumDesertWolf.name", "desertWolf"); + name("entity.AtumBanditWarlord.name", "banditWarlord"); + name("entity.AtumBarbarian.name", "barbarian"); } - private void name(Entity entity, String tag) { - LanguageRegistry.addName(entity, LocalizationHelper.localize("block." + tag + ".name")); + private void name(String name, String tag) { + LanguageRegistry.instance().addStringLocalization(name, LocalizationHelper.localize("entity." + tag + ".name")); } } From 71afae383947835ea37b240f6b653c86006999fd Mon Sep 17 00:00:00 2001 From: lclc98 Date: Mon, 3 Feb 2014 18:00:27 +1000 Subject: [PATCH 012/157] Added in Enchant Effect --- src/com/teammetallurgy/atum/blocks/BlockAtum.java | 11 +++++++++++ src/com/teammetallurgy/atum/blocks/Blocks.java | 2 +- src/com/teammetallurgy/atum/entity/EntityPharaoh.java | 1 - .../atum/items/artifacts/IsisEmbrace.java | 9 ++++++++- .../atum/items/artifacts/ItemAkersToil.java | 5 +++++ .../atum/items/artifacts/ItemAmunetsHomecoming.java | 5 +++++ .../atum/items/artifacts/ItemAnhursMight.java | 9 +++++++-- .../atum/items/artifacts/ItemAnubisMercy.java | 7 ++++++- .../atum/items/artifacts/ItemAnuketsBounty.java | 5 +++++ .../atum/items/artifacts/ItemAtensFury.java | 5 +++++ .../atum/items/artifacts/ItemGebsBlessing.java | 5 +++++ .../atum/items/artifacts/ItemGebsSolidarity.java | 5 +++++ .../atum/items/artifacts/ItemHedetetsSting.java | 4 ++++ .../atum/items/artifacts/ItemHedetetsVenom.java | 5 +++++ .../atum/items/artifacts/ItemHorusFlight.java | 5 +++++ .../atum/items/artifacts/ItemHorusSoaring.java | 5 +++++ .../atum/items/artifacts/ItemIsisHealing.java | 6 ++++++ .../atum/items/artifacts/ItemMaatsBalance.java | 5 +++++ .../atum/items/artifacts/ItemMafdetsQuickness.java | 5 +++++ .../atum/items/artifacts/ItemMnevisHorns.java | 5 +++++ .../atum/items/artifacts/ItemMonthusBlast.java | 5 +++++ .../atum/items/artifacts/ItemMonthusStrike.java | 5 +++++ .../atum/items/artifacts/ItemNeithsAudacity.java | 5 +++++ .../atum/items/artifacts/ItemNusFlux.java | 5 +++++ .../atum/items/artifacts/ItemNutsAgility.java | 5 +++++ .../atum/items/artifacts/ItemNutsCall.java | 5 +++++ .../atum/items/artifacts/ItemOsirisWill.java | 5 +++++ .../atum/items/artifacts/ItemPtahsDecadence.java | 5 +++++ .../atum/items/artifacts/ItemPtahsDestruction.java | 5 +++++ .../atum/items/artifacts/ItemRasGlory.java | 5 +++++ .../atum/items/artifacts/ItemSekhmetsWrath.java | 5 +++++ .../atum/items/artifacts/ItemShusBreath.java | 4 ++++ .../atum/items/artifacts/ItemSobeksRage.java | 5 +++++ .../atum/items/artifacts/ItemSpear.java | 5 +++++ 34 files changed, 172 insertions(+), 6 deletions(-) diff --git a/src/com/teammetallurgy/atum/blocks/BlockAtum.java b/src/com/teammetallurgy/atum/blocks/BlockAtum.java index 4f2241d..10bc855 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockAtum.java +++ b/src/com/teammetallurgy/atum/blocks/BlockAtum.java @@ -6,9 +6,20 @@ import net.minecraft.world.World; public class BlockAtum extends Block { + boolean isBreak; public BlockAtum(int par1, String unlocalisedName) { super(par1, Material.rock); this.setUnlocalizedName(unlocalisedName); } + + public Block setNonBreak() { + this.isBreak = true; + return this; + } + + @Override + public boolean removeBlockByPlayer(World world, EntityPlayer player, int x, int y, int z) { + return isBreak ? false : super.removeBlockByPlayer(world, player, x, y, z); + } } diff --git a/src/com/teammetallurgy/atum/blocks/Blocks.java b/src/com/teammetallurgy/atum/blocks/Blocks.java index 668feb7..0fb20d4 100644 --- a/src/com/teammetallurgy/atum/blocks/Blocks.java +++ b/src/com/teammetallurgy/atum/blocks/Blocks.java @@ -26,7 +26,7 @@ public enum Blocks { public static final Block BLOCK_SAND = new BlockSands(AtumIDS.BLOCK_SAND_ID); public static final Block BLOCK_STONE = new BlockStones(AtumIDS.BLOCK_STONE_ID); public static final Block BLOCK_LIMESTONECOBBLE = new BlockAtum(AtumIDS.BLOCK_COBBLE_ID, "atum:cobble").setTextureName("atum:AtumCobble"); - public static final Block BLOCK_LARGEBRICK = new BlockAtum(AtumIDS.BLOCK_LARGEBRICK_ID, "atum:largeBrick").setTextureName("atum:AtumBrickLarge"); + public static final Block BLOCK_LARGEBRICK = ((BlockAtum) new BlockAtum(AtumIDS.BLOCK_LARGEBRICK_ID, "atum:largeBrick").setTextureName("atum:AtumBrickLarge")).setNonBreak(); public static final Block BLOCK_SMALLBRICK = new BlockAtum(AtumIDS.BLOCK_SMALLBRICK_ID, "atum:smallBrick").setTextureName("atum:AtumBrickSmall"); public static final Block BLOCK_CARVEDBRICK = new BlockAtum(AtumIDS.BLOCK_CARVEDBRICK_ID, "atum:carvedBrick").setTextureName("atum:AtumBrickCarved"); public static final Block BLOCK_SLABS = new BlockSlab(AtumIDS.BLOCK_SLABS_ID, false).setUnlocalizedName("atum:slab"); diff --git a/src/com/teammetallurgy/atum/entity/EntityPharaoh.java b/src/com/teammetallurgy/atum/entity/EntityPharaoh.java index 6709e30..ff508e9 100644 --- a/src/com/teammetallurgy/atum/entity/EntityPharaoh.java +++ b/src/com/teammetallurgy/atum/entity/EntityPharaoh.java @@ -225,7 +225,6 @@ private boolean destroyBlocksInAABB(AxisAlignedBB par1AxisAlignedBB) { } if(flag1) { - System.out.println("explode"); double d0 = par1AxisAlignedBB.minX + (par1AxisAlignedBB.maxX - par1AxisAlignedBB.minX) * (double) this.rand.nextFloat(); double d1 = par1AxisAlignedBB.minY + (par1AxisAlignedBB.maxY - par1AxisAlignedBB.minY) * (double) this.rand.nextFloat(); double d2 = par1AxisAlignedBB.minZ + (par1AxisAlignedBB.maxZ - par1AxisAlignedBB.minZ) * (double) this.rand.nextFloat(); diff --git a/src/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java b/src/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java index 4d62c2f..3e00a5d 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java +++ b/src/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java @@ -3,6 +3,7 @@ import java.util.List; import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; @@ -24,6 +25,11 @@ public IsisEmbrace(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, super(par1, par2EnumArmorMaterial, par3, par4); } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { @@ -47,7 +53,8 @@ public Item setTextureFile(String string) { return this; } - public String getArmorTextureFile(ItemStack itemstack) { + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { return "/armor/" + this.texture + ".png"; } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java b/src/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java index 0b35444..6e963be 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java @@ -25,6 +25,11 @@ public ItemAkersToil(int par1, EnumToolMaterial par2EnumToolMaterial) { super(par1, par2EnumToolMaterial); } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + @Override public float getStrVsBlock(ItemStack par1ItemStack, Block par2Block) { for(int i = 0; i < ItemSpade.blocksEffectiveAgainst.length; ++i) { diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java b/src/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java index 2089c90..84f1872 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java @@ -27,6 +27,11 @@ public ItemAmunetsHomecoming(int par1) { this.setMaxDamage(20); } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + @Override // TODO FIX public ItemStack onItemRightClick(ItemStack par1ItemStack, World par3World, EntityPlayer par2EntityPlayer) { diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java b/src/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java index 647043b..2ec1c80 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java @@ -27,6 +27,11 @@ public ItemAnhursMight(int par1, EnumToolMaterial par2EnumToolMaterial) { super(par1, par2EnumToolMaterial); } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + @Override public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase par2EntityLiving, EntityLivingBase par3EntityLiving) { if(Math.random() > 0.5D) { @@ -43,8 +48,8 @@ public void onUpdate(ItemStack stack, World world, Entity entity, int par4, bool EntityPlayer player = (EntityPlayer) entity; if(player.getCurrentEquippedItem() != null && player.getCurrentEquippedItem().itemID == super.itemID) { double magnitude = Math.sqrt(player.motionX * player.motionX + player.motionZ * player.motionZ); - //Fix - //player.capabilities.setPlayerWalkSpeed((float) ((double) player.capabilities.getWalkSpeed() * 0.75D)); + // Fix + // player.capabilities.setPlayerWalkSpeed((float) ((double) player.capabilities.getWalkSpeed() * 0.75D)); } } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java b/src/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java index dd989fe..99904b3 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java @@ -32,6 +32,11 @@ public ItemAnubisMercy(int par1) { MinecraftForge.EVENT_BUS.register(this); } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + @ForgeSubscribe public void onDamage(LivingHurtEvent event) { if(event.entityLiving instanceof EntityPlayer) { @@ -132,7 +137,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if(Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Return I: Teleports you back"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "Return I: On Death teleports you back"); par3List.add(EnumChatFormatting.DARK_PURPLE + "to your spawn point"); } else { par3List.add("Return I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java b/src/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java index ea1a13f..f0aced8 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java @@ -31,6 +31,11 @@ public ItemAnuketsBounty(int par1) { this.setCreativeTab(CreativeTabs.tabTools); } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + @Override @SideOnly(Side.CLIENT) public boolean isFull3D() { diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java b/src/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java index ae308ac..e1eec4d 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java @@ -33,6 +33,11 @@ public ItemAtensFury(int par1) { this.setMaxDamage(650); } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.itemID == Item.diamond.itemID; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java b/src/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java index 70dff80..d195e59 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java @@ -22,6 +22,11 @@ public ItemGebsBlessing(int par1, EnumToolMaterial par2EnumToolMaterial) { super(par1, par2EnumToolMaterial); } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java b/src/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java index 8b63050..cd94274 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java @@ -33,6 +33,11 @@ public ItemGebsSolidarity(int par1, EnumArmorMaterial par2EnumArmorMaterial, int super(par1, par2EnumArmorMaterial, par3, par4); } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + @ForgeSubscribe public void onLivingAttack(LivingHurtEvent event) { DamageSource par1DamageSource = event.source; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java b/src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java index dd3776d..ceabdba 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java @@ -23,7 +23,11 @@ public class ItemHedetetsSting extends ItemSword { public ItemHedetetsSting(int par1, EnumToolMaterial par2EnumToolMaterial) { super(par1, par2EnumToolMaterial); + } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; } public boolean hitEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving) { diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java b/src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java index 4fdc86c..e2727d8 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java @@ -33,6 +33,11 @@ public ItemHedetetsVenom(int par1) { this.setMaxDamage(650); } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.itemID == Item.diamond.itemID; } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java b/src/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java index 496cf12..b10da57 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java @@ -30,6 +30,11 @@ public ItemHorusFlight(int par1, EnumArmorMaterial par2EnumArmorMaterial, int pa } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + @ForgeSubscribe public void onJump(LivingJumpEvent event) { if(event.entityLiving.getCurrentItemOrArmor(0) != null && event.entityLiving.getCurrentItemOrArmor(0).itemID == super.itemID) { diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java b/src/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java index 49a304b..1610359 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java @@ -31,6 +31,11 @@ public ItemHorusSoaring(int par1) { } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.itemID == Item.diamond.itemID; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java b/src/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java index e09bdde..e03c6f6 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java @@ -23,6 +23,12 @@ public ItemIsisHealing(int par1) { this.setMaxDamage(400); } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { if(par3Entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) par3Entity; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java b/src/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java index cd4eff2..0308335 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java @@ -33,6 +33,11 @@ public ItemMaatsBalance(int par1, EnumArmorMaterial par2EnumArmorMaterial, int p } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + @ForgeSubscribe public void onLivingAttack(LivingHurtEvent event) { if(event.entityLiving.getCurrentItemOrArmor(3) != null && event.entityLiving.getCurrentItemOrArmor(3).itemID == super.itemID) { diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java b/src/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java index e21b9df..3943a70 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java @@ -23,6 +23,11 @@ public ItemMafdetsQuickness(int par1) { this.setMaxDamage(24000); } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { if(par3Entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) par3Entity; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java b/src/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java index 1eb3c86..54d5b5a 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java @@ -31,6 +31,11 @@ public ItemMnevisHorns(int par1, EnumArmorMaterial par2EnumArmorMaterial, int pa } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + @ForgeSubscribe public void onLivingAttack(LivingAttackEvent event) { if(event.entityLiving.getCurrentItemOrArmor(3) != null && event.entityLiving.getCurrentItemOrArmor(3).itemID == super.itemID && event.source instanceof EntityDamageSource) { diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java b/src/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java index 9fdd96f..af92db7 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java @@ -33,6 +33,11 @@ public ItemMonthusBlast(int par1) { this.setMaxDamage(650); } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.itemID == Item.diamond.itemID; } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java b/src/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java index 04ec75d..678a7fe 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java @@ -34,6 +34,11 @@ public ItemMonthusStrike(int par1, EnumToolMaterial par2EnumToolMaterial) { } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + public int getMaxItemUseDuration(ItemStack par1ItemStack) { return 7200; } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java b/src/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java index 60b69d9..f4c5f27 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java @@ -39,6 +39,11 @@ public ItemNeithsAudacity(int par1) { this.setCreativeTab(CreativeTabs.tabCombat); } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java b/src/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java index a5aabf1..3d6a960 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java @@ -31,6 +31,11 @@ public ItemNusFlux(int par1, EnumToolMaterial par2EnumToolMaterial) { } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + @Override public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase entity, EntityLivingBase player) { if(!player.worldObj.isRemote && Math.random() > 0.75D && !(entity instanceof EntityStoneSoldier)) { diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java b/src/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java index f28be97..4109854 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java @@ -26,6 +26,11 @@ public ItemNutsAgility(int par1, EnumArmorMaterial par2EnumArmorMaterial, int pa } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + public void onArmorTickUpdate(World world, EntityPlayer player, ItemStack itemStack) { if(player.onGround && player.inventory.armorInventory[1] != null && player.inventory.armorInventory[1].itemID == super.itemID) { player.capabilities.setPlayerWalkSpeed((float) ((double) player.capabilities.getWalkSpeed() * 1.4D)); diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java b/src/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java index 1d566d6..4e6d9b5 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java @@ -27,6 +27,11 @@ public ItemNutsCall(int par1) { } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + @Override public int getMaxItemUseDuration(ItemStack par1ItemStack) { return 7200; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java b/src/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java index 80a22a1..3ba9b19 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java @@ -27,6 +27,11 @@ public ItemOsirisWill(int par1, EnumToolMaterial par2EnumToolMaterial) { super(par1, par2EnumToolMaterial); } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + @Override public float getDamageVsEntity(Entity par1Entity, ItemStack stack) { int damage = 0; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java b/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java index e42ce3f..b082d6a 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java @@ -26,6 +26,11 @@ public ItemPtahsDecadence(int par1, EnumToolMaterial par2EnumToolMaterial) { super(par1, par2EnumToolMaterial); } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, int blockID, int x, int y, int z, EntityLiving par7EntityLiving) { int dropID = Block.blocksList[blockID].idDropped(par2World.getBlockMetadata(x, y, z), new Random(), 0); if(dropID == Item.diamond.itemID) { diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java b/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java index 191b0c5..cad4f60 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java @@ -27,6 +27,11 @@ public ItemPtahsDestruction(int par1, EnumToolMaterial par2EnumToolMaterial) { } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + @Override public float getDamageVsEntity(Entity entity, ItemStack stack) { float damage = 4 + super.toolMaterial.getDamageVsEntity(); diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java b/src/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java index 364d130..78da0a2 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java @@ -25,6 +25,11 @@ public ItemRasGlory(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java b/src/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java index 6c7ccc5..dc3b8e7 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java @@ -30,6 +30,11 @@ public ItemSekhmetsWrath(int par1, EnumArmorMaterial par2EnumArmorMaterial, int super(par1, par2EnumArmorMaterial, par3, par4); } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + @ForgeSubscribe public void onLivingAttack(LivingAttackEvent event) { if(event.entityLiving.getCurrentItemOrArmor(2) != null && event.entityLiving.getCurrentItemOrArmor(2).itemID == super.itemID && event.source instanceof EntityDamageSource) { diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java b/src/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java index fb68842..d2f94aa 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java @@ -31,7 +31,11 @@ public class ItemShusBreath extends ItemBow { public ItemShusBreath(int par1) { super(par1); this.setMaxDamage(650); + } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; } @Override diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java b/src/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java index f7d71af..c4672a8 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java @@ -29,6 +29,11 @@ public ItemSobeksRage(int par1, EnumToolMaterial par2EnumToolMaterial) { } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + @Override public float getDamageVsEntity(Entity entity, ItemStack stack) { return 4 + super.toolMaterial.getDamageVsEntity(); diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemSpear.java b/src/com/teammetallurgy/atum/items/artifacts/ItemSpear.java index 0b9cdc9..c6803f6 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemSpear.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemSpear.java @@ -17,6 +17,11 @@ public ItemSpear(int par1) { super(par1); } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + @Override public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { EntityFireSpearCombined entityarrow = new EntityFireSpearCombined(par2World, par3EntityPlayer, 0.75F); From 0c122460697cad83ac1e3c8211f62ba1a9439b7b Mon Sep 17 00:00:00 2001 From: lclc98 Date: Mon, 3 Feb 2014 18:02:51 +1000 Subject: [PATCH 013/157] Fixed knockback --- .../teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java b/src/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java index 678a7fe..d9e5841 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java @@ -22,6 +22,7 @@ import org.lwjgl.input.Keyboard; +import com.teammetallurgy.atum.entity.EntityPharaoh; import com.teammetallurgy.atum.entity.EntityStoneSoldier; import cpw.mods.fml.relauncher.Side; @@ -60,7 +61,7 @@ public void onPlayerStoppedUsing(ItemStack par1ItemStack, World world, EntityPla while(i.hasNext()) { Entity entity = (Entity) i.next(); - if(entity != player && !(entity instanceof EntityStoneSoldier)) { + if(entity != player && !(entity instanceof EntityStoneSoldier) && !(entity instanceof EntityPharaoh)) { double dx = entity.posX - player.posX; double dz = entity.posZ - player.posZ; double magnitude = Math.sqrt(dx * dx + dz * dz); From b02b9c5fcf9b9842f6eb63432eb8a96ee9bf61ae Mon Sep 17 00:00:00 2001 From: lclc98 Date: Mon, 3 Feb 2014 18:09:36 +1000 Subject: [PATCH 014/157] Fixed wolf texture --- .../atum/client/render/entity/RenderDesertWolf.java | 2 +- .../atum/entity/EntityBanditWarlord.java | 2 +- .../atum/entity/EntityDustySkeleton.java | 11 ++++++++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java b/src/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java index 0a179bd..92c7945 100644 --- a/src/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java +++ b/src/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java @@ -55,6 +55,6 @@ protected float handleRotationFloat(EntityLivingBase par1EntityLiving, float par @Override protected ResourceLocation getEntityTexture(Entity entity) { - return new ResourceLocation("atum", "textures/entities/DesertWolf.png"); + return new ResourceLocation("atum", "textures/entities/DesertWolf_angry.png"); } } diff --git a/src/com/teammetallurgy/atum/entity/EntityBanditWarlord.java b/src/com/teammetallurgy/atum/entity/EntityBanditWarlord.java index d6cac74..ca6a6fd 100644 --- a/src/com/teammetallurgy/atum/entity/EntityBanditWarlord.java +++ b/src/com/teammetallurgy/atum/entity/EntityBanditWarlord.java @@ -29,7 +29,7 @@ public EntityBanditWarlord(World par1World) { @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(8.0D); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(80.0D); this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(4.0D); this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); diff --git a/src/com/teammetallurgy/atum/entity/EntityDustySkeleton.java b/src/com/teammetallurgy/atum/entity/EntityDustySkeleton.java index 3ee1ac2..c060027 100644 --- a/src/com/teammetallurgy/atum/entity/EntityDustySkeleton.java +++ b/src/com/teammetallurgy/atum/entity/EntityDustySkeleton.java @@ -9,6 +9,7 @@ public class EntityDustySkeleton extends EntityMob implements IAtumNightMob { + boolean onFire = false; public EntityDustySkeleton(World par1World) { super(par1World); this.isImmuneToFire = true; @@ -19,11 +20,19 @@ public EntityDustySkeleton(World par1World) { protected void applyEntityAttributes() { super.applyEntityAttributes(); this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(20.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); + double speed = 0.53000000417232513D; + if(this.onFire) { + speed = 0.9D; + } + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(speed); this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(4.0D); this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); } + @Override + public void onUpdate() { + super.onUpdate(); + } @Override public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { From 9785d1ba0820d288e34d6e5e0a49836af1bceb70 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Tue, 4 Feb 2014 17:05:00 +1000 Subject: [PATCH 015/157] FIxed Server Crashes --- resources/assets/atum/lang/en_US.properties | 20 +++-- src/com/teammetallurgy/atum/Atum.java | 8 +- .../teammetallurgy/atum/blocks/BlockSlab.java | 6 ++ .../teammetallurgy/atum/blocks/Blocks.java | 19 ++-- .../atum/blocks/ItemBlockSlab.java | 22 +++++ ...{ItemBlockAtum.java => ItemBlockWall.java} | 4 +- .../atum/entity/EntityDustySkeleton.java | 5 ++ src/com/teammetallurgy/atum/items/Items.java | 7 +- .../atum/items/artifacts/ItemAnubisMercy.java | 1 - .../items/artifacts/ItemMaatsBalance.java | 2 - .../atum/items/artifacts/ItemMnevisHorns.java | 2 - .../items/artifacts/ItemSekhmetsWrath.java | 5 +- .../atum/lib/handler/CraftingHandler.java | 87 +++++++++++++++++++ .../atum/lib/proxy/ClientProxy.java | 6 ++ 14 files changed, 157 insertions(+), 37 deletions(-) create mode 100644 src/com/teammetallurgy/atum/blocks/ItemBlockSlab.java rename src/com/teammetallurgy/atum/blocks/{ItemBlockAtum.java => ItemBlockWall.java} (84%) create mode 100644 src/com/teammetallurgy/atum/lib/handler/CraftingHandler.java diff --git a/resources/assets/atum/lang/en_US.properties b/resources/assets/atum/lang/en_US.properties index d5934ce..9545657 100644 --- a/resources/assets/atum/lang/en_US.properties +++ b/resources/assets/atum/lang/en_US.properties @@ -4,14 +4,17 @@ biome.desert.name=Desert # Blocks block.portal.name=Atum Portal -tile.chestSpawner.name=Atum Chest +block.chestSpawner.name=Atum Chest block.sand.name=Strange Sand block.stone.name=Limestone block.cobble.name=Cracked Limestone block.largeBrick.name=Limestone Large Bricks block.smallBrick.name=Limestone Small Bricks block.carvedBrick.name=Limestone Carved Bricks -block.slab.name=Limestone Slab +block.slab0.name=Smooth-Limestone Slab +block.slab1.name=Cracked-Limestone Slab +block.slab2.name=Large Limestone Brick Slab +block.slab3.name=Small Limestone Brick Slab block.doubleSlab.name=Limestone Double Slab block.smoothStairs.name=Limestone Stairs block.cobbleStairs.name=Limestone Cobble Stairs @@ -19,9 +22,8 @@ block.largeStairs.name=Limestone Large Brick Stairs block.smallStairs.name=Limestone Small Brick Stairs block.sandLayer.name=Sand Layer block.crackedLargeBrick.name=Limestone Cracked Large Bricks -block.walls.name=Smooth-Limestone-Wall -block.walls0.name=Smooth-Limestone-Wall -block.walls1.name=Cracked-Limestone-Wall +block.walls0.name=Smooth-Limestone Wall +block.walls1.name=Cracked-Limestone Wall block.walls2.name=Large Limestone Brick Wall block.walls3.name=Small Limestone Brick Wall block.crystalGlass.name=Crystal Glass @@ -39,16 +41,16 @@ block.palmLeaves.name=Palm Leaves block.palmPlanks.name=Palm Planks block.thinCrystalGlass.name=Thin Crystal Glass block.thinFramedGlass.name=Thin Framed Glass -tile.burningTrap.name=Burning Trap -tile.pharaohChest.name=Pharaoh's Chest +block.burningTrap.name=Burning Trap +block.pharaohChest.name=Pharaoh's Chest block.redstoneOre.name=Redstone Ore block.coalOre.name=Coal Ore block.ironOre.name=Iron Ore block.goldOre.name=Gold Ore block.lapisOre.name=Lapis Ore block.diamondOre.name=Diamond Ore -tile.furnaceIdle.name=Limestone Furnace -tile.furnaceBurning.name=Limestone Furnace Burning +block.furnaceIdle.name=Limestone Furnace +block.furnaceBurning.name=Limestone Furnace Burning # Item item.scarab.name=Scarab diff --git a/src/com/teammetallurgy/atum/Atum.java b/src/com/teammetallurgy/atum/Atum.java index 9095638..0cbb9db 100644 --- a/src/com/teammetallurgy/atum/Atum.java +++ b/src/com/teammetallurgy/atum/Atum.java @@ -7,6 +7,7 @@ import com.teammetallurgy.atum.blocks.Blocks; import com.teammetallurgy.atum.entity.Entity; import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.lib.handler.CraftingHandler; import com.teammetallurgy.atum.lib.proxy.CommonProxy; import com.teammetallurgy.atum.world.World; @@ -51,7 +52,10 @@ public void init(FMLInitializationEvent event) { LOGGER.info("Item Init"); Items.INSTANCE.registerItems(); - + + LOGGER.info("Register Crafting Recipes"); + CraftingHandler.INSTANCE.register(); + LOGGER.info("World Init"); World.INSTANCE.register(); @@ -65,6 +69,8 @@ public void init(FMLInitializationEvent event) { proxy.init(); proxy.initRenders(); proxy.initTiles(); + + } @EventHandler diff --git a/src/com/teammetallurgy/atum/blocks/BlockSlab.java b/src/com/teammetallurgy/atum/blocks/BlockSlab.java index 00f617f..6da6898 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockSlab.java +++ b/src/com/teammetallurgy/atum/blocks/BlockSlab.java @@ -3,6 +3,8 @@ import java.util.List; import java.util.Random; +import com.teammetallurgy.atum.LocalizationHelper; + import net.minecraft.block.BlockHalfSlab; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; @@ -19,6 +21,10 @@ public BlockSlab(int par1, boolean par2) { this.setHardness(2.0F); } + public String getLocalizedName(ItemStack stack) { + return LocalizationHelper.localize("block.slab" + stack.getItemDamage() + ".name"); + } + @Override @SideOnly(Side.CLIENT) public Icon getIcon(int par1, int par2) { diff --git a/src/com/teammetallurgy/atum/blocks/Blocks.java b/src/com/teammetallurgy/atum/blocks/Blocks.java index 0fb20d4..7b01610 100644 --- a/src/com/teammetallurgy/atum/blocks/Blocks.java +++ b/src/com/teammetallurgy/atum/blocks/Blocks.java @@ -123,21 +123,19 @@ public void registerBlocks() { GameRegistry.registerTileEntity(TileEntityPharaohChest.class, "PharaohChest"); GameRegistry.registerTileEntity(TileEntityBurningTrap.class, "BurningTrap"); - this.addLanguages(); } private void register(Block b) { if(!(b instanceof BlockDate)) { b.setCreativeTab(Atum.creativeTab); } - if(b instanceof BlockWalls) { - GameRegistry.registerBlock(b, ItemBlockAtum.class, b.getUnlocalizedName()); + if(b instanceof BlockSlab) { + GameRegistry.registerBlock(b, ItemBlockSlab.class, b.getUnlocalizedName()); + } else if(b instanceof BlockWalls) { + GameRegistry.registerBlock(b, ItemBlockWall.class, b.getUnlocalizedName()); } else { GameRegistry.registerBlock(b, b.getUnlocalizedName()); - } - if(b instanceof BlockContainer) { - name(b, "tile.", b.getUnlocalizedName().split(":")[1]); - } else { + name(b, "block.", b.getUnlocalizedName().split(":")[1]); } } @@ -149,11 +147,4 @@ private void name(Block b, String type, String tag) { private void name(ItemStack b, String tag) { LanguageRegistry.addName(b, LocalizationHelper.localize("block." + tag + ".name")); } - - private void addLanguages() { - name(new ItemStack(this.BLOCK_WALL, 1, 0), "walls"); - name(new ItemStack(this.BLOCK_WALL, 1, 1), "walls1"); - name(new ItemStack(this.BLOCK_WALL, 1, 2), "walls2"); - name(new ItemStack(this.BLOCK_WALL, 1, 3), "walls3"); - } } diff --git a/src/com/teammetallurgy/atum/blocks/ItemBlockSlab.java b/src/com/teammetallurgy/atum/blocks/ItemBlockSlab.java new file mode 100644 index 0000000..eeec639 --- /dev/null +++ b/src/com/teammetallurgy/atum/blocks/ItemBlockSlab.java @@ -0,0 +1,22 @@ +package com.teammetallurgy.atum.blocks; + +import net.minecraft.block.Block; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; + +public class ItemBlockSlab extends ItemBlock { + + public ItemBlockSlab(int par1) { + super(par1); + } + + @Override + public String getItemDisplayName(ItemStack stack) { + return getItemStackDisplayName(stack); + } + + @Override + public String getItemStackDisplayName(ItemStack stack) { + return ((BlockSlab) Block.blocksList[getBlockID()]).getLocalizedName(stack); + } +} diff --git a/src/com/teammetallurgy/atum/blocks/ItemBlockAtum.java b/src/com/teammetallurgy/atum/blocks/ItemBlockWall.java similarity index 84% rename from src/com/teammetallurgy/atum/blocks/ItemBlockAtum.java rename to src/com/teammetallurgy/atum/blocks/ItemBlockWall.java index bea8841..4df785a 100644 --- a/src/com/teammetallurgy/atum/blocks/ItemBlockAtum.java +++ b/src/com/teammetallurgy/atum/blocks/ItemBlockWall.java @@ -4,9 +4,9 @@ import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; -public class ItemBlockAtum extends ItemBlock { +public class ItemBlockWall extends ItemBlock { - public ItemBlockAtum(int par1) { + public ItemBlockWall(int par1) { super(par1); } diff --git a/src/com/teammetallurgy/atum/entity/EntityDustySkeleton.java b/src/com/teammetallurgy/atum/entity/EntityDustySkeleton.java index c060027..0d2f800 100644 --- a/src/com/teammetallurgy/atum/entity/EntityDustySkeleton.java +++ b/src/com/teammetallurgy/atum/entity/EntityDustySkeleton.java @@ -10,6 +10,7 @@ public class EntityDustySkeleton extends EntityMob implements IAtumNightMob { boolean onFire = false; + public EntityDustySkeleton(World par1World) { super(par1World); this.isImmuneToFire = true; @@ -32,6 +33,10 @@ protected void applyEntityAttributes() { @Override public void onUpdate() { super.onUpdate(); + if(this.isBurning()) { + this.onFire = true; + this.applyEntityAttributes(); + } } @Override diff --git a/src/com/teammetallurgy/atum/items/Items.java b/src/com/teammetallurgy/atum/items/Items.java index 00503d6..1768478 100644 --- a/src/com/teammetallurgy/atum/items/Items.java +++ b/src/com/teammetallurgy/atum/items/Items.java @@ -48,6 +48,8 @@ import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public enum Items { INSTANCE; @@ -67,7 +69,7 @@ public enum Items { public static final Item gebsBlessing = new ItemGebsBlessing(AtumIDS.ITEM_GEBSBLESSING_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:gebsBlessing").setCreativeTab(Atum.creativeTab); public static final Item atensFury = new ItemAtensFury(AtumIDS.ITEM_ATENSFURY_ID).setUnlocalizedName("atum:atensFury").setCreativeTab(Atum.creativeTab); public static final Item rasGlory = new ItemRasGlory(AtumIDS.ITEM_RASGLORY_ID, EnumArmorMaterial.DIAMOND, 0, 0).setTextureFile("EgyptianArmor_1").setUnlocalizedName("atum:rasGlory").setCreativeTab(Atum.creativeTab); - public static final Item sekhmetsWrath = new ItemSekhmetsWrath(AtumIDS.ITEM_SEKHMETSWRATH_ID, EnumArmorMaterial.DIAMOND, 1, 1).setTextureFile("EgyptianArmor_1").setUnlocalizedName("atum:sekhmetsWrath").setCreativeTab(Atum.creativeTab); + public static final Item sekhmetsWrath = new ItemSekhmetsWrath(AtumIDS.ITEM_SEKHMETSWRATH_ID, 1, 1).setTextureFile("EgyptianArmor_1").setUnlocalizedName("atum:sekhmetsWrath").setCreativeTab(Atum.creativeTab); public static final Item nutsAgility = new ItemNutsAgility(AtumIDS.ITEM_NUTSAGILITY_ID, EnumArmorMaterial.DIAMOND, 2, 2).setTextureFile("EgyptianArmor_2").setUnlocalizedName("atum:nutsAgility").setCreativeTab(Atum.creativeTab); public static final Item horusFlight = new ItemHorusFlight(AtumIDS.ITEM_HORUSFLIGHT_ID, EnumArmorMaterial.DIAMOND, 3, 3).setTextureFile("EgyptianArmor_1").setUnlocalizedName("atum:horusFlight").setCreativeTab(Atum.creativeTab); public static final Item monthusStrike = new ItemMonthusStrike(AtumIDS.ITEM_MONTHUSSTRIKE_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:monthusStrike").setCreativeTab(Atum.creativeTab); @@ -190,11 +192,10 @@ public void registerItems() { this.register(neithsAudacity); this.register(spear); - MinecraftForge.EVENT_BUS.register(sekhmetsWrath); - this.addLanguages(); } + private void register(Item item) { GameRegistry.registerItem(item, item.getUnlocalizedName()); this.name(item, item.getUnlocalizedName().split(":")[1]); diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java b/src/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java index 99904b3..f38a694 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java @@ -29,7 +29,6 @@ public class ItemAnubisMercy extends Item { public ItemAnubisMercy(int par1) { super(par1); this.setMaxDamage(20); - MinecraftForge.EVENT_BUS.register(this); } @Override diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java b/src/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java index 0308335..13d888e 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java @@ -29,8 +29,6 @@ public class ItemMaatsBalance extends ItemArmor { public ItemMaatsBalance(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); - MinecraftForge.EVENT_BUS.register(this); - } @Override diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java b/src/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java index 54d5b5a..205bc3d 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java @@ -27,8 +27,6 @@ public class ItemMnevisHorns extends ItemArmor { public ItemMnevisHorns(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); - MinecraftForge.EVENT_BUS.register(this); - } @Override diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java b/src/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java index dc3b8e7..d42c427 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java @@ -25,9 +25,8 @@ public class ItemSekhmetsWrath extends ItemArmor { String texture; - @SideOnly(Side.CLIENT) - public ItemSekhmetsWrath(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { - super(par1, par2EnumArmorMaterial, par3, par4); + public ItemSekhmetsWrath(int par1, int par3, int par4) { + super(par1, EnumArmorMaterial.DIAMOND, par3, par4); } @Override diff --git a/src/com/teammetallurgy/atum/lib/handler/CraftingHandler.java b/src/com/teammetallurgy/atum/lib/handler/CraftingHandler.java new file mode 100644 index 0000000..247da1a --- /dev/null +++ b/src/com/teammetallurgy/atum/lib/handler/CraftingHandler.java @@ -0,0 +1,87 @@ +package com.teammetallurgy.atum.lib.handler; + +import net.minecraft.block.Block; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.FurnaceRecipes; +import net.minecraftforge.oredict.ShapedOreRecipe; +import net.minecraftforge.oredict.ShapelessOreRecipe; + +import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.items.Items; + +import cpw.mods.fml.common.registry.GameRegistry; + +public enum CraftingHandler { + INSTANCE; + + public void register() { + addRecipes(); + addSmeltingRecipes(); + addShapelessRecipes(); + } + + private void addRecipes() { + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Blocks.BLOCK_LARGEBRICK, 4), "XX", "XX", 'X', Blocks.BLOCK_STONE)); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Blocks.BLOCK_SMALLBRICK, 4), "XX", "XX", 'X', Blocks.BLOCK_LIMESTONECOBBLE)); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(Blocks.BLOCK_CARVEDBRICK, 1), Blocks.BLOCK_STONE)); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_SMOOTHSTAIRS, 6), "X ", "XX ", "XXX", 'X', Blocks.BLOCK_STONE); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_COBBLESTAIRS, 6), "X ", "XX ", "XXX", 'X', Blocks.BLOCK_LIMESTONECOBBLE); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_LARGESTONESTAIRS, 6), "X ", "XX ", "XXX", 'X', Blocks.BLOCK_LARGEBRICK); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_SMALLSTONESTAIRS, 6), "X ", "XX ", "XXX", 'X', Blocks.BLOCK_SMALLBRICK); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_SLABS, 6, 0), "XXX", 'X', Blocks.BLOCK_STONE); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_SLABS, 6, 1), "XXX", 'X', Blocks.BLOCK_LIMESTONECOBBLE); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_SLABS, 6, 2), "XXX", 'X', Blocks.BLOCK_LARGEBRICK); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_SLABS, 6, 3), "XXX", 'X', Blocks.BLOCK_SMALLBRICK); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_WALL, 6, 0), "XXX", "XXX", 'X', Blocks.BLOCK_STONE); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_WALL, 6, 1), "XXX", "XXX", 'X', Blocks.BLOCK_LIMESTONECOBBLE); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_WALL, 6, 2), "XXX", "XXX", 'X', Blocks.BLOCK_LARGEBRICK); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_WALL, 6, 3), "XXX", "XXX", 'X', Blocks.BLOCK_SMALLBRICK); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_FRAMEDGLASS), " X ", "XSX", " X ", 'X', Item.stick, 'S', Blocks.BLOCK_CRYSTALGLASS); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_CRACKEDLARGEBRICK, 4), "XX", "XX", 'X', Items.stoneChunk); + GameRegistry.addRecipe(new ItemStack(Item.expBottle), " X ", "XBX", " X ", 'X', Items.ectoplasm, 'B', Item.potion); + GameRegistry.addRecipe(new ItemStack(Items.limestoneSword), "L", "L", "S", 'L', Blocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); + GameRegistry.addRecipe(new ItemStack(Items.limestoneShovel), "L", "S", "S", 'L', Blocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); + GameRegistry.addRecipe(new ItemStack(Items.limestonePickaxe), "LLL", " S ", " S ", 'L', Blocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); + GameRegistry.addRecipe(new ItemStack(Items.limestoneAxe), "LL", "LS", " S", 'L', Blocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); + GameRegistry.addRecipe(new ItemStack(Items.limestoneHoe), "LL", " S", " S", 'L', Blocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); + GameRegistry.addRecipe(new ItemStack(Items.mummyHelmet), "XXX", "X X", 'X', Items.scrap); + GameRegistry.addRecipe(new ItemStack(Items.mummyChest), "X X", "XXX", "XXX", 'X', Items.scrap); + GameRegistry.addRecipe(new ItemStack(Items.mummyLegs), "XXX", "X X", "X X", 'X', Items.scrap); + GameRegistry.addRecipe(new ItemStack(Items.mummyBoots), "X X", "X X", 'X', Items.scrap); + GameRegistry.addRecipe(new ItemStack(Items.wandererHelmet), "XXX", "X X", 'X', Items.linen); + GameRegistry.addRecipe(new ItemStack(Items.wandererChest), "X X", "XXX", "XXX", 'X', Items.linen); + GameRegistry.addRecipe(new ItemStack(Items.wandererLegs), "XXX", "X X", "X X", 'X', Items.linen); + GameRegistry.addRecipe(new ItemStack(Items.wandererBoots), "X X", "X X", 'X', Items.linen); + GameRegistry.addRecipe(new ItemStack(Items.linen), "XXX", 'X', Items.flax); + GameRegistry.addRecipe(new ItemStack(Item.glassBottle, 3), "X X", " X ", 'X', Blocks.BLOCK_CRYSTALGLASS); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_THINCRYSTALGLASS, 16), "XXX", "XXX", 'X', Blocks.BLOCK_CRYSTALGLASS); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_THINFRAMEDGLASS, 16), "XXX", "XXX", 'X', Blocks.BLOCK_FRAMEDGLASS); + GameRegistry.addRecipe(new ItemStack(Items.scroll), "XXX", "SXS", "XXX", 'X', Items.papyrusPlant, 'S', Item.stick); + GameRegistry.addRecipe(new ItemStack(Items.ITEM_SCARAB), " G ", "GDG", " G ", 'G', Item.ingotGold, 'D', Item.diamond); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_FURNACEIDLE), "XXX", "X X", "XXX", 'X', Blocks.BLOCK_LIMESTONECOBBLE); + } + + private void addSmeltingRecipes() { + FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_IRONORE.blockID, 0, new ItemStack(Item.ingotIron), 0.7F); + FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_COALORE.blockID, new ItemStack(Item.coal), 0.1F); + FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_REDSTONEORE.blockID, new ItemStack(Item.redstone), 0.7F); + FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_LAPISORE.blockID, new ItemStack(Item.dyePowder, 1, 4), 0.2F); + FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_GOLDORE.blockID, new ItemStack(Item.ingotGold), 1.0F); + FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_DIAMONDORE.blockID, new ItemStack(Item.diamond), 1.0F); + FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_LOG.blockID, new ItemStack(Item.coal, 1, 1), 0.15F); + FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_LIMESTONECOBBLE.blockID, new ItemStack(Blocks.BLOCK_STONE), 0.1F); + FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_SAND.blockID, new ItemStack(Blocks.BLOCK_CRYSTALGLASS), 0.1F); + } + + private void addShapelessRecipes() { + GameRegistry.addShapelessRecipe(new ItemStack(Blocks.BLOCK_PLANKS, 4), Blocks.BLOCK_LOG); + GameRegistry.addShapelessRecipe(new ItemStack(Items.desertHelmet), Items.wandererHelmet, Item.helmetIron); + GameRegistry.addShapelessRecipe(new ItemStack(Items.desertChest), Items.wandererChest, Item.plateIron); + GameRegistry.addShapelessRecipe(new ItemStack(Items.desertLegs), Items.wandererLegs, Item.legsIron); + GameRegistry.addShapelessRecipe(new ItemStack(Items.desertBoots), Items.wandererBoots, Item.bootsIron); + GameRegistry.addShapelessRecipe(new ItemStack(Block.sand), Blocks.BLOCK_SAND); + GameRegistry.addShapelessRecipe(new ItemStack(Item.silk, 3), Items.flax); + } + +} diff --git a/src/com/teammetallurgy/atum/lib/proxy/ClientProxy.java b/src/com/teammetallurgy/atum/lib/proxy/ClientProxy.java index de6bf94..be24a6f 100644 --- a/src/com/teammetallurgy/atum/lib/proxy/ClientProxy.java +++ b/src/com/teammetallurgy/atum/lib/proxy/ClientProxy.java @@ -8,6 +8,7 @@ import net.minecraft.entity.Entity; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.MinecraftForgeClient; +import net.minecraftforge.common.MinecraftForge; import com.teammetallurgy.atum.blocks.BlockDate; import com.teammetallurgy.atum.blocks.BlockPapyrus; @@ -50,6 +51,11 @@ public class ClientProxy extends CommonProxy { @Override public void init() { TickRegistry.registerTickHandler(new ClientTickHandler(), Side.CLIENT); + + MinecraftForge.EVENT_BUS.register(Items.sekhmetsWrath); + MinecraftForge.EVENT_BUS.register(Items.mnevisHorns); + MinecraftForge.EVENT_BUS.register(Items.maatsBalance); + MinecraftForge.EVENT_BUS.register(Items.anubisMercy); } @Override From 4199641b3b849a3d2be154547fbffe4377df4635 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Tue, 4 Feb 2014 17:24:33 +1000 Subject: [PATCH 016/157] Fixed Nuts call bugs --- resources/assets/atum/lang/en_US.properties | 60 ++++++++++--------- .../render/entity/arrow/RenderNutsCall.java | 1 + .../atum/entity/arrow/CustomArrow.java | 2 +- .../items/artifacts/ItemAnuketsBounty.java | 3 +- .../atum/items/artifacts/ItemNutsCall.java | 2 +- 5 files changed, 35 insertions(+), 33 deletions(-) diff --git a/resources/assets/atum/lang/en_US.properties b/resources/assets/atum/lang/en_US.properties index 9545657..d93b164 100644 --- a/resources/assets/atum/lang/en_US.properties +++ b/resources/assets/atum/lang/en_US.properties @@ -60,35 +60,37 @@ item.greatsword.name=Greatsword item.scepter.name=Scepter item.stoneSoldierSword.name=Stone Soldier Sword item.bow.name=Shortbow -item.ptahsDecadence.name=Ptahs Decadence -item.soteksRage.name=Soteks Rage -item.osirisWill.name=Osiris Will -item.akersToil.name=Akers Toil -item.gebsBlessing.name=Gebs Blessing -item.atensFury.name=Atens Fury -item.rasGlory.name=Ras Glory -item.sekhmetsWrath.name=Sekhmets Wrath -item.nutsAgility.name=Nuts Agility -item.horusFlight.name=Horus Flight -item.monthusStrike.name=Monthus Strike -item.anhursMight.name=Anhurs Might -item.hedetetsSting.name=Hedetets Sting -item.horusSoaring.name=Horus Soaring -item.shusBreath.name=Shus Breath -item.ptahsDestruction.name=Ptahs Destruction -item.monthusBlast.name=Monthus Blast -item.nusFlux.name=Nus Flux -item.mnevisHorns.name=Mnevis Horns -item.isisEmbrace.name=Isis Embrace -item.maatsBalance.name=Maats Balance -item.hedetetsVenom.name=Hedetets Venom -item.gebsSolidarity.name=Gebs Solidarity -item.nutsCall.name=Nuts Call -item.anuketsBounty.name=Anukets Bounty -item.mafdetsQuickness.name=Mafdets Quickness -item.isisHealing.name=Isis Healing -item.amunetsHomecoming.name=Amunets Homecoming -item.anubisMercy.name=Amubis Mercy + +item.ptahsDecadence.name=Ptahs' Decadence +item.soteksRage.name=Soteks' Rage +item.osirisWill.name=Osiris' Will +item.akersToil.name=Akers' Toil +item.gebsBlessing.name=Gebs' Blessing +item.atensFury.name=Atens' Fury +item.rasGlory.name=Ras' Glory +item.sekhmetsWrath.name=Sekhmets' Wrath +item.nutsAgility.name=Nuts' Agility +item.horusFlight.name=Horus' Flight +item.monthusStrike.name=Monthus' Strike +item.anhursMight.name=Anhurs' Might +item.hedetetsSting.name=Hedetets' Sting +item.horusSoaring.name=Horus' Soaring +item.shusBreath.name=Shus' Breath +item.ptahsDestruction.name=Ptahs' Destruction +item.monthusBlast.name=Monthus' Blast +item.nusFlux.name=Nus' Flux +item.mnevisHorns.name=Mnevis' Horns +item.isisEmbrace.name=Isis' Embrace +item.maatsBalance.name=Maats' Balance +item.hedetetsVenom.name=Hedetets' Venom +item.gebsSolidarity.name=Gebs' Solidarity +item.nutsCall.name=Nuts' Call +item.anuketsBounty.name=Anukets' Bounty +item.mafdetsQuickness.name=Mafdets' Quickness +item.isisHealing.name=Isis' Healing +item.amunetsHomecoming.name=Amunets' Homecoming +item.anubisMercy.name=Amubis's Mercy + item.limestoneShovel.name=Limestone Shovel item.limestonePickaxe.name=Limestone Pickaxe item.limestoneAxe.name=Limestone Axe diff --git a/src/com/teammetallurgy/atum/client/render/entity/arrow/RenderNutsCall.java b/src/com/teammetallurgy/atum/client/render/entity/arrow/RenderNutsCall.java index c887e02..a3ad91f 100644 --- a/src/com/teammetallurgy/atum/client/render/entity/arrow/RenderNutsCall.java +++ b/src/com/teammetallurgy/atum/client/render/entity/arrow/RenderNutsCall.java @@ -19,6 +19,7 @@ public class RenderNutsCall extends Render { public void renderArrow(CustomArrow par1EntityFireSpearCombined, double par2, double par4, double par6, float par8, float par9) { + this.bindEntityTexture(par1EntityFireSpearCombined); GL11.glPushMatrix(); GL11.glTranslatef((float) par2, (float) par4, (float) par6); GL11.glRotatef(par1EntityFireSpearCombined.prevRotationYaw + (par1EntityFireSpearCombined.rotationYaw - par1EntityFireSpearCombined.prevRotationYaw) * par9 - 90.0F, 0.0F, 1.0F, 0.0F); diff --git a/src/com/teammetallurgy/atum/entity/arrow/CustomArrow.java b/src/com/teammetallurgy/atum/entity/arrow/CustomArrow.java index d4cf02e..c455b87 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/CustomArrow.java +++ b/src/com/teammetallurgy/atum/entity/arrow/CustomArrow.java @@ -18,7 +18,7 @@ protected void entityInit() { } public String getTexture() { - return "/item/arrows.png"; + return "minecraft:textures/item/arrows.png"; } @Override diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java b/src/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java index f0aced8..f64b307 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java @@ -59,7 +59,6 @@ public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, Enti if(!par2World.isRemote) { par2World.spawnEntityInWorld(new EntityAtumFishHook(par2World, par3EntityPlayer)); } - par3EntityPlayer.swingItem(); } @@ -86,7 +85,7 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye par3List.add(EnumChatFormatting.DARK_PURPLE + "Alluring I: Chance to catch"); par3List.add(EnumChatFormatting.DARK_PURPLE + "special fish in Atum"); } else { - par3List.add("Return I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add("Alluring I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } par3List.add(par1ItemStack.getMaxDamage() - par1ItemStack.getItemDamage() + " Uses Remaining"); diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java b/src/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java index 4e6d9b5..a7df76a 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java @@ -55,7 +55,7 @@ public void onPlayerStoppedUsing(ItemStack par1ItemStack, World world, EntityPla j = 21; } - EntityNutsCall spear = new EntityNutsCall(world, player, (float) j / 37.0F + 0.25F); + EntityNutsCall spear = new EntityNutsCall(world, player, (float) j / 25.0F + 0.25F); spear.setDamage(spear.getDamage() * 2.0D); spear.setStack(par1ItemStack); if(!world.isRemote) { From f6727973b4ba6cb8c77c7e212b280a84adbb288a Mon Sep 17 00:00:00 2001 From: lclc98 Date: Tue, 4 Feb 2014 19:02:42 +1000 Subject: [PATCH 017/157] Fixed Portal --- .../atum/blocks/BlockPortal.java | 40 +++++----------- .../teammetallurgy/atum/blocks/Blocks.java | 3 +- .../teammetallurgy/atum/items/ItemScarab.java | 31 +++++------- .../atum/items/artifacts/ItemIsisHealing.java | 2 +- .../atum/world/AtumPortalPosition.java | 5 -- .../atum/world/AtumTeleporter.java | 48 ++++++++++++------- 6 files changed, 57 insertions(+), 72 deletions(-) diff --git a/src/com/teammetallurgy/atum/blocks/BlockPortal.java b/src/com/teammetallurgy/atum/blocks/BlockPortal.java index 448305b..52b216f 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockPortal.java +++ b/src/com/teammetallurgy/atum/blocks/BlockPortal.java @@ -47,36 +47,18 @@ public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { } + @Override public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) { - byte b0 = 0; - byte b1 = 1; - if(par1World.getBlockId(par2 - 1, par3, par4) == super.blockID || par1World.getBlockId(par2 + 1, par3, par4) == super.blockID) { - b0 = 1; - b1 = 0; - } - - int i1; - for(i1 = par3; par1World.getBlockId(par2, i1 - 1, par4) == super.blockID; --i1) { - ; - } - - if(par1World.getBlockId(par2, i1 - 1, par4) != Block.sandStone.blockID) { - par1World.setBlockToAir(par2, par3, par4); - } else { - int j1; - for(j1 = 1; j1 < 4 && par1World.getBlockId(par2, i1 + j1, par4) == super.blockID; ++j1) { - ; - } - - boolean flag = par1World.getBlockId(par2 - 1, par3, par4) != this.blockID || par1World.getBlockId(par2 + 1, par3, par4) != this.blockID; - boolean flag1 = par1World.getBlockId(par2, par3, par4 - 1) != this.blockID || par1World.getBlockId(par2, par3, par4 + 1) != this.blockID; - boolean flag2 = par1World.getBlockId(par2 - 1, par3, par4) != sandStone.blockID || par1World.getBlockId(par2 + 1, par3, par4) != sandStone.blockID; - boolean flag3 = par1World.getBlockId(par2, par3, par4 - 1) != sandStone.blockID || par1World.getBlockId(par2, par3, par4 + 1) != sandStone.blockID; - if((flag && flag1) || (flag2 && flag3)) { - // par1World.setBlockToAir(par2, par3, par4); - } - } - +// for(int x = -1; x < 2; x++) { +// for(int z = -1; z < 2; z++) { +// for(int y = -1; y < 1; y++) { +// if(par1World.getBlockId(par2 + x, par3 + y, par4 + z) != Block.sandStone.blockID && par1World.getBlockId(par2 + x, par3 + y, par4 + z) != this.blockID && par1World.getBlockId(par2 + x, par3 + y, par4 + z) != Blocks.BLOCK_LARGEBRICK.blockID) { +// System.out.println(par1World.getBlockId(par2 + x, par3 + y, par4 + z)); +// par1World.setBlockToAir(par2, par3, par4); +// } +// } +// } +// } } @Override diff --git a/src/com/teammetallurgy/atum/blocks/Blocks.java b/src/com/teammetallurgy/atum/blocks/Blocks.java index 7b01610..ee71302 100644 --- a/src/com/teammetallurgy/atum/blocks/Blocks.java +++ b/src/com/teammetallurgy/atum/blocks/Blocks.java @@ -1,7 +1,6 @@ package com.teammetallurgy.atum.blocks; import net.minecraft.block.Block; -import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -21,7 +20,7 @@ public enum Blocks { INSTANCE; - public static final Block BLOCK_PORTAL = new BlockPortal(AtumIDS.BLOCK_PORTAL_ID); + public static final BlockPortal BLOCK_PORTAL = new BlockPortal(AtumIDS.BLOCK_PORTAL_ID); public static final Block BLOCK_CURSEDCHEST = new BlockChestSpawner(AtumIDS.BLOCK_CURSEDCHEST_ID); public static final Block BLOCK_SAND = new BlockSands(AtumIDS.BLOCK_SAND_ID); public static final Block BLOCK_STONE = new BlockStones(AtumIDS.BLOCK_STONE_ID); diff --git a/src/com/teammetallurgy/atum/items/ItemScarab.java b/src/com/teammetallurgy/atum/items/ItemScarab.java index 529a08e..80034c9 100644 --- a/src/com/teammetallurgy/atum/items/ItemScarab.java +++ b/src/com/teammetallurgy/atum/items/ItemScarab.java @@ -28,31 +28,26 @@ public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, if(blockID == Block.sandStone.blockID) { if(!((BlockPortal) Blocks.BLOCK_PORTAL).tryToCreatePortal(par3World, x, y, z)) { if(par2EntityPlayer.capabilities.isCreativeMode) { - if(par2EntityPlayer.worldObj.provider.dimensionId == 0) { - for(int x1 = -2; x1 < 3; x1++) { - for(int z1 = -2; z1 < 3; z1++) { - par3World.setBlock(x + x1, y, z + z1, Block.sandStone.blockID); + for(int x1 = -2; x1 < 3; x1++) { + for(int z1 = -2; z1 < 3; z1++) { + par3World.setBlock(x + x1, y, z + z1, Block.sandStone.blockID); + } + } + for(int x1 = -2; x1 < 3; x1++) { + for(int z1 = -2; z1 < 3; z1++) { + if(x1 + x == x + 2 || z1 + z == z + 2 || x1 + x == x - 2 || z1 + z == z - 2) { + par3World.setBlock(x + x1, y + 1, z + z1, Block.sandStone.blockID); } } + } + for(int y1 = 2; y1 < 4; y1++) { for(int x1 = -2; x1 < 3; x1++) { for(int z1 = -2; z1 < 3; z1++) { - if(x1 + x == x + 2 || z1 + z == z + 2 || x1 + x == x - 2 || z1 + z == z - 2) { - par3World.setBlock(x + x1, y + 1, z + z1, Block.sandStone.blockID); + if((x1 + x == x + 2 && z1 + z == z + 2) || (x1 + x == x - 2 && z1 + z == z + 2) || (x1 + x == x + 2 && z1 + z == z - 2) || (x1 + x == x - 2 && z1 + z == z - 2)) { + par3World.setBlock(x + x1, y + y1, z + z1, Block.sandStone.blockID); } } } - for(int y1 = 2; y1 < 4; y1++) { - for(int x1 = -2; x1 < 3; x1++) { - for(int z1 = -2; z1 < 3; z1++) { - if((x1 + x == x + 2 && z1 + z == z + 2) || (x1 + x == x - 2 && z1 + z == z + 2) || (x1 + x == x + 2 && z1 + z == z - 2) || (x1 + x == x - 2 && z1 + z == z - 2)) { - par3World.setBlock(x + x1, y + y1, z + z1, Block.sandStone.blockID); - } - } - } - } - - } else { - } } } else { diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java b/src/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java index e03c6f6..bb57932 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java @@ -64,7 +64,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if(Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Regeneration I: Regenerates"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "health slowly while heald"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "health slowly while held"); } else { par3List.add("Regeneration I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } diff --git a/src/com/teammetallurgy/atum/world/AtumPortalPosition.java b/src/com/teammetallurgy/atum/world/AtumPortalPosition.java index d7c67e4..3877f96 100644 --- a/src/com/teammetallurgy/atum/world/AtumPortalPosition.java +++ b/src/com/teammetallurgy/atum/world/AtumPortalPosition.java @@ -4,12 +4,7 @@ public class AtumPortalPosition extends ChunkCoordinates { - public long field_85087_d; - final AtumTeleporter field_85088_e; - public AtumPortalPosition(AtumTeleporter par1Teleporter, int par2, int par3, int par4, long par5) { super(par2, par3, par4); - this.field_85088_e = par1Teleporter; - this.field_85087_d = par5; } } diff --git a/src/com/teammetallurgy/atum/world/AtumTeleporter.java b/src/com/teammetallurgy/atum/world/AtumTeleporter.java index 64b8575..0946689 100644 --- a/src/com/teammetallurgy/atum/world/AtumTeleporter.java +++ b/src/com/teammetallurgy/atum/world/AtumTeleporter.java @@ -15,13 +15,13 @@ import net.minecraft.world.Teleporter; import net.minecraft.world.WorldServer; +import com.teammetallurgy.atum.blocks.BlockSlab; import com.teammetallurgy.atum.blocks.Blocks; public class AtumTeleporter extends Teleporter { private final WorldServer worldServerInstance; private final Random random; - public static String[][] portalDesign = new String[][]{{"XXXXX", "X X", "X X", "X X", "XXXXX"}, {"X X", " ", " ", " ", "X X"}, {"X X", " ", " ", " ", "X X"}}; private final LongHashMap destinationCoordinateCache = new LongHashMap(); private final List destinationCoordinateKeys = new ArrayList(); @@ -365,31 +365,46 @@ public boolean makePortal(Entity par1Entity) { } } } + Block block = null; + System.out.println(par1Entity.dimension); + if(par1Entity.dimension == 0) { + block = Block.sandStone; + } else { + block = Blocks.BLOCK_LARGEBRICK; + } + for(int x1 = -2; x1 < 3; x1++) { + for(int z1 = -2; z1 < 3; z1++) { - for(k2 = 0; k2 < 4; ++k2) { - for(i3 = 0; i3 < 4; ++i3) { - for(l2 = -1; l2 < 4; ++l2) { - k3 = i5 + (i3 - 1) * k5; - j3 = j5 + l2; - i4 = j2 + (i3 - 1) * l5; - flag = i3 == 0 || i3 == 3 || l2 == -1 || l2 == 3; - this.worldServerInstance.setBlock(k3, j3, i4, flag ? Block.sandStone.blockID : Blocks.BLOCK_PORTAL.blockID, 0, 2); + this.worldServerInstance.setBlock(entityX + x1, entityY, entityZ + z1, block.blockID); + } + } + for(int x1 = -2; x1 < 3; x1++) { + for(int z1 = -2; z1 < 3; z1++) { + if(x1 == 2 || z1 == 2 || x1 == -2 || z1 == -2) { + this.worldServerInstance.setBlock(entityX + x1, entityY + 1, entityZ + z1, block.blockID); } } - - for(i3 = 0; i3 < 4; ++i3) { - for(l2 = -1; l2 < 4; ++l2) { - k3 = i5 + (i3 - 1) * k5; - j3 = j5 + l2; - i4 = j2 + (i3 - 1) * l5; - this.worldServerInstance.notifyBlocksOfNeighborChange(k3, j3, i4, this.worldServerInstance.getBlockId(k3, j3, i4)); + } + for(int y1 = 2; y1 < 4; y1++) { + for(int x1 = -2; x1 < 3; x1++) { + for(int z1 = -2; z1 < 3; z1++) { + if((x1 == 2 && z1 == 2) || (x1 == -2 && z1 == 2) || (x1 == 2 && z1 == -2) || (x1 == -2 && z1 == -2)) { + this.worldServerInstance.setBlock(entityX + x1, entityY + y1, entityZ + z1, block.blockID); + } } } } + for(int x1 = -1; x1 < 2; x1++) { + for(int z1 = -1; z1 < 2; z1++) { + this.worldServerInstance.setBlock(x1 + entityX, entityY + 1, z1 + entityZ, Blocks.BLOCK_PORTAL.blockID); + } + } + return true; } + @Override public void removeStalePortalLocations(long par1) { if(par1 % 100L == 0L) { Iterator iterator = this.destinationCoordinateKeys.iterator(); @@ -404,7 +419,6 @@ public void removeStalePortalLocations(long par1) { } } } - } } From 5e0f100b7bd36e20dc7d394af4af4ff25a978e03 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Wed, 5 Feb 2014 17:25:10 +1000 Subject: [PATCH 018/157] Fixed Texture Problems --- src/com/teammetallurgy/atum/Atum.java | 2 +- .../atum/entity/arrow/CustomArrow.java | 9 +- .../entity/arrow/EntityArrowDoubleShot.java | 2 +- .../entity/arrow/EntityArrowExplosive.java | 1090 ++++++++--------- .../atum/entity/arrow/EntityArrowFire.java | 2 +- .../atum/entity/arrow/EntityArrowPoison.java | 2 +- .../entity/arrow/EntityArrowQuickdraw.java | 2 +- .../entity/arrow/EntityArrowVelocity.java | 2 +- src/com/teammetallurgy/atum/items/Items.java | 134 +- .../atum/items/artifacts/IsisEmbrace.java | 16 +- .../items/artifacts/ItemGebsSolidarity.java | 15 +- .../atum/items/artifacts/ItemHorusFlight.java | 15 +- .../items/artifacts/ItemMaatsBalance.java | 17 +- .../atum/items/artifacts/ItemMnevisHorns.java | 16 +- .../atum/items/artifacts/ItemNutsAgility.java | 15 +- .../atum/items/artifacts/ItemRasGlory.java | 16 +- .../items/artifacts/ItemSekhmetsWrath.java | 17 +- 17 files changed, 602 insertions(+), 770 deletions(-) diff --git a/src/com/teammetallurgy/atum/Atum.java b/src/com/teammetallurgy/atum/Atum.java index 0cbb9db..6c2e0f4 100644 --- a/src/com/teammetallurgy/atum/Atum.java +++ b/src/com/teammetallurgy/atum/Atum.java @@ -25,7 +25,7 @@ public class Atum { public static final String MODID = "Atum"; public static final String NAME = "Atum"; - public static final String VERSION = "0.5.0B"; + public static final String VERSION = "0.5.9B"; @Instance(Atum.MODID) public static Atum instance; diff --git a/src/com/teammetallurgy/atum/entity/arrow/CustomArrow.java b/src/com/teammetallurgy/atum/entity/arrow/CustomArrow.java index c455b87..89c99f0 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/CustomArrow.java +++ b/src/com/teammetallurgy/atum/entity/arrow/CustomArrow.java @@ -12,11 +12,6 @@ public CustomArrow(World par1World) { super(par1World); } - @Override - protected void entityInit() { - - } - public String getTexture() { return "minecraft:textures/item/arrows.png"; } @@ -31,4 +26,8 @@ protected void writeEntityToNBT(NBTTagCompound nbttagcompound) { super.writeToNBT(nbttagcompound); } + @Override + protected void entityInit() { + } + } diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java index 7fb3fae..2ab5f3e 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java +++ b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java @@ -523,6 +523,6 @@ public void setThrower(Entity entity) { @Override public String getTexture() { - return "/mods/Atum/textures/projectiles/arrows_double.png"; + return "atum:textures/projectiles/arrows_double.png"; } } diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java index 41cde11..3afa5fb 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java +++ b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java @@ -25,600 +25,512 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class EntityArrowExplosive extends CustomArrow implements IProjectile, IThrowableEntity -{ - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private int inTile = 0; - private int inData = 0; - private boolean inGround = false; - - /** 1 if the player can pick up the arrow */ - public int canBePickedUp = 0; - - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake = 0; - - /** The owner of this arrow. */ - public Entity shootingEntity; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - - /** The amount of knockback an arrow applies when it hits a mob. */ - private int knockbackStrength; - - public EntityArrowExplosive(World par1World) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - } - - public EntityArrowExplosive(World par1World, double par2, double par4, double par6) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - this.yOffset = 0.0F; - } - - public EntityArrowExplosive(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.posY = par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double)(par3EntityLiving.height / 3.0F) - this.posY; - double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2); - - if (d3 >= 1.0E-7D) - { - float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float)d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double)f4, d2, par4, par5); - } - } - - public EntityArrowExplosive(World par1World, EntityLivingBase par2EntityLiving, float par3) - { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) - { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double)par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.posY -= 0.10000000149011612D; - this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); - } - - protected void entityInit() - { - this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. - */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) - { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double)f2; - par3 /= (double)f2; - par5 /= (double)f2; - par1 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par3 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par5 += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)par8; - par1 *= (double)par7; - par3 *= (double)par7; - par5 *= (double)par7; - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) - { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - - /** - * Sets the velocity to the args. Args: x, y, z - */ - public void setVelocity(double par1, double par3, double par5) - { - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(par3, (double)f) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.ticksInGround = 0; - } - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() - { - super.onUpdate(); - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) - { - float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f) * 180.0D / Math.PI); - } - - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - - if (i > 0) - { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) - { - this.worldObj.newExplosion(this, this.posX, this.posY, this.posZ, 2.0F, this.isBurning(), true); - this.inGround = true; - } - } - - if (this.arrowShake > 0) - { - --this.arrowShake; - } - - if (this.inGround) - { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - - if (j == this.inTile && k == this.inData) - { - ++this.ticksInGround; - - if (this.ticksInGround == 1200) - { - this.setDead(); - } - } - else - { - this.inGround = false; - this.motionX *= (double)(this.rand.nextFloat() * 0.2F); - this.motionY *= (double)(this.rand.nextFloat() * 0.2F); - this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } - else - { - ++this.ticksInAir; - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) - { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - int l; - float f1; - - for (l = 0; l < list.size(); ++l) - { - Entity entity1 = (Entity)list.get(l); - - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) - { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - - if (movingobjectposition1 != null) - { - double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - - if (d1 < d0 || d0 == 0.0D) - { - entity = entity1; - d0 = d1; - } - } - } - } - - if (entity != null) - { - movingobjectposition = new MovingObjectPosition(entity); - } - - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) - { - EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit; - - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer)this.shootingEntity).canAttackPlayer(entityplayer)) - { - movingobjectposition = null; - } - } - - float f2; - float f3; - - if (movingobjectposition != null) - { - if (movingobjectposition.entityHit != null) - { - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double)f2 * this.damage); - - if (this.getIsCritical()) - { - i1 += this.rand.nextInt(i1 / 2 + 2); - } - - DamageSource damagesource = null; - - if (this.shootingEntity == null) - { - damagesource = DamageSource.causeThrownDamage(this, this); - } - else - { - damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) - { - movingobjectposition.entityHit.setFire(5); - } - - this.worldObj.createExplosion(this, entity.posX, entity.posY, entity.posZ, 2.0F, true); - - this.setDead(); - - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) - { - if (movingobjectposition.entityHit instanceof EntityLiving) - { - EntityLiving entityliving = (EntityLiving)movingobjectposition.entityHit; - - if (!this.worldObj.isRemote) - { - entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); - } - - if (this.knockbackStrength > 0) - { - f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - - if (f3 > 0.0F) - { - movingobjectposition.entityHit.addVelocity(this.motionX * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3, 0.1D, this.motionZ * (double)this.knockbackStrength * 0.6000000238418579D / (double)f3); - } - } - - if (this.shootingEntity != null) - { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); - } - - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) - { - ((EntityPlayerMP)this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); - } - } - - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - - } - else - { - this.motionX *= -0.10000000149011612D; - this.motionY *= -0.10000000149011612D; - this.motionZ *= -0.10000000149011612D; - this.rotationYaw += 180.0F; - this.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } - else - { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double)((float)(movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double)((float)(movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - this.posZ)); - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double)f2 * 0.05000000074505806D; - this.posY -= this.motionY / (double)f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / (double)f2 * 0.05000000074505806D; - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - this.worldObj.createExplosion(this, movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord, 2.0F, true); - this.inGround = true; - this.arrowShake = 7; - this.setDead(); - this.setIsCritical(false); - - if (this.inTile != 0) - { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } - } - - if (this.getIsCritical() && worldObj.isRemote) - { - for (l = 0; l < 4; ++l) - { - this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); - } - } - - if(Math.random() > 0.0) - { - worldObj.spawnParticle("smoke", this.posX + this.motionX * (double)l / 4.0D, this.posY + this.motionY * (double)l / 4.0D, this.posZ + this.motionZ * (double)l / 4.0D, -this.motionX/10F, (-this.motionY + 0.2D)/10F, -this.motionZ/10F); - } - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float)(Math.atan2(this.motionY, (double)f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { - this.prevRotationYaw -= 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { - this.prevRotationYaw += 360.0F; - } - - this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; - this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; - float f4 = 0.99F; - f1 = 0.15F; - - if (this.isInWater()) - { - for (int j1 = 0; j1 < 4; ++j1) - { - f3 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)f3, this.posY - this.motionY * (double)f3, this.posZ - this.motionZ * (double)f3, this.motionX, this.motionY, this.motionZ); - } - - f4 = 0.8F; - } - - this.motionX *= (double)f4; - this.motionY *= (double)f4; - this.motionZ *= (double)f4; - this.motionY -= (double)f1; - this.setPosition(this.posX, this.posY, this.posZ); - this.doBlockCollisions(); - } - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) - { - par1NBTTagCompound.setShort("xTile", (short)this.xTile); - par1NBTTagCompound.setShort("yTile", (short)this.yTile); - par1NBTTagCompound.setShort("zTile", (short)this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)this.inTile); - par1NBTTagCompound.setByte("inData", (byte)this.inData); - par1NBTTagCompound.setByte("shake", (byte)this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte)(this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte)this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) - { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - - if (par1NBTTagCompound.hasKey("damage")) - { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if (par1NBTTagCompound.hasKey("pickup")) - { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } - else if (par1NBTTagCompound.hasKey("player")) - { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; - } - } - - /** - * Called by a player entity when they collide with an entity - */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) - { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) - { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - - if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) - { - flag = false; - } - - if (flag) - { - this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to - * prevent them from trampling crops - */ - protected boolean canTriggerWalking() - { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() - { - return 0.0F; - } - - public void setDamage(double par1) - { - this.damage = par1; - } - - public double getDamage() - { - return this.damage; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int par1) - { - this.knockbackStrength = par1; - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - public boolean canAttackWithItem() - { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public void setIsCritical(boolean par1) - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1))); - } - else - { - this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2))); - } - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public boolean getIsCritical() - { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } +public class EntityArrowExplosive extends CustomArrow implements IProjectile, IThrowableEntity { + private int xTile = -1; + private int yTile = -1; + private int zTile = -1; + private int inTile = 0; + private int inData = 0; + private boolean inGround = false; + + /** 1 if the player can pick up the arrow */ + public int canBePickedUp = 0; + + /** Seems to be some sort of timer for animating an arrow. */ + public int arrowShake = 0; + + /** The owner of this arrow. */ + public Entity shootingEntity; + private int ticksInGround; + private int ticksInAir = 0; + private double damage = 2.0D; + + /** The amount of knockback an arrow applies when it hits a mob. */ + private int knockbackStrength; + + public EntityArrowExplosive(World par1World) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + } + + public EntityArrowExplosive(World par1World, double par2, double par4, double par6) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.setPosition(par2, par4, par6); + this.yOffset = 0.0F; + } + + public EntityArrowExplosive(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.posY = par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + double d0 = par3EntityLiving.posX - par2EntityLiving.posX; + double d1 = par3EntityLiving.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; + double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; + double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); + + if(d3 >= 1.0E-7D) { + float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); + this.yOffset = 0.0F; + float f4 = (float) d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); + } + } + + public EntityArrowExplosive(World par1World, EntityLivingBase par2EntityLiving, float par3) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if(par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.setSize(0.5F, 0.5F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.posY -= 0.10000000149011612D; + this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.setPosition(this.posX, this.posY, this.posZ); + this.yOffset = 0.0F; + this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); + this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); + } + + protected void entityInit() { + this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); + } + + /** + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + */ + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double) f2; + par3 /= (double) f2; + par5 /= (double) f2; + par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par1 *= (double) par7; + par3 *= (double) par7; + par5 *= (double) par7; + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + /** + * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, + * posY, posZ, yaw, pitch + */ + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { + this.setPosition(par1, par3, par5); + this.setRotation(par7, par8); + } + + @SideOnly(Side.CLIENT) + /** + * Sets the velocity to the args. Args: x, y, z + */ + public void setVelocity(double par1, double par3, double par5) { + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + + if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch; + this.prevRotationYaw = this.rotationYaw; + this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); + this.ticksInGround = 0; + } + } + + /** + * Called to update the entity's position/logic. + */ + public void onUpdate() { + super.onUpdate(); + + if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); + } + + int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + + if(i > 0) { + Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + + if(axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { + this.worldObj.newExplosion(this, this.posX, this.posY, this.posZ, 2.0F, this.isBurning(), true); + this.inGround = true; + } + } + + if(this.arrowShake > 0) { + --this.arrowShake; + } + + if(this.inGround) { + int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + + if(j == this.inTile && k == this.inData) { + ++this.ticksInGround; + + if(this.ticksInGround == 1200) { + this.setDead(); + } + } else { + this.inGround = false; + this.motionX *= (double) (this.rand.nextFloat() * 0.2F); + this.motionY *= (double) (this.rand.nextFloat() * 0.2F); + this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } + } else { + ++this.ticksInAir; + Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); + Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); + vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); + vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if(movingobjectposition != null) { + vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + int l; + float f1; + + for(l = 0; l < list.size(); ++l) { + Entity entity1 = (Entity) list.get(l); + + if(entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { + f1 = 0.3F; + AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); + MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); + + if(movingobjectposition1 != null) { + double d1 = vec3.distanceTo(movingobjectposition1.hitVec); + + if(d1 < d0 || d0 == 0.0D) { + entity = entity1; + d0 = d1; + } + } + } + } + + if(entity != null) { + movingobjectposition = new MovingObjectPosition(entity); + } + + if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; + + if(entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { + movingobjectposition = null; + } + } + + float f2; + float f3; + + if(movingobjectposition != null) { + if(movingobjectposition.entityHit != null) { + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); + + if(this.getIsCritical()) { + i1 += this.rand.nextInt(i1 / 2 + 2); + } + + DamageSource damagesource = null; + + if(this.shootingEntity == null) { + damagesource = DamageSource.causeThrownDamage(this, this); + } else { + damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); + } + + if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + movingobjectposition.entityHit.setFire(5); + } + + this.worldObj.createExplosion(this, entity.posX, entity.posY, entity.posZ, 2.0F, true); + + this.setDead(); + + if(movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if(movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; + + if(!this.worldObj.isRemote) { + entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); + } + + if(this.knockbackStrength > 0) { + f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + + if(f3 > 0.0F) { + movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); + } + } + + if(this.shootingEntity != null) { + EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); + } + + if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + } + } + + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + + } else { + this.motionX *= -0.10000000149011612D; + this.motionY *= -0.10000000149011612D; + this.motionZ *= -0.10000000149011612D; + this.rotationYaw += 180.0F; + this.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } else { + this.xTile = movingobjectposition.blockX; + this.yTile = movingobjectposition.blockY; + this.zTile = movingobjectposition.blockZ; + this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); + this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); + this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; + this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; + this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + this.worldObj.createExplosion(this, movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord, 2.0F, true); + this.inGround = true; + this.arrowShake = 7; + this.setDead(); + this.setIsCritical(false); + + if(this.inTile != 0) { + Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + } + } + } + + if(this.getIsCritical() && worldObj.isRemote) { + for(l = 0; l < 4; ++l) { + this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); + } + } + + if(Math.random() > 0.0) { + worldObj.spawnParticle("smoke", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX / 10F, (-this.motionY + 0.2D) / 10F, -this.motionZ / 10F); + } + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for(this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + ; + } + + while(this.rotationPitch - this.prevRotationPitch >= 180.0F) { + this.prevRotationPitch += 360.0F; + } + + while(this.rotationYaw - this.prevRotationYaw < -180.0F) { + this.prevRotationYaw -= 360.0F; + } + + while(this.rotationYaw - this.prevRotationYaw >= 180.0F) { + this.prevRotationYaw += 360.0F; + } + + this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; + this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; + float f4 = 0.99F; + f1 = 0.15F; + + if(this.isInWater()) { + for(int j1 = 0; j1 < 4; ++j1) { + f3 = 0.25F; + this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); + } + + f4 = 0.8F; + } + + this.motionX *= (double) f4; + this.motionY *= (double) f4; + this.motionZ *= (double) f4; + this.motionY -= (double) f1; + this.setPosition(this.posX, this.posY, this.posZ); + this.doBlockCollisions(); + } + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short) this.xTile); + par1NBTTagCompound.setShort("yTile", (short) this.yTile); + par1NBTTagCompound.setShort("zTile", (short) this.zTile); + par1NBTTagCompound.setByte("inTile", (byte) this.inTile); + par1NBTTagCompound.setByte("inData", (byte) this.inData); + par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); + par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); + par1NBTTagCompound.setDouble("damage", this.damage); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inData = par1NBTTagCompound.getByte("inData") & 255; + this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + + if(par1NBTTagCompound.hasKey("damage")) { + this.damage = par1NBTTagCompound.getDouble("damage"); + } + + if(par1NBTTagCompound.hasKey("pickup")) { + this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); + } else if(par1NBTTagCompound.hasKey("player")) { + this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; + } + } + + /** + * Called by a player entity when they collide with an entity + */ + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if(!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; + + if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { + flag = false; + } + + if(flag) { + this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + par1EntityPlayer.onItemPickup(this, 1); + this.setDead(); + } + } + } + + /** + * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to prevent them from trampling crops + */ + protected boolean canTriggerWalking() { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() { + return 0.0F; + } + + public void setDamage(double par1) { + this.damage = par1; + } + + public double getDamage() { + return this.damage; + } + + /** + * Sets the amount of knockback the arrow applies when it hits a mob. + */ + public void setKnockbackStrength(int par1) { + this.knockbackStrength = par1; + } + + /** + * If returns false, the item will not inflict any damage against entities. + */ + public boolean canAttackWithItem() { + return false; + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public void setIsCritical(boolean par1) { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + + if(par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind it. + */ + public boolean getIsCritical() { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } @Override - public Entity getThrower() - { + public Entity getThrower() { return shootingEntity; } @Override - public void setThrower(Entity entity) - { - shootingEntity = entity; + public void setThrower(Entity entity) { + shootingEntity = entity; + } + + @Override + public String getTexture() { + return "atum:textures/projectiles/arrows_exploding.png"; } - - @Override - public String getTexture() - { - return "/mods/Atum/textures/projectiles/arrows_exploding.png"; - } } diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java index 716683b..0d70797 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java +++ b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java @@ -526,6 +526,6 @@ public void setThrower(Entity entity) { @Override public String getTexture() { - return "/mods/Atum/textures/projectiles/arrows_fire.png"; + return "atum:textures/projectiles/arrows_fire.png"; } } diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java index b40c0a0..52d4031 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java +++ b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java @@ -527,6 +527,6 @@ public void setThrower(Entity entity) { @Override public String getTexture() { - return "/mods/Atum/textures/projectiles/arrows_poison.png"; + return "atum:textures/projectiles/arrows_poison.png"; } } diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java index 720c437..e651fcf 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java +++ b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java @@ -523,6 +523,6 @@ public void setThrower(Entity entity) { @Override public String getTexture() { - return "/mods/Atum/textures/projectiles/arrows_quickdraw.png"; + return "atum:textures/projectiles/arrows_quickdraw.png"; } } diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java index 973e9e1..a52b786 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java +++ b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java @@ -523,6 +523,6 @@ public void setThrower(Entity entity) { @Override public String getTexture() { - return "/mods/Atum/textures/projectiles/arrows_velocity.png"; + return "atum:textures/projectiles/arrows_velocity.png"; } } diff --git a/src/com/teammetallurgy/atum/items/Items.java b/src/com/teammetallurgy/atum/items/Items.java index 1768478..386402e 100644 --- a/src/com/teammetallurgy/atum/items/Items.java +++ b/src/com/teammetallurgy/atum/items/Items.java @@ -54,75 +54,75 @@ public enum Items { INSTANCE; - public static final Item ITEM_SCARAB = new ItemScarab(AtumIDS.ITEM_SCARAB_ID).setUnlocalizedName("atum:scarab").setCreativeTab(Atum.creativeTab); - public static final Item ITEM_LOOT = new ItemLoot(AtumIDS.ITEM_LOOT_ID).setUnlocalizedName("atum:loot").setCreativeTab(Atum.creativeTab); - public static final Item ITEM_DATE = new ItemFood(AtumIDS.ITEM_DATE_ID, 5, 1.5F, false).setTextureName("atum:date").setUnlocalizedName("atum:date").setCreativeTab(Atum.creativeTab); - public static final Item ITEM_SCIMITAR = new ItemScimitar(AtumIDS.ITEM_SCIMITAR_ID, EnumToolMaterial.IRON).setUnlocalizedName("atum:scimitar").setCreativeTab(Atum.creativeTab); - public static final Item ITEM_GREATSWORD = new ItemGreatsword(AtumIDS.ITEM_GREATSWORD_ID, EnumToolMaterial.IRON).setUnlocalizedName("atum:greatsword").setTextureName("atum:Greatsword").setCreativeTab(Atum.creativeTab); - public static final Item ITEM_BOW = new ItemAtumBow(AtumIDS.ITEM_BOW_ID).setUnlocalizedName("atum:bow").setCreativeTab(Atum.creativeTab); - public static final Item ITEM_STONESOLDIER_SWORD = new ItemStoneSoldierSword(AtumIDS.ITEM_STONESOLDIERSWORD_ID, EnumToolMaterial.IRON).setUnlocalizedName("atum:stoneSoldierSword").setCreativeTab(Atum.creativeTab); - public static final Item ITEM_SCEPTER = new ItemScepter(AtumIDS.ITEM_SCEPTER_ID, EnumToolMaterial.GOLD).setUnlocalizedName("atum:scepter").setCreativeTab(Atum.creativeTab); - public static final Item ptahsPick = new ItemPtahsDecadence(AtumIDS.ITEM_PTAHSPICK_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:ptahsDecadence").setCreativeTab(Atum.creativeTab); - public static final Item sobeksRage = new ItemSobeksRage(AtumIDS.ITEM_SOBEKSRAGE_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:soteksRage").setCreativeTab(Atum.creativeTab); - public static final Item osirisWill = new ItemOsirisWill(AtumIDS.ITEM_OSIRISWILL_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:osirisWill").setCreativeTab(Atum.creativeTab); - public static final Item akersToil = new ItemAkersToil(AtumIDS.ITEM_AKERSTOIL_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:akersToil").setCreativeTab(Atum.creativeTab); - public static final Item gebsBlessing = new ItemGebsBlessing(AtumIDS.ITEM_GEBSBLESSING_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:gebsBlessing").setCreativeTab(Atum.creativeTab); - public static final Item atensFury = new ItemAtensFury(AtumIDS.ITEM_ATENSFURY_ID).setUnlocalizedName("atum:atensFury").setCreativeTab(Atum.creativeTab); - public static final Item rasGlory = new ItemRasGlory(AtumIDS.ITEM_RASGLORY_ID, EnumArmorMaterial.DIAMOND, 0, 0).setTextureFile("EgyptianArmor_1").setUnlocalizedName("atum:rasGlory").setCreativeTab(Atum.creativeTab); - public static final Item sekhmetsWrath = new ItemSekhmetsWrath(AtumIDS.ITEM_SEKHMETSWRATH_ID, 1, 1).setTextureFile("EgyptianArmor_1").setUnlocalizedName("atum:sekhmetsWrath").setCreativeTab(Atum.creativeTab); - public static final Item nutsAgility = new ItemNutsAgility(AtumIDS.ITEM_NUTSAGILITY_ID, EnumArmorMaterial.DIAMOND, 2, 2).setTextureFile("EgyptianArmor_2").setUnlocalizedName("atum:nutsAgility").setCreativeTab(Atum.creativeTab); - public static final Item horusFlight = new ItemHorusFlight(AtumIDS.ITEM_HORUSFLIGHT_ID, EnumArmorMaterial.DIAMOND, 3, 3).setTextureFile("EgyptianArmor_1").setUnlocalizedName("atum:horusFlight").setCreativeTab(Atum.creativeTab); - public static final Item monthusStrike = new ItemMonthusStrike(AtumIDS.ITEM_MONTHUSSTRIKE_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:monthusStrike").setCreativeTab(Atum.creativeTab); - public static final Item anhursMight = new ItemAnhursMight(AtumIDS.ITEM_ANHURSMIGHT_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:anhursMight").setCreativeTab(Atum.creativeTab); - public static final Item hedetetsSting = new ItemHedetetsSting(AtumIDS.ITEM_HEDETETSSTING_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:hedetetsSting").setCreativeTab(Atum.creativeTab); - public static final Item horusSoaring = new ItemHorusSoaring(AtumIDS.ITEM_HORUSFLIGHT_ID).setUnlocalizedName("atum:horusSoaring").setCreativeTab(Atum.creativeTab); - public static final Item shusBreath = new ItemShusBreath(AtumIDS.ITEM_SHUSBREATH_ID).setUnlocalizedName("atum:shusBreath").setCreativeTab(Atum.creativeTab); - public static final Item ptahsDestruction = new ItemPtahsDestruction(AtumIDS.ITEM_PTAHSDESTRUCTION_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:ptahsDestruction").setCreativeTab(Atum.creativeTab); - public static final Item monthusBlast = new ItemMonthusBlast(AtumIDS.ITEM_MONTHUSBLAST_ID).setUnlocalizedName("atum:monthusBlast").setCreativeTab(Atum.creativeTab); - public static final Item nusFlux = new ItemNusFlux(AtumIDS.ITEM_NUSFLUX_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:nusFlux").setCreativeTab(Atum.creativeTab); - public static final Item mnevisHorns = new ItemMnevisHorns(AtumIDS.ITEM_MNEVISHORNS_ID, EnumArmorMaterial.DIAMOND, 0, 0).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("atum:mnevisHorns").setCreativeTab(Atum.creativeTab); - public static final Item isisEmbrace = new IsisEmbrace(AtumIDS.ITEM_ISISEMBRACE_ID, EnumArmorMaterial.DIAMOND, 1, 1).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("atum:isisEmbrace").setCreativeTab(Atum.creativeTab); - public static final Item maatsBalance = new ItemMaatsBalance(AtumIDS.ITEM_MAATSBALANCE_ID, EnumArmorMaterial.DIAMOND, 2, 2).setTextureFile("RubyArtifactArmor_2").setUnlocalizedName("atum:maatsBalance").setCreativeTab(Atum.creativeTab); - public static final Item hedetetsVenom = new ItemHedetetsVenom(AtumIDS.ITEM_HEDETETSVENOM_ID).setUnlocalizedName("atum:hedetetsVenom").setCreativeTab(Atum.creativeTab); - public static final Item gebsSolidarity = new ItemGebsSolidarity(AtumIDS.ITEM_GEBSSOLIDARITY_ID, EnumArmorMaterial.DIAMOND, 3, 3).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("atum:gebsSolidarity").setCreativeTab(Atum.creativeTab); - public static final Item nutsCall = new ItemNutsCall(AtumIDS.ITEM_NUTSCALL_ID).setUnlocalizedName("atum:nutsCall").setCreativeTab(Atum.creativeTab); - public static final Item anuketsBounty = new ItemAnuketsBounty(AtumIDS.ITEM_ANUKETSBOUNTY_ID).setUnlocalizedName("atum:anuketsBounty").setCreativeTab(Atum.creativeTab); - public static final Item mafdetsQuickness = new ItemMafdetsQuickness(AtumIDS.ITEM_MAFDETSQUICKNESS_ID).setUnlocalizedName("atum:mafdetsQuickness").setCreativeTab(Atum.creativeTab); - public static final Item isisHealing = new ItemIsisHealing(AtumIDS.ITEM_ISISHEALING_ID).setUnlocalizedName("atum:isisHealing").setCreativeTab(Atum.creativeTab); - public static final Item amunetsHomecoming = new ItemAmunetsHomecoming(AtumIDS.ITEM_AMUNETSHOMECOMING_ID).setUnlocalizedName("atum:amunetsHomecoming").setCreativeTab(Atum.creativeTab); - public static final Item anubisMercy = new ItemAnubisMercy(AtumIDS.ITEM_ANUBISMERCY_ID).setUnlocalizedName("atum:anubisMercy").setCreativeTab(Atum.creativeTab); - public static final Item limestoneShovel = new LimestoneShovel(AtumIDS.ITEM_LIMESTONESHOVEL_ID, EnumToolMaterial.STONE).setUnlocalizedName("atum:limestoneShovel").setCreativeTab(Atum.creativeTab); - public static final Item limestonePickaxe = new LimestonePickaxe(AtumIDS.ITEM_LIMESTONEPICKAXE_ID, EnumToolMaterial.STONE).setUnlocalizedName("atum:limestonePickaxe").setCreativeTab(Atum.creativeTab); - public static final Item limestoneAxe = new LimestoneAxe(AtumIDS.ITEM_LIMESTONEAXE_ID, EnumToolMaterial.STONE).setUnlocalizedName("atum:limestoneAxe").setCreativeTab(Atum.creativeTab); - public static final Item limestoneSword = new LimestoneSword(AtumIDS.ITEM_LIMESTONESWORD_ID, EnumToolMaterial.STONE).setUnlocalizedName("atum:limestoneSword").setCreativeTab(Atum.creativeTab); - public static final Item limestoneHoe = new LimestoneHoe(AtumIDS.ITEM_LIMESTONEHOE_ID, EnumToolMaterial.STONE).setUnlocalizedName("atum:limestoneHoe").setCreativeTab(Atum.creativeTab); + public static final Item ITEM_SCARAB = new ItemScarab(AtumIDS.ITEM_SCARAB_ID).setUnlocalizedName("atum:scarab"); + public static final Item ITEM_LOOT = new ItemLoot(AtumIDS.ITEM_LOOT_ID).setUnlocalizedName("atum:loot"); + public static final Item ITEM_DATE = new ItemFood(AtumIDS.ITEM_DATE_ID, 5, 1.5F, false).setTextureName("atum:date").setUnlocalizedName("atum:date"); + public static final Item ITEM_SCIMITAR = new ItemScimitar(AtumIDS.ITEM_SCIMITAR_ID, EnumToolMaterial.IRON).setUnlocalizedName("atum:scimitar"); + public static final Item ITEM_GREATSWORD = new ItemGreatsword(AtumIDS.ITEM_GREATSWORD_ID, EnumToolMaterial.IRON).setUnlocalizedName("atum:greatsword").setTextureName("atum:Greatsword"); + public static final Item ITEM_BOW = new ItemAtumBow(AtumIDS.ITEM_BOW_ID).setUnlocalizedName("atum:bow"); + public static final Item ITEM_STONESOLDIER_SWORD = new ItemStoneSoldierSword(AtumIDS.ITEM_STONESOLDIERSWORD_ID, EnumToolMaterial.IRON).setUnlocalizedName("atum:stoneSoldierSword"); + public static final Item ITEM_SCEPTER = new ItemScepter(AtumIDS.ITEM_SCEPTER_ID, EnumToolMaterial.GOLD).setUnlocalizedName("atum:scepter"); + public static final Item ptahsPick = new ItemPtahsDecadence(AtumIDS.ITEM_PTAHSPICK_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:ptahsDecadence"); + public static final Item sobeksRage = new ItemSobeksRage(AtumIDS.ITEM_SOBEKSRAGE_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:soteksRage"); + public static final Item osirisWill = new ItemOsirisWill(AtumIDS.ITEM_OSIRISWILL_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:osirisWill"); + public static final Item akersToil = new ItemAkersToil(AtumIDS.ITEM_AKERSTOIL_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:akersToil"); + public static final Item gebsBlessing = new ItemGebsBlessing(AtumIDS.ITEM_GEBSBLESSING_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:gebsBlessing"); + public static final Item atensFury = new ItemAtensFury(AtumIDS.ITEM_ATENSFURY_ID).setUnlocalizedName("atum:atensFury"); + public static final Item rasGlory = new ItemRasGlory(AtumIDS.ITEM_RASGLORY_ID, EnumArmorMaterial.DIAMOND, 0, 0).setTextureFile("EgyptianArmor_1").setUnlocalizedName("atum:rasGlory"); + public static final Item sekhmetsWrath = new ItemSekhmetsWrath(AtumIDS.ITEM_SEKHMETSWRATH_ID, 1, 1).setTextureFile("EgyptianArmor_1").setUnlocalizedName("atum:sekhmetsWrath"); + public static final Item nutsAgility = new ItemNutsAgility(AtumIDS.ITEM_NUTSAGILITY_ID, EnumArmorMaterial.DIAMOND, 2, 2).setTextureFile("EgyptianArmor_2").setUnlocalizedName("atum:nutsAgility"); + public static final Item horusFlight = new ItemHorusFlight(AtumIDS.ITEM_HORUSFLIGHT_ID, EnumArmorMaterial.DIAMOND, 3, 3).setTextureFile("EgyptianArmor_1").setUnlocalizedName("atum:horusFlight"); + public static final Item monthusStrike = new ItemMonthusStrike(AtumIDS.ITEM_MONTHUSSTRIKE_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:monthusStrike"); + public static final Item anhursMight = new ItemAnhursMight(AtumIDS.ITEM_ANHURSMIGHT_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:anhursMight"); + public static final Item hedetetsSting = new ItemHedetetsSting(AtumIDS.ITEM_HEDETETSSTING_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:hedetetsSting"); + public static final Item horusSoaring = new ItemHorusSoaring(AtumIDS.ITEM_HORUSFLIGHT_ID).setUnlocalizedName("atum:horusSoaring"); + public static final Item shusBreath = new ItemShusBreath(AtumIDS.ITEM_SHUSBREATH_ID).setUnlocalizedName("atum:shusBreath"); + public static final Item ptahsDestruction = new ItemPtahsDestruction(AtumIDS.ITEM_PTAHSDESTRUCTION_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:ptahsDestruction"); + public static final Item monthusBlast = new ItemMonthusBlast(AtumIDS.ITEM_MONTHUSBLAST_ID).setUnlocalizedName("atum:monthusBlast"); + public static final Item nusFlux = new ItemNusFlux(AtumIDS.ITEM_NUSFLUX_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:nusFlux"); + public static final Item mnevisHorns = new ItemMnevisHorns(AtumIDS.ITEM_MNEVISHORNS_ID, EnumArmorMaterial.DIAMOND, 0, 0).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("atum:mnevisHorns"); + public static final Item isisEmbrace = new IsisEmbrace(AtumIDS.ITEM_ISISEMBRACE_ID, EnumArmorMaterial.DIAMOND, 1, 1).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("atum:isisEmbrace"); + public static final Item maatsBalance = new ItemMaatsBalance(AtumIDS.ITEM_MAATSBALANCE_ID, EnumArmorMaterial.DIAMOND, 2, 2).setTextureFile("RubyArtifactArmor_2").setUnlocalizedName("atum:maatsBalance"); + public static final Item hedetetsVenom = new ItemHedetetsVenom(AtumIDS.ITEM_HEDETETSVENOM_ID).setUnlocalizedName("atum:hedetetsVenom"); + public static final Item gebsSolidarity = new ItemGebsSolidarity(AtumIDS.ITEM_GEBSSOLIDARITY_ID, EnumArmorMaterial.DIAMOND, 3, 3).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("atum:gebsSolidarity"); + public static final Item nutsCall = new ItemNutsCall(AtumIDS.ITEM_NUTSCALL_ID).setUnlocalizedName("atum:nutsCall"); + public static final Item anuketsBounty = new ItemAnuketsBounty(AtumIDS.ITEM_ANUKETSBOUNTY_ID).setUnlocalizedName("atum:anuketsBounty"); + public static final Item mafdetsQuickness = new ItemMafdetsQuickness(AtumIDS.ITEM_MAFDETSQUICKNESS_ID).setUnlocalizedName("atum:mafdetsQuickness"); + public static final Item isisHealing = new ItemIsisHealing(AtumIDS.ITEM_ISISHEALING_ID).setUnlocalizedName("atum:isisHealing"); + public static final Item amunetsHomecoming = new ItemAmunetsHomecoming(AtumIDS.ITEM_AMUNETSHOMECOMING_ID).setUnlocalizedName("atum:amunetsHomecoming"); + public static final Item anubisMercy = new ItemAnubisMercy(AtumIDS.ITEM_ANUBISMERCY_ID).setUnlocalizedName("atum:anubisMercy"); + public static final Item limestoneShovel = new LimestoneShovel(AtumIDS.ITEM_LIMESTONESHOVEL_ID, EnumToolMaterial.STONE).setUnlocalizedName("atum:limestoneShovel"); + public static final Item limestonePickaxe = new LimestonePickaxe(AtumIDS.ITEM_LIMESTONEPICKAXE_ID, EnumToolMaterial.STONE).setUnlocalizedName("atum:limestonePickaxe"); + public static final Item limestoneAxe = new LimestoneAxe(AtumIDS.ITEM_LIMESTONEAXE_ID, EnumToolMaterial.STONE).setUnlocalizedName("atum:limestoneAxe"); + public static final Item limestoneSword = new LimestoneSword(AtumIDS.ITEM_LIMESTONESWORD_ID, EnumToolMaterial.STONE).setUnlocalizedName("atum:limestoneSword"); + public static final Item limestoneHoe = new LimestoneHoe(AtumIDS.ITEM_LIMESTONEHOE_ID, EnumToolMaterial.STONE).setUnlocalizedName("atum:limestoneHoe"); private static EnumArmorMaterial mummyEnum = EnumHelper.addArmorMaterial("Mummy", 5, new int[]{1, 3, 2, 1}, 15); - public static final Item mummyHelmet = new ItemTexturedArmor(AtumIDS.ITEM_MUMMYHELMET_ID, mummyEnum, 0, 0).setRepairItem(AtumIDS.ITEM_SCRAP_ID).setTextureFile("MummyArmor_1").setUnlocalizedName("atum:mummyHelmet").setTextureName("atum:MummyHelmet").setCreativeTab(Atum.creativeTab); - public static final Item mummyChest = new ItemTexturedArmor(AtumIDS.ITEM_MUMMYCHEST_ID, mummyEnum, 0, 1).setRepairItem(AtumIDS.ITEM_SCRAP_ID).setTextureFile("MummyArmor_1").setUnlocalizedName("atum:mummyChest").setTextureName("atum:MummyChest").setCreativeTab(Atum.creativeTab); - public static final Item mummyLegs = new ItemTexturedArmor(AtumIDS.ITEM_MUMMYLEGS_ID, mummyEnum, 0, 2).setRepairItem(AtumIDS.ITEM_SCRAP_ID).setTextureFile("MummyArmor_2").setUnlocalizedName("atum:mummyLegs").setTextureName("atum:MummyLegs").setCreativeTab(Atum.creativeTab); - public static final Item mummyBoots = new ItemTexturedArmor(AtumIDS.ITEM_MUMMYBOOTS_ID, mummyEnum, 0, 3).setRepairItem(AtumIDS.ITEM_SCRAP_ID).setTextureFile("MummyArmor_1").setUnlocalizedName("atum:mummyBoots").setTextureName("atum:MummyBoots").setCreativeTab(Atum.creativeTab); + public static final Item mummyHelmet = new ItemTexturedArmor(AtumIDS.ITEM_MUMMYHELMET_ID, mummyEnum, 0, 0).setRepairItem(AtumIDS.ITEM_SCRAP_ID).setTextureFile("MummyArmor_1").setUnlocalizedName("atum:mummyHelmet").setTextureName("atum:MummyHelmet"); + public static final Item mummyChest = new ItemTexturedArmor(AtumIDS.ITEM_MUMMYCHEST_ID, mummyEnum, 0, 1).setRepairItem(AtumIDS.ITEM_SCRAP_ID).setTextureFile("MummyArmor_1").setUnlocalizedName("atum:mummyChest").setTextureName("atum:MummyChest"); + public static final Item mummyLegs = new ItemTexturedArmor(AtumIDS.ITEM_MUMMYLEGS_ID, mummyEnum, 0, 2).setRepairItem(AtumIDS.ITEM_SCRAP_ID).setTextureFile("MummyArmor_2").setUnlocalizedName("atum:mummyLegs").setTextureName("atum:MummyLegs"); + public static final Item mummyBoots = new ItemTexturedArmor(AtumIDS.ITEM_MUMMYBOOTS_ID, mummyEnum, 0, 3).setRepairItem(AtumIDS.ITEM_SCRAP_ID).setTextureFile("MummyArmor_1").setUnlocalizedName("atum:mummyBoots").setTextureName("atum:MummyBoots"); private static EnumArmorMaterial wandererEnum = EnumHelper.addArmorMaterial("Wanderer", 10, new int[]{2, 3, 3, 2}, 15); - public static final Item wandererHelmet = new ItemTexturedArmor(AtumIDS.ITEM_WANDERERHELMET_ID, wandererEnum, 0, 0).setRepairItem(AtumIDS.ITEM_LINEN_ID).setTextureFile("WandererArmor_1").setUnlocalizedName("atum:wandererHelmet").setTextureName("atum:WandererHelmet").setCreativeTab(Atum.creativeTab); - public static final Item wandererChest = new ItemTexturedArmor(AtumIDS.ITEM_WANDERERCHEST_ID, wandererEnum, 0, 1).setRepairItem(AtumIDS.ITEM_LINEN_ID).setTextureFile("WandererArmor_1").setUnlocalizedName("atum:wandererChest").setTextureName("atum:WandererChest").setCreativeTab(Atum.creativeTab); - public static final Item wandererLegs = new ItemTexturedArmor(AtumIDS.ITEM_WANDERERLEGS_ID, wandererEnum, 0, 2).setRepairItem(AtumIDS.ITEM_LINEN_ID).setTextureFile("WandererArmor_2").setUnlocalizedName("atum:wandererLegs").setTextureName("atum:WandererLegs").setCreativeTab(Atum.creativeTab); - public static final Item wandererBoots = new ItemTexturedArmor(AtumIDS.ITEM_WANDERERBOOTS_ID, wandererEnum, 0, 3).setRepairItem(AtumIDS.ITEM_LINEN_ID).setTextureFile("WandererArmor_1").setUnlocalizedName("atum:wandererBoots").setTextureName("atum:WandererBoots").setCreativeTab(Atum.creativeTab); + public static final Item wandererHelmet = new ItemTexturedArmor(AtumIDS.ITEM_WANDERERHELMET_ID, wandererEnum, 0, 0).setRepairItem(AtumIDS.ITEM_LINEN_ID).setTextureFile("WandererArmor_1").setUnlocalizedName("atum:wandererHelmet").setTextureName("atum:WandererHelmet"); + public static final Item wandererChest = new ItemTexturedArmor(AtumIDS.ITEM_WANDERERCHEST_ID, wandererEnum, 0, 1).setRepairItem(AtumIDS.ITEM_LINEN_ID).setTextureFile("WandererArmor_1").setUnlocalizedName("atum:wandererChest").setTextureName("atum:WandererChest"); + public static final Item wandererLegs = new ItemTexturedArmor(AtumIDS.ITEM_WANDERERLEGS_ID, wandererEnum, 0, 2).setRepairItem(AtumIDS.ITEM_LINEN_ID).setTextureFile("WandererArmor_2").setUnlocalizedName("atum:wandererLegs").setTextureName("atum:WandererLegs"); + public static final Item wandererBoots = new ItemTexturedArmor(AtumIDS.ITEM_WANDERERBOOTS_ID, wandererEnum, 0, 3).setRepairItem(AtumIDS.ITEM_LINEN_ID).setTextureFile("WandererArmor_1").setUnlocalizedName("atum:wandererBoots").setTextureName("atum:WandererBoots"); private static EnumArmorMaterial desertEnum = EnumHelper.addArmorMaterial("Desert", 20, new int[]{3, 6, 5, 3}, 15); - public static final Item desertHelmet = new ItemTexturedArmor(AtumIDS.ITEM_DESERTHELMET_ID, desertEnum, 0, 0).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("atum:desertHelmet").setTextureName("atum:DesertHelmet").setCreativeTab(Atum.creativeTab); - public static final Item desertChest = new ItemTexturedArmor(AtumIDS.ITEM_DESERTCHEST_ID, desertEnum, 0, 1).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("atum:desertChest").setTextureName("atum:DesertChest").setCreativeTab(Atum.creativeTab); - public static final Item desertLegs = new ItemTexturedArmor(AtumIDS.ITEM_DESERTLEGS_ID, desertEnum, 0, 2).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_2").setUnlocalizedName("atum:desertLegs").setTextureName("atum:DesertLegs").setCreativeTab(Atum.creativeTab); - public static final Item desertBoots = new ItemTexturedArmor(AtumIDS.ITEM_DESERTBOOTS_ID, desertEnum, 0, 3).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("atum:desertBoots").setTextureName("atum:DesertBoots").setCreativeTab(Atum.creativeTab); - public static final Item papyrusPlant = new ItemPapyrusPlant(AtumIDS.ITEM_PAPYRUSPLANT_ID, Blocks.BLOCK_PAPYRUS).setUnlocalizedName("atum:papyrusPlantItem").setCreativeTab(Atum.creativeTab); - public static final Item ectoplasm = new Item(AtumIDS.ITEM_ECTOPLASM_ID).setUnlocalizedName("atum:ectoplasm").setTextureName("atum:Ectoplasm").setCreativeTab(Atum.creativeTab); - public static final Item stoneChunk = new Item(AtumIDS.ITEM_STONECHUNK_ID).setUnlocalizedName("atum:stoneChunk").setTextureName("atum:StoneChunk").setCreativeTab(Atum.creativeTab); - public static final Item scrap = new Item(AtumIDS.ITEM_SCRAP_ID).setUnlocalizedName("atum:clothScrap").setTextureName("atum:ClothScrap").setCreativeTab(Atum.creativeTab); - public static final Item scroll = new Item(AtumIDS.ITEM_SCROLL_ID).setUnlocalizedName("atum:scroll").setTextureName("atum:Scroll").setCreativeTab(Atum.creativeTab); - public static final Item pelt = new Item(AtumIDS.ITEM_PELT_ID).setUnlocalizedName("atum:wolfPelt").setTextureName("atum:WolfPelt").setCreativeTab(Atum.creativeTab); - public static final Item linen = new Item(AtumIDS.ITEM_LINEN_ID).setUnlocalizedName("atum:linen").setTextureName("atum:Linen").setCreativeTab(Atum.creativeTab); - public static final Item flax = new Item(AtumIDS.ITEM_FLAX_ID).setUnlocalizedName("atum:flaxItem").setTextureName("atum:FlaxItem").setCreativeTab(Atum.creativeTab); - public static final Item flaxSeeds = new ItemSeeds(AtumIDS.ITEM_FLAXSEEDS_ID, Blocks.BLOCK_FLAX.blockID, Block.tilledField.blockID).setUnlocalizedName("atum:flaxSeeds").setTextureName("atum:FlaxSeeds").setCreativeTab(Atum.creativeTab); - public static final Item fish = new ItemFish(AtumIDS.ITEM_FISH_ID).setUnlocalizedName("atum:fish").setCreativeTab(Atum.creativeTab); - public static final Item neithsAudacity = new ItemNeithsAudacity(AtumIDS.ITEM_NEITHSAUDACITY_ID).setUnlocalizedName("atum:neithsAudacity").setCreativeTab(Atum.creativeTab); - public static final Item spear = new ItemSpear(AtumIDS.ITEM_SPEAR_ID).setUnlocalizedName("atum:spear").setCreativeTab(Atum.creativeTab); + public static final Item desertHelmet = new ItemTexturedArmor(AtumIDS.ITEM_DESERTHELMET_ID, desertEnum, 0, 0).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("atum:desertHelmet").setTextureName("atum:DesertHelmet"); + public static final Item desertChest = new ItemTexturedArmor(AtumIDS.ITEM_DESERTCHEST_ID, desertEnum, 0, 1).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("atum:desertChest").setTextureName("atum:DesertChest"); + public static final Item desertLegs = new ItemTexturedArmor(AtumIDS.ITEM_DESERTLEGS_ID, desertEnum, 0, 2).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_2").setUnlocalizedName("atum:desertLegs").setTextureName("atum:DesertLegs"); + public static final Item desertBoots = new ItemTexturedArmor(AtumIDS.ITEM_DESERTBOOTS_ID, desertEnum, 0, 3).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("atum:desertBoots").setTextureName("atum:DesertBoots"); + public static final Item papyrusPlant = new ItemPapyrusPlant(AtumIDS.ITEM_PAPYRUSPLANT_ID, Blocks.BLOCK_PAPYRUS).setUnlocalizedName("atum:papyrusPlantItem"); + public static final Item ectoplasm = new Item(AtumIDS.ITEM_ECTOPLASM_ID).setUnlocalizedName("atum:ectoplasm").setTextureName("atum:Ectoplasm"); + public static final Item stoneChunk = new Item(AtumIDS.ITEM_STONECHUNK_ID).setUnlocalizedName("atum:stoneChunk").setTextureName("atum:StoneChunk"); + public static final Item scrap = new Item(AtumIDS.ITEM_SCRAP_ID).setUnlocalizedName("atum:clothScrap").setTextureName("atum:ClothScrap"); + public static final Item scroll = new Item(AtumIDS.ITEM_SCROLL_ID).setUnlocalizedName("atum:scroll").setTextureName("atum:Scroll"); + public static final Item pelt = new Item(AtumIDS.ITEM_PELT_ID).setUnlocalizedName("atum:wolfPelt").setTextureName("atum:WolfPelt"); + public static final Item linen = new Item(AtumIDS.ITEM_LINEN_ID).setUnlocalizedName("atum:linen").setTextureName("atum:Linen"); + public static final Item flax = new Item(AtumIDS.ITEM_FLAX_ID).setUnlocalizedName("atum:flaxItem").setTextureName("atum:FlaxItem"); + public static final Item flaxSeeds = new ItemSeeds(AtumIDS.ITEM_FLAXSEEDS_ID, Blocks.BLOCK_FLAX.blockID, Block.tilledField.blockID).setUnlocalizedName("atum:flaxSeeds").setTextureName("atum:FlaxSeeds"); + public static final Item fish = new ItemFish(AtumIDS.ITEM_FISH_ID).setUnlocalizedName("atum:fish"); + public static final Item neithsAudacity = new ItemNeithsAudacity(AtumIDS.ITEM_NEITHSAUDACITY_ID).setUnlocalizedName("atum:neithsAudacity"); + public static final Item spear = new ItemSpear(AtumIDS.ITEM_SPEAR_ID).setUnlocalizedName("atum:spear"); public void registerItems() { this.register(ITEM_SCARAB); @@ -195,10 +195,10 @@ public void registerItems() { this.addLanguages(); } - private void register(Item item) { GameRegistry.registerItem(item, item.getUnlocalizedName()); this.name(item, item.getUnlocalizedName().split(":")[1]); + item.setCreativeTab(Atum.creativeTab); } private void name(Item item, String tag) { diff --git a/src/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java b/src/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java index 3e00a5d..2a40b6d 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java +++ b/src/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java @@ -8,18 +8,18 @@ import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; -import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import org.lwjgl.input.Keyboard; +import com.teammetallurgy.atum.items.ItemTexturedArmor; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class IsisEmbrace extends ItemArmor { +public class IsisEmbrace extends ItemTexturedArmor { - public String texture; public IsisEmbrace(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); @@ -48,16 +48,6 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } - public Item setTextureFile(String string) { - this.texture = string; - return this; - } - - @Override - public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { - return "/armor/" + this.texture + ".png"; - } - @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.itemID == Item.diamond.itemID; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java b/src/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java index cd94274..ed6c995 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java @@ -11,7 +11,6 @@ import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; -import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; import net.minecraft.util.EnumChatFormatting; @@ -22,12 +21,13 @@ import org.lwjgl.input.Keyboard; +import com.teammetallurgy.atum.items.ItemTexturedArmor; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class ItemGebsSolidarity extends ItemArmor { +public class ItemGebsSolidarity extends ItemTexturedArmor { - String texture; public ItemGebsSolidarity(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); @@ -98,15 +98,6 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } - public Item setTextureFile(String string) { - this.texture = string; - return this; - } - - public String getArmorTextureFile(ItemStack itemstack) { - return "/armor/" + this.texture + ".png"; - } - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.itemID == Item.diamond.itemID; } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java b/src/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java index b10da57..b8ef4bc 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java @@ -3,6 +3,7 @@ import java.util.List; import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; @@ -16,14 +17,13 @@ import org.lwjgl.input.Keyboard; +import com.teammetallurgy.atum.items.ItemTexturedArmor; import com.teammetallurgy.atum.items.Items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class ItemHorusFlight extends ItemArmor { - - String texture; +public class ItemHorusFlight extends ItemTexturedArmor { public ItemHorusFlight(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); @@ -71,15 +71,6 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } - public Item setTextureFile(String string) { - this.texture = string; - return this; - } - - public String getArmorTextureFile(ItemStack itemstack) { - return "/armor/" + this.texture + ".png"; - } - @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.itemID == Item.diamond.itemID; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java b/src/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java index 13d888e..6c0d7fb 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java @@ -9,23 +9,21 @@ import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; -import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.util.EntityDamageSource; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingHurtEvent; import org.lwjgl.input.Keyboard; +import com.teammetallurgy.atum.items.ItemTexturedArmor; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class ItemMaatsBalance extends ItemArmor { - - public String texture; +public class ItemMaatsBalance extends ItemTexturedArmor { public ItemMaatsBalance(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); @@ -73,15 +71,6 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } - public Item setTextureFile(String string) { - this.texture = string; - return this; - } - - public String getArmorTexture(ItemStack stack, Entity entity, int slot, int layer) { - return "/armor/" + this.texture + ".png"; - } - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.itemID == Item.diamond.itemID; } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java b/src/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java index 205bc3d..43d109a 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java @@ -7,23 +7,22 @@ import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; -import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; import net.minecraft.util.EntityDamageSource; import net.minecraft.util.EnumChatFormatting; -import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingAttackEvent; import org.lwjgl.input.Keyboard; +import com.teammetallurgy.atum.items.ItemTexturedArmor; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class ItemMnevisHorns extends ItemArmor { +public class ItemMnevisHorns extends ItemTexturedArmor { - public String texture; public ItemMnevisHorns(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); @@ -61,15 +60,6 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } - public Item setTextureFile(String string) { - this.texture = string; - return this; - } - - public String getArmorTextureFile(ItemStack itemstack) { - return "/armor/" + this.texture + ".png"; - } - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.itemID == Item.diamond.itemID; } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java b/src/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java index 4109854..aeb9a77 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java @@ -7,19 +7,19 @@ import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; -import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import org.lwjgl.input.Keyboard; +import com.teammetallurgy.atum.items.ItemTexturedArmor; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class ItemNutsAgility extends ItemArmor { +public class ItemNutsAgility extends ItemTexturedArmor { - String texture; public ItemNutsAgility(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); @@ -54,15 +54,6 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } - public Item setTextureFile(String string) { - this.texture = string; - return this; - } - - public String getArmorTextureFile(ItemStack itemstack) { - return "/armor/" + this.texture + ".png"; - } - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.itemID == Item.diamond.itemID; } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java b/src/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java index 78da0a2..49c41fc 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java @@ -7,18 +7,17 @@ import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; -import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import org.lwjgl.input.Keyboard; +import com.teammetallurgy.atum.items.ItemTexturedArmor; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class ItemRasGlory extends ItemArmor { - - String texture; +public class ItemRasGlory extends ItemTexturedArmor { public ItemRasGlory(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); @@ -48,15 +47,6 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } - public Item setTextureFile(String string) { - this.texture = string; - return this; - } - - public String getArmorTextureFile(ItemStack itemstack) { - return "/armor/" + this.texture + ".png"; - } - @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.itemID == Item.diamond.itemID; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java b/src/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java index d42c427..878738b 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java @@ -7,23 +7,21 @@ import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; -import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.util.EntityDamageSource; import net.minecraft.util.EnumChatFormatting; -import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingAttackEvent; import net.minecraftforge.event.entity.living.LivingHurtEvent; import org.lwjgl.input.Keyboard; +import com.teammetallurgy.atum.items.ItemTexturedArmor; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class ItemSekhmetsWrath extends ItemArmor { - - String texture; +public class ItemSekhmetsWrath extends ItemTexturedArmor { public ItemSekhmetsWrath(int par1, int par3, int par4) { super(par1, EnumArmorMaterial.DIAMOND, par3, par4); @@ -74,15 +72,6 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } - public Item setTextureFile(String string) { - this.texture = string; - return this; - } - - public String getArmorTextureFile(ItemStack itemstack) { - return "/armor/" + this.texture + ".png"; - } - @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.itemID == Item.diamond.itemID; From 125edbf15b7689584fea4c8dd791e40d56634c17 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Sun, 9 Feb 2014 17:56:19 +1000 Subject: [PATCH 019/157] Started Updating to 1.7.2 --- .gitignore | 18 +- build.gradle | 42 ++ build.xml | 206 ---------- gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 50514 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 164 ++++++++ gradlew.bat | 90 +++++ resources/README.md | 4 - src/com/teammetallurgy/atum/AtumLoot.java | 122 ------ .../atum/blocks/BlockPalmSapling.java | 92 ----- .../teammetallurgy/atum/blocks/BlockSlab.java | 68 ---- .../atum/lib/handler/CraftingHandler.java | 87 ----- .../java}/com/teammetallurgy/atum/Atum.java | 22 +- .../com/teammetallurgy/atum/AtumConfig.java | 2 +- .../teammetallurgy/atum/AtumCreativeTab.java | 7 +- .../com/teammetallurgy/atum/AtumFish.java | 14 +- .../com/teammetallurgy/atum/AtumIDS.java | 0 .../com/teammetallurgy/atum/AtumLoot.java | 123 ++++++ .../atum/AtumWeightedLootSet.java | 4 +- .../atum/LocalizationHelper.java | 0 .../atum/blocks/AtumBlockSlab.java | 69 ++++ .../atum/blocks/AtumBlocks.java} | 14 +- .../teammetallurgy/atum/blocks/BlockAtum.java | 7 +- .../atum/blocks/BlockAtumGlass.java | 0 .../atum/blocks/BlockAtumOres.java | 0 .../atum/blocks/BlockAtumPane.java | 0 .../atum/blocks/BlockBurningTrap.java | 13 +- .../atum/blocks/BlockChestSpawner.java | 5 +- .../teammetallurgy/atum/blocks/BlockDate.java | 16 +- .../atum/blocks/BlockFertileSoil.java | 61 +-- .../atum/blocks/BlockFertileSoilTilled.java | 16 +- .../teammetallurgy/atum/blocks/BlockFlax.java | 22 +- .../atum/blocks/BlockLeave.java | 122 +++--- .../atum/blocks/BlockLimeStoneFurnace.java | 18 +- .../atum/blocks/BlockPalmLog.java | 49 +-- .../atum/blocks/BlockPalmSapling.java | 91 +++++ .../atum/blocks/BlockPapyrus.java | 24 +- .../atum/blocks/BlockPharaohChest.java | 15 +- .../atum/blocks/BlockPortal.java | 10 +- .../atum/blocks/BlockSandLayered.java | 14 +- .../atum/blocks/BlockSands.java | 1 - .../atum/blocks/BlockShrub.java | 20 +- .../atum/blocks/BlockStair.java | 0 .../atum/blocks/BlockStones.java | 3 +- .../atum/blocks/BlockWalls.java | 6 +- .../atum/blocks/ItemBlockSlab.java | 6 +- .../atum/blocks/ItemBlockWall.java | 6 +- .../tileentity/CursedChestBaseLogic.java | 108 +++--- .../tileentity/CursedChestSpawnerLogic.java | 12 +- .../tileentity/TileEntityBurningTrap.java | 0 .../tileentity/TileEntityChestSpawner.java | 28 +- .../tileentity/TileEntityPharaohChest.java | 12 +- .../client/model/entity/ModelDesertWolf.java | 0 .../model/entity/ModelDustySkeleton.java | 0 .../client/model/tileentity/ModelDate.java | 5 + .../client/render/entity/RenderBandit.java | 36 +- .../render/entity/RenderDesertWolf.java | 1 - .../client/render/entity/RenderFireSpear.java | 0 .../entity/RenderFireSpearSeperated.java | 1 - .../client/render/entity/RenderGhost.java | 95 ++--- .../client/render/entity/RenderPharaoh.java | 37 +- .../entity/arrow/RenderCustomArrow.java | 0 .../render/entity/arrow/RenderNutsCall.java | 0 .../client/render/item/RendererItemBow.java | 9 +- .../client/render/tileentity/RenderDate.java | 16 +- .../render/tileentity/RenderPapyrus.java | 13 +- .../teammetallurgy/atum/entity/Entity.java | 1 - .../atum/entity/EntityBanditArcher.java | 57 +-- .../atum/entity/EntityBanditWarlord.java | 59 ++- .../atum/entity/EntityBanditWarrior.java | 33 +- .../atum/entity/EntityBarbarian.java | 40 +- .../atum/entity/EntityBonestorm.java | 74 ++-- .../atum/entity/EntityDesertWolf.java | 103 ++--- .../atum/entity/EntityDustySkeleton.java | 0 .../atum/entity/EntityGhost.java | 4 +- .../atum/entity/EntityMummy.java | 4 +- .../atum/entity/EntityPharaoh.java | 8 +- .../atum/entity/EntityStone.java | 1 - .../atum/entity/EntityStoneSoldier.java | 35 +- .../atum/entity/IAtumDayMob.java | 0 .../atum/entity/IAtumNightMob.java | 0 .../atum/entity/arrow/CustomArrow.java | 0 .../entity/arrow/EntityArrowDoubleShot.java | 129 ++++--- .../entity/arrow/EntityArrowExplosive.java | 1 - .../atum/entity/arrow/EntityArrowFire.java | 3 +- .../atum/entity/arrow/EntityArrowPoison.java | 13 +- .../entity/arrow/EntityArrowQuickdraw.java | 1 - .../entity/arrow/EntityArrowVelocity.java | 1 - .../atum/entity/arrow/EntityAtumFishHook.java | 4 +- .../atum/entity/arrow/EntityNutsCall.java | 1 - .../projectiles/EntityFireSpearCombined.java | 1 - .../projectiles/EntityFireSpearSeperated.java | 1 - .../teammetallurgy/atum/items/AtumItems.java} | 15 +- .../atum/items/ItemAtumBow.java | 4 +- .../teammetallurgy/atum/items/ItemFish.java | 7 +- .../atum/items/ItemGreatsword.java | 1 - .../teammetallurgy/atum/items/ItemLoot.java | 9 +- .../atum/items/ItemPapyrusPlant.java | 7 +- .../teammetallurgy/atum/items/ItemScarab.java | 13 +- .../atum/items/ItemScepter.java | 2 - .../atum/items/ItemScimitar.java | 2 - .../atum/items/ItemStoneSoldierSword.java | 2 - .../atum/items/ItemTexturedArmor.java | 18 +- .../atum/items/LimestoneAxe.java | 6 +- .../atum/items/LimestoneHoe.java | 6 +- .../atum/items/LimestonePickaxe.java | 6 +- .../atum/items/LimestoneShovel.java | 8 +- .../atum/items/LimestoneSword.java | 6 +- .../atum/items/artifacts/IsisEmbrace.java | 14 +- .../atum/items/artifacts/ItemAkersToil.java | 2 - .../artifacts/ItemAmunetsHomecoming.java | 7 +- .../atum/items/artifacts/ItemAnhursMight.java | 2 - .../atum/items/artifacts/ItemAnubisMercy.java | 9 +- .../items/artifacts/ItemAnuketsBounty.java | 4 +- .../atum/items/artifacts/ItemAtensFury.java | 4 +- .../items/artifacts/ItemGebsBlessing.java | 2 - .../items/artifacts/ItemGebsSolidarity.java | 3 - .../items/artifacts/ItemHedetetsSting.java | 2 - .../items/artifacts/ItemHedetetsVenom.java | 4 +- .../atum/items/artifacts/ItemHorusFlight.java | 9 +- .../items/artifacts/ItemHorusSoaring.java | 4 +- .../atum/items/artifacts/ItemIsisHealing.java | 1 - .../items/artifacts/ItemMaatsBalance.java | 3 - .../items/artifacts/ItemMafdetsQuickness.java | 1 - .../atum/items/artifacts/ItemMnevisHorns.java | 3 - .../items/artifacts/ItemMonthusBlast.java | 4 +- .../items/artifacts/ItemMonthusStrike.java | 2 - .../items/artifacts/ItemNeithsAudacity.java | 4 +- .../atum/items/artifacts/ItemNusFlux.java | 2 - .../atum/items/artifacts/ItemNutsAgility.java | 2 - .../atum/items/artifacts/ItemNutsCall.java | 1 - .../atum/items/artifacts/ItemOsirisWill.java | 6 +- .../items/artifacts/ItemPtahsDecadence.java | 2 - .../items/artifacts/ItemPtahsDestruction.java | 2 - .../atum/items/artifacts/ItemRasGlory.java | 2 - .../items/artifacts/ItemSekhmetsWrath.java | 3 - .../atum/items/artifacts/ItemShusBreath.java | 4 +- .../atum/items/artifacts/ItemSobeksRage.java | 2 - .../atum/items/artifacts/ItemSpear.java | 1 - .../atum/lib/handler/CraftingHandler.java | 88 +++++ .../atum/lib/proxy/ClientProxy.java | 31 +- .../atum/lib/proxy/CommonProxy.java | 2 - .../lib/tickhandler/ClientTickHandler.java | 8 +- .../lib/tickhandler/ServerTickHandler.java | 15 +- .../atum/world/AtumPortalPosition.java | 0 .../atum/world/AtumTeleporter.java | 164 ++++---- .../com/teammetallurgy/atum/world/World.java | 1 - .../atum/worldgen/AtumChunkProvider.java | 162 ++++---- .../atum/worldgen/AtumMapGenCaves.java | 97 ++--- .../atum/worldgen/AtumWorldProvider.java | 25 +- .../atum/worldgen/AtumWorldServer.java | 5 +- .../worldgen/biome/BiomeDecoratorAtum.java | 40 +- .../worldgen/biome/BiomeGenAtumDesert.java | 28 +- .../worldgen/biome/MobSpawnController.java | 11 +- .../decorators/WorldGenAtumTrees.java | 146 +++---- .../worldgen/decorators/WorldGenOasis.java | 105 ++--- .../worldgen/decorators/WorldGenPalace.java | 365 +++++++++--------- .../worldgen/decorators/WorldGenPalm.java | 34 +- .../worldgen/decorators/WorldGenPyramid.java | 36 +- .../worldgen/decorators/WorldGenRuins.java | 44 +-- .../worldgen/decorators/WorldGenShrub.java | 15 +- .../assets/atum/lang/en_US.properties | 0 .../assets/atum/music/ALongJourney.ogg | Bin .../resources}/assets/atum/music/Hostiles.ogg | Bin .../assets/atum/music/ScorchingSand.ogg | Bin .../assets/atum/music/TempleTales.ogg | Bin .../assets/atum/music/TheWanderer.ogg | Bin .../assets/atum/sound/pharaohspawn.ogg | Bin .../atum/textures/armor/DesertArmor_1.png | Bin .../atum/textures/armor/DesertArmor_2.png | Bin .../atum/textures/armor/EgyptianArmor_1.png | Bin .../atum/textures/armor/EgyptianArmor_2.png | Bin .../atum/textures/armor/MummyArmor_1.png | Bin .../atum/textures/armor/MummyArmor_2.png | Bin .../textures/armor/RubyArtifactArmor_1.png | Bin .../textures/armor/RubyArtifactArmor_2.png | Bin .../atum/textures/armor/WandererArmor_1.png | Bin .../textures/armor/WandererArmor_1_old.png | Bin .../atum/textures/armor/WandererArmor_2.png | Bin .../atum/textures/blocks/AtumBrickCarved.png | Bin .../atum/textures/blocks/AtumBrickLarge.png | Bin .../atum/textures/blocks/AtumBrickSmall.png | Bin .../assets/atum/textures/blocks/AtumCoal.png | Bin .../atum/textures/blocks/AtumCobble.png | Bin .../textures/blocks/AtumCrackedLargeBrick.png | Bin .../atum/textures/blocks/AtumCrystalGlass.png | Bin .../assets/atum/textures/blocks/AtumDate.png | Bin .../atum/textures/blocks/AtumDiamond.png | Bin .../atum/textures/blocks/AtumFramedGlass.png | Bin .../assets/atum/textures/blocks/AtumGold.png | Bin .../assets/atum/textures/blocks/AtumIron.png | Bin .../assets/atum/textures/blocks/AtumLapis.png | Bin .../atum/textures/blocks/AtumLeaves.png | Bin .../atum/textures/blocks/AtumPalmSapling.png | Bin .../atum/textures/blocks/AtumPapyrus.png | Bin .../atum/textures/blocks/AtumPapyrusTop.png | Bin .../atum/textures/blocks/AtumRedstone.png | Bin .../assets/atum/textures/blocks/AtumSand.png | Bin .../assets/atum/textures/blocks/AtumStone.png | Bin .../atum/textures/blocks/AtumiteOre.png | Bin .../assets/atum/textures/blocks/DeadBush.png | Bin .../atum/textures/blocks/FertileSoil.png | Bin .../atum/textures/blocks/FertileSoilSide.png | Bin .../atum/textures/blocks/FertileSoilTop.png | Bin .../assets/atum/textures/blocks/Flax_0.png | Bin .../assets/atum/textures/blocks/Flax_1.png | Bin .../assets/atum/textures/blocks/Flax_2.png | Bin .../assets/atum/textures/blocks/Flax_3.png | Bin .../assets/atum/textures/blocks/Flax_4.png | Bin .../assets/atum/textures/blocks/Flax_5.png | Bin .../atum/textures/blocks/FurnaceBurning.png | Bin .../atum/textures/blocks/FurnaceFront.png | Bin .../atum/textures/blocks/FurnaceTop.png | Bin .../atum/textures/blocks/PapyrusPlantItem.png | Bin .../assets/atum/textures/blocks/Planks.png | Bin .../assets/atum/textures/blocks/Shrub.png | Bin .../assets/atum/textures/blocks/TrapFire.png | Bin .../assets/atum/textures/blocks/TrapSide.png | Bin .../assets/atum/textures/blocks/Weed.png | Bin .../assets/atum/textures/blocks/portal.png | Bin .../atum/textures/blocks/portal.png.mcmeta | 0 .../blocks/stonebricksmooth_mossy.png | Bin .../atum/textures/blocks/thinglass_top.png | Bin .../assets/atum/textures/blocks/tree_side.png | Bin .../assets/atum/textures/blocks/tree_top.png | Bin .../atum/textures/entities/BanditArcher.png | Bin .../atum/textures/entities/BanditWarlord.png | Bin .../atum/textures/entities/BanditWarrior.png | Bin .../atum/textures/entities/Barbarian.png | Bin .../atum/textures/entities/Bonestorm.png | Bin .../atum/textures/entities/DesertGhost.png | Bin .../atum/textures/entities/DesertWolf.png | Bin .../textures/entities/DesertWolf_angry.png | Bin .../textures/entities/DesertWolf_tame.png | Bin .../atum/textures/entities/DustySkeleton.png | Bin .../assets/atum/textures/entities/Mummy.png | Bin .../atum/textures/entities/PharaohBlue.png | Bin .../textures/entities/PharaohBlue_old.png | Bin .../atum/textures/entities/PharaohGreen.png | Bin .../atum/textures/entities/PharaohRed.png | Bin .../atum/textures/entities/StoneSoldier.png | Bin .../assets/atum/textures/hud/mummyblur.png | Bin .../assets/atum/textures/items/AkersToil.png | Bin .../atum/textures/items/AmunetsHomecoming.png | Bin .../atum/textures/items/Anhur's Might.png | Bin .../atum/textures/items/AnhursMight.png | Bin .../atum/textures/items/AnubisMercy.png | Bin .../atum/textures/items/AnuketsBounty.png | Bin .../assets/atum/textures/items/Arrow.png | Bin .../atum/textures/items/ArrowEntity.png | Bin .../assets/atum/textures/items/AtensFury.png | Bin .../assets/atum/textures/items/Bow.png | Bin .../assets/atum/textures/items/ClothScrap.png | Bin .../assets/atum/textures/items/Date.png | Bin .../atum/textures/items/DesertBoots.png | Bin .../atum/textures/items/DesertChest.png | Bin .../atum/textures/items/DesertHelmet.png | Bin .../assets/atum/textures/items/DesertLegs.png | Bin .../atum/textures/items/DiamondBroach.png | Bin .../atum/textures/items/DiamondIdol.png | Bin .../atum/textures/items/DiamondNecklace.png | Bin .../atum/textures/items/DiamondRing.png | Bin .../atum/textures/items/DiamondScepter.png | Bin .../atum/textures/items/DirtyBroach.png | Bin .../assets/atum/textures/items/DirtyIdol.png | Bin .../atum/textures/items/DirtyNecklace.png | Bin .../assets/atum/textures/items/DirtyRing.png | Bin .../atum/textures/items/DirtyScepter.png | Bin .../assets/atum/textures/items/Ectoplasm.png | Bin .../atum/textures/items/EmeraldBroach.png | Bin .../atum/textures/items/EmeraldIdol.png | Bin .../atum/textures/items/EmeraldNecklace.png | Bin .../atum/textures/items/EmeraldRing.png | Bin .../atum/textures/items/EmeraldScepter.png | Bin .../assets/atum/textures/items/Fish0.png | Bin .../assets/atum/textures/items/Fish1.png | Bin .../assets/atum/textures/items/Fish2.png | Bin .../assets/atum/textures/items/Fish3.png | Bin .../assets/atum/textures/items/Fish4.png | Bin .../assets/atum/textures/items/FlaxItem.png | Bin .../assets/atum/textures/items/FlaxSeeds.png | Bin .../atum/textures/items/GebsBlessing.png | Bin .../atum/textures/items/GebsSolidarity.png | Bin .../assets/atum/textures/items/GoldBroach.png | Bin .../assets/atum/textures/items/GoldIdol.png | Bin .../atum/textures/items/GoldNecklace.png | Bin .../assets/atum/textures/items/GoldRing.png | Bin .../atum/textures/items/GoldScepter.png | Bin .../assets/atum/textures/items/Greatsword.png | Bin .../atum/textures/items/HedetetsSting.png | Bin .../atum/textures/items/HedetetsVenom.png | Bin .../textures/items/HedetetsVenom_pull_0.png | Bin .../textures/items/HedetetsVenom_pull_1.png | Bin .../textures/items/HedetetsVenom_pull_2.png | Bin .../atum/textures/items/HorusFlight.png | Bin .../atum/textures/items/HorusSoaring.png | Bin .../textures/items/HorusSoaring_pull_0.png | Bin .../textures/items/HorusSoaring_pull_1.png | Bin .../textures/items/HorusSoaring_pull_2.png | Bin .../atum/textures/items/IsisEmbrace.png | Bin .../atum/textures/items/IsisHealing.png | Bin .../atum/textures/items/LimestoneAxe.png | Bin .../atum/textures/items/LimestoneHoe.png | Bin .../atum/textures/items/LimestonePickaxe.png | Bin .../atum/textures/items/LimestoneShovel.png | Bin .../atum/textures/items/LimestoneSword.png | Bin .../assets/atum/textures/items/Linen.png | Bin .../atum/textures/items/MaatsBalance.png | Bin .../atum/textures/items/MafdetsQuickness.png | Bin .../atum/textures/items/MnevisHorns.png | Bin .../atum/textures/items/MonthusBlast.png | Bin .../textures/items/MonthusBlast_pull_0.png | Bin .../textures/items/MonthusBlast_pull_1.png | Bin .../textures/items/MonthusBlast_pull_2.png | Bin .../atum/textures/items/MonthusStrike.png | Bin .../assets/atum/textures/items/MummyBoots.png | Bin .../assets/atum/textures/items/MummyChest.png | Bin .../atum/textures/items/MummyHelmet.png | Bin .../assets/atum/textures/items/MummyLegs.png | Bin .../atum/textures/items/NeithsAudacity.png | Bin .../assets/atum/textures/items/NusFlux.png | Bin .../atum/textures/items/NutsAgility.png | Bin .../assets/atum/textures/items/NutsCall.png | Bin .../assets/atum/textures/items/OsirisWill.png | Bin .../atum/textures/items/PapyrusPlantItem.png | Bin .../atum/textures/items/PtahsDecadence.png | Bin .../atum/textures/items/PtahsDestruction.png | Bin .../assets/atum/textures/items/RasGlory.png | Bin .../assets/atum/textures/items/RubyBroach.png | Bin .../assets/atum/textures/items/RubyIdol.png | Bin .../atum/textures/items/RubyNecklace.png | Bin .../assets/atum/textures/items/RubyRing.png | Bin .../atum/textures/items/RubyScepter.png | Bin .../atum/textures/items/SapphireBroach.png | Bin .../atum/textures/items/SapphireIdol.png | Bin .../atum/textures/items/SapphireNecklace.png | Bin .../atum/textures/items/SapphireRing.png | Bin .../atum/textures/items/SapphireScepter.png | Bin .../assets/atum/textures/items/Scarab.png | Bin .../assets/atum/textures/items/Scepter.png | Bin .../assets/atum/textures/items/Scimitar.png | Bin .../assets/atum/textures/items/Scroll.png | Bin .../atum/textures/items/SekhmetsWrath.png | Bin .../assets/atum/textures/items/ShusBreath.png | Bin .../atum/textures/items/ShusBreath_pull_0.png | Bin .../atum/textures/items/ShusBreath_pull_1.png | Bin .../atum/textures/items/ShusBreath_pull_2.png | Bin .../atum/textures/items/SilverBroach.png | Bin .../assets/atum/textures/items/SilverIdol.png | Bin .../atum/textures/items/SilverNecklace.png | Bin .../assets/atum/textures/items/SilverRing.png | Bin .../atum/textures/items/SilverScepter.png | Bin .../assets/atum/textures/items/SobeksRage.png | Bin .../assets/atum/textures/items/StoneChunk.png | Bin .../atum/textures/items/StoneSoldierSword.png | Bin .../atum/textures/items/WandererBoots.png | Bin .../atum/textures/items/WandererChest.png | Bin .../atum/textures/items/WandererHelmet.png | Bin .../atum/textures/items/WandererLegs.png | Bin .../assets/atum/textures/items/WolfPelt.png | Bin .../atum/textures/items/atens_pull_0.png | Bin .../atum/textures/items/atens_pull_1.png | Bin .../atum/textures/items/atens_pull_2.png | Bin .../assets/atum/textures/items/bow_pull_0.png | Bin .../assets/atum/textures/items/bow_pull_1.png | Bin .../assets/atum/textures/items/bow_pull_2.png | Bin .../atum/textures/items/neiths_pull_0.png | Bin .../atum/textures/items/neiths_pull_1.png | Bin .../atum/textures/items/neiths_pull_2.png | Bin .../assets/atum/textures/particles/Sand.png | Bin .../textures/projectiles/arrows_double.png | Bin .../textures/projectiles/arrows_exploding.png | Bin .../atum/textures/projectiles/arrows_fire.png | Bin .../textures/projectiles/arrows_poison.png | Bin .../textures/projectiles/arrows_quickdraw.png | Bin .../textures/projectiles/arrows_velocity.png | Bin .../atum/textures/projectiles/nutscall.png | Bin src/main/resources/mcmod.info | 16 + 378 files changed, 2165 insertions(+), 2122 deletions(-) create mode 100644 build.gradle delete mode 100644 build.xml create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat delete mode 100644 resources/README.md delete mode 100644 src/com/teammetallurgy/atum/AtumLoot.java delete mode 100644 src/com/teammetallurgy/atum/blocks/BlockPalmSapling.java delete mode 100644 src/com/teammetallurgy/atum/blocks/BlockSlab.java delete mode 100644 src/com/teammetallurgy/atum/lib/handler/CraftingHandler.java rename src/{ => main/java}/com/teammetallurgy/atum/Atum.java (86%) rename src/{ => main/java}/com/teammetallurgy/atum/AtumConfig.java (99%) rename src/{ => main/java}/com/teammetallurgy/atum/AtumCreativeTab.java (81%) rename src/{ => main/java}/com/teammetallurgy/atum/AtumFish.java (50%) rename src/{ => main/java}/com/teammetallurgy/atum/AtumIDS.java (100%) create mode 100644 src/main/java/com/teammetallurgy/atum/AtumLoot.java rename src/{ => main/java}/com/teammetallurgy/atum/AtumWeightedLootSet.java (95%) rename src/{ => main/java}/com/teammetallurgy/atum/LocalizationHelper.java (100%) create mode 100644 src/main/java/com/teammetallurgy/atum/blocks/AtumBlockSlab.java rename src/{com/teammetallurgy/atum/blocks/Blocks.java => main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java} (94%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockAtum.java (69%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockAtumGlass.java (100%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockAtumOres.java (100%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockAtumPane.java (100%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockBurningTrap.java (89%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockChestSpawner.java (97%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockDate.java (73%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockFertileSoil.java (51%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java (91%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockFlax.java (88%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockLeave.java (62%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java (70%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockPalmLog.java (58%) create mode 100644 src/main/java/com/teammetallurgy/atum/blocks/BlockPalmSapling.java rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockPapyrus.java (90%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockPharaohChest.java (93%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockPortal.java (94%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockSandLayered.java (80%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockSands.java (85%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockShrub.java (56%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockStair.java (100%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockStones.java (81%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockWalls.java (92%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/ItemBlockSlab.java (73%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/ItemBlockWall.java (73%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/tileentity/CursedChestBaseLogic.java (74%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/tileentity/CursedChestSpawnerLogic.java (66%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java (100%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/tileentity/TileEntityChestSpawner.java (92%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/tileentity/TileEntityPharaohChest.java (96%) rename src/{ => main/java}/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java (100%) rename src/{ => main/java}/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java (100%) rename src/{ => main/java}/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java (94%) rename src/{ => main/java}/com/teammetallurgy/atum/client/render/entity/RenderBandit.java (74%) rename src/{ => main/java}/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java (97%) rename src/{ => main/java}/com/teammetallurgy/atum/client/render/entity/RenderFireSpear.java (100%) rename src/{ => main/java}/com/teammetallurgy/atum/client/render/entity/RenderFireSpearSeperated.java (99%) rename src/{ => main/java}/com/teammetallurgy/atum/client/render/entity/RenderGhost.java (86%) rename src/{ => main/java}/com/teammetallurgy/atum/client/render/entity/RenderPharaoh.java (75%) rename src/{ => main/java}/com/teammetallurgy/atum/client/render/entity/arrow/RenderCustomArrow.java (100%) rename src/{ => main/java}/com/teammetallurgy/atum/client/render/entity/arrow/RenderNutsCall.java (100%) rename src/{ => main/java}/com/teammetallurgy/atum/client/render/item/RendererItemBow.java (93%) rename src/{ => main/java}/com/teammetallurgy/atum/client/render/tileentity/RenderDate.java (95%) rename src/{ => main/java}/com/teammetallurgy/atum/client/render/tileentity/RenderPapyrus.java (89%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/Entity.java (99%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/EntityBanditArcher.java (81%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/EntityBanditWarlord.java (62%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/EntityBanditWarrior.java (73%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/EntityBarbarian.java (70%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/EntityBonestorm.java (76%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/EntityDesertWolf.java (85%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/EntityDustySkeleton.java (100%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/EntityGhost.java (97%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/EntityMummy.java (96%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/EntityPharaoh.java (97%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/EntityStone.java (91%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/EntityStoneSoldier.java (80%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/IAtumDayMob.java (100%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/IAtumNightMob.java (100%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/arrow/CustomArrow.java (100%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java (81%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java (99%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java (99%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java (98%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java (99%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java (99%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java (99%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java (99%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearCombined.java (99%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearSeperated.java (99%) rename src/{com/teammetallurgy/atum/items/Items.java => main/java/com/teammetallurgy/atum/items/AtumItems.java} (96%) rename src/{ => main/java}/com/teammetallurgy/atum/items/ItemAtumBow.java (93%) rename src/{ => main/java}/com/teammetallurgy/atum/items/ItemFish.java (89%) rename src/{ => main/java}/com/teammetallurgy/atum/items/ItemGreatsword.java (95%) rename src/{ => main/java}/com/teammetallurgy/atum/items/ItemLoot.java (92%) rename src/{ => main/java}/com/teammetallurgy/atum/items/ItemPapyrusPlant.java (87%) rename src/{ => main/java}/com/teammetallurgy/atum/items/ItemScarab.java (84%) rename src/{ => main/java}/com/teammetallurgy/atum/items/ItemScepter.java (78%) rename src/{ => main/java}/com/teammetallurgy/atum/items/ItemScimitar.java (78%) rename src/{ => main/java}/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java (79%) rename src/{ => main/java}/com/teammetallurgy/atum/items/ItemTexturedArmor.java (59%) rename src/{ => main/java}/com/teammetallurgy/atum/items/LimestoneAxe.java (70%) rename src/{ => main/java}/com/teammetallurgy/atum/items/LimestoneHoe.java (70%) rename src/{ => main/java}/com/teammetallurgy/atum/items/LimestonePickaxe.java (70%) rename src/{ => main/java}/com/teammetallurgy/atum/items/LimestoneShovel.java (70%) rename src/{ => main/java}/com/teammetallurgy/atum/items/LimestoneSword.java (69%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java (76%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java (95%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java (98%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java (96%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java (97%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java (96%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java (98%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java (93%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java (96%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java (94%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java (98%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java (86%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java (97%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java (97%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java (94%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java (97%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java (93%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java (98%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java (97%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java (98%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java (96%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java (94%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java (97%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java (92%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java (95%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java (94%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java (93%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java (94%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java (98%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java (95%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemSpear.java (95%) create mode 100644 src/main/java/com/teammetallurgy/atum/lib/handler/CraftingHandler.java rename src/{ => main/java}/com/teammetallurgy/atum/lib/proxy/ClientProxy.java (81%) rename src/{ => main/java}/com/teammetallurgy/atum/lib/proxy/CommonProxy.java (74%) rename src/{ => main/java}/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java (94%) rename src/{ => main/java}/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java (77%) rename src/{ => main/java}/com/teammetallurgy/atum/world/AtumPortalPosition.java (100%) rename src/{ => main/java}/com/teammetallurgy/atum/world/AtumTeleporter.java (65%) rename src/{ => main/java}/com/teammetallurgy/atum/world/World.java (93%) rename src/{ => main/java}/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java (75%) rename src/{ => main/java}/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java (62%) rename src/{ => main/java}/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java (94%) rename src/{ => main/java}/com/teammetallurgy/atum/worldgen/AtumWorldServer.java (81%) rename src/{ => main/java}/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java (82%) rename src/{ => main/java}/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java (89%) rename src/{ => main/java}/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java (55%) rename src/{ => main/java}/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java (67%) rename src/{ => main/java}/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java (52%) rename src/{ => main/java}/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java (97%) rename src/{ => main/java}/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java (70%) rename src/{ => main/java}/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java (76%) rename src/{ => main/java}/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java (51%) rename src/{ => main/java}/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java (68%) rename {resources => src/main/resources}/assets/atum/lang/en_US.properties (100%) rename {resources => src/main/resources}/assets/atum/music/ALongJourney.ogg (100%) rename {resources => src/main/resources}/assets/atum/music/Hostiles.ogg (100%) rename {resources => src/main/resources}/assets/atum/music/ScorchingSand.ogg (100%) rename {resources => src/main/resources}/assets/atum/music/TempleTales.ogg (100%) rename {resources => src/main/resources}/assets/atum/music/TheWanderer.ogg (100%) rename {resources => src/main/resources}/assets/atum/sound/pharaohspawn.ogg (100%) rename {resources => src/main/resources}/assets/atum/textures/armor/DesertArmor_1.png (100%) rename {resources => src/main/resources}/assets/atum/textures/armor/DesertArmor_2.png (100%) rename {resources => src/main/resources}/assets/atum/textures/armor/EgyptianArmor_1.png (100%) rename {resources => src/main/resources}/assets/atum/textures/armor/EgyptianArmor_2.png (100%) rename {resources => src/main/resources}/assets/atum/textures/armor/MummyArmor_1.png (100%) rename {resources => src/main/resources}/assets/atum/textures/armor/MummyArmor_2.png (100%) rename {resources => src/main/resources}/assets/atum/textures/armor/RubyArtifactArmor_1.png (100%) rename {resources => src/main/resources}/assets/atum/textures/armor/RubyArtifactArmor_2.png (100%) rename {resources => src/main/resources}/assets/atum/textures/armor/WandererArmor_1.png (100%) rename {resources => src/main/resources}/assets/atum/textures/armor/WandererArmor_1_old.png (100%) rename {resources => src/main/resources}/assets/atum/textures/armor/WandererArmor_2.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumBrickCarved.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumBrickLarge.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumBrickSmall.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumCoal.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumCobble.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumCrackedLargeBrick.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumCrystalGlass.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumDate.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumDiamond.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumFramedGlass.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumGold.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumIron.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumLapis.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumLeaves.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumPalmSapling.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumPapyrus.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumPapyrusTop.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumRedstone.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumSand.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumStone.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumiteOre.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/DeadBush.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/FertileSoil.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/FertileSoilSide.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/FertileSoilTop.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/Flax_0.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/Flax_1.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/Flax_2.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/Flax_3.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/Flax_4.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/Flax_5.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/FurnaceBurning.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/FurnaceFront.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/FurnaceTop.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/PapyrusPlantItem.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/Planks.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/Shrub.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/TrapFire.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/TrapSide.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/Weed.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/portal.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/portal.png.mcmeta (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/stonebricksmooth_mossy.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/thinglass_top.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/tree_side.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/tree_top.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/BanditArcher.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/BanditWarlord.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/BanditWarrior.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/Barbarian.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/Bonestorm.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/DesertGhost.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/DesertWolf.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/DesertWolf_angry.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/DesertWolf_tame.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/DustySkeleton.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/Mummy.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/PharaohBlue.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/PharaohBlue_old.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/PharaohGreen.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/PharaohRed.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/StoneSoldier.png (100%) rename {resources => src/main/resources}/assets/atum/textures/hud/mummyblur.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/AkersToil.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/AmunetsHomecoming.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Anhur's Might.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/AnhursMight.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/AnubisMercy.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/AnuketsBounty.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Arrow.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/ArrowEntity.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/AtensFury.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Bow.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/ClothScrap.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Date.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/DesertBoots.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/DesertChest.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/DesertHelmet.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/DesertLegs.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/DiamondBroach.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/DiamondIdol.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/DiamondNecklace.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/DiamondRing.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/DiamondScepter.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/DirtyBroach.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/DirtyIdol.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/DirtyNecklace.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/DirtyRing.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/DirtyScepter.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Ectoplasm.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/EmeraldBroach.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/EmeraldIdol.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/EmeraldNecklace.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/EmeraldRing.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/EmeraldScepter.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Fish0.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Fish1.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Fish2.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Fish3.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Fish4.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/FlaxItem.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/FlaxSeeds.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/GebsBlessing.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/GebsSolidarity.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/GoldBroach.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/GoldIdol.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/GoldNecklace.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/GoldRing.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/GoldScepter.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Greatsword.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/HedetetsSting.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/HedetetsVenom.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/HedetetsVenom_pull_0.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/HedetetsVenom_pull_1.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/HedetetsVenom_pull_2.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/HorusFlight.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/HorusSoaring.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/HorusSoaring_pull_0.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/HorusSoaring_pull_1.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/HorusSoaring_pull_2.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/IsisEmbrace.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/IsisHealing.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/LimestoneAxe.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/LimestoneHoe.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/LimestonePickaxe.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/LimestoneShovel.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/LimestoneSword.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Linen.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/MaatsBalance.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/MafdetsQuickness.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/MnevisHorns.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/MonthusBlast.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/MonthusBlast_pull_0.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/MonthusBlast_pull_1.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/MonthusBlast_pull_2.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/MonthusStrike.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/MummyBoots.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/MummyChest.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/MummyHelmet.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/MummyLegs.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/NeithsAudacity.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/NusFlux.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/NutsAgility.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/NutsCall.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/OsirisWill.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/PapyrusPlantItem.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/PtahsDecadence.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/PtahsDestruction.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/RasGlory.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/RubyBroach.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/RubyIdol.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/RubyNecklace.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/RubyRing.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/RubyScepter.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/SapphireBroach.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/SapphireIdol.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/SapphireNecklace.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/SapphireRing.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/SapphireScepter.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Scarab.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Scepter.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Scimitar.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Scroll.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/SekhmetsWrath.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/ShusBreath.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/ShusBreath_pull_0.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/ShusBreath_pull_1.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/ShusBreath_pull_2.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/SilverBroach.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/SilverIdol.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/SilverNecklace.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/SilverRing.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/SilverScepter.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/SobeksRage.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/StoneChunk.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/StoneSoldierSword.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/WandererBoots.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/WandererChest.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/WandererHelmet.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/WandererLegs.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/WolfPelt.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/atens_pull_0.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/atens_pull_1.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/atens_pull_2.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/bow_pull_0.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/bow_pull_1.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/bow_pull_2.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/neiths_pull_0.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/neiths_pull_1.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/neiths_pull_2.png (100%) rename {resources => src/main/resources}/assets/atum/textures/particles/Sand.png (100%) rename {resources => src/main/resources}/assets/atum/textures/projectiles/arrows_double.png (100%) rename {resources => src/main/resources}/assets/atum/textures/projectiles/arrows_exploding.png (100%) rename {resources => src/main/resources}/assets/atum/textures/projectiles/arrows_fire.png (100%) rename {resources => src/main/resources}/assets/atum/textures/projectiles/arrows_poison.png (100%) rename {resources => src/main/resources}/assets/atum/textures/projectiles/arrows_quickdraw.png (100%) rename {resources => src/main/resources}/assets/atum/textures/projectiles/arrows_velocity.png (100%) rename {resources => src/main/resources}/assets/atum/textures/projectiles/nutscall.png (100%) create mode 100644 src/main/resources/mcmod.info diff --git a/.gitignore b/.gitignore index fba3145..6ad51dd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,14 @@ -/releases/ -/download/ -/build/ -/bin/ \ No newline at end of file +# Ignore Everything +/* +/*/ + +# Don't Ignore These Files +!/.gitignore +!/gradlew +!/gradlew.bat +!/README +!/LICENSE +!/build.properties +!/build.gradle +!/src/ +!/gradle/ diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..79a52ff --- /dev/null +++ b/build.gradle @@ -0,0 +1,42 @@ +buildscript { + repositories { + mavenCentral() + maven { + name = "forge" + url = "http://files.minecraftforge.net/maven" + } + maven { + name = "sonatype" + url = "https://oss.sonatype.org/content/repositories/snapshots/" + } + } + dependencies { + classpath 'net.minecraftforge.gradle:ForgeGradle:1.1-SNAPSHOT' + } +} + +apply plugin: 'forge' + +version = "1.0" +group= "com.yourname.modid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html +archivesBaseName = "modid" + +minecraft { + version = "1.7.2-10.12.0.1025" + assetDir = "eclipse/assets" +} +processResources +{ + // replace stuff in mcmod.info, nothing else + from(sourceSets.main.resources.srcDirs) { + include 'mcmod.info' + + // replace version and mcversion + expand 'version':project.version, 'mcversion':project.minecraft.version + } + + // copy everything else, thats not the mcmod.info + from(sourceSets.main.resources.srcDirs) { + exclude 'mcmod.info' + } +} diff --git a/build.xml b/build.xml deleted file mode 100644 index 221c340..0000000 --- a/build.xml +++ /dev/null @@ -1,206 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - version ${project.complete.version} (${project.version}) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..667288ad6c2b3b87c990ece1267e56f0bcbf3622 GIT binary patch literal 50514 zcmagFbChSz(k5EAZQHhOS9NvSwr&2(Rb94i+qSxF+w8*h%sKPjdA~XL-o1A2m48I8 z#Ey)JC!a_qSx_(-ARs6xAQ?F>QJ}vM$p8HOeW3pqd2uyidT9j-Mo=K7e+XW0&Y<)E z6;S(I(Ed+Bd0_=<32{|526>4G`Kd`cS$c+fcv*UynW@=E6{aQD-J|;{`Z4Kg`Dt2d zI$)UdFq4$SA}#7RO!AV$BBL=9%jVsq{Ueb7*4^J8{%c%df9v*6=Kt4_{!ba$f6JIV z8JgIb{(p+1{!`T5$U)an0fVi9CwR`^$R`EMcp&rQVa-R*4b4Nb_H8H{ZVot=H7 z#(J{{DW4ze_Ck|1(EbPiGfXTO}v^zl-H!Y3ls9=HV&q>SAGP=VEDW z=wk2muSF2y_lb}fJxZ}al~$+3RF^U!k9x5x zWyl(8dbQ0`AG$%Y?*M0m+cp^Qa}1udZW_Tm3>qdzZv!1x+<_Uf(p@M@ymKp>OX9|F z#L1je z9d6SUXxx2fS*7N*e<;=+3&t4*d+M`}GIPJUbTo-OSVjvF3WrfXg7*_H3ct9cxJKZ9 zLrMzth3?nx0{#c^OdHM`vr>x#A)-roI0OOn<=2h_wo|XV0&wMtLI5!@**l*_XQ2R` zrLSV49cUPRsX#(O5oQzZaIYwwq8Zs2DLXGdDKbr!Yg?7fxU|>+HHQ`48#X--yYCk5 z2_CBTW9rX2eLQC0%EyQli<87+%+Sy))FFW+RMC{*hfJ$|;#$?pAT~P0nL-F}%M*RxwBh)JT4trq7rR7dHloLmiM^IC{>usB=4fXXH9NMyWznFd(bffDK zE@*_maXO?|$?M^W>jXtsnk2}7g8b8%oLp);SNzqtjlYHDKkJ?J|K42x(kk(o{=Zub zF6?{i>=+HX3r6qB=&q|022@z-QLmMSLx%Up}FGL44Gk+C_QL5BU+!i2(vEvNf8Z)-btUdpVY9ovODm+#V7jjU7Y!AWEnY5L4 zy;^;=x#{x<{pUJOVPj)cXJ>gsJ418R ze{ZN{4Os^?bu@m)^eIMs5MU5c;IIG|=#WSfkfeyP1R(>Iv2Y(9if76Ptu~dWzdSmPFUp;6Ezs&WmP-Mn-9ah*g8e8 znAxyrWhx~~tuF4fFyFI)v-S3=C$HmPHmqv%hb3*;ljbj9zaA_}QvfU@RJCGH%&3Mc=GR}sQDh$UWT-8|{1QwhXWO-dM z3?^C@cbP^-hfFljgacs|7mE%a1FSMK5?o1{VuaVB3iP=LvFEL@C0pfwirZ4SXxMUy zrMG05M!9CU@G7-}bgjI%x$|_B9Z@Hc86jXlPhZpJfk@$BToMpqU8Y zS7rRkdp>e0{86ZjFbE^zkdwV*R|JV3EhCJcqjJlZ1HJnbe0I+>a5?HpHLs6A`4&VE zZkHUK@cLRF?y^Gi~ zzERBcPdAs0R^=N{aeUhK(Oc+@?mb~Y)__*Dt{8Wawz6H_)v6niTA_*_%)UP`0`WBL zFONOa&+T9+RMF!QsgKq(%Ib;a-!w+*&V)Y#Xz0(87=H{^VBk3UVeed$SFCL{IJMl-`1FQ@Es zq)F=J+jn(WH_*lNW;=>)d5ZFyL~O+t;)Rex`&~h0ZJ`wg7K@*lu0E7;tx>KLWPduY zB{4G}TQLJE$Fp^?*3raESC`NSpmv`$M^ zR?`+VFj;fQu`)I4O1dHwa_R-0y`qHjG*yT1*ta##G_W-;1ira)uP6}+r|OX64}vD7 zCfB#p>H^?YEyF6K(H( zcSh4u5_|{iq)=K{S8Z{@n?&h}u!l2^EP#?v?Obp5kDl`o9~up%2*s>1Ix5~kT~M3` zo9Mg;n$TcwaN!PHHbuUUw3tRqYfjpz$rm9)1|S{rtPnG|3qao}1W27Wig_4j-(rTjVi`D@Hu z`P>h7i$K>zzc1rQ!~L?29sG(`4ewg^)@Jc)II0KI)@q=D4CEaX%j&RlZ>Dhv0p=|f zDJPQ~ioTP^ju2_j2(V9haP$r!cTNIK`eUF|-}43c=4*G09&bROE80IECDekrK%+jW zBayIlJSDqrri?dj#ZGRQI45{XfBLkOiWIkGb#Tk>GU0NMA&{q`1jQe9jlfJZSTNF_ z5nD5A=Z=a%6uCagCu3np^0R1ibyV8p>-XWfFJK2Gb#o`L=pCm3Bz0F-w`5gv7zJaA z)RS8mWR&`<;DgOxA@S6FQ*5HVF=Pi6>}viGQ3jbA1*0gz7vev?ig9gVhr!>t4e76E zq5scb<;TCmT2XsDGfQ(RVj)A|h<&2OW-AJrbhweQvr{uOf)AdTJN|xO zAOSplNX(IEhc4?4!HsA&Vy7Ayn|y;{2-yn=}+S<{JboP z+O;`IR0`XIjUt&s+%;#~ImRt_GtRFatr{*eLSOp`M&L2~I&K?Jn-<|hTDADdW0!CI zT`L(i=DpZ{m#h7}m5b)AA2rK@4IrsGNhTCLuA(5#C4^ihsG8k9wtfgz{e1{i2dg)4 z+mI{R5E#Qkbkp^PpXHo%=j>nj&GC#hXN&B=ng^Nz`nHCfc3$|&N@`tY-`ccR_&0zX zWOMW?UqQVp6a|9)%p$rhzNSyZx#rwXmnhl-bz2n%^a-VY_->1Rq3M@UM*B73Rbh3KcNU|sUv}tj}yqehs%OmelPMB0M zliOnQ$*!7!%0vXViN+eRgc?|(1-`Kgq(g{Uq<|t%Bz*Q}Y@)~Dxqfxxh@oH`C}F!u zVKM>}SoSAuA}tUnZK%W}VFDOojbWmn1c%601hYWY6h!VJL@bC6^kD6@5DA{~rDbc` zz$!9AztbeXVgISB%D(uPM}Of3_Fv4&^q*DrzatANL%Y8i?%&Z*jK+mCsyf=YZKlbf z+hn1Vj7%sLh~;}k0J;qf&74dzBAF6hP=~yIQm6^14M!6?dhV;l=Kx&n;12=r;6bdu znKAcoswa2O{OPE5Gq3CJ6W7_dZ0Fg_o$rq~%z)3=pMwn1WgeoUs1j^hLuCL?_E++U zUl8cV_e>1#s5BJnSsHgKVH(k3juJJ{(latn3c<1EL^IYNxQh#yBCy;2!x%aPorztP zjJ%Y^H`Yu{q|z#bbRlXv*1|BB=p}$j7!c7C(+){=Hpz}swAa{;Mv?w7=0z0L(939t z85~w@r}dG`qJ(r7Jk^{@x!g>S2N}H{+N(b&vsMA1Z#qSh8<*eRxUKlI&Oa;*Luox`bScaqq#hN!IK3bgB zB`i9szi)5mm7=-Sfccdew3}(DLGfBO@@O!zHa3jAA@asvg`6x7z?j<@r!?HkxDGl; zA4MQQdP?iygX<&#Pt&fZ>4)tZ`4;uBW9N{x=T%*k!S#nf$>KRy}>6yQy?^(R#_fv9|9gTaH7IwKpOb=Xo?gi;akww64+&sf$z|_oI zuZahhq^LF60F>Rc%fkD!7@rigV#kVa^+@?Px~$YsNR3)QPBOZ(f96@IYTBerb(63c zz>}2iX36tDclpTaec;b}1pAap^JYHW{v(X;O)ygVC?+2IJ<4~lV|hQY9F&fz1UDoX5607wu*7FLP=u_rpZVqb zT#DD($Gu8`ZL1j?)6BP@h^#Ro?+wo>lacs#^O^h3c%lrP#Tk&f76F66$)uko$~U{i zFxE>!FOr^ZN46l7O(fh3ODY*ED*fGB+br75!b zD9RQm9(DT(;y?RI{yGj7%_y8*a2V>LYb1M$e5qJezC!U zR-eGYfjYJ!gD34F6x`2&w_<7T-E^D#yUo<&OS zc1dmXr~k)`Uat3yd(Xob>E|E8mmLrXobN;jv|@g)D0OHYJ1I8rlyDYAbYvcT+%8Sj zyDTth@@-~MGjYR*#RQ^#3j3XXL*1dUkl@#l5XF0c^E)53T$DRY=-htu!q=>j*#p?F zSCUz~s8xl*&iOy(^Ngfv-XmA*;GBW zd)}`C2W_ashy}02xm~3DH36VWBLJ10Il7Id6nt$~7hora6?Ils4LaFoFuZm?UJmAT z-3&$(^VAx-lSbLl_O;C=Q{eh>+zEMdU5!VT4k3ic1#w_+)-by@fE^>1sU&)xy_ws4 zq>WjPpOyZ&8o<pKeHD!`!)ch6}P=2?*1GiR*lYgDdHl?x-o7`hcV{KiLo}+xZ%sf#cl0pH_6K{bq zJ^!4l)|nnxEEZo|+C^#VtxL;YGSGqvxx;)O*@`@qRekwLLNq6DAOt*bI;>KPM!}** z*1Fv^$Ob1f_^3hhEllh0rml_3l0gYu~zep zi*ck$)DHOCTC>mzKw9~QfB`qEqwJY9v`tosEI@3GmTICiWK7~mMjAyp`O1}(QXfHS z>I0_glIrf2a);VQV~kDfQmL&R&8yX3mcimT!67&}8=24)t$%BU*8A&@Hs=$k7KZC# zTYN^qk95D4#q5?W`MM}sK)U$CCNE8|C%e3CXNafxch(eEGL_+Piz|4%*V5)8zAF*P8JmMUCYz%v(Y>ssFWfrj)^We?D7Hx)U#H`)OGH2IiptVS z2*zF^F)h%($!r@~7>1<19H#-i?~NUfQGG)@kw(C!+efD4E|L8jmIO9uP6su+9Vme) z_Ut*1ruchGUdny9ogKS9J#EHo68*jLp!D!uee*%?fo0~NSf8QchIDo8oULzpP`tQ3 zT}c@f(sqT>I-GJSSpkR;CSJA;>Vy5h`}yCCQ(YrT&O4d3zYfl}u(z6VCE6!F;F*76 z9j0J8{ssW#uLmNn53($aP9>wroVI83#TbxmSWb`TR@1fFW3)dyT%j-X7{NjG)mBPt z8z+G-hb{;ve{Nq7hNHIcwvmwURm%F#C{Jia_1Xs2a;#VmHY@`q_oFT2!7gKT1L$_S ze4X%%XFJ_o4wSPX)sr=BrRLuUVxO2k%NiH>WW1LwEI*K{3Gz#YW*r(J_Sjb*2iasE z!QPPy6q}ec#&eKI67nf|({Azk6jE$x>w`_s;hWgIE=e_ovbyj_2_8Fh5WIi)Q06ex zK_rmt=gfYqkR{}_CY95yTSFZsiL!^3CJvV4kYI{vBVoSPTEKg^5Yhjh6Q*qkbl3Z` zxrAGk8TrF!V-9SzKxWt&%eP$HlsQs0ga${AUpu%Lh1E=Z@$g5?rRAwX)DueM5vQtCS;kk&S~>Q(zA}iXj?uYPSN2g;`3 zr)tMR>iS6fS{Bt4(+lHMq?p7GTTP4Z-3CxC>~=?1uq|2lu9RZ)h-_brR*o4NcMfZt z>9{-CUh@iJ&~YV=FmZ$@bUu>LCHA9Bs#;S-ykkxyG&;)aSds(|=LmlnnN>@$5#y6f z52PWa7ov;Cg&4n9^e8SUIxgmgdaGopW=?jeS>5hOHimVi!ixB z&L3V_Y{(6VZK+dE@^d&Lp5biwj+@@G6Y|R6E7bpetG}Z6lodOa3o-q%rZKdO?53uHjV=~>M>LX0e}LqA0#;Wi z>Fi99*d>>vgM$sFrG?jSll(bPvE3F0SBr`E-F%7bVw3zL1%G0T0xl)LpRL!9rRcZ4 znW820$m!^d?*snLNAF9IeeeBXsy=xE{l^`V_?cqSTM64v;<2La{6~897oU{tV~NPl zGm`(o6A}0+qsbLx@tZ>YcEJtAnfK!lVXycvt&CpfQ~O{wVSh^PZ@v7R)Oo=a~+pMUfd_P;?MMbq0W zn5d_K8KCPRQ7_>a%$}tW5E}*pRTz%)226#|i#S263Qo`)>UAV&gS!BZJCB^* zD)9KKv*&q?w2V58r&^+i9tld&yUj=}t)c(aVaT2V_ry>mvCmQ%m0*}^30i0^;xDFP z#GK)q)7zR!wDLf_FI+hJNHi+CQYLx%kd$c4;YQ(OP45JYT0gFhYtmR|&A;F>cY8aj zC{lzsg>cZL@c@)hdyj$RA8y!D!n)(iTko!hyL)Wp!_&LE&D6}bxGl&Y_tbnuS`jQY z(f*_-X`iYEoxr&a*76lkZCe-a5AIOXCY># zbiVD(DT$0EI=U*Yf6Sl8f6>23pKEMNQ4Ajg^{ZHghmvEQH$3o{ms4*o6hgYvpNE+( z#AZ;x7E{DM`7Hvh|Bml=1j#gyl{K&_{-jEI@)yyKG&XZ8%52}!B`ZE?EL7#WtMBKol?Mvj2saaE<61>mL%<6)IXN}3^`@*!@} z341EQrH}dRV~Fjv>F3@mjwCOV$Y%oyGr0LwkxkuPb6X#ms0o?9o+d9{x3cbiGKmX3 z^!+;D#Al?M&g?P9kq(7|b*i(XsOwP?H!ElS*uhTDBDKArqGP#E7dcE;HWkvkaEAW? zF!3|NMZb>RCGHa5#)`X}8w)%}Ey|gW@8DUXNsDR*{esPO{W?k2a}RxGK|616o0)}e zw?Os9aROYmtw`mSga!UI{x(DS%Vyo@y>JF`^Fi2A{GhSfM8=YCUiq2tRfBwSZeFh1 z8SG=1Ot08%#iR0jnhZp?#@V2YFnQ7qP$zE3&#`>FhsO>}OG$enmf?*FVG@qB!C+bO{M}K?d?H2@pq=}!TIg&Q z<|^+Ey(ErEeOf1wvGI?LX+DEA>A4Ka7Q!%PAW&4a-t8+>1M9b(T0qACQ=f;57D`tu0g(=;a7O*h_Jc4JEypx1gs; zCDX69d|g$NsXEuD1H|$3$ZHE}u3HP4b!9=Q%rqHBgCfvK3>j?XLQkgDUg`93gF?}s zS4$rqaDE(s2IL!2Y@kw=(NL~wa24NU3sm0I71mIjZ>?9}bNl5^Al?Sk^y(`qsW$ER z@g$;Pyb*^A=G{Yrb0a>4vvBBZ5U2|)}iX;AAo6X<=K0YOtm49s4edp~uvJxx$&=o-&rGttC2~o83 zfuN5-wJBS(4plr-Qmhz$`*di+<4KB`>;9BgrbANhj6VsJNxLq5IoU%8vF$2M+Z2ek zTw84Kxg}m}jc^*zK>s;O8dE$R&kkO5>*Y75eKaR2>i5fb7o!D~D0P;E`CzLz<48 zBzH@erfNN`nS4Uy3@n#r)*^n}uKHeJxygl)GV-F`w49%s`cYMPYi5Gahg$5e??^in2I<7 zUKZDwHf#riMrllW@f~Nsm&l0q?KJzSfp9hXd2pb;UnzJj^xc9bqY2zVLk%GU)}?}} zB7(TNFqdZnN}qRsHgj1;xcwQt^<58f3wN(P=y%mH3&}An)2M$}(>TF|q1;N5^ZX`t zd&q8vtB(q@FPC>=6)%sC=t3jOE{U+j(IShmITq`TXA`_QKhoBZ7GXEN9MCEV z+~@7gbqUElkbsjU7o$HOfy49&nNHI)#@Dt#fvePViP1MzItEa|goh@hCZ273Hd#4Xdhb+D?L0E87T>DawyVvc3J#zePjBG zaZj%zUc`L}>#2=d=9E*RS9(6nm|%{&E`OI4~x8fs!0ZZ3b-$x(I3NCjCbUBu$h&4 zvkoaim?yiSh1?-2osDeuCf;fbpe3>H#44}rDb%z#W=Jf-*l&-c4uk{yAX)0;9gvX= z#)Ov%5_L%}8e9yEMI=PVh2w~CbgO6&n#>WB?TO?1h+5Yitr3i}=1JW98CC66#>33g zXG+Th=cRh7?7HQYiRy+vd{ov@)w1~xg@TuyK2?xGWXu88_2%M2@eaFd&c-wqqNP26!WU&USZ z8lIHzv`SrJIVF=z2amJL`aB8>O7!d0X?{4zEM+hWKZDaY!_ekJhvtHd^7?hm>;4d@ zeK2Evnj=*zE(YguNX`-&354G{M`WHLvobFJIa9yg@YweQb2NV_p4&_KA0#<1V4d`|3w~@!Wda7`st< zYW?_t6&a=_{Uf&^ zGZWvYxn={#fj-{6v~}bU*&E+%&Wlu@!G)AUL<|!YF&;Wt5x}BM0*{RdB?B3}`gI!y zj553FXs}D9SFRVNei9isSJcMC!3@^b=ePm!`OM}?eK*P2HgZK{1j$CJKRVD)>81IkA@&{z~;ow^HGAt9aw-uE=tusp@Din2k-hBfMQG|V1erRt^^#(kf zQgupM_mjXiJP~C9gG88#+vMpN>pP3tsvec=R=AjpK6(QH<hWIpOCT{1tvWALW6Lfn1W{#(itOApM^OhR99D@A%6#OSz-s+Q!9QsS& zCI3wh{eNMaMeOZeoL&CX&GLqpcB(FhPA>lsclT3!Lj#F_paHxBrO$>L%mD-~b67!D z1~-olI4)rvJ!SWC8`+8~*2V+>RkNnOb#`h)vdAAyqV9xtx zMECS`Ugw#qZsX6lS$js{u0TT5SH~X`jAmqAjD{K#w8ti!gI&?!boYkRVUWz&lbU;j zpI&^siQ!M0$w;Y8f6pGRQGT1+7^n_FK1n%n#=X`JhmStJDve0KY7S67DZM#qOJF9V zsDSvWX5_Ceg7D?vh5F&(%8r5@;-NmtUM&Z~CdhPHI<~GF>GNyiKPMbBbs?{JaFpUQsE*gVRbs zEv49jG95i*$&=}FTc(jg(zL{cLDWfnG7V?guH&aE6kMsRMlX`f2A_$)&f1YNJtD_G zEQRHuh&2^kQ#&G~_Tdnw#7hD^OP={T-S`-#7hL-v%-Yo+CsrqZStHFQd`|C z8@mVz18m8%DgMB0My7%LL@iHak7P4Ah^U6z1F{v&MJJvISf*T}A7KH-4c%fj=~gT- zHX0-tQ8*3d8Qlj)Rv5#D((4pQe6vFQ5#(Tu-+Z>7YHTlH?qLbF8gNPN0T2b2KiU7Y z;jIP@EeRtqcp`2R$~G6e(rg>M4-2lpPYXVK%YNrH7>6+!ClN+~>M1+G3DYy|u6FqV zRLMQ~o8_{~0L09EDk}#Drv!hg{E`E9y_4=#1q#C#0`sN{g1wMR!Sa`_E$=8l7$jsv zFf#b;9e?<9a6td}ThnPw7AURoVe|BpI*p4em5$dICdDLevr=8O`p=QEhH8?PVXfAZ zbbP^ybvo6rIsgHUB3EtV8lqYhw%UzDJtP{bt^XjXYH_o^OqFd@!kwVvTk2 zBG|Ahenv*#WTt1SAkrj_V~5HSuQ~GpT{->!jrjE-v`Zf|a?upEKsR@Z&l7eVgyDKx zIDZ1gJEvHlP8FUycaZm|AJ9DkFDoYnx0Aj8*#)$Fy;@{GLD$BQAC4M>u!Elq_c1vzSH@#&FR16q3Cxx4oLvwP=f+<@S8~wy}z=stlxT|jUJ$d z7cJ6nZF=Hr*d-9e8FDv5WjBhiytFq%g|TaZWe+eyM);j@Kh4r59@aW>%dyuZ8`c?m zc!k_0dh9+i(|LHI1a_11#?R8l8T2y#;fF1N)DLO;6%Q9a*hU$I7&Q|Ib5;cq%!c5DCI5wVr|1{4;5WVk%7rjfIP8hpujO@b~BuVlr29_JWtJ>hp z7A;x0N@bFp^2W-7ryDSO`!nIbok@UDoUw;UrUz>{_12X6idNYNT|a97;#C4{N3E`_ zl#!ihVWru$$=`n=h^UoGhbts>^OIOi!t9sJYex zcWq{GLBO_(QPq~CfvsV?m~BeoXB4J48?9t`7{IN^B2|pL#%|)|Nk;&(8 zd*p6;RXJJ*U8;8rG}ClE(=G}neQYM7w-S%n4>B$Z>5;c zaaFy_anPH*Iff?(4tOo)x{j(uWciGp(pj(CdQ#uE`^6Y1ad1*oFh&s7K9B@aLIusr zvrQ%{S7R&HqK%>e)vG1@Ygnp=g=GVM4CsRWisf_%v<(c^d6lo&1V8SaHp});3TlFk zG#e?^KSZefsKd{jB?QFNTvMNZINe?VKvNGmoo=CYRU?nvmJz#3kon4YoO}Y15~ii< zw`0%`p{>o+EQ~{}#TW!D&T8Tn7_+A-&mOYP^~>Hl#q^H!spWjs+8YbVgxO25UOsUN z(<7r#ZN-Y|o#k}~8SSyJ4jSgG2g5<;8IK%#EcoU}Wcs;K2RA|6f@+&2uZ&Na1+{y! zT;JvU`mgR--^zFT-XJi$H?~ClDYfY6LhB!_Ny7nx=U(#ANjOQ9v`?>wfw~{iF z7iy``+ne+ZHHI(z9M$i67}3t^eaKrOdU~_qpt*>I&Z?*lwH-fFVF%MF>aY0Bvhf7h zAlI1y-Ljs7H*OPTr(#w$4n^uB3aSI_pVg&-Ocy-|^KzFz4#@0e(^$H9Rh3J`ozlWFj&MQyrIxnfkda8;6m}LjSsPrxErj|osSsJ z&jo8TaWE!yAfCfv2+(<<2A-cY#~I^>HZ4vgd5Ba%XU?;u7MVy?F>|NMPNIp0#2YwiZTB<_ip#a=5n+UbTCvk^-;PCb06bq2hu{kC=ala6;aYD60)q3&7JGDnwT;z^yce=7daJ|-puuzal;!BAu=ok#ta0d{S zOY92%j^NNEC64@f_q2YOc@2K3Ht#+bkWS6Y!U$76?$E(tBS1TRu+X`T2%Hm}5 z$G}vhy#EjY|0ga-lGVSw`WuMSVgUis{O3Sa@_${0{C7C|Ke73L@!2|fe?!sUI;Ke` zG81Cx%rq0!BnNN}RAaayDqtfhT%j2wn*)>dzVn9Q#zt;0E5$3rjmJ8z%IBu%=ye9Q ziu%-+=bG-DKXos@+J71BpU-J{y9vdy@$Ie-Mo?j#JCH#6j@d_NnDSN{J$ImxhG4K1-AAJTfTm@y zkwzeV_Rk%-=W&#uk92?P(Z!F$V^pVyN|aM*!5)ghp6gLgG#}M-ClQ35`vbGLj~2om z#_4u1a$ZU2izx8ddYMF z#gRInDsFTHdYY+T9h!q^ZnfOxy2;G4E6k)B4e~PG{ge2GZ)yuUx}yanU0KWTuO9hM zAl4TT(^-N^1gg3mHB{CxW4JKcO>Cs{3~?3jBrL*J%hyH&b%TSTTfw8KEq-*gOqL&x zBZWS*BO+mH>r{hgLv@J=;?sO_9}yLN`zURJ3d(e(mL*kX^EqTO`HIkVlM}zQ(-hXO zS>mk1Rq9_~1CZH`7Tr>&0%wz*WIxwF^^1D^DWSKD)FAOaHzV})eyPyk7lnyNSfvfX zvTsJ$<&E_C92MF>*AHiq@?)`Dn%#|_Qh za(?Iz3f?M$e=pqHe@G7c-=TfhAzl1=vV{LG^mW8*weTRwsf8xSpe_(Y6;P(BTOe)e zH0_Qa1=sMjam$cIbyOuZ*XZDtWbcCGoVO~V+mU;qe0TM3;7?~O(LA7&E*(98L|$`0)graBHY!{tsoLS4* zluf$Jxt+S9_sS4?5D}yUJ0nggbdNR+!=$b!h6pOJ7%i+~+c5ZwSf+{kbP-D&0%eUX zQ~3L__Ams-qVs8?shPyVRnFEI9Fp(D@&g=u6(gt~b2;Tkb>z~ogt}P@EsP&6uY>iG zzr;6e=_=-iC&naxoa>OxsN>Eu*q=F0tZ$tHiNTJTSD&^~LgBrI>2_Q$j5HW}XAx^ym9D&~X_ zZ_d}T$`AcZkQ>;eg#ldX6`u3%Hka9#NRHaAu9V$8sxVSSb>3ZcO(KQ%An>4%cDST>@~&74Zl{1mEkXEVt7jfO7|_C#=ks<~N1E3-dd z9qn~MPSEoiE>UWqUA(KL#Q-MurE7nxH_S+FA25TbvWkZ}*8HNVj^tZ7R=h-$QaqQY zlM;O5?N+dZ=cPqE@}}AZibpMLO`nEc^Y&;^n3PLhyv)PH-4Q&p?wn>>;u;mqxC{*y zJFao4I#f74vU#W3H%_)UtuFXq$XfxSC|+6m1*M}im_6&DaXAqq@;?u8XYrceVyP}w z#Fx`%3{x|1G;_=f72Ui5ejJxJiW@F=zijT=G>-*gO?}u=Bwq`7*){XtvMy8Gg~t@p zH(XNd5Dc4usl=7Gd0#PxSl`e*Fm^EWvmS!Eo!@E;teuWOvo5$FfOC-UC&Lc7ehm1) zMDB2bI_8QRInX&{{5W8eoF?xBqj;l}gj-1jgb%adCJ{Tl&|!#Ym?<~p2G_bH6dSWr zSwDgMT2d7X>z|3<#wCMIK#uwVyE4T9*qY|K)e@~7tu5=+7U-ehaTd$0=re~GG|0;w zn(1QtNXrxoDaMvftH1JkJuxOZcjC|+%WUZpQ#facxj4d;jRVyix$Ge-PwLF*PILR$ zu|tmQV&Q(5I(`M|bt(@#lKQNQ$)DF@!D|LeSgnUd%|*-32PxWHB={GuvWjv}CbLOcpbin3wj(wkwzN9OC2jsj2K+KWXr)1Uw7lIYfp4DU}iJ|6y zWsYq>Dkcq~r+WFGO&6ZR&t0p$tqB&~%nUc3ou{)6oh1SGfeR-8W88{uGPelX-T-ke zk`7;RfYs4s#!&gfZyvhXNf;LkP)iG5@iIpnJ?xcdtgxUc&Kg_BR}ZJ3XWAinV$R) zekh20+d^x|)cdR~bO$Lwyi`YnOZOBa7# zzs9L-LwYI;h*DF2&7Ld$QSF)^U*^T6`wCZjm~2fVFHI~TnVO4YWA>)R+=Zm2?6A6%&V+igaN5`0 zQ?mRv#Ul$=hdpMH$oOb7jIGKWM3f~!?3-=X_7kpT{GtHDzk=oqAJ10Y z&yvY$`2V}@z(1s)|Ly4Usd3Uk(?I{=XCY>ej-=AApsK77rRr~}45R|pwibhcXlQhk z$~JOMk4Su2yTlDUL7g9Cm09`lbuZ!6l02mU)YRuXA%yi{Db|l zi;hHuv<0(K38!#VRt(yIZAFxQy{$!*jYdT@7p>hFX+1#9U#rJi*qt@RY^Ml!s-Aur z18QcAHkMGt^2-^xM@bI?m2rOM z;Wg#_KPzwfXjRk8K)~k^XOrE_^T?AD$z&}IRog;`Xu%~W(x6UZO)woHQPEKD`?(y+ zy(_yx7vn)Kf_d?+Y+}vop1+$Dr8U|JtR}Oh+SY~2_01TA?jSR}REUWo$^F_~ zugzs8%a_p4A^^_N8pbR~8jFsDb*Po)3YQw!)kk7w7QNWJ(A`eaVbebZcD zD$|h|OFU5+OI_a=$}~f~F%Z^*Yqfzq?Q+m6oQh7knGl%rzs~@@?7OSVttd&2ks4QJ zk&9P6W~DtmRXgyLi`xho4m%Z*P0e1JW|v!fUmQe5>Ig6{w=0k?%b!4qWOe2w!#)U%&09pluOgJ?^0+fb$YofO zg=R=-YjIBzBK4bmMU5M;4aL^>$ zDbnQ7!@GBME=7F{8t3qrCEO@#YLA95++Nj3`N{@WT#=z0oL0DRz&{lQv9cC%1NCbp z*VFAPc<~|RCkLqx7y}%~XLC@+<;B%Q>R|MDys5OPnuK)j<9lCF8d&(3Q%BW983-1X z`Hye1WchSn5>peL_Xx+2i@PnSOXOyN%|ELKhU^Ty#MjcJ)vTgVB@gzSeYlQ?zL1y~ zQK6-v$vz+liwY^@S<;0oKVVOy7d?v`QqjU>Rlh^8Mh|)u2+-u?n?(Mj>)AJw8UC1Y$A?R3sfBfV?JK#4=l@63iu=1w;Qdlhdme* zzj61I%uOB2h7+EoD2|LiKR}f@3_aX^)@FF)9)XREew@~1S8z_1Adp`vcX8D_!;{oo z!;|N|FnfxqjbJBFVR$koHiADY>B!g!9X+a)n-4@?gW&e$K)VhmVi2dEk+mzMA{a;> z_e_~37jCy9e)Q0$?@xeQC99Rp6*9lV`VlA0B@L{hs8-7r_=3Ypf7LvqIfyARp3~Fv zM-_n|NWvywevkTPQImE*(;qHbK!Ubb`9%jHOAPHvk$Vo#^HA z`nbpq)D|YG&Vyzq)9llv!bTgC#-+l%#m>lYP(QH;8|;(sFoc{zs%rCquMVlv%!JG<{Hy}VO!`K#* zge&eKsU*h6Kd=>D!xvqGT2&dL*(-uNuYktS9g5ctv!z|uz+>0m{ZmeG;~D|=k?p! z#GOwKXThlmC&U-%cr^l+fRBGOv^fK)bJl$U0Z|770pa?e>6m{h*&~y4Ffp*^9>t$q7<%)Yo}wk3F6$Az+Vv_p0n_=5Njw6W;vUtT zX&TZr?7QuHDWy9EM%Bz-zPhe_t9+!*uUaBB>ZUF8NRBn zF-pCG=L9u=m5IW6H_^zxLoB6_Dm^oNH}3fjF#%Ffc1Dtz0cmI6G%@3CZM3)e4)dm2 zS$kmXiA~a66gMkdpvl)?g}!Tl$B~1&Vm>eUw)7qlcQ&9cExr&DmngeT16>rVW#)#8 zXZ>d3`8Ju1jEjUHGJvdDiXGM1m)TF3@jt|XC?98IzUN*fuy^$j? z6A2mJ2Aun4;H^(LV(Qs*@_OLrw>7QZv?+&wg&3N~O|7KV&*@JE2vcn|0osoE8M(cQ|KEZb427Yj^-JTRpYLrd=ZtRBvVCO6=|EIB%9K-;{+q z*m%nKd9e9v^gXiq8uXpg_~-71d5QuvY5WU!24Qo%rL)$StgZju)I+YA|erFq502iPAbdAQX=C4R@p58(LWAzS zP*10IYwDH6p}ESu>g~f(sju*pRhc=%A#_@8fld=@UzTG>yV^a$x^=lwPJ1E-d8w<~ zo0#yc`BL&e%peQgSn(NpBX@SbS^XL8VSi$YvVx#fIRzSRXVgbk`!0a9lo7%_Ec1kop#JdZixt!qcH@W&xl~?IuM>}jGZpm$ zujoC~QHWVImrO01BbhtSa*SW#^VVW%cn2XVNhvF>wIyXdCuQE!%NG(D61GiBp1s2i zvsx<*yjsM0<{=L1-Qjm8Un88rBpv6v(VV%y1Y+tvw9iOMtA~u~02L74-~}}t-@afp ze0&h`;Mj=+8R6SQn$+HAx~s2jz`A-I5V8iOF}hf<5Uc9gIJfa1ThLo1w523X?%B#r zzi*CiBhkEDZt1-ZcWY&lg5U6m`hlvxEq5C@j&&P2i2~)pF1H;Z^}FfS`@ObaXN4QWsG+?$kOG2?I$+$$E*wIy#cl!03YFHAw-U&e z-Wp0ZK04v_1jTJFq3fYbW07eiXZ3FS`M&3&fWoc3(8rCHN}kN{Wl(}Hzfjb}fmfB7 zO8d}Y4rY7g*)lSXdTVt8@ceQdF}Aj|J$~mx7E7A_0Bv7Mh)y#qof^H`1`@xpJ%?%c zNQyrGX|lDJ(sQUXEx#R<4c!;7B5V=lHZN}P=-a;bI`Au{D#3*se|+X;F7CMDjbV%M zRr8{QPt5^#CwG0+?{bjvSA+g~2p*AbMOCzztwC4(VvD)v$!eA!$fbi(F9Jj%p?~h2 zr{YX(m(+Ht(z~TEQUwm1buJw6%7m(O?}0yh^3Hv>9H zzDR8*{1|7~;yd92_>0=^5;RLbf4UwEFScPHfTEANKv9f4#7)r;M~FCGNrM^7GW8-J zdtc9_OVnQWiYtEgrxcx1Vza!kT`CQeH7D%KiekbA6{1rrVdFumBc+)awo{8N&#|eK zq<&V}VewDn4euDKP7yi-(%5P=AZNrDtl6dF1A`eSRh#%SZuVma6|)TO<&lbR7|y=9 z9Bb$at4k;fn>FGtTE#JRhhT_SVV*3c^;+d(vre@$R=1u%t(no?^*1Jk9O2GM8kg~_ zO!8>`b6!=KRtk$~n7WH|q0Diu)9}V%HK|k==n_u6)v%>SqLeCr-&a|aJ z2mpNJrIB8@0<{HePvF9?sNeT+Z1y`9UM(tu^ac8~;LcUJCbi=A2d=dyMDE<87bIaW znPBv;wh`jlG9+VNM-Py5?U5}POYr(7b3gt~nB~e%Bc$}X-zt1wf4O!3qoR}kpB0_- z|7FkV_-UHJ;P}4{ELA4P6{yFh)ug25N5@9#hQ}s%l@Y1s)u6x8D>AVtG1b(waMZG} zC_1_$ASyAjFtHubP>oE=$TLtk$}`Hy4NK3Ky^oe)uKR+@2pnoWa_(o;o7kQPFp@J&h# z3Z{e1xAqgH7v&`@*+3rG%8gF+27UHl$Q`Bfa{ebWGMU+v)3*{*BZsr0{9+Wz$qe7^Mm_Hae|{Qj4R>pv@PO>C|H#c=hn z+ruwz3=cm|t>Qo76Z3!GE^Pdl$k@bH)WOc~(;!IB%HHhL+{*pajP$?d#wluc3TU6s zqpA7^T%%E%dHEt=5*}8Rg~SURV2E+0X;7`C-aI?94-+0_sx*=Xw;g&I$*22?w&GYO zE`BxKeWN03W##2$on)=6TQ%tF`T(zq{SA*(u7qwHZKyUtwb0x+(SXp&w>>&bl`US2 z19St zwk^6LTv8;knrD)kO58kB-D&v}VbWOPj;;e=5C$+R{Wb{LxfMMeR@{frJQj8iRO*N` zc0BLQe{+JT?K8#VYXob%fI{3ubvpX$8aAoXy%-OoiPy@!cj4S>cAWEA(O963>&B6Q z*pFDOclcOz()i)C?9ghA?W;mf)X38a=;CrAFN>$^YTv@s3urFVsjfkM&L%^(wm3_5JUPdb1J{D_HX9a zH2cBpe6&o6%3Wp>13XG#QZSD?l7-R4FKyDv2+%5b>sN_~o7GxCUL|Cp(ds3FonVvd z2lSxU0Q`=JiR8kG)5G#A_zE5pEMm?FP!a;VU+>h1-H54MY_YZ(NDleGJ8h>5MF$R2 zWq}o~DI$g2uu3VvV2iKy(fxsNys}EH(#St_%V{T!XGri3=bn*ZVhk_hGlnAb%BnC; zVaV6(pMZ+|g@M0z<{TF!w~Tf4+V$HE$qU&*X^Y;=(?D8=EJ>gAA%)LDESr{czCxnDg6_xQp5TzXc;ZtfX;hoW z(V?~0Uhvq*m;aM+{1r7U24-=9&uBUNy#7s*`d5(sEm{3+b-U?Lu-jRXtdl;&UZmXlftss&4#_1nV&>`e7Xi>4? zBU}5%ExXF}nj!gB8NCaeaY`$KRX5VhM5fIn5gd)vlkWBTWMcE+qS};_3ObA^k@=lN zuM`xaa1ZUe@f6os0^;KY5ox`M-J41IJ6T{xHca7Bkf+41$p<1R(lfT^>nbzY*HvtJ^EW(qWBf50$&{qp zufU%2q7SV`mkfsut!A=s@3J<%lf_&Yyf?k zh)d!U@0HG{2VaY++89*l%5jmoi!Xge7GdW4YfubC4<=WJp(||Ykwf8!?uh~ce$lv+ z;}c&KjuwL6kKMq_hWw)n?Q0Nr^Jb;d`{{@ZBCk;Jc`D z+!ApjU9NlB4x+o~__NKJxv6~oLQ1jKNUOy%9uFAI5957Soq2JxKLAVwLWGHCOAbo{ zOBV^I8y>1l%QdI^yG5>Gtoq_OldQ7rU@GBLjxtjuH!R3Vt(`cnj|F)mT zsIv+ud`|x$2oR9Jtl0l;KmE_?|BrdE^2ssTTYUcNX!L0V`QJ9(zf^@kH%s()^HwvX zb&*m=UDdTMvUozPyEHSSRCXy1|Y*Wq< zu9oDr=Fur3j8HM+?zPjjGi~8zX%e+)FVU8+y##fg86^{OJbEVHURpKC+_#Bww~_o! znA%2Kh7!=^+8~*wf}`x6@80+=t?k}A%wzV&Q*|TV|eQ-sqCjKNir%#+s^@-+7Mk75R$c} ze{0d1b+%v{XmBC(qV=d+Voo zsko{QpR#VVl9Tdka^xjxiQ(OIB54YQStIx6-gAoMqwkRKcVWK9N|uh7AIItvHptzC zfYjmd@-IU;W0OSz4wq;}Iwx&e6-~M7dIr(O?VEP&k2QYz6(~)UUhE4RNAd=5PO8%_ z{~HaRNCXAvhA>{-JKnw~d@%h9=3lq9BT|GL$xq}g`#InL2Qc`zx&FDVyV-qu(0|%! zoBh{1|Bv-OC1G3!j2S&d;f1xJp;6n8_N4csUJYt7B``dYskx@;)fE?zkRisxdScT; z(|q;Cmx@_h7K1)eYi%!k?R6dP=KcBwatnSO6?TcmXjOb&JgA%dFtC_E@Fg!mfv6Nq z3B~)5suPNPTqt;mEVnthS`M6hCXf^W>56VubTIl|LbR-T_|Ta6*H!RVe;Uo5i1;AN zZD6=h8cS>`Hr`MOY+ZW9-3hlL5_MX>?A8FCw54Tfmo9RBn&&G3oF>nIC zU-z!rvu(2%a>Dv&e>7*y56KhRDFdh93pw3?5!z3kqUPW@N0}{?4@TRrv6A>Ad~5 z>S4dR+;O#uWdJ!9+cmlrxT-#t7(X4s3U_@kOm@OuY4r3Z{;{_k_Ljcv#4W2(FK8aky{|ypVOp@IvMQ0XU-qISJ z)PJ7I)D8V3b*J%Qs;+cbn*`WYamHH_V^c}JC{_P}^Lcnj3mJ`~;-bOEqDKD$ZD z=2FPs?12^KB8gB8IN#xXq&GbI6>8P22YPrCmBh#j3*b`8H`M7VlYa4 zpIahc7sw@$L8h3o0M_^Cn&Y)2#S=fIcDJ6&+w|U5{=^zT2O?07$#kaB*R2vt#~cG_ zYsv)#brDA8Q)*IEu!cX+bRzw#m+ia!`^o1)?e0exYOTdQ9xW%b_KWTjIK9${Crm{w zs*}B_X%&s);F+{^AhhwGM5j?b@caw;1jM2LBQYte8gu1 zOIJJ48MtQ#WO*40+HJRslF};Ipi;kvf^rxZou&I%_E>c?!~sHr0ES537`joX*e@~N zKU);tR~y}vU*U=Piwv>6(QSe55E>?7fxn*W0~uUtvHRnNc6T_;Sgals(g}kDWF6PC za$V*f=B@QARf-4b*OlZ))%4Ce^ycN*ldkFKhz?o&H}m?uqv?EbCu_VWX*>}p;m*!D z)coj<3CDkzqWvtOu(MeUKXtlSA5}MrDzQ&+l9Ozm4V5Lj5Ty`Hki5Nc%d97INv0HG`G3JRjS4r!yi#jEpiRI-O?`P^ZrJrK@Q*6@!=q#iXX%A(y# zEtG_tTF>ee8e;(FQoND{m$k0Kig&axszzqS5kXekRaM}l=99ryXK)v636Msu2kI%a zTaBnr1J0GM)@{s0TMuNhy@HTzsy+)+#KHS|2CIa2gEmM)wDQ-2^GGOj49}kjP=~pm z&JZ=pN%bGa#br~k1HEXi+&i(}t=`9O8G?Pt+EIg8juvxMCAeeIh|Npz}Uw2`$03zq>JX}1}5wZj8Gw1Ymc zsG*5M(MAmylsFghwzMhuEX~FmleZt=CpL7rk%Z|Q1Yx!6 z3T$EbrvcPb(+AYS1@n2-72)b=>H_D|?b!>m#M9x=Urn7r)pm$&(UEppuA!}g1(xV> zd2yCJN&`2wSg#;R#%;2E;q;96UmN-Ngl+wBw3>)=CReDu?*2@((GYe6w5a+LQu5Mj ztee@qA!oX^bXj6XG;n7%e{sj|5uxdBa0RiGW0MHmD403aCh&j#CW5Mvc&}ho=ZUMg zqjeW~*p63m+hE}^6~}1!-4>1OJ02)r*pN4Flaj1J!F)n0P(< zN}tO#uJ3_xVs4OSQa&f>28y}gu9C5-j<1pf^S5ceC}@kbu8ldu1he+Lm`w_s)9|Ig zVVa!{Nzd(T9{E(Z<}RvVz0+~LXmj2_+vem>v&SfScc+QQS=jqqQGljl#CF54qxoc- zJ93v-l5D{W*Da>}i5a(=%X&L9=uBU6Ir>_%N5?UlA3IYkFcUA4TvRlTZFOTrK}LnJ zV|V>n$!a;OR6|^l+mYiS;z~d%_(J*PMi;pXz$DZj$-curva(41;IM`1gow5ykB@c8 zOwF(r>Ckx! z=cj}-;Qitc^`@}O{KiA}cM|rm{CpSZUS#GIu&sXP=bZol3Ch2xCV%mGvx?~c7Yox$ zJlGB@R}f-j92+Ab!c-(&Ksp9P7SWwSmY-TP4Tb07f_+52SY6)}`mdG^Oy{sC?J~KS z3ZL>i4zq8w4%dA2R~)*!d?6IO8-vl!$?tA7kPgJgWRYvW8llLN5JqXH#_zq7Wru6- zU$LWVzn)|T#RFrytNGzX3$E#K$jnPa}%LUwJQe9;h%TUrIcAw1y|ZEd_lUE zaM4}QXdlUA30Dh{{Gq>JMGVb1ZzwK35Fqe=*eJ#~1lb9Zsnn6~h~T4p;;d|sRJ9NoCh zRdniy+gzwc`p70rg`|a5P)Skbx?|Z(W6vtdET(^~%BWO;->#-Z96#odc;>(~_+2Hf-DaiG-hfG9 zQ4~aq3HFI9kM;FYWA4nnD&`Qo|Q@ybGA-&hQ9w=t$_QDfD+5+}yhYdUVLANET z!{sw(znM5$)%Uj8Ebhss7hmcyA}A2~5kT~Nj!xTucZaQH(~y$;Mf?yEj176b4oo@Y z4V6j-0||A)^93yx%e$2%k)3Mg^NW1q4)!>MkC;4a{oc$v3(!WJNZ5P5SVq}KpOI$O zX50~b0}DE%{C$>2m$i2ZDSY`jYbb4<^(9(3heJuK2L zB`An9PVp2pai1B%Ep(8G1X9B%GwENDW;(nab{wY3NV6 zWP>XMT`7z>8Z7_sf?ETNy)k&4t&Q#c8L%iK|#2v{CO2 zBV(XbOxE^Ie$gRpYKD%x47oj)hMZ3Ij>O5mswhd3m^Usf%*un*8;0jGELTSDY1CUtqr4B$fGATyOge-FL6 zVM0&kEXZ)l$2w68OyTUX@pi_)c|RlePg)jzvLkAG_NLjDktRel8&$J!(9$yD#YmWl|cMH<0N)aLF` zU=}n3nI0!+dzj|YS3%}xzoyzrn!apvU_~0Sty{B({zUj9O38?MY45{eaHt;g@F!-V z;mdq2EwdO=FXD@4XgoSXo|_;`}cKsnZT6qZ-;5I+gd*Fb>>jN&7?a#TYQ3y=VE2Ge&LUFv6ACAsi?3nzwV z9$9@;>Fvb^9}<$@&gXXPd$uhzuDBkM47m8;jd4Snq+6G6hAohtLL;g@E_+2u-GaW3 zWj_^t5~8EtqtdZ2zndpG_hZ1=rOmB~TM{Wb-w+p&Xf7%AFITrFqN=H%NHH=%>EacB zJ&sD}NF@*iS>;xqhawVG8821C=t~hg#Fha2Wg_*;6QwqA86C`=Lm&0+rVl;B1k+mc z&17PSP0cHU57pS#+=;*9?cbv3Ep2SZ0b3^WjslAez4yX zQYM(o5}t!?@zE*$I>t2w@Eij@hIoO2wP;AnlJGd@$5}W!Ny`+@CU^%JL zDELdM`I8VO?%i2VRi(=)xo)=jz23DvX4^mQUK#{|U9oh+m@wLxHDgHN*}EGene#A3 zaTc*thPi?}7zqTfYR2~wV0e&v;$4y} zB>Bj5SCrJKF2SnuUg9>YDNeDsRBSG)h%Yj!u=WxtPcfV9(XG?-i1g&G%x}*Wm+G|4 zMW14;+aG~?Shgn7RzZ*c@=HDhWS5mFsW75r|L)k}%!=nF)lwSb3YC-)u1Cq9s2JiU zDHx5fztFs+fyPq@G)v{YDcUEwPSi#{*KadWb7?88xI33-63_vC%vz%58dZZ0x3-qKm^MkhAAeUm(sx zySNMe?!5zsfXbtMY2##TD$N-Ew4&sg-o~K>S!sw1B zLY|#(MD$SZX%G}7iilPipwdxdyrl+W{6XHsxWOMBPj*BWnPadmfv_&kSkhL@<~EK&J4Om9+zsJ{!0 z8Cdt$#XYmOO>omRXvWGK)1L2Q7y1QeZ%)U89NI(_E22(LaeSbkmqU~J52UJr(-N|` z#Ks4n4lYjTZ85vgLes7hWyrh*c5m_2a}?&h-7YGK*+@q23I}stkov>x9f>l!a0@Yr z?m34nfRpMQiv^;HhF|4G6|CVLj?i*R`yR}Nb$n0O5Ig4EALAJSI+-b>i_rDRY4 z%js1Qx~?tk?*^P9n83oHf$gy7;H(obnkvq*=6Cqpo-x0in7p>fv!7KU^9_DRjXtdes@WZ8? zdP3}WFCSreoVmp{YA^PA7&t1!bDpG(_Cu{7w;L1My*M&X`@p5LqTs{^rLqh2@ux0a zP4)OivUV5u>diNKZ>+agB$Bttello-WIbQj!VJwp`=2RI1xc(m{Te-nZmH#E=(H|T z&y2?V^6}ZG&+_T{?B`mX?|&;${wo)lT_l4q{v>b#|EY-mpU)-#FDzk-vff{cSpGV# zI(K>b`ky-<(bN*u_UHy=B$h(xfv^dDPaM*r=R@Y|=9J_C`GNq25P>JKmx4$SjxQ*1 zR_=rozuFG7NBKS8-~Rl8-$FLyjFm`%%k>>!&^9>GOBsZ%~{ zCwN6RZ@-CU0L|C-l`?ItE_VxUI){UewjYLvG}oPeL9er{O;xWoD2s5CWRnF_4UTJu z372>=q6%{+3X@(uwwx>r6ts@;Ch+w6R#43yNWhP`Ao3^U9BkZ`sy$N3c46F`h-(LR zDu!<7ulVk5dLcVuK++c!!JewnPK5R9Uhk=;jQL98DebF}MPJqQfrPG~n4b5wt_QPL zFsr_Y$;W743wZ#G>Sd`rck!2CT+)RXL_@YMU(}e;_4QiM`63w*p51WMut$<4ji}^F zTFAY78P3u|Oe{z=_*)@@O_|Lf0(zdMe*`TjoBDnHKtey10DpRdZm#E`D{Kx|pk^@Q z2Ih}r(Yct>`HLJy1DCsiQKY?6d@<^^si~F4ZwS^%BW6doMici5lyu1c6kPs(27pHkS>@J|Fa@LSxtg3B0jatC8lGQ3K!@V;jVRb~;Rx8|h zytsaq^kT&QjAX}Pv^*O49m=44+|PrL!RWqY^5lunSn8=&uuREz)g20k zkrT07XY40#*-k?zxEL|nhqB5D4P~Hut&Lx8gWa9Rb8Y4;e&nmhx1o3q2(na@v+wGQ1l5etudXvwSZ^#F! zQpewnmq!GxxYX)AXY{q0X@Jz_#@R_IaJzSF4JYYpbvxdY^9x&b0NIpR9R*NO8OZ~T zMP`aDWxJ4zBTJ8@dT6BN5&+}@2yuv%+x*hwHO(XgT5!+MU}HzrX$A!gQ5l{&)ab|~GZ%YjAS zBGS-in+6zTuUl*GA2u|DSnkGJ&E>!YPUHfO6CA6%4YVhe`gvn{UM8$2G3 zf7NafSM@H|6ZxRaY{y{;70$jlWN{VUPl1C!gn+v#LpLhD+I83IcDX_zic&fRM%RoJ z0v?Zl3>=St5Zt*~V{PHrER=nP`bmNb_0bRAT2k!`iCGJ}Y5$QgL&U72ghd`3TT_ik`PVo%J6&>8X`jzHF1baJMqqSCWfdA6Tws4+(k!y2)amaGvfIWy(>-n#Cl-W7R`k6QqflR(a)9``;#-m z82pYO**a2G*fD_oPJL}DWv59?x>p}DXg_JCX+RD&&=ST(^?4oMNPZxf(m%DM(F( z)%6!{^mi^lha8?V`eA&u*6nrgij7U5>|?c*B4T~}SmCj18}Zs?N+IcXc^ zAR-QNfS2b2szPPN3JzVsY+tMV{M~Bqe zVVRm3+I0x(IeGmsr*+<;l=(FL%cPu+j^7kz?v9Zq&3{SA)9{VB4wxBBPv$0wAw}ut z@l!y=5+(k&W{%T>vud39epi>m-vkZ@|W~;z+tU8||3mK>g?Q&^Py+z_vv!p82k&rv# z0fAEhJ^QG64Y#z}I~siymzBki6Ux<^;gANdx6?{?DBhucHx)k1Xc0m}&Wt58w?R*h z(wJs-4)kA>oTYD5lE6a*sTaAGLCd|6$hAM#ziK73tN45I(O*z2N|@c&_Y-QteL^js z|ICO#8?{@TnYey_{IhfW-!|TVQ&9d&lvU^zLJygQ02lKWRP4(?>juX~bK50Vil)sc z!+sRyO=Y$Vg9n58kkO!Ec>D5BwToWHyd<_ucX6D>y?N&jaJXcw26?E}5yHgtvOTCx zk)#eg$9IQbMni%1laSJ|@d%bvY0auxLnZDagw(6D*IMM9(3a&H>oSoMyImSP%Em^H z)mHXuEKWalS-lQfSHJneyCRiCOaGKh9rQiKzTQS9l+?u8O-}Rv$->fic2OiWIL5m2 zzFT7KLF;Ilpi=B8<7gu8hYC^*S~r7M~`}AfjZyL-2kfoQH}ejPJ)v zuyKIQe9Qw37C}|zQl#sR`KdmQ>|^sh0qkZ206|l2;|f>3gCM$K&5DVTIbg^Jp|>Xh zF~*TA=$8kScI_sYDwD;9ATEyLoe^LnGs7-9dg7cvD0@s47DA;C&4mCCfLZ*dAPUVF zW|UbsZu?IA#0iq#PjuGcNCxz0w)kkoku~Vg3~^eRl4lRf()+*Zng1G7x$Y;MtiHBUQQ|8*l#v+p z2JW)=K%sCMV-YfIk=e&DkXh!-cJ65dT{{6=z_g!FhQ1GyIG1#Ia&VAnqUk<|6D@}m z{2mX7)ef6q=C1i5z!a31rer~1y{U1iP91?lRX33Y8fv(BjrLQkgYJ0X|_^gjCV*Tw6`x^ z`|*t>p_d&ktR#~QlscnD#>^Ox7c!f<{cV%kz&MAqzoxE?G_>R1n%Pz|?qKOWnqV=h zRiN)85~>iYwMB>(ePKF@4ARd&S)9laU-wjuH_07S3s(R&rFzR?Xj^Lb=bSL2F6Cwx zSWO7s9V;-nGs9H2tNF_tWj7`V&i#bR1H#!9Mweolg= zKC(mMl`PC|zs+Hsp`m*FP4$-E_zr9)u85o zs9U3efQ)?#Q2*bQ+&?DkKPfqFA46TU6hRApkAs6odC^&SSUXW7wm9ioOx%^bj8xDN ziXupD5wAOn7U|+&W5F#+0AYO~Xk@!?(FzF?O37EM$zWt*B{6Yij1)Z$r)j+fJu?q+ zb<8REfWtP{B(Jr^9zo|WpRP;aLqGq`XMo@J(Cj4Yw6Q;lSjU~<%~KNJM(SV=yEmoS zhit&~u)^g@`m^A#m1F*xjYa9SYp`GN8E>?I?=qW#CTEP>Wnf>@DMJ9M1_|LOhE_^GOoAm<{rIjbTAj!fZm^l!RtabpB+i z+UM~CXOBIqk3419FPX))pYlu?h;q{&ly$W}ND4VZk4Zam}1;w~3NvRX>?AblQ&MtaYeJvJ{?^7W{ z0&uqQxafpS2jpOF5-7m;{{p&<721)nDw~hYc=D2E`$advWl*%q8T6|zqc+%uyQ^m= z@ms?*vUwC&6tddb_%hF;v%7e+SrxCm@aAe%<6MFUxv6`QSYeFW_)0H)83!|;8A)mb zi^$^q>|s>Zlukj8KYa>W$C~M$;WHNcuFAGBW&BWS2-_g;vtwQ+2;;}OS6$^QU}D~0 z++$Q@tU|IpJC(%NW~?r1LAMgW;HtuA&z-MP0XaErPM3;p8FA6jIy1l;u^Xpy>$Nc` zBc3*&R?j29uO;;(XbVNsoozZ7&`4g84tctJAZ<)Gzc8EMxQtS_)zv*>$@f!xe6O-< zd1Ox~=jit*2{^y9xoSi{i6Iicl6=HwqVvBx`wFNkx3y~l0V(P3?gkO1yQLdt)0=MT zmhSG7?(XhT8j&tZrMu+ce#djwt@qqB{+F@GhA~)ku6S2H>sj-8Z=l>Z8Phg3LNk?k zLR!b|fps*k(K4U&o0!v(4G&A4u#bsXmjb7x45}1(4zl^glQ;rQ zSkI{@s#^1`4@I`JUfQxL&idlLj7l5fLU*1~Gf9+IUksg@?z5j}B3M3kdz-&$JgxhR zs(K-NRZ&@yEk!Dikv6%ypAN+-dW52xn@=_3q$mWZk+P)>$3o2cbwctxOLI3Pwjk?k zJynA4Pa{GfFAtBUg{7ZpJmd&g|9G|i!6>(4_0w%qT<&VZ5_O_oy2Uw3;OfEv$Hf_G zcUqCqDt-`8OIoyqqsE{NDtC1@)=H_?8!~pK^tT`K3K)}JUTgV!h4C7d5DVR@^2Eg+ zAdRReMZ7zis`(;ynoj|t!zlv2ro6+c)EHQ#o|>Kn^S*~CH!GDN#!C0}JlQpA6U$|c z(|rpQ#~!f?)6%GckiD!qA>5OvasOmbN+b$EUu<_?{-Q@uH9xpPORCu`j=10NAvgBm zlh!ifCMbK9R>St`7M}?vcSnyE3mRVXzO-Yt)+cBrKzLq&DiADxaR{Jl` z&hl53hQBz7m@ELth8GOS_$%JP62|r$Lj>x>qyy)k11RL&un9T$pELx##y-jZvUmN++zJ7GNwmcz9*>1e@(>G{8(U z;ouYW*+PyXX@N|L^p}~weW5i4NdZ2C!@b+y&@>=o#6ewCRil$>&^rVxU6|$0*PBTb zsWQpFwn8Ru*wLhlph}zI$91cJdMND{(fMlgIcM8UrrH&s?*a42bY2cbJ_e1=6sysQ zEy@(AK^V_B7dW7O`6JR3mDsl6$axi&s?L>woZY-8-|{|Wgu9usm`^nZ4`zti{g>+6 zv5oEO4#bK#5?|KpwzX!`nW`nRVz|xds$h@YHcZ#b*IYI=T%r0B$HALuTJ^05DaXxD ztHce=n(0~buutxceWYbiD#8oQb5vz4cvW#IT-_h!*B60%`;?q~GZdeLW6`Xi67M3q z)lD0#zsV{gT7AFXCXbT%&O;G?gm9gzy@sQNuIXcf=F>Mbu6YCEjefC^c~|^MQ-mo? zAge&9+nAh2t0=bpR-zW`2PSL+uMytH2e4zz&@x(M0-Aw)yqJP7uC*!`jBd8bOp-N)Z>#F!%CAka2Fv!V_EFDg_G5cL& zrQqqwxkR~LwAOwjrQ>7u0;<6fcI?5a7@5-xi;&=jU~QAgWkiYttk73iJBW+|@$a$< zK0u;;AP8}PbepMdj}zPK{9>foW(zws=<3n-(^HP&eHk%!{)DqZs|Ul{Zi?9nkjnf8~ZcTQr;<&zX*EHI(2y zpSLGFQ+$qkHAs#vsn-PYis+i-t98Ee0atOQP+6+T#^lCh-vi0aUQDRb(N#0dt3&_U zIfdhTelc&rgg@*{o$aiS>2uMt2HfEIm;Q57xQpOAD7g|-dm2w z)^oVyaCzuS7D6r=B~7uys@5l6-5j;GmVS9z^cQd3$vM(?NZKi^0C`s9p;VskANfW4 zi9ZE&e+@?WH`x@VBhJ;>t8#Gs3}}OzR1vmc6HJB}svz#M^Ea_nA|b%Zb|z^cczA-@ z*;Uc*HjR=tg=0-aFIXvHQd@!5mtYkzrxhk^tg93@XP=#Yb~Tx!i+>JVWnWGFc1~Cs zZuglyadwqLFp2!xat{^?Cv?vjYh6Dq7nIq;F8av$f||D(xz1d`U`1)A{bJ%=7#29xOiIVGUk! z=93k#eV>aEnKQq`kaOK=kD6r9x|b(y66rXma@iF1tRg>V|1Fb?4}(j1(@y`CaC>&z zDSq%ob4^J2gk`z_Yr0q~Pt2OOC|p^V^p&!dE&gmvnqo`HxivA;A!bd2RiGk90 zP1r8bhg_2Hfn)EiRkK2b^9AP!nle_9>lBh-K{!0pbSRi6`Q$%g#d+%P^1vR?-ufH{ zFgt%rvI#l$?!~0q(PsWLk2s?2fZQqGHW|XTy~o#hrdH4HquS&mGNrbT@lR>o_Hz5# zQQj7$4-~7yu6mJGSUyF1Ce2EYSw4N8PVs6F2jyvl1Agq&NM9{Yta?jF<5gNcn@0?m zuK|@2>Dj0O&^MWlR46nJtTMw|yPBUfEKZ&A@8Z5nE%VY0O5I222~a3$$r73CtY%r< z+zl+xkdxO$7uGI8peL(l^hK-qutbq+x?gUm)ar9{!!A*6oVWt9^lBdIli#*Nqt5#` zXnQ>+koO|!auIz-ciaw_4)fI+Vq=;k*qtv~<^(n4Mt2oU-px0?bAc|oP;XO(fbF9* zDQ|HFd*Hi!D&-Rc@{M;q`Kgx{*Wv4^2S$fb$;ZQQYs5M{8CR-tE1Jp(X&O8d<;+S) z*FHb8@S+#nv2WN9rFzwREQZd)uonReD6kjl)x9YLs75u%K+9em9b)0emwA#^#Tg(? zLm*{0OJ@ZP`~WS2=l*&!)p`s`U#tN7-Q&qGl^f{62@y-gk5y~I(OyE{~#uPuxf4U7I0IIKnK1YY1T&BMiPYqU0$kH;F)N6>(ph)aT0oroRN3^GG<+;R1E-r6exBGbn_*b>IRlYLa zrMAClUrE@mWoRMHoa}(p6;*=@r8E?dynFD}6QTF17uFW^HPOV0Y%*-av(V}K$T@!b z=Of-8$U@~0IHRBxJO-X%TmpHd<9fTj`iKN>Lr&2)>%873$K;H}LNC3{BPQJtzU66! zlsF?Hc`^1P(>o#laPL&9#)wb-95F{CNpd{ZXMFs`ScBK|vAl!99i-jkh^;D~m% zLW{FELpf>H2b>0m*ecNypVQIED>JX&&t5@X4~W{K$8H}BoLFstSjurYJ*e^aD9^6M zn-dwcyhC%n9SD$sIki##3eO|a+WL4IUc00lK!dftass0{K`^Fv+TOb@aCh*a3VEVE zPtcK)hg_Ao$SjDbd2W8Y`1E~Cz#Lgz8>Otro06~g%xFZp`{%*w_7Ioz>Dg)B7@`5> zqHXlmZOzv1?Z~>fhcu<833axKdW@*h42>Uoiutti_$Vi_2bC|Z$n?bn)_d!L@OQY@ zcaIt0ws-8m9+zkdqiK&2TY;+C^Mu}8j+7LyvgU>6zRP^}jQ0|&;e4f4r?VEjZN6w_ zE}#`%x$K(e&6kmmvn&Q}VyW&krXHE&1tlVpg(aB`CnTKS`8CdEVd&PAiPY+m2ohh? zC->=JyA7-BD~=qOZ!^lGd2=PdLfwrUvL}$>es!UD9WPX&Z+J~0-YSd%%XhQFcd)K} zQ?Ltb%k8|~j&X6HCyn_*Hv3_jR`$CjoEQ#Y^HAE*&n)Nq3%)iFa9gq0NgQALAFcDH zG4(q^ZyEzy(AHIO%KKa>``mHLJ1^lf0?zeYuuf+HEkyQONjm}FWA{+MT5Htgf#EqI z(;_YCfR_E=m=*<%Kv(SlI-a-t%XCv3=lNn%0H?owCd|R!7YUq(H9!af)O>PrsNO$H)=yID ze?n|i4xCm!caO(WtTzYT)Z_M1uP^2gAr4~JiyfwNlvr`m#a|?<5mX_@FVMXnTByz? z!i)JT-8>lCdeT+j5@6*vkEy7G-gT@>uw<^8lMG8Pt_LIOq(6QZ>(JJ@tX6`Q;p#Cw zz`~*7(z|RsxteWhd6~|*E3Kr32)93NXiFG_=w22`qO1+TF&Qi^;Mh?@($X2w(d)$? z?~K1W@V_$FuG|mipEme9q}!-vadea&rL1lEpnDEAoI70`QB!a>DW;sP`=dfUiwXXI zom%bwY!#>fb2lTyC=G+ixNZQz!iV9e?Fo*DF-v@jF3QYUx|0|i%HIZz zW>#(uL|HU!g!9Nf@TRB?O^?BW&qCmkVx~N*d@m*VvP;S@s|FWdLk>C=H5CaL*#uft zeE)fLivL$!xFo=6K2(Rx1BM#y`3~(zu@l_U7}2BadVwz=n|+{|z6_3Sdole9(Js;` zOrl6LrKEPiS>w`VK#P(Xmp>QZRks5XgB4(2tOb$d(`4SMNQLH6{2_0s?KzW-%L|L&fk zv?uq?&vvq0C%(31LmET2lWs4*3gZY}L@z8T$_oz0_uk);QM#`A{l4C*f*a($6j`Ln z8WbqR-1AAyEDOk6kS13e_eHv$@#aMaar*=1%4c5mG(ZCxB#l_nr^VUXfXDGZ&Peb> zUCM7XL?!ybPD@ZASWX>*7AOh(qg(u{$Pah^rc-8>3ThR|HXiYBM-GEAd&Vw z{qy_SIvhpLb^tqKDR+8n+wxqcZ@pW8ttfT-$RZ=rQ?l@wLX#Od+*7343MKz8wRB@x z&V+z0+2#+)#2lqY9r$Gy(>nb{SEX1Nc-g)9M1GF)Ps6AoX7dPJt-I=m`O8nR&Twht zui;e4+t=xxdLH=CU{5&nWfY}~u1&VEr~t5V;ITVd5szIKA9o8m*rc!2u2D{d0;5`7 z-v};x>;z^-oGB-wqY$bAwg&*}iT%&~bx}^FKzaj&(&|Py2TXTv%QpCqnd`Kw_6t1} zP{rE~-jdLxICKfwBf7Wc?UmKWGvxj|C&pq{jWm50_SNKzfF55Ow=I!o#JBED^{44C zxvlCg$_4Fj2)8ABlYvE7Ck>=8_?e{JIR(*kZK4y(7J$@rY-phug3tuJEi?eY;h|_077@2O;okNXBIgmdeIPVt8T4C-X zPM5$Zw246FDKyLHPuB%8#I6~h>E7GZ9@fc@zbyCEP=xUbjq`R|6Du-Ry3oR8w#t{> z_vG7)y6YHE7a{P4%=uufB6-jr_cDwUk=u+x8>3k|hNr$0=v3x`f}XU6>1qyxjP?(H z-Z0-C+T*~kZ=5JQI05%gLaWEGCHmpwzPq-szgA6`Joqu-U85*@B`8!QDabMQ`S0WU z-})*4<{Yq8bx{pp6ysjD3ea7(LH>kB&F2*g8fuVj#gb;F4_WP{ZuI^7CK?kK2(nTBUjG)H#hXB+z7f+ zbOw}?@L38Y6CHYYrC97!Fp_oW(&>qd#Ag|*PI9`2cM{|37^7^4g$|8HP1!r-Re-8nv=~Te>P*J~FK(VtHyS@Kp)cB`#+sq!@;PkLubEU~@gSpSFI`S5x z!-cs1Z7_DKb5q(8r9k23@ha#T5@hk+PE|oIC7BRw8#2vfxeUNz@410RgBI^-Q)p<( zy#1MiP`$b63-s)=bti ztdv5iRp^aT{8;n&%>*@i6D2Su z&f}~SS3|%x*cu|8*Lx7W?}&*f2GOgi8L=i!akBz-{109xcT?3r1G<1t&P$ z1-(8Bwjttb_9NLooO2PL*r@KdPypZC?o8J!#Di$PJv1X!XUn^wM@s(CS|Wmd5JW*V zLr;71+4zK0EeDWrGu9Dc1}@Pe4Bg(8JD-Gw(lD{67Lf||8KQK?P}61g^h@V-nCTc| za#g=^SE;AZPY0}s#zkP~yDrs)JyCj?v3`3=8TlIXGY;0`RhEQO_&iWW_9`Rz_5}*> zMIfLKcRAf5j!-PQItSMK<-AaCRiUZ#apPHT z)0@E)XV^}GSuI@e$q?Px^IbvM=@c7H#={B0=mU>93UPv4q|%fZBzMZ#)4D3kf-_rw z`rU(>rozoO{GJLJj1={K++We=q#`4%g8>^8sB^e&{bUZ$aMHV8>uh5RrBT|;LU(x+ zk74ElwjY&WRvwX$Obie|jGx4!k13nRmw;J<|&OYd}kO9oC0*kvQvC39usYe*K`w>N-Y6Yd5SwAJ5;WU7hYD8rq4YtDt<> zTtUg8TM3gh`osZBAEu=Bf4UfT z^^ALDx!M?lG}u{;L&4ZB^2HBXNr62%Fuqp8&o%tbU#BcGqI$xQQng)X21!MVxPy+# zN53%TVo16rrE%Y+9k?xXv$x;7-9zZ2($gBq%PWBVf`pK-Su(OW{DV^@8FC`M()$=0 zsBE-6K(_+u+b=#<<*c;@!@{GvzB9K`6U?g`K2Kaa_A6BL`^-qcT?pT;_i}g@-l)kV z!KZqVLAcx{ydrdiEtf*73+<(bAjhkZ$|zd3pJNx)P_aD6P0j7LFz27pMwfo%G_qt9 zAF#s-b$;#>`-#3zf7`!%muki=Z|oIY|Hhe0^SG|6j-mwzFF;F~321GlgeT9E$efxW zLL`SGlFI9CpPb5z-O{0%JpGwIeB9J}ScxT;KO#CjrUYs5tMm)ofW|C6({X(0!lFf6 z)7!>KLY(G~T_1x97C!(qRKBSiLBO8$Al`M`BuZ6sGK2co+62)UZwZZmatWML7s<+}%M`CJI#7C^4NaheQFS<>+jnALTva4Q=^nYG88GFOCgoGVQxO+QQ)jf$#L+ER@} zP`dVDA)7ap;CIbkrT%TtSe0DXzn zAHblsv|jGix#n0cf8+<`QnP!3+ojE6*zGQf7o>mi^c>`)p|%s2hT9C12ep(7R4l&+aQd=bbTN zVPX@sk_cN$BMlwGgjJ+%JjH+`7joqgis2Q1nS=tUqIGv9mN9;XI&pII$n)4tur}6s zQhpXOnjwTWIG0wO(|{Q=jk*w(Y(yI8B1vr^p`d{82098^r;X;5=7y_NwoWnYH zZkb*eDEhQKtjYvGxs0-~!7P`^GO7CmLp2vR;k5oGa%Zp0vV$Vx=Hwy+UC|!(Lh<^k zX~wH2Qtg8&nKej_v{>|0cWz?1ag9xDMzVG`?oV*2)LJA%(M zI1P|19PRHT|4(jHV4iPb(K^!IEExVTjOv@NINOgjdsN4F!>~W&49H`^!!s@!TOi_E z&}lrowRm|6b*rEkFGS1ad!9GweA4#fF*SettK|pQ2>nk8K3WHMgxm2^3z1o;>IQFp zlxEFes-}Q^p}5vuyEbefrME-A&Fj|pNw_L?)cmQ?7!vM=I+hPf16wbmS*<*LUm^eT zB8{R36uD!PY0H4DexhDn%X8`h=(B_GaQBX0{;T(P~c7`(&AIcdrg3@-Am&X?hGrSUIvkQ0`n8;J5ypb`r*0+I9w&t=b zWZjgkO(;5cA0c4fIOoJ{5{1fCoG>Hkl?feEZb7OJCA~LiYFy|7YhG*G*`(S8lbauh z^{RQ+xU|5Bt)$k52j)=&&+YiFsU;pHNoTU3|qm{xr@e=^-Z zmNDiDFrE_}uDLE{zni!pCtf{WSj6#xGq+CNNw~4yw;Ofduii>;^=$uo_u>JNC(;@% zNq@?K(k}`%Du!gm$B$AQQ5QEsM0+y^6SbJYQPjt;nCyeUwQP?A9M|C+KR`(cjl?5> zu!uqrqrcz{Y%6M-ej-hxDyK?q>|S!bqL~Yw)rZf)l{#Zcd+~alpjg4%2u)e@!-z9^ zt*ch#1SgKLOkCB2B%j_}gsnd0GUxb=`M#-G+0+0IQ%0rGf-Zh!i}7v84x67^Eo@$H z>5ghQ6DK`m2I4VN_gIOWERci4$B;)-%=KAz49pa-39?PoXcvn)9;H_0mop@y-#uWH{rj*$%&q= zQIZ}<$Nl&AM*JpZE=CQqE%uIfhl%Tg@b)l z48qpT{2_4x$)+KfFa3SsBMR6UT!?^oUQnP&k}DpCd<-pGyxReh__iBCdcYev!WtIO zQv|t-q31ftAUTDeiX}DF-3vv@;3Cs7F%EX|gwNW<7tVcQ(=}(ByLrcn*rV<+bfBPI zMo;G@C*Q|%xjvV5MXXBgG~h?96NyascHjLvB^`Gm@AAydzC9Uc*+>X8Rk6A(l3|vJ z=YY6Oxmh#7^~=W5SN8z6FGpsefbX}j)~LeQFi~CP-|P_f`3SyT0)7gJP;IVkRXSVnPX&W_`QcT$IKKZ@f_lz8ig~MyN(p7 z8}66LoHHg`l37Fzc70|Wt9W1+@=TacokOmtB(=h;Lm>lUz6P4`xryduc31$(cq{sX zI4LfS&VJJrzIcdZBbO3cFgheBzM&qxmHS|Wc;@(rn+SU`*#MV1?noc!x~e)4bypf% zJ8KzTE<>h@htjGHNSDg$PJ`LOXYH{@BGAg24@4nz#4`zc3h720X zUaP`OqC=0fyI~ecS22c@qTAH3d~AqGZ|6Hi&)Nn*{cxYcIrZX06_fpHVtq(zyeVYyl`Lrjp-?3x6hbhjgst%VZFRWKYHUz%(Xp9GY*wHyX?jZ1 z;%kC1^aj(D7L&LR_DVeOudWa}ND1&YzRV2(xFVXusGUr+fLWpgt%wFF?PLbYrRYAh zA!0;;R$_^RZ9SgTDOgrS=iG@1ZPfHfnA=WGCVj@8e)3MtQ$0$)>OC#$Zq&K?E?J2( zJWF3r$v2+2p}ifmTVSzv8Fym%B=K6}^Dg^_ju4Qc4Usoo+3l9~F`48?lk?GD>Qz6X z>k$%F@6+Z|B_X~O>UIsXmw zM?57ByWVMBzFB%c4IUvzTG!N12P;qJEexFUy*Vd0gJJfo+&i#xZ^5?tupZCqpMzE! zLvVjIc>exM{og^>e_3dJmP1!S`6{QS{*g%@1?3bQKjsS4<_1eeQYgL ztWK3qj~YlT5Lt$!fTGWniZ2)$kXo&ksqW$(dAap2HHmvUDJd<9xBaWz&0~^aL)7$0sVICXRs-?f)7n#!B5+Og`K-VQK*XdhaU#KET% zM!;s+w=6H-ls4oQkFLv!Qm`!!E=VN|+e5Vl^=$azibaC;cHj+YyxHc~`Ve7Z-NlIUfOsQa-g7Wox# zOMwnS*=y7`kt?==mGTV&-^3@5??a#E9tH0(RN}7eM2-2=qq&)29%^@C1?Q_og#psTqs4oi?W>0jekGCLWW;n+15 zy>a*MRBG&^Pr}Yyx|h<~<|)|DYj;Cvg-smohsCq8Y`AoL>%1t}j62sHB;~zg+yL1* z2C+a4JP?8{eXrfWsn8#NSOsk#T@qt&5K-Ll_#=TVRW$2D_B_E9vWZuK3C|&18S|lE zTlUBs;(}L*_agJ8ezhb(JjgE(!fpakW*QbrTg*C9f^rU{s(|+&hXTE8qX$8vJ!^b$`;}-}ps&9|95s z3KS0e(W3`apxZMb;{Pbmg9eB156Xi*!Ee9HiYf~-O3H~b%S->7Y=2<{^P8na8T7&U z_MhLM9Pe*?$^Rsi6_k?{6ID`Xk`)6-_?7@P$^G90n&`ei--r`Izkd_#{ihV59n()K zTE3_FE}8#N2|;q4KPBAyHR1Od2){9#_!tY_>nCyHzXARZ zT=chuICzdCv`)jZK&7_^m0aW(z_0%U5PU%gTG}}|3p&`FfOK7f`aeXA!5O!{sM{5R znC3wrvR@b-L3#K?5hVXE!(aPLaJ+d5Q95XlxlA6^65mdV|9*13bwQ@&Kj48xXU!e# zK=-Z0faZpR`uc`;cCr9VfbriU3BU>T%e|X)K~;nTB4PX+9rT^!T?eB41A&??z#4RI z4`i({0vbDj^qWCK=6}w+f;%B_15|2UP&Z)t1sd@9kI>+iE&+n8$d3#01@Mvj>=){~2wuLnf#P zRQ@2G=6EwR z{}K9otBE=p>O1^LaT^>JMf%m3JrF8AC^`rzhyQtUycwI0)u0Miy8gE)NuSK% zm&FgF>CE4VetTX2sk?!nT>n6x2W?pXWgY$b92>k4;0K03s7CYtiRypMrQnBPKVTIL z{t5Q`fbkDUV&DY;H+2uJK5$#! z5B!#je}VtsEqmbg1#Y1DK_p-EpM~LnGgrt \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >&- +APP_HOME="`pwd -P`" +cd "$SAVED" >&- + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..8a0b282 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/resources/README.md b/resources/README.md deleted file mode 100644 index 6ba0b10..0000000 --- a/resources/README.md +++ /dev/null @@ -1,4 +0,0 @@ -Atum -==== - -a minecraft modjam mod \ No newline at end of file diff --git a/src/com/teammetallurgy/atum/AtumLoot.java b/src/com/teammetallurgy/atum/AtumLoot.java deleted file mode 100644 index 9751ec5..0000000 --- a/src/com/teammetallurgy/atum/AtumLoot.java +++ /dev/null @@ -1,122 +0,0 @@ -package com.teammetallurgy.atum; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - -import net.minecraft.inventory.IInventory; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; - -import com.teammetallurgy.atum.blocks.Blocks; -import com.teammetallurgy.atum.items.ItemLoot; -import com.teammetallurgy.atum.items.Items; - -public enum AtumLoot { - INSTANCE; - - public static List artifacts; - public static AtumWeightedLootSet goodLoot; - public static AtumWeightedLootSet junkLoot; - - public void register() { - artifacts = new ArrayList(); - goodLoot = new AtumWeightedLootSet(); - junkLoot = new AtumWeightedLootSet(); - - ItemStack stack = new ItemStack(Items.ptahsPick); - artifacts.add(stack); - - artifacts.add(new ItemStack(Items.sobeksRage)); - artifacts.add(new ItemStack(Items.osirisWill)); - artifacts.add(new ItemStack(Items.akersToil)); - artifacts.add(new ItemStack(Items.gebsBlessing)); - artifacts.add(new ItemStack(Items.atensFury)); - artifacts.add(new ItemStack(Items.rasGlory)); - artifacts.add(new ItemStack(Items.sekhmetsWrath)); - artifacts.add(new ItemStack(Items.nutsAgility)); - artifacts.add(new ItemStack(Items.horusFlight)); - artifacts.add(new ItemStack(Items.monthusStrike)); - artifacts.add(new ItemStack(Items.neithsAudacity)); - artifacts.add(new ItemStack(Items.hedetetsSting)); - artifacts.add(new ItemStack(Items.nusFlux)); - artifacts.add(new ItemStack(Items.anhursMight)); - artifacts.add(new ItemStack(Items.horusSoaring)); - artifacts.add(new ItemStack(Items.shusBreath)); - artifacts.add(new ItemStack(Items.hedetetsVenom)); - artifacts.add(new ItemStack(Items.monthusBlast)); - artifacts.add(new ItemStack(Items.mnevisHorns)); - artifacts.add(new ItemStack(Items.isisEmbrace)); - artifacts.add(new ItemStack(Items.maatsBalance)); - artifacts.add(new ItemStack(Items.nutsCall)); - artifacts.add(new ItemStack(Items.ptahsDestruction)); - artifacts.add(new ItemStack(Items.anuketsBounty)); - artifacts.add(new ItemStack(Items.anubisMercy)); - artifacts.add(new ItemStack(Items.amunetsHomecoming)); - artifacts.add(new ItemStack(Items.isisHealing)); - artifacts.add(new ItemStack(Items.mafdetsQuickness)); - - // Junk Loot Stuff - junkLoot.addLoot(new ItemStack(Items.flaxSeeds), 5, 1, 2); - junkLoot.addLoot(new ItemStack(Item.stick), 5, 1, 5); - junkLoot.addLoot(new ItemStack(Items.ITEM_DATE), 5, 1, 2); - junkLoot.addLoot(new ItemStack(Item.bone), 10, 1, 3); - junkLoot.addLoot(new ItemStack(Item.bread), 10, 1, 4); - junkLoot.addLoot(new ItemStack(Blocks.BLOCK_SAND), 20, 1, 64); - junkLoot.addLoot(new ItemStack(Items.ITEM_SCIMITAR), 5, 1, 1); - junkLoot.addLoot(new ItemStack(Item.seeds), 5, 1, 3); - junkLoot.addLoot(new ItemStack(Item.leather), 5, 1, 5); - junkLoot.addLoot(new ItemStack(Item.dyePowder, 1, 3), 5, 1, 3); - junkLoot.addLoot(new ItemStack(Item.saddle), 5, 1, 1); - - // Good Loot - goodLoot.addLoot(new ItemStack(Item.ingotIron), 38, 1, 3); - goodLoot.addLoot(new ItemStack(Item.ingotGold), 20, 1, 3); - goodLoot.addLoot(new ItemStack(Item.diamond), 4, 1, 2); - goodLoot.addLoot(new ItemStack(Item.enchantedBook, 1, 1), 5, 1, 1); - ItemStack stick = new ItemStack(Item.stick); - stick.setItemName("Amazing Stick"); - goodLoot.addLoot(stick, 1, 1, 1); - } - - public static void addArtifact(ItemStack stack) { - artifacts.add(stack); - } - - public static ItemStack getRandomLoot() { - return artifacts.get(0); - } - - public static ItemStack getRandomArtifact() { - - int i = (new Random()).nextInt(artifacts.size()); - return artifacts.get(i).copy(); - } - - public static void fillChest(IInventory inventory, int multiplier, float quality) { - if(inventory == null) { - System.out.println("Error trying to fill empty chest"); - return; - } - - Random rand = new Random(); - for(int i = 0; i < multiplier; i++) { - int slot = rand.nextInt(inventory.getSizeInventory()); - float roll = rand.nextFloat(); - ItemStack stack = new ItemStack(0, 0, 0); - if(rand.nextFloat() < quality) { - if(roll > 0.20) { - stack = goodLoot.getRandomLoot(); - } else if(roll > 0.005) { - stack = ItemLoot.getRandomLoot(rand, true); - } else { - int randomArtifactID = rand.nextInt(artifacts.size()); - stack = artifacts.get(randomArtifactID).copy(); - } - } else { - stack = junkLoot.getRandomLoot(); - } - inventory.setInventorySlotContents(slot, stack); - } - } -} diff --git a/src/com/teammetallurgy/atum/blocks/BlockPalmSapling.java b/src/com/teammetallurgy/atum/blocks/BlockPalmSapling.java deleted file mode 100644 index 2583bf9..0000000 --- a/src/com/teammetallurgy/atum/blocks/BlockPalmSapling.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.teammetallurgy.atum.blocks; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockFlower; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.world.World; - -public class BlockPalmSapling extends BlockFlower { - - protected BlockPalmSapling(int par1) { - super(par1); - this.setUnlocalizedName("atum:palmSapling"); - float f = 0.4F; - this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, f * 2.0F, 0.5F + f); - } - - @Override - public void updateTick(World world, int x, int y, int z, Random rand) { - if(!world.isRemote) { - super.updateTick(world, x, y, z, rand); - if(world.getBlockLightValue(x, y + 1, z) > 9 && rand.nextInt(20) == 0) { - this.growTree(world, x, y, z, rand); - } - } - - } - - public void growTree(World world, int x, int y, int z, Random rand) { - int height = rand.nextInt(4) + 5; - - int i; - for(i = 0; i < height; ++i) { - world.setBlock(x, y + i, z, Blocks.BLOCK_LOG.blockID, 0, 2); - } - - world.setBlock(x, y + height, z, Blocks.BLOCK_LEAVES.blockID, 0, 2); - - for(i = -1; i < 2; ++i) { - for(int j = -1; j < 2; ++j) { - if(i != 0 || j != 0) { - world.setBlock(x + i, y + height - 1, z + j, Blocks.BLOCK_LEAVES.blockID, 0, 2); - } - } - } - - world.setBlock(x + 2, y + height - 1, z, Blocks.BLOCK_LEAVES.blockID, 0, 2); - world.setBlock(x + 2, y + height - 2, z, Blocks.BLOCK_LEAVES.blockID, 0, 2); - world.setBlock(x + 3, y + height - 2, z, Blocks.BLOCK_LEAVES.blockID, 0, 2); - if(rand.nextInt(100) < 15) { - world.setBlock(x + 1, y + height - 2, z, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); - } - - world.setBlock(x - 2, y + height - 1, z, Blocks.BLOCK_LEAVES.blockID, 0, 2); - world.setBlock(x - 2, y + height - 2, z, Blocks.BLOCK_LEAVES.blockID, 0, 2); - world.setBlock(x - 3, y + height - 2, z, Blocks.BLOCK_LEAVES.blockID, 0, 2); - if(rand.nextInt(100) < 15) { - world.setBlock(x - 1, y + height - 2, z, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); - } - - world.setBlock(x, y + height - 1, z + 2, Blocks.BLOCK_LEAVES.blockID, 0, 2); - world.setBlock(x, y + height - 2, z + 2, Blocks.BLOCK_LEAVES.blockID, 0, 2); - world.setBlock(x, y + height - 2, z + 3, Blocks.BLOCK_LEAVES.blockID, 0, 2); - if(rand.nextInt(100) < 15) { - world.setBlock(x, y + height - 2, z + 1, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); - } - - world.setBlock(x, y + height - 1, z - 2, Blocks.BLOCK_LEAVES.blockID, 0, 2); - world.setBlock(x, y + height - 2, z - 2, Blocks.BLOCK_LEAVES.blockID, 0, 2); - world.setBlock(x, y + height - 2, z - 3, Blocks.BLOCK_LEAVES.blockID, 0, 2); - if(rand.nextInt(100) < 15) { - world.setBlock(x, y + height - 2, z - 1, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); - } - - } - - @Override - protected boolean canThisPlantGrowOnThisBlockID(int id) { - return id == Blocks.BLOCK_SAND.blockID || id == Block.grass.blockID || id == Block.dirt.blockID; - } - - @Override - public boolean canBlockStay(World world, int x, int y, int z) { - return world.getBlockId(x, y - 1, z) == Blocks.BLOCK_SAND.blockID || world.getBlockId(x, y - 1, z) == Block.grass.blockID || world.getBlockId(x, y - 1, z) == Block.dirt.blockID; - } - - @Override - public void registerIcons(IconRegister par1IconRegister) { - this.blockIcon = par1IconRegister.registerIcon("atum:AtumPalmSapling"); - } -} diff --git a/src/com/teammetallurgy/atum/blocks/BlockSlab.java b/src/com/teammetallurgy/atum/blocks/BlockSlab.java deleted file mode 100644 index 6da6898..0000000 --- a/src/com/teammetallurgy/atum/blocks/BlockSlab.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.teammetallurgy.atum.blocks; - -import java.util.List; -import java.util.Random; - -import com.teammetallurgy.atum.LocalizationHelper; - -import net.minecraft.block.BlockHalfSlab; -import net.minecraft.block.material.Material; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockSlab extends BlockHalfSlab { - public static final String[] slabType = {"smooth", "cracked", "largeBrick", "smallBrick"}; - - public BlockSlab(int par1, boolean par2) { - super(par1, par2, Material.rock); - this.setHardness(2.0F); - } - - public String getLocalizedName(ItemStack stack) { - return LocalizationHelper.localize("block.slab" + stack.getItemDamage() + ".name"); - } - - @Override - @SideOnly(Side.CLIENT) - public Icon getIcon(int par1, int par2) { - par2 %= 4; - if(par2 == 0) - return Blocks.BLOCK_STONE.getIcon(par1, par2 & 0x7); - if(par2 == 1) - return Blocks.BLOCK_LIMESTONECOBBLE.getIcon(par1, par2 & 0x7); - if(par2 == 2) { - return Blocks.BLOCK_LARGEBRICK.getIcon(par1, par2 & 0x7); - } - return Blocks.BLOCK_SMALLBRICK.getIcon(par1, par2 & 0x7); - } - - @Override - public int idDropped(int par1, Random par2Random, int par3) { - return this.blockID; - } - - @Override - protected ItemStack createStackedBlock(int par1) { - return new ItemStack(this.blockID, 2, par1 & 0x7); - } - - @Override - public String getFullSlabName(int par1) { - if((par1 < 0) || (par1 >= slabType.length)) { - par1 = 0; - } - - return super.getUnlocalizedName() + "." + slabType[par1]; - } - - @Override - @SideOnly(Side.CLIENT) - public void getSubBlocks(int par1, CreativeTabs tab, List subItems) { - for(int i = 0; i < 4; i++) - subItems.add(new ItemStack(this, 1, i)); - } - -} diff --git a/src/com/teammetallurgy/atum/lib/handler/CraftingHandler.java b/src/com/teammetallurgy/atum/lib/handler/CraftingHandler.java deleted file mode 100644 index 247da1a..0000000 --- a/src/com/teammetallurgy/atum/lib/handler/CraftingHandler.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.teammetallurgy.atum.lib.handler; - -import net.minecraft.block.Block; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.FurnaceRecipes; -import net.minecraftforge.oredict.ShapedOreRecipe; -import net.minecraftforge.oredict.ShapelessOreRecipe; - -import com.teammetallurgy.atum.blocks.Blocks; -import com.teammetallurgy.atum.items.Items; - -import cpw.mods.fml.common.registry.GameRegistry; - -public enum CraftingHandler { - INSTANCE; - - public void register() { - addRecipes(); - addSmeltingRecipes(); - addShapelessRecipes(); - } - - private void addRecipes() { - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Blocks.BLOCK_LARGEBRICK, 4), "XX", "XX", 'X', Blocks.BLOCK_STONE)); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Blocks.BLOCK_SMALLBRICK, 4), "XX", "XX", 'X', Blocks.BLOCK_LIMESTONECOBBLE)); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(Blocks.BLOCK_CARVEDBRICK, 1), Blocks.BLOCK_STONE)); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_SMOOTHSTAIRS, 6), "X ", "XX ", "XXX", 'X', Blocks.BLOCK_STONE); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_COBBLESTAIRS, 6), "X ", "XX ", "XXX", 'X', Blocks.BLOCK_LIMESTONECOBBLE); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_LARGESTONESTAIRS, 6), "X ", "XX ", "XXX", 'X', Blocks.BLOCK_LARGEBRICK); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_SMALLSTONESTAIRS, 6), "X ", "XX ", "XXX", 'X', Blocks.BLOCK_SMALLBRICK); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_SLABS, 6, 0), "XXX", 'X', Blocks.BLOCK_STONE); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_SLABS, 6, 1), "XXX", 'X', Blocks.BLOCK_LIMESTONECOBBLE); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_SLABS, 6, 2), "XXX", 'X', Blocks.BLOCK_LARGEBRICK); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_SLABS, 6, 3), "XXX", 'X', Blocks.BLOCK_SMALLBRICK); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_WALL, 6, 0), "XXX", "XXX", 'X', Blocks.BLOCK_STONE); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_WALL, 6, 1), "XXX", "XXX", 'X', Blocks.BLOCK_LIMESTONECOBBLE); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_WALL, 6, 2), "XXX", "XXX", 'X', Blocks.BLOCK_LARGEBRICK); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_WALL, 6, 3), "XXX", "XXX", 'X', Blocks.BLOCK_SMALLBRICK); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_FRAMEDGLASS), " X ", "XSX", " X ", 'X', Item.stick, 'S', Blocks.BLOCK_CRYSTALGLASS); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_CRACKEDLARGEBRICK, 4), "XX", "XX", 'X', Items.stoneChunk); - GameRegistry.addRecipe(new ItemStack(Item.expBottle), " X ", "XBX", " X ", 'X', Items.ectoplasm, 'B', Item.potion); - GameRegistry.addRecipe(new ItemStack(Items.limestoneSword), "L", "L", "S", 'L', Blocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); - GameRegistry.addRecipe(new ItemStack(Items.limestoneShovel), "L", "S", "S", 'L', Blocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); - GameRegistry.addRecipe(new ItemStack(Items.limestonePickaxe), "LLL", " S ", " S ", 'L', Blocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); - GameRegistry.addRecipe(new ItemStack(Items.limestoneAxe), "LL", "LS", " S", 'L', Blocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); - GameRegistry.addRecipe(new ItemStack(Items.limestoneHoe), "LL", " S", " S", 'L', Blocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); - GameRegistry.addRecipe(new ItemStack(Items.mummyHelmet), "XXX", "X X", 'X', Items.scrap); - GameRegistry.addRecipe(new ItemStack(Items.mummyChest), "X X", "XXX", "XXX", 'X', Items.scrap); - GameRegistry.addRecipe(new ItemStack(Items.mummyLegs), "XXX", "X X", "X X", 'X', Items.scrap); - GameRegistry.addRecipe(new ItemStack(Items.mummyBoots), "X X", "X X", 'X', Items.scrap); - GameRegistry.addRecipe(new ItemStack(Items.wandererHelmet), "XXX", "X X", 'X', Items.linen); - GameRegistry.addRecipe(new ItemStack(Items.wandererChest), "X X", "XXX", "XXX", 'X', Items.linen); - GameRegistry.addRecipe(new ItemStack(Items.wandererLegs), "XXX", "X X", "X X", 'X', Items.linen); - GameRegistry.addRecipe(new ItemStack(Items.wandererBoots), "X X", "X X", 'X', Items.linen); - GameRegistry.addRecipe(new ItemStack(Items.linen), "XXX", 'X', Items.flax); - GameRegistry.addRecipe(new ItemStack(Item.glassBottle, 3), "X X", " X ", 'X', Blocks.BLOCK_CRYSTALGLASS); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_THINCRYSTALGLASS, 16), "XXX", "XXX", 'X', Blocks.BLOCK_CRYSTALGLASS); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_THINFRAMEDGLASS, 16), "XXX", "XXX", 'X', Blocks.BLOCK_FRAMEDGLASS); - GameRegistry.addRecipe(new ItemStack(Items.scroll), "XXX", "SXS", "XXX", 'X', Items.papyrusPlant, 'S', Item.stick); - GameRegistry.addRecipe(new ItemStack(Items.ITEM_SCARAB), " G ", "GDG", " G ", 'G', Item.ingotGold, 'D', Item.diamond); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_FURNACEIDLE), "XXX", "X X", "XXX", 'X', Blocks.BLOCK_LIMESTONECOBBLE); - } - - private void addSmeltingRecipes() { - FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_IRONORE.blockID, 0, new ItemStack(Item.ingotIron), 0.7F); - FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_COALORE.blockID, new ItemStack(Item.coal), 0.1F); - FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_REDSTONEORE.blockID, new ItemStack(Item.redstone), 0.7F); - FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_LAPISORE.blockID, new ItemStack(Item.dyePowder, 1, 4), 0.2F); - FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_GOLDORE.blockID, new ItemStack(Item.ingotGold), 1.0F); - FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_DIAMONDORE.blockID, new ItemStack(Item.diamond), 1.0F); - FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_LOG.blockID, new ItemStack(Item.coal, 1, 1), 0.15F); - FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_LIMESTONECOBBLE.blockID, new ItemStack(Blocks.BLOCK_STONE), 0.1F); - FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_SAND.blockID, new ItemStack(Blocks.BLOCK_CRYSTALGLASS), 0.1F); - } - - private void addShapelessRecipes() { - GameRegistry.addShapelessRecipe(new ItemStack(Blocks.BLOCK_PLANKS, 4), Blocks.BLOCK_LOG); - GameRegistry.addShapelessRecipe(new ItemStack(Items.desertHelmet), Items.wandererHelmet, Item.helmetIron); - GameRegistry.addShapelessRecipe(new ItemStack(Items.desertChest), Items.wandererChest, Item.plateIron); - GameRegistry.addShapelessRecipe(new ItemStack(Items.desertLegs), Items.wandererLegs, Item.legsIron); - GameRegistry.addShapelessRecipe(new ItemStack(Items.desertBoots), Items.wandererBoots, Item.bootsIron); - GameRegistry.addShapelessRecipe(new ItemStack(Block.sand), Blocks.BLOCK_SAND); - GameRegistry.addShapelessRecipe(new ItemStack(Item.silk, 3), Items.flax); - } - -} diff --git a/src/com/teammetallurgy/atum/Atum.java b/src/main/java/com/teammetallurgy/atum/Atum.java similarity index 86% rename from src/com/teammetallurgy/atum/Atum.java rename to src/main/java/com/teammetallurgy/atum/Atum.java index 6c2e0f4..090a0ff 100644 --- a/src/com/teammetallurgy/atum/Atum.java +++ b/src/main/java/com/teammetallurgy/atum/Atum.java @@ -4,9 +4,9 @@ import net.minecraft.creativetab.CreativeTabs; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.entity.Entity; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; import com.teammetallurgy.atum.lib.handler.CraftingHandler; import com.teammetallurgy.atum.lib.proxy.CommonProxy; import com.teammetallurgy.atum.world.World; @@ -18,10 +18,8 @@ import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.network.NetworkMod; @Mod(modid = Atum.MODID, name = Atum.NAME, version = Atum.VERSION) -@NetworkMod(clientSideRequired = true, serverSideRequired = false) public class Atum { public static final String MODID = "Atum"; public static final String NAME = "Atum"; @@ -33,7 +31,8 @@ public class Atum { @SidedProxy(clientSide = "com.teammetallurgy.atum.lib.proxy.ClientProxy", serverSide = "com.teammetallurgy.atum.lib.proxy.CommonProxy") public static CommonProxy proxy; - public static final Logger LOGGER = Logger.getLogger(Atum.class.getSimpleName()); + public static final Logger LOGGER = Logger.getLogger(Atum.class + .getSimpleName()); public static AtumConfig config; public static CreativeTabs creativeTab = new AtumCreativeTab(); @@ -48,14 +47,14 @@ public void preInit(FMLPreInitializationEvent event) { @EventHandler public void init(FMLInitializationEvent event) { LOGGER.info("Block Init"); - Blocks.INSTANCE.registerBlocks(); + AtumBlocks.INSTANCE.registerBlocks(); LOGGER.info("Item Init"); - Items.INSTANCE.registerItems(); - + AtumItems.INSTANCE.registerItems(); + LOGGER.info("Register Crafting Recipes"); CraftingHandler.INSTANCE.register(); - + LOGGER.info("World Init"); World.INSTANCE.register(); @@ -64,13 +63,12 @@ public void init(FMLInitializationEvent event) { LOGGER.info("Loot Init"); AtumLoot.INSTANCE.register(); - + LOGGER.info("Proxy Init"); proxy.init(); proxy.initRenders(); proxy.initTiles(); - - + } @EventHandler diff --git a/src/com/teammetallurgy/atum/AtumConfig.java b/src/main/java/com/teammetallurgy/atum/AtumConfig.java similarity index 99% rename from src/com/teammetallurgy/atum/AtumConfig.java rename to src/main/java/com/teammetallurgy/atum/AtumConfig.java index f4cba0a..5508f4b 100644 --- a/src/com/teammetallurgy/atum/AtumConfig.java +++ b/src/main/java/com/teammetallurgy/atum/AtumConfig.java @@ -2,7 +2,7 @@ import java.io.File; -import net.minecraftforge.common.Configuration; +import net.minecraftforge.common.config.Configuration; public class AtumConfig { diff --git a/src/com/teammetallurgy/atum/AtumCreativeTab.java b/src/main/java/com/teammetallurgy/atum/AtumCreativeTab.java similarity index 81% rename from src/com/teammetallurgy/atum/AtumCreativeTab.java rename to src/main/java/com/teammetallurgy/atum/AtumCreativeTab.java index 53df21e..6142eb3 100644 --- a/src/com/teammetallurgy/atum/AtumCreativeTab.java +++ b/src/main/java/com/teammetallurgy/atum/AtumCreativeTab.java @@ -1,11 +1,10 @@ package com.teammetallurgy.atum; -import com.teammetallurgy.atum.items.Items; -import com.teammetallurgy.atum.items.artifacts.ItemSpear; - import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; +import com.teammetallurgy.atum.items.AtumItems; + public class AtumCreativeTab extends CreativeTabs { public AtumCreativeTab() { @@ -29,6 +28,6 @@ public boolean hasSearchBar() { @Override public Item getTabIconItem() { - return Items.ITEM_SCARAB; + return AtumItems.ITEM_SCARAB; } } diff --git a/src/com/teammetallurgy/atum/AtumFish.java b/src/main/java/com/teammetallurgy/atum/AtumFish.java similarity index 50% rename from src/com/teammetallurgy/atum/AtumFish.java rename to src/main/java/com/teammetallurgy/atum/AtumFish.java index 64db5b4..dc0ad03 100644 --- a/src/com/teammetallurgy/atum/AtumFish.java +++ b/src/main/java/com/teammetallurgy/atum/AtumFish.java @@ -1,9 +1,9 @@ package com.teammetallurgy.atum; -import net.minecraft.item.Item; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; public class AtumFish { private static AtumWeightedLootSet fish; @@ -11,11 +11,11 @@ public class AtumFish { static { fish = new AtumWeightedLootSet(); - AtumFish.addFish(new ItemStack(Item.fishRaw, 1, 0), 100); - AtumFish.addFish(new ItemStack(Items.fish, 1, 0), 30); - AtumFish.addFish(new ItemStack(Items.fish, 1, 1), 5); - AtumFish.addFish(new ItemStack(Items.fish, 1, 2), 50); - AtumFish.addFish(new ItemStack(Items.fish, 1, 3), 50); + AtumFish.addFish(new ItemStack(Items.fish, 1, 0), 100); + AtumFish.addFish(new ItemStack(AtumItems.fish, 1, 0), 30); + AtumFish.addFish(new ItemStack(AtumItems.fish, 1, 1), 5); + AtumFish.addFish(new ItemStack(AtumItems.fish, 1, 2), 50); + AtumFish.addFish(new ItemStack(AtumItems.fish, 1, 3), 50); } public static void addFish(ItemStack fishStack, int probability) { diff --git a/src/com/teammetallurgy/atum/AtumIDS.java b/src/main/java/com/teammetallurgy/atum/AtumIDS.java similarity index 100% rename from src/com/teammetallurgy/atum/AtumIDS.java rename to src/main/java/com/teammetallurgy/atum/AtumIDS.java diff --git a/src/main/java/com/teammetallurgy/atum/AtumLoot.java b/src/main/java/com/teammetallurgy/atum/AtumLoot.java new file mode 100644 index 0000000..c338fb1 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/AtumLoot.java @@ -0,0 +1,123 @@ +package com.teammetallurgy.atum; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +import net.minecraft.init.Items; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; + +import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.items.ItemLoot; + +public enum AtumLoot { + INSTANCE; + + public static List artifacts; + public static AtumWeightedLootSet goodLoot; + public static AtumWeightedLootSet junkLoot; + + public void register() { + artifacts = new ArrayList(); + goodLoot = new AtumWeightedLootSet(); + junkLoot = new AtumWeightedLootSet(); + + ItemStack stack = new ItemStack(AtumItems.ptahsPick); + artifacts.add(stack); + + artifacts.add(new ItemStack(AtumItems.sobeksRage)); + artifacts.add(new ItemStack(AtumItems.osirisWill)); + artifacts.add(new ItemStack(AtumItems.akersToil)); + artifacts.add(new ItemStack(AtumItems.gebsBlessing)); + artifacts.add(new ItemStack(AtumItems.atensFury)); + artifacts.add(new ItemStack(AtumItems.rasGlory)); + artifacts.add(new ItemStack(AtumItems.sekhmetsWrath)); + artifacts.add(new ItemStack(AtumItems.nutsAgility)); + artifacts.add(new ItemStack(AtumItems.horusFlight)); + artifacts.add(new ItemStack(AtumItems.monthusStrike)); + artifacts.add(new ItemStack(AtumItems.neithsAudacity)); + artifacts.add(new ItemStack(AtumItems.hedetetsSting)); + artifacts.add(new ItemStack(AtumItems.nusFlux)); + artifacts.add(new ItemStack(AtumItems.anhursMight)); + artifacts.add(new ItemStack(AtumItems.horusSoaring)); + artifacts.add(new ItemStack(AtumItems.shusBreath)); + artifacts.add(new ItemStack(AtumItems.hedetetsVenom)); + artifacts.add(new ItemStack(AtumItems.monthusBlast)); + artifacts.add(new ItemStack(AtumItems.mnevisHorns)); + artifacts.add(new ItemStack(AtumItems.isisEmbrace)); + artifacts.add(new ItemStack(AtumItems.maatsBalance)); + artifacts.add(new ItemStack(AtumItems.nutsCall)); + artifacts.add(new ItemStack(AtumItems.ptahsDestruction)); + artifacts.add(new ItemStack(AtumItems.anuketsBounty)); + artifacts.add(new ItemStack(AtumItems.anubisMercy)); + artifacts.add(new ItemStack(AtumItems.amunetsHomecoming)); + artifacts.add(new ItemStack(AtumItems.isisHealing)); + artifacts.add(new ItemStack(AtumItems.mafdetsQuickness)); + + // Junk Loot Stuff + junkLoot.addLoot(new ItemStack(AtumItems.flaxSeeds), 5, 1, 2); + junkLoot.addLoot(new ItemStack(Items.stick), 5, 1, 5); + junkLoot.addLoot(new ItemStack(AtumItems.ITEM_DATE), 5, 1, 2); + junkLoot.addLoot(new ItemStack(Items.bone), 10, 1, 3); + junkLoot.addLoot(new ItemStack(Items.bread), 10, 1, 4); + junkLoot.addLoot(new ItemStack(AtumBlocks.BLOCK_SAND), 20, 1, 64); + junkLoot.addLoot(new ItemStack(AtumItems.ITEM_SCIMITAR), 5, 1, 1); + junkLoot.addLoot(new ItemStack(Items.wheat_seeds), 5, 1, 3); + junkLoot.addLoot(new ItemStack(Items.leather), 5, 1, 5); + junkLoot.addLoot(new ItemStack(Items.dye, 1, 3), 5, 1, 3); + junkLoot.addLoot(new ItemStack(Items.saddle), 5, 1, 1); + + // Good Loot + goodLoot.addLoot(new ItemStack(Items.iron_ingot), 38, 1, 3); + goodLoot.addLoot(new ItemStack(Items.gold_ingot), 20, 1, 3); + goodLoot.addLoot(new ItemStack(Items.diamond), 4, 1, 2); + goodLoot.addLoot(new ItemStack(Items.enchanted_book, 1, 1), 5, 1, 1); + ItemStack stick = new ItemStack(Items.stick); + stick.setStackDisplayName("Amazing Stick"); + goodLoot.addLoot(stick, 1, 1, 1); + } + + public static void addArtifact(ItemStack stack) { + artifacts.add(stack); + } + + public static ItemStack getRandomLoot() { + return artifacts.get(0); + } + + public static ItemStack getRandomArtifact() { + + int i = (new Random()).nextInt(artifacts.size()); + return artifacts.get(i).copy(); + } + + public static void fillChest(IInventory inventory, int multiplier, + float quality) { + if (inventory == null) { + System.out.println("Error trying to fill empty chest"); + return; + } + + Random rand = new Random(); + for (int i = 0; i < multiplier; i++) { + int slot = rand.nextInt(inventory.getSizeInventory()); + float roll = rand.nextFloat(); + ItemStack stack = new ItemStack(); + if (rand.nextFloat() < quality) { + if (roll > 0.20) { + stack = goodLoot.getRandomLoot(); + } else if (roll > 0.005) { + stack = ItemLoot.getRandomLoot(rand, true); + } else { + int randomArtifactID = rand.nextInt(artifacts.size()); + stack = artifacts.get(randomArtifactID).copy(); + } + } else { + stack = junkLoot.getRandomLoot(); + } + inventory.setInventorySlotContents(slot, stack); + } + } +} diff --git a/src/com/teammetallurgy/atum/AtumWeightedLootSet.java b/src/main/java/com/teammetallurgy/atum/AtumWeightedLootSet.java similarity index 95% rename from src/com/teammetallurgy/atum/AtumWeightedLootSet.java rename to src/main/java/com/teammetallurgy/atum/AtumWeightedLootSet.java index 4917866..913e0a2 100644 --- a/src/com/teammetallurgy/atum/AtumWeightedLootSet.java +++ b/src/main/java/com/teammetallurgy/atum/AtumWeightedLootSet.java @@ -8,7 +8,7 @@ import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentData; -import net.minecraft.item.Item; +import net.minecraft.init.Items; import net.minecraft.item.ItemEnchantedBook; import net.minecraft.item.ItemStack; import net.minecraft.util.MathHelper; @@ -53,7 +53,7 @@ public ItemStack getRandomLoot() { int max = lootMax.get(key); int amount = rand.nextInt(max - min + 1) + min; stack.stackSize = amount; - if(stack.itemID == Item.enchantedBook.itemID) { + if(stack == Items.enchanted_book) { Enchantment enchantment = Enchantment.enchantmentsBookList[rand.nextInt(Enchantment.enchantmentsBookList.length)]; int l = MathHelper.getRandomIntegerInRange(rand, enchantment.getMinLevel(), enchantment.getMaxLevel()); ((ItemEnchantedBook) stack.getItem()).addEnchantment(stack, new EnchantmentData(enchantment, l)); diff --git a/src/com/teammetallurgy/atum/LocalizationHelper.java b/src/main/java/com/teammetallurgy/atum/LocalizationHelper.java similarity index 100% rename from src/com/teammetallurgy/atum/LocalizationHelper.java rename to src/main/java/com/teammetallurgy/atum/LocalizationHelper.java diff --git a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlockSlab.java b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlockSlab.java new file mode 100644 index 0000000..df06141 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlockSlab.java @@ -0,0 +1,69 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.List; +import java.util.Random; + +import net.minecraft.block.BlockSlab; +import net.minecraft.block.material.Material; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +import com.teammetallurgy.atum.LocalizationHelper; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class AtumBlockSlab extends BlockSlab { + public static final String[] slabType = { "smooth", "cracked", "largeBrick", "smallBrick" }; + + public AtumBlockSlab(int par1, boolean par2) { + super(par2, Material.rock); + this.setHardness(2.0F); + } + + public String getLocalizedName(ItemStack stack) { + return LocalizationHelper.localize("block.slab" + stack.getItemDamage() + ".name"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int par1, int par2) { + par2 %= 4; + if (par2 == 0) + return AtumBlocks.BLOCK_STONE.getIcon(par1, par2 & 0x7); + if (par2 == 1) + return AtumBlocks.BLOCK_LIMESTONECOBBLE.getIcon(par1, par2 & 0x7); + if (par2 == 2) { + return AtumBlocks.BLOCK_LARGEBRICK.getIcon(par1, par2 & 0x7); + } + return AtumBlocks.BLOCK_SMALLBRICK.getIcon(par1, par2 & 0x7); + } + + @Override + public int idDropped(int par1, Random par2Random, int par3) { + return this; + } + + @Override + protected ItemStack createStackedBlock(int par1) { + return new ItemStack(this, 2, par1 & 0x7); + } + + @Override + public String func_150002_b(int par1) { + if ((par1 < 0) || (par1 >= slabType.length)) { + par1 = 0; + } + + return super.getUnlocalizedName() + "." + slabType[par1]; + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubBlocks(Item par1, CreativeTabs tab, List subItems) { + for (int i = 0; i < 4; i++) + subItems.add(new ItemStack(par1, 1, i)); + } +} diff --git a/src/com/teammetallurgy/atum/blocks/Blocks.java b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java similarity index 94% rename from src/com/teammetallurgy/atum/blocks/Blocks.java rename to src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java index ee71302..9b88803 100644 --- a/src/com/teammetallurgy/atum/blocks/Blocks.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java @@ -17,7 +17,7 @@ import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; -public enum Blocks { +public enum AtumBlocks { INSTANCE; public static final BlockPortal BLOCK_PORTAL = new BlockPortal(AtumIDS.BLOCK_PORTAL_ID); @@ -28,8 +28,8 @@ public enum Blocks { public static final Block BLOCK_LARGEBRICK = ((BlockAtum) new BlockAtum(AtumIDS.BLOCK_LARGEBRICK_ID, "atum:largeBrick").setTextureName("atum:AtumBrickLarge")).setNonBreak(); public static final Block BLOCK_SMALLBRICK = new BlockAtum(AtumIDS.BLOCK_SMALLBRICK_ID, "atum:smallBrick").setTextureName("atum:AtumBrickSmall"); public static final Block BLOCK_CARVEDBRICK = new BlockAtum(AtumIDS.BLOCK_CARVEDBRICK_ID, "atum:carvedBrick").setTextureName("atum:AtumBrickCarved"); - public static final Block BLOCK_SLABS = new BlockSlab(AtumIDS.BLOCK_SLABS_ID, false).setUnlocalizedName("atum:slab"); - public static final Block BLOCK_DOUBLESLAB = new BlockSlab(AtumIDS.BLOCK_DOUBLE_SLAB_ID, true).setUnlocalizedName("atum:doubleSlab"); + public static final Block BLOCK_SLABS = new AtumBlockSlab(AtumIDS.BLOCK_SLABS_ID, false).setUnlocalizedName("atum:slab"); + public static final Block BLOCK_DOUBLESLAB = new AtumBlockSlab(AtumIDS.BLOCK_DOUBLE_SLAB_ID, true).setUnlocalizedName("atum:doubleSlab"); public static final Block BLOCK_SMOOTHSTAIRS = new BlockStair(AtumIDS.BLOCK_SMOOTHSTAIRS_ID, BLOCK_STONE, 0).setUnlocalizedName("atum:smoothStairs"); public static final Block BLOCK_COBBLESTAIRS = new BlockStair(AtumIDS.BLOCK_COBBLESTAIRS_ID, BLOCK_LIMESTONECOBBLE, 0).setUnlocalizedName("atum:cobbleStairs"); public static final Block BLOCK_LARGESTONESTAIRS = new BlockStair(AtumIDS.BLOCK_LARGESTONESTAIRS_ID, BLOCK_LARGEBRICK, 0).setUnlocalizedName("atum:largeStairs"); @@ -59,7 +59,7 @@ public enum Blocks { public static final Block BLOCK_IRONORE = new BlockAtumOres(AtumIDS.BLOCK_IRONORE_ID).setUnlocalizedName("atum:ironOre").setTextureName("atum:AtumIron"); public static final Block BLOCK_GOLDORE = new BlockAtumOres(AtumIDS.BLOCK_GOLDORE_ID).setUnlocalizedName("atum:goldOre").setTextureName("atum:AtumGold"); public static final Block BLOCK_LAPISORE = new BlockAtumOres(AtumIDS.BLOCK_LAPISORE_ID).setUnlocalizedName("atum:lapisOre").setTextureName("atum:AtumLapis"); - public static final Block BLOCK_DIAMONDORE = new BlockAtumOres(AtumIDS.BLOCK_DIAMONDORE_ID).setUnlocalizedName("atum:diamondOre").setTextureName("atum:AtumDiamond"); + public static final Block BLOCK_DIAMONDORE = new BlockAtumOres(AtumIDS.BLOCK_DIAMONDORE_ID).setHarvestLevel("pickaxe", 0);//.setUnlocalizedName("atum:diamondOre").setTextureName("atum:AtumDiamond"); public static final Block BLOCK_FURNACEIDLE = new BlockLimeStoneFurnace(AtumIDS.BLOCK_FURNACEIDLE_ID, false).setUnlocalizedName("atum:furnaceIdle"); public static final Block BLOCK_FURNACEBURNING = new BlockLimeStoneFurnace(AtumIDS.BLOCK_FURNACEBURNING_ID, true).setUnlocalizedName("atum:furnaceBurning"); @@ -115,8 +115,8 @@ public void registerBlocks() { MinecraftForge.setBlockHarvestLevel(BLOCK_LAPISORE, "pickaxe", 1); MinecraftForge.setBlockHarvestLevel(BLOCK_DIAMONDORE, "pickaxe", 2); MinecraftForge.setBlockHarvestLevel(BLOCK_REDSTONEORE, "pickaxe", 2); - Block.setBurnProperties(BLOCK_PLANKS.blockID, 5, 20); - Block.setBurnProperties(BLOCK_LEAVES.blockID, 30, 60); + Block.setBurnProperties(BLOCK_PLANKS, 5, 20); + Block.setBurnProperties(BLOCK_LEAVES, 30, 60); GameRegistry.registerTileEntity(TileEntityChestSpawner.class, "CursedChest"); GameRegistry.registerTileEntity(TileEntityPharaohChest.class, "PharaohChest"); @@ -128,7 +128,7 @@ private void register(Block b) { if(!(b instanceof BlockDate)) { b.setCreativeTab(Atum.creativeTab); } - if(b instanceof BlockSlab) { + if(b instanceof AtumBlockSlab) { GameRegistry.registerBlock(b, ItemBlockSlab.class, b.getUnlocalizedName()); } else if(b instanceof BlockWalls) { GameRegistry.registerBlock(b, ItemBlockWall.class, b.getUnlocalizedName()); diff --git a/src/com/teammetallurgy/atum/blocks/BlockAtum.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtum.java similarity index 69% rename from src/com/teammetallurgy/atum/blocks/BlockAtum.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockAtum.java index 10bc855..c60147b 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockAtum.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtum.java @@ -9,7 +9,7 @@ public class BlockAtum extends Block { boolean isBreak; public BlockAtum(int par1, String unlocalisedName) { - super(par1, Material.rock); + super(Material.rock); this.setUnlocalizedName(unlocalisedName); } @@ -19,7 +19,8 @@ public Block setNonBreak() { } @Override - public boolean removeBlockByPlayer(World world, EntityPlayer player, int x, int y, int z) { - return isBreak ? false : super.removeBlockByPlayer(world, player, x, y, z); + public boolean removedByPlayer(World world, EntityPlayer player, int x, + int y, int z) { + return isBreak ? false : super.removedByPlayer(world, player, x, y, z); } } diff --git a/src/com/teammetallurgy/atum/blocks/BlockAtumGlass.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumGlass.java similarity index 100% rename from src/com/teammetallurgy/atum/blocks/BlockAtumGlass.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockAtumGlass.java diff --git a/src/com/teammetallurgy/atum/blocks/BlockAtumOres.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumOres.java similarity index 100% rename from src/com/teammetallurgy/atum/blocks/BlockAtumOres.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockAtumOres.java diff --git a/src/com/teammetallurgy/atum/blocks/BlockAtumPane.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPane.java similarity index 100% rename from src/com/teammetallurgy/atum/blocks/BlockAtumPane.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPane.java diff --git a/src/com/teammetallurgy/atum/blocks/BlockBurningTrap.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockBurningTrap.java similarity index 89% rename from src/com/teammetallurgy/atum/blocks/BlockBurningTrap.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockBurningTrap.java index e24be79..be4f6e6 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockBurningTrap.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockBurningTrap.java @@ -2,24 +2,23 @@ import java.util.Random; +import javax.swing.Icon; + import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.BlockPistonBase; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.dispenser.BehaviorDefaultDispenseItem; -import net.minecraft.dispenser.IRegistry; -import net.minecraft.dispenser.RegistryDefaulted; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumFacing; -import net.minecraft.util.Icon; +import net.minecraft.util.IRegistry; +import net.minecraft.util.RegistryDefaulted; import net.minecraft.world.World; -import com.teammetallurgy.atum.Atum; import com.teammetallurgy.atum.blocks.tileentity.TileEntityBurningTrap; import cpw.mods.fml.relauncher.Side; @@ -41,7 +40,7 @@ public BlockBurningTrap(int par1) { @Override public float getBlockHardness(World par1World, int par2, int par3, int par4) { - return par1World.getBlockId(par2, par3 + 1, par4) == Blocks.BLOCK_LARGEBRICK.blockID && par1World.getBlockMetadata(par2, par3 + 1, par4) == 1 ? -1.0F : super.blockHardness; + return par1World.getBlockId(par2, par3 + 1, par4) == AtumBlocks.BLOCK_LARGEBRICK && par1World.getBlockMetadata(par2, par3 + 1, par4) == 1 ? -1.0F : super.blockHardness; } @Override @@ -121,7 +120,7 @@ public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int i1 = par1World.getBlockMetadata(par2, par3, par4); boolean flag1 = (i1 & 8) != 0; if(flag && !flag1) { - par1World.scheduleBlockUpdate(par2, par3, par4, super.blockID, this.tickRate(par1World)); + par1World.scheduleBlockUpdate(par2, par3, par4, super, this.tickRate(par1World)); par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 | 8, 4); } else if(!flag && flag1) { par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 & -9, 4); diff --git a/src/com/teammetallurgy/atum/blocks/BlockChestSpawner.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java similarity index 97% rename from src/com/teammetallurgy/atum/blocks/BlockChestSpawner.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java index 54c89b0..a0b3054 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockChestSpawner.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java @@ -6,7 +6,6 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.passive.EntityOcelot; import net.minecraft.entity.player.EntityPlayer; @@ -18,7 +17,7 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -import net.minecraftforge.common.ForgeDirection; +import net.minecraftforge.common.util.ForgeDirection; import com.teammetallurgy.atum.blocks.tileentity.TileEntityChestSpawner; @@ -35,7 +34,7 @@ protected BlockChestSpawner(int par1) { @Override public int idDropped(int par1, Random par2Random, int par3) { - return Block.chest.blockID; + return Block.chest; } @Override diff --git a/src/com/teammetallurgy/atum/blocks/BlockDate.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java similarity index 73% rename from src/com/teammetallurgy/atum/blocks/BlockDate.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java index e3a301e..f0c02c5 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockDate.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java @@ -8,7 +8,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; @@ -19,7 +19,7 @@ public class BlockDate extends Block { public int renderID = RenderingRegistry.getNextAvailableRenderId(); public BlockDate(int par1) { - super(par1, Material.plants); + super(Material.plants); this.setUnlocalizedName("atum:date"); } @@ -39,10 +39,10 @@ public int getRenderType() { } @Override - public void onNeighborBlockChange(World world, int x, int y, int z, int neighborID) { - if(world.getBlockId(x, y + 1, z) != Blocks.BLOCK_LEAVES.blockID && !world.isRemote) { - EntityItem entityItem = new EntityItem(world, (double) x, (double) y, (double) z, new ItemStack(Items.ITEM_DATE.itemID, 0, this.quantityDropped(new Random()))); - entityItem.dropItem(Items.ITEM_DATE.itemID, this.quantityDropped(new Random())); + public void onNeighborBlockChange(World world, int x, int y, int z, Block neighbor) { + if (world.getBlock(x, y + 1, z) != AtumBlocks.BLOCK_LEAVES && !world.isRemote) { + EntityItem entityItem = new EntityItem(world, (double) x, (double) y, (double) z, new ItemStack(AtumItems.ITEM_DATE, 0, this.quantityDropped(new Random()))); + entityItem.dropItem(AtumItems.ITEM_DATE, this.quantityDropped(new Random())); world.setBlockToAir(x, y, z); } @@ -50,7 +50,7 @@ public void onNeighborBlockChange(World world, int x, int y, int z, int neighbor @Override public int idDropped(int par1, Random rand, int par3) { - return Items.ITEM_DATE.itemID; + return AtumItems.ITEM_DATE.itemID; } @Override @@ -61,7 +61,7 @@ public int quantityDropped(Random rand) { @Override @SideOnly(Side.CLIENT) public int idPicked(World par1World, int par2, int par3, int par4) { - return Items.ITEM_DATE.itemID; + return AtumItems.ITEM_DATE.itemID; } } diff --git a/src/com/teammetallurgy/atum/blocks/BlockFertileSoil.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java similarity index 51% rename from src/com/teammetallurgy/atum/blocks/BlockFertileSoil.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java index 4129f9c..9a5d8da 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockFertileSoil.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java @@ -5,56 +5,57 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockFlower; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.util.Icon; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.init.Blocks; +import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.EnumPlantType; -import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.IPlantable; +import net.minecraftforge.common.util.ForgeDirection; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class BlockFertileSoil extends Block { @SideOnly(Side.CLIENT) - private Icon iconGrassTop; + private IIcon iconGrassTop; @SideOnly(Side.CLIENT) - private Icon iconGrassSideOverlay; + private IIcon iconGrassSideOverlay; @SideOnly(Side.CLIENT) - private Icon iconDirt; + private IIcon iconDirt; public BlockFertileSoil(int par1) { - super(par1, Material.grass); + super(Material.grass); this.setUnlocalizedName("atum:fertileSoil"); this.setHardness(0.5F); - this.setStepSound(Block.soundGrassFootstep); + this.setStepSound(Block.soundTypeGrass); setTickRandomly(true); } @Override @SideOnly(Side.CLIENT) - public Icon getIcon(int par1, int par2) { - if(par2 == 1) { + public IIcon getIcon(int par1, int par2) { + if (par2 == 1) { return this.iconDirt; } - return par1 == 0 ? Block.dirt.getBlockTextureFromSide(par1) : par1 == 1 ? this.iconGrassTop : this.blockIcon; + return par1 == 0 ? Blocks.dirt.getBlockTextureFromSide(par1) : par1 == 1 ? this.iconGrassTop : this.blockIcon; } @Override public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if(!par1World.isRemote) { - if((par1World.getBlockLightValue(par2, par3 + 1, par4) < 4) && (par1World.getBlockLightOpacity(par2, par3 + 1, par4) > 2)) { + if (!par1World.isRemote) { + if ((par1World.getBlockLightValue(par2, par3 + 1, par4) < 4) && (par1World.getBlockLightOpacity(par2, par3 + 1, par4) > 2)) { par1World.setBlockMetadataWithNotify(par2, par3, par4, 1, 2); - } else if(par1World.getBlockLightValue(par2, par3 + 1, par4) >= 9) { - for(int l = 0; l < 4; l++) { + } else if (par1World.getBlockLightValue(par2, par3 + 1, par4) >= 9) { + for (int l = 0; l < 4; l++) { int i1 = par2 + par5Random.nextInt(3) - 1; int j1 = par3 + par5Random.nextInt(5) - 3; int k1 = par4 + par5Random.nextInt(3) - 1; - int l1 = par1World.getBlockId(i1, j1 + 1, k1); + Block l1 = par1World.getBlock(i1, j1 + 1, k1); - if((par1World.getBlockId(i1, j1, k1) == this.blockID) && (par1World.getBlockMetadata(i1, j1, k1) == 1) && (par1World.getBlockLightValue(i1, j1 + 1, k1) >= 4) && (par1World.getBlockLightOpacity(i1, j1 + 1, k1) <= 2)) { + if ((par1World.getBlock(i1, j1, k1) == this) && (par1World.getBlockMetadata(i1, j1, k1) == 1) && (par1World.getBlockLightValue(i1, j1 + 1, k1) >= 4) && (par1World.getBlockLightOpacity(i1, j1 + 1, k1) <= 2)) { par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 2); } } @@ -63,14 +64,14 @@ public void updateTick(World par1World, int par2, int par3, int par4, Random par } @Override - public boolean canSustainPlant(World world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { + public boolean canSustainPlant(IBlockAccess world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); - if((plant instanceof BlockFlower)) { + if ((plant instanceof BlockFlower)) { return true; } - switch(plantType.ordinal()) { + switch (plantType.ordinal()) { case 1: return false; case 2: @@ -78,13 +79,13 @@ public boolean canSustainPlant(World world, int x, int y, int z, ForgeDirection case 3: return false; case 4: - return isBlockSolidOnSide(world, x, y, z, ForgeDirection.UP); + return isSideSolid(world, x, y, z, ForgeDirection.UP); case 5: return true; case 6: return false; case 7: - boolean hasWater = (world.getBlockMaterial(x - 1, y, z) == Material.water) || (world.getBlockMaterial(x + 1, y, z) == Material.water) || (world.getBlockMaterial(x, y, z - 1) == Material.water) || (world.getBlockMaterial(x, y, z + 1) == Material.water); + boolean hasWater = (world.getBlock(x - 1, y, z).getMaterial() == Material.water) || (world.getBlock(x + 1, y, z).getMaterial() == Material.water) || (world.getBlockMaterial(x, y, z - 1) == Material.water) || (world.getBlockMaterial(x, y, z + 1) == Material.water); return hasWater; } @@ -94,21 +95,21 @@ public boolean canSustainPlant(World world, int x, int y, int z, ForgeDirection @Override public int idDropped(int par1, Random par2Random, int par3) { - return Blocks.BLOCK_SAND.blockID; + return AtumBlocks.BLOCK_SAND; } @Override @SideOnly(Side.CLIENT) - public Icon getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { - if(par1IBlockAccess.getBlockMetadata(par2, par3, par4) == 1) { + public IIcon getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + if (par1IBlockAccess.getBlockMetadata(par2, par3, par4) == 1) { return this.iconDirt; } - if(par5 == 1) { + if (par5 == 1) { return this.iconGrassTop; } - if(par5 == 0) { - return Blocks.BLOCK_SAND.getBlockTextureFromSide(par5); + if (par5 == 0) { + return AtumBlocks.BLOCK_SAND.getBlockTextureFromSide(par5); } return this.blockIcon; @@ -116,7 +117,7 @@ public Icon getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, i @Override @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { + public void registerBlockIcons(IIconRegister par1IconRegister) { this.blockIcon = par1IconRegister.registerIcon("atum:FertileSoilSide"); this.iconDirt = par1IconRegister.registerIcon("atum:FertileSoil"); this.iconGrassTop = par1IconRegister.registerIcon("atum:FertileSoilTop"); @@ -124,7 +125,7 @@ public void registerIcons(IconRegister par1IconRegister) { } @SideOnly(Side.CLIENT) - public Icon getIconSideOverlay() { + public IIcon getIconSideOverlay() { return this.iconGrassSideOverlay; } } \ No newline at end of file diff --git a/src/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java similarity index 91% rename from src/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java index 99b029a..6945096 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java @@ -2,17 +2,17 @@ import java.util.Random; +import javax.swing.Icon; + import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.Icon; import net.minecraft.world.World; import net.minecraftforge.common.EnumPlantType; -import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.IPlantable; +import net.minecraftforge.common.util.ForgeDirection; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -61,7 +61,7 @@ public boolean renderAsNormalBlock() { @Override @SideOnly(Side.CLIENT) public Icon getIcon(int par1, int par2) { - return par2 >> 3 == 0 ? (par1 == 1 ? (par2 > 0 ? this.farmlandWet : this.farmlandDry) : Blocks.BLOCK_FERTILESOIL.getIcon(par1, 1)) : Block.tilledField.getIcon(par1, par2); + return par2 >> 3 == 0 ? (par1 == 1 ? (par2 > 0 ? this.farmlandWet : this.farmlandDry) : AtumBlocks.BLOCK_FERTILESOIL.getIcon(par1, 1)) : Block.tilledField.getIcon(par1, par2); } @Override @@ -146,16 +146,16 @@ public boolean canSustainPlant(World world, int x, int y, int z, ForgeDirection @Override public int idDropped(int par1, Random par2Random, int par3) { - return par1 >> 3 == 0 ? Blocks.BLOCK_SAND.blockID : Block.dirt.blockID; + return par1 >> 3 == 0 ? AtumBlocks.BLOCK_SAND : Block.dirt; } public void revertToDirt(World world, int x, int y, int z) { int type = world.getBlockMetadata(x, y, z) >> 3; if(type == 0) { - world.setBlock(x, y, z, Blocks.BLOCK_FERTILESOIL.blockID); + world.setBlock(x, y, z, AtumBlocks.BLOCK_FERTILESOIL); world.setBlockMetadataWithNotify(x, y, z, 1, 2); } else { - world.setBlock(x, y, z, Block.dirt.blockID); + world.setBlock(x, y, z, Block.dirt); } } @@ -164,7 +164,7 @@ public void revertToDirt(World world, int x, int y, int z) { @SideOnly(Side.CLIENT) public int idPicked(World par1World, int par2, int par3, int par4) { int type = par1World.getBlockMetadata(par2, par3, par4) >> 3; - return type == 0 ? Blocks.BLOCK_SAND.blockID : Block.dirt.blockID; + return type == 0 ? AtumBlocks.BLOCK_SAND : Block.dirt; } @Override diff --git a/src/com/teammetallurgy/atum/blocks/BlockFlax.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java similarity index 88% rename from src/com/teammetallurgy/atum/blocks/BlockFlax.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java index 7eb2187..256d4c2 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockFlax.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java @@ -3,18 +3,18 @@ import java.util.ArrayList; import java.util.Random; +import javax.swing.Icon; + import net.minecraft.block.Block; import net.minecraft.block.BlockFlower; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraftforge.common.EnumPlantType; -import net.minecraftforge.common.ForgeDirection; +import net.minecraftforge.common.util.ForgeDirection; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -43,7 +43,7 @@ public EnumPlantType getPlantType(World world, int x, int y, int z) { @Override public boolean canBlockStay(World par1World, int par2, int par3, int par4) { if(par1World.getBlockMetadata(par2, par3, par4) >> 3 == 1) { - return par1World.getBlockId(par2, par3 - 1, par4) == Blocks.BLOCK_FERTILESOIL.blockID; + return par1World.getBlockId(par2, par3 - 1, par4) == AtumBlocks.BLOCK_FERTILESOIL; } else { Block soil = Block.blocksList[par1World.getBlockId(par2, par3 - 1, par4)]; return (par1World.getFullBlockLightValue(par2, par3, par4) >= 8 || par1World.canBlockSeeTheSky(par2, par3, par4)) && soil != null && soil.canSustainPlant(par1World, par2, par3 - 1, par4, ForgeDirection.UP, this); @@ -52,7 +52,7 @@ public boolean canBlockStay(World par1World, int par2, int par3, int par4) { @Override protected boolean canThisPlantGrowOnThisBlockID(int par1) { - return par1 == Block.tilledField.blockID || par1 == Blocks.BLOCK_FERTILESOILTILLED.blockID; + return par1 == Block.tilledField || par1 == AtumBlocks.BLOCK_FERTILESOILTILLED; } @Override @@ -90,9 +90,9 @@ private float getGrowthRate(World par1World, int par2, int par3, int par4) { int i2 = par1World.getBlockId(par2 + 1, par3, par4 - 1); int j2 = par1World.getBlockId(par2 + 1, par3, par4 + 1); int k2 = par1World.getBlockId(par2 - 1, par3, par4 + 1); - boolean flag = j1 == super.blockID || k1 == super.blockID; - boolean flag1 = l == super.blockID || i1 == super.blockID; - boolean flag2 = l1 == super.blockID || i2 == super.blockID || j2 == super.blockID || k2 == super.blockID; + boolean flag = j1 == super || k1 == super; + boolean flag1 = l == super || i1 == super; + boolean flag2 = l1 == super || i2 == super || j2 == super || k2 == super; for(int l2 = par2 - 1; l2 <= par2 + 1; ++l2) { for(int i3 = par4 - 1; i3 <= par4 + 1; ++i3) { @@ -136,11 +136,11 @@ public int getRenderType() { } protected int getSeedItem() { - return Items.flaxSeeds.itemID; + return AtumItems.flaxSeeds.itemID; } protected int getCropItem() { - return Items.flax.itemID; + return AtumItems.flax.itemID; } @Override diff --git a/src/com/teammetallurgy/atum/blocks/BlockLeave.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockLeave.java similarity index 62% rename from src/com/teammetallurgy/atum/blocks/BlockLeave.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockLeave.java index 6db7902..f78122a 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockLeave.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockLeave.java @@ -3,14 +3,15 @@ import java.util.ArrayList; import java.util.Random; +import javax.swing.Icon; + import net.minecraft.block.Block; -import net.minecraft.block.BlockLeaves; import net.minecraft.block.BlockLeavesBase; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; +import net.minecraft.util.IIcon; import net.minecraft.world.ColorizerFoliage; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; @@ -23,11 +24,11 @@ public class BlockLeave extends BlockLeavesBase implements IShearable { int[] adjacentTreeBlocks; protected BlockLeave(int par1) { - super(par1, Material.leaves, false); + super(Material.leaves, false); this.setUnlocalizedName("atum:palmLeaves"); this.setHardness(0.2F); this.setLightOpacity(1); - this.setStepSound(Block.soundGrassFootstep); + this.setStepSound(Block.soundTypeGrass); this.setTickRandomly(true); } @@ -52,8 +53,8 @@ public int colorMultiplier(IBlockAccess par1IBlockAccess, int par2, int par3, in int j1 = 0; int k1 = 0; - for(int l1 = -1; l1 <= 1; ++l1) { - for(int i2 = -1; i2 <= 1; ++i2) { + for (int l1 = -1; l1 <= 1; ++l1) { + for (int i2 = -1; i2 <= 1; ++i2) { int j2 = BiomeGenBase.desert.getBiomeFoliageColor(); i1 += (j2 & 16711680) >> 16; j1 += (j2 & '\uff00') >> 8; @@ -65,16 +66,16 @@ public int colorMultiplier(IBlockAccess par1IBlockAccess, int par2, int par3, in } @Override - public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) { + public void breakBlock(World par1World, int par2, int par3, int par4, Block par5, int par6) { byte b0 = 1; int j1 = b0 + 1; - if(par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1)) { - for(int k1 = -b0; k1 <= b0; ++k1) { - for(int l1 = -b0; l1 <= b0; ++l1) { - for(int i2 = -b0; i2 <= b0; ++i2) { - int j2 = par1World.getBlockId(par2 + k1, par3 + l1, par4 + i2); - if(Block.blocksList[j2] != null) { - Block.blocksList[j2].beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2); + if (par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1)) { + for (int k1 = -b0; k1 <= b0; ++k1) { + for (int l1 = -b0; l1 <= b0; ++l1) { + for (int i2 = -b0; i2 <= b0; ++i2) { + Block j2 = par1World.getBlock(par2 + k1, par3 + l1, par4 + i2); + if (j2 != null) { + j2.beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2); } } } @@ -85,31 +86,30 @@ public void breakBlock(World par1World, int par2, int par3, int par4, int par5, @Override public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if(!par1World.isRemote) { + if (!par1World.isRemote) { int l = par1World.getBlockMetadata(par2, par3, par4); - if((l & 8) != 0 && (l & 4) == 0) { + if ((l & 8) != 0 && (l & 4) == 0) { byte b0 = 4; int i1 = b0 + 1; byte b1 = 32; int j1 = b1 * b1; int k1 = b1 / 2; - if(this.adjacentTreeBlocks == null) { + if (this.adjacentTreeBlocks == null) { this.adjacentTreeBlocks = new int[b1 * b1 * b1]; } int l1; - if(par1World.checkChunksExist(par2 - i1, par3 - i1, par4 - i1, par2 + i1, par3 + i1, par4 + i1)) { + if (par1World.checkChunksExist(par2 - i1, par3 - i1, par4 - i1, par2 + i1, par3 + i1, par4 + i1)) { int i2; int j2; int k2; - for(l1 = -b0; l1 <= b0; ++l1) { - for(i2 = -b0; i2 <= b0; ++i2) { - for(j2 = -b0; j2 <= b0; ++j2) { - k2 = par1World.getBlockId(par2 + l1, par3 + i2, par4 + j2); - Block block = Block.blocksList[k2]; - if(block != null && block.canSustainLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) { + for (l1 = -b0; l1 <= b0; ++l1) { + for (i2 = -b0; i2 <= b0; ++i2) { + for (j2 = -b0; j2 <= b0; ++j2) { + Block block = par1World.getBlock(par2 + l1, par3 + i2, par4 + j2); + if (block != null && block.canSustainLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) { this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = 0; - } else if(block != null && block.isLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) { + } else if (block != null && block.isLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) { this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = -2; } else { this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = -1; @@ -118,32 +118,32 @@ public void updateTick(World par1World, int par2, int par3, int par4, Random par } } - for(l1 = 1; l1 <= 4; ++l1) { - for(i2 = -b0; i2 <= b0; ++i2) { - for(j2 = -b0; j2 <= b0; ++j2) { - for(k2 = -b0; k2 <= b0; ++k2) { - if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1] == l1 - 1) { - if(this.adjacentTreeBlocks[(i2 + k1 - 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) { + for (l1 = 1; l1 <= 4; ++l1) { + for (i2 = -b0; i2 <= b0; ++i2) { + for (j2 = -b0; j2 <= b0; ++j2) { + for (k2 = -b0; k2 <= b0; ++k2) { + if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1] == l1 - 1) { + if (this.adjacentTreeBlocks[(i2 + k1 - 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) { this.adjacentTreeBlocks[(i2 + k1 - 1) * j1 + (j2 + k1) * b1 + k2 + k1] = l1; } - if(this.adjacentTreeBlocks[(i2 + k1 + 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) { + if (this.adjacentTreeBlocks[(i2 + k1 + 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) { this.adjacentTreeBlocks[(i2 + k1 + 1) * j1 + (j2 + k1) * b1 + k2 + k1] = l1; } - if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 - 1) * b1 + k2 + k1] == -2) { + if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 - 1) * b1 + k2 + k1] == -2) { this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 - 1) * b1 + k2 + k1] = l1; } - if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 + 1) * b1 + k2 + k1] == -2) { + if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 + 1) * b1 + k2 + k1] == -2) { this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 + 1) * b1 + k2 + k1] = l1; } - if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + (k2 + k1 - 1)] == -2) { + if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + (k2 + k1 - 1)] == -2) { this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + (k2 + k1 - 1)] = l1; } - if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1 + 1] == -2) { + if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1 + 1] == -2) { this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1 + 1] = l1; } } @@ -154,7 +154,7 @@ public void updateTick(World par1World, int par2, int par3, int par4, Random par } l1 = this.adjacentTreeBlocks[k1 * j1 + k1 * b1 + k1]; - if(l1 >= 0) { + if (l1 >= 0) { par1World.setBlockMetadataWithNotify(par2, par3, par4, l & -9, 4); } else { this.removeLeaves(par1World, par2, par3, par4); @@ -167,7 +167,7 @@ public void updateTick(World par1World, int par2, int par3, int par4, Random par @Override @SideOnly(Side.CLIENT) public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if(par1World.canLightningStrikeAt(par2, par3 + 1, par4) && !par1World.doesBlockHaveSolidTopSurface(par2, par3 - 1, par4) && par5Random.nextInt(15) == 1) { + if (par1World.canLightningStrikeAt(par2, par3 + 1, par4) && !par1World.doesBlockHaveSolidTopSurface(par1World, par2, par3 - 1, par4) && par5Random.nextInt(15) == 1) { double d0 = (double) ((float) par2 + par5Random.nextFloat()); double d1 = (double) par3 - 0.05D; double d2 = (double) ((float) par4 + par5Random.nextFloat()); @@ -186,28 +186,28 @@ public int quantityDropped(Random par1Random) { return par1Random.nextInt(20) == 0 ? 1 : 0; } - public int idDropped(int par1, Random par2Random, int par3) { - return Blocks.BLOCK_PALMSAPLING.blockID; + public Block idDropped(int par1, Random par2Random, int par3) { + return AtumBlocks.BLOCK_PALMSAPLING; } @Override public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int par4, int par5, float par6, int par7) { - if(!par1World.isRemote) { + if (!par1World.isRemote) { int j1 = 20; - if((par5 & 3) == 3) { + if ((par5 & 3) == 3) { j1 = 40; } - if(par7 > 0) { + if (par7 > 0) { j1 -= 2 << par7; - if(j1 < 10) { + if (j1 < 10) { j1 = 10; } } - if(par1World.rand.nextInt(j1) == 0) { - int k1 = this.idDropped(par5, par1World.rand, par7); - this.dropBlockAsItem_do(par1World, par2, par3, par4, new ItemStack(k1, 1, this.damageDropped(par5))); + if (par1World.rand.nextInt(j1) == 0) { + Block k1 = this.idDropped(par5, par1World.rand, par7); + this.dropBlockAsItem(par1World, par2, par3, par4, new ItemStack(k1, 1, this.damageDropped(par5))); } } @@ -230,40 +230,40 @@ public boolean isOpaqueCube() { @Override @SideOnly(Side.CLIENT) - public Icon getIcon(int par1, int par2) { + public IIcon getIcon(int par1, int par2) { return this.blockIcon; } @Override protected ItemStack createStackedBlock(int par1) { - return new ItemStack(this.blockID, 1, par1 & 3); + return new ItemStack(this, 1, par1 & 3); } @Override @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { + public void registerBlockIcons(IIconRegister par1IconRegister) { this.blockIcon = par1IconRegister.registerIcon("atum:AtumLeaves"); } @Override - public boolean isShearable(ItemStack item, World world, int x, int y, int z) { - return true; + public void beginLeavesDecay(World world, int x, int y, int z) { + world.setBlockMetadataWithNotify(x, y, z, world.getBlockMetadata(x, y, z) | 8, 4); } @Override - public ArrayList onSheared(ItemStack item, World world, int x, int y, int z, int fortune) { - ArrayList ret = new ArrayList(); - ret.add(new ItemStack(this, 1, world.getBlockMetadata(x, y, z) & 3)); - return ret; + public boolean isLeaves(IBlockAccess world, int x, int y, int z) { + return true; } @Override - public void beginLeavesDecay(World world, int x, int y, int z) { - world.setBlockMetadataWithNotify(x, y, z, world.getBlockMetadata(x, y, z) | 8, 4); + public boolean isShearable(ItemStack item, IBlockAccess world, int x, int y, int z) { + return true; } @Override - public boolean isLeaves(World world, int x, int y, int z) { - return true; + public ArrayList onSheared(ItemStack item, IBlockAccess world, int x, int y, int z, int fortune) { + ArrayList ret = new ArrayList(); + ret.add(new ItemStack(this, 1, world.getBlockMetadata(x, y, z) & 3)); + return ret; } } diff --git a/src/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java similarity index 70% rename from src/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java index 7840897..6206402 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java @@ -1,9 +1,11 @@ package com.teammetallurgy.atum.blocks; +import javax.swing.Icon; + import net.minecraft.block.Block; import net.minecraft.block.BlockFurnace; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.util.Icon; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.util.IIcon; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -11,19 +13,19 @@ public class BlockLimeStoneFurnace extends BlockFurnace { boolean isActive; @SideOnly(Side.CLIENT) - private Icon furnaceFront; + private IIcon furnaceFront; protected BlockLimeStoneFurnace(int par1, boolean par2) { - super(par1, par2); + super(par2); this.isActive = par2; this.setHardness(3.5F); - this.setStepSound(Block.soundStoneFootstep); + this.setStepSound(Block.soundTypeStone); } @Override @SideOnly(Side.CLIENT) - public Icon getIcon(int par1, int par2) { - if(par2 == 0) { + public IIcon getIcon(int par1, int par2) { + if (par2 == 0) { par2 = 3; } @@ -32,7 +34,7 @@ public Icon getIcon(int par1, int par2) { @Override @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { + public void registerBlockIcons(IIconRegister par1IconRegister) { this.blockIcon = par1IconRegister.registerIcon("atum:FurnaceTop"); this.furnaceFront = par1IconRegister.registerIcon(this.isActive ? "atum:FurnaceBurning" : "atum:FurnaceFront"); } diff --git a/src/com/teammetallurgy/atum/blocks/BlockPalmLog.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmLog.java similarity index 58% rename from src/com/teammetallurgy/atum/blocks/BlockPalmLog.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockPalmLog.java index d1d5ef4..eaaec27 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockPalmLog.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmLog.java @@ -2,30 +2,33 @@ import java.util.Random; +import javax.swing.Icon; + import net.minecraft.block.Block; import net.minecraft.block.BlockLog; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class BlockPalmLog extends BlockLog { - public static final String[] woodType = new String[]{"oak", "spruce", "birch", "jungle"}; - public static final String[] treeTextureTypes = new String[]{"tree_side", "tree_spruce", "tree_birch", "tree_jungle"}; + public static final String[] woodType = new String[] { "oak", "spruce", "birch", "jungle" }; + public static final String[] treeTextureTypes = new String[] { "tree_side", "tree_spruce", "tree_birch", "tree_jungle" }; @SideOnly(Side.CLIENT) private Icon[] iconArray; @SideOnly(Side.CLIENT) - private Icon tree_top; - private Icon tree_side; + private IIcon tree_top; + private IIcon tree_side; protected BlockPalmLog(int par1) { - super(par1); + super(); this.setUnlocalizedName("atum:palmLog"); this.setHardness(2.0F); - this.setStepSound(Block.soundWoodFootstep); - setBurnProperties(super.blockID, 5, 5); + this.setStepSound(Block.soundTypeWood); + this.setBurnProperties(this, 5, 5); } @Override @@ -39,16 +42,16 @@ public int quantityDropped(Random par1Random) { } @Override - public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) { + public void breakBlock(World par1World, int par2, int par3, int par4, Block par5, int par6) { byte b0 = 4; int j1 = b0 + 1; - if(par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1)) { - for(int k1 = -b0; k1 <= b0; ++k1) { - for(int l1 = -b0; l1 <= b0; ++l1) { - for(int i2 = -b0; i2 <= b0; ++i2) { - int j2 = par1World.getBlockId(par2 + k1, par3 + l1, par4 + i2); - if(Block.blocksList[j2] != null) { - Block.blocksList[j2].beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2); + if (par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1)) { + for (int k1 = -b0; k1 <= b0; ++k1) { + for (int l1 = -b0; l1 <= b0; ++l1) { + for (int i2 = -b0; i2 <= b0; ++i2) { + Block j2 = par1World.getBlock(par2 + k1, par3 + l1, par4 + i2); + if (j2 != null) { + j2.beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2); } } } @@ -61,7 +64,7 @@ public void breakBlock(World par1World, int par2, int par3, int par4, int par5, public int onBlockPlaced(World par1World, int par2, int par3, int par4, int par5, float par6, float par7, float par8, int par9) { int j1 = par9 & 3; byte b0 = 0; - switch(par5) { + switch (par5) { case 0: case 1: b0 = 0; @@ -80,7 +83,7 @@ public int onBlockPlaced(World par1World, int par2, int par3, int par4, int par5 @Override @SideOnly(Side.CLIENT) - public Icon getIcon(int par1, int par2) { + public IIcon getIcon(int par1, int par2) { int k = par2 & 12; int l = par2 & 3; return k == 0 && (par1 == 1 || par1 == 0) ? this.tree_top : (k == 4 && (par1 == 5 || par1 == 4) ? this.tree_top : (k == 8 && (par1 == 2 || par1 == 3) ? this.tree_top : this.tree_side)); @@ -93,23 +96,23 @@ public int damageDropped(int par1) { @Override protected ItemStack createStackedBlock(int par1) { - return new ItemStack(super.blockID, 1, limitToValidMetadata(par1)); + return new ItemStack(this, 1, limitToValidMetadata(par1)); } @Override @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { + public void registerBlockIcons(IIconRegister par1IconRegister) { this.tree_top = par1IconRegister.registerIcon("atum:tree_top"); this.tree_side = par1IconRegister.registerIcon("atum:tree_side"); } @Override - public boolean canSustainLeaves(World world, int x, int y, int z) { + public boolean canSustainLeaves(IBlockAccess world, int x, int y, int z) { return true; } @Override - public boolean isWood(World world, int x, int y, int z) { + public boolean isWood(IBlockAccess world, int x, int y, int z) { return true; } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmSapling.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmSapling.java new file mode 100644 index 0000000..d674986 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmSapling.java @@ -0,0 +1,91 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockFlower; +import net.minecraft.world.World; + +public class BlockPalmSapling extends BlockFlower { + + protected BlockPalmSapling(int par1) { + super(par1); + this.setUnlocalizedName("atum:palmSapling"); + float f = 0.4F; + this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, f * 2.0F, 0.5F + f); + } + + @Override + public void updateTick(World world, int x, int y, int z, Random rand) { + if(!world.isRemote) { + super.updateTick(world, x, y, z, rand); + if(world.getBlockLightValue(x, y + 1, z) > 9 && rand.nextInt(20) == 0) { + this.growTree(world, x, y, z, rand); + } + } + + } + + public void growTree(World world, int x, int y, int z, Random rand) { + int height = rand.nextInt(4) + 5; + + int i; + for(i = 0; i < height; ++i) { + world.setBlock(x, y + i, z, AtumBlocks.BLOCK_LOG, 0, 2); + } + + world.setBlock(x, y + height, z, AtumBlocks.BLOCK_LEAVES, 0, 2); + + for(i = -1; i < 2; ++i) { + for(int j = -1; j < 2; ++j) { + if(i != 0 || j != 0) { + world.setBlock(x + i, y + height - 1, z + j, AtumBlocks.BLOCK_LEAVES, 0, 2); + } + } + } + + world.setBlock(x + 2, y + height - 1, z, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x + 2, y + height - 2, z, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x + 3, y + height - 2, z, AtumBlocks.BLOCK_LEAVES, 0, 2); + if(rand.nextInt(100) < 15) { + world.setBlock(x + 1, y + height - 2, z, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); + } + + world.setBlock(x - 2, y + height - 1, z, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x - 2, y + height - 2, z, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x - 3, y + height - 2, z, AtumBlocks.BLOCK_LEAVES, 0, 2); + if(rand.nextInt(100) < 15) { + world.setBlock(x - 1, y + height - 2, z, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); + } + + world.setBlock(x, y + height - 1, z + 2, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x, y + height - 2, z + 2, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x, y + height - 2, z + 3, AtumBlocks.BLOCK_LEAVES, 0, 2); + if(rand.nextInt(100) < 15) { + world.setBlock(x, y + height - 2, z + 1, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); + } + + world.setBlock(x, y + height - 1, z - 2, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x, y + height - 2, z - 2, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x, y + height - 2, z - 3, AtumBlocks.BLOCK_LEAVES, 0, 2); + if(rand.nextInt(100) < 15) { + world.setBlock(x, y + height - 2, z - 1, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); + } + + } + + @Override + protected boolean canThisPlantGrowOnThisBlockID(int id) { + return id == AtumBlocks.BLOCK_SAND || id == Block.grass || id == Block.dirt; + } + + @Override + public boolean canBlockStay(World world, int x, int y, int z) { + return world.getBlockId(x, y - 1, z) == AtumBlocks.BLOCK_SAND || world.getBlockId(x, y - 1, z) == Block.grass || world.getBlockId(x, y - 1, z) == Block.dirt; + } + + @Override + public void registerIcons(IconRegister par1IconRegister) { + this.blockIcon = par1IconRegister.registerIcon("atum:AtumPalmSapling"); + } +} diff --git a/src/com/teammetallurgy/atum/blocks/BlockPapyrus.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPapyrus.java similarity index 90% rename from src/com/teammetallurgy/atum/blocks/BlockPapyrus.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockPapyrus.java index 2449a9d..8e30b12 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockPapyrus.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPapyrus.java @@ -2,19 +2,19 @@ import java.util.Random; +import javax.swing.Icon; + import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.Icon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.EnumPlantType; -import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.IPlantable; +import net.minecraftforge.common.util.ForgeDirection; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; @@ -49,7 +49,7 @@ public void updateTick(World par1World, int par2, int par3, int par4, Random par if((double) par5Random.nextFloat() <= 0.75D) { if(par1World.isAirBlock(par2, par3 + 1, par4)) { int l; - for(l = 1; par1World.getBlockId(par2, par3 - l, par4) == super.blockID; ++l) { + for(l = 1; par1World.getBlockId(par2, par3 - l, par4) == super; ++l) { ; } @@ -67,7 +67,7 @@ public void updateTick(World par1World, int par2, int par3, int par4, Random par } if(i1 >= reqHeight) { - par1World.setBlock(par2, par3 + 1, par4, super.blockID); + par1World.setBlock(par2, par3 + 1, par4, super); par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 4); } else { par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 + 1, 4); @@ -86,7 +86,7 @@ public Icon getIcon(int par1, int par2) { @Override @SideOnly(Side.CLIENT) public Icon getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { - boolean top = par1IBlockAccess.getBlockId(par2, par3 + 1, par4) != super.blockID; + boolean top = par1IBlockAccess.getBlockId(par2, par3 + 1, par4) != super; return top ? this.iconPapyrusTop : this.iconPapyrus; } @@ -118,12 +118,12 @@ public boolean canBlockStay(World par1World, int par2, int par3, int par4) { public boolean canSustainPlant(World world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { int plantID = plant.getPlantID(world, x, y + 1, z); EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); - if(plantID == this.blockID) { + if(plantID == this) { return true; } else if(plantType != EnumPlantType.Beach) { return false; } else { - boolean isBeach = super.blockID == Block.grass.blockID || super.blockID == Block.dirt.blockID || super.blockID == Block.sand.blockID; + boolean isBeach = super == Block.grass || super == Block.dirt || super == Block.sand; boolean hasWater = world.getBlockMaterial(x - 1, y, z) == Material.water || world.getBlockMaterial(x + 1, y, z) == Material.water || world.getBlockMaterial(x, y, z - 1) == Material.water || world.getBlockMaterial(x, y, z + 1) == Material.water; return isBeach && hasWater; } @@ -136,7 +136,7 @@ public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, @Override public int idDropped(int par1, Random par2Random, int par3) { - return Items.papyrusPlant.itemID; + return AtumItems.papyrusPlant.itemID; } @Override @@ -157,7 +157,7 @@ public int getRenderType() { @Override @SideOnly(Side.CLIENT) public int idPicked(World par1World, int par2, int par3, int par4) { - return Items.papyrusPlant.itemID; + return AtumItems.papyrusPlant.itemID; } @Override @@ -167,7 +167,7 @@ public EnumPlantType getPlantType(World world, int x, int y, int z) { @Override public int getPlantID(World world, int x, int y, int z) { - return this.blockID; + return this; } @Override diff --git a/src/com/teammetallurgy/atum/blocks/BlockPharaohChest.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java similarity index 93% rename from src/com/teammetallurgy/atum/blocks/BlockPharaohChest.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java index 9933488..594a434 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockPharaohChest.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java @@ -6,7 +6,6 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.passive.EntityOcelot; import net.minecraft.entity.player.EntityPlayer; @@ -18,7 +17,7 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -import net.minecraftforge.common.ForgeDirection; +import net.minecraftforge.common.util.ForgeDirection; import com.teammetallurgy.atum.AtumLoot; import com.teammetallurgy.atum.blocks.tileentity.TileEntityPharaohChest; @@ -36,7 +35,7 @@ protected BlockPharaohChest(int par1) { @Override public int idDropped(int par1, Random par2Random, int par3) { - return Block.chest.blockID; + return Block.chest; } @Override @@ -82,11 +81,11 @@ public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, Entit b0 = 4; } - if(l != super.blockID && i1 != super.blockID && j1 != super.blockID && k1 != super.blockID) { + if(l != super && i1 != super && j1 != super && k1 != super) { par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); } else { - if((l == super.blockID || i1 == super.blockID) && (b0 == 4 || b0 == 5)) { - if(l == super.blockID) { + if((l == super || i1 == super) && (b0 == 4 || b0 == 5)) { + if(l == super) { par1World.setBlockMetadataWithNotify(par2, par3, par4 - 1, b0, 3); } else { par1World.setBlockMetadataWithNotify(par2, par3, par4 + 1, b0, 3); @@ -95,8 +94,8 @@ public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, Entit par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); } - if((j1 == super.blockID || k1 == super.blockID) && (b0 == 2 || b0 == 3)) { - if(j1 == super.blockID) { + if((j1 == super || k1 == super) && (b0 == 2 || b0 == 3)) { + if(j1 == super) { par1World.setBlockMetadataWithNotify(par2 - 1, par3, par4, b0, 3); } else { par1World.setBlockMetadataWithNotify(par2 + 1, par3, par4, b0, 3); diff --git a/src/com/teammetallurgy/atum/blocks/BlockPortal.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java similarity index 94% rename from src/com/teammetallurgy/atum/blocks/BlockPortal.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java index 52b216f..82d5a1b 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockPortal.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java @@ -52,7 +52,7 @@ public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, // for(int x = -1; x < 2; x++) { // for(int z = -1; z < 2; z++) { // for(int y = -1; y < 1; y++) { -// if(par1World.getBlockId(par2 + x, par3 + y, par4 + z) != Block.sandStone.blockID && par1World.getBlockId(par2 + x, par3 + y, par4 + z) != this.blockID && par1World.getBlockId(par2 + x, par3 + y, par4 + z) != Blocks.BLOCK_LARGEBRICK.blockID) { +// if(par1World.getBlockId(par2 + x, par3 + y, par4 + z) != Block.sandStone && par1World.getBlockId(par2 + x, par3 + y, par4 + z) != this && par1World.getBlockId(par2 + x, par3 + y, par4 + z) != Blocks.BLOCK_LARGEBRICK) { // System.out.println(par1World.getBlockId(par2 + x, par3 + y, par4 + z)); // par1World.setBlockToAir(par2, par3, par4); // } @@ -70,7 +70,7 @@ public boolean tryToCreatePortal(World par1World, int x, int y, int z) { for(int x1 = -2; x1 < 3; x1++) { for(int z1 = -2; z1 < 3; z1++) { int id = par1World.getBlockId(x + x1, y, z + z1); - if(id != Block.sandStone.blockID) { + if(id != Block.sandStone) { return false; } } @@ -79,7 +79,7 @@ public boolean tryToCreatePortal(World par1World, int x, int y, int z) { for(int z1 = -2; z1 < 3; z1++) { if(x1 + x == x + 2 || z1 + z == z + 2 || x1 + x == x - 2 || z1 + z == z - 2) { int id = par1World.getBlockId(x + x1, y + 1, z + z1); - if(id != Block.sandStone.blockID) { + if(id != Block.sandStone) { return false; } } @@ -90,7 +90,7 @@ public boolean tryToCreatePortal(World par1World, int x, int y, int z) { for(int z1 = -2; z1 < 3; z1++) { if((x1 + x == x + 2 && z1 + z == z + 2) || (x1 + x == x - 2 && z1 + z == z + 2) || (x1 + x == x + 2 && z1 + z == z - 2) || (x1 + x == x - 2 && z1 + z == z - 2)) { int id = par1World.getBlockId(x + x1, y + y1, z + z1); - if(id != Block.sandStone.blockID) { + if(id != Block.sandStone) { return false; } } @@ -99,7 +99,7 @@ public boolean tryToCreatePortal(World par1World, int x, int y, int z) { } for(int x1 = -1; x1 < 2; x1++) { for(int z1 = -1; z1 < 2; z1++) { - par1World.setBlock(x + x1, y + 1, z + z1, Blocks.BLOCK_PORTAL.blockID); + par1World.setBlock(x + x1, y + 1, z + z1, AtumBlocks.BLOCK_PORTAL); } } return true; diff --git a/src/com/teammetallurgy/atum/blocks/BlockSandLayered.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockSandLayered.java similarity index 80% rename from src/com/teammetallurgy/atum/blocks/BlockSandLayered.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockSandLayered.java index 94eed7e..9b12553 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockSandLayered.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockSandLayered.java @@ -4,7 +4,6 @@ import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.EnumSkyBlock; @@ -16,7 +15,7 @@ public class BlockSandLayered extends Block { public BlockSandLayered(int par1) { - super(par1, Material.sand); + super(Material.sand); this.setUnlocalizedName("atum:sandLayer"); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.125F, 1.0F); this.setTickRandomly(true); @@ -61,18 +60,17 @@ protected void func_96478_d(int par1) { @Override public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4) { - int l = par1World.getBlockId(par2, par3 - 1, par4); - Block block = Block.blocksList[l]; - return block == null ? false : (block.blockID == this.blockID ? true : (block == this && (par1World.getBlockMetadata(par2, par3 - 1, par4) & 7) == 7 ? true : (!block.isLeaves(par1World, par2, par3 - 1, par4) && !Block.blocksList[l].isOpaqueCube() ? false : par1World.getBlockMaterial(par2, par3 - 1, par4).blocksMovement()))); + Block block = par1World.getBlock(par2, par3 - 1, par4); + return block == null ? false : (block == this ? true : (block == this && (par1World.getBlockMetadata(par2, par3 - 1, par4) & 7) == 7 ? true : (!block.isLeaves(par1World, par2, par3 - 1, par4) && !block.isOpaqueCube() ? false : par1World.getBlock(par2, par3 - 1, par4).getMaterial().blocksMovement()))); } @Override - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) { + public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, Block par5) { this.canSnowStay(par1World, par2, par3, par4); } private boolean canSnowStay(World par1World, int par2, int par3, int par4) { - if(!this.canPlaceBlockAt(par1World, par2, par3, par4)) { + if (!this.canPlaceBlockAt(par1World, par2, par3, par4)) { par1World.setBlockToAir(par2, par3, par4); return false; } else { @@ -98,7 +96,7 @@ public int quantityDropped(Random par1Random) { @Override public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if(par1World.getSavedLightValue(EnumSkyBlock.Block, par2, par3, par4) > 11) { + if (par1World.getSavedLightValue(EnumSkyBlock.Block, par2, par3, par4) > 11) { par1World.setBlockToAir(par2, par3, par4); } diff --git a/src/com/teammetallurgy/atum/blocks/BlockSands.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockSands.java similarity index 85% rename from src/com/teammetallurgy/atum/blocks/BlockSands.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockSands.java index ec23a94..0eabd0a 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockSands.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockSands.java @@ -1,7 +1,6 @@ package com.teammetallurgy.atum.blocks; import net.minecraft.block.BlockSand; -import net.minecraft.client.renderer.texture.IconRegister; public class BlockSands extends BlockSand { diff --git a/src/com/teammetallurgy/atum/blocks/BlockShrub.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockShrub.java similarity index 56% rename from src/com/teammetallurgy/atum/blocks/BlockShrub.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockShrub.java index 5dc7869..5e67043 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockShrub.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockShrub.java @@ -4,26 +4,24 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockDeadBush; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.stats.StatList; import net.minecraft.world.World; -import com.teammetallurgy.atum.Atum; - public class BlockShrub extends BlockDeadBush { protected BlockShrub(int par1) { - super(par1); + super(); this.setHardness(0.0F); - this.setStepSound(Block.soundGrassFootstep); + this.setStepSound(Block.soundTypeGrass); } @Override - public boolean canThisPlantGrowOnThisBlockID(int par1) { - return par1 == Blocks.BLOCK_SAND.blockID; + public boolean canPlaceBlockOn(Block par1) { + return par1 == AtumBlocks.BLOCK_SAND; } @Override @@ -33,9 +31,9 @@ public int idDropped(int par1, Random par2Random, int par3) { @Override public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6) { - if(!par1World.isRemote && par2EntityPlayer.getCurrentEquippedItem() != null && par2EntityPlayer.getCurrentEquippedItem().itemID == Item.shears.itemID) { - par2EntityPlayer.addStat(StatList.mineBlockStatArray[super.blockID], 1); - this.dropBlockAsItem_do(par1World, par3, par4, par5, new ItemStack(Blocks.BLOCK_SHRUB, 1, par6)); + if (!par1World.isRemote && par2EntityPlayer.getCurrentEquippedItem() != null && par2EntityPlayer.getCurrentEquippedItem().itemID == Item.shears.itemID) { + par2EntityPlayer.addStat(StatList.mineBlockStatArray[super], 1); + this.dropBlockAsItem(par1World, par3, par4, par5, new ItemStack(AtumBlocks.BLOCK_SHRUB, 1, par6)); } else { super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6); } @@ -43,7 +41,7 @@ public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par } @Override - public void registerIcons(IconRegister par1IconRegister) { + public void registerBlockIcons(IIconRegister par1IconRegister) { this.blockIcon = par1IconRegister.registerIcon("atum:DeadBush"); } diff --git a/src/com/teammetallurgy/atum/blocks/BlockStair.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockStair.java similarity index 100% rename from src/com/teammetallurgy/atum/blocks/BlockStair.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockStair.java diff --git a/src/com/teammetallurgy/atum/blocks/BlockStones.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockStones.java similarity index 81% rename from src/com/teammetallurgy/atum/blocks/BlockStones.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockStones.java index be9f59c..07f2e1b 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockStones.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockStones.java @@ -3,7 +3,6 @@ import java.util.Random; import net.minecraft.block.BlockStone; -import net.minecraft.client.renderer.texture.IconRegister; public class BlockStones extends BlockStone { @@ -13,7 +12,7 @@ public BlockStones(int par1) { } public int idDropped(int par1, Random par2Random, int par3) { - return Blocks.BLOCK_LIMESTONECOBBLE.blockID; + return AtumBlocks.BLOCK_LIMESTONECOBBLE; } @Override diff --git a/src/com/teammetallurgy/atum/blocks/BlockWalls.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockWalls.java similarity index 92% rename from src/com/teammetallurgy/atum/blocks/BlockWalls.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockWalls.java index fc927f8..31cc4c9 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockWalls.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockWalls.java @@ -2,14 +2,14 @@ import java.util.List; +import javax.swing.Icon; + import net.minecraft.block.Block; import net.minecraft.block.BlockWall; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; import net.minecraft.world.World; -import net.minecraftforge.common.ForgeDirection; +import net.minecraftforge.common.util.ForgeDirection; import com.teammetallurgy.atum.LocalizationHelper; diff --git a/src/com/teammetallurgy/atum/blocks/ItemBlockSlab.java b/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockSlab.java similarity index 73% rename from src/com/teammetallurgy/atum/blocks/ItemBlockSlab.java rename to src/main/java/com/teammetallurgy/atum/blocks/ItemBlockSlab.java index eeec639..79d048c 100644 --- a/src/com/teammetallurgy/atum/blocks/ItemBlockSlab.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockSlab.java @@ -6,8 +6,8 @@ public class ItemBlockSlab extends ItemBlock { - public ItemBlockSlab(int par1) { - super(par1); + public ItemBlockSlab(Block block) { + super(block); } @Override @@ -17,6 +17,6 @@ public String getItemDisplayName(ItemStack stack) { @Override public String getItemStackDisplayName(ItemStack stack) { - return ((BlockSlab) Block.blocksList[getBlockID()]).getLocalizedName(stack); + return ((AtumBlockSlab) Block.blocksList[getBlockID()]).getLocalizedName(stack); } } diff --git a/src/com/teammetallurgy/atum/blocks/ItemBlockWall.java b/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockWall.java similarity index 73% rename from src/com/teammetallurgy/atum/blocks/ItemBlockWall.java rename to src/main/java/com/teammetallurgy/atum/blocks/ItemBlockWall.java index 4df785a..02bb578 100644 --- a/src/com/teammetallurgy/atum/blocks/ItemBlockWall.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockWall.java @@ -6,8 +6,8 @@ public class ItemBlockWall extends ItemBlock { - public ItemBlockWall(int par1) { - super(par1); + public ItemBlockWall(Block block) { + super(block); } @Override @@ -17,7 +17,7 @@ public String getItemDisplayName(ItemStack stack) { @Override public String getItemStackDisplayName(ItemStack stack) { - return ((BlockWalls) Block.blocksList[getBlockID()]).getLocalizedName(stack); + return ((BlockWalls) Block.getBlockFromItem(stack.getItem())).getLocalizedName(stack); } } diff --git a/src/com/teammetallurgy/atum/blocks/tileentity/CursedChestBaseLogic.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/CursedChestBaseLogic.java similarity index 74% rename from src/com/teammetallurgy/atum/blocks/tileentity/CursedChestBaseLogic.java rename to src/main/java/com/teammetallurgy/atum/blocks/tileentity/CursedChestBaseLogic.java index 5254621..323659f 100644 --- a/src/com/teammetallurgy/atum/blocks/tileentity/CursedChestBaseLogic.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/CursedChestBaseLogic.java @@ -8,12 +8,11 @@ import net.minecraft.entity.EntityList; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.EntityLivingData; +import net.minecraft.entity.IEntityLivingData; import net.minecraft.nbt.NBTBase; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.MobSpawnerBaseLogic; -import net.minecraft.tileentity.WeightedRandomMinecart; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.WeightedRandom; import net.minecraft.world.World; @@ -27,7 +26,7 @@ public abstract class CursedChestBaseLogic extends MobSpawnerBaseLogic { /** List of minecart to spawn. */ private List minecartToSpawn; - private WeightedRandomMinecart randomMinecart; + private WeightedRandomMinecart randomEntity; public double field_98287_c; public double field_98284_d; public int minSpawnDelay = 200; @@ -49,70 +48,67 @@ public abstract class CursedChestBaseLogic extends MobSpawnerBaseLogic { */ @Override public String getEntityNameToSpawn() { - if(this.getRandomMinecart() == null) { - if(this.mobID.equals("Minecart")) { + if (this.getRandomEntity() == null) { + if (this.mobID.equals("Minecart")) { this.mobID = "MinecartRideable"; } return this.mobID; } else { - return this.getRandomMinecart().minecartName; + return this.getRandomEntity().entityTypeName; } } @Override - public void setMobID(String par1Str) { + public void setEntityName(String par1Str) { this.mobID = par1Str; } - /** - * Returns true if there's a player close enough to this mob spawner to activate it. - */ @Override - public boolean canRun() { + public boolean isActivated() { return this.getSpawnerWorld().getClosestPlayer((double) this.getSpawnerX() + 0.5D, (double) this.getSpawnerY() + 0.5D, (double) this.getSpawnerZ() + 0.5D, (double) this.activatingRangeFromPlayer) != null; } @Override public void updateSpawner() { - if(this.canRun()) { + if (this.isActivated()) { double d0; - if(this.getSpawnerWorld().isRemote) { + if (this.getSpawnerWorld().isRemote) { double d1 = (double) ((float) this.getSpawnerX() + this.getSpawnerWorld().rand.nextFloat()); double d2 = (double) ((float) this.getSpawnerY() + this.getSpawnerWorld().rand.nextFloat()); d0 = (double) ((float) this.getSpawnerZ() + this.getSpawnerWorld().rand.nextFloat()); this.getSpawnerWorld().spawnParticle("smoke", d1, d2, d0, 0.0D, 0.0D, 0.0D); this.getSpawnerWorld().spawnParticle("flame", d1, d2, d0, 0.0D, 0.0D, 0.0D); - if(this.spawnDelay > 0) { + if (this.spawnDelay > 0) { --this.spawnDelay; } this.field_98284_d = this.field_98287_c; this.field_98287_c = (this.field_98287_c + (double) (1000.0F / ((float) this.spawnDelay + 200.0F))) % 360.0D; } else { - if(this.spawnDelay == -1) { + if (this.spawnDelay == -1) { this.func_98273_j(); } - if(this.spawnDelay > 0) { + if (this.spawnDelay > 0) { --this.spawnDelay; return; } boolean flag = false; - for(int i = 0; i < this.spawnCount; ++i) { + for (int i = 0; i < this.spawnCount; ++i) { Entity entity = EntityList.createEntityByName(this.getEntityNameToSpawn(), this.getSpawnerWorld()); - if(entity == null) { + if (entity == null) { return; } int j = this.getSpawnerWorld().getEntitiesWithinAABB(entity.getClass(), AxisAlignedBB.getAABBPool().getAABB((double) this.getSpawnerX(), (double) this.getSpawnerY(), (double) this.getSpawnerZ(), (double) (this.getSpawnerX() + 1), (double) (this.getSpawnerY() + 1), (double) (this.getSpawnerZ() + 1)).expand((double) (this.spawnRange * 2), 4.0D, (double) (this.spawnRange * 2))).size(); - if(j >= this.maxNearbyEntities) { + if (j >= this.maxNearbyEntities) { this.func_98273_j(); return; } @@ -123,11 +119,11 @@ public void updateSpawner() { EntityLiving entityliving = entity instanceof EntityLiving ? (EntityLiving) entity : null; entity.setLocationAndAngles(d0, d3, d4, this.getSpawnerWorld().rand.nextFloat() * 360.0F, 0.0F); - if(entityliving == null || entityliving.getCanSpawnHere()) { + if (entityliving == null || entityliving.getCanSpawnHere()) { this.func_98265_a(entity); this.getSpawnerWorld().playAuxSFX(2004, this.getSpawnerX(), this.getSpawnerY(), this.getSpawnerZ(), 0); - if(entityliving != null) { + if (entityliving != null) { entityliving.spawnExplosionParticle(); } @@ -135,7 +131,7 @@ public void updateSpawner() { } } - if(flag) { + if (flag) { this.func_98273_j(); } } @@ -144,34 +140,34 @@ public void updateSpawner() { @Override public Entity func_98265_a(Entity par1Entity) { - if(this.getRandomMinecart() != null) { + if (this.getRandomEntity() != null) { NBTTagCompound nbttagcompound = new NBTTagCompound(); par1Entity.writeToNBTOptional(nbttagcompound); - Iterator iterator = this.getRandomMinecart().field_98222_b.getTags().iterator(); + Iterator iterator = this.getRandomEntity().field_98222_b.getTags().iterator(); - while(iterator.hasNext()) { + while (iterator.hasNext()) { NBTBase nbtbase = (NBTBase) iterator.next(); nbttagcompound.setTag(nbtbase.getName(), nbtbase.copy()); } par1Entity.readFromNBT(nbttagcompound); - if(par1Entity.worldObj != null) { + if (par1Entity.worldObj != null) { par1Entity.worldObj.spawnEntityInWorld(par1Entity); } NBTTagCompound nbttagcompound1; - for(Entity entity1 = par1Entity; nbttagcompound.hasKey("Riding"); nbttagcompound = nbttagcompound1) { + for (Entity entity1 = par1Entity; nbttagcompound.hasKey("Riding"); nbttagcompound = nbttagcompound1) { nbttagcompound1 = nbttagcompound.getCompoundTag("Riding"); Entity entity2 = EntityList.createEntityByName(nbttagcompound1.getString("id"), par1Entity.worldObj); - if(entity2 != null) { + if (entity2 != null) { NBTTagCompound nbttagcompound2 = new NBTTagCompound(); entity2.writeToNBTOptional(nbttagcompound2); Iterator iterator1 = nbttagcompound1.getTags().iterator(); - while(iterator1.hasNext()) { + while (iterator1.hasNext()) { NBTBase nbtbase1 = (NBTBase) iterator1.next(); nbttagcompound2.setTag(nbtbase1.getName(), nbtbase1.copy()); } @@ -179,7 +175,7 @@ public Entity func_98265_a(Entity par1Entity) { entity2.readFromNBT(nbttagcompound2); entity2.setLocationAndAngles(entity1.posX, entity1.posY, entity1.posZ, entity1.rotationYaw, entity1.rotationPitch); - if(par1Entity.worldObj != null) { + if (par1Entity.worldObj != null) { par1Entity.worldObj.spawnEntityInWorld(entity2); } @@ -188,8 +184,8 @@ public Entity func_98265_a(Entity par1Entity) { entity1 = entity2; } - } else if(par1Entity instanceof EntityLivingBase && par1Entity.worldObj != null) { - ((EntityLiving) par1Entity).onSpawnWithEgg((EntityLivingData) null); + } else if (par1Entity instanceof EntityLivingBase && par1Entity.worldObj != null) { + ((EntityLiving) par1Entity).onSpawnWithEgg((IEntityLivingData) null); this.getSpawnerWorld().spawnEntityInWorld(par1Entity); } @@ -197,15 +193,15 @@ public Entity func_98265_a(Entity par1Entity) { } private void func_98273_j() { - if(this.maxSpawnDelay <= this.minSpawnDelay) { + if (this.maxSpawnDelay <= this.minSpawnDelay) { this.spawnDelay = this.minSpawnDelay; } else { int i = this.maxSpawnDelay - this.minSpawnDelay; this.spawnDelay = this.minSpawnDelay + this.getSpawnerWorld().rand.nextInt(i); } - if(this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { - this.setRandomMinecart((WeightedRandomMinecart) WeightedRandom.getRandomItem(this.getSpawnerWorld().rand, this.minecartToSpawn)); + if (this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { + this.setRandomEntity((WeightedRandomMinecart) WeightedRandom.getRandomItem(this.getSpawnerWorld().rand, this.minecartToSpawn)); } this.func_98267_a(1); @@ -216,39 +212,39 @@ public void readFromNBT(NBTTagCompound par1NBTTagCompound) { this.mobID = par1NBTTagCompound.getString("EntityId"); this.spawnDelay = par1NBTTagCompound.getShort("Delay"); - if(par1NBTTagCompound.hasKey("SpawnPotentials")) { + if (par1NBTTagCompound.hasKey("SpawnPotentials")) { this.minecartToSpawn = new ArrayList(); NBTTagList nbttaglist = par1NBTTagCompound.getTagList("SpawnPotentials"); - for(int i = 0; i < nbttaglist.tagCount(); ++i) { + for (int i = 0; i < nbttaglist.tagCount(); ++i) { this.minecartToSpawn.add(new WeightedRandomMinecart(this, (NBTTagCompound) nbttaglist.tagAt(i))); } } else { this.minecartToSpawn = null; } - if(par1NBTTagCompound.hasKey("SpawnData")) { - this.setRandomMinecart(new WeightedRandomMinecart(this, par1NBTTagCompound.getCompoundTag("SpawnData"), this.mobID)); + if (par1NBTTagCompound.hasKey("SpawnData")) { + this.setRandomEntity(new WeightedRandomMinecart(this, par1NBTTagCompound.getCompoundTag("SpawnData"), this.mobID)); } else { - this.setRandomMinecart((WeightedRandomMinecart) null); + this.setRandomEntity((WeightedRandomMinecart) null); } - if(par1NBTTagCompound.hasKey("MinSpawnDelay")) { + if (par1NBTTagCompound.hasKey("MinSpawnDelay")) { this.minSpawnDelay = par1NBTTagCompound.getShort("MinSpawnDelay"); this.maxSpawnDelay = par1NBTTagCompound.getShort("MaxSpawnDelay"); this.spawnCount = par1NBTTagCompound.getShort("SpawnCount"); } - if(par1NBTTagCompound.hasKey("MaxNearbyEntities")) { + if (par1NBTTagCompound.hasKey("MaxNearbyEntities")) { this.maxNearbyEntities = par1NBTTagCompound.getShort("MaxNearbyEntities"); this.activatingRangeFromPlayer = par1NBTTagCompound.getShort("RequiredPlayerRange"); } - if(par1NBTTagCompound.hasKey("SpawnRange")) { + if (par1NBTTagCompound.hasKey("SpawnRange")) { this.spawnRange = par1NBTTagCompound.getShort("SpawnRange"); } - if(this.getSpawnerWorld() != null && this.getSpawnerWorld().isRemote) { + if (this.getSpawnerWorld() != null && this.getSpawnerWorld().isRemote) { this.field_98291_j = null; } } @@ -264,22 +260,22 @@ public void writeToNBT(NBTTagCompound par1NBTTagCompound) { par1NBTTagCompound.setShort("RequiredPlayerRange", (short) this.activatingRangeFromPlayer); par1NBTTagCompound.setShort("SpawnRange", (short) this.spawnRange); - if(this.getRandomMinecart() != null) { - par1NBTTagCompound.setCompoundTag("SpawnData", (NBTTagCompound) this.getRandomMinecart().field_98222_b.copy()); + if (this.getRandomEntity() != null) { + par1NBTTagCompound.setCompoundTag("SpawnData", (NBTTagCompound) this.getRandomEntity().field_98222_b.copy()); } - if(this.getRandomMinecart() != null || this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { + if (this.getRandomEntity() != null || this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { NBTTagList nbttaglist = new NBTTagList(); - if(this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { + if (this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { Iterator iterator = this.minecartToSpawn.iterator(); - while(iterator.hasNext()) { + while (iterator.hasNext()) { WeightedRandomMinecart weightedrandomminecart = (WeightedRandomMinecart) iterator.next(); nbttaglist.appendTag(weightedrandomminecart.func_98220_a()); } } else { - nbttaglist.appendTag(this.getRandomMinecart().func_98220_a()); + nbttaglist.appendTag(this.getRandomEntity().func_98220_a()); } par1NBTTagCompound.setTag("SpawnPotentials", nbttaglist); @@ -291,7 +287,7 @@ public void writeToNBT(NBTTagCompound par1NBTTagCompound) { */ @Override public boolean setDelayToMin(int par1) { - if(par1 == 1 && this.getSpawnerWorld().isRemote) { + if (par1 == 1 && this.getSpawnerWorld().isRemote) { this.spawnDelay = this.minSpawnDelay; return true; } else { @@ -302,7 +298,7 @@ public boolean setDelayToMin(int par1) { @Override @SideOnly(Side.CLIENT) public Entity func_98281_h() { - if(this.field_98291_j == null) { + if (this.field_98291_j == null) { Entity entity = EntityList.createEntityByName(this.getEntityNameToSpawn(), (World) null); entity = this.func_98265_a(entity); this.field_98291_j = entity; @@ -312,13 +308,13 @@ public Entity func_98281_h() { } @Override - public WeightedRandomMinecart getRandomMinecart() { - return this.randomMinecart; + public WeightedRandomMinecart getRandomEntity() { + return this.randomEntity; } @Override - public void setRandomMinecart(WeightedRandomMinecart par1WeightedRandomMinecart) { - this.randomMinecart = par1WeightedRandomMinecart; + public void setRandomEntity(WeightedRandomMinecart par1WeightedRandomMinecart) { + this.randomEntity = par1WeightedRandomMinecart; } @Override diff --git a/src/com/teammetallurgy/atum/blocks/tileentity/CursedChestSpawnerLogic.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/CursedChestSpawnerLogic.java similarity index 66% rename from src/com/teammetallurgy/atum/blocks/tileentity/CursedChestSpawnerLogic.java rename to src/main/java/com/teammetallurgy/atum/blocks/tileentity/CursedChestSpawnerLogic.java index 81bbe74..9d45476 100644 --- a/src/com/teammetallurgy/atum/blocks/tileentity/CursedChestSpawnerLogic.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/CursedChestSpawnerLogic.java @@ -1,7 +1,7 @@ package com.teammetallurgy.atum.blocks.tileentity; import net.minecraft.block.Block; -import net.minecraft.tileentity.WeightedRandomMinecart; +import net.minecraft.init.Blocks; import net.minecraft.world.World; class CursedChestSpawnerLogic extends CursedChestBaseLogic { @@ -14,12 +14,12 @@ class CursedChestSpawnerLogic extends CursedChestBaseLogic { @Override public void func_98267_a(int par1) { - this.field_98295_a.worldObj.addBlockEvent(this.field_98295_a.xCoord, this.field_98295_a.yCoord, this.field_98295_a.zCoord, Block.mobSpawner.blockID, par1, 0); + this.field_98295_a.getWorldObj().addBlockEvent(this.field_98295_a.xCoord, this.field_98295_a.yCoord, this.field_98295_a.zCoord, Blocks.mob_spawner, par1, 0); } @Override public World getSpawnerWorld() { - return this.field_98295_a.worldObj; + return this.field_98295_a.getWorldObj(); } @Override @@ -38,9 +38,9 @@ public int getSpawnerZ() { } @Override - public void setRandomMinecart(WeightedRandomMinecart par1WeightedRandomMinecart) { - super.setRandomMinecart(par1WeightedRandomMinecart); - if(this.getSpawnerWorld() != null) { + public void setRandomEntity(WeightedRandomMinecart par1WeightedRandomMinecart) { + super.setRandomEntity(par1WeightedRandomMinecart); + if (this.getSpawnerWorld() != null) { this.getSpawnerWorld().markBlockForUpdate(this.field_98295_a.xCoord, this.field_98295_a.yCoord, this.field_98295_a.zCoord); } diff --git a/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java similarity index 100% rename from src/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java rename to src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java diff --git a/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityChestSpawner.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityChestSpawner.java similarity index 92% rename from src/com/teammetallurgy/atum/blocks/tileentity/TileEntityChestSpawner.java rename to src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityChestSpawner.java index d942c2e..23c868a 100644 --- a/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityChestSpawner.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityChestSpawner.java @@ -30,38 +30,38 @@ public class TileEntityChestSpawner extends TileEntityChest implements IInventor public TileEntityChestSpawner() { int entityID = (int) (Math.random() * 6.0D); if(entityID == 0) { - this.chestSpawner.setMobID("AtumMummy"); + this.chestSpawner.setEntityName("AtumMummy"); } if(entityID == 1) { - this.chestSpawner.setMobID("AtumBanditWarrior"); + this.chestSpawner.setEntityName("AtumBanditWarrior"); } if(entityID == 2) { - this.chestSpawner.setMobID("AtumBanditArcher"); + this.chestSpawner.setEntityName("AtumBanditArcher"); } if(entityID == 3) { - this.chestSpawner.setMobID("AtumDustySkeleton"); + this.chestSpawner.setEntityName("AtumDustySkeleton"); } if(entityID == 4) { - this.chestSpawner.setMobID("AtumDesertGhost"); + this.chestSpawner.setEntityName("AtumDesertGhost"); } if(entityID == 5) { - this.chestSpawner.setMobID("AtumStoneSoldier"); + this.chestSpawner.setEntityName("AtumStoneSoldier"); } if(entityID == 6) { - this.chestSpawner.setMobID("AtumDesertWolf"); + this.chestSpawner.setEntityName("AtumDesertWolf"); } this.chestSpawner.minSpawnDelay = 0; } public void setSpawnerEntity(String name) { - this.chestSpawner.setMobID(name); + this.chestSpawner.setEntityName(name); } public void setMaxEntities(int max) { @@ -289,18 +289,18 @@ public void openChest() { } ++super.numUsingPlayers; - super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID, 1, super.numUsingPlayers); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType().blockID); + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numUsingPlayers); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); } @Override public void closeChest() { if(this.getBlockType() != null && this.getBlockType() instanceof BlockChest) { --super.numUsingPlayers; - super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID, 1, super.numUsingPlayers); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType().blockID); + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numUsingPlayers); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); } } diff --git a/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityPharaohChest.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityPharaohChest.java similarity index 96% rename from src/com/teammetallurgy/atum/blocks/tileentity/TileEntityPharaohChest.java rename to src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityPharaohChest.java index 7f8fec0..15b3512 100644 --- a/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityPharaohChest.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityPharaohChest.java @@ -219,17 +219,17 @@ public void openChest() { } ++super.numUsingPlayers; - super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID, 1, super.numUsingPlayers); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType().blockID); + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numUsingPlayers); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); } public void closeChest() { if(this.getBlockType() != null && this.getBlockType() instanceof BlockChest) { --super.numUsingPlayers; - super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID, 1, super.numUsingPlayers); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType().blockID); + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numUsingPlayers); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); } } diff --git a/src/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java b/src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java similarity index 100% rename from src/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java rename to src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java diff --git a/src/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java b/src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java similarity index 100% rename from src/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java rename to src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java diff --git a/src/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java b/src/main/java/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java similarity index 94% rename from src/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java rename to src/main/java/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java index 8f2266b..c84adaf 100644 --- a/src/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java +++ b/src/main/java/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java @@ -41,4 +41,9 @@ private void setRotation(ModelRenderer model, float x, float y, float z) { public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity par7Entity) { super.setRotationAngles(f, f1, f2, f3, f4, f5, par7Entity); } + + public void render() { + this.Fruit.render(0.0625F); + this.Stem.render(0.0625F); + } } diff --git a/src/com/teammetallurgy/atum/client/render/entity/RenderBandit.java b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderBandit.java similarity index 74% rename from src/com/teammetallurgy/atum/client/render/entity/RenderBandit.java rename to src/main/java/com/teammetallurgy/atum/client/render/entity/RenderBandit.java index bb20c77..ce1e513 100644 --- a/src/com/teammetallurgy/atum/client/render/entity/RenderBandit.java +++ b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderBandit.java @@ -7,19 +7,17 @@ import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.entity.RenderBiped; import net.minecraft.client.renderer.tileentity.TileEntitySkullRenderer; -import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.IItemRenderer; import net.minecraftforge.client.MinecraftForgeClient; import org.lwjgl.opengl.GL11; -import com.teammetallurgy.atum.entity.EntityBanditWarrior; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -36,18 +34,18 @@ protected void renderEquippedItems(EntityLivingBase par1EntityLiving, float par2 float f1 = 1.0F; GL11.glColor3f(f1, f1, f1); ItemStack itemstack = par1EntityLiving.getHeldItem(); - ItemStack itemstack1 = par1EntityLiving.getCurrentItemOrArmor(3); + ItemStack itemstack1 = par1EntityLiving.getEquipmentInSlot(3); float f2; - if(itemstack1 != null) { + if (itemstack1 != null) { GL11.glPushMatrix(); this.modelBipedMain.bipedHead.postRender(0.0625F); IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemstack1, EQUIPPED); boolean is3D = (customRenderer != null && customRenderer.shouldUseRenderHelper(EQUIPPED, itemstack1, BLOCK_3D)); - if(itemstack1.getItem() instanceof ItemBlock) { - if(is3D || RenderBlocks.renderItemIn3d(Block.blocksList[itemstack1.itemID].getRenderType())) { + if (itemstack1.getItem() instanceof ItemBlock) { + if (is3D || RenderBlocks.renderItemIn3d(Block.getBlockFromItem(itemstack1.getItem()).getRenderType())) { f2 = 0.625F; GL11.glTranslatef(0.0F, -0.25F, 0.0F); GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); @@ -55,25 +53,25 @@ protected void renderEquippedItems(EntityLivingBase par1EntityLiving, float par2 } this.renderManager.itemRenderer.renderItem(par1EntityLiving, itemstack1, 0); - } else if(itemstack1.getItem().itemID == Item.skull.itemID) { + } else if (itemstack1.getItem() == Items.skull) { f2 = 1.0625F; GL11.glScalef(f2, -f2, -f2); String s = ""; - if(itemstack1.hasTagCompound() && itemstack1.getTagCompound().hasKey("SkullOwner")) { + if (itemstack1.hasTagCompound() && itemstack1.getTagCompound().hasKey("SkullOwner")) { s = itemstack1.getTagCompound().getString("SkullOwner"); } - TileEntitySkullRenderer.skullRenderer.func_82393_a(-0.5F, 0.0F, -0.5F, 1, 180.0F, itemstack1.getItemDamage(), s); + TileEntitySkullRenderer.field_147536_b.func_147530_a(-0.5F, 0.0F, -0.5F, 1, 180.0F, itemstack1.getItemDamage(), s); } GL11.glPopMatrix(); } - if(itemstack != null) { + if (itemstack != null) { GL11.glPushMatrix(); - if(this.mainModel.isChild) { + if (this.mainModel.isChild) { f2 = 0.5F; GL11.glTranslatef(0.0F, 0.625F, 0.0F); GL11.glRotatef(-20.0F, -1.0F, 0.0F, 0.0F); @@ -86,24 +84,24 @@ protected void renderEquippedItems(EntityLivingBase par1EntityLiving, float par2 IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemstack, EQUIPPED); boolean is3D = (customRenderer != null && customRenderer.shouldUseRenderHelper(EQUIPPED, itemstack, BLOCK_3D)); - if(itemstack.getItem() instanceof ItemBlock && (is3D || RenderBlocks.renderItemIn3d(Block.blocksList[itemstack.itemID].getRenderType()))) { + if (itemstack.getItem() instanceof ItemBlock && (is3D || RenderBlocks.renderItemIn3d(Block.getBlockFromItem(itemstack.getItem()).getRenderType()))) { f2 = 0.5F; GL11.glTranslatef(0.0F, 0.1875F, -0.3125F); f2 *= 0.75F; GL11.glRotatef(20.0F, 1.0F, 0.0F, 0.0F); GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); GL11.glScalef(-f2, -f2, f2); - } else if(itemstack.itemID == Items.ITEM_BOW.itemID) { + } else if (itemstack.getItem() == AtumItems.ITEM_BOW) { f2 = 0.625F; GL11.glTranslatef(0.0F, 0.125F, 0.3125F); GL11.glRotatef(-20.0F, 0.0F, 1.0F, 0.0F); GL11.glScalef(f2, -f2, f2); GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F); GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); - } else if(Item.itemsList[itemstack.itemID].isFull3D()) { + } else if (itemstack.getItem().isFull3D()) { f2 = 0.625F; - if(Item.itemsList[itemstack.itemID].shouldRotateAroundWhenRendering()) { + if (itemstack.getItem().shouldRotateAroundWhenRendering()) { GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F); GL11.glTranslatef(0.0F, -0.125F, 0.0F); } @@ -123,8 +121,8 @@ protected void renderEquippedItems(EntityLivingBase par1EntityLiving, float par2 this.renderManager.itemRenderer.renderItem(par1EntityLiving, itemstack, 0); - if(itemstack.getItem().requiresMultipleRenderPasses()) { - for(int x = 1; x < itemstack.getItem().getRenderPasses(itemstack.getItemDamage()); x++) { + if (itemstack.getItem().requiresMultipleRenderPasses()) { + for (int x = 1; x < itemstack.getItem().getRenderPasses(itemstack.getItemDamage()); x++) { this.renderManager.itemRenderer.renderItem(par1EntityLiving, itemstack, x); } } diff --git a/src/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java similarity index 97% rename from src/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java rename to src/main/java/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java index 92c7945..9ba1821 100644 --- a/src/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java +++ b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java @@ -4,7 +4,6 @@ import net.minecraft.client.renderer.entity.RenderLiving; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.passive.EntitySheep; import net.minecraft.util.ResourceLocation; import org.lwjgl.opengl.GL11; diff --git a/src/com/teammetallurgy/atum/client/render/entity/RenderFireSpear.java b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderFireSpear.java similarity index 100% rename from src/com/teammetallurgy/atum/client/render/entity/RenderFireSpear.java rename to src/main/java/com/teammetallurgy/atum/client/render/entity/RenderFireSpear.java diff --git a/src/com/teammetallurgy/atum/client/render/entity/RenderFireSpearSeperated.java b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderFireSpearSeperated.java similarity index 99% rename from src/com/teammetallurgy/atum/client/render/entity/RenderFireSpearSeperated.java rename to src/main/java/com/teammetallurgy/atum/client/render/entity/RenderFireSpearSeperated.java index f6fde7f..039a212 100644 --- a/src/com/teammetallurgy/atum/client/render/entity/RenderFireSpearSeperated.java +++ b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderFireSpearSeperated.java @@ -1,6 +1,5 @@ package com.teammetallurgy.atum.client.render.entity; -import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.entity.Render; import net.minecraft.entity.Entity; diff --git a/src/com/teammetallurgy/atum/client/render/entity/RenderGhost.java b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderGhost.java similarity index 86% rename from src/com/teammetallurgy/atum/client/render/entity/RenderGhost.java rename to src/main/java/com/teammetallurgy/atum/client/render/entity/RenderGhost.java index 32fb90a..1a00a3d 100644 --- a/src/com/teammetallurgy/atum/client/render/entity/RenderGhost.java +++ b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderGhost.java @@ -39,24 +39,28 @@ public RenderGhost(ModelBase par1ModelBase, float par2) { } /** - * Sets the model to be used in the current render pass (the first render pass is done after the primary model is rendered) Args: model + * Sets the model to be used in the current render pass (the first render + * pass is done after the primary model is rendered) Args: model */ public void setRenderPassModel(ModelBase par1ModelBase) { this.renderPassModel = par1ModelBase; } /** - * Returns a rotation angle that is inbetween two other rotation angles. par1 and par2 are the angles between which to interpolate, par3 is probably a float between 0.0 and 1.0 that tells us where - * "between" the two angles we are. Example: par1 = 30, par2 = 50, par3 = 0.5, then return = 40 + * Returns a rotation angle that is inbetween two other rotation angles. + * par1 and par2 are the angles between which to interpolate, par3 is + * probably a float between 0.0 and 1.0 that tells us where "between" the + * two angles we are. Example: par1 = 30, par2 = 50, par3 = 0.5, then return + * = 40 */ private float interpolateRotation(float par1, float par2, float par3) { float f3; - for(f3 = par2 - par1; f3 < -180.0F; f3 += 360.0F) { + for (f3 = par2 - par1; f3 < -180.0F; f3 += 360.0F) { ; } - while(f3 >= 180.0F) { + while (f3 >= 180.0F) { f3 -= 360.0F; } @@ -71,19 +75,19 @@ public void doRenderLiving(EntityLivingBase par1EntityLiving, double par2, doubl this.mainModel.onGround = this.renderSwingProgress(par1EntityLiving, par9); - if(this.renderPassModel != null) { + if (this.renderPassModel != null) { this.renderPassModel.onGround = this.mainModel.onGround; } this.mainModel.isRiding = par1EntityLiving.isRiding(); - if(this.renderPassModel != null) { + if (this.renderPassModel != null) { this.renderPassModel.isRiding = this.mainModel.isRiding; } this.mainModel.isChild = par1EntityLiving.isChild(); - if(this.renderPassModel != null) { + if (this.renderPassModel != null) { this.renderPassModel.isChild = this.mainModel.isChild; } @@ -102,11 +106,11 @@ public void doRenderLiving(EntityLivingBase par1EntityLiving, double par2, doubl float f7 = par1EntityLiving.prevLimbSwingAmount + (par1EntityLiving.limbSwing - par1EntityLiving.prevLimbSwingAmount) * par9; float f8 = par1EntityLiving.limbSwing - par1EntityLiving.limbSwing * (1.0F - par9); - if(par1EntityLiving.isChild()) { + if (par1EntityLiving.isChild()) { f8 *= 3.0F; } - if(f7 > 1.0F) { + if (f7 > 1.0F) { f7 = 1.0F; } @@ -118,19 +122,19 @@ public void doRenderLiving(EntityLivingBase par1EntityLiving, double par2, doubl float f10; float f11; - for(int j = 0; j < 4; ++j) { + for (int j = 0; j < 4; ++j) { i = this.shouldRenderPass(par1EntityLiving, j, par9); - if(i > 0) { + if (i > 0) { this.renderPassModel.setLivingAnimations(par1EntityLiving, f8, f7, par9); this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); - if((i & 240) == 16) { + if ((i & 240) == 16) { this.func_82408_c(par1EntityLiving, j, par9); this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); } - if((i & 15) == 15) { + if ((i & 15) == 15) { f9 = (float) par1EntityLiving.ticksExisted + par9; GL11.glEnable(GL11.GL_BLEND); f10 = 0.5F; @@ -138,7 +142,7 @@ public void doRenderLiving(EntityLivingBase par1EntityLiving, double par2, doubl GL11.glDepthFunc(GL11.GL_EQUAL); GL11.glDepthMask(false); - for(int k = 0; k < 2; ++k) { + for (int k = 0; k < 2; ++k) { GL11.glDisable(GL11.GL_LIGHTING); f11 = 0.76F; GL11.glColor4f(0.5F * f11, 0.25F * f11, 0.8F * f11, 1.0F); @@ -177,26 +181,26 @@ public void doRenderLiving(EntityLivingBase par1EntityLiving, double par2, doubl GL11.glDisable(GL11.GL_TEXTURE_2D); OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit); - if((i >> 24 & 255) > 0 || par1EntityLiving.hurtTime > 0 || par1EntityLiving.deathTime > 0) { + if ((i >> 24 & 255) > 0 || par1EntityLiving.hurtTime > 0 || par1EntityLiving.deathTime > 0) { GL11.glDisable(GL11.GL_TEXTURE_2D); GL11.glDisable(GL11.GL_ALPHA_TEST); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GL11.glDepthFunc(GL11.GL_EQUAL); - if(par1EntityLiving.hurtTime > 0 || par1EntityLiving.deathTime > 0) { + if (par1EntityLiving.hurtTime > 0 || par1EntityLiving.deathTime > 0) { GL11.glColor4f(f14, 0.0F, 0.0F, 0.4F); this.mainModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); - for(int l = 0; l < 4; ++l) { - if(this.inheritRenderPass(par1EntityLiving, l, par9) >= 0) { + for (int l = 0; l < 4; ++l) { + if (this.inheritRenderPass(par1EntityLiving, l, par9) >= 0) { GL11.glColor4f(f14, 0.0F, 0.0F, 0.4F); this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); } } } - if((i >> 24 & 255) > 0) { + if ((i >> 24 & 255) > 0) { f9 = (float) (i >> 16 & 255) / 255.0F; f10 = (float) (i >> 8 & 255) / 255.0F; float f15 = (float) (i & 255) / 255.0F; @@ -204,8 +208,8 @@ public void doRenderLiving(EntityLivingBase par1EntityLiving, double par2, doubl GL11.glColor4f(f9, f10, f15, f11); this.mainModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); - for(int i1 = 0; i1 < 4; ++i1) { - if(this.inheritRenderPass(par1EntityLiving, i1, par9) >= 0) { + for (int i1 = 0; i1 < 4; ++i1) { + if (this.inheritRenderPass(par1EntityLiving, i1, par9) >= 0) { GL11.glColor4f(f9, f10, f15, f11); this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); } @@ -219,7 +223,7 @@ public void doRenderLiving(EntityLivingBase par1EntityLiving, double par2, doubl } GL11.glDisable(GL12.GL_RESCALE_NORMAL); - } catch(Exception exception) { + } catch (Exception exception) { exception.printStackTrace(); } @@ -237,9 +241,9 @@ public void doRenderLiving(EntityLivingBase par1EntityLiving, double par2, doubl protected void renderModel(EntityLivingBase par1EntityLiving, float par2, float par3, float par4, float par5, float par6, float par7) { this.bindEntityTexture(par1EntityLiving); - if(!par1EntityLiving.isInvisible()) { + if (!par1EntityLiving.isInvisible()) { this.mainModel.render(par1EntityLiving, par2, par3, par4, par5, par6, par7); - } else if(!par1EntityLiving.isInvisibleToPlayer(Minecraft.getMinecraft().thePlayer)) { + } else if (!par1EntityLiving.isInvisibleToPlayer(Minecraft.getMinecraft().thePlayer)) { GL11.glPushMatrix(); GL11.glColor4f(1.0F, 1.0F, 1.0F, 0.15F); GL11.glDepthMask(false); @@ -266,11 +270,11 @@ protected void renderLivingAt(EntityLivingBase par1EntityLiving, double par2, do protected void rotateCorpse(EntityLivingBase par1EntityLiving, float par2, float par3, float par4) { GL11.glRotatef(180.0F - par3, 0.0F, 1.0F, 0.0F); - if(par1EntityLiving.deathTime > 0) { + if (par1EntityLiving.deathTime > 0) { float f3 = ((float) par1EntityLiving.deathTime + par4 - 1.0F) / 20.0F * 1.6F; f3 = MathHelper.sqrt_float(f3); - if(f3 > 1.0F) { + if (f3 > 1.0F) { f3 = 1.0F; } @@ -298,12 +302,12 @@ protected void renderEquippedItems(EntityLivingBase par1EntityLiving, float par2 protected void renderArrowsStuckInEntity(EntityLiving par1EntityLiving, float par2) { int i = par1EntityLiving.getArrowCountInEntity(); - if(i > 0) { + if (i > 0) { EntityArrow entityarrow = new EntityArrow(par1EntityLiving.worldObj, par1EntityLiving.posX, par1EntityLiving.posY, par1EntityLiving.posZ); - Random random = new Random((long) par1EntityLiving.entityId); + Random random = new Random((long) par1EntityLiving.getEntityId()); RenderHelper.disableStandardItemLighting(); - for(int j = 0; j < i; ++j) { + for (int j = 0; j < i; ++j) { GL11.glPushMatrix(); ModelRenderer modelrenderer = this.mainModel.getRandomModelBox(random); ModelBox modelbox = (ModelBox) modelrenderer.cubeList.get(random.nextInt(modelrenderer.cubeList.size())); @@ -355,14 +359,16 @@ protected float getDeathMaxRotation(EntityLivingBase par1EntityLiving) { } /** - * Returns an ARGB int color back. Args: entityLiving, lightBrightness, partialTickTime + * Returns an ARGB int color back. Args: entityLiving, lightBrightness, + * partialTickTime */ protected int getColorMultiplier(EntityLivingBase par1EntityLiving, float par2, float par3) { return 0; } /** - * Allows the render to do any OpenGL state modifications necessary before the model is rendered. Args: entityLiving, partialTickTime + * Allows the render to do any OpenGL state modifications necessary before + * the model is rendered. Args: entityLiving, partialTickTime */ protected void preRenderCallback(EntityLivingBase par1EntityLiving, float par2) { } @@ -371,16 +377,16 @@ protected void preRenderCallback(EntityLivingBase par1EntityLiving, float par2) * Passes the specialRender and renders it */ protected void passSpecialRender(EntityLivingBase par1EntityLiving, double par2, double par4, double par6) { - if(Minecraft.isGuiEnabled() && par1EntityLiving != this.renderManager.livingPlayer && !par1EntityLiving.isInvisibleToPlayer(Minecraft.getMinecraft().thePlayer) && (par1EntityLiving.getAlwaysRenderNameTagForRender() || ((EntityLiving) par1EntityLiving).hasCustomNameTag() && par1EntityLiving == this.renderManager.field_96451_i)) { + if (Minecraft.isGuiEnabled() && par1EntityLiving != this.renderManager.livingPlayer && !par1EntityLiving.isInvisibleToPlayer(Minecraft.getMinecraft().thePlayer) && (par1EntityLiving.getAlwaysRenderNameTagForRender() || ((EntityLiving) par1EntityLiving).hasCustomNameTag() && par1EntityLiving == this.renderManager.livingPlayer)) { float f = 1.6F; float f1 = 0.016666668F * f; double d3 = par1EntityLiving.getDistanceSqToEntity(this.renderManager.livingPlayer); float f2 = par1EntityLiving.isSneaking() ? 32.0F : 64.0F; - if(d3 < (double) (f2 * f2)) { - String s = par1EntityLiving.getTranslatedEntityName(); + if (d3 < (double) (f2 * f2)) { + String s = par1EntityLiving.getCommandSenderName(); - if(par1EntityLiving.isSneaking()) { + if (par1EntityLiving.isSneaking()) { FontRenderer fontrenderer = this.getFontRendererFromRenderManager(); GL11.glPushMatrix(); GL11.glTranslatef((float) par2 + 0.0F, (float) par4 + par1EntityLiving.height + 0.5F, (float) par6); @@ -418,7 +424,7 @@ protected void passSpecialRender(EntityLivingBase par1EntityLiving, double par2, } protected void func_96449_a(EntityLivingBase par1EntityLiving, double par2, double par4, double par6, String par8Str, float par9, double par10) { - if(par1EntityLiving.isPlayerSleeping()) { + if (par1EntityLiving.isPlayerSleeping()) { this.renderLivingLabel(par1EntityLiving, par8Str, par2, par4 - 1.5D, par6, 64); } else { this.renderLivingLabel(par1EntityLiving, par8Str, par2, par4, par6, 64); @@ -431,7 +437,7 @@ protected void func_96449_a(EntityLivingBase par1EntityLiving, double par2, doub protected void renderLivingLabel(EntityLivingBase par1EntityLiving, String par2Str, double par3, double par5, double par7, int par9) { double d3 = par1EntityLiving.getDistanceSqToEntity(this.renderManager.livingPlayer); - if(d3 <= (double) (par9 * par9)) { + if (d3 <= (double) (par9 * par9)) { FontRenderer fontrenderer = this.getFontRendererFromRenderManager(); float f = 1.6F; float f1 = 0.016666668F * f; @@ -449,7 +455,7 @@ protected void renderLivingLabel(EntityLivingBase par1EntityLiving, String par2S Tessellator tessellator = Tessellator.instance; byte b0 = 0; - if(par2Str.equals("deadmau5")) { + if (par2Str.equals("deadmau5")) { b0 = -10; } @@ -475,9 +481,12 @@ protected void renderLivingLabel(EntityLivingBase par1EntityLiving, String par2S } /** - * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then handing it off to a worker function which does the actual work. In all - * probabilty, the class Render is generic (Render> 16 & 255) / 255.0F; float f2 = (float) (l >> 8 & 255) / 255.0F; float f3 = (float) (l & 255) / 255.0F; - if(EntityRenderer.anaglyphEnable) { + if (EntityRenderer.anaglyphEnable) { float d0 = (f1 * 30.0F + f2 * 59.0F + f3 * 11.0F) / 100.0F; float f5 = (f1 * 30.0F + f2 * 70.0F) / 100.0F; float d1 = (f1 * 30.0F + f3 * 70.0F) / 100.0F; @@ -32,7 +33,7 @@ public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block b double d01 = (double) x; double d11 = (double) y; double d2 = (double) z; - if(block == Block.tallGrass) { + if (block == Blocks.tallgrass) { long icon = (long) (x * 3129871) ^ (long) z * 116129781L ^ (long) y; icon = icon * icon * 42317861L + icon * 11L; d01 += ((double) ((float) (icon >> 16 & 15L) / 15.0F) - 0.5D) * 0.5D; @@ -40,12 +41,12 @@ public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block b d2 += ((double) ((float) (icon >> 24 & 15L) / 15.0F) - 0.5D) * 0.5D; } - Icon icon1 = block.getBlockTexture(world, x, y, z, 0); + IIcon icon1 = block.getIcon(world, x, y, z, 0); this.drawCrossedSquares(icon1, block, world.getBlockMetadata(x, y, z), d01, d11, d2, 1.0F); return true; } - public void drawCrossedSquares(Icon icon, Block par1Block, int par2, double par3, double par5, double par7, float par9) { + public void drawCrossedSquares(IIcon icon, Block par1Block, int par2, double par3, double par5, double par7, float par9) { Tessellator tessellator = Tessellator.instance; double d3 = (double) icon.getMinU(); double d4 = (double) icon.getMinV(); @@ -84,7 +85,7 @@ public void renderInventoryBlock(Block block, int metadata, int modelID, RenderB } @Override - public boolean shouldRender3DInInventory() { + public boolean shouldRender3DInInventory(int modelID) { return false; } diff --git a/src/com/teammetallurgy/atum/entity/Entity.java b/src/main/java/com/teammetallurgy/atum/entity/Entity.java similarity index 99% rename from src/com/teammetallurgy/atum/entity/Entity.java rename to src/main/java/com/teammetallurgy/atum/entity/Entity.java index ddb5bcb..dcab01a 100644 --- a/src/com/teammetallurgy/atum/entity/Entity.java +++ b/src/main/java/com/teammetallurgy/atum/entity/Entity.java @@ -1,7 +1,6 @@ package com.teammetallurgy.atum.entity; import net.minecraft.entity.EntityList; -import net.minecraft.item.ItemStack; import com.teammetallurgy.atum.Atum; import com.teammetallurgy.atum.LocalizationHelper; diff --git a/src/com/teammetallurgy/atum/entity/EntityBanditArcher.java b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditArcher.java similarity index 81% rename from src/com/teammetallurgy/atum/entity/EntityBanditArcher.java rename to src/main/java/com/teammetallurgy/atum/entity/EntityBanditArcher.java index aa429ab..2a98adf 100644 --- a/src/com/teammetallurgy/atum/entity/EntityBanditArcher.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditArcher.java @@ -19,12 +19,12 @@ import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.item.Item; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; public class EntityBanditArcher extends EntityMob implements IRangedAttackMob, IAtumDayMob { private EntityAIArrowAttack aiArrowAttack = new EntityAIArrowAttack(this, 0.25F, 20, 60, 15.0F); @@ -32,10 +32,10 @@ public class EntityBanditArcher extends EntityMob implements IRangedAttackMob, I public EntityBanditArcher(World par1World) { super(par1World); - this.setCurrentItemOrArmor(0, new ItemStack(Items.ITEM_BOW)); + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_BOW)); this.enchantEquipment(); - this.setCanPickUpLoot(this.rand.nextFloat() < equipmentDropChances[this.worldObj.difficultySetting]); + this.setCanPickUpLoot(this.rand.nextFloat() < equipmentDropChances[this.worldObj.difficultySetting.ordinal()]); this.tasks.addTask(1, new EntityAISwimming(this)); this.tasks.addTask(2, new EntityAIRestrictSun(this)); this.tasks.addTask(3, new EntityAIWander(this, 0.8)); @@ -45,24 +45,25 @@ public EntityBanditArcher(World par1World) { this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, false)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 16, true)); - if(par1World != null && !par1World.isRemote) { + if (par1World != null && !par1World.isRemote) { this.setCombatTask(); } this.experienceValue = 6; - + } @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(25.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(4.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(25.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); } /** - * Checks if the entity's current position is a valid location to spawn this entity. + * Checks if the entity's current position is a valid location to spawn this + * entity. */ @Override public boolean getCanSpawnHere() { @@ -87,7 +88,7 @@ public boolean isAIEnabled() { @Override public boolean attackEntityAsMob(Entity par1Entity) { - if(super.attackEntityAsMob(par1Entity)) { + if (super.attackEntityAsMob(par1Entity)) { return true; } else { return false; @@ -117,7 +118,7 @@ public void setCombatTask() { this.tasks.removeTask(this.aiArrowAttack); ItemStack itemstack = this.getHeldItem(); - if(itemstack != null && itemstack.itemID == Items.ITEM_BOW.itemID) { + if (itemstack != null && itemstack.getItem() == AtumItems.ITEM_BOW) { this.tasks.addTask(4, this.aiArrowAttack); } else { this.tasks.addTask(4, this.aiAttackOnCollide); @@ -129,20 +130,20 @@ public void setCombatTask() { */ @Override public void attackEntityWithRangedAttack(EntityLivingBase par1EntityLiving, float par2) { - EntityArrow entityarrow = new EntityArrow(this.worldObj, this, par1EntityLiving, 1.6F, (float) (14 - this.worldObj.difficultySetting * 4)); + EntityArrow entityarrow = new EntityArrow(this.worldObj, this, par1EntityLiving, 1.6F, (float) (14 - this.worldObj.difficultySetting.ordinal() * 4)); int i = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, this.getHeldItem()); int j = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, this.getHeldItem()); - entityarrow.setDamage((double) (par2 * 2.0F) + this.rand.nextGaussian() * 0.25D + (double) ((float) this.worldObj.difficultySetting * 0.11F)); + entityarrow.setDamage((double) (par2 * 2.0F) + this.rand.nextGaussian() * 0.25D + (double) ((float) this.worldObj.difficultySetting.ordinal() * 0.11F)); - if(i > 0) { + if (i > 0) { entityarrow.setDamage(entityarrow.getDamage() + (double) i * 0.5D + 0.5D); } - if(j > 0) { + if (j > 0) { entityarrow.setKnockbackStrength(j); } - if(EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, this.getHeldItem()) > 0) { + if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, this.getHeldItem()) > 0) { entityarrow.setFire(100); } @@ -159,25 +160,27 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { this.setCombatTask(); } - + /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. */ @Override protected void dropFewItems(boolean par1, int par2) { - if(rand.nextInt(20) == 0) { - int damage = (int) (Items.ITEM_BOW.getMaxDamage() - rand.nextInt(Items.ITEM_BOW.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(Items.ITEM_BOW.itemID, 1, damage), 0.0F); + if (rand.nextInt(20) == 0) { + int damage = (int) (AtumItems.ITEM_BOW.getMaxDamage() - rand.nextInt(AtumItems.ITEM_BOW.getMaxDamage()) * 0.5 + 20); + this.entityDropItem(new ItemStack(AtumItems.ITEM_BOW, 1, damage), 0.0F); } - if(rand.nextInt(10) == 0) { + if (rand.nextInt(10) == 0) { int amount = rand.nextInt(2) + 1; - this.dropItem(Item.goldNugget.itemID, amount); + this.dropItem(Items.gold_nugget, amount); } - if(rand.nextInt(4) == 0) { + if (rand.nextInt(4) == 0) { int amount = rand.nextInt(3) + 1; - this.dropItem(Item.arrow.itemID, amount); + this.dropItem(Items.arrow, amount); } } } \ No newline at end of file diff --git a/src/com/teammetallurgy/atum/entity/EntityBanditWarlord.java b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarlord.java similarity index 62% rename from src/com/teammetallurgy/atum/entity/EntityBanditWarlord.java rename to src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarlord.java index ca6a6fd..1d56fbd 100644 --- a/src/com/teammetallurgy/atum/entity/EntityBanditWarlord.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarlord.java @@ -1,27 +1,25 @@ package com.teammetallurgy.atum.entity; import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.Entity; import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.monster.EntityMob; -import net.minecraft.item.Item; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.world.World; -import com.teammetallurgy.atum.AtumConfig; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; public class EntityBanditWarlord extends EntityMob implements IAtumDayMob { public EntityBanditWarlord(World par1World) { super(par1World); this.experienceValue = 16; - - this.setCurrentItemOrArmor(0, new ItemStack(Items.ITEM_SCIMITAR)); - EnchantmentHelper.addRandomEnchantment(this.rand, this.getHeldItem(), 5 + this.worldObj.difficultySetting * this.rand.nextInt(6)); - for(int i = 0; i < this.equipmentDropChances.length; ++i) { + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCIMITAR)); + EnchantmentHelper.addRandomEnchantment(this.rand, this.getHeldItem(), 5 + this.worldObj.difficultySetting.getDifficultyId() * this.rand.nextInt(6)); + + for (int i = 0; i < this.equipmentDropChances.length; ++i) { this.equipmentDropChances[i] = 0.05F; } } @@ -29,19 +27,19 @@ public EntityBanditWarlord(World par1World) { @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(80.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(4.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(80.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); } - @Override protected void addRandomArmor() { } /** - * Checks if the entity's current position is a valid location to spawn this entity. + * Checks if the entity's current position is a valid location to spawn this + * entity. */ @Override public boolean getCanSpawnHere() { @@ -64,7 +62,6 @@ protected boolean isValidLightLevel() { return true; } - /** * Get this Entity's EnumCreatureAttribute */ @@ -74,30 +71,32 @@ public EnumCreatureAttribute getCreatureAttribute() { } /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. */ @Override protected void dropFewItems(boolean par1, int par2) { - if(rand.nextInt(20) == 0) { - int damage = (int) (Items.ITEM_SCIMITAR.getMaxDamage() - rand.nextInt(Items.ITEM_SCIMITAR.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(Items.ITEM_SCIMITAR.itemID, 1, damage), 0.0F); + if (rand.nextInt(20) == 0) { + int damage = (int) (AtumItems.ITEM_SCIMITAR.getMaxDamage() - rand.nextInt(AtumItems.ITEM_SCIMITAR.getMaxDamage()) * 0.5 + 20); + this.entityDropItem(new ItemStack(AtumItems.ITEM_SCIMITAR, 1, damage), 0.0F); } - if(rand.nextInt(4) == 0) { + if (rand.nextInt(4) == 0) { int amount = rand.nextInt(3) + 3; - this.dropItem(Item.goldNugget.itemID, amount); + this.dropItem(Items.gold_nugget, amount); } - if(rand.nextInt(4) == 0) { + if (rand.nextInt(4) == 0) { int choice = rand.nextInt(4); - if(choice == 0) { - this.dropItem(Items.wandererHelmet.itemID, 1); - } else if(choice == 1) { - this.dropItem(Items.wandererChest.itemID, 1); - } else if(choice == 2) { - this.dropItem(Items.wandererLegs.itemID, 1); - } else if(choice == 3) { - this.dropItem(Items.wandererBoots.itemID, 1); + if (choice == 0) { + this.dropItem(AtumItems.wandererHelmet, 1); + } else if (choice == 1) { + this.dropItem(AtumItems.wandererChest, 1); + } else if (choice == 2) { + this.dropItem(AtumItems.wandererLegs, 1); + } else if (choice == 3) { + this.dropItem(AtumItems.wandererBoots, 1); } } } diff --git a/src/com/teammetallurgy/atum/entity/EntityBanditWarrior.java b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarrior.java similarity index 73% rename from src/com/teammetallurgy/atum/entity/EntityBanditWarrior.java rename to src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarrior.java index 12a1f66..5be158c 100644 --- a/src/com/teammetallurgy/atum/entity/EntityBanditWarrior.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarrior.java @@ -4,12 +4,12 @@ import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.monster.EntityMob; -import net.minecraft.item.Item; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; public class EntityBanditWarrior extends EntityMob implements IAtumDayMob { @@ -17,10 +17,10 @@ public EntityBanditWarrior(World par1World) { super(par1World); this.experienceValue = 8; - super.setCurrentItemOrArmor(0, new ItemStack(Items.ITEM_SCIMITAR)); + super.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCIMITAR)); this.enchantEquipment(); - for(int i = 0; i < this.equipmentDropChances.length; ++i) { + for (int i = 0; i < this.equipmentDropChances.length; ++i) { this.equipmentDropChances[i] = 0F; } } @@ -28,10 +28,10 @@ public EntityBanditWarrior(World par1World) { @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(30.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(3.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(30.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(3.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); } public String getTexture() { @@ -39,7 +39,8 @@ public String getTexture() { } /** - * Checks if the entity's current position is a valid location to spawn this entity. + * Checks if the entity's current position is a valid location to spawn this + * entity. */ @Override public boolean getCanSpawnHere() { @@ -74,18 +75,20 @@ public int getAttackStrength(Entity par1Entity) { } /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. */ @Override protected void dropFewItems(boolean par1, int par2) { - if(rand.nextInt(20) == 0) { - int damage = (int) (Items.ITEM_SCIMITAR.getMaxDamage() - rand.nextInt(Items.ITEM_SCIMITAR.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(Items.ITEM_SCIMITAR.itemID, 1, damage), 0.0F); + if (rand.nextInt(20) == 0) { + int damage = (int) (AtumItems.ITEM_SCIMITAR.getMaxDamage() - rand.nextInt(AtumItems.ITEM_SCIMITAR.getMaxDamage()) * 0.5 + 20); + this.entityDropItem(new ItemStack(AtumItems.ITEM_SCIMITAR, 1, damage), 0.0F); } - if(rand.nextInt(10) == 0) { + if (rand.nextInt(10) == 0) { int amount = rand.nextInt(2) + 1; - this.dropItem(Item.goldNugget.itemID, amount); + this.dropItem(Items.gold_nugget, amount); } } } diff --git a/src/com/teammetallurgy/atum/entity/EntityBarbarian.java b/src/main/java/com/teammetallurgy/atum/entity/EntityBarbarian.java similarity index 70% rename from src/com/teammetallurgy/atum/entity/EntityBarbarian.java rename to src/main/java/com/teammetallurgy/atum/entity/EntityBarbarian.java index 7c2e921..8130dd5 100644 --- a/src/com/teammetallurgy/atum/entity/EntityBarbarian.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityBarbarian.java @@ -4,23 +4,23 @@ import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.monster.EntityMob; -import net.minecraft.item.Item; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; public class EntityBarbarian extends EntityMob implements IAtumDayMob { public EntityBarbarian(World par1World) { super(par1World); this.experienceValue = 9; - - this.setCurrentItemOrArmor(0, new ItemStack(Items.ITEM_GREATSWORD)); + + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_GREATSWORD)); this.enchantEquipment(); - for(int i = 0; i < this.equipmentDropChances.length; ++i) { + for (int i = 0; i < this.equipmentDropChances.length; ++i) { this.equipmentDropChances[i] = 0F; } } @@ -28,10 +28,10 @@ public EntityBarbarian(World par1World) { @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(30.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(4.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(30.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); } @Override @@ -39,7 +39,8 @@ protected void addRandomArmor() { } /** - * Checks if the entity's current position is a valid location to spawn this entity. + * Checks if the entity's current position is a valid location to spawn this + * entity. */ @Override public boolean getCanSpawnHere() { @@ -63,28 +64,31 @@ public EnumCreatureAttribute getCreatureAttribute() { } /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. */ @Override protected void dropFewItems(boolean par1, int par2) { - if(rand.nextInt(20) == 0) { - int damage = (int) (Items.ITEM_GREATSWORD.getMaxDamage() - rand.nextInt(Items.ITEM_GREATSWORD.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(Items.ITEM_GREATSWORD.itemID, 1, damage), 0.0F); + if (rand.nextInt(20) == 0) { + int damage = (int) (AtumItems.ITEM_GREATSWORD.getMaxDamage() - rand.nextInt(AtumItems.ITEM_GREATSWORD.getMaxDamage()) * 0.5 + 20); + this.entityDropItem(new ItemStack(AtumItems.ITEM_GREATSWORD, 1, damage), 0.0F); } - if(rand.nextInt(4) == 0) { + if (rand.nextInt(4) == 0) { int amount = rand.nextInt(2) + 1; - this.dropItem(Item.goldNugget.itemID, amount); + this.dropItem(Items.gold_nugget, amount); } } /** - * Basic mob attack. Default to touch of death in EntityCreature. Overridden by each mob to define their attack. + * Basic mob attack. Default to touch of death in EntityCreature. Overridden + * by each mob to define their attack. */ @Override protected void attackEntity(Entity mob, float par2) { - if(!(mob instanceof EntityStoneSoldier || mob instanceof EntityPharaoh)) { + if (!(mob instanceof EntityStoneSoldier || mob instanceof EntityPharaoh)) { float j = 1.2f; mob.addVelocity((double) (-MathHelper.sin(this.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), 0.1D, (double) (MathHelper.cos(this.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); } diff --git a/src/com/teammetallurgy/atum/entity/EntityBonestorm.java b/src/main/java/com/teammetallurgy/atum/entity/EntityBonestorm.java similarity index 76% rename from src/com/teammetallurgy/atum/entity/EntityBonestorm.java rename to src/main/java/com/teammetallurgy/atum/entity/EntityBonestorm.java index 3a8b151..f337489 100644 --- a/src/com/teammetallurgy/atum/entity/EntityBonestorm.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityBonestorm.java @@ -5,6 +5,7 @@ import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntitySmallFireball; +import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; @@ -31,10 +32,10 @@ public EntityBonestorm(World par1World) { @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(20.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(2.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(6.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); } @Override @@ -77,35 +78,37 @@ public float getBrightness(float par1) { } /** - * Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons use this to react to sunlight and start to burn. + * Called frequently so the entity can update its state every tick as + * required. For example, zombies and skeletons use this to react to + * sunlight and start to burn. */ public void onLivingUpdate() { - if(!this.worldObj.isRemote) { - if(this.isWet()) { + if (!this.worldObj.isRemote) { + if (this.isWet()) { this.attackEntityFrom(DamageSource.drown, 1); } --this.heightOffsetUpdateTime; - if(this.heightOffsetUpdateTime <= 0) { + if (this.heightOffsetUpdateTime <= 0) { this.heightOffsetUpdateTime = 100; this.heightOffset = 0.5F + (float) this.rand.nextGaussian() * 3.0F; } - if(this.getEntityToAttack() != null && this.getEntityToAttack().posY + (double) this.getEntityToAttack().getEyeHeight() > this.posY + (double) this.getEyeHeight() + (double) this.heightOffset) { + if (this.getEntityToAttack() != null && this.getEntityToAttack().posY + (double) this.getEntityToAttack().getEyeHeight() > this.posY + (double) this.getEyeHeight() + (double) this.heightOffset) { this.motionY += (0.30000001192092896D - this.motionY) * 0.30000001192092896D; } } - if(this.rand.nextInt(24) == 0) { + if (this.rand.nextInt(24) == 0) { this.worldObj.playSoundEffect(this.posX + 0.5D, this.posY + 0.5D, this.posZ + 0.5D, "fire.fire", 1.0F + this.rand.nextFloat(), this.rand.nextFloat() * 0.7F + 0.3F); } - if(!this.onGround && this.motionY < 0.0D) { + if (!this.onGround && this.motionY < 0.0D) { this.motionY *= 0.6D; } - for(int i = 0; i < 2; ++i) { + for (int i = 0; i < 2; ++i) { this.worldObj.spawnParticle("largesmoke", this.posX + (this.rand.nextDouble() - 0.5D) * (double) this.width, this.posY + this.rand.nextDouble() * (double) this.height, this.posZ + (this.rand.nextDouble() - 0.5D) * (double) this.width, 0.0D, 0.0D, 0.0D); } @@ -113,24 +116,25 @@ public void onLivingUpdate() { } /** - * Basic mob attack. Default to touch of death in EntityCreature. Overridden by each mob to define their attack. + * Basic mob attack. Default to touch of death in EntityCreature. Overridden + * by each mob to define their attack. */ protected void attackEntity(Entity par1Entity, float par2) { - if(this.attackTime <= 0 && par2 < 2.0F && par1Entity.boundingBox.maxY > this.boundingBox.minY && par1Entity.boundingBox.minY < this.boundingBox.maxY) { + if (this.attackTime <= 0 && par2 < 2.0F && par1Entity.boundingBox.maxY > this.boundingBox.minY && par1Entity.boundingBox.minY < this.boundingBox.maxY) { this.attackTime = 20; this.attackEntityAsMob(par1Entity); - } else if(par2 < 30.0F) { + } else if (par2 < 30.0F) { double d0 = par1Entity.posX - this.posX; double d1 = par1Entity.boundingBox.minY + (double) (par1Entity.height / 2.0F) - (this.posY + (double) (this.height / 2.0F)); double d2 = par1Entity.posZ - this.posZ; - if(this.attackTime == 0) { + if (this.attackTime == 0) { ++this.field_70846_g; - if(this.field_70846_g == 1) { + if (this.field_70846_g == 1) { this.attackTime = 60; this.func_70844_e(true); - } else if(this.field_70846_g <= 4) { + } else if (this.field_70846_g <= 4) { this.attackTime = 6; } else { this.attackTime = 100; @@ -138,11 +142,11 @@ protected void attackEntity(Entity par1Entity, float par2) { this.func_70844_e(false); } - if(this.field_70846_g > 1) { + if (this.field_70846_g > 1) { float f1 = MathHelper.sqrt_float(par2) * 0.5F; this.worldObj.playAuxSFXAtEntity((EntityPlayer) null, 1009, (int) this.posX, (int) this.posY, (int) this.posZ, 0); - for(int i = 0; i < 1; ++i) { + for (int i = 0; i < 1; ++i) { EntitySmallFireball entitysmallfireball = new EntitySmallFireball(this.worldObj, this, d0 + this.rand.nextGaussian() * (double) f1, d1, d2 + this.rand.nextGaussian() * (double) f1); entitysmallfireball.posY = this.posY + (double) (this.height / 2.0F) + 0.5D; this.worldObj.spawnEntityInWorld(entitysmallfireball); @@ -161,29 +165,31 @@ protected void attackEntity(Entity par1Entity, float par2) { protected void fall(float par1) { } - /** - * Returns the item ID for the item the mob drops on death. - */ - protected int getDropItemId() { - return Item.blazeRod.itemID; + @Override + protected Item getDropItem() { + return Items.blaze_rod; } /** - * Returns true if the entity is on fire. Used by render to add the fire effect on rendering. + * /** Returns true if the entity is on fire. Used by render to add the fire + * effect on rendering. */ + @Override public boolean isBurning() { return this.func_70845_n(); } /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. */ protected void dropFewItems(boolean par1, int par2) { - if(par1) { + if (par1) { int j = this.rand.nextInt(2 + par2); - for(int k = 0; k < j; ++k) { - this.dropItem(Item.blazeRod.itemID, 1); + for (int k = 0; k < j; ++k) { + this.dropItem(Items.blaze_rod, 1); } } } @@ -195,7 +201,7 @@ public boolean func_70845_n() { public void func_70844_e(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - if(par1) { + if (par1) { b0 = (byte) (b0 | 1); } else { b0 &= -2; @@ -211,10 +217,4 @@ protected boolean isValidLightLevel() { return true; } - /** - * Returns the amount of damage a mob should deal. - */ - public int getAttackStrength(Entity par1Entity) { - return 6; - } } diff --git a/src/com/teammetallurgy/atum/entity/EntityDesertWolf.java b/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java similarity index 85% rename from src/com/teammetallurgy/atum/entity/EntityDesertWolf.java rename to src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java index 67e1d72..d9808cd 100644 --- a/src/com/teammetallurgy/atum/entity/EntityDesertWolf.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java @@ -30,7 +30,7 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -90,7 +90,9 @@ public boolean isAIEnabled() { } /** - * Finds the closest player within 16 blocks to attack, or null if this Entity isn't interested in attacking (Animals, Spiders at day, peaceful PigZombies). + * Finds the closest player within 16 blocks to attack, or null if this + * Entity isn't interested in attacking (Animals, Spiders at day, peaceful + * PigZombies). */ @Override protected Entity findPlayerToAttack() { @@ -105,7 +107,7 @@ protected Entity findPlayerToAttack() { public void setAttackTarget(EntityLivingBase par1EntityLiving) { super.setAttackTarget(par1EntityLiving); - if(par1EntityLiving instanceof EntityPlayer) { + if (par1EntityLiving instanceof EntityPlayer) { this.setAngry(true); } } @@ -119,7 +121,8 @@ protected void updateAITick() { } /** - * Checks if the entity's current position is a valid location to spawn this entity. + * Checks if the entity's current position is a valid location to spawn this + * entity. */ @Override public boolean getCanSpawnHere() { @@ -194,27 +197,31 @@ protected float getSoundVolume() { } /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. */ @Override protected void dropFewItems(boolean par1, int par2) { - if(rand.nextInt(10) == 0) { + if (rand.nextInt(10) == 0) { this.dropItem(Item.bone.itemID, 1); } - if(rand.nextInt(4) == 0) { + if (rand.nextInt(4) == 0) { int amount = rand.nextInt(2) + 1; - this.dropItem(Items.pelt.itemID, amount); + this.dropItem(AtumItems.pelt.itemID, amount); } } /** - * Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons use this to react to sunlight and start to burn. + * Called frequently so the entity can update its state every tick as + * required. For example, zombies and skeletons use this to react to + * sunlight and start to burn. */ @Override public void onLivingUpdate() { super.onLivingUpdate(); - if(!this.worldObj.isRemote && this.isShaking && !this.field_70928_h && !this.hasPath() && this.onGround) { + if (!this.worldObj.isRemote && this.isShaking && !this.field_70928_h && !this.hasPath() && this.onGround) { this.field_70928_h = true; this.timeWolfIsShaking = 0.0F; this.prevTimeWolfIsShaking = 0.0F; @@ -229,48 +236,48 @@ public void onLivingUpdate() { public void onUpdate() { super.onUpdate(); - if(!this.worldObj.isRemote && this.worldObj.difficultySetting == 0) { + if (!this.worldObj.isRemote && this.worldObj.difficultySetting == 0) { this.setDead(); return; } this.field_70924_f = this.field_70926_e; - if(this.func_70922_bv()) { + if (this.func_70922_bv()) { this.field_70926_e += (1.0F - this.field_70926_e) * 0.4F; } else { this.field_70926_e += (0.0F - this.field_70926_e) * 0.4F; } - if(this.func_70922_bv()) { + if (this.func_70922_bv()) { this.numTicksToChaseTarget = 10; } - if(this.isWet()) { + if (this.isWet()) { this.isShaking = true; this.field_70928_h = false; this.timeWolfIsShaking = 0.0F; this.prevTimeWolfIsShaking = 0.0F; - } else if((this.isShaking || this.field_70928_h) && this.field_70928_h) { - if(this.timeWolfIsShaking == 0.0F) { + } else if ((this.isShaking || this.field_70928_h) && this.field_70928_h) { + if (this.timeWolfIsShaking == 0.0F) { this.playSound("mob.wolf.shake", this.getSoundVolume(), (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F); } this.prevTimeWolfIsShaking = this.timeWolfIsShaking; this.timeWolfIsShaking += 0.05F; - if(this.prevTimeWolfIsShaking >= 2.0F) { + if (this.prevTimeWolfIsShaking >= 2.0F) { this.isShaking = false; this.field_70928_h = false; this.prevTimeWolfIsShaking = 0.0F; this.timeWolfIsShaking = 0.0F; } - if(this.timeWolfIsShaking > 0.4F) { + if (this.timeWolfIsShaking > 0.4F) { float f = (float) this.boundingBox.minY; int i = (int) (MathHelper.sin((this.timeWolfIsShaking - 0.4F) * (float) Math.PI) * 7.0F); - for(int j = 0; j < i; ++j) { + for (int j = 0; j < i; ++j) { float f1 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; float f2 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; this.worldObj.spawnParticle("splash", this.posX + (double) f1, (double) (f + 0.8F), this.posZ + (double) f2, this.motionX, this.motionY, this.motionZ); @@ -296,9 +303,9 @@ public float getShadingWhileShaking(float par1) { public float getShakeAngle(float par1, float par2) { float f2 = (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * par1 + par2) / 1.8F; - if(f2 < 0.0F) { + if (f2 < 0.0F) { f2 = 0.0F; - } else if(f2 > 1.0F) { + } else if (f2 > 1.0F) { f2 = 1.0F; } @@ -316,7 +323,8 @@ public float getEyeHeight() { } /** - * The speed it takes to move the entityliving's rotationPitch through the faceEntity method. This is only currently use in wolves. + * The speed it takes to move the entityliving's rotationPitch through the + * faceEntity method. This is only currently use in wolves. */ @Override public int getVerticalFaceSpeed() { @@ -328,13 +336,13 @@ public int getVerticalFaceSpeed() { */ @Override public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { - if(this.isEntityInvulnerable()) { + if (this.isEntityInvulnerable()) { return false; } else { Entity entity = par1DamageSource.getEntity(); this.aiSit.setSitting(false); - if(entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) { + if (entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) { par2 = (par2 + 1) / 2; } @@ -349,25 +357,26 @@ public boolean attackEntityAsMob(Entity par1Entity) { } /** - * Called when a player interacts with a mob. e.g. gets milk from a cow, gets into the saddle on a pig. + * Called when a player interacts with a mob. e.g. gets milk from a cow, + * gets into the saddle on a pig. */ @Override public boolean interact(EntityPlayer par1EntityPlayer) { ItemStack itemstack = par1EntityPlayer.inventory.getCurrentItem(); - if(this.isTamed()) { - if(itemstack != null) { - if(Item.itemsList[itemstack.itemID] instanceof ItemFood) { + if (this.isTamed()) { + if (itemstack != null) { + if (Item.itemsList[itemstack.itemID] instanceof ItemFood) { ItemFood itemfood = (ItemFood) Item.itemsList[itemstack.itemID]; - if(itemfood.isWolfsFavoriteMeat() && this.dataWatcher.getWatchableObjectInt(18) < 20) { - if(!par1EntityPlayer.capabilities.isCreativeMode) { + if (itemfood.isWolfsFavoriteMeat() && this.dataWatcher.getWatchableObjectInt(18) < 20) { + if (!par1EntityPlayer.capabilities.isCreativeMode) { --itemstack.stackSize; } this.heal(itemfood.getHealAmount()); - if(itemstack.stackSize <= 0) { + if (itemstack.stackSize <= 0) { par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); } @@ -376,22 +385,22 @@ public boolean interact(EntityPlayer par1EntityPlayer) { } } - if(par1EntityPlayer.username.equalsIgnoreCase(this.getOwnerName()) && !this.worldObj.isRemote && !this.isBreedingItem(itemstack)) { + if (par1EntityPlayer.username.equalsIgnoreCase(this.getOwnerName()) && !this.worldObj.isRemote && !this.isBreedingItem(itemstack)) { this.aiSit.setSitting(!this.isSitting()); this.isJumping = false; this.setPathToEntity((PathEntity) null); } - } else if(itemstack != null && itemstack.itemID == Item.bone.itemID && !this.isAngry()) { - if(!par1EntityPlayer.capabilities.isCreativeMode) { + } else if (itemstack != null && itemstack.itemID == Item.bone.itemID && !this.isAngry()) { + if (!par1EntityPlayer.capabilities.isCreativeMode) { --itemstack.stackSize; } - if(itemstack.stackSize <= 0) { + if (itemstack.stackSize <= 0) { par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); } - if(!this.worldObj.isRemote) { - if(this.rand.nextInt(3) == 0) { + if (!this.worldObj.isRemote) { + if (this.rand.nextInt(3) == 0) { this.setTamed(true); this.setPathToEntity((PathEntity) null); this.setAttackTarget((EntityLiving) null); @@ -414,7 +423,7 @@ public boolean interact(EntityPlayer par1EntityPlayer) { @SideOnly(Side.CLIENT) @Override public void handleHealthUpdate(byte par1) { - if(par1 == 8) { + if (par1 == 8) { this.field_70928_h = true; this.timeWolfIsShaking = 0.0F; this.prevTimeWolfIsShaking = 0.0F; @@ -429,7 +438,8 @@ public float getTailRotation() { } /** - * Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on the animal type) + * Checks if the parameter is an item which this animal can be fed to breed + * it (wheat, carrots or seeds depending on the animal type) */ @Override public boolean isBreedingItem(ItemStack par1ItemStack) { @@ -457,7 +467,7 @@ public boolean isAngry() { public void setAngry(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - if(par1) { + if (par1) { this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 2))); } else { this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -3))); @@ -465,13 +475,14 @@ public void setAngry(boolean par1) { } /** - * This function is used when two same-species animals in 'love mode' breed to generate the new baby animal. + * This function is used when two same-species animals in 'love mode' breed + * to generate the new baby animal. */ public EntityDesertWolf spawnBabyAnimal(EntityAgeable par1EntityAgeable) { EntityDesertWolf entitywolf = new EntityDesertWolf(this.worldObj); String s = this.getOwnerName(); - if(s != null && s.trim().length() > 0) { + if (s != null && s.trim().length() > 0) { entitywolf.setOwner(s); entitywolf.setTamed(true); } @@ -482,7 +493,7 @@ public EntityDesertWolf spawnBabyAnimal(EntityAgeable par1EntityAgeable) { public void func_70918_i(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(19); - if(par1) { + if (par1) { this.dataWatcher.updateObject(19, Byte.valueOf((byte) 1)); } else { this.dataWatcher.updateObject(19, Byte.valueOf((byte) 0)); @@ -494,11 +505,11 @@ public void func_70918_i(boolean par1) { */ @Override public boolean canMateWith(EntityAnimal par1EntityAnimal) { - if(par1EntityAnimal == this) { + if (par1EntityAnimal == this) { return false; - } else if(!this.isTamed()) { + } else if (!this.isTamed()) { return false; - } else if(!(par1EntityAnimal instanceof EntityDesertWolf)) { + } else if (!(par1EntityAnimal instanceof EntityDesertWolf)) { return false; } else { EntityDesertWolf entitywolf = (EntityDesertWolf) par1EntityAnimal; diff --git a/src/com/teammetallurgy/atum/entity/EntityDustySkeleton.java b/src/main/java/com/teammetallurgy/atum/entity/EntityDustySkeleton.java similarity index 100% rename from src/com/teammetallurgy/atum/entity/EntityDustySkeleton.java rename to src/main/java/com/teammetallurgy/atum/entity/EntityDustySkeleton.java diff --git a/src/com/teammetallurgy/atum/entity/EntityGhost.java b/src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java similarity index 97% rename from src/com/teammetallurgy/atum/entity/EntityGhost.java rename to src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java index 3f10ee9..afabf3c 100644 --- a/src/com/teammetallurgy/atum/entity/EntityGhost.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java @@ -12,7 +12,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.ForgeHooks; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; public class EntityGhost extends EntityMob implements IAtumNightMob { private int cycleHeight = 0; @@ -124,7 +124,7 @@ protected void attackEntity(Entity par1Entity, float par2) { protected void dropFewItems(boolean par1, int par2) { if(this.rand.nextInt(4) == 0) { int amount = rand.nextInt(3) + 1; - this.dropItem(Items.ectoplasm.itemID, amount); + this.dropItem(AtumItems.ectoplasm.itemID, amount); } } diff --git a/src/com/teammetallurgy/atum/entity/EntityMummy.java b/src/main/java/com/teammetallurgy/atum/entity/EntityMummy.java similarity index 96% rename from src/com/teammetallurgy/atum/entity/EntityMummy.java rename to src/main/java/com/teammetallurgy/atum/entity/EntityMummy.java index 1ac8c10..90ff37a 100644 --- a/src/com/teammetallurgy/atum/entity/EntityMummy.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityMummy.java @@ -8,7 +8,7 @@ import net.minecraft.util.DamageSource; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; public class EntityMummy extends EntityMob implements IAtumNightMob { @@ -83,7 +83,7 @@ protected void dropFewItems(boolean par1, int par2) { } if(rand.nextInt(4) == 0) { int amount = rand.nextInt(2) + 1; - this.dropItem(Items.scrap.itemID, amount); + this.dropItem(AtumItems.scrap.itemID, amount); } } } diff --git a/src/com/teammetallurgy/atum/entity/EntityPharaoh.java b/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java similarity index 97% rename from src/com/teammetallurgy/atum/entity/EntityPharaoh.java rename to src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java index ff508e9..021578f 100644 --- a/src/com/teammetallurgy/atum/entity/EntityPharaoh.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java @@ -22,9 +22,9 @@ import net.minecraft.world.World; import com.teammetallurgy.atum.AtumLoot; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.blocks.tileentity.TileEntityPharaohChest; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; import cpw.mods.fml.common.FMLCommonHandler; @@ -50,7 +50,7 @@ public EntityPharaoh(World par1World) { Random rand = new Random(); stage = 0; - this.setCurrentItemOrArmor(0, new ItemStack(Items.ITEM_SCEPTER)); + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCEPTER)); for(int i = 0; i < this.equipmentDropChances.length; ++i) { this.equipmentDropChances[i] = 0F; @@ -213,7 +213,7 @@ private boolean destroyBlocksInAABB(AxisAlignedBB par1AxisAlignedBB) { Block block = Block.blocksList[id]; if(block != null) { - if(id != Blocks.BLOCK_LARGEBRICK.blockID && id != Blocks.BLOCK_PHARAOHCHEST.blockID && Block.blocksList[id].isBlockSolid(worldObj, x, y, z, 0)) { + if(id != AtumBlocks.BLOCK_LARGEBRICK && id != AtumBlocks.BLOCK_PHARAOHCHEST && Block.blocksList[id].isBlockSolid(worldObj, x, y, z, 0)) { Block.blocksList[id].dropBlockAsItem(worldObj, x, y, z, metadata, 0); flag1 = this.worldObj.setBlockToAir(x, y, z) || flag1; } diff --git a/src/com/teammetallurgy/atum/entity/EntityStone.java b/src/main/java/com/teammetallurgy/atum/entity/EntityStone.java similarity index 91% rename from src/com/teammetallurgy/atum/entity/EntityStone.java rename to src/main/java/com/teammetallurgy/atum/entity/EntityStone.java index 8553931..9341543 100644 --- a/src/com/teammetallurgy/atum/entity/EntityStone.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityStone.java @@ -1,6 +1,5 @@ package com.teammetallurgy.atum.entity; -import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.monster.EntityMob; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; diff --git a/src/com/teammetallurgy/atum/entity/EntityStoneSoldier.java b/src/main/java/com/teammetallurgy/atum/entity/EntityStoneSoldier.java similarity index 80% rename from src/com/teammetallurgy/atum/entity/EntityStoneSoldier.java rename to src/main/java/com/teammetallurgy/atum/entity/EntityStoneSoldier.java index a507379..e80a726 100644 --- a/src/com/teammetallurgy/atum/entity/EntityStoneSoldier.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityStoneSoldier.java @@ -10,7 +10,7 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; public class EntityStoneSoldier extends EntityStone implements IAtumNightMob, IAtumDayMob { @@ -19,9 +19,9 @@ public EntityStoneSoldier(World par1World) { this.isImmuneToFire = true; this.experienceValue = 8; - this.setCurrentItemOrArmor(0, new ItemStack(Items.ITEM_STONESOLDIER_SWORD)); + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_STONESOLDIER_SWORD)); - for(int i = 0; i < this.equipmentDropChances.length; ++i) { + for (int i = 0; i < this.equipmentDropChances.length; ++i) { this.equipmentDropChances[i] = 0F; } } @@ -29,14 +29,15 @@ public EntityStoneSoldier(World par1World) { @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(80.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(4.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(80.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); } /** - * Checks if the entity's current position is a valid location to spawn this entity. + * Checks if the entity's current position is a valid location to spawn this + * entity. */ @Override public boolean getCanSpawnHere() { @@ -61,14 +62,14 @@ public EnumCreatureAttribute getCreatureAttribute() { @Override public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { - if(super.attackEntityFrom(par1DamageSource, par2)) { - if(par1DamageSource.getEntity() != null) { + if (super.attackEntityFrom(par1DamageSource, par2)) { + if (par1DamageSource.getEntity() != null) { Entity par1Entity = par1DamageSource.getEntity(); int j = 0; - if(par1Entity instanceof EntityLiving) { + if (par1Entity instanceof EntityLiving) { j += EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, this); - if(j > 0) { + if (j > 0) { this.motionX /= 0.6D; this.motionZ /= 0.6D; this.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), -0.1D, (double) (-MathHelper.cos(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); @@ -96,19 +97,21 @@ public void knockBack(Entity par1Entity, float par2, double par3, double par5) { this.motionX -= par3 / (double) f * (double) f1; this.motionZ -= par5 / (double) f * (double) f1; - if(this.motionY > 0.4000000059604645D) { + if (this.motionY > 0.4000000059604645D) { this.motionY = 0.4000000059604645D; } } /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. */ @Override protected void dropFewItems(boolean par1, int par2) { - if(this.rand.nextInt(4) == 0) { + if (this.rand.nextInt(4) == 0) { int amount = rand.nextInt(2) + 1; - this.dropItem(Items.stoneChunk.itemID, amount); + this.dropItem(AtumItems.stoneChunk, amount); } } diff --git a/src/com/teammetallurgy/atum/entity/IAtumDayMob.java b/src/main/java/com/teammetallurgy/atum/entity/IAtumDayMob.java similarity index 100% rename from src/com/teammetallurgy/atum/entity/IAtumDayMob.java rename to src/main/java/com/teammetallurgy/atum/entity/IAtumDayMob.java diff --git a/src/com/teammetallurgy/atum/entity/IAtumNightMob.java b/src/main/java/com/teammetallurgy/atum/entity/IAtumNightMob.java similarity index 100% rename from src/com/teammetallurgy/atum/entity/IAtumNightMob.java rename to src/main/java/com/teammetallurgy/atum/entity/IAtumNightMob.java diff --git a/src/com/teammetallurgy/atum/entity/arrow/CustomArrow.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java similarity index 100% rename from src/com/teammetallurgy/atum/entity/arrow/CustomArrow.java rename to src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java similarity index 81% rename from src/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java rename to src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java index 2ab5f3e..e1eaa95 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java @@ -11,10 +11,9 @@ import net.minecraft.entity.monster.EntityEnderman; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; @@ -29,7 +28,7 @@ public class EntityArrowDoubleShot extends CustomArrow implements IProjectile, I private int xTile = -1; private int yTile = -1; private int zTile = -1; - private int inTile = 0; + private Block inTile = null; private int inData = 0; private boolean inGround = false; @@ -67,7 +66,7 @@ public EntityArrowDoubleShot(World par1World, EntityLivingBase par2EntityLiving, this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } @@ -77,7 +76,7 @@ public EntityArrowDoubleShot(World par1World, EntityLivingBase par2EntityLiving, double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); - if(d3 >= 1.0E-7D) { + if (d3 >= 1.0E-7D) { float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); double d4 = d0 / d3; @@ -94,7 +93,7 @@ public EntityArrowDoubleShot(World par1World, EntityLivingBase par2EntityLiving, this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } @@ -116,7 +115,8 @@ protected void entityInit() { } /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z + * direction. */ public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); @@ -157,7 +157,7 @@ public void setVelocity(double par1, double par3, double par5) { this.motionY = par3; this.motionZ = par5; - if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); @@ -174,35 +174,35 @@ public void setVelocity(double par1, double par3, double par5) { public void onUpdate() { super.onUpdate(); - if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); } - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - if(i > 0) { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + if (i != null) { + i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - if(axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { + if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { this.inGround = true; } } - if(this.arrowShake > 0) { + if (this.arrowShake > 0) { --this.arrowShake; } - if(this.inGround) { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + if (this.inGround) { + Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - if(j == this.inTile && k == this.inData) { + if (j == this.inTile && k == this.inData) { ++this.ticksInGround; - if(this.ticksInGround == 1200) { + if (this.ticksInGround == 1200) { this.setDead(); } } else { @@ -217,11 +217,11 @@ public void onUpdate() { ++this.ticksInAir; Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); + MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks(vec3, vec31, true); vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - if(movingobjectposition != null) { + if (movingobjectposition != null) { vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); } @@ -231,18 +231,18 @@ public void onUpdate() { int l; float f1; - for(l = 0; l < list.size(); ++l) { + for (l = 0; l < list.size(); ++l) { Entity entity1 = (Entity) list.get(l); - if(entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { + if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { f1 = 0.3F; AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - if(movingobjectposition1 != null) { + if (movingobjectposition1 != null) { double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - if(d1 < d0 || d0 == 0.0D) { + if (d1 < d0 || d0 == 0.0D) { entity = entity1; d0 = d1; } @@ -250,14 +250,14 @@ public void onUpdate() { } } - if(entity != null) { + if (entity != null) { movingobjectposition = new MovingObjectPosition(entity); } - if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; - if(entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { + if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { movingobjectposition = null; } } @@ -265,55 +265,55 @@ public void onUpdate() { float f2; float f3; - if(movingobjectposition != null) { - if(movingobjectposition.entityHit != null) { + if (movingobjectposition != null) { + if (movingobjectposition.entityHit != null) { f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); - if(this.getIsCritical()) { + if (this.getIsCritical()) { i1 += this.rand.nextInt(i1 / 2 + 2); } DamageSource damagesource = null; - if(this.shootingEntity == null) { + if (this.shootingEntity == null) { damagesource = DamageSource.causeThrownDamage(this, this); } else { damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); } - if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { movingobjectposition.entityHit.setFire(5); } - if(movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { - if(movingobjectposition.entityHit instanceof EntityLiving) { + if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if (movingobjectposition.entityHit instanceof EntityLiving) { EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; - if(!this.worldObj.isRemote) { + if (!this.worldObj.isRemote) { entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); } - if(this.knockbackStrength > 0) { + if (this.knockbackStrength > 0) { f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - if(f3 > 0.0F) { + if (f3 > 0.0F) { movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); } } - if(this.shootingEntity != null) { + if (this.shootingEntity != null) { EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); } - if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { - ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet(6, 0)); } } this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { + if (!(movingobjectposition.entityHit instanceof EntityEnderman)) { this.setDead(); } } else { @@ -328,7 +328,7 @@ public void onUpdate() { this.xTile = movingobjectposition.blockX; this.yTile = movingobjectposition.blockY; this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); @@ -342,14 +342,14 @@ public void onUpdate() { this.arrowShake = 7; this.setIsCritical(false); - if(this.inTile != 0) { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + if (this.inTile != null) { + this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); } } } - if(this.getIsCritical() && worldObj.isRemote) { - for(l = 0; l < 4; ++l) { + if (this.getIsCritical() && worldObj.isRemote) { + for (l = 0; l < 4; ++l) { this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); } } @@ -360,19 +360,19 @@ public void onUpdate() { f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - for(this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { ; } - while(this.rotationPitch - this.prevRotationPitch >= 180.0F) { + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { this.prevRotationPitch += 360.0F; } - while(this.rotationYaw - this.prevRotationYaw < -180.0F) { + while (this.rotationYaw - this.prevRotationYaw < -180.0F) { this.prevRotationYaw -= 360.0F; } - while(this.rotationYaw - this.prevRotationYaw >= 180.0F) { + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { this.prevRotationYaw += 360.0F; } @@ -381,8 +381,8 @@ public void onUpdate() { float f4 = 0.99F; f1 = 0.05F; - if(this.isInWater()) { - for(int j1 = 0; j1 < 4; ++j1) { + if (this.isInWater()) { + for (int j1 = 0; j1 < 4; ++j1) { f3 = 0.25F; this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); } @@ -426,13 +426,13 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - if(par1NBTTagCompound.hasKey("damage")) { + if (par1NBTTagCompound.hasKey("damage")) { this.damage = par1NBTTagCompound.getDouble("damage"); } - if(par1NBTTagCompound.hasKey("pickup")) { + if (par1NBTTagCompound.hasKey("pickup")) { this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } else if(par1NBTTagCompound.hasKey("player")) { + } else if (par1NBTTagCompound.hasKey("player")) { this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; } } @@ -441,14 +441,14 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { * Called by a player entity when they collide with an entity */ public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { - if(!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { + if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Items.arrow, 1))) { flag = false; } - if(flag) { + if (flag) { this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); par1EntityPlayer.onItemPickup(this, 1); this.setDead(); @@ -457,7 +457,8 @@ public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { } /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to prevent them from trampling crops + * returns if this entity triggers Block.onEntityWalking on the blocks they + * walk on. used for spiders and wolves to prevent them from trampling crops */ protected boolean canTriggerWalking() { return false; @@ -491,12 +492,13 @@ public boolean canAttackWithItem() { } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ public void setIsCritical(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - if(par1) { + if (par1) { this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); } else { this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); @@ -504,7 +506,8 @@ public void setIsCritical(boolean par1) { } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ public boolean getIsCritical() { byte b0 = this.dataWatcher.getWatchableObjectByte(16); diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java similarity index 99% rename from src/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java rename to src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java index 3afa5fb..40896fc 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java @@ -14,7 +14,6 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java similarity index 99% rename from src/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java rename to src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java index 0d70797..248adcf 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java @@ -14,7 +14,6 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; @@ -203,7 +202,7 @@ public void onUpdate() { ++this.ticksInGround; if(worldObj.isAirBlock((int) posX, (int) posY, (int) posZ)) - worldObj.setBlock((int) posX, (int) posY, (int) posZ, Block.fire.blockID); + worldObj.setBlock((int) posX, (int) posY, (int) posZ, Block.fire); if(this.ticksInGround == 1200) { this.setDead(); diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java similarity index 98% rename from src/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java rename to src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java index 52d4031..135fe35 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java @@ -11,10 +11,9 @@ import net.minecraft.entity.monster.EntityEnderman; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.util.AxisAlignedBB; @@ -182,7 +181,7 @@ public void onUpdate() { this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); } - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + int i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); if(i > 0) { Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); @@ -198,7 +197,7 @@ public void onUpdate() { } if(this.inGround) { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); if(j == this.inTile && k == this.inData) { @@ -219,7 +218,7 @@ public void onUpdate() { ++this.ticksInAir; Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); + MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks(vec3, vec31, true); vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); @@ -332,7 +331,7 @@ public void onUpdate() { this.xTile = movingobjectposition.blockX; this.yTile = movingobjectposition.blockY; this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); @@ -448,7 +447,7 @@ public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { if(!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { + if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Items.arrow, 1))) { flag = false; } diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java similarity index 99% rename from src/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java rename to src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java index e651fcf..48671e5 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java @@ -14,7 +14,6 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java similarity index 99% rename from src/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java rename to src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java index a52b786..d9c0741 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java @@ -14,7 +14,6 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java similarity index 99% rename from src/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java rename to src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java index 1887a10..62c7b30 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java @@ -21,7 +21,7 @@ import com.teammetallurgy.atum.AtumFish; import com.teammetallurgy.atum.AtumIDS; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -195,7 +195,7 @@ public void onUpdate() { if(!this.worldObj.isRemote) { ItemStack itemstack = this.angler.getCurrentEquippedItem(); - if(this.angler.isDead || !this.angler.isEntityAlive() || itemstack == null || itemstack.getItem() != Items.anuketsBounty || this.getDistanceSqToEntity(this.angler) > 1024.0D) { + if(this.angler.isDead || !this.angler.isEntityAlive() || itemstack == null || itemstack.getItem() != AtumItems.anuketsBounty || this.getDistanceSqToEntity(this.angler) > 1024.0D) { this.setDead(); this.angler.fishEntity = null; return; diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java similarity index 99% rename from src/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java rename to src/main/java/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java index de03f7c..69416fb 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java @@ -14,7 +14,6 @@ import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; diff --git a/src/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearCombined.java b/src/main/java/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearCombined.java similarity index 99% rename from src/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearCombined.java rename to src/main/java/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearCombined.java index 30858bf..92feada 100644 --- a/src/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearCombined.java +++ b/src/main/java/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearCombined.java @@ -14,7 +14,6 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; diff --git a/src/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearSeperated.java b/src/main/java/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearSeperated.java similarity index 99% rename from src/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearSeperated.java rename to src/main/java/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearSeperated.java index 223d7d5..0e34dcb 100644 --- a/src/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearSeperated.java +++ b/src/main/java/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearSeperated.java @@ -14,7 +14,6 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; diff --git a/src/com/teammetallurgy/atum/items/Items.java b/src/main/java/com/teammetallurgy/atum/items/AtumItems.java similarity index 96% rename from src/com/teammetallurgy/atum/items/Items.java rename to src/main/java/com/teammetallurgy/atum/items/AtumItems.java index 386402e..98701d4 100644 --- a/src/com/teammetallurgy/atum/items/Items.java +++ b/src/main/java/com/teammetallurgy/atum/items/AtumItems.java @@ -1,19 +1,16 @@ package com.teammetallurgy.atum.items; import net.minecraft.block.Block; -import net.minecraft.item.EnumArmorMaterial; -import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemFood; import net.minecraft.item.ItemSeeds; import net.minecraft.item.ItemStack; -import net.minecraftforge.common.EnumHelper; -import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.common.util.EnumHelper; import com.teammetallurgy.atum.Atum; import com.teammetallurgy.atum.AtumIDS; import com.teammetallurgy.atum.LocalizationHelper; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.items.artifacts.IsisEmbrace; import com.teammetallurgy.atum.items.artifacts.ItemAkersToil; import com.teammetallurgy.atum.items.artifacts.ItemAmunetsHomecoming; @@ -48,10 +45,8 @@ import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -public enum Items { +public enum AtumItems { INSTANCE; public static final Item ITEM_SCARAB = new ItemScarab(AtumIDS.ITEM_SCARAB_ID).setUnlocalizedName("atum:scarab"); @@ -111,7 +106,7 @@ public enum Items { public static final Item desertChest = new ItemTexturedArmor(AtumIDS.ITEM_DESERTCHEST_ID, desertEnum, 0, 1).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("atum:desertChest").setTextureName("atum:DesertChest"); public static final Item desertLegs = new ItemTexturedArmor(AtumIDS.ITEM_DESERTLEGS_ID, desertEnum, 0, 2).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_2").setUnlocalizedName("atum:desertLegs").setTextureName("atum:DesertLegs"); public static final Item desertBoots = new ItemTexturedArmor(AtumIDS.ITEM_DESERTBOOTS_ID, desertEnum, 0, 3).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("atum:desertBoots").setTextureName("atum:DesertBoots"); - public static final Item papyrusPlant = new ItemPapyrusPlant(AtumIDS.ITEM_PAPYRUSPLANT_ID, Blocks.BLOCK_PAPYRUS).setUnlocalizedName("atum:papyrusPlantItem"); + public static final Item papyrusPlant = new ItemPapyrusPlant(AtumIDS.ITEM_PAPYRUSPLANT_ID, AtumBlocks.BLOCK_PAPYRUS).setUnlocalizedName("atum:papyrusPlantItem"); public static final Item ectoplasm = new Item(AtumIDS.ITEM_ECTOPLASM_ID).setUnlocalizedName("atum:ectoplasm").setTextureName("atum:Ectoplasm"); public static final Item stoneChunk = new Item(AtumIDS.ITEM_STONECHUNK_ID).setUnlocalizedName("atum:stoneChunk").setTextureName("atum:StoneChunk"); public static final Item scrap = new Item(AtumIDS.ITEM_SCRAP_ID).setUnlocalizedName("atum:clothScrap").setTextureName("atum:ClothScrap"); @@ -119,7 +114,7 @@ public enum Items { public static final Item pelt = new Item(AtumIDS.ITEM_PELT_ID).setUnlocalizedName("atum:wolfPelt").setTextureName("atum:WolfPelt"); public static final Item linen = new Item(AtumIDS.ITEM_LINEN_ID).setUnlocalizedName("atum:linen").setTextureName("atum:Linen"); public static final Item flax = new Item(AtumIDS.ITEM_FLAX_ID).setUnlocalizedName("atum:flaxItem").setTextureName("atum:FlaxItem"); - public static final Item flaxSeeds = new ItemSeeds(AtumIDS.ITEM_FLAXSEEDS_ID, Blocks.BLOCK_FLAX.blockID, Block.tilledField.blockID).setUnlocalizedName("atum:flaxSeeds").setTextureName("atum:FlaxSeeds"); + public static final Item flaxSeeds = new ItemSeeds(AtumIDS.ITEM_FLAXSEEDS_ID, AtumBlocks.BLOCK_FLAX, Block.tilledField).setUnlocalizedName("atum:flaxSeeds").setTextureName("atum:FlaxSeeds"); public static final Item fish = new ItemFish(AtumIDS.ITEM_FISH_ID).setUnlocalizedName("atum:fish"); public static final Item neithsAudacity = new ItemNeithsAudacity(AtumIDS.ITEM_NEITHSAUDACITY_ID).setUnlocalizedName("atum:neithsAudacity"); public static final Item spear = new ItemSpear(AtumIDS.ITEM_SPEAR_ID).setUnlocalizedName("atum:spear"); diff --git a/src/com/teammetallurgy/atum/items/ItemAtumBow.java b/src/main/java/com/teammetallurgy/atum/items/ItemAtumBow.java similarity index 93% rename from src/com/teammetallurgy/atum/items/ItemAtumBow.java rename to src/main/java/com/teammetallurgy/atum/items/ItemAtumBow.java index 70a3d6f..9215833 100644 --- a/src/com/teammetallurgy/atum/items/ItemAtumBow.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemAtumBow.java @@ -1,10 +1,10 @@ package com.teammetallurgy.atum.items; -import net.minecraft.client.renderer.texture.IconRegister; +import javax.swing.Icon; + import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBow; import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/com/teammetallurgy/atum/items/ItemFish.java b/src/main/java/com/teammetallurgy/atum/items/ItemFish.java similarity index 89% rename from src/com/teammetallurgy/atum/items/ItemFish.java rename to src/main/java/com/teammetallurgy/atum/items/ItemFish.java index e730371..4cb9fb8 100644 --- a/src/com/teammetallurgy/atum/items/ItemFish.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemFish.java @@ -2,14 +2,11 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import javax.swing.Icon; + import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; - -import com.teammetallurgy.atum.Atum; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/com/teammetallurgy/atum/items/ItemGreatsword.java b/src/main/java/com/teammetallurgy/atum/items/ItemGreatsword.java similarity index 95% rename from src/com/teammetallurgy/atum/items/ItemGreatsword.java rename to src/main/java/com/teammetallurgy/atum/items/ItemGreatsword.java index aab5b2a..c779123 100644 --- a/src/com/teammetallurgy/atum/items/ItemGreatsword.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemGreatsword.java @@ -1,7 +1,6 @@ package com.teammetallurgy.atum.items; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; import net.minecraft.util.MathHelper; diff --git a/src/com/teammetallurgy/atum/items/ItemLoot.java b/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java similarity index 92% rename from src/com/teammetallurgy/atum/items/ItemLoot.java rename to src/main/java/com/teammetallurgy/atum/items/ItemLoot.java index fa9d914..cabfab6 100644 --- a/src/com/teammetallurgy/atum/items/ItemLoot.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java @@ -3,16 +3,15 @@ import java.util.List; import java.util.Random; +import javax.swing.Icon; + import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.item.EntityItem; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; import net.minecraft.util.MathHelper; -import com.teammetallurgy.atum.Atum; import com.teammetallurgy.atum.LocalizationHelper; import cpw.mods.fml.relauncher.Side; @@ -33,7 +32,7 @@ public ItemLoot(int par1) { public static ItemStack getRandomLoot(Random rand, boolean isDirty) { int type = rand.nextInt(typeArray.length); int quality = rand.nextInt(qualityArray.length - 1) + 1; - return new ItemStack(Items.ITEM_LOOT.itemID, 1, type << 5 | quality << 1 | (isDirty ? 1 : 0)); + return new ItemStack(AtumItems.ITEM_LOOT.itemID, 1, type << 5 | quality << 1 | (isDirty ? 1 : 0)); } @Override @@ -55,7 +54,7 @@ public String getUnlocalizedName(ItemStack par1ItemStack) { @Override public boolean onEntityItemUpdate(EntityItem entityItem) { int id = entityItem.worldObj.getBlockId(MathHelper.floor_double(entityItem.posX), MathHelper.floor_double(entityItem.posY), MathHelper.floor_double(entityItem.posZ)); - if(id == Block.waterStill.blockID || id == Block.waterMoving.blockID) { + if(id == Block.waterStill || id == Block.waterMoving) { ItemStack item = entityItem.getEntityItem(); int damage = item.getItemDamage() >> 1; int quality = damage & 15; diff --git a/src/com/teammetallurgy/atum/items/ItemPapyrusPlant.java b/src/main/java/com/teammetallurgy/atum/items/ItemPapyrusPlant.java similarity index 87% rename from src/com/teammetallurgy/atum/items/ItemPapyrusPlant.java rename to src/main/java/com/teammetallurgy/atum/items/ItemPapyrusPlant.java index 72ae8b3..c89c93f 100644 --- a/src/com/teammetallurgy/atum/items/ItemPapyrusPlant.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemPapyrusPlant.java @@ -1,7 +1,6 @@ package com.teammetallurgy.atum.items; import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -14,15 +13,15 @@ public class ItemPapyrusPlant extends Item { public ItemPapyrusPlant(int par1, Block par2Block) { super(par1); - this.spawnID = par2Block.blockID; + this.spawnID = par2Block; } @Override public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) { int i1 = par3World.getBlockId(par4, par5, par6); - if(i1 == Block.snow.blockID && (par3World.getBlockMetadata(par4, par5, par6) & 7) < 1) { + if(i1 == Block.snow && (par3World.getBlockMetadata(par4, par5, par6) & 7) < 1) { par7 = 1; - } else if(i1 != Block.vine.blockID && i1 != Block.tallGrass.blockID && i1 != Block.deadBush.blockID) { + } else if(i1 != Block.vine && i1 != Block.tallGrass && i1 != Block.deadBush) { if(par7 == 0) { --par5; } diff --git a/src/com/teammetallurgy/atum/items/ItemScarab.java b/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java similarity index 84% rename from src/com/teammetallurgy/atum/items/ItemScarab.java rename to src/main/java/com/teammetallurgy/atum/items/ItemScarab.java index 80034c9..3d93feb 100644 --- a/src/com/teammetallurgy/atum/items/ItemScarab.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java @@ -1,14 +1,13 @@ package com.teammetallurgy.atum.items; import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; import com.teammetallurgy.atum.blocks.BlockPortal; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; public class ItemScarab extends Item { @@ -25,18 +24,18 @@ public boolean hasEffect(ItemStack par1ItemStack) { @Override public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int x, int y, int z, int par7, float par8, float par9, float par10) { int blockID = par3World.getBlockId(x, y, z); - if(blockID == Block.sandStone.blockID) { - if(!((BlockPortal) Blocks.BLOCK_PORTAL).tryToCreatePortal(par3World, x, y, z)) { + if(blockID == Block.sandStone) { + if(!((BlockPortal) AtumBlocks.BLOCK_PORTAL).tryToCreatePortal(par3World, x, y, z)) { if(par2EntityPlayer.capabilities.isCreativeMode) { for(int x1 = -2; x1 < 3; x1++) { for(int z1 = -2; z1 < 3; z1++) { - par3World.setBlock(x + x1, y, z + z1, Block.sandStone.blockID); + par3World.setBlock(x + x1, y, z + z1, Block.sandStone); } } for(int x1 = -2; x1 < 3; x1++) { for(int z1 = -2; z1 < 3; z1++) { if(x1 + x == x + 2 || z1 + z == z + 2 || x1 + x == x - 2 || z1 + z == z - 2) { - par3World.setBlock(x + x1, y + 1, z + z1, Block.sandStone.blockID); + par3World.setBlock(x + x1, y + 1, z + z1, Block.sandStone); } } } @@ -44,7 +43,7 @@ public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, for(int x1 = -2; x1 < 3; x1++) { for(int z1 = -2; z1 < 3; z1++) { if((x1 + x == x + 2 && z1 + z == z + 2) || (x1 + x == x - 2 && z1 + z == z + 2) || (x1 + x == x + 2 && z1 + z == z - 2) || (x1 + x == x - 2 && z1 + z == z - 2)) { - par3World.setBlock(x + x1, y + y1, z + z1, Block.sandStone.blockID); + par3World.setBlock(x + x1, y + y1, z + z1, Block.sandStone); } } } diff --git a/src/com/teammetallurgy/atum/items/ItemScepter.java b/src/main/java/com/teammetallurgy/atum/items/ItemScepter.java similarity index 78% rename from src/com/teammetallurgy/atum/items/ItemScepter.java rename to src/main/java/com/teammetallurgy/atum/items/ItemScepter.java index 569176c..10e6251 100644 --- a/src/com/teammetallurgy/atum/items/ItemScepter.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemScepter.java @@ -1,7 +1,5 @@ package com.teammetallurgy.atum.items; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.ItemSword; public class ItemScepter extends ItemSword { diff --git a/src/com/teammetallurgy/atum/items/ItemScimitar.java b/src/main/java/com/teammetallurgy/atum/items/ItemScimitar.java similarity index 78% rename from src/com/teammetallurgy/atum/items/ItemScimitar.java rename to src/main/java/com/teammetallurgy/atum/items/ItemScimitar.java index 5884c9a..41cd96b 100644 --- a/src/com/teammetallurgy/atum/items/ItemScimitar.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemScimitar.java @@ -1,7 +1,5 @@ package com.teammetallurgy.atum.items; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.ItemSword; public class ItemScimitar extends ItemSword { diff --git a/src/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java b/src/main/java/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java similarity index 79% rename from src/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java rename to src/main/java/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java index 70ae056..5d279a7 100644 --- a/src/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java @@ -1,7 +1,5 @@ package com.teammetallurgy.atum.items; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.ItemSword; public class ItemStoneSoldierSword extends ItemSword { diff --git a/src/com/teammetallurgy/atum/items/ItemTexturedArmor.java b/src/main/java/com/teammetallurgy/atum/items/ItemTexturedArmor.java similarity index 59% rename from src/com/teammetallurgy/atum/items/ItemTexturedArmor.java rename to src/main/java/com/teammetallurgy/atum/items/ItemTexturedArmor.java index c22aaf6..6bab90a 100644 --- a/src/com/teammetallurgy/atum/items/ItemTexturedArmor.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemTexturedArmor.java @@ -1,30 +1,30 @@ package com.teammetallurgy.atum.items; -import net.minecraft.client.renderer.texture.IconRegister; +import javax.swing.Icon; + import net.minecraft.entity.Entity; -import net.minecraft.item.EnumArmorMaterial; +import net.minecraft.item.Item; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; public class ItemTexturedArmor extends ItemArmor { private String textureFile; - private int repairItemID = 0; + private Item repairItem; private Icon[] armour; - public ItemTexturedArmor(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { - super(par1, par2EnumArmorMaterial, par3, par4); + public ItemTexturedArmor(ArmorMaterial par2EnumArmorMaterial, int par3, int par4) { + super(par2EnumArmorMaterial, par3, par4); } - public ItemTexturedArmor setRepairItem(int id) { - this.repairItemID = id; + public ItemTexturedArmor setRepairItem(Item item) { + this.repairItem = item; return this; } @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == this.repairItemID; + return par2ItemStack.getItem() == this.repairItem; } public ItemTexturedArmor setTextureFile(String filename) { diff --git a/src/com/teammetallurgy/atum/items/LimestoneAxe.java b/src/main/java/com/teammetallurgy/atum/items/LimestoneAxe.java similarity index 70% rename from src/com/teammetallurgy/atum/items/LimestoneAxe.java rename to src/main/java/com/teammetallurgy/atum/items/LimestoneAxe.java index b661e6b..7d60887 100644 --- a/src/com/teammetallurgy/atum/items/LimestoneAxe.java +++ b/src/main/java/com/teammetallurgy/atum/items/LimestoneAxe.java @@ -1,11 +1,9 @@ package com.teammetallurgy.atum.items; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.ItemAxe; import net.minecraft.item.ItemStack; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; public class LimestoneAxe extends ItemAxe { @@ -15,7 +13,7 @@ public LimestoneAxe(int par1, EnumToolMaterial par2EnumToolMaterial) { @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Blocks.BLOCK_LIMESTONECOBBLE.blockID; + return par2ItemStack.itemID == AtumBlocks.BLOCK_LIMESTONECOBBLE; } @Override diff --git a/src/com/teammetallurgy/atum/items/LimestoneHoe.java b/src/main/java/com/teammetallurgy/atum/items/LimestoneHoe.java similarity index 70% rename from src/com/teammetallurgy/atum/items/LimestoneHoe.java rename to src/main/java/com/teammetallurgy/atum/items/LimestoneHoe.java index dac5d22..3d3e0c0 100644 --- a/src/com/teammetallurgy/atum/items/LimestoneHoe.java +++ b/src/main/java/com/teammetallurgy/atum/items/LimestoneHoe.java @@ -1,11 +1,9 @@ package com.teammetallurgy.atum.items; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.ItemHoe; import net.minecraft.item.ItemStack; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; public class LimestoneHoe extends ItemHoe { @@ -15,7 +13,7 @@ public LimestoneHoe(int par1, EnumToolMaterial par2EnumToolMaterial) { @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Blocks.BLOCK_LIMESTONECOBBLE.blockID; + return par2ItemStack.itemID == AtumBlocks.BLOCK_LIMESTONECOBBLE; } @Override diff --git a/src/com/teammetallurgy/atum/items/LimestonePickaxe.java b/src/main/java/com/teammetallurgy/atum/items/LimestonePickaxe.java similarity index 70% rename from src/com/teammetallurgy/atum/items/LimestonePickaxe.java rename to src/main/java/com/teammetallurgy/atum/items/LimestonePickaxe.java index 4b3d793..521f1a7 100644 --- a/src/com/teammetallurgy/atum/items/LimestonePickaxe.java +++ b/src/main/java/com/teammetallurgy/atum/items/LimestonePickaxe.java @@ -1,11 +1,9 @@ package com.teammetallurgy.atum.items; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.ItemPickaxe; import net.minecraft.item.ItemStack; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; public class LimestonePickaxe extends ItemPickaxe { @@ -15,7 +13,7 @@ public LimestonePickaxe(int par1, EnumToolMaterial par2EnumToolMaterial) { @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Blocks.BLOCK_LIMESTONECOBBLE.blockID; + return par2ItemStack.itemID == AtumBlocks.BLOCK_LIMESTONECOBBLE; } @Override diff --git a/src/com/teammetallurgy/atum/items/LimestoneShovel.java b/src/main/java/com/teammetallurgy/atum/items/LimestoneShovel.java similarity index 70% rename from src/com/teammetallurgy/atum/items/LimestoneShovel.java rename to src/main/java/com/teammetallurgy/atum/items/LimestoneShovel.java index 6cc5d99..5244100 100644 --- a/src/com/teammetallurgy/atum/items/LimestoneShovel.java +++ b/src/main/java/com/teammetallurgy/atum/items/LimestoneShovel.java @@ -1,12 +1,10 @@ package com.teammetallurgy.atum.items; -import com.teammetallurgy.atum.blocks.Blocks; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.ItemSpade; import net.minecraft.item.ItemStack; +import com.teammetallurgy.atum.blocks.AtumBlocks; + public class LimestoneShovel extends ItemSpade { public LimestoneShovel(int par1, EnumToolMaterial par2EnumToolMaterial) { @@ -15,7 +13,7 @@ public LimestoneShovel(int par1, EnumToolMaterial par2EnumToolMaterial) { @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Blocks.BLOCK_LIMESTONECOBBLE.blockID; + return par2ItemStack.itemID == AtumBlocks.BLOCK_LIMESTONECOBBLE; } @Override diff --git a/src/com/teammetallurgy/atum/items/LimestoneSword.java b/src/main/java/com/teammetallurgy/atum/items/LimestoneSword.java similarity index 69% rename from src/com/teammetallurgy/atum/items/LimestoneSword.java rename to src/main/java/com/teammetallurgy/atum/items/LimestoneSword.java index 1314074..e0df996 100644 --- a/src/com/teammetallurgy/atum/items/LimestoneSword.java +++ b/src/main/java/com/teammetallurgy/atum/items/LimestoneSword.java @@ -1,11 +1,9 @@ package com.teammetallurgy.atum.items; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; public class LimestoneSword extends ItemSword { @@ -14,7 +12,7 @@ public LimestoneSword(int par1, EnumToolMaterial par2EnumToolMaterial) { } public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Blocks.BLOCK_LIMESTONECOBBLE.blockID; + return par2ItemStack.itemID == AtumBlocks.BLOCK_LIMESTONECOBBLE; } public void registerIcons(IconRegister par1IconRegister) { diff --git a/src/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java similarity index 76% rename from src/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java index 2a40b6d..932fe4f 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java @@ -2,12 +2,9 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumArmorMaterial; +import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; @@ -20,9 +17,8 @@ public class IsisEmbrace extends ItemTexturedArmor { - - public IsisEmbrace(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { - super(par1, par2EnumArmorMaterial, par3, par4); + public IsisEmbrace(ArmorMaterial par2EnumArmorMaterial, int par3, int par4) { + super(par2EnumArmorMaterial, par3, par4); } @Override @@ -39,7 +35,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { + if (Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Regeneration I: Regens"); par3List.add(EnumChatFormatting.DARK_PURPLE + "health slowly"); } else { @@ -50,7 +46,7 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; + return par2ItemStack.getItem() == Items.diamond; } @Override diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java similarity index 95% rename from src/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java index 6e963be..9c52f56 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java @@ -3,11 +3,9 @@ import java.util.List; import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemSpade; import net.minecraft.item.ItemStack; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java similarity index 98% rename from src/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java index 84f1872..419caca 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java @@ -1,13 +1,9 @@ package com.teammetallurgy.atum.items.artifacts; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - import java.util.List; import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; @@ -20,6 +16,9 @@ import org.lwjgl.input.Keyboard; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + public class ItemAmunetsHomecoming extends Item { public ItemAmunetsHomecoming(int par1) { diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java similarity index 96% rename from src/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java index 2ec1c80..e0fd566 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java @@ -2,12 +2,10 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java similarity index 97% rename from src/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java index f38a694..3ab5705 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java @@ -1,13 +1,9 @@ package com.teammetallurgy.atum.items.artifacts; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - import java.util.List; import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; @@ -18,12 +14,13 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraft.world.chunk.IChunkProvider; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingHurtEvent; import org.lwjgl.input.Keyboard; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + public class ItemAnubisMercy extends Item { public ItemAnubisMercy(int par1) { diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java similarity index 96% rename from src/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java index f64b307..c8a14ca 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java @@ -2,14 +2,14 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import javax.swing.Icon; + import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.Icon; import net.minecraft.world.World; import org.lwjgl.input.Keyboard; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java similarity index 98% rename from src/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java index e1eec4d..4353b76 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java @@ -2,7 +2,8 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import javax.swing.Icon; + import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.player.EntityPlayer; @@ -11,7 +12,6 @@ import net.minecraft.item.ItemBow; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.Icon; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java similarity index 93% rename from src/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java index d195e59..4f09dfa 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java @@ -2,10 +2,8 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemHoe; import net.minecraft.item.ItemStack; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java similarity index 96% rename from src/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java index ed6c995..a858d0c 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java @@ -2,13 +2,11 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -16,7 +14,6 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingHurtEvent; import org.lwjgl.input.Keyboard; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java similarity index 94% rename from src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java index ceabdba..aab30a5 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java @@ -2,11 +2,9 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java similarity index 98% rename from src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java index e2727d8..d12ad5f 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java @@ -2,7 +2,8 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import javax.swing.Icon; + import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.player.EntityPlayer; @@ -11,7 +12,6 @@ import net.minecraft.item.ItemBow; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.Icon; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java similarity index 86% rename from src/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java index b8ef4bc..bf05ff8 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java @@ -2,23 +2,18 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; -import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingEvent.LivingJumpEvent; import net.minecraftforge.event.entity.living.LivingFallEvent; import org.lwjgl.input.Keyboard; +import com.teammetallurgy.atum.items.AtumItems; import com.teammetallurgy.atum.items.ItemTexturedArmor; -import com.teammetallurgy.atum.items.Items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -47,7 +42,7 @@ public void onJump(LivingJumpEvent event) { @ForgeSubscribe public void onFallDamage(LivingFallEvent event) { - if(event.entityLiving.getCurrentItemOrArmor(0) != null && event.entityLiving.getCurrentItemOrArmor(0).itemID == Items.horusFlight.itemID) { + if(event.entityLiving.getCurrentItemOrArmor(0) != null && event.entityLiving.getCurrentItemOrArmor(0).itemID == AtumItems.horusFlight.itemID) { event.distance = 0.0F; } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java similarity index 97% rename from src/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java index 1610359..47551cc 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java @@ -2,7 +2,8 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import javax.swing.Icon; + import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.player.EntityPlayer; @@ -10,7 +11,6 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemBow; import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java similarity index 97% rename from src/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java index bb57932..2b20a47 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java @@ -2,7 +2,6 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java similarity index 94% rename from src/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java index 6c0d7fb..0f03c1e 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java @@ -2,18 +2,15 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EntityDamageSource; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; -import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingHurtEvent; import org.lwjgl.input.Keyboard; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java similarity index 97% rename from src/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java index 3943a70..cd7b688 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java @@ -2,7 +2,6 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java similarity index 93% rename from src/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java index 43d109a..d146d45 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java @@ -2,16 +2,13 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; import net.minecraft.util.EntityDamageSource; import net.minecraft.util.EnumChatFormatting; -import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingAttackEvent; import org.lwjgl.input.Keyboard; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java similarity index 98% rename from src/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java index af92db7..d5c3ce4 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java @@ -2,7 +2,8 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import javax.swing.Icon; + import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.player.EntityPlayer; @@ -11,7 +12,6 @@ import net.minecraft.item.ItemBow; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.Icon; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java similarity index 97% rename from src/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java index d9e5841..09c19bf 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java @@ -5,13 +5,11 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.particle.EntityCrit2FX; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumAction; import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemAxe; import net.minecraft.item.ItemStack; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java similarity index 98% rename from src/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java index f4c5f27..b358c30 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java @@ -2,7 +2,8 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import javax.swing.Icon; + import net.minecraft.creativetab.CreativeTabs; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; @@ -13,7 +14,6 @@ import net.minecraft.item.ItemBow; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.Icon; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java similarity index 96% rename from src/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java index 3d6a960..fcf8eeb 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java @@ -4,12 +4,10 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.particle.EntityCrit2FX; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java similarity index 94% rename from src/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java index aeb9a77..c8b5a71 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java @@ -2,9 +2,7 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java similarity index 97% rename from src/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java index a7df76a..e705453 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java @@ -2,7 +2,6 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumAction; import net.minecraft.item.EnumRarity; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java similarity index 92% rename from src/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java index 3ba9b19..b442cef 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java @@ -2,13 +2,11 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; @@ -16,7 +14,7 @@ import org.lwjgl.input.Keyboard; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -45,7 +43,7 @@ public float getDamageVsEntity(Entity par1Entity, ItemStack stack) { @Override public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase mob, EntityLivingBase player) { if(!mob.isEntityAlive() && Math.random() < 0.5D && mob.getCreatureAttribute() == EnumCreatureAttribute.UNDEAD) { - mob.dropItem(Items.ectoplasm.itemID, 1); + mob.dropItem(AtumItems.ectoplasm.itemID, 1); } return super.hitEntity(par1ItemStack, mob, player); diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java similarity index 95% rename from src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java index b082d6a..537c913 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java @@ -4,11 +4,9 @@ import java.util.Random; import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemPickaxe; import net.minecraft.item.ItemStack; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java similarity index 94% rename from src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java index cad4f60..7023658 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java @@ -2,11 +2,9 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemPickaxe; import net.minecraft.item.ItemStack; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java similarity index 93% rename from src/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java index 49c41fc..d37395a 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java @@ -2,9 +2,7 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java similarity index 94% rename from src/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java index 878738b..3942c17 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java @@ -2,15 +2,12 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EntityDamageSource; import net.minecraft.util.EnumChatFormatting; -import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingAttackEvent; import net.minecraftforge.event.entity.living.LivingHurtEvent; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java similarity index 98% rename from src/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java index d2f94aa..b4ad898 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java @@ -2,7 +2,8 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import javax.swing.Icon; + import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.player.EntityPlayer; @@ -11,7 +12,6 @@ import net.minecraft.item.ItemBow; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.Icon; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java similarity index 95% rename from src/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java index c4672a8..9e97977 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java @@ -2,12 +2,10 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemAxe; import net.minecraft.item.ItemStack; diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemSpear.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSpear.java similarity index 95% rename from src/com/teammetallurgy/atum/items/artifacts/ItemSpear.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSpear.java index c6803f6..3371e97 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemSpear.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSpear.java @@ -1,6 +1,5 @@ package com.teammetallurgy.atum.items.artifacts; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; diff --git a/src/main/java/com/teammetallurgy/atum/lib/handler/CraftingHandler.java b/src/main/java/com/teammetallurgy/atum/lib/handler/CraftingHandler.java new file mode 100644 index 0000000..d9d4481 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/lib/handler/CraftingHandler.java @@ -0,0 +1,88 @@ +package com.teammetallurgy.atum.lib.handler; + +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.FurnaceRecipes; +import net.minecraftforge.oredict.ShapedOreRecipe; +import net.minecraftforge.oredict.ShapelessOreRecipe; + +import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.items.AtumItems; + +import cpw.mods.fml.common.registry.GameRegistry; + +public enum CraftingHandler { + INSTANCE; + + public void register() { + addRecipes(); + addSmeltingRecipes(); + addShapelessRecipes(); + } + + private void addRecipes() { + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(AtumBlocks.BLOCK_LARGEBRICK, 4), "XX", "XX", 'X', AtumBlocks.BLOCK_STONE)); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(AtumBlocks.BLOCK_SMALLBRICK, 4), "XX", "XX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE)); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(AtumBlocks.BLOCK_CARVEDBRICK, 1), AtumBlocks.BLOCK_STONE)); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SMOOTHSTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_STONE); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_COBBLESTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_LARGESTONESTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_LARGEBRICK); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SMALLSTONESTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_SMALLBRICK); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 0), "XXX", 'X', AtumBlocks.BLOCK_STONE); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 1), "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 2), "XXX", 'X', AtumBlocks.BLOCK_LARGEBRICK); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 3), "XXX", 'X', AtumBlocks.BLOCK_SMALLBRICK); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 0), "XXX", "XXX", 'X', AtumBlocks.BLOCK_STONE); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 1), "XXX", "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 2), "XXX", "XXX", 'X', AtumBlocks.BLOCK_LARGEBRICK); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 3), "XXX", "XXX", 'X', AtumBlocks.BLOCK_SMALLBRICK); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_FRAMEDGLASS), " X ", "XSX", " X ", 'X', Items.stick, 'S', AtumBlocks.BLOCK_CRYSTALGLASS); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_CRACKEDLARGEBRICK, 4), "XX", "XX", 'X', AtumItems.stoneChunk); + GameRegistry.addRecipe(new ItemStack(Items.experience_bottle), " X ", "XBX", " X ", 'X', AtumItems.ectoplasm, 'B', Items.potionitem); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneSword), "L", "L", "S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneShovel), "L", "S", "S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestonePickaxe), "LLL", " S ", " S ", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneAxe), "LL", "LS", " S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneHoe), "LL", " S", " S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.mummyHelmet), "XXX", "X X", 'X', AtumItems.scrap); + GameRegistry.addRecipe(new ItemStack(AtumItems.mummyChest), "X X", "XXX", "XXX", 'X', AtumItems.scrap); + GameRegistry.addRecipe(new ItemStack(AtumItems.mummyLegs), "XXX", "X X", "X X", 'X', AtumItems.scrap); + GameRegistry.addRecipe(new ItemStack(AtumItems.mummyBoots), "X X", "X X", 'X', AtumItems.scrap); + GameRegistry.addRecipe(new ItemStack(AtumItems.wandererHelmet), "XXX", "X X", 'X', AtumItems.linen); + GameRegistry.addRecipe(new ItemStack(AtumItems.wandererChest), "X X", "XXX", "XXX", 'X', AtumItems.linen); + GameRegistry.addRecipe(new ItemStack(AtumItems.wandererLegs), "XXX", "X X", "X X", 'X', AtumItems.linen); + GameRegistry.addRecipe(new ItemStack(AtumItems.wandererBoots), "X X", "X X", 'X', AtumItems.linen); + GameRegistry.addRecipe(new ItemStack(AtumItems.linen), "XXX", 'X', AtumItems.flax); + GameRegistry.addRecipe(new ItemStack(Items.glass_bottle, 3), "X X", " X ", 'X', AtumBlocks.BLOCK_CRYSTALGLASS); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_THINCRYSTALGLASS, 16), "XXX", "XXX", 'X', AtumBlocks.BLOCK_CRYSTALGLASS); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_THINFRAMEDGLASS, 16), "XXX", "XXX", 'X', AtumBlocks.BLOCK_FRAMEDGLASS); + GameRegistry.addRecipe(new ItemStack(AtumItems.scroll), "XXX", "SXS", "XXX", 'X', AtumItems.papyrusPlant, 'S', Items.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.ITEM_SCARAB), " G ", "GDG", " G ", 'G', Items.gold_ingot, 'D', Items.diamond); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_FURNACEIDLE), "XXX", "X X", "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); + } + + private void addSmeltingRecipes() { + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_IRONORE, new ItemStack(Items.iron_ingot), 0.7F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_COALORE, new ItemStack(Items.coal), 0.1F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_REDSTONEORE, new ItemStack(Items.redstone), 0.7F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_LAPISORE, new ItemStack(Items.dye, 1, 4), 0.2F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_GOLDORE, new ItemStack(Items.gold_ingot), 1.0F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_DIAMONDORE, new ItemStack(Items.diamond), 1.0F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_LOG, new ItemStack(Items.coal, 1, 1), 0.15F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_LIMESTONECOBBLE, new ItemStack(AtumBlocks.BLOCK_STONE), 0.1F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_SAND, new ItemStack(AtumBlocks.BLOCK_CRYSTALGLASS), 0.1F); + } + + private void addShapelessRecipes() { + GameRegistry.addShapelessRecipe(new ItemStack(AtumBlocks.BLOCK_PLANKS, 4), AtumBlocks.BLOCK_LOG); + GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertHelmet), AtumItems.wandererHelmet, Items.iron_helmet); + GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertChest), AtumItems.wandererChest, Items.iron_chestplate); + GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertLegs), AtumItems.wandererLegs, Items.iron_leggings); + GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertBoots), AtumItems.wandererBoots, Items.iron_boots); + GameRegistry.addShapelessRecipe(new ItemStack(Blocks.sand), AtumBlocks.BLOCK_SAND); + GameRegistry.addShapelessRecipe(new ItemStack(Items.string, 3), AtumItems.flax); + } + +} diff --git a/src/com/teammetallurgy/atum/lib/proxy/ClientProxy.java b/src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java similarity index 81% rename from src/com/teammetallurgy/atum/lib/proxy/ClientProxy.java rename to src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java index be24a6f..7578ea7 100644 --- a/src/com/teammetallurgy/atum/lib/proxy/ClientProxy.java +++ b/src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java @@ -12,7 +12,7 @@ import com.teammetallurgy.atum.blocks.BlockDate; import com.teammetallurgy.atum.blocks.BlockPapyrus; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.client.model.entity.ModelDesertWolf; import com.teammetallurgy.atum.client.model.entity.ModelDustySkeleton; import com.teammetallurgy.atum.client.render.entity.RenderBandit; @@ -39,11 +39,10 @@ import com.teammetallurgy.atum.entity.arrow.EntityAtumFishHook; import com.teammetallurgy.atum.entity.arrow.EntityNutsCall; import com.teammetallurgy.atum.entity.projectiles.EntityFireSpearCombined; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; import com.teammetallurgy.atum.lib.tickhandler.ClientTickHandler; import cpw.mods.fml.client.registry.RenderingRegistry; -import cpw.mods.fml.common.registry.TickRegistry; import cpw.mods.fml.relauncher.Side; public class ClientProxy extends CommonProxy { @@ -52,23 +51,23 @@ public class ClientProxy extends CommonProxy { public void init() { TickRegistry.registerTickHandler(new ClientTickHandler(), Side.CLIENT); - MinecraftForge.EVENT_BUS.register(Items.sekhmetsWrath); - MinecraftForge.EVENT_BUS.register(Items.mnevisHorns); - MinecraftForge.EVENT_BUS.register(Items.maatsBalance); - MinecraftForge.EVENT_BUS.register(Items.anubisMercy); + MinecraftForge.EVENT_BUS.register(AtumItems.sekhmetsWrath); + MinecraftForge.EVENT_BUS.register(AtumItems.mnevisHorns); + MinecraftForge.EVENT_BUS.register(AtumItems.maatsBalance); + MinecraftForge.EVENT_BUS.register(AtumItems.anubisMercy); } @Override public void initRenders() { - MinecraftForgeClient.registerItemRenderer(Items.ITEM_BOW.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(Items.atensFury.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(Items.horusSoaring.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(Items.neithsAudacity.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(Items.shusBreath.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(Items.hedetetsVenom.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(Items.monthusBlast.itemID, new RendererItemBow()); - RenderingRegistry.registerBlockHandler(((BlockPapyrus) Blocks.BLOCK_PAPYRUS).renderID, new RenderPapyrus()); - RenderingRegistry.registerBlockHandler(((BlockDate) Blocks.BLOCK_DATEBLOCK).renderID, new RenderDate()); + MinecraftForgeClient.registerItemRenderer(AtumItems.ITEM_BOW, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.atensFury, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.horusSoaring, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.neithsAudacity, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.shusBreath, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.hedetetsVenom, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.monthusBlast, new RendererItemBow()); + RenderingRegistry.registerBlockHandler(((BlockPapyrus) AtumBlocks.BLOCK_PAPYRUS).renderID, new RenderPapyrus()); + RenderingRegistry.registerBlockHandler(((BlockDate) AtumBlocks.BLOCK_DATEBLOCK).renderID, new RenderDate()); RenderingRegistry.registerEntityRenderingHandler(EntityMummy.class, new RenderLiving(new ModelZombie(), 0.5F) { diff --git a/src/com/teammetallurgy/atum/lib/proxy/CommonProxy.java b/src/main/java/com/teammetallurgy/atum/lib/proxy/CommonProxy.java similarity index 74% rename from src/com/teammetallurgy/atum/lib/proxy/CommonProxy.java rename to src/main/java/com/teammetallurgy/atum/lib/proxy/CommonProxy.java index edfe09b..faff568 100644 --- a/src/com/teammetallurgy/atum/lib/proxy/CommonProxy.java +++ b/src/main/java/com/teammetallurgy/atum/lib/proxy/CommonProxy.java @@ -1,9 +1,7 @@ package com.teammetallurgy.atum.lib.proxy; -import com.teammetallurgy.atum.lib.tickhandler.ClientTickHandler; import com.teammetallurgy.atum.lib.tickhandler.ServerTickHandler; -import cpw.mods.fml.common.registry.TickRegistry; import cpw.mods.fml.relauncher.Side; public class CommonProxy { diff --git a/src/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java similarity index 94% rename from src/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java rename to src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java index 10030c8..528d0ae 100644 --- a/src/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java +++ b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java @@ -11,11 +11,9 @@ import net.minecraft.util.ResourceLocation; import com.teammetallurgy.atum.AtumIDS; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; import cpw.mods.fml.client.FMLClientHandler; -import cpw.mods.fml.common.ITickHandler; -import cpw.mods.fml.common.TickType; public class ClientTickHandler implements ITickHandler { private boolean raining; @@ -47,7 +45,7 @@ public void tickStart(EnumSet type, Object... tickData) { boolean nightvision = false; if(player.getCurrentArmor(3) != null) { - if(player.getCurrentArmor(3).itemID == Items.rasGlory.itemID) { + if(player.getCurrentArmor(3).getItem() == AtumItems.rasGlory) { nightvision = true; } @@ -98,7 +96,7 @@ public void tickEnd(EnumSet type, Object... tickData) { if(type.contains(TickType.RENDER)) { if(player != null && player.getCurrentArmor(3) != null) { - if(player.getCurrentArmor(3).itemID == Items.mummyHelmet.itemID) { + if(player.getCurrentArmor(3).itemID == AtumItems.mummyHelmet.itemID) { ScaledResolution scaledresolution = new ScaledResolution(Minecraft.getMinecraft().gameSettings, Minecraft.getMinecraft().displayWidth, Minecraft.getMinecraft().displayHeight); int par1 = scaledresolution.getScaledWidth(); int par2 = scaledresolution.getScaledHeight(); diff --git a/src/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java similarity index 77% rename from src/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java rename to src/main/java/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java index 86a06d8..a37dd2f 100644 --- a/src/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java +++ b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java @@ -6,10 +6,7 @@ import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; -import com.teammetallurgy.atum.items.Items; - -import cpw.mods.fml.common.ITickHandler; -import cpw.mods.fml.common.TickType; +import com.teammetallurgy.atum.items.AtumItems; public class ServerTickHandler implements ITickHandler { @@ -23,7 +20,7 @@ public void tickStart(EnumSet type, Object... tickData) { if(player.worldObj.getTotalWorldTime() % 60L == 0L) { if(player.getCurrentArmor(2) != null) { - if(player.getCurrentArmor(2).itemID == Items.isisEmbrace.itemID) { + if(player.getCurrentArmor(2).itemID == AtumItems.isisEmbrace.itemID) { player.heal(1); } } @@ -31,7 +28,7 @@ public void tickStart(EnumSet type, Object... tickData) { if(player.worldObj.getTotalWorldTime() % 10L == 0L) { if(player.getCurrentArmor(3) != null) { - if(player.getCurrentArmor(3).itemID == Items.rasGlory.itemID) { + if(player.getCurrentArmor(3).itemID == AtumItems.rasGlory.itemID) { player.addPotionEffect(new PotionEffect(16, 340, 0, true)); } else { if(player.isPotionActive(16)) { @@ -41,20 +38,20 @@ public void tickStart(EnumSet type, Object... tickData) { } if(player.getCurrentArmor(2) != null) { - if(player.getCurrentArmor(2).itemID == Items.sekhmetsWrath.itemID) { + if(player.getCurrentArmor(2).itemID == AtumItems.sekhmetsWrath.itemID) { // player.addPotionEffect(new PotionEffect(12, 240, 0, true)); } } if(player.getCurrentArmor(1) != null) { - if(player.getCurrentArmor(1).itemID == Items.nutsAgility.itemID) { + if(player.getCurrentArmor(1).itemID == AtumItems.nutsAgility.itemID) { // player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 240, 1, true)); player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 240, 1, true)); } } if(player.getCurrentArmor(0) != null) { - if(player.getCurrentArmor(0).itemID == Items.horusFlight.itemID) { + if(player.getCurrentArmor(0).itemID == AtumItems.horusFlight.itemID) { // player.addPotionEffect(new PotionEffect(8, 240, 1, true)); } } diff --git a/src/com/teammetallurgy/atum/world/AtumPortalPosition.java b/src/main/java/com/teammetallurgy/atum/world/AtumPortalPosition.java similarity index 100% rename from src/com/teammetallurgy/atum/world/AtumPortalPosition.java rename to src/main/java/com/teammetallurgy/atum/world/AtumPortalPosition.java diff --git a/src/com/teammetallurgy/atum/world/AtumTeleporter.java b/src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java similarity index 65% rename from src/com/teammetallurgy/atum/world/AtumTeleporter.java rename to src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java index 0946689..277f463 100644 --- a/src/com/teammetallurgy/atum/world/AtumTeleporter.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java @@ -7,16 +7,15 @@ import net.minecraft.block.Block; import net.minecraft.entity.Entity; +import net.minecraft.init.Blocks; import net.minecraft.util.Direction; import net.minecraft.util.LongHashMap; import net.minecraft.util.MathHelper; import net.minecraft.world.ChunkCoordIntPair; -import net.minecraft.world.PortalPosition; import net.minecraft.world.Teleporter; import net.minecraft.world.WorldServer; -import com.teammetallurgy.atum.blocks.BlockSlab; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; public class AtumTeleporter extends Teleporter { @@ -34,8 +33,8 @@ public AtumTeleporter(WorldServer par1WorldServer) { @Override public void placeInPortal(Entity par1Entity, double par2, double par4, double par6, float par8) { - if(this.worldServerInstance.provider.dimensionId != 1) { - if(!this.placeInExistingPortal(par1Entity, par2, par4, par6, par8)) { + if (this.worldServerInstance.provider.dimensionId != 1) { + if (!this.placeInExistingPortal(par1Entity, par2, par4, par6, par8)) { this.makePortal(par1Entity); this.placeInExistingPortal(par1Entity, par2, par4, par6, par8); } @@ -46,14 +45,14 @@ public void placeInPortal(Entity par1Entity, double par2, double par4, double pa byte b0 = 1; byte b1 = 0; - for(int l = -2; l <= 2; ++l) { - for(int i1 = -2; i1 <= 2; ++i1) { - for(int j1 = -1; j1 < 3; ++j1) { + for (int l = -2; l <= 2; ++l) { + for (int i1 = -2; i1 <= 2; ++i1) { + for (int j1 = -1; j1 < 3; ++j1) { int k1 = i + i1 * b0 + l * b1; int l1 = j + j1; int i2 = k + i1 * b1 - l * b0; boolean flag = j1 < 0; - this.worldServerInstance.setBlock(k1, l1, i2, flag ? Block.sandStone.blockID : 0); + this.worldServerInstance.setBlock(k1, l1, i2, flag ? Blocks.sandstone : null); } } } @@ -79,7 +78,7 @@ public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4 int k1; int k2; double var46; - if(this.destinationCoordinateCache.containsItem(j1)) { + if (this.destinationCoordinateCache.containsItem(j1)) { PortalPosition d8 = (PortalPosition) this.destinationCoordinateCache.getValueByKey(j1); d3 = 0.0D; i = d8.posX; @@ -88,21 +87,21 @@ public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4 d8.lastUpdateTime = this.worldServerInstance.getTotalWorldTime(); flag = false; } else { - for(k1 = l - short1; k1 <= l + short1; ++k1) { + for (k1 = l - short1; k1 <= l + short1; ++k1) { var46 = (double) k1 + 0.5D - par1Entity.posX; - for(int d9 = i1 - short1; d9 <= i1 + short1; ++d9) { + for (int d9 = i1 - short1; d9 <= i1 + short1; ++d9) { double d6 = (double) d9 + 0.5D - par1Entity.posZ; - for(k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { - if(this.worldServerInstance.getBlockId(k1, k2, d9) == Blocks.BLOCK_PORTAL.blockID) { - while(this.worldServerInstance.getBlockId(k1, k2 - 1, d9) == Blocks.BLOCK_PORTAL.blockID) { + for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { + if (this.worldServerInstance.getBlock(k1, k2, d9) == AtumBlocks.BLOCK_PORTAL) { + while (this.worldServerInstance.getBlock(k1, k2 - 1, d9) == AtumBlocks.BLOCK_PORTAL) { --k2; } d4 = (double) k2 + 0.5D - par1Entity.posY; double l2 = var46 * var46 + d4 * d4 + d6 * d6; - if(d3 < 0.0D || l2 < d3) { + if (d3 < 0.0D || l2 < d3) { d3 = l2; i = k1; j = k2; @@ -114,8 +113,8 @@ public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4 } } - if(d3 >= 0.0D) { - if(flag) { + if (d3 >= 0.0D) { + if (flag) { this.destinationCoordinateCache.add(j1, new AtumPortalPosition(this, i, j, k, this.worldServerInstance.getTotalWorldTime())); this.destinationCoordinateKeys.add(Long.valueOf(j1)); } @@ -124,24 +123,24 @@ public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4 double var47 = (double) j + 0.5D; d4 = (double) k + 0.5D; int j2 = -1; - if(this.worldServerInstance.getBlockId(i - 1, j, k) == Blocks.BLOCK_PORTAL.blockID) { + if (this.worldServerInstance.getBlock(i - 1, j, k) == AtumBlocks.BLOCK_PORTAL) { j2 = 2; } - if(this.worldServerInstance.getBlockId(i + 1, j, k) == Blocks.BLOCK_PORTAL.blockID) { + if (this.worldServerInstance.getBlock(i + 1, j, k) == AtumBlocks.BLOCK_PORTAL) { j2 = 0; } - if(this.worldServerInstance.getBlockId(i, j, k - 1) == Blocks.BLOCK_PORTAL.blockID) { + if (this.worldServerInstance.getBlock(i, j, k - 1) == AtumBlocks.BLOCK_PORTAL) { j2 = 3; } - if(this.worldServerInstance.getBlockId(i, j, k + 1) == Blocks.BLOCK_PORTAL.blockID) { + if (this.worldServerInstance.getBlock(i, j, k + 1) == AtumBlocks.BLOCK_PORTAL) { j2 = 1; } k2 = par1Entity.getTeleportDirection(); - if(j2 > -1) { + if (j2 > -1) { int var48 = Direction.rotateLeft[j2]; int i3 = Direction.offsetX[j2]; int j3 = Direction.offsetZ[j2]; @@ -149,7 +148,7 @@ public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4 int l3 = Direction.offsetZ[var48]; boolean flag1 = !this.worldServerInstance.isAirBlock(i + i3 + k3, j, k + j3 + l3) || !this.worldServerInstance.isAirBlock(i + i3 + k3, j + 1, k + j3 + l3); boolean flag2 = !this.worldServerInstance.isAirBlock(i + i3, j, k + j3) || !this.worldServerInstance.isAirBlock(i + i3, j + 1, k + j3); - if(flag1 && flag2) { + if (flag1 && flag2) { j2 = Direction.rotateOpposite[j2]; var48 = Direction.rotateOpposite[var48]; i3 = Direction.offsetX[j2]; @@ -166,11 +165,11 @@ public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4 float var49 = 0.5F; float f2 = 0.5F; - if(!flag1 && flag2) { + if (!flag1 && flag2) { var49 = 1.0F; - } else if(flag1 && !flag2) { + } else if (flag1 && !flag2) { var49 = 0.0F; - } else if(flag1 && flag2) { + } else if (flag1 && flag2) { f2 = 0.0F; } @@ -180,13 +179,13 @@ public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4 float f4 = 0.0F; float f5 = 0.0F; float f6 = 0.0F; - if(j2 == k2) { + if (j2 == k2) { f3 = 1.0F; f4 = 1.0F; - } else if(j2 == Direction.rotateOpposite[k2]) { + } else if (j2 == Direction.rotateOpposite[k2]) { f3 = -1.0F; f4 = -1.0F; - } else if(j2 == Direction.rotateRight[k2]) { + } else if (j2 == Direction.rotateRight[k2]) { f5 = 1.0F; f6 = -1.0F; } else { @@ -217,6 +216,7 @@ public boolean makePortal(Entity par1Entity) { int entityX = MathHelper.floor_double(par1Entity.posX); int entityY = MathHelper.floor_double(par1Entity.posY); int entityZ = MathHelper.floor_double(par1Entity.posZ); + int posY = entityY - 2; int l = entityX; int i1 = entityY; int j1 = entityZ; @@ -239,33 +239,33 @@ public boolean makePortal(Entity par1Entity) { double d3; double d4; int i5; - for(i2 = entityX - b0; i2 <= entityX + b0; ++i2) { + for (i2 = entityX - b0; i2 <= entityX + b0; ++i2) { d1 = (double) i2 + 0.5D - par1Entity.posX; - for(j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) { + for (j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) { d2 = (double) j2 + 0.5D - par1Entity.posZ; - label272: for(k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { - if(this.worldServerInstance.isAirBlock(i2, k2, j2)) { - while(k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) { + label272: for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { + if (this.worldServerInstance.isAirBlock(i2, k2, j2)) { + while (k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) { --k2; } - for(i3 = l1; i3 < l1 + 4; ++i3) { + for (i3 = l1; i3 < l1 + 4; ++i3) { l2 = i3 % 2; k3 = 1 - l2; - if(i3 % 4 >= 2) { + if (i3 % 4 >= 2) { l2 = -l2; k3 = -k3; } - for(j3 = 0; j3 < 3; ++j3) { - for(i4 = 0; i4 < 4; ++i4) { - for(l3 = -1; l3 < 4; ++l3) { + for (j3 = 0; j3 < 3; ++j3) { + for (i4 = 0; i4 < 4; ++i4) { + for (l3 = -1; l3 < 4; ++l3) { k4 = i2 + (i4 - 1) * l2 + j3 * k3; j4 = k2 + l3; i5 = j2 + (i4 - 1) * k3 - j3 * l2; - if(l3 < 0 && !this.worldServerInstance.getBlockMaterial(k4, j4, i5).isSolid() || l3 >= 0 && !this.worldServerInstance.isAirBlock(k4, j4, i5)) { + if (l3 < 0 && !this.worldServerInstance.getBlock(k4, j4, i5).getMaterial().isSolid() || l3 >= 0 && !this.worldServerInstance.isAirBlock(k4, j4, i5)) { continue label272; } } @@ -274,7 +274,7 @@ public boolean makePortal(Entity par1Entity) { d4 = (double) k2 + 0.5D - par1Entity.posY; d3 = d1 * d1 + d4 * d4 + d2 * d2; - if(d0 < 0.0D || d3 < d0) { + if (d0 < 0.0D || d3 < d0) { d0 = d3; l = i2; i1 = k2; @@ -287,29 +287,29 @@ public boolean makePortal(Entity par1Entity) { } } - if(d0 < 0.0D) { - for(i2 = entityX - b0; i2 <= entityX + b0; ++i2) { + if (d0 < 0.0D) { + for (i2 = entityX - b0; i2 <= entityX + b0; ++i2) { d1 = (double) i2 + 0.5D - par1Entity.posX; - for(j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) { + for (j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) { d2 = (double) j2 + 0.5D - par1Entity.posZ; - label220: for(k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { - if(this.worldServerInstance.isAirBlock(i2, k2, j2)) { - while(k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) { + label220: for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { + if (this.worldServerInstance.isAirBlock(i2, k2, j2)) { + while (k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) { --k2; } - for(i3 = l1; i3 < l1 + 2; ++i3) { + for (i3 = l1; i3 < l1 + 2; ++i3) { l2 = i3 % 2; k3 = 1 - l2; - for(j3 = 0; j3 < 4; ++j3) { - for(i4 = -1; i4 < 4; ++i4) { + for (j3 = 0; j3 < 4; ++j3) { + for (i4 = -1; i4 < 4; ++i4) { l3 = i2 + (j3 - 1) * l2; k4 = k2 + i4; j4 = j2 + (j3 - 1) * k3; - if(i4 < 0 && !this.worldServerInstance.getBlockMaterial(l3, k4, j4).isSolid() || i4 >= 0 && !this.worldServerInstance.isAirBlock(l3, k4, j4)) { + if (i4 < 0 && !this.worldServerInstance.getBlock(l3, k4, j4).getMaterial().isSolid() || i4 >= 0 && !this.worldServerInstance.isAirBlock(l3, k4, j4)) { continue label220; } } @@ -317,7 +317,7 @@ public boolean makePortal(Entity par1Entity) { d4 = (double) k2 + 0.5D - par1Entity.posY; d3 = d1 * d1 + d4 * d4 + d2 * d2; - if(d0 < 0.0D || d3 < d0) { + if (d0 < 0.0D || d3 < d0) { d0 = d3; l = i2; i1 = k2; @@ -336,68 +336,68 @@ public boolean makePortal(Entity par1Entity) { j2 = j1; int k5 = k1 % 2; int l5 = 1 - k5; - if(k1 % 4 >= 2) { + if (k1 % 4 >= 2) { k5 = -k5; l5 = -l5; } boolean flag; - if(d0 < 0.0D) { - if(i1 < 70) { + if (d0 < 0.0D) { + if (i1 < 70) { i1 = 70; } - if(i1 > this.worldServerInstance.getActualHeight() - 10) { + if (i1 > this.worldServerInstance.getActualHeight() - 10) { i1 = this.worldServerInstance.getActualHeight() - 10; } j5 = i1; - for(k2 = -1; k2 <= 1; ++k2) { - for(i3 = 1; i3 < 3; ++i3) { - for(l2 = -1; l2 < 3; ++l2) { + for (k2 = -1; k2 <= 1; ++k2) { + for (i3 = 1; i3 < 3; ++i3) { + for (l2 = -1; l2 < 3; ++l2) { k3 = i5 + (i3 - 1) * k5 + k2 * l5; j3 = j5 + l2; i4 = j2 + (i3 - 1) * l5 - k2 * k5; flag = l2 < 0; - this.worldServerInstance.setBlock(k3, j3, i4, flag ? Block.sandStone.blockID : 0); + this.worldServerInstance.setBlock(k3, j3, i4, flag ? Blocks.sandstone : null); } } } } Block block = null; System.out.println(par1Entity.dimension); - if(par1Entity.dimension == 0) { - block = Block.sandStone; + if (par1Entity.dimension == 0) { + block = Blocks.sandstone; } else { - block = Blocks.BLOCK_LARGEBRICK; + block = AtumBlocks.BLOCK_LARGEBRICK; } - for(int x1 = -2; x1 < 3; x1++) { - for(int z1 = -2; z1 < 3; z1++) { + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { - this.worldServerInstance.setBlock(entityX + x1, entityY, entityZ + z1, block.blockID); + this.worldServerInstance.setBlock(entityX + x1, posY, entityZ + z1, block); } } - for(int x1 = -2; x1 < 3; x1++) { - for(int z1 = -2; z1 < 3; z1++) { - if(x1 == 2 || z1 == 2 || x1 == -2 || z1 == -2) { - this.worldServerInstance.setBlock(entityX + x1, entityY + 1, entityZ + z1, block.blockID); + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + if (x1 == 2 || z1 == 2 || x1 == -2 || z1 == -2) { + this.worldServerInstance.setBlock(entityX + x1, posY + 1, entityZ + z1, block); } } } - for(int y1 = 2; y1 < 4; y1++) { - for(int x1 = -2; x1 < 3; x1++) { - for(int z1 = -2; z1 < 3; z1++) { - if((x1 == 2 && z1 == 2) || (x1 == -2 && z1 == 2) || (x1 == 2 && z1 == -2) || (x1 == -2 && z1 == -2)) { - this.worldServerInstance.setBlock(entityX + x1, entityY + y1, entityZ + z1, block.blockID); + for (int y1 = 2; y1 < 4; y1++) { + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + if ((x1 == 2 && z1 == 2) || (x1 == -2 && z1 == 2) || (x1 == 2 && z1 == -2) || (x1 == -2 && z1 == -2)) { + this.worldServerInstance.setBlock(entityX + x1, posY + y1, entityZ + z1, block); } } } } - for(int x1 = -1; x1 < 2; x1++) { - for(int z1 = -1; z1 < 2; z1++) { - this.worldServerInstance.setBlock(x1 + entityX, entityY + 1, z1 + entityZ, Blocks.BLOCK_PORTAL.blockID); + for (int x1 = -1; x1 < 2; x1++) { + for (int z1 = -1; z1 < 2; z1++) { + this.worldServerInstance.setBlock(x1 + entityX, posY + 1, z1 + entityZ, AtumBlocks.BLOCK_PORTAL); } } @@ -406,14 +406,14 @@ public boolean makePortal(Entity par1Entity) { @Override public void removeStalePortalLocations(long par1) { - if(par1 % 100L == 0L) { + if (par1 % 100L == 0L) { Iterator iterator = this.destinationCoordinateKeys.iterator(); long j = par1 - 600L; - while(iterator.hasNext()) { + while (iterator.hasNext()) { Long olong = (Long) iterator.next(); PortalPosition portalposition = (PortalPosition) this.destinationCoordinateCache.getValueByKey(olong.longValue()); - if(portalposition == null || portalposition.lastUpdateTime < j) { + if (portalposition == null || portalposition.lastUpdateTime < j) { iterator.remove(); this.destinationCoordinateCache.remove(olong.longValue()); } diff --git a/src/com/teammetallurgy/atum/world/World.java b/src/main/java/com/teammetallurgy/atum/world/World.java similarity index 93% rename from src/com/teammetallurgy/atum/world/World.java rename to src/main/java/com/teammetallurgy/atum/world/World.java index 02f73e6..815dc83 100644 --- a/src/com/teammetallurgy/atum/world/World.java +++ b/src/main/java/com/teammetallurgy/atum/world/World.java @@ -3,7 +3,6 @@ import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.common.DimensionManager; -import com.teammetallurgy.atum.AtumConfig; import com.teammetallurgy.atum.AtumIDS; import com.teammetallurgy.atum.worldgen.AtumWorldProvider; import com.teammetallurgy.atum.worldgen.biome.BiomeGenAtumDesert; diff --git a/src/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java b/src/main/java/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java similarity index 75% rename from src/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java rename to src/main/java/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java index 146d439..ae45510 100644 --- a/src/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java @@ -8,6 +8,7 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockSand; import net.minecraft.entity.EnumCreatureType; +import net.minecraft.init.Blocks; import net.minecraft.util.IProgressUpdate; import net.minecraft.util.MathHelper; import net.minecraft.world.ChunkPosition; @@ -17,24 +18,21 @@ import net.minecraft.world.chunk.Chunk; import net.minecraft.world.chunk.IChunkProvider; import net.minecraft.world.gen.MapGenBase; -import net.minecraft.world.gen.MapGenRavine; import net.minecraft.world.gen.NoiseGeneratorOctaves; -import net.minecraft.world.gen.feature.MapGenScatteredFeature; import net.minecraft.world.gen.feature.WorldGenLakes; -import net.minecraft.world.gen.structure.MapGenMineshaft; -import net.minecraft.world.gen.structure.MapGenStronghold; -import net.minecraft.world.gen.structure.MapGenVillage; +import net.minecraft.world.gen.structure.MapGenScatteredFeature; import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.Event.Result; import net.minecraftforge.event.terraingen.ChunkProviderEvent.InitNoiseField; import net.minecraftforge.event.terraingen.InitMapGenEvent.EventType; import net.minecraftforge.event.terraingen.PopulateChunkEvent.Post; import net.minecraftforge.event.terraingen.PopulateChunkEvent.Pre; import net.minecraftforge.event.terraingen.TerrainGen; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.worldgen.biome.BiomeGenAtumDesert; +import cpw.mods.fml.common.eventhandler.Event.Result; + public class AtumChunkProvider implements IChunkProvider { private Random rand; @@ -72,7 +70,7 @@ public AtumChunkProvider(World par1World, long par2, boolean par4) { this.noiseGen5 = new NoiseGeneratorOctaves(this.rand, 10); this.noiseGen6 = new NoiseGeneratorOctaves(this.rand, 16); this.mobSpawnerNoise = new NoiseGeneratorOctaves(this.rand, 8); - NoiseGeneratorOctaves[] noiseGens = new NoiseGeneratorOctaves[]{this.noiseGen1, this.noiseGen2, this.noiseGen3, this.noiseGen4, this.noiseGen5, this.noiseGen6, this.mobSpawnerNoise}; + NoiseGeneratorOctaves[] noiseGens = new NoiseGeneratorOctaves[] { this.noiseGen1, this.noiseGen2, this.noiseGen3, this.noiseGen4, this.noiseGen5, this.noiseGen6, this.mobSpawnerNoise }; noiseGens = TerrainGen.getModdedNoiseGenerators(par1World, this.rand, noiseGens); this.noiseGen1 = noiseGens[0]; this.noiseGen2 = noiseGens[1]; @@ -83,7 +81,7 @@ public AtumChunkProvider(World par1World, long par2, boolean par4) { this.mobSpawnerNoise = noiseGens[6]; } - public void generateTerrain(int par1, int par2, short[] par3ArrayOfByte) { + public void generateTerrain(int par1, int par2, Block[] abyte) { byte b0 = 4; byte b1 = 16; byte b2 = 63; @@ -93,9 +91,9 @@ public void generateTerrain(int par1, int par2, short[] par3ArrayOfByte) { this.biomesForGeneration = this.worldObj.getWorldChunkManager().getBiomesForGeneration(this.biomesForGeneration, par1 * 4 - 2, par2 * 4 - 2, k + 5, l + 5); this.noiseArray = this.initializeNoiseField(this.noiseArray, par1 * b0, 0, par2 * b0, k, b3, l); - for(int x1 = 0; x1 < b0; ++x1) { - for(int z1 = 0; z1 < b0; ++z1) { - for(int y1 = 0; y1 < b1; ++y1) { + for (int x1 = 0; x1 < b0; ++x1) { + for (int z1 = 0; z1 < b0; ++z1) { + for (int y1 = 0; y1 < b1; ++y1) { double d0 = 0.125D; double d1 = this.noiseArray[((x1 + 0) * l + z1 + 0) * b3 + y1 + 0]; double d2 = this.noiseArray[((x1 + 0) * l + z1 + 1) * b3 + y1 + 0]; @@ -106,30 +104,30 @@ public void generateTerrain(int par1, int par2, short[] par3ArrayOfByte) { double d7 = (this.noiseArray[((x1 + 1) * l + z1 + 0) * b3 + y1 + 1] - d3) * d0; double d8 = (this.noiseArray[((x1 + 1) * l + z1 + 1) * b3 + y1 + 1] - d4) * d0; - for(int y2 = 0; y2 < 8; ++y2) { + for (int y2 = 0; y2 < 8; ++y2) { double d10 = d1; double d11 = d2; double d12 = (d3 - d1) * 0.25D; double d13 = (d4 - d2) * 0.25D; - for(int x2 = 0; x2 < 4; ++x2) { + for (int x2 = 0; x2 < 4; ++x2) { int index = y1 * 8 + y2 << 8 | 0 + z1 * 4 << 4 | x2 + x1 * 4; byte dy = 16; index -= dy; double d15 = (d11 - d10) * 0.25D; double d16 = d10 - d15; - for(int n = 0; n < 4; ++n) { - if((d16 += d15) > 0.0D) { - if(index + dy < par3ArrayOfByte.length) { - par3ArrayOfByte[index += dy] = (short) Blocks.BLOCK_STONE.blockID; + for (int n = 0; n < 4; ++n) { + if ((d16 += d15) > 0.0D) { + if (index + dy < abyte.length) { + abyte[index += dy] = AtumBlocks.BLOCK_STONE; } - } else if(y1 * 8 + y2 < b2) { - if(index + dy < par3ArrayOfByte.length) { - par3ArrayOfByte[index += dy] = (short) Blocks.BLOCK_STONE.blockID; + } else if (y1 * 8 + y2 < b2) { + if (index + dy < abyte.length) { + abyte[index += dy] = AtumBlocks.BLOCK_STONE; } - } else if(index + dy < par3ArrayOfByte.length) { - par3ArrayOfByte[index += dy] = 0; + } else if (index + dy < abyte.length) { + abyte[index += dy] = null; } } @@ -148,50 +146,50 @@ public void generateTerrain(int par1, int par2, short[] par3ArrayOfByte) { } - public void replaceBlocksForBiome(int par1, int par2, short[] par3ArrayOfByte, BiomeGenBase[] par4ArrayOfBiomeGenBase) { + public void replaceBlocksForBiome(int par1, int par2, Block[] abyte, BiomeGenBase[] par4ArrayOfBiomeGenBase) { byte b0 = 63; double d0 = 0.03125D; this.stoneNoise = this.noiseGen4.generateNoiseOctaves(this.stoneNoise, par1 * 16, par2 * 16, 0, 16, 16, 1, d0 * 2.0D, d0 * 2.0D, d0 * 2.0D); - for(int z = 0; z < 16; ++z) { - for(int x = 0; x < 16; ++x) { + for (int z = 0; z < 16; ++z) { + for (int x = 0; x < 16; ++x) { BiomeGenBase biomegenbase = par4ArrayOfBiomeGenBase[x + z * 16]; float f = biomegenbase.getFloatTemperature(); int i1 = (int) (this.stoneNoise[z + x * 16] / 3.0D + 3.0D + this.rand.nextDouble() * 0.25D); int j1 = -1; - short b1 = ((BiomeGenAtumDesert) biomegenbase).sTopBlock; - short b2 = ((BiomeGenAtumDesert) biomegenbase).sFillerBlock; + Block b1 = ((BiomeGenAtumDesert) biomegenbase).sTopBlock; + Block b2 = ((BiomeGenAtumDesert) biomegenbase).sFillerBlock; - for(int y = 127; y >= 0; --y) { + for (int y = 127; y >= 0; --y) { int l1 = y << 8 | z << 4 | x; - if(y <= 0 + this.rand.nextInt(5)) { - par3ArrayOfByte[l1] = (short) ((byte) Block.bedrock.blockID); + if (y <= 0 + this.rand.nextInt(5)) { + abyte[l1] = Blocks.bedrock; } else { - short b3 = par3ArrayOfByte[l1]; - if(b3 == 0) { + Block b3 = abyte[l1]; + if (b3 == null) { j1 = -1; - } else if(b3 == Blocks.BLOCK_STONE.blockID) { - if(j1 == -1) { - if(i1 <= 0) { - b1 = 0; - b2 = (short) Blocks.BLOCK_STONE.blockID; - } else if(y >= b0 - 4 && y <= b0 + 1) { + } else if (b3 == AtumBlocks.BLOCK_STONE) { + if (j1 == -1) { + if (i1 <= 0) { + b1 = null; + b2 = AtumBlocks.BLOCK_STONE; + } else if (y >= b0 - 4 && y <= b0 + 1) { b1 = ((BiomeGenAtumDesert) biomegenbase).sTopBlock; b2 = ((BiomeGenAtumDesert) biomegenbase).sFillerBlock; } j1 = i1; - if(y >= b0 - 1) { - par3ArrayOfByte[l1] = b1; + if (y >= b0 - 1) { + abyte[l1] = b1; } else { - par3ArrayOfByte[l1] = b2; + abyte[l1] = b2; } - } else if(j1 > 0) { + } else if (j1 > 0) { --j1; - par3ArrayOfByte[l1] = b2; - if(j1 == 0 && b2 == Blocks.BLOCK_SAND.blockID) { + abyte[l1] = b2; + if (j1 == 0 && b2 == AtumBlocks.BLOCK_SAND) { j1 = this.rand.nextInt(4); - b2 = (short) Blocks.BLOCK_STONE.blockID; + b2 = AtumBlocks.BLOCK_STONE; } } } @@ -210,21 +208,17 @@ public Chunk loadChunk(int par1, int par2) { @Override public Chunk provideChunk(int x, int z) { this.rand.setSeed((long) x * 341873128712L + (long) z * 132897987541L); - short[] abyte = new short['\u8000']; + Block[] abyte = new Block['\u8000']; this.generateTerrain(x, z, abyte); this.biomesForGeneration = this.worldObj.getWorldChunkManager().loadBlockGeneratorData(this.biomesForGeneration, x * 16, z * 16, 16, 16); this.replaceBlocksForBiome(x, z, abyte, this.biomesForGeneration); - - ByteBuffer buffer = ByteBuffer.allocate(abyte.length * 2); - buffer.order(ByteOrder.LITTLE_ENDIAN); - buffer.asShortBuffer().put(abyte); - - caveGenerator.generate(this, worldObj, x, z, buffer.array()); - + + caveGenerator.func_151539_a(this, worldObj, x, z, abyte); + Chunk chunk = new Chunk(this.worldObj, abyte, new byte['\u8000'], x, z); byte[] abyte1 = chunk.getBiomeArray(); - for(int k = 0; k < abyte1.length; ++k) { + for (int k = 0; k < abyte1.length; ++k) { abyte1[k] = (byte) this.biomesForGeneration[k].biomeID; } @@ -235,18 +229,18 @@ public Chunk provideChunk(int x, int z) { private double[] initializeNoiseField(double[] par1ArrayOfDouble, int par2, int par3, int par4, int par5, int par6, int par7) { InitNoiseField event = new InitNoiseField(this, par1ArrayOfDouble, par2, par3, par4, par5, par6, par7); MinecraftForge.EVENT_BUS.post(event); - if(event.getResult() == Result.DENY) { + if (event.getResult() == Result.DENY) { return event.noisefield; } else { - if(par1ArrayOfDouble == null) { + if (par1ArrayOfDouble == null) { par1ArrayOfDouble = new double[par5 * par6 * par7]; } - if(this.parabolicField == null) { + if (this.parabolicField == null) { this.parabolicField = new float[25]; - for(int d0 = -2; d0 <= 2; ++d0) { - for(int l1 = -2; l1 <= 2; ++l1) { + for (int d0 = -2; d0 <= 2; ++d0) { + for (int l1 = -2; l1 <= 2; ++l1) { float d1 = 10.0F / MathHelper.sqrt_float((float) (d0 * d0 + l1 * l1) + 0.2F); this.parabolicField[d0 + 2 + (l1 + 2) * 5] = d1; } @@ -265,19 +259,19 @@ private double[] initializeNoiseField(double[] par1ArrayOfDouble, int par2, int int i2 = 0; int j2 = 0; - for(int k2 = 0; k2 < par5; ++k2) { - for(int l2 = 0; l2 < par7; ++l2) { + for (int k2 = 0; k2 < par5; ++k2) { + for (int l2 = 0; l2 < par7; ++l2) { float f1 = 0.0F; float f2 = 0.0F; float f3 = 0.0F; byte b0 = 2; BiomeGenBase biomegenbase = this.biomesForGeneration[k2 + 2 + (l2 + 2) * (par5 + 5)]; - for(int d2 = -b0; d2 <= b0; ++d2) { - for(int j3 = -b0; j3 <= b0; ++j3) { + for (int d2 = -b0; d2 <= b0; ++d2) { + for (int j3 = -b0; j3 <= b0; ++j3) { BiomeGenBase k3 = this.biomesForGeneration[k2 + d2 + 2 + (l2 + j3 + 2) * (par5 + 5)]; float d3 = this.parabolicField[d2 + 2 + (j3 + 2) * 5] / (k3.minHeight + 2.0F); - if(k3.minHeight > biomegenbase.minHeight) { + if (k3.minHeight > biomegenbase.minHeight) { d3 /= 2.0F; } @@ -292,21 +286,21 @@ private double[] initializeNoiseField(double[] par1ArrayOfDouble, int par2, int f1 = f1 * 0.9F + 0.1F; f2 = (f2 * 4.0F - 1.0F) / 8.0F; double var47 = this.noise6[j2] / 8000.0D; - if(var47 < 0.0D) { + if (var47 < 0.0D) { var47 = -var47 * 0.3D; } var47 = var47 * 3.0D - 2.0D; - if(var47 < 0.0D) { + if (var47 < 0.0D) { var47 /= 2.0D; - if(var47 < -1.0D) { + if (var47 < -1.0D) { var47 = -1.0D; } var47 /= 1.4D; var47 /= 2.0D; } else { - if(var47 > 1.0D) { + if (var47 > 1.0D) { var47 = 1.0D; } @@ -315,7 +309,7 @@ private double[] initializeNoiseField(double[] par1ArrayOfDouble, int par2, int ++j2; - for(int var49 = 0; var49 < par6; ++var49) { + for (int var49 = 0; var49 < par6; ++var49) { double var48 = (double) f2; double d4 = (double) f1; var48 += var47 * 0.2D; @@ -323,23 +317,23 @@ private double[] initializeNoiseField(double[] par1ArrayOfDouble, int par2, int double d5 = (double) par6 / 2.0D + var48 * 4.0D; double d6 = 0.0D; double d7 = ((double) var49 - d5) * 12.0D * 128.0D / 128.0D / d4; - if(d7 < 0.0D) { + if (d7 < 0.0D) { d7 *= 4.0D; } double d8 = this.noise1[i2] / 512.0D; double d9 = this.noise2[i2] / 512.0D; double d10 = (this.noise3[i2] / 10.0D + 1.0D) / 2.0D; - if(d10 < 0.0D) { + if (d10 < 0.0D) { d6 = d8; - } else if(d10 > 1.0D) { + } else if (d10 > 1.0D) { d6 = d9; } else { d6 = d8 + (d9 - d8) * d10; } d6 -= d7; - if(var49 > par6 - 4) { + if (var49 > par6 - 4) { double d11 = (double) ((float) (var49 - (par6 - 4)) / 3.0F); d6 = d6 * (1.0D - d11) + -10.0D * d11; } @@ -372,12 +366,12 @@ public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) { this.rand.setSeed((long) par2 * i1 + (long) par3 * j1 ^ this.worldObj.getSeed()); boolean flag = false; MinecraftForge.EVENT_BUS.post(new Pre(par1IChunkProvider, this.worldObj, this.rand, par2, par3, flag)); - if(TerrainGen.populate(par1IChunkProvider, this.worldObj, this.rand, par2, par3, flag, net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.LAVA) && !flag && this.rand.nextInt(8) == 0) { + if (TerrainGen.populate(par1IChunkProvider, this.worldObj, this.rand, par2, par3, flag, net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.LAVA) && !flag && this.rand.nextInt(8) == 0) { int k1 = k + this.rand.nextInt(16) + 8; int l1 = this.rand.nextInt(this.rand.nextInt(120) + 8); int i2 = l + this.rand.nextInt(16) + 8; - if(l1 < 63 || this.rand.nextInt(10) == 0) { - (new WorldGenLakes(Block.lavaStill.blockID)).generate(this.worldObj, this.rand, k1, l1, i2); + if (l1 < 63 || this.rand.nextInt(10) == 0) { + (new WorldGenLakes(Blocks.lava)).generate(this.worldObj, this.rand, k1, l1, i2); } } @@ -415,11 +409,6 @@ public List getPossibleCreatures(EnumCreatureType par1EnumCreatureType, int par2 return biomegenbase == null ? null : (biomegenbase == BiomeGenBase.swampland && par1EnumCreatureType == EnumCreatureType.monster && this.scatteredFeatureGenerator.hasStructureAt(par2, par3, par4) ? this.scatteredFeatureGenerator.getScatteredFeatureSpawnList() : biomegenbase.getSpawnableList(par1EnumCreatureType)); } - @Override - public ChunkPosition findClosestStructure(World par1World, String par2Str, int par3, int par4, int par5) { - return null; - } - @Override public int getLoadedChunkCount() { return 0; @@ -427,8 +416,8 @@ public int getLoadedChunkCount() { @Override public void recreateStructures(int par1, int par2) { - if(this.mapFeaturesEnabled) { - this.scatteredFeatureGenerator.generate(this, this.worldObj, par1, par2, (byte[]) null); + if (this.mapFeaturesEnabled) { + this.scatteredFeatureGenerator.func_151539_a(this, this.worldObj, par1, par2, (Block[]) null); } } @@ -437,4 +426,9 @@ public void recreateStructures(int par1, int par2) { public void saveExtraData() { } + + @Override + public ChunkPosition func_147416_a(World var1, String var2, int var3, int var4, int var5) { + return null; + } } diff --git a/src/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java b/src/main/java/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java similarity index 62% rename from src/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java rename to src/main/java/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java index f28c2b9..9b4ca93 100644 --- a/src/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java @@ -3,38 +3,39 @@ import java.util.Random; import net.minecraft.block.Block; +import net.minecraft.init.Blocks; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraft.world.gen.MapGenBase; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; public class AtumMapGenCaves extends MapGenBase { - - protected void generateLargeCaveNode(long par1, int par3, int par4, byte[] par5ArrayOfByte, double par6, double par8, double par10) { - this.generateCaveNode(par1, par3, par4, par5ArrayOfByte, par6, par8, par10, 1.0F + super.rand.nextFloat() * 6.0F, 0.0F, 0.0F, -1, -1, 0.5D); + + protected void generateLargeCaveNode(long par1, int par3, int par4, Block[] par6ArrayOfByte, double par6, double par8, double par10) { + this.generateCaveNode(par1, par3, par4, par6ArrayOfByte, par6, par8, par10, 1.0F + super.rand.nextFloat() * 6.0F, 0.0F, 0.0F, -1, -1, 0.5D); } - protected void generateCaveNode(long par1, int par3, int par4, byte[] par5ArrayOfByte, double par6, double par8, double par10, float par12, float par13, float par14, int par15, int par16, double par17) { + protected void generateCaveNode(long par1, int par3, int par4, Block[] par6ArrayOfByte, double par6, double par8, double par10, float par12, float par13, float par14, int par15, int par16, double par17) { double d4 = (double) (par3 * 16 + 8); double d5 = (double) (par4 * 16 + 8); float f3 = 0.0F; float f4 = 0.0F; Random random = new Random(par1); - if(par16 <= 0) { + if (par16 <= 0) { int flag = super.range * 16 - 16; par16 = flag - random.nextInt(flag / 4); } boolean var62 = false; - if(par15 == -1) { + if (par15 == -1) { par15 = par16 / 2; var62 = true; } int k1 = random.nextInt(par16 / 2) + par16 / 4; - for(boolean flag1 = random.nextInt(6) == 0; par15 < par16; ++par15) { + for (boolean flag1 = random.nextInt(6) == 0; par15 < par16; ++par15) { double d6 = 1.5D + (double) (MathHelper.sin((float) par15 * 3.1415927F / (float) par16) * par12 * 1.0F); double d7 = d6 * par17; float f5 = MathHelper.cos(par14); @@ -42,7 +43,7 @@ protected void generateCaveNode(long par1, int par3, int par4, byte[] par5ArrayO par6 += (double) (MathHelper.cos(par13) * f5); par8 += (double) f6; par10 += (double) (MathHelper.sin(par13) * f5); - if(flag1) { + if (flag1) { par14 *= 0.92F; } else { par14 *= 0.7F; @@ -54,49 +55,49 @@ protected void generateCaveNode(long par1, int par3, int par4, byte[] par5ArrayO f3 *= 0.75F; f4 += (random.nextFloat() - random.nextFloat()) * random.nextFloat() * 2.0F; f3 += (random.nextFloat() - random.nextFloat()) * random.nextFloat() * 4.0F; - if(!var62 && par15 == k1 && par12 > 1.0F && par16 > 0) { - this.generateCaveNode(random.nextLong(), par3, par4, par5ArrayOfByte, par6, par8, par10, random.nextFloat() * 0.5F + 0.5F, par13 - 1.5707964F, par14 / 3.0F, par15, par16, 1.0D); - this.generateCaveNode(random.nextLong(), par3, par4, par5ArrayOfByte, par6, par8, par10, random.nextFloat() * 0.5F + 0.5F, par13 + 1.5707964F, par14 / 3.0F, par15, par16, 1.0D); + if (!var62 && par15 == k1 && par12 > 1.0F && par16 > 0) { + this.generateCaveNode(random.nextLong(), par3, par4, par6ArrayOfByte, par6, par8, par10, random.nextFloat() * 0.5F + 0.5F, par13 - 1.5707964F, par14 / 3.0F, par15, par16, 1.0D); + this.generateCaveNode(random.nextLong(), par3, par4, par6ArrayOfByte, par6, par8, par10, random.nextFloat() * 0.5F + 0.5F, par13 + 1.5707964F, par14 / 3.0F, par15, par16, 1.0D); return; } - if(var62 || random.nextInt(4) != 0) { + if (var62 || random.nextInt(4) != 0) { double d8 = par6 - d4; double d9 = par10 - d5; double d10 = (double) (par16 - par15); double d11 = (double) (par12 + 2.0F + 16.0F); - if(d8 * d8 + d9 * d9 - d10 * d10 > d11 * d11) { + if (d8 * d8 + d9 * d9 - d10 * d10 > d11 * d11) { return; } - if(par6 >= d4 - 16.0D - d6 * 2.0D && par10 >= d5 - 16.0D - d6 * 2.0D && par6 <= d4 + 16.0D + d6 * 2.0D && par10 <= d5 + 16.0D + d6 * 2.0D) { + if (par6 >= d4 - 16.0D - d6 * 2.0D && par10 >= d5 - 16.0D - d6 * 2.0D && par6 <= d4 + 16.0D + d6 * 2.0D && par10 <= d5 + 16.0D + d6 * 2.0D) { int l1 = MathHelper.floor_double(par6 - d6) - par3 * 16 - 1; int i2 = MathHelper.floor_double(par6 + d6) - par3 * 16 + 1; int j2 = MathHelper.floor_double(par8 - d7) - 1; int k2 = MathHelper.floor_double(par8 + d7) + 1; int l2 = MathHelper.floor_double(par10 - d6) - par4 * 16 - 1; int i3 = MathHelper.floor_double(par10 + d6) - par4 * 16 + 1; - if(l1 < 0) { + if (l1 < 0) { l1 = 0; } - if(i2 > 16) { + if (i2 > 16) { i2 = 16; } - if(j2 < 1) { + if (j2 < 1) { j2 = 1; } - if(k2 > 120) { + if (k2 > 120) { k2 = 120; } - if(l2 < 0) { + if (l2 < 0) { l2 = 0; } - if(i3 > 16) { + if (i3 > 16) { i3 = 16; } @@ -104,16 +105,16 @@ protected void generateCaveNode(long par1, int par3, int par4, byte[] par5ArrayO int k3; int j3; - for(j3 = l1; !flag2 && j3 < i2; ++j3) { - for(int d12 = l2; !flag2 && d12 < i3; ++d12) { - for(int i4 = k2 + 1; !flag2 && i4 >= j2 - 1; --i4) { + for (j3 = l1; !flag2 && j3 < i2; ++j3) { + for (int d12 = l2; !flag2 && d12 < i3; ++d12) { + for (int i4 = k2 + 1; !flag2 && i4 >= j2 - 1; --i4) { k3 = (j3 * 16 + d12) * 128 + i4; - if(i4 >= 0 && i4 < 128) { - if(par5ArrayOfByte[k3] == Block.waterMoving.blockID || par5ArrayOfByte[k3] == Block.waterStill.blockID) { + if (i4 >= 0 && i4 < 128) { + if (par6ArrayOfByte[k3] == Blocks.water) { flag2 = true; } - if(i4 != j2 - 1 && j3 != l1 && j3 != i2 - 1 && d12 != l2 && d12 != i3 - 1) { + if (i4 != j2 - 1 && j3 != l1 && j3 != i2 - 1 && d12 != l2 && d12 != i3 - 1) { i4 = j2; } } @@ -121,30 +122,30 @@ protected void generateCaveNode(long par1, int par3, int par4, byte[] par5ArrayO } } - if(!flag2) { - for(j3 = l1; j3 < i2; ++j3) { + if (!flag2) { + for (j3 = l1; j3 < i2; ++j3) { double var63 = ((double) (j3 + par3 * 16) + 0.5D - par6) / d6; - for(k3 = l2; k3 < i3; ++k3) { + for (k3 = l2; k3 < i3; ++k3) { double d13 = ((double) (k3 + par4 * 16) + 0.5D - par10) / d6; int j4 = (j3 * 16 + k3) * 128 + k2; boolean flag3 = false; - if(var63 * var63 + d13 * d13 < 1.0D) { - for(int k4 = k2 - 1; k4 >= j2; --k4) { + if (var63 * var63 + d13 * d13 < 1.0D) { + for (int k4 = k2 - 1; k4 >= j2; --k4) { double d14 = ((double) k4 + 0.5D - par8) / d7; - if(d14 > -0.7D && var63 * var63 + d14 * d14 + d13 * d13 < 1.0D) { - byte b0 = par5ArrayOfByte[j4]; - if(b0 == Block.grass.blockID) { + if (d14 > -0.7D && var63 * var63 + d14 * d14 + d13 * d13 < 1.0D) { + Block b0 = par6ArrayOfByte[j4]; + if (b0 == Blocks.grass) { flag3 = true; } - if(b0 == Blocks.BLOCK_STONE.blockID || b0 == Blocks.BLOCK_SAND.blockID) { - if(k4 < 10) { - par5ArrayOfByte[j4] = (byte) Block.lavaMoving.blockID; + if (b0 == AtumBlocks.BLOCK_STONE || b0 == AtumBlocks.BLOCK_SAND) { + if (k4 < 10) { + par6ArrayOfByte[j4] = Blocks.lava; } else { - par5ArrayOfByte[j4] = 0; - if(flag3 && par5ArrayOfByte[j4 - 1] == Blocks.BLOCK_SAND.blockID) { - par5ArrayOfByte[j4 - 1] = super.worldObj.getBiomeGenForCoords(j3 + par3 * 16, k3 + par4 * 16).topBlock; + par6ArrayOfByte[j4] = null; + if (flag3 && par6ArrayOfByte[j4 - 1] == AtumBlocks.BLOCK_SAND) { + par6ArrayOfByte[j4 - 1] = super.worldObj.getBiomeGenForCoords(j3 + par3 * 16, k3 + par4 * 16).topBlock; } } } @@ -156,7 +157,7 @@ protected void generateCaveNode(long par1, int par3, int par4, byte[] par5ArrayO } } - if(var62) { + if (var62) { break; } } @@ -167,27 +168,27 @@ protected void generateCaveNode(long par1, int par3, int par4, byte[] par5ArrayO } @Override - protected void recursiveGenerate(World par1World, int par2, int par3, int par4, int par5, byte[] par6ArrayOfByte) { + protected void func_151538_a(World par1World, int par2, int par3, int par4, int par5, Block[] par6ArrayOfByte) { int i1 = super.rand.nextInt(super.rand.nextInt(super.rand.nextInt(40) + 1) + 1); - if(super.rand.nextInt(15) != 0) { + if (super.rand.nextInt(15) != 0) { i1 = 0; } - for(int j1 = 0; j1 < i1; ++j1) { + for (int j1 = 0; j1 < i1; ++j1) { double d0 = (double) (par2 * 16 + super.rand.nextInt(16)); double d1 = (double) super.rand.nextInt(super.rand.nextInt(120) + 8); double d2 = (double) (par3 * 16 + super.rand.nextInt(16)); int k1 = 1; - if(super.rand.nextInt(4) == 0) { + if (super.rand.nextInt(4) == 0) { this.generateLargeCaveNode(super.rand.nextLong(), par4, par5, par6ArrayOfByte, d0, d1, d2); k1 += super.rand.nextInt(4); } - for(int l1 = 0; l1 < k1; ++l1) { + for (int l1 = 0; l1 < k1; ++l1) { float f = super.rand.nextFloat() * 3.1415927F * 2.0F; float f1 = (super.rand.nextFloat() - 0.5F) * 2.0F / 8.0F; float f2 = super.rand.nextFloat() * 2.0F + super.rand.nextFloat(); - if(super.rand.nextInt(10) == 0) { + if (super.rand.nextInt(10) == 0) { f2 *= super.rand.nextFloat() * super.rand.nextFloat() * 3.0F + 1.0F; } diff --git a/src/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java b/src/main/java/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java similarity index 94% rename from src/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java rename to src/main/java/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java index f45203d..7f03511 100644 --- a/src/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java @@ -1,16 +1,17 @@ package com.teammetallurgy.atum.worldgen; -import com.teammetallurgy.atum.AtumIDS; -import com.teammetallurgy.atum.world.World; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.WorldProvider; import net.minecraft.world.biome.WorldChunkManagerHell; import net.minecraft.world.chunk.IChunkProvider; +import com.teammetallurgy.atum.AtumIDS; +import com.teammetallurgy.atum.world.World; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + public class AtumWorldProvider extends WorldProvider { @Override public String getDimensionName() { @@ -19,7 +20,7 @@ public String getDimensionName() { @Override protected void registerWorldChunkManager() { - super.worldChunkMgr = new WorldChunkManagerHell(World.BIOME_DESERT, 0.8F, 0.1F); + super.worldChunkMgr = new WorldChunkManagerHell(World.BIOME_DESERT, 0.8F); super.dimensionId = AtumIDS.DIMENSION_ID; } @@ -32,10 +33,10 @@ public IChunkProvider createChunkGenerator() { protected void generateLightBrightnessTable() { float f = 0.0F; - for(int i = 0; i <= 15; ++i) { + for (int i = 0; i <= 15; ++i) { float scaledBrightness = (float) i / 15.0F; float f1 = 1.0F - scaledBrightness; - if(i < 5) { + if (i < 5) { super.lightBrightnessTable[i] = 0.5F * scaledBrightness / (f1 * 3.0F + 1.0F) * (1.0F - f) + f; } else { super.lightBrightnessTable[i] = scaledBrightness / (f1 * 3.0F + 1.0F) * (1.0F - f) + f; @@ -48,11 +49,11 @@ protected void generateLightBrightnessTable() { public float calculateCelestialAngle(long par1, float par3) { int j = (int) (par1 % 48000L); float f1 = ((float) j + par3) / 48000.0F - 0.25F; - if(f1 < 0.0F) { + if (f1 < 0.0F) { ++f1; } - if(f1 > 1.0F) { + if (f1 > 1.0F) { --f1; } @@ -66,11 +67,11 @@ public float calculateCelestialAngle(long par1, float par3) { @SideOnly(Side.CLIENT) public Vec3 getFogColor(float par1, float par2) { float f2 = MathHelper.cos(par1 * 3.1415927F * 2.0F) * 2.0F + 0.5F; - if(f2 < 0.2F) { + if (f2 < 0.2F) { f2 = 0.2F; } - if(f2 > 1.0F) { + if (f2 > 1.0F) { f2 = 1.0F; } diff --git a/src/com/teammetallurgy/atum/worldgen/AtumWorldServer.java b/src/main/java/com/teammetallurgy/atum/worldgen/AtumWorldServer.java similarity index 81% rename from src/com/teammetallurgy/atum/worldgen/AtumWorldServer.java rename to src/main/java/com/teammetallurgy/atum/worldgen/AtumWorldServer.java index 8e6f838..c4329a8 100644 --- a/src/com/teammetallurgy/atum/worldgen/AtumWorldServer.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/AtumWorldServer.java @@ -1,6 +1,5 @@ package com.teammetallurgy.atum.worldgen; -import net.minecraft.logging.ILogAgent; import net.minecraft.profiler.Profiler; import net.minecraft.server.MinecraftServer; import net.minecraft.world.Teleporter; @@ -12,8 +11,8 @@ public class AtumWorldServer extends WorldServer { - public AtumWorldServer(MinecraftServer par1MinecraftServer, ISaveHandler par2iSaveHandler, String par3Str, int par4, WorldSettings par5WorldSettings, Profiler par6Profiler, ILogAgent par7iLogAgent) { - super(par1MinecraftServer, par2iSaveHandler, par3Str, par4, par5WorldSettings, par6Profiler, par7iLogAgent); + public AtumWorldServer(MinecraftServer par1MinecraftServer, ISaveHandler par2iSaveHandler, String par3Str, int par4, WorldSettings par5WorldSettings, Profiler par6Profiler) { + super(par1MinecraftServer, par2iSaveHandler, par3Str, par4, par5WorldSettings, par6Profiler); } @Override diff --git a/src/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java b/src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java similarity index 82% rename from src/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java rename to src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java index cbd73e7..1c3acf7 100644 --- a/src/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java @@ -22,30 +22,30 @@ import net.minecraftforge.event.terraingen.OreGenEvent.Pre; import net.minecraftforge.event.terraingen.TerrainGen; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.worldgen.decorators.WorldGenShrub; public class BiomeDecoratorAtum extends BiomeDecorator { private float shrubChance; - public BiomeDecoratorAtum(BiomeGenBase par1BiomeGenBase) { - super(par1BiomeGenBase); - this.sandGen = new WorldGenSand(7, Blocks.BLOCK_SAND.blockID); - this.gravelAsSandGen = new WorldGenSand(6, Block.gravel.blockID); - this.dirtGen = new WorldGenMinable(Block.dirt.blockID, 32); - this.gravelGen = new WorldGenMinable(Block.gravel.blockID, 32); - this.coalGen = new WorldGenMinable(Blocks.BLOCK_COALORE.blockID, 16, Blocks.BLOCK_STONE.blockID); - this.ironGen = new WorldGenMinable(Blocks.BLOCK_IRONORE.blockID, 8, Blocks.BLOCK_STONE.blockID); - this.goldGen = new WorldGenMinable(Blocks.BLOCK_GOLDORE.blockID, 8, Blocks.BLOCK_STONE.blockID); - this.redstoneGen = new WorldGenMinable(Blocks.BLOCK_REDSTONEORE.blockID, 7, Blocks.BLOCK_STONE.blockID); - this.diamondGen = new WorldGenMinable(Blocks.BLOCK_DIAMONDORE.blockID, 7, Blocks.BLOCK_STONE.blockID); - this.lapisGen = new WorldGenMinable(Blocks.BLOCK_LAPISORE.blockID, 6); + public BiomeDecoratorAtum() { + super(); + this.sandGen = new WorldGenSand(AtumBlocks.BLOCK_SAND, 7); + this.gravelAsSandGen = new WorldGenSand(6, Blocks.gravel); + this.dirtGen = new WorldGenMinable(Block.dirt, 32); + this.gravelGen = new WorldGenMinable(Block.gravel, 32); + this.coalGen = new WorldGenMinable(AtumBlocks.BLOCK_COALORE, 16, AtumBlocks.BLOCK_STONE); + this.ironGen = new WorldGenMinable(AtumBlocks.BLOCK_IRONORE, 8, AtumBlocks.BLOCK_STONE); + this.goldGen = new WorldGenMinable(AtumBlocks.BLOCK_GOLDORE, 8, AtumBlocks.BLOCK_STONE); + this.redstoneGen = new WorldGenMinable(AtumBlocks.BLOCK_REDSTONEORE, 7, AtumBlocks.BLOCK_STONE); + this.diamondGen = new WorldGenMinable(AtumBlocks.BLOCK_DIAMONDORE, 7, AtumBlocks.BLOCK_STONE); + this.lapisGen = new WorldGenMinable(AtumBlocks.BLOCK_LAPISORE, 6); - this.plantYellowGen = new WorldGenFlowers(Block.plantYellow.blockID); - this.plantRedGen = new WorldGenFlowers(Block.plantRed.blockID); - this.mushroomBrownGen = new WorldGenFlowers(Block.mushroomBrown.blockID); - this.mushroomRedGen = new WorldGenFlowers(Block.mushroomRed.blockID); + this.plantYellowGen = new WorldGenFlowers(Block.plantYellow); + this.plantRedGen = new WorldGenFlowers(Block.plantRed); + this.mushroomBrownGen = new WorldGenFlowers(Block.mushroomBrown); + this.mushroomRedGen = new WorldGenFlowers(Block.mushroomRed); this.bigMushroomGen = new WorldGenBigMushroom(); this.reedGen = new WorldGenReed(); this.cactusGen = new WorldGenCactus(); @@ -122,7 +122,7 @@ protected void decorate() { l = this.randomGenerator.nextInt(128); i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; time = System.nanoTime(); - (new WorldGenShrub(Blocks.BLOCK_SHRUB.blockID, 8)).generate(this.currentWorld, this.randomGenerator, k, l, i1); + (new WorldGenShrub(AtumBlocks.BLOCK_SHRUB, 8)).generate(this.currentWorld, this.randomGenerator, k, l, i1); } if(this.randomGenerator.nextFloat() < this.shrubChance) { @@ -130,7 +130,7 @@ protected void decorate() { l = this.randomGenerator.nextInt(128); i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; time = System.nanoTime(); - (new WorldGenShrub(Blocks.BLOCK_WEED.blockID, 8)).generate(this.currentWorld, this.randomGenerator, k, l, i1); + (new WorldGenShrub(AtumBlocks.BLOCK_WEED, 8)).generate(this.currentWorld, this.randomGenerator, k, l, i1); } doGen = TerrainGen.decorate(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z, EventType.LAKE); @@ -140,7 +140,7 @@ protected void decorate() { l = this.randomGenerator.nextInt(this.randomGenerator.nextInt(this.randomGenerator.nextInt(112) + 8) + 8); i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; time = System.nanoTime(); - (new WorldGenLiquids(Block.lavaMoving.blockID)).generate(this.currentWorld, this.randomGenerator, k, l, i1); + (new WorldGenLiquids(Block.lavaMoving)).generate(this.currentWorld, this.randomGenerator, k, l, i1); } } diff --git a/src/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java b/src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java similarity index 89% rename from src/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java rename to src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java index 2a74d06..fa5e6dc 100644 --- a/src/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java @@ -2,14 +2,14 @@ import java.util.Random; +import net.minecraft.block.Block; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeDecorator; import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.biome.SpawnListEntry; import net.minecraft.world.gen.feature.WorldGenerator; import com.teammetallurgy.atum.LocalizationHelper; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.entity.EntityBanditArcher; import com.teammetallurgy.atum.entity.EntityBanditWarlord; import com.teammetallurgy.atum.entity.EntityBanditWarrior; @@ -31,14 +31,14 @@ public class BiomeGenAtumDesert extends BiomeGenBase { public WorldGenerator treeGenerator; public WorldGenerator palmGenerator; public WorldGenerator ruinsGenerator; - public short sTopBlock; - public short sFillerBlock; + public Block sTopBlock; + public Block sFillerBlock; public BiomeGenAtumDesert(int par1) { super(par1); super.spawnableCreatureList.clear(); - this.sTopBlock = (short) Blocks.BLOCK_SAND.blockID; - this.sFillerBlock = (short) Blocks.BLOCK_SAND.blockID; + this.sTopBlock = AtumBlocks.BLOCK_SAND; + this.sFillerBlock = AtumBlocks.BLOCK_SAND; super.theBiomeDecorator.treesPerChunk = 1; super.theBiomeDecorator.deadBushPerChunk = 5; super.theBiomeDecorator.reedsPerChunk = 0; @@ -54,7 +54,7 @@ public BiomeGenAtumDesert(int par1) { this.setBiomeName(LocalizationHelper.localize("biome.desert.name")); this.setDisableRain(); this.setTemperatureRainfall(2.0F, 0.0F); - this.setMinMaxHeight(0.1F, 0.2F); + this.setHeight(new Height(0.1F, 0.2F)); super.spawnableMonsterList.add(new SpawnListEntry(EntityMummy.class, 6, 4, 4)); super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditWarlord.class, 1, 1, 1)); super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditWarrior.class, 6, 2, 2)); @@ -82,14 +82,14 @@ public void decorate(World par1World, Random par2Random, int par3, int par4) { long time; int k; int l; - if(par2Random.nextInt(100) == 0) { + if (par2Random.nextInt(100) == 0) { k = par3 + par2Random.nextInt(16) + 8; l = par4 + par2Random.nextInt(16) + 8; time = System.nanoTime(); (new WorldGenOasis(false)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); } - if(par2Random.nextInt(20) == 0) { + if (par2Random.nextInt(20) == 0) { k = par3 + par2Random.nextInt(16) + 8; l = par4 + par2Random.nextInt(16) + 8; time = System.nanoTime(); @@ -97,7 +97,7 @@ public void decorate(World par1World, Random par2Random, int par3, int par4) { } int height; - if(par2Random.nextInt(5) == 0) { + if (par2Random.nextInt(5) == 0) { k = par3 + par2Random.nextInt(16) + 8; l = par4 + par2Random.nextInt(16) + 8; height = par2Random.nextInt(4) + 5; @@ -105,7 +105,7 @@ public void decorate(World par1World, Random par2Random, int par3, int par4) { (new WorldGenPalm(true, height, 0, 0)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); } - if(par2Random.nextInt(7) == 0) { + if (par2Random.nextInt(7) == 0) { k = par3 + par2Random.nextInt(16) + 8; l = par4 + par2Random.nextInt(16) + 8; height = par2Random.nextInt(4) + 4; @@ -113,18 +113,18 @@ public void decorate(World par1World, Random par2Random, int par3, int par4) { (new WorldGenAtumTrees(true)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); } - if(par2Random.nextInt(120) == 0) { + if (par2Random.nextInt(120) == 0) { k = par3 + par2Random.nextInt(16) + 8; l = par4 + par2Random.nextInt(16) + 8; time = System.nanoTime(); (new WorldGenPyramid()).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); } - if(par2Random.nextInt(160) == 0) { + if (par2Random.nextInt(160) == 0) { k = par3 + par2Random.nextInt(16) + 8; l = par4 + par2Random.nextInt(16) + 8; height = par2Random.nextInt(10); - if(height <= 20) { + if (height <= 20) { height += 30; } diff --git a/src/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java b/src/main/java/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java similarity index 55% rename from src/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java rename to src/main/java/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java index b2ce64a..96f220d 100644 --- a/src/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java @@ -2,24 +2,25 @@ import java.util.List; -import net.minecraft.world.biome.SpawnListEntry; -import net.minecraftforge.event.ForgeSubscribe; +import net.minecraft.world.biome.BiomeGenBase.SpawnListEntry; import net.minecraftforge.event.world.WorldEvent.PotentialSpawns; import com.teammetallurgy.atum.entity.IAtumDayMob; import com.teammetallurgy.atum.entity.IAtumNightMob; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; + public class MobSpawnController { - @ForgeSubscribe + @SubscribeEvent public void getPotentialSpawns(PotentialSpawns event) { List list = event.list; int time = (int) (event.world.getWorldTime() % 48000L); System.out.println(time); - for(int i = 0; i < list.size(); ++i) { + for (int i = 0; i < list.size(); ++i) { System.out.println(time); - if((!IAtumDayMob.class.isAssignableFrom(((SpawnListEntry) list.get(i)).entityClass) || time <= 0 || time >= 24000) && (!IAtumNightMob.class.isAssignableFrom(((SpawnListEntry) list.get(i)).entityClass) || time <= 24000 || time >= '\ubb80')) { + if ((!IAtumDayMob.class.isAssignableFrom(((SpawnListEntry) list.get(i)).entityClass) || time <= 0 || time >= 24000) && (!IAtumNightMob.class.isAssignableFrom(((SpawnListEntry) list.get(i)).entityClass) || time <= 24000 || time >= '\ubb80')) { list.remove(i); --i; } diff --git a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java similarity index 67% rename from src/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java rename to src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java index 6fd74c2..3e68df5 100644 --- a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java @@ -3,18 +3,19 @@ import java.util.Random; import net.minecraft.block.Block; +import net.minecraft.init.Blocks; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; public class WorldGenAtumTrees extends WorldGenerator { - static final byte[] otherCoordPairs = new byte[]{(byte) 2, (byte) 0, (byte) 0, (byte) 1, (byte) 2, (byte) 1}; + static final byte[] otherCoordPairs = new byte[] { (byte) 2, (byte) 0, (byte) 0, (byte) 1, (byte) 2, (byte) 1 }; Random rand = new Random(); World worldObj; - int[] basePos = new int[]{0, 0, 0}; + int[] basePos = new int[] { 0, 0, 0 }; int heightLimit = 0; int height; double heightAttenuation = 0.618D; @@ -33,12 +34,12 @@ public WorldGenAtumTrees(boolean par1) { private void generateLeafNodeList() { this.height = (int) ((double) this.heightLimit * this.heightAttenuation); - if(this.height >= this.heightLimit) { + if (this.height >= this.heightLimit) { this.height = this.heightLimit - 1; } int i = (int) (1.382D + Math.pow(this.leafDensity * (double) this.heightLimit / 13.0D, 2.0D)); - if(i < 1) { + if (i < 1) { i = 1; } @@ -53,31 +54,31 @@ private void generateLeafNodeList() { aint[0][3] = l; --j; - while(i1 >= 0) { + while (i1 >= 0) { int j1 = 0; float f = this.layerSize(i1); - if(f < 0.0F) { + if (f < 0.0F) { --j; --i1; } else { - for(double d0 = 0.5D; j1 < i; ++j1) { + for (double d0 = 0.5D; j1 < i; ++j1) { double d1 = this.scaleWidth * (double) f * ((double) this.rand.nextFloat() + 0.328D); double d2 = (double) this.rand.nextFloat() * 2.0D * 3.141592653589793D; int k1 = MathHelper.floor_double(d1 * Math.sin(d2) + (double) this.basePos[0] + d0); int l1 = MathHelper.floor_double(d1 * Math.cos(d2) + (double) this.basePos[2] + d0); - int[] aint1 = new int[]{k1, j, l1}; - int[] aint2 = new int[]{k1, j + this.leafDistanceLimit, l1}; - if(this.checkBlockLine(aint1, aint2) == -1) { - int[] aint3 = new int[]{this.basePos[0], this.basePos[1], this.basePos[2]}; + int[] aint1 = new int[] { k1, j, l1 }; + int[] aint2 = new int[] { k1, j + this.leafDistanceLimit, l1 }; + if (this.checkBlockLine(aint1, aint2) == -1) { + int[] aint3 = new int[] { this.basePos[0], this.basePos[1], this.basePos[2] }; double d3 = Math.sqrt(Math.pow((double) Math.abs(this.basePos[0] - aint1[0]), 2.0D) + Math.pow((double) Math.abs(this.basePos[2] - aint1[2]), 2.0D)); double d4 = d3 * this.branchSlope; - if((double) aint1[1] - d4 > (double) l) { + if ((double) aint1[1] - d4 > (double) l) { aint3[1] = l; } else { aint3[1] = (int) ((double) aint1[1] - d4); } - if(this.checkBlockLine(aint3, aint1) == -1) { + if (this.checkBlockLine(aint3, aint1) == -1) { aint[k][0] = k1; aint[k][1] = j; aint[k][2] = l1; @@ -96,31 +97,31 @@ private void generateLeafNodeList() { System.arraycopy(aint, 0, this.leafNodes, 0, k); } - private void genTreeLayer(int par1, int par2, int par3, float par4, byte par5, int par6) { + private void genTreeLayer(int par1, int par2, int par3, float par4, byte par5, Block par6) { int i1 = (int) ((double) par4 + 0.618D); byte b1 = otherCoordPairs[par5]; byte b2 = otherCoordPairs[par5 + 3]; - int[] aint = new int[]{par1, par2, par3}; - int[] aint1 = new int[]{0, 0, 0}; + int[] aint = new int[] { par1, par2, par3 }; + int[] aint1 = new int[] { 0, 0, 0 }; int j1 = -i1; int k1 = -i1; - for(aint1[par5] = aint[par5]; j1 <= i1; ++j1) { + for (aint1[par5] = aint[par5]; j1 <= i1; ++j1) { aint1[b1] = aint[b1] + j1; k1 = -i1; - while(k1 <= i1) { + while (k1 <= i1) { double d0 = Math.pow((double) Math.abs(j1) + 0.5D, 2.0D) + Math.pow((double) Math.abs(k1) + 0.5D, 2.0D); - if(d0 > (double) (par4 * par4)) { + if (d0 > (double) (par4 * par4)) { ++k1; } else { aint1[b2] = aint[b2] + k1; - int l1 = this.worldObj.getBlockId(aint1[0], aint1[1], aint1[2]); - if(l1 != 0 && l1 != Block.leaves.blockID) { + Block l1 = this.worldObj.getBlock(aint1[0], aint1[1], aint1[2]); + if (l1 != null && l1 != Blocks.leaves) { ++k1; } else { - if(par6 != Block.leaves.blockID) { - this.setBlockAndMetadata(this.worldObj, aint1[0], aint1[1], aint1[2], par6, 0); + if (par6 != Blocks.leaves) { + this.worldObj.setBlock(aint1[0], aint1[1], aint1[2], par6); } ++k1; @@ -132,15 +133,15 @@ private void genTreeLayer(int par1, int par2, int par3, float par4, byte par5, i } private float layerSize(int par1) { - if((double) par1 < (double) ((float) this.heightLimit) * 0.3D) { + if ((double) par1 < (double) ((float) this.heightLimit) * 0.3D) { return -1.618F; } else { float f = (float) this.heightLimit / 2.0F; float f1 = (float) this.heightLimit / 2.0F - (float) par1; float f2; - if(f1 == 0.0F) { + if (f1 == 0.0F) { f2 = f; - } else if(Math.abs(f1) >= f) { + } else if (Math.abs(f1) >= f) { f2 = 0.0F; } else { f2 = (float) Math.sqrt(Math.pow((double) Math.abs(f), 2.0D) - Math.pow((double) Math.abs(f1), 2.0D)); @@ -158,30 +159,30 @@ private float leafSize(int par1) { private void generateLeafNode(int par1, int par2, int par3) { int l = par2; - for(int i1 = par2 + this.leafDistanceLimit; l < i1; ++l) { + for (int i1 = par2 + this.leafDistanceLimit; l < i1; ++l) { float f = this.leafSize(l - par2); - this.genTreeLayer(par1, l, par3, f, (byte) 1, Block.leaves.blockID); + this.genTreeLayer(par1, l, par3, f, (byte) 1, Blocks.leaves); } } - private void placeBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger, int par3) { - int[] aint2 = new int[]{0, 0, 0}; + private void placeBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger, Block par3) { + int[] aint2 = new int[] { 0, 0, 0 }; byte b0 = 0; byte b1; - for(b1 = 0; b0 < 3; ++b0) { + for (b1 = 0; b0 < 3; ++b0) { aint2[b0] = par2ArrayOfInteger[b0] - par1ArrayOfInteger[b0]; - if(Math.abs(aint2[b0]) > Math.abs(aint2[b1])) { + if (Math.abs(aint2[b0]) > Math.abs(aint2[b1])) { b1 = b0; } } - if(aint2[b1] != 0) { + if (aint2[b1] != 0) { byte b2 = otherCoordPairs[b1]; byte b3 = otherCoordPairs[b1 + 3]; byte b4; - if(aint2[b1] > 0) { + if (aint2[b1] > 0) { b4 = 1; } else { b4 = -1; @@ -189,10 +190,10 @@ private void placeBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger, double d0 = (double) aint2[b2] / (double) aint2[b1]; double d1 = (double) aint2[b3] / (double) aint2[b1]; - int[] aint3 = new int[]{0, 0, 0}; + int[] aint3 = new int[] { 0, 0, 0 }; int j = 0; - for(int k = aint2[b1] + b4; j != k; j += b4) { + for (int k = aint2[b1] + b4; j != k; j += b4) { aint3[b1] = MathHelper.floor_double((double) (par1ArrayOfInteger[b1] + j) + 0.5D); aint3[b2] = MathHelper.floor_double((double) par1ArrayOfInteger[b2] + (double) j * d0 + 0.5D); aint3[b3] = MathHelper.floor_double((double) par1ArrayOfInteger[b3] + (double) j * d1 + 0.5D); @@ -200,15 +201,15 @@ private void placeBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger, int l = Math.abs(aint3[0] - par1ArrayOfInteger[0]); int i1 = Math.abs(aint3[2] - par1ArrayOfInteger[2]); int j1 = Math.max(l, i1); - if(j1 > 0) { - if(l == j1) { + if (j1 > 0) { + if (l == j1) { b5 = 4; - } else if(i1 == j1) { + } else if (i1 == j1) { b5 = 8; } } - this.setBlockAndMetadata(this.worldObj, aint3[0], aint3[1], aint3[2], par3, b5); + this.worldObj.setBlock(aint3[0], aint3[1], aint3[2], par3, b5, 1); } } @@ -217,7 +218,7 @@ private void placeBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger, private void generateLeaves() { int i = 0; - for(int j = this.leafNodes.length; i < j; ++i) { + for (int j = this.leafNodes.length; i < j; ++i) { int k = this.leafNodes[i][0]; int l = this.leafNodes[i][1]; int i1 = this.leafNodes[i][2]; @@ -235,19 +236,19 @@ private void generateTrunk() { int j = this.basePos[1]; int k = this.basePos[1] + this.height; int l = this.basePos[2]; - int[] aint = new int[]{i, j, l}; - int[] aint1 = new int[]{i, k, l}; - this.placeBlockLine(aint, aint1, Block.wood.blockID); - if(this.trunkSize == 2) { + int[] aint = new int[] { i, j, l }; + int[] aint1 = new int[] { i, k, l }; + this.placeBlockLine(aint, aint1, Blocks.log); + if (this.trunkSize == 2) { ++aint[0]; ++aint1[0]; - this.placeBlockLine(aint, aint1, Block.wood.blockID); + this.placeBlockLine(aint, aint1, Blocks.log); ++aint[2]; ++aint1[2]; - this.placeBlockLine(aint, aint1, Block.wood.blockID); + this.placeBlockLine(aint, aint1, Blocks.log); aint[0] += -1; aint1[0] += -1; - this.placeBlockLine(aint, aint1, Block.wood.blockID); + this.placeBlockLine(aint, aint1, Blocks.log); } } @@ -256,37 +257,37 @@ private void generateLeafNodeBases() { int i = 0; int j = this.leafNodes.length; - for(int[] aint = new int[]{this.basePos[0], this.basePos[1], this.basePos[2]}; i < j; ++i) { + for (int[] aint = new int[] { this.basePos[0], this.basePos[1], this.basePos[2] }; i < j; ++i) { int[] aint1 = this.leafNodes[i]; - int[] aint2 = new int[]{aint1[0], aint1[1], aint1[2]}; + int[] aint2 = new int[] { aint1[0], aint1[1], aint1[2] }; aint[1] = aint1[3]; int k = aint[1] - this.basePos[1]; - if(this.leafNodeNeedsBase(k)) { - this.placeBlockLine(aint, aint2, (byte) Block.wood.blockID); + if (this.leafNodeNeedsBase(k)) { + this.placeBlockLine(aint, aint2, Blocks.planks); } } } private int checkBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger) { - int[] aint2 = new int[]{0, 0, 0}; + int[] aint2 = new int[] { 0, 0, 0 }; byte b0 = 0; byte b1; - for(b1 = 0; b0 < 3; ++b0) { + for (b1 = 0; b0 < 3; ++b0) { aint2[b0] = par2ArrayOfInteger[b0] - par1ArrayOfInteger[b0]; - if(Math.abs(aint2[b0]) > Math.abs(aint2[b1])) { + if (Math.abs(aint2[b0]) > Math.abs(aint2[b1])) { b1 = b0; } } - if(aint2[b1] == 0) { + if (aint2[b1] == 0) { return -1; } else { byte b2 = otherCoordPairs[b1]; byte b3 = otherCoordPairs[b1 + 3]; byte b4; - if(aint2[b1] > 0) { + if (aint2[b1] > 0) { b4 = 1; } else { b4 = -1; @@ -294,16 +295,16 @@ private int checkBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger) { double d0 = (double) aint2[b2] / (double) aint2[b1]; double d1 = (double) aint2[b3] / (double) aint2[b1]; - int[] aint3 = new int[]{0, 0, 0}; + int[] aint3 = new int[] { 0, 0, 0 }; int i = 0; int j; - for(j = aint2[b1] + b4; i != j; i += b4) { + for (j = aint2[b1] + b4; i != j; i += b4) { aint3[b1] = par1ArrayOfInteger[b1] + i; aint3[b2] = MathHelper.floor_double((double) par1ArrayOfInteger[b2] + (double) i * d0); aint3[b3] = MathHelper.floor_double((double) par1ArrayOfInteger[b3] + (double) i * d1); - int k = this.worldObj.getBlockId(aint3[0], aint3[1], aint3[2]); - if(k != 0 && k != Block.leaves.blockID) { + Block k = this.worldObj.getBlock(aint3[0], aint3[1], aint3[2]); + if (k != null && k != Blocks.leaves) { break; } } @@ -313,18 +314,17 @@ private int checkBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger) { } private boolean validTreeLocation() { - int[] aint = new int[]{this.basePos[0], this.basePos[1], this.basePos[2]}; - int[] aint1 = new int[]{this.basePos[0], this.basePos[1] + this.heightLimit - 1, this.basePos[2]}; - int i = this.worldObj.getBlockId(this.basePos[0], this.basePos[1] - 1, this.basePos[2]); - Block var10000 = Block.blocksList[i]; - boolean isValidSoil = i == Blocks.BLOCK_SAND.blockID; - if(!isValidSoil) { + int[] aint = new int[] { this.basePos[0], this.basePos[1], this.basePos[2] }; + int[] aint1 = new int[] { this.basePos[0], this.basePos[1] + this.heightLimit - 1, this.basePos[2] }; + Block i = this.worldObj.getBlock(this.basePos[0], this.basePos[1] - 1, this.basePos[2]); + boolean isValidSoil = i == AtumBlocks.BLOCK_SAND; + if (!isValidSoil) { return false; } else { int j = this.checkBlockLine(aint, aint1); - if(j == -1) { + if (j == -1) { return true; - } else if(j < 6) { + } else if (j < 6) { return false; } else { this.heightLimit = j; @@ -336,7 +336,7 @@ private boolean validTreeLocation() { @Override public void setScale(double par1, double par3, double par5) { this.heightLimitLimit = (int) (par1 * 12.0D); - if(par1 > 0.5D) { + if (par1 > 0.5D) { this.leafDistanceLimit = 5; } @@ -352,11 +352,11 @@ public boolean generate(World par1World, Random par2Random, int par3, int par4, this.basePos[0] = par3; this.basePos[1] = par4; this.basePos[2] = par5; - if(this.heightLimit == 0) { + if (this.heightLimit == 0) { this.heightLimit = 5 + this.rand.nextInt(this.heightLimitLimit); } - if(!this.validTreeLocation()) { + if (!this.validTreeLocation()) { return false; } else { this.generateLeafNodeList(); diff --git a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java similarity index 52% rename from src/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java rename to src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java index a16bf52..a0b1c14 100644 --- a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java @@ -3,15 +3,16 @@ import java.util.Random; import net.minecraft.block.Block; +import net.minecraft.init.Blocks; import net.minecraft.inventory.IInventory; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; -import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.IPlantable; +import net.minecraftforge.common.util.ForgeDirection; import com.teammetallurgy.atum.AtumLoot; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; public class WorldGenOasis extends WorldGenerator { @@ -34,42 +35,42 @@ public WorldGenOasis(boolean par1, int par2, int par3, int par4) { public boolean generate(World world, Random par2Random, int par3, int par4, int par5) { int width = par2Random.nextInt(6) + 6; int depth = par2Random.nextInt(5) + 5; - int id = world.getBlockId(par3, par4 - 1, par5); - if(id != Blocks.BLOCK_SAND.blockID) { + Block block = world.getBlock(par3, par4 - 1, par5); + if (block != AtumBlocks.BLOCK_SAND) { return false; } else { - id = world.getBlockId(par3 + width, world.getHeightValue(par3 + width, par5) - 1, par5); - if(id != Blocks.BLOCK_SAND.blockID) { + block = world.getBlock(par3 + width, world.getHeightValue(par3 + width, par5) - 1, par5); + if (block != AtumBlocks.BLOCK_SAND) { return false; } else { - id = world.getBlockId(par3, world.getHeightValue(par3, par5 + depth) - 1, par5 + depth); - if(id != Blocks.BLOCK_SAND.blockID) { + block = world.getBlock(par3, world.getHeightValue(par3, par5 + depth) - 1, par5 + depth); + if (block != AtumBlocks.BLOCK_SAND) { return false; } else { - id = world.getBlockId(par3 + width, world.getHeightValue(par3 + width, par5 + depth) - 1, par5 + depth); - if(id != Blocks.BLOCK_SAND.blockID) { + block = world.getBlock(par3 + width, world.getHeightValue(par3 + width, par5 + depth) - 1, par5 + depth); + if (block != AtumBlocks.BLOCK_SAND) { return false; } else { int minHeight = world.getHeightValue(par3, par5); int maxHeight = world.getHeightValue(par3, par5); int height = world.getHeightValue(par3 + width, par5); - if(height < minHeight) { + if (height < minHeight) { minHeight = height; - } else if(height > maxHeight) { + } else if (height > maxHeight) { maxHeight = height; } height = world.getHeightValue(par3, par5 + depth); - if(height < minHeight) { + if (height < minHeight) { minHeight = height; - } else if(height > maxHeight) { + } else if (height > maxHeight) { maxHeight = height; } height = world.getHeightValue(par3 + width, par5 + depth); - if(height < minHeight) { + if (height < minHeight) { minHeight = height; - } else if(height > maxHeight) { + } else if (height > maxHeight) { maxHeight = height; } @@ -78,32 +79,32 @@ public boolean generate(World world, Random par2Random, int par3, int par4, int int z; int dx; int y; - if(maxHeight - minHeight < 6) { + if (maxHeight - minHeight < 6) { float treeCount = (float) width / 2.0F; float chest = (float) depth / 2.0F; - for(papyrus = (int) (0.0F - treeCount - 6.0F); (float) papyrus <= treeCount + 6.0F; ++papyrus) { - for(i = (int) (0.0F - chest - 6.0F); (float) i <= chest + 6.0F; ++i) { + for (papyrus = (int) (0.0F - treeCount - 6.0F); (float) papyrus <= treeCount + 6.0F; ++papyrus) { + for (i = (int) (0.0F - chest - 6.0F); (float) i <= chest + 6.0F; ++i) { float x = (float) (papyrus * papyrus) / (treeCount * treeCount) + (float) (i * i) / (chest * chest); - if(x <= 1.0F) { + if (x <= 1.0F) { z = world.getHeightValue(papyrus + par3, i + par5); - if(world.getBlockId(papyrus + par3, z - 1, i + par5) == Blocks.BLOCK_SAND.blockID) { - world.setBlock(papyrus + par3, z - 1, i + par5, Block.waterStill.blockID); - if((double) x < 0.6D) { + if (world.getBlock(papyrus + par3, z - 1, i + par5) == AtumBlocks.BLOCK_SAND) { + world.setBlock(papyrus + par3, z - 1, i + par5, Blocks.water); + if ((double) x < 0.6D) { z = world.getHeightValue(papyrus + par3, i + par5); - world.setBlock(papyrus + par3, z - 2, i + par5, Block.waterStill.blockID); + world.setBlock(papyrus + par3, z - 2, i + par5, Blocks.water); } } } else { x = (float) (papyrus * papyrus) / ((treeCount + 4.0F) * (treeCount + 4.0F)) + (float) (i * i) / ((chest + 4.0F) * (chest + 4.0F)); z = world.getHeightValue(papyrus + par3, i + par5); - if(world.getBlockId(papyrus + par3, z - 1, i + par5) == Blocks.BLOCK_SAND.blockID && x < 1.0F) { - world.setBlock(papyrus + par3, z - 1, i + par5, Blocks.BLOCK_FERTILESOIL.blockID); - if((double) x < 0.3D && par2Random.nextInt(8) == 0) { - for(y = -1; y <= 1; ++y) { - for(dx = -1; dx <= 1; ++dx) { - if(Blocks.BLOCK_PAPYRUS.canBlockStay(world, par3 + papyrus + y, z, par5 + i + dx)) { - world.setBlock(papyrus + par3 + y, z, i + par5 + dx, Blocks.BLOCK_PAPYRUS.blockID); + if (world.getBlock(papyrus + par3, z - 1, i + par5) == AtumBlocks.BLOCK_SAND && x < 1.0F) { + world.setBlock(papyrus + par3, z - 1, i + par5, AtumBlocks.BLOCK_FERTILESOIL); + if ((double) x < 0.3D && par2Random.nextInt(8) == 0) { + for (y = -1; y <= 1; ++y) { + for (dx = -1; dx <= 1; ++dx) { + if (AtumBlocks.BLOCK_PAPYRUS.canBlockStay(world, par3 + papyrus + y, z, par5 + i + dx)) { + world.setBlock(papyrus + par3 + y, z, i + par5 + dx, AtumBlocks.BLOCK_PAPYRUS); } } } @@ -116,16 +117,16 @@ public boolean generate(World world, Random par2Random, int par3, int par4, int int var24 = 0; - for(int var26 = 0; var26 < 6; ++var26) { + for (int var26 = 0; var26 < 6; ++var26) { papyrus = par2Random.nextInt(width); i = par2Random.nextInt(depth); - id = world.getBlockId(par3 + papyrus, world.getHeightValue(par3 + papyrus, par5 + i) - 1, par5 + i); - if(id == Blocks.BLOCK_FERTILESOIL.blockID) { + block = world.getBlock(par3 + papyrus, world.getHeightValue(par3 + papyrus, par5 + i) - 1, par5 + i); + if (block == AtumBlocks.BLOCK_FERTILESOIL) { (new WorldGenPalm(true, 5, 0, 0)).generate(world, par2Random, par3 + papyrus, world.getHeightValue(par3 + papyrus, par5 + i), par5 + i); ++var24; } - if(var24 > 2) { + if (var24 > 2) { break; } } @@ -133,35 +134,35 @@ public boolean generate(World world, Random par2Random, int par3, int par4, int boolean var25 = false; boolean var27 = false; - for(i = 0; i < 10; ++i) { + for (i = 0; i < 10; ++i) { int var28 = par2Random.nextInt(width); z = par2Random.nextInt(depth); y = world.getHeightValue(par3 + var28, par5 + z); - id = world.getBlockId(par3 + var28, y - 1, par5 + z); - if(!var25 && id == Blocks.BLOCK_FERTILESOIL.blockID) { - world.setBlock(par3 + var28, y, par5 + z, Block.chest.blockID); - TileEntity var29 = world.getBlockTileEntity(par3 + var28, world.getHeightValue(par3 + var28, par5 + z), par5 + z); + block = world.getBlock(par3 + var28, y - 1, par5 + z); + if (!var25 && block == AtumBlocks.BLOCK_FERTILESOIL) { + world.setBlock(par3 + var28, y, par5 + z, Blocks.chest); + TileEntity var29 = world.getTileEntity(par3 + var28, world.getHeightValue(par3 + var28, par5 + z), par5 + z); AtumLoot.fillChest((IInventory) var29, 5, 0.2F); var25 = true; } else { int dz; - if(!var27 && Block.blocksList[id].canSustainPlant(world, par3 + var28, y, par5 + z, ForgeDirection.UP, (IPlantable) ((IPlantable) Blocks.BLOCK_PAPYRUS))) { - for(dx = -1; dx <= 1; ++dx) { - for(dz = -1; dz <= 1; ++dz) { - if(Block.blocksList[id].canSustainPlant(world, par3 + var28 + dx, y, par5 + z + dz, ForgeDirection.UP, (IPlantable) ((IPlantable) Blocks.BLOCK_PAPYRUS))) { - world.setBlock(par3 + var28, y, par5 + z, Blocks.BLOCK_PAPYRUS.blockID); + if (!var27 && block.canSustainPlant(world, par3 + var28, y, par5 + z, ForgeDirection.UP, (IPlantable) ((IPlantable) AtumBlocks.BLOCK_PAPYRUS))) { + for (dx = -1; dx <= 1; ++dx) { + for (dz = -1; dz <= 1; ++dz) { + if (block.canSustainPlant(world, par3 + var28 + dx, y, par5 + z + dz, ForgeDirection.UP, (IPlantable) ((IPlantable) AtumBlocks.BLOCK_PAPYRUS))) { + world.setBlock(par3 + var28, y, par5 + z, AtumBlocks.BLOCK_PAPYRUS); var27 = true; } } } - } else if(par2Random.nextInt(5) == 0) { - for(dx = -1; dx <= 1; ++dx) { - for(dz = -1; dz <= 1; ++dz) { + } else if (par2Random.nextInt(5) == 0) { + for (dx = -1; dx <= 1; ++dx) { + for (dz = -1; dz <= 1; ++dz) { int currentY = world.getHeightValue(par3 + var28, par5 + z); - int belowID = world.getBlockId(par3 + var28 + dx, currentY - 1, par5 + z + dz); - int currentID = world.getBlockId(par3 + var28 + dx, currentY, par5 + z + dz); - if(par2Random.nextInt(3) == 0 && belowID == Blocks.BLOCK_FERTILESOIL.blockID && currentID == 0) { - world.setBlock(par3 + var28 + dx, currentY, par5 + z + dz, Blocks.BLOCK_FLAX.blockID, 13, 0); + Block belowID = world.getBlock(par3 + var28 + dx, currentY - 1, par5 + z + dz); + Block currentID = world.getBlock(par3 + var28 + dx, currentY, par5 + z + dz); + if (par2Random.nextInt(3) == 0 && belowID == AtumBlocks.BLOCK_FERTILESOIL && currentID == null) { + world.setBlock(par3 + var28 + dx, currentY, par5 + z + dz, AtumBlocks.BLOCK_FLAX, 13, 0); } } } diff --git a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java similarity index 97% rename from src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java rename to src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java index 2bb73c0..5db59f4 100644 --- a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java @@ -3,23 +3,24 @@ import java.util.Random; import net.minecraft.block.Block; +import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; public class WorldGenPalace extends WorldGenerator { - public int largeLimestoneBricks; - public int smallLimestoneBricks; - public int carvedLimestone; - public int largeLimestoneBricksStairs; + public Block largeLimestoneBricks; + public Block smallLimestoneBricks; + public Block carvedLimestone; + public Block largeLimestoneBricksStairs; public WorldGenPalace() { - this.largeLimestoneBricks = Blocks.BLOCK_LARGEBRICK.blockID; - this.smallLimestoneBricks = Blocks.BLOCK_SMALLBRICK.blockID; - this.carvedLimestone = Blocks.BLOCK_CARVEDBRICK.blockID; - this.largeLimestoneBricksStairs = Blocks.BLOCK_LARGESTONESTAIRS.blockID; + this.largeLimestoneBricks = AtumBlocks.BLOCK_LARGEBRICK; + this.smallLimestoneBricks = AtumBlocks.BLOCK_SMALLBRICK; + this.carvedLimestone = AtumBlocks.BLOCK_CARVEDBRICK; + this.largeLimestoneBricksStairs = AtumBlocks.BLOCK_LARGESTONESTAIRS; } @Override @@ -1166,7 +1167,7 @@ public boolean generate(World world, Random random, int i, int j, int k) { world.setBlock(i + 8, j + 6, k + 47, this.largeLimestoneBricks); world.setBlock(i + 8, j + 6, k + 48, this.largeLimestoneBricks); world.setBlock(i + 8, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 16, Block.netherrack.blockID); + world.setBlock(i + 8, j + 7, k + 16, Blocks.netherrack); world.setBlock(i + 8, j + 7, k + 17, this.largeLimestoneBricks); world.setBlock(i + 8, j + 7, k + 19, this.largeLimestoneBricks); world.setBlock(i + 8, j + 7, k + 20, this.largeLimestoneBricks); @@ -1182,33 +1183,33 @@ public boolean generate(World world, Random random, int i, int j, int k) { world.setBlock(i + 8, j + 7, k + 33, this.largeLimestoneBricks); world.setBlock(i + 8, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 8, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 8, k + 16, Block.fire.blockID); - world.setBlock(i + 8, j + 8, k + 19, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 20, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 21, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 27, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 28, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 29, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 33, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 16, Blocks.fire); + world.setBlock(i + 8, j + 8, k + 19, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 20, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 21, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 23, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 24, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 25, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 27, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 28, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 29, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 31, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 32, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 33, Blocks.bookshelf); world.setBlock(i + 8, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 8, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 9, k + 19, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 20, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 21, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 27, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 28, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 29, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 33, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 19, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 20, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 21, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 23, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 24, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 25, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 27, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 28, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 29, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 31, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 32, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 33, Blocks.bookshelf); world.setBlock(i + 8, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 8, j + 10, k + 15, this.largeLimestoneBricks); world.setBlock(i + 8, j + 10, k + 17, this.largeLimestoneBricks); @@ -1459,28 +1460,28 @@ public boolean generate(World world, Random random, int i, int j, int k) { world.setBlock(i + 10, j + 2, k + 43, this.largeLimestoneBricks); world.setBlock(i + 10, j + 2, k + 48, this.largeLimestoneBricks); world.setBlock(i + 10, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 3, k + 22, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 26, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 30, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 34, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 22, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 23, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 24, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 25, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 26, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 30, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 31, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 32, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 33, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 34, Blocks.bookshelf); world.setBlock(i + 10, j + 3, k + 42, this.largeLimestoneBricks); world.setBlock(i + 10, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 4, k + 22, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 26, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 30, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 34, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 22, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 23, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 24, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 25, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 26, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 30, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 31, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 32, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 33, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 34, Blocks.bookshelf); world.setBlock(i + 10, j + 4, k + 42, this.largeLimestoneBricks); world.setBlock(i + 10, j + 5, k + 9, this.largeLimestoneBricks); world.setBlock(i + 10, j + 5, k + 14, this.largeLimestoneBricks); @@ -1687,10 +1688,10 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 11, j + 7, k + 38, this.largeLimestoneBricks); world.setBlock(i + 11, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 11, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 11, j + 8, k + 16, Blocks.bookshelf); world.setBlock(i + 11, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 11, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 11, j + 9, k + 16, Blocks.bookshelf); world.setBlock(i + 11, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 11, j + 10, k + 15, this.largeLimestoneBricks); world.setBlock(i + 11, j + 10, k + 16, this.largeLimestoneBricks); @@ -1805,10 +1806,10 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 12, j + 7, k + 16, this.largeLimestoneBricks); world.setBlock(i + 12, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 12, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 12, j + 8, k + 16, Blocks.bookshelf); world.setBlock(i + 12, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 12, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 12, j + 9, k + 16, Blocks.bookshelf); world.setBlock(i + 12, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 12, j + 10, k + 15, this.largeLimestoneBricks); world.setBlock(i + 12, j + 10, k + 16, this.largeLimestoneBricks); @@ -1946,10 +1947,10 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 13, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 13, j + 7, k + 43, this.largeLimestoneBricks); world.setBlock(i + 13, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 13, j + 8, k + 16, Blocks.bookshelf); world.setBlock(i + 13, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 13, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 13, j + 9, k + 16, Blocks.bookshelf); world.setBlock(i + 13, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 13, j + 10, k + 14, this.largeLimestoneBricks); world.setBlock(i + 13, j + 10, k + 15, this.largeLimestoneBricks); @@ -2045,11 +2046,11 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 14, j + 1, k + 47, this.largeLimestoneBricks); world.setBlock(i + 14, j + 1, k + 48, this.largeLimestoneBricks); world.setBlock(i + 14, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 2, k + 4, Block.netherrack.blockID); + world.setBlock(i + 14, j + 2, k + 4, Blocks.netherrack); world.setBlock(i + 14, j + 2, k + 14, this.largeLimestoneBricks); world.setBlock(i + 14, j + 2, k + 15, this.largeLimestoneBricks); world.setBlock(i + 14, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 3, k + 4, Block.fire.blockID); + world.setBlock(i + 14, j + 3, k + 4, Blocks.fire); world.setBlock(i + 14, j + 3, k + 15, this.largeLimestoneBricks); world.setBlock(i + 14, j + 3, k + 42, this.largeLimestoneBricks); world.setBlock(i + 14, j + 4, k + 15, this.largeLimestoneBricks); @@ -2082,10 +2083,10 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 14, j + 7, k + 41, this.largeLimestoneBricks); world.setBlock(i + 14, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 14, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 8, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 14, j + 8, k + 41, Blocks.bookshelf); world.setBlock(i + 14, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 14, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 9, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 14, j + 9, k + 41, Blocks.bookshelf); world.setBlock(i + 14, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 14, j + 10, k + 15, this.largeLimestoneBricks); world.setBlock(i + 14, j + 10, k + 41, this.largeLimestoneBricks); @@ -2181,19 +2182,19 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 15, j + 1, k + 49, this.largeLimestoneBricks); world.setBlock(i + 15, j + 2, k + 14, this.largeLimestoneBricks); world.setBlock(i + 15, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 2, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 2, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 2, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 2, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 2, k + 24, Blocks.bookshelf); + world.setBlock(i + 15, j + 2, k + 25, Blocks.bookshelf); + world.setBlock(i + 15, j + 2, k + 31, Blocks.bookshelf); + world.setBlock(i + 15, j + 2, k + 32, Blocks.bookshelf); world.setBlock(i + 15, j + 2, k + 39, this.largeLimestoneBricks); world.setBlock(i + 15, j + 2, k + 42, this.largeLimestoneBricks); world.setBlock(i + 15, j + 3, k + 14, this.largeLimestoneBricks); world.setBlock(i + 15, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 3, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 3, k + 39, Blocks.bookshelf); world.setBlock(i + 15, j + 3, k + 42, this.largeLimestoneBricks); world.setBlock(i + 15, j + 4, k + 14, this.largeLimestoneBricks); world.setBlock(i + 15, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 4, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 4, k + 39, Blocks.bookshelf); world.setBlock(i + 15, j + 4, k + 42, this.largeLimestoneBricks); world.setBlock(i + 15, j + 5, k + 14, this.largeLimestoneBricks); world.setBlock(i + 15, j + 5, k + 15, this.largeLimestoneBricks); @@ -2226,12 +2227,12 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 15, j + 7, k + 41, this.largeLimestoneBricks); world.setBlock(i + 15, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 15, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 8, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 15, j + 8, k + 41, Blocks.bookshelf); world.setBlock(i + 15, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 15, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 9, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 15, j + 9, k + 41, Blocks.bookshelf); world.setBlock(i + 15, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 15, j + 10, k + 15, this.largeLimestoneBricks); world.setBlock(i + 15, j + 10, k + 16, this.largeLimestoneBricks); @@ -2318,12 +2319,12 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 16, j + 2, k + 13, this.largeLimestoneBricks); world.setBlock(i + 16, j + 2, k + 14, this.largeLimestoneBricks); world.setBlock(i + 16, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 16, j + 2, k + 24, Blocks.bookshelf); world.setBlock(i + 16, j + 2, k + 25, this.largeLimestoneBricks); world.setBlock(i + 16, j + 2, k + 26, this.largeLimestoneBricks); world.setBlock(i + 16, j + 2, k + 30, this.largeLimestoneBricks); world.setBlock(i + 16, j + 2, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 16, j + 2, k + 32, Blocks.bookshelf); world.setBlock(i + 16, j + 2, k + 39, this.largeLimestoneBricks); world.setBlock(i + 16, j + 2, k + 42, this.largeLimestoneBricks); world.setBlock(i + 16, j + 2, k + 43, this.largeLimestoneBricks); @@ -2332,11 +2333,11 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 16, j + 3, k + 15, this.largeLimestoneBricks); world.setBlock(i + 16, j + 3, k + 25, this.largeLimestoneBricks); world.setBlock(i + 16, j + 3, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 3, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 16, j + 3, k + 39, Blocks.bookshelf); world.setBlock(i + 16, j + 3, k + 42, this.largeLimestoneBricks); world.setBlock(i + 16, j + 4, k + 14, this.largeLimestoneBricks); world.setBlock(i + 16, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 4, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 16, j + 4, k + 39, Blocks.bookshelf); world.setBlock(i + 16, j + 4, k + 42, this.largeLimestoneBricks); world.setBlock(i + 16, j + 5, k + 9, this.largeLimestoneBricks); world.setBlock(i + 16, j + 5, k + 13, this.largeLimestoneBricks); @@ -2375,12 +2376,12 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 16, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 16, j + 7, k + 43, this.largeLimestoneBricks); world.setBlock(i + 16, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 8, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 16, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 16, j + 8, k + 41, Blocks.bookshelf); world.setBlock(i + 16, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 16, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 9, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 16, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 16, j + 9, k + 41, Blocks.bookshelf); world.setBlock(i + 16, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 16, j + 10, k + 14, this.largeLimestoneBricks); world.setBlock(i + 16, j + 10, k + 15, this.largeLimestoneBricks); @@ -2481,13 +2482,13 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 17, j + 3, k + 14, this.largeLimestoneBricks); world.setBlock(i + 17, j + 3, k + 15, this.largeLimestoneBricks); world.setBlock(i + 17, j + 3, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 3, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 17, j + 3, k + 39, Blocks.bookshelf); world.setBlock(i + 17, j + 3, k + 42, this.largeLimestoneBricks); world.setBlock(i + 17, j + 4, k + 13, this.largeLimestoneBricks); world.setBlock(i + 17, j + 4, k + 14, this.largeLimestoneBricks); world.setBlock(i + 17, j + 4, k + 15, this.largeLimestoneBricks); world.setBlock(i + 17, j + 4, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 4, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 17, j + 4, k + 39, Blocks.bookshelf); world.setBlock(i + 17, j + 4, k + 42, this.largeLimestoneBricks); world.setBlock(i + 17, j + 5, k + 12, this.largeLimestoneBricks); world.setBlock(i + 17, j + 5, k + 13, this.largeLimestoneBricks); @@ -2521,10 +2522,10 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 17, j + 7, k + 16, this.largeLimestoneBricks); world.setBlock(i + 17, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 17, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 17, j + 8, k + 16, Blocks.bookshelf); world.setBlock(i + 17, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 17, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 17, j + 9, k + 16, Blocks.bookshelf); world.setBlock(i + 17, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 17, j + 10, k + 15, this.largeLimestoneBricks); world.setBlock(i + 17, j + 10, k + 16, this.largeLimestoneBricks); @@ -2647,12 +2648,12 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 18, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 18, j + 8, k + 14, this.largeLimestoneBricks); world.setBlock(i + 18, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 8, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 18, j + 8, k + 41, Blocks.bookshelf); world.setBlock(i + 18, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 18, j + 9, k + 13, this.largeLimestoneBricks); world.setBlock(i + 18, j + 9, k + 14, this.largeLimestoneBricks); world.setBlock(i + 18, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 9, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 18, j + 9, k + 41, Blocks.bookshelf); world.setBlock(i + 18, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 18, j + 10, k + 14, this.largeLimestoneBricks); world.setBlock(i + 18, j + 10, k + 15, this.largeLimestoneBricks); @@ -2777,12 +2778,12 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 19, j + 7, k + 41, this.largeLimestoneBricks); world.setBlock(i + 19, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 19, j + 7, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 8, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 19, j + 8, k + 41, Blocks.bookshelf); world.setBlock(i + 19, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 19, j + 9, k + 13, this.carvedLimestone); world.setBlock(i + 19, j + 9, k + 14, this.largeLimestoneBricks); world.setBlock(i + 19, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 9, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 19, j + 9, k + 41, Blocks.bookshelf); world.setBlock(i + 19, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 19, j + 10, k + 13, this.largeLimestoneBricks); world.setBlock(i + 19, j + 10, k + 14, this.largeLimestoneBricks); @@ -2909,12 +2910,12 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 20, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 20, j + 8, k + 14, this.largeLimestoneBricks); world.setBlock(i + 20, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 8, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 20, j + 8, k + 41, Blocks.bookshelf); world.setBlock(i + 20, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 20, j + 9, k + 13, this.largeLimestoneBricks); world.setBlock(i + 20, j + 9, k + 14, this.largeLimestoneBricks); world.setBlock(i + 20, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 9, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 20, j + 9, k + 41, Blocks.bookshelf); world.setBlock(i + 20, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 20, j + 10, k + 14, this.largeLimestoneBricks); world.setBlock(i + 20, j + 10, k + 15, this.largeLimestoneBricks); @@ -3014,13 +3015,13 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 21, j + 3, k + 14, this.largeLimestoneBricks); world.setBlock(i + 21, j + 3, k + 15, this.largeLimestoneBricks); world.setBlock(i + 21, j + 3, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 3, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 21, j + 3, k + 39, Blocks.bookshelf); world.setBlock(i + 21, j + 3, k + 42, this.largeLimestoneBricks); world.setBlock(i + 21, j + 4, k + 13, this.largeLimestoneBricks); world.setBlock(i + 21, j + 4, k + 14, this.largeLimestoneBricks); world.setBlock(i + 21, j + 4, k + 15, this.largeLimestoneBricks); world.setBlock(i + 21, j + 4, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 4, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 21, j + 4, k + 39, Blocks.bookshelf); world.setBlock(i + 21, j + 4, k + 42, this.largeLimestoneBricks); world.setBlock(i + 21, j + 5, k + 12, this.largeLimestoneBricks); world.setBlock(i + 21, j + 5, k + 13, this.largeLimestoneBricks); @@ -3059,10 +3060,10 @@ public boolean generate3(World world, Random rand, int i, int j, int k) { world.setBlock(i + 21, j + 7, k + 16, this.largeLimestoneBricks); world.setBlock(i + 21, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 21, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 21, j + 8, k + 16, Blocks.bookshelf); world.setBlock(i + 21, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 21, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 21, j + 9, k + 16, Blocks.bookshelf); world.setBlock(i + 21, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 21, j + 10, k + 15, this.largeLimestoneBricks); world.setBlock(i + 21, j + 10, k + 16, this.largeLimestoneBricks); @@ -3148,12 +3149,12 @@ public boolean generate3(World world, Random rand, int i, int j, int k) { world.setBlock(i + 22, j + 2, k + 13, this.largeLimestoneBricks); world.setBlock(i + 22, j + 2, k + 14, this.largeLimestoneBricks); world.setBlock(i + 22, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 22, j + 2, k + 24, Blocks.bookshelf); world.setBlock(i + 22, j + 2, k + 25, this.largeLimestoneBricks); world.setBlock(i + 22, j + 2, k + 26, this.largeLimestoneBricks); world.setBlock(i + 22, j + 2, k + 30, this.largeLimestoneBricks); world.setBlock(i + 22, j + 2, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 22, j + 2, k + 32, Blocks.bookshelf); world.setBlock(i + 22, j + 2, k + 39, this.largeLimestoneBricks); world.setBlock(i + 22, j + 2, k + 42, this.largeLimestoneBricks); world.setBlock(i + 22, j + 2, k + 43, this.largeLimestoneBricks); @@ -3162,11 +3163,11 @@ public boolean generate3(World world, Random rand, int i, int j, int k) { world.setBlock(i + 22, j + 3, k + 15, this.largeLimestoneBricks); world.setBlock(i + 22, j + 3, k + 25, this.largeLimestoneBricks); world.setBlock(i + 22, j + 3, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 3, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 22, j + 3, k + 39, Blocks.bookshelf); world.setBlock(i + 22, j + 3, k + 42, this.largeLimestoneBricks); world.setBlock(i + 22, j + 4, k + 14, this.largeLimestoneBricks); world.setBlock(i + 22, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 4, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 22, j + 4, k + 39, Blocks.bookshelf); world.setBlock(i + 22, j + 4, k + 42, this.largeLimestoneBricks); world.setBlock(i + 22, j + 5, k + 9, this.largeLimestoneBricks); world.setBlock(i + 22, j + 5, k + 13, this.largeLimestoneBricks); @@ -3205,12 +3206,12 @@ public boolean generate3(World world, Random rand, int i, int j, int k) { world.setBlock(i + 22, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 22, j + 7, k + 43, this.largeLimestoneBricks); world.setBlock(i + 22, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 8, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 22, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 22, j + 8, k + 41, Blocks.bookshelf); world.setBlock(i + 22, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 22, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 9, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 22, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 22, j + 9, k + 41, Blocks.bookshelf); world.setBlock(i + 22, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 22, j + 10, k + 14, this.largeLimestoneBricks); world.setBlock(i + 22, j + 10, k + 15, this.largeLimestoneBricks); @@ -3309,17 +3310,17 @@ public boolean generate3(World world, Random rand, int i, int j, int k) { world.setBlock(i + 23, j + 1, k + 49, this.largeLimestoneBricks); world.setBlock(i + 23, j + 2, k + 14, this.largeLimestoneBricks); world.setBlock(i + 23, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 2, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 2, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 2, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 2, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 2, k + 24, Blocks.bookshelf); + world.setBlock(i + 23, j + 2, k + 25, Blocks.bookshelf); + world.setBlock(i + 23, j + 2, k + 31, Blocks.bookshelf); + world.setBlock(i + 23, j + 2, k + 32, Blocks.bookshelf); world.setBlock(i + 23, j + 2, k + 39, this.largeLimestoneBricks); world.setBlock(i + 23, j + 2, k + 42, this.largeLimestoneBricks); world.setBlock(i + 23, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 3, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 3, k + 39, Blocks.bookshelf); world.setBlock(i + 23, j + 3, k + 42, this.largeLimestoneBricks); world.setBlock(i + 23, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 4, k + 39, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 4, k + 39, Blocks.bookshelf); world.setBlock(i + 23, j + 4, k + 42, this.largeLimestoneBricks); world.setBlock(i + 23, j + 5, k + 14, this.largeLimestoneBricks); world.setBlock(i + 23, j + 5, k + 15, this.largeLimestoneBricks); @@ -3352,12 +3353,12 @@ public boolean generate3(World world, Random rand, int i, int j, int k) { world.setBlock(i + 23, j + 7, k + 41, this.largeLimestoneBricks); world.setBlock(i + 23, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 23, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 8, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 23, j + 8, k + 41, Blocks.bookshelf); world.setBlock(i + 23, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 23, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 9, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 23, j + 9, k + 41, Blocks.bookshelf); world.setBlock(i + 23, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 23, j + 10, k + 15, this.largeLimestoneBricks); world.setBlock(i + 23, j + 10, k + 16, this.largeLimestoneBricks); @@ -3452,10 +3453,10 @@ public boolean generate3(World world, Random rand, int i, int j, int k) { world.setBlock(i + 24, j + 1, k + 47, this.largeLimestoneBricks); world.setBlock(i + 24, j + 1, k + 48, this.largeLimestoneBricks); world.setBlock(i + 24, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 2, k + 4, Block.netherrack.blockID); + world.setBlock(i + 24, j + 2, k + 4, Blocks.netherrack); world.setBlock(i + 24, j + 2, k + 15, this.largeLimestoneBricks); world.setBlock(i + 24, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 3, k + 4, Block.fire.blockID); + world.setBlock(i + 24, j + 3, k + 4, Blocks.fire); world.setBlock(i + 24, j + 3, k + 15, this.largeLimestoneBricks); world.setBlock(i + 24, j + 3, k + 42, this.largeLimestoneBricks); world.setBlock(i + 24, j + 4, k + 15, this.largeLimestoneBricks); @@ -3488,10 +3489,10 @@ public boolean generate3(World world, Random rand, int i, int j, int k) { world.setBlock(i + 24, j + 7, k + 41, this.largeLimestoneBricks); world.setBlock(i + 24, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 24, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 8, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 24, j + 8, k + 41, Blocks.bookshelf); world.setBlock(i + 24, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 24, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 9, k + 41, Block.bookShelf.blockID); + world.setBlock(i + 24, j + 9, k + 41, Blocks.bookshelf); world.setBlock(i + 24, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 24, j + 10, k + 15, this.largeLimestoneBricks); world.setBlock(i + 24, j + 10, k + 41, this.largeLimestoneBricks); @@ -3629,10 +3630,10 @@ public boolean generate3(World world, Random rand, int i, int j, int k) { world.setBlock(i + 25, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 25, j + 7, k + 43, this.largeLimestoneBricks); world.setBlock(i + 25, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 25, j + 8, k + 16, Blocks.bookshelf); world.setBlock(i + 25, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 25, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 25, j + 9, k + 16, Blocks.bookshelf); world.setBlock(i + 25, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 25, j + 10, k + 14, this.largeLimestoneBricks); world.setBlock(i + 25, j + 10, k + 15, this.largeLimestoneBricks); @@ -3747,10 +3748,10 @@ public boolean generate3(World world, Random rand, int i, int j, int k) { world.setBlock(i + 26, j + 7, k + 16, this.largeLimestoneBricks); world.setBlock(i + 26, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 26, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 26, j + 8, k + 16, Blocks.bookshelf); world.setBlock(i + 26, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 26, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 26, j + 9, k + 16, Blocks.bookshelf); world.setBlock(i + 26, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 26, j + 10, k + 15, this.largeLimestoneBricks); world.setBlock(i + 26, j + 10, k + 16, this.largeLimestoneBricks); @@ -3887,10 +3888,10 @@ public boolean generate3(World world, Random rand, int i, int j, int k) { world.setBlock(i + 27, j + 7, k + 38, this.largeLimestoneBricks); world.setBlock(i + 27, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 27, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 27, j + 8, k + 16, Blocks.bookshelf); world.setBlock(i + 27, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 27, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 27, j + 9, k + 16, Blocks.bookshelf); world.setBlock(i + 27, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 27, j + 10, k + 15, this.largeLimestoneBricks); world.setBlock(i + 27, j + 10, k + 16, this.largeLimestoneBricks); @@ -3988,28 +3989,28 @@ public boolean generate3(World world, Random rand, int i, int j, int k) { world.setBlock(i + 28, j + 2, k + 43, this.largeLimestoneBricks); world.setBlock(i + 28, j + 2, k + 48, this.largeLimestoneBricks); world.setBlock(i + 28, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 3, k + 22, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 26, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 30, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 34, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 22, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 23, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 24, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 25, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 26, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 30, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 31, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 32, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 33, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 34, Blocks.bookshelf); world.setBlock(i + 28, j + 3, k + 42, this.largeLimestoneBricks); world.setBlock(i + 28, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 4, k + 22, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 26, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 30, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 34, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 22, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 23, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 24, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 25, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 26, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 30, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 31, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 32, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 33, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 34, Blocks.bookshelf); world.setBlock(i + 28, j + 4, k + 42, this.largeLimestoneBricks); world.setBlock(i + 28, j + 5, k + 9, this.largeLimestoneBricks); world.setBlock(i + 28, j + 5, k + 14, this.largeLimestoneBricks); @@ -4352,7 +4353,7 @@ public boolean generate3(World world, Random rand, int i, int j, int k) { world.setBlock(i + 30, j + 6, k + 47, this.largeLimestoneBricks); world.setBlock(i + 30, j + 6, k + 48, this.largeLimestoneBricks); world.setBlock(i + 30, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 16, Block.netherrack.blockID); + world.setBlock(i + 30, j + 7, k + 16, Blocks.netherrack); world.setBlock(i + 30, j + 7, k + 17, this.largeLimestoneBricks); world.setBlock(i + 30, j + 7, k + 19, this.largeLimestoneBricks); world.setBlock(i + 30, j + 7, k + 20, this.largeLimestoneBricks); @@ -4368,33 +4369,33 @@ public boolean generate3(World world, Random rand, int i, int j, int k) { world.setBlock(i + 30, j + 7, k + 33, this.largeLimestoneBricks); world.setBlock(i + 30, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 30, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 8, k + 16, Block.fire.blockID); - world.setBlock(i + 30, j + 8, k + 19, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 20, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 21, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 27, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 28, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 29, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 33, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 16, Blocks.fire); + world.setBlock(i + 30, j + 8, k + 19, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 20, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 21, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 23, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 24, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 25, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 27, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 28, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 29, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 31, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 32, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 33, Blocks.bookshelf); world.setBlock(i + 30, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 30, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 9, k + 19, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 20, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 21, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 27, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 28, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 29, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 33, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 19, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 20, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 21, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 23, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 24, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 25, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 27, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 28, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 29, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 31, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 32, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 33, Blocks.bookshelf); world.setBlock(i + 30, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 30, j + 10, k + 15, this.largeLimestoneBricks); world.setBlock(i + 30, j + 10, k + 16, this.largeLimestoneBricks); @@ -5738,7 +5739,7 @@ public boolean generate4(World world, Random rand, int i, int j, int k) { world.setBlockMetadataWithNotify(i + 11, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); world.setBlockMetadataWithNotify(i + 11, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); world.setBlockMetadataWithNotify(i + 11, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 11, j + 7, k + 28, Block.torchWood.blockID, 5); + world.setBlockMetadataWithNotify(i + 11, j + 7, k + 28, Block.torchWood, 5); world.setBlockMetadataWithNotify(i + 11, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); world.setBlock(i + 11, j + 8, k + 19, this.smallLimestoneBricks); world.setBlock(i + 11, j + 8, k + 38, this.smallLimestoneBricks); @@ -5811,9 +5812,9 @@ public boolean generate4(World world, Random rand, int i, int j, int k) { world.setBlockMetadataWithNotify(i + 17, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); world.setBlockMetadataWithNotify(i + 17, j + 2, k + 24, this.largeLimestoneBricksStairs, 2); world.setBlockMetadataWithNotify(i + 17, j + 2, k + 32, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 17, j + 3, k + 12, Block.torchWood.blockID, 4); - world.setBlockMetadataWithNotify(i + 17, j + 3, k + 26, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 17, j + 3, k + 30, Block.torchWood.blockID, 5); + world.setBlockMetadataWithNotify(i + 17, j + 3, k + 12, Block.torchWood, 4); + world.setBlockMetadataWithNotify(i + 17, j + 3, k + 26, Block.torchWood, 5); + world.setBlockMetadataWithNotify(i + 17, j + 3, k + 30, Block.torchWood, 5); world.setBlockMetadataWithNotify(i + 17, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); world.setBlockMetadataWithNotify(i + 17, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); world.setBlockMetadataWithNotify(i + 17, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); @@ -5823,7 +5824,7 @@ public boolean generate4(World world, Random rand, int i, int j, int k) { world.setBlockMetadataWithNotify(i + 18, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); world.setBlockMetadataWithNotify(i + 18, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); world.setBlock(i + 18, j + 2, k + 14, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 18, j + 2, k + 17, Block.torchWood.blockID, 5); + world.setBlockMetadataWithNotify(i + 18, j + 2, k + 17, Block.torchWood, 5); world.setBlockMetadataWithNotify(i + 18, j + 2, k + 25, this.largeLimestoneBricksStairs, 2); world.setBlockMetadataWithNotify(i + 18, j + 2, k + 31, this.largeLimestoneBricksStairs, 3); world.setBlock(i + 18, j + 3, k + 14, this.smallLimestoneBricks); @@ -5850,8 +5851,8 @@ public boolean generate4(World world, Random rand, int i, int j, int k) { world.setBlockMetadataWithNotify(i + 19, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); world.setBlockMetadataWithNotify(i + 19, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); world.setBlockMetadataWithNotify(i + 19, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 19, j + 7, k + 19, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 19, j + 7, k + 38, Block.torchWood.blockID, 5); + world.setBlockMetadataWithNotify(i + 19, j + 7, k + 19, Block.torchWood, 5); + world.setBlockMetadataWithNotify(i + 19, j + 7, k + 38, Block.torchWood, 5); world.setBlockMetadataWithNotify(i + 19, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); world.setBlock(i + 19, j + 8, k + 43, this.smallLimestoneBricks); world.setBlockMetadataWithNotify(i + 19, j + 9, k + 16, this.largeLimestoneBricksStairs, 7); @@ -5876,9 +5877,9 @@ public boolean generate4(World world, Random rand, int i, int j, int k) { world.setBlockMetadataWithNotify(i + 21, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); world.setBlockMetadataWithNotify(i + 21, j + 2, k + 24, this.largeLimestoneBricksStairs, 2); world.setBlockMetadataWithNotify(i + 21, j + 2, k + 32, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 21, j + 3, k + 12, Block.torchWood.blockID, 4); - world.setBlockMetadataWithNotify(i + 21, j + 3, k + 26, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 21, j + 3, k + 30, Block.torchWood.blockID, 5); + world.setBlockMetadataWithNotify(i + 21, j + 3, k + 12, Block.torchWood, 4); + world.setBlockMetadataWithNotify(i + 21, j + 3, k + 26, Block.torchWood, 5); + world.setBlockMetadataWithNotify(i + 21, j + 3, k + 30, Block.torchWood, 5); world.setBlockMetadataWithNotify(i + 21, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); world.setBlockMetadataWithNotify(i + 21, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); world.setBlockMetadataWithNotify(i + 21, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); @@ -5955,7 +5956,7 @@ public boolean generate4(World world, Random rand, int i, int j, int k) { world.setBlockMetadataWithNotify(i + 27, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); world.setBlockMetadataWithNotify(i + 27, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); world.setBlockMetadataWithNotify(i + 27, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 27, j + 7, k + 28, Block.torchWood.blockID, 5); + world.setBlockMetadataWithNotify(i + 27, j + 7, k + 28, Block.torchWood, 5); world.setBlockMetadataWithNotify(i + 27, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); world.setBlock(i + 27, j + 8, k + 19, this.smallLimestoneBricks); world.setBlock(i + 27, j + 8, k + 38, this.smallLimestoneBricks); diff --git a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java similarity index 70% rename from src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java rename to src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java index bbda595..06995ac 100644 --- a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java @@ -3,10 +3,11 @@ import java.util.Random; import net.minecraft.block.Block; +import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; public class WorldGenPalm extends WorldGenerator { @@ -29,11 +30,11 @@ public WorldGenPalm(boolean par1, int par2, int par3, int par4) { public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) { int l = par2Random.nextInt(3) + this.minTreeHeight; boolean flag = true; - int id = par1World.getBlockId(par3, par4 - 1, par5); - if((id == Blocks.BLOCK_SAND.blockID || id == Blocks.BLOCK_FERTILESOIL.blockID || id == Block.dirt.blockID) && par4 >= 1 && par4 + l + 1 <= 256) { + Block id = par1World.getBlock(par3, par4 - 1, par5); + if((id == AtumBlocks.BLOCK_SAND || id == AtumBlocks.BLOCK_FERTILESOIL || id == Blocks.dirt) && par4 >= 1 && par4 + l + 1 <= 256) { int i1; int j1; - int k1; + Block block; for(i1 = par4; i1 <= par4 + 1 + l; ++i1) { byte b0 = 1; if(i1 == par4) { @@ -47,9 +48,8 @@ public boolean generate(World par1World, Random par2Random, int par3, int par4, for(int soil = par3 - b0; soil <= par3 + b0 && flag; ++soil) { for(j1 = par5 - b0; j1 <= par5 + b0 && flag; ++j1) { if(i1 >= 0 && i1 < 256) { - k1 = par1World.getBlockId(soil, i1, j1); - Block b1 = Block.blocksList[k1]; - if(k1 != 0 && !b1.isLeaves(par1World, soil, i1, j1) && k1 != Blocks.BLOCK_FERTILESOIL.blockID && k1 != Block.dirt.blockID && !b1.isWood(par1World, soil, i1, j1)) { + block = par1World.getBlock(soil, i1, j1); + if(block != null && !block.isLeaves(par1World, soil, i1, j1) && block != AtumBlocks.BLOCK_FERTILESOIL && block != Blocks.dirt && !block.isWood(par1World, soil, i1, j1)) { flag = false; } } else { @@ -62,7 +62,7 @@ public boolean generate(World par1World, Random par2Random, int par3, int par4, if(!flag) { return false; } else { - i1 = par1World.getBlockId(par3, par4 - 1, par5); + i1 = par1World.getBlock(par3, par4 - 1, par5); Block var21 = Block.blocksList[i1]; if(par4 >= 256 - l - 1) { return false; @@ -96,26 +96,26 @@ public boolean generate(World par1World, Random par2Random, int par3, int par4, this.spawnLeaf(par1World, par3 + 3, par4 + l - 1, par5); this.spawnLeaf(par1World, par3 - 3, par4 + l - 1, par5); if(par2Random.nextInt(100) < 15) { - par1World.setBlock(par3 + 1, par4 + l - 1, par5, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); + par1World.setBlock(par3 + 1, par4 + l - 1, par5, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); } if(par2Random.nextInt(100) < 15) { - par1World.setBlock(par3 - 1, par4 + l - 1, par5, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); + par1World.setBlock(par3 - 1, par4 + l - 1, par5, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); } if(par2Random.nextInt(100) < 15) { - par1World.setBlock(par3, par4 + l - 1, par5 + 1, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); + par1World.setBlock(par3, par4 + l - 1, par5 + 1, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); } if(par2Random.nextInt(100) < 15) { - par1World.setBlock(par3, par4 + l - 1, par5 - 1, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); + par1World.setBlock(par3, par4 + l - 1, par5 - 1, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); } for(j1 = 0; j1 <= l; ++j1) { - k1 = par1World.getBlockId(par3, par4 + j1, par5); - Block var23 = Block.blocksList[k1]; - if(k1 == 0 || var23 == null || var23.isLeaves(par1World, par3, par4 + j1, par5)) { - this.setBlockAndMetadata(par1World, par3, par4 + j1, par5, Blocks.BLOCK_LOG.blockID, this.metaWood); + block = par1World.getBlockId(par3, par4 + j1, par5); + Block var23 = Block.blocksList[block]; + if(block == 0 || var23 == null || var23.isLeaves(par1World, par3, par4 + j1, par5)) { + this.setBlockAndMetadata(par1World, par3, par4 + j1, par5, AtumBlocks.BLOCK_LOG, this.metaWood); } } @@ -131,7 +131,7 @@ public void spawnLeaf(World par1World, int x, int y, int z) { int j3 = par1World.getBlockId(x, y, z); Block block = Block.blocksList[j3]; if(block == null || block.canBeReplacedByLeaves(par1World, x, y, z)) { - this.setBlockAndMetadata(par1World, x, y, z, Blocks.BLOCK_LEAVES.blockID, this.metaLeaves); + this.setBlockAndMetadata(par1World, x, y, z, AtumBlocks.BLOCK_LEAVES, this.metaLeaves); } } diff --git a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java similarity index 76% rename from src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java rename to src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java index 98b9a4f..ed3d5e0 100644 --- a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java @@ -1,19 +1,15 @@ package com.teammetallurgy.atum.worldgen.decorators; -import static net.minecraftforge.common.ForgeDirection.EAST; -import static net.minecraftforge.common.ForgeDirection.NORTH; -import static net.minecraftforge.common.ForgeDirection.SOUTH; -import static net.minecraftforge.common.ForgeDirection.WEST; - import java.util.ArrayList; import java.util.Random; import net.minecraft.block.Block; +import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; import com.teammetallurgy.atum.AtumLoot; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.blocks.tileentity.TileEntityPharaohChest; public class WorldGenPyramid extends WorldGenerator { @@ -56,8 +52,8 @@ public boolean generate(World world, Random random, int i, int j, int k) { for(int x = y; x <= width - y; x++) { for(int z = y; z <= depth - y; z++) { int id = world.getBlockId(x + i, y + j + 3, z + k); - if(id == 0 || id == Blocks.BLOCK_SAND.blockID) - world.setBlock(x + i, y + j + 3, z + k, Blocks.BLOCK_LARGEBRICK.blockID, 1, 0); + if(id == 0 || id == AtumBlocks.BLOCK_SAND) + world.setBlock(x + i, y + j + 3, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); } } } @@ -65,21 +61,21 @@ public boolean generate(World world, Random random, int i, int j, int k) { for(int x = -3; x < width + 3; x++) { for(int z = -3; z < depth + 3; z++) { if(x >= 0 && x < width && z >= 0 && z < depth) { - world.setBlock(x + i, j - 1, z + k, Blocks.BLOCK_STONE.blockID); + world.setBlock(x + i, j - 1, z + k, AtumBlocks.BLOCK_STONE); if(!maze[x][z]) { if(random.nextFloat() > 0.1F) - world.setBlock(x + i, j, z + k, Blocks.BLOCK_LARGEBRICK.blockID, 1, 0); + world.setBlock(x + i, j, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); else placeTrap(world, x + i, j, z + k); - world.setBlock(x + i, j + 1, z + k, Blocks.BLOCK_LARGEBRICK.blockID, 1, 0); - world.setBlock(x + i, j + 2, z + k, Blocks.BLOCK_LARGEBRICK.blockID, 1, 0); + world.setBlock(x + i, j + 1, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); + world.setBlock(x + i, j + 2, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); } else { int meta = random.nextInt(5); - world.setBlock(x + i, j, z + k, Blocks.BLOCK_SANDLAYERED.blockID, meta, 0); + world.setBlock(x + i, j, z + k, AtumBlocks.BLOCK_SANDLAYERED, meta, 0); world.setBlockToAir(x + i, j + 1, z + k); world.setBlockToAir(x + i, j + 2, z + k); } - world.setBlock(x + i, j + 3, z + k, Blocks.BLOCK_LARGEBRICK.blockID, 1, 0); + world.setBlock(x + i, j + 3, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); } } } @@ -101,12 +97,12 @@ public boolean generate(World world, Random random, int i, int j, int k) { } } - world.setBlock(i + 11, j + 6, k + 7, Block.torchWood.blockID, 2, 0); - world.setBlock(i + 11, j + 6, k + 10, Block.torchWood.blockID, 2, 0); + world.setBlock(i + 11, j + 6, k + 7, Blocks.torch, 2, 0); + world.setBlock(i + 11, j + 6, k + 10, Blocks.torch, 2, 0); - world.setBlock(i + 10, j + 4, k + 8, Blocks.BLOCK_PHARAOHCHEST.blockID, 0, 2); + world.setBlock(i + 10, j + 4, k + 8, AtumBlocks.BLOCK_PHARAOHCHEST, 0, 2); try { - TileEntityPharaohChest te = (TileEntityPharaohChest) world.getBlockTileEntity(i + 10, j + 4, k + 8); + TileEntityPharaohChest te = (TileEntityPharaohChest) world.getTileEntity(i + 10, j + 4, k + 8); AtumLoot.fillChest(te, 15, 0.9f); } catch(ClassCastException e) { } @@ -150,7 +146,7 @@ public void placeTrap(World world, int x, int y, int z) { meta = 5; } - world.setBlock(x, y, z, Blocks.BLOCK_TRAPARROW.blockID, meta, 0); + world.setBlock(x, y, z, AtumBlocks.BLOCK_TRAPARROW, meta, 0); } public void placeLadders(World world, int x, int y, int z, int height) { @@ -173,7 +169,7 @@ public void placeLadders(World world, int x, int y, int z, int height) { } for(int i = 0; i < height; i++) - world.setBlock(x, y + i, z, Block.ladder.blockID, meta, 0); + world.setBlock(x, y + i, z, Block.ladder, meta, 0); } public void generateMaze(boolean[][] array, Random random, int x, int y) { diff --git a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java similarity index 51% rename from src/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java rename to src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java index 6eb291d..fe8c7dc 100644 --- a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java @@ -7,7 +7,7 @@ import net.minecraft.world.gen.feature.WorldGenerator; import com.teammetallurgy.atum.AtumLoot; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; public class WorldGenRuins extends WorldGenerator { @Override @@ -17,17 +17,17 @@ public boolean generate(World world, Random random, int i, int j, int k) { int height = world.getHeightValue(i, k); int x2; int z2; - if(world.getHeightValue(i + width, k + depth) >= height) { + if (world.getHeightValue(i + width, k + depth) >= height) { x2 = i + width; z2 = k + depth; - } else if(world.getHeightValue(i - width, k + depth) >= height) { + } else if (world.getHeightValue(i - width, k + depth) >= height) { x2 = i - width; z2 = k + depth; - } else if(world.getHeightValue(i + width, k - depth) >= height) { + } else if (world.getHeightValue(i + width, k - depth) >= height) { x2 = i + width; z2 = k - depth; } else { - if(world.getHeightValue(i - width, k - depth) < height) { + if (world.getHeightValue(i - width, k - depth) < height) { return false; } @@ -38,24 +38,24 @@ public boolean generate(World world, Random random, int i, int j, int k) { int chestX; int chestZ; int chestY; - for(chestX = Math.min(x2, i); chestX <= Math.max(x2, i); ++chestX) { - for(chestZ = Math.min(z2, k); chestZ <= Math.max(z2, k); ++chestZ) { + for (chestX = Math.min(x2, i); chestX <= Math.max(x2, i); ++chestX) { + for (chestZ = Math.min(z2, k); chestZ <= Math.max(z2, k); ++chestZ) { int meta = random.nextInt(4); - for(chestY = -1; chestY < 15; ++chestY) { - if(chestX != x2 && chestZ != z2 && chestX != i && chestZ != k && chestY != -1) { + for (chestY = -1; chestY < 15; ++chestY) { + if (chestX != x2 && chestZ != z2 && chestX != i && chestZ != k && chestY != -1) { world.setBlockToAir(chestX, chestY + height, chestZ); - } else if(chestY < meta) { - if((double) random.nextFloat() > 0.1D) { - world.setBlock(chestX, chestY + height, chestZ, Blocks.BLOCK_LARGEBRICK.blockID); + } else if (chestY < meta) { + if ((double) random.nextFloat() > 0.1D) { + world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_LARGEBRICK); } else { - world.setBlock(chestX, chestY + height, chestZ, Blocks.BLOCK_SMALLBRICK.blockID); + world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_SMALLBRICK); } - } else if(chestY == meta && (double) random.nextFloat() > 0.7D) { - if((double) random.nextFloat() > 0.1D) { - world.setBlock(chestX, chestY + height, chestZ, Blocks.BLOCK_SLABS.blockID, 2, 0); + } else if (chestY == meta && (double) random.nextFloat() > 0.7D) { + if ((double) random.nextFloat() > 0.1D) { + world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_SLABS, 2, 0); } else { - world.setBlock(chestX, chestY + height, chestZ, Blocks.BLOCK_SLABS.blockID, 3, 0); + world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_SLABS, 3, 0); } } } @@ -65,9 +65,9 @@ public boolean generate(World world, Random random, int i, int j, int k) { chestX = width / 2 + i; chestZ = Math.max(z2, k) - 1; boolean var16 = false; - if((double) random.nextFloat() > 0.5D) { + if ((double) random.nextFloat() > 0.5D) { chestX = random.nextInt(width - 1) + 1 + Math.min(i, x2); - if((double) random.nextFloat() > 0.5D) { + if ((double) random.nextFloat() > 0.5D) { chestZ = Math.max(z2, k) - 1; var16 = true; } else { @@ -76,7 +76,7 @@ public boolean generate(World world, Random random, int i, int j, int k) { } } else { chestZ = random.nextInt(depth - 1) + 1 + Math.min(k, z2); - if((double) random.nextFloat() > 0.5D) { + if ((double) random.nextFloat() > 0.5D) { chestX = Math.max(x2, i) - 1; var16 = true; } else { @@ -86,8 +86,8 @@ public boolean generate(World world, Random random, int i, int j, int k) { } chestY = world.getHeightValue(chestX, chestZ); - world.setBlock(chestX, chestY, chestZ, Blocks.BLOCK_CURSEDCHEST.blockID, 0, 2); - IInventory chest = (IInventory) world.getBlockTileEntity(chestX, chestY, chestZ); + world.setBlock(chestX, chestY, chestZ, AtumBlocks.BLOCK_CURSEDCHEST, 0, 2); + IInventory chest = (IInventory) world.getTileEntity(chestX, chestY, chestZ); AtumLoot.fillChest(chest, 5, 0.5F); return false; } diff --git a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java similarity index 68% rename from src/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java rename to src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java index 4ffe825..6bc1b25 100644 --- a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java @@ -2,18 +2,19 @@ import java.util.Random; -import com.teammetallurgy.atum.blocks.Blocks; - +import net.minecraft.block.Block; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; +import com.teammetallurgy.atum.blocks.AtumBlocks; + public class WorldGenShrub extends WorldGenerator { - private int deadBushID; + private Block deadBush; private int groupSize; - public WorldGenShrub(int par1, int par2) { - this.deadBushID = par1; + public WorldGenShrub(Block par1, int par2) { + this.deadBush = par1; this.groupSize = par2; } @@ -26,8 +27,8 @@ public boolean generate(World par1World, Random par2Random, int par3, int par4, int x = par3 + par2Random.nextInt(range + 1) - range / 2; int z = par5 + par2Random.nextInt(range + 1) - range / 2; int y = par1World.getHeightValue(x, z); - if(par1World.isAirBlock(x, y, z) && Blocks.BLOCK_SHRUB.canBlockStay(par1World, x, y, z)) { - par1World.setBlock(x, y, z, this.deadBushID); + if(par1World.isAirBlock(x, y, z) && AtumBlocks.BLOCK_SHRUB.canBlockStay(par1World, x, y, z)) { + par1World.setBlock(x, y, z, this.deadBush); } } diff --git a/resources/assets/atum/lang/en_US.properties b/src/main/resources/assets/atum/lang/en_US.properties similarity index 100% rename from resources/assets/atum/lang/en_US.properties rename to src/main/resources/assets/atum/lang/en_US.properties diff --git a/resources/assets/atum/music/ALongJourney.ogg b/src/main/resources/assets/atum/music/ALongJourney.ogg similarity index 100% rename from resources/assets/atum/music/ALongJourney.ogg rename to src/main/resources/assets/atum/music/ALongJourney.ogg diff --git a/resources/assets/atum/music/Hostiles.ogg b/src/main/resources/assets/atum/music/Hostiles.ogg similarity index 100% rename from resources/assets/atum/music/Hostiles.ogg rename to src/main/resources/assets/atum/music/Hostiles.ogg diff --git a/resources/assets/atum/music/ScorchingSand.ogg b/src/main/resources/assets/atum/music/ScorchingSand.ogg similarity index 100% rename from resources/assets/atum/music/ScorchingSand.ogg rename to src/main/resources/assets/atum/music/ScorchingSand.ogg diff --git a/resources/assets/atum/music/TempleTales.ogg b/src/main/resources/assets/atum/music/TempleTales.ogg similarity index 100% rename from resources/assets/atum/music/TempleTales.ogg rename to src/main/resources/assets/atum/music/TempleTales.ogg diff --git a/resources/assets/atum/music/TheWanderer.ogg b/src/main/resources/assets/atum/music/TheWanderer.ogg similarity index 100% rename from resources/assets/atum/music/TheWanderer.ogg rename to src/main/resources/assets/atum/music/TheWanderer.ogg diff --git a/resources/assets/atum/sound/pharaohspawn.ogg b/src/main/resources/assets/atum/sound/pharaohspawn.ogg similarity index 100% rename from resources/assets/atum/sound/pharaohspawn.ogg rename to src/main/resources/assets/atum/sound/pharaohspawn.ogg diff --git a/resources/assets/atum/textures/armor/DesertArmor_1.png b/src/main/resources/assets/atum/textures/armor/DesertArmor_1.png similarity index 100% rename from resources/assets/atum/textures/armor/DesertArmor_1.png rename to src/main/resources/assets/atum/textures/armor/DesertArmor_1.png diff --git a/resources/assets/atum/textures/armor/DesertArmor_2.png b/src/main/resources/assets/atum/textures/armor/DesertArmor_2.png similarity index 100% rename from resources/assets/atum/textures/armor/DesertArmor_2.png rename to src/main/resources/assets/atum/textures/armor/DesertArmor_2.png diff --git a/resources/assets/atum/textures/armor/EgyptianArmor_1.png b/src/main/resources/assets/atum/textures/armor/EgyptianArmor_1.png similarity index 100% rename from resources/assets/atum/textures/armor/EgyptianArmor_1.png rename to src/main/resources/assets/atum/textures/armor/EgyptianArmor_1.png diff --git a/resources/assets/atum/textures/armor/EgyptianArmor_2.png b/src/main/resources/assets/atum/textures/armor/EgyptianArmor_2.png similarity index 100% rename from resources/assets/atum/textures/armor/EgyptianArmor_2.png rename to src/main/resources/assets/atum/textures/armor/EgyptianArmor_2.png diff --git a/resources/assets/atum/textures/armor/MummyArmor_1.png b/src/main/resources/assets/atum/textures/armor/MummyArmor_1.png similarity index 100% rename from resources/assets/atum/textures/armor/MummyArmor_1.png rename to src/main/resources/assets/atum/textures/armor/MummyArmor_1.png diff --git a/resources/assets/atum/textures/armor/MummyArmor_2.png b/src/main/resources/assets/atum/textures/armor/MummyArmor_2.png similarity index 100% rename from resources/assets/atum/textures/armor/MummyArmor_2.png rename to src/main/resources/assets/atum/textures/armor/MummyArmor_2.png diff --git a/resources/assets/atum/textures/armor/RubyArtifactArmor_1.png b/src/main/resources/assets/atum/textures/armor/RubyArtifactArmor_1.png similarity index 100% rename from resources/assets/atum/textures/armor/RubyArtifactArmor_1.png rename to src/main/resources/assets/atum/textures/armor/RubyArtifactArmor_1.png diff --git a/resources/assets/atum/textures/armor/RubyArtifactArmor_2.png b/src/main/resources/assets/atum/textures/armor/RubyArtifactArmor_2.png similarity index 100% rename from resources/assets/atum/textures/armor/RubyArtifactArmor_2.png rename to src/main/resources/assets/atum/textures/armor/RubyArtifactArmor_2.png diff --git a/resources/assets/atum/textures/armor/WandererArmor_1.png b/src/main/resources/assets/atum/textures/armor/WandererArmor_1.png similarity index 100% rename from resources/assets/atum/textures/armor/WandererArmor_1.png rename to src/main/resources/assets/atum/textures/armor/WandererArmor_1.png diff --git a/resources/assets/atum/textures/armor/WandererArmor_1_old.png b/src/main/resources/assets/atum/textures/armor/WandererArmor_1_old.png similarity index 100% rename from resources/assets/atum/textures/armor/WandererArmor_1_old.png rename to src/main/resources/assets/atum/textures/armor/WandererArmor_1_old.png diff --git a/resources/assets/atum/textures/armor/WandererArmor_2.png b/src/main/resources/assets/atum/textures/armor/WandererArmor_2.png similarity index 100% rename from resources/assets/atum/textures/armor/WandererArmor_2.png rename to src/main/resources/assets/atum/textures/armor/WandererArmor_2.png diff --git a/resources/assets/atum/textures/blocks/AtumBrickCarved.png b/src/main/resources/assets/atum/textures/blocks/AtumBrickCarved.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumBrickCarved.png rename to src/main/resources/assets/atum/textures/blocks/AtumBrickCarved.png diff --git a/resources/assets/atum/textures/blocks/AtumBrickLarge.png b/src/main/resources/assets/atum/textures/blocks/AtumBrickLarge.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumBrickLarge.png rename to src/main/resources/assets/atum/textures/blocks/AtumBrickLarge.png diff --git a/resources/assets/atum/textures/blocks/AtumBrickSmall.png b/src/main/resources/assets/atum/textures/blocks/AtumBrickSmall.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumBrickSmall.png rename to src/main/resources/assets/atum/textures/blocks/AtumBrickSmall.png diff --git a/resources/assets/atum/textures/blocks/AtumCoal.png b/src/main/resources/assets/atum/textures/blocks/AtumCoal.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumCoal.png rename to src/main/resources/assets/atum/textures/blocks/AtumCoal.png diff --git a/resources/assets/atum/textures/blocks/AtumCobble.png b/src/main/resources/assets/atum/textures/blocks/AtumCobble.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumCobble.png rename to src/main/resources/assets/atum/textures/blocks/AtumCobble.png diff --git a/resources/assets/atum/textures/blocks/AtumCrackedLargeBrick.png b/src/main/resources/assets/atum/textures/blocks/AtumCrackedLargeBrick.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumCrackedLargeBrick.png rename to src/main/resources/assets/atum/textures/blocks/AtumCrackedLargeBrick.png diff --git a/resources/assets/atum/textures/blocks/AtumCrystalGlass.png b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlass.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumCrystalGlass.png rename to src/main/resources/assets/atum/textures/blocks/AtumCrystalGlass.png diff --git a/resources/assets/atum/textures/blocks/AtumDate.png b/src/main/resources/assets/atum/textures/blocks/AtumDate.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumDate.png rename to src/main/resources/assets/atum/textures/blocks/AtumDate.png diff --git a/resources/assets/atum/textures/blocks/AtumDiamond.png b/src/main/resources/assets/atum/textures/blocks/AtumDiamond.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumDiamond.png rename to src/main/resources/assets/atum/textures/blocks/AtumDiamond.png diff --git a/resources/assets/atum/textures/blocks/AtumFramedGlass.png b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlass.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumFramedGlass.png rename to src/main/resources/assets/atum/textures/blocks/AtumFramedGlass.png diff --git a/resources/assets/atum/textures/blocks/AtumGold.png b/src/main/resources/assets/atum/textures/blocks/AtumGold.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumGold.png rename to src/main/resources/assets/atum/textures/blocks/AtumGold.png diff --git a/resources/assets/atum/textures/blocks/AtumIron.png b/src/main/resources/assets/atum/textures/blocks/AtumIron.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumIron.png rename to src/main/resources/assets/atum/textures/blocks/AtumIron.png diff --git a/resources/assets/atum/textures/blocks/AtumLapis.png b/src/main/resources/assets/atum/textures/blocks/AtumLapis.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumLapis.png rename to src/main/resources/assets/atum/textures/blocks/AtumLapis.png diff --git a/resources/assets/atum/textures/blocks/AtumLeaves.png b/src/main/resources/assets/atum/textures/blocks/AtumLeaves.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumLeaves.png rename to src/main/resources/assets/atum/textures/blocks/AtumLeaves.png diff --git a/resources/assets/atum/textures/blocks/AtumPalmSapling.png b/src/main/resources/assets/atum/textures/blocks/AtumPalmSapling.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumPalmSapling.png rename to src/main/resources/assets/atum/textures/blocks/AtumPalmSapling.png diff --git a/resources/assets/atum/textures/blocks/AtumPapyrus.png b/src/main/resources/assets/atum/textures/blocks/AtumPapyrus.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumPapyrus.png rename to src/main/resources/assets/atum/textures/blocks/AtumPapyrus.png diff --git a/resources/assets/atum/textures/blocks/AtumPapyrusTop.png b/src/main/resources/assets/atum/textures/blocks/AtumPapyrusTop.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumPapyrusTop.png rename to src/main/resources/assets/atum/textures/blocks/AtumPapyrusTop.png diff --git a/resources/assets/atum/textures/blocks/AtumRedstone.png b/src/main/resources/assets/atum/textures/blocks/AtumRedstone.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumRedstone.png rename to src/main/resources/assets/atum/textures/blocks/AtumRedstone.png diff --git a/resources/assets/atum/textures/blocks/AtumSand.png b/src/main/resources/assets/atum/textures/blocks/AtumSand.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumSand.png rename to src/main/resources/assets/atum/textures/blocks/AtumSand.png diff --git a/resources/assets/atum/textures/blocks/AtumStone.png b/src/main/resources/assets/atum/textures/blocks/AtumStone.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumStone.png rename to src/main/resources/assets/atum/textures/blocks/AtumStone.png diff --git a/resources/assets/atum/textures/blocks/AtumiteOre.png b/src/main/resources/assets/atum/textures/blocks/AtumiteOre.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumiteOre.png rename to src/main/resources/assets/atum/textures/blocks/AtumiteOre.png diff --git a/resources/assets/atum/textures/blocks/DeadBush.png b/src/main/resources/assets/atum/textures/blocks/DeadBush.png similarity index 100% rename from resources/assets/atum/textures/blocks/DeadBush.png rename to src/main/resources/assets/atum/textures/blocks/DeadBush.png diff --git a/resources/assets/atum/textures/blocks/FertileSoil.png b/src/main/resources/assets/atum/textures/blocks/FertileSoil.png similarity index 100% rename from resources/assets/atum/textures/blocks/FertileSoil.png rename to src/main/resources/assets/atum/textures/blocks/FertileSoil.png diff --git a/resources/assets/atum/textures/blocks/FertileSoilSide.png b/src/main/resources/assets/atum/textures/blocks/FertileSoilSide.png similarity index 100% rename from resources/assets/atum/textures/blocks/FertileSoilSide.png rename to src/main/resources/assets/atum/textures/blocks/FertileSoilSide.png diff --git a/resources/assets/atum/textures/blocks/FertileSoilTop.png b/src/main/resources/assets/atum/textures/blocks/FertileSoilTop.png similarity index 100% rename from resources/assets/atum/textures/blocks/FertileSoilTop.png rename to src/main/resources/assets/atum/textures/blocks/FertileSoilTop.png diff --git a/resources/assets/atum/textures/blocks/Flax_0.png b/src/main/resources/assets/atum/textures/blocks/Flax_0.png similarity index 100% rename from resources/assets/atum/textures/blocks/Flax_0.png rename to src/main/resources/assets/atum/textures/blocks/Flax_0.png diff --git a/resources/assets/atum/textures/blocks/Flax_1.png b/src/main/resources/assets/atum/textures/blocks/Flax_1.png similarity index 100% rename from resources/assets/atum/textures/blocks/Flax_1.png rename to src/main/resources/assets/atum/textures/blocks/Flax_1.png diff --git a/resources/assets/atum/textures/blocks/Flax_2.png b/src/main/resources/assets/atum/textures/blocks/Flax_2.png similarity index 100% rename from resources/assets/atum/textures/blocks/Flax_2.png rename to src/main/resources/assets/atum/textures/blocks/Flax_2.png diff --git a/resources/assets/atum/textures/blocks/Flax_3.png b/src/main/resources/assets/atum/textures/blocks/Flax_3.png similarity index 100% rename from resources/assets/atum/textures/blocks/Flax_3.png rename to src/main/resources/assets/atum/textures/blocks/Flax_3.png diff --git a/resources/assets/atum/textures/blocks/Flax_4.png b/src/main/resources/assets/atum/textures/blocks/Flax_4.png similarity index 100% rename from resources/assets/atum/textures/blocks/Flax_4.png rename to src/main/resources/assets/atum/textures/blocks/Flax_4.png diff --git a/resources/assets/atum/textures/blocks/Flax_5.png b/src/main/resources/assets/atum/textures/blocks/Flax_5.png similarity index 100% rename from resources/assets/atum/textures/blocks/Flax_5.png rename to src/main/resources/assets/atum/textures/blocks/Flax_5.png diff --git a/resources/assets/atum/textures/blocks/FurnaceBurning.png b/src/main/resources/assets/atum/textures/blocks/FurnaceBurning.png similarity index 100% rename from resources/assets/atum/textures/blocks/FurnaceBurning.png rename to src/main/resources/assets/atum/textures/blocks/FurnaceBurning.png diff --git a/resources/assets/atum/textures/blocks/FurnaceFront.png b/src/main/resources/assets/atum/textures/blocks/FurnaceFront.png similarity index 100% rename from resources/assets/atum/textures/blocks/FurnaceFront.png rename to src/main/resources/assets/atum/textures/blocks/FurnaceFront.png diff --git a/resources/assets/atum/textures/blocks/FurnaceTop.png b/src/main/resources/assets/atum/textures/blocks/FurnaceTop.png similarity index 100% rename from resources/assets/atum/textures/blocks/FurnaceTop.png rename to src/main/resources/assets/atum/textures/blocks/FurnaceTop.png diff --git a/resources/assets/atum/textures/blocks/PapyrusPlantItem.png b/src/main/resources/assets/atum/textures/blocks/PapyrusPlantItem.png similarity index 100% rename from resources/assets/atum/textures/blocks/PapyrusPlantItem.png rename to src/main/resources/assets/atum/textures/blocks/PapyrusPlantItem.png diff --git a/resources/assets/atum/textures/blocks/Planks.png b/src/main/resources/assets/atum/textures/blocks/Planks.png similarity index 100% rename from resources/assets/atum/textures/blocks/Planks.png rename to src/main/resources/assets/atum/textures/blocks/Planks.png diff --git a/resources/assets/atum/textures/blocks/Shrub.png b/src/main/resources/assets/atum/textures/blocks/Shrub.png similarity index 100% rename from resources/assets/atum/textures/blocks/Shrub.png rename to src/main/resources/assets/atum/textures/blocks/Shrub.png diff --git a/resources/assets/atum/textures/blocks/TrapFire.png b/src/main/resources/assets/atum/textures/blocks/TrapFire.png similarity index 100% rename from resources/assets/atum/textures/blocks/TrapFire.png rename to src/main/resources/assets/atum/textures/blocks/TrapFire.png diff --git a/resources/assets/atum/textures/blocks/TrapSide.png b/src/main/resources/assets/atum/textures/blocks/TrapSide.png similarity index 100% rename from resources/assets/atum/textures/blocks/TrapSide.png rename to src/main/resources/assets/atum/textures/blocks/TrapSide.png diff --git a/resources/assets/atum/textures/blocks/Weed.png b/src/main/resources/assets/atum/textures/blocks/Weed.png similarity index 100% rename from resources/assets/atum/textures/blocks/Weed.png rename to src/main/resources/assets/atum/textures/blocks/Weed.png diff --git a/resources/assets/atum/textures/blocks/portal.png b/src/main/resources/assets/atum/textures/blocks/portal.png similarity index 100% rename from resources/assets/atum/textures/blocks/portal.png rename to src/main/resources/assets/atum/textures/blocks/portal.png diff --git a/resources/assets/atum/textures/blocks/portal.png.mcmeta b/src/main/resources/assets/atum/textures/blocks/portal.png.mcmeta similarity index 100% rename from resources/assets/atum/textures/blocks/portal.png.mcmeta rename to src/main/resources/assets/atum/textures/blocks/portal.png.mcmeta diff --git a/resources/assets/atum/textures/blocks/stonebricksmooth_mossy.png b/src/main/resources/assets/atum/textures/blocks/stonebricksmooth_mossy.png similarity index 100% rename from resources/assets/atum/textures/blocks/stonebricksmooth_mossy.png rename to src/main/resources/assets/atum/textures/blocks/stonebricksmooth_mossy.png diff --git a/resources/assets/atum/textures/blocks/thinglass_top.png b/src/main/resources/assets/atum/textures/blocks/thinglass_top.png similarity index 100% rename from resources/assets/atum/textures/blocks/thinglass_top.png rename to src/main/resources/assets/atum/textures/blocks/thinglass_top.png diff --git a/resources/assets/atum/textures/blocks/tree_side.png b/src/main/resources/assets/atum/textures/blocks/tree_side.png similarity index 100% rename from resources/assets/atum/textures/blocks/tree_side.png rename to src/main/resources/assets/atum/textures/blocks/tree_side.png diff --git a/resources/assets/atum/textures/blocks/tree_top.png b/src/main/resources/assets/atum/textures/blocks/tree_top.png similarity index 100% rename from resources/assets/atum/textures/blocks/tree_top.png rename to src/main/resources/assets/atum/textures/blocks/tree_top.png diff --git a/resources/assets/atum/textures/entities/BanditArcher.png b/src/main/resources/assets/atum/textures/entities/BanditArcher.png similarity index 100% rename from resources/assets/atum/textures/entities/BanditArcher.png rename to src/main/resources/assets/atum/textures/entities/BanditArcher.png diff --git a/resources/assets/atum/textures/entities/BanditWarlord.png b/src/main/resources/assets/atum/textures/entities/BanditWarlord.png similarity index 100% rename from resources/assets/atum/textures/entities/BanditWarlord.png rename to src/main/resources/assets/atum/textures/entities/BanditWarlord.png diff --git a/resources/assets/atum/textures/entities/BanditWarrior.png b/src/main/resources/assets/atum/textures/entities/BanditWarrior.png similarity index 100% rename from resources/assets/atum/textures/entities/BanditWarrior.png rename to src/main/resources/assets/atum/textures/entities/BanditWarrior.png diff --git a/resources/assets/atum/textures/entities/Barbarian.png b/src/main/resources/assets/atum/textures/entities/Barbarian.png similarity index 100% rename from resources/assets/atum/textures/entities/Barbarian.png rename to src/main/resources/assets/atum/textures/entities/Barbarian.png diff --git a/resources/assets/atum/textures/entities/Bonestorm.png b/src/main/resources/assets/atum/textures/entities/Bonestorm.png similarity index 100% rename from resources/assets/atum/textures/entities/Bonestorm.png rename to src/main/resources/assets/atum/textures/entities/Bonestorm.png diff --git a/resources/assets/atum/textures/entities/DesertGhost.png b/src/main/resources/assets/atum/textures/entities/DesertGhost.png similarity index 100% rename from resources/assets/atum/textures/entities/DesertGhost.png rename to src/main/resources/assets/atum/textures/entities/DesertGhost.png diff --git a/resources/assets/atum/textures/entities/DesertWolf.png b/src/main/resources/assets/atum/textures/entities/DesertWolf.png similarity index 100% rename from resources/assets/atum/textures/entities/DesertWolf.png rename to src/main/resources/assets/atum/textures/entities/DesertWolf.png diff --git a/resources/assets/atum/textures/entities/DesertWolf_angry.png b/src/main/resources/assets/atum/textures/entities/DesertWolf_angry.png similarity index 100% rename from resources/assets/atum/textures/entities/DesertWolf_angry.png rename to src/main/resources/assets/atum/textures/entities/DesertWolf_angry.png diff --git a/resources/assets/atum/textures/entities/DesertWolf_tame.png b/src/main/resources/assets/atum/textures/entities/DesertWolf_tame.png similarity index 100% rename from resources/assets/atum/textures/entities/DesertWolf_tame.png rename to src/main/resources/assets/atum/textures/entities/DesertWolf_tame.png diff --git a/resources/assets/atum/textures/entities/DustySkeleton.png b/src/main/resources/assets/atum/textures/entities/DustySkeleton.png similarity index 100% rename from resources/assets/atum/textures/entities/DustySkeleton.png rename to src/main/resources/assets/atum/textures/entities/DustySkeleton.png diff --git a/resources/assets/atum/textures/entities/Mummy.png b/src/main/resources/assets/atum/textures/entities/Mummy.png similarity index 100% rename from resources/assets/atum/textures/entities/Mummy.png rename to src/main/resources/assets/atum/textures/entities/Mummy.png diff --git a/resources/assets/atum/textures/entities/PharaohBlue.png b/src/main/resources/assets/atum/textures/entities/PharaohBlue.png similarity index 100% rename from resources/assets/atum/textures/entities/PharaohBlue.png rename to src/main/resources/assets/atum/textures/entities/PharaohBlue.png diff --git a/resources/assets/atum/textures/entities/PharaohBlue_old.png b/src/main/resources/assets/atum/textures/entities/PharaohBlue_old.png similarity index 100% rename from resources/assets/atum/textures/entities/PharaohBlue_old.png rename to src/main/resources/assets/atum/textures/entities/PharaohBlue_old.png diff --git a/resources/assets/atum/textures/entities/PharaohGreen.png b/src/main/resources/assets/atum/textures/entities/PharaohGreen.png similarity index 100% rename from resources/assets/atum/textures/entities/PharaohGreen.png rename to src/main/resources/assets/atum/textures/entities/PharaohGreen.png diff --git a/resources/assets/atum/textures/entities/PharaohRed.png b/src/main/resources/assets/atum/textures/entities/PharaohRed.png similarity index 100% rename from resources/assets/atum/textures/entities/PharaohRed.png rename to src/main/resources/assets/atum/textures/entities/PharaohRed.png diff --git a/resources/assets/atum/textures/entities/StoneSoldier.png b/src/main/resources/assets/atum/textures/entities/StoneSoldier.png similarity index 100% rename from resources/assets/atum/textures/entities/StoneSoldier.png rename to src/main/resources/assets/atum/textures/entities/StoneSoldier.png diff --git a/resources/assets/atum/textures/hud/mummyblur.png b/src/main/resources/assets/atum/textures/hud/mummyblur.png similarity index 100% rename from resources/assets/atum/textures/hud/mummyblur.png rename to src/main/resources/assets/atum/textures/hud/mummyblur.png diff --git a/resources/assets/atum/textures/items/AkersToil.png b/src/main/resources/assets/atum/textures/items/AkersToil.png similarity index 100% rename from resources/assets/atum/textures/items/AkersToil.png rename to src/main/resources/assets/atum/textures/items/AkersToil.png diff --git a/resources/assets/atum/textures/items/AmunetsHomecoming.png b/src/main/resources/assets/atum/textures/items/AmunetsHomecoming.png similarity index 100% rename from resources/assets/atum/textures/items/AmunetsHomecoming.png rename to src/main/resources/assets/atum/textures/items/AmunetsHomecoming.png diff --git a/resources/assets/atum/textures/items/Anhur's Might.png b/src/main/resources/assets/atum/textures/items/Anhur's Might.png similarity index 100% rename from resources/assets/atum/textures/items/Anhur's Might.png rename to src/main/resources/assets/atum/textures/items/Anhur's Might.png diff --git a/resources/assets/atum/textures/items/AnhursMight.png b/src/main/resources/assets/atum/textures/items/AnhursMight.png similarity index 100% rename from resources/assets/atum/textures/items/AnhursMight.png rename to src/main/resources/assets/atum/textures/items/AnhursMight.png diff --git a/resources/assets/atum/textures/items/AnubisMercy.png b/src/main/resources/assets/atum/textures/items/AnubisMercy.png similarity index 100% rename from resources/assets/atum/textures/items/AnubisMercy.png rename to src/main/resources/assets/atum/textures/items/AnubisMercy.png diff --git a/resources/assets/atum/textures/items/AnuketsBounty.png b/src/main/resources/assets/atum/textures/items/AnuketsBounty.png similarity index 100% rename from resources/assets/atum/textures/items/AnuketsBounty.png rename to src/main/resources/assets/atum/textures/items/AnuketsBounty.png diff --git a/resources/assets/atum/textures/items/Arrow.png b/src/main/resources/assets/atum/textures/items/Arrow.png similarity index 100% rename from resources/assets/atum/textures/items/Arrow.png rename to src/main/resources/assets/atum/textures/items/Arrow.png diff --git a/resources/assets/atum/textures/items/ArrowEntity.png b/src/main/resources/assets/atum/textures/items/ArrowEntity.png similarity index 100% rename from resources/assets/atum/textures/items/ArrowEntity.png rename to src/main/resources/assets/atum/textures/items/ArrowEntity.png diff --git a/resources/assets/atum/textures/items/AtensFury.png b/src/main/resources/assets/atum/textures/items/AtensFury.png similarity index 100% rename from resources/assets/atum/textures/items/AtensFury.png rename to src/main/resources/assets/atum/textures/items/AtensFury.png diff --git a/resources/assets/atum/textures/items/Bow.png b/src/main/resources/assets/atum/textures/items/Bow.png similarity index 100% rename from resources/assets/atum/textures/items/Bow.png rename to src/main/resources/assets/atum/textures/items/Bow.png diff --git a/resources/assets/atum/textures/items/ClothScrap.png b/src/main/resources/assets/atum/textures/items/ClothScrap.png similarity index 100% rename from resources/assets/atum/textures/items/ClothScrap.png rename to src/main/resources/assets/atum/textures/items/ClothScrap.png diff --git a/resources/assets/atum/textures/items/Date.png b/src/main/resources/assets/atum/textures/items/Date.png similarity index 100% rename from resources/assets/atum/textures/items/Date.png rename to src/main/resources/assets/atum/textures/items/Date.png diff --git a/resources/assets/atum/textures/items/DesertBoots.png b/src/main/resources/assets/atum/textures/items/DesertBoots.png similarity index 100% rename from resources/assets/atum/textures/items/DesertBoots.png rename to src/main/resources/assets/atum/textures/items/DesertBoots.png diff --git a/resources/assets/atum/textures/items/DesertChest.png b/src/main/resources/assets/atum/textures/items/DesertChest.png similarity index 100% rename from resources/assets/atum/textures/items/DesertChest.png rename to src/main/resources/assets/atum/textures/items/DesertChest.png diff --git a/resources/assets/atum/textures/items/DesertHelmet.png b/src/main/resources/assets/atum/textures/items/DesertHelmet.png similarity index 100% rename from resources/assets/atum/textures/items/DesertHelmet.png rename to src/main/resources/assets/atum/textures/items/DesertHelmet.png diff --git a/resources/assets/atum/textures/items/DesertLegs.png b/src/main/resources/assets/atum/textures/items/DesertLegs.png similarity index 100% rename from resources/assets/atum/textures/items/DesertLegs.png rename to src/main/resources/assets/atum/textures/items/DesertLegs.png diff --git a/resources/assets/atum/textures/items/DiamondBroach.png b/src/main/resources/assets/atum/textures/items/DiamondBroach.png similarity index 100% rename from resources/assets/atum/textures/items/DiamondBroach.png rename to src/main/resources/assets/atum/textures/items/DiamondBroach.png diff --git a/resources/assets/atum/textures/items/DiamondIdol.png b/src/main/resources/assets/atum/textures/items/DiamondIdol.png similarity index 100% rename from resources/assets/atum/textures/items/DiamondIdol.png rename to src/main/resources/assets/atum/textures/items/DiamondIdol.png diff --git a/resources/assets/atum/textures/items/DiamondNecklace.png b/src/main/resources/assets/atum/textures/items/DiamondNecklace.png similarity index 100% rename from resources/assets/atum/textures/items/DiamondNecklace.png rename to src/main/resources/assets/atum/textures/items/DiamondNecklace.png diff --git a/resources/assets/atum/textures/items/DiamondRing.png b/src/main/resources/assets/atum/textures/items/DiamondRing.png similarity index 100% rename from resources/assets/atum/textures/items/DiamondRing.png rename to src/main/resources/assets/atum/textures/items/DiamondRing.png diff --git a/resources/assets/atum/textures/items/DiamondScepter.png b/src/main/resources/assets/atum/textures/items/DiamondScepter.png similarity index 100% rename from resources/assets/atum/textures/items/DiamondScepter.png rename to src/main/resources/assets/atum/textures/items/DiamondScepter.png diff --git a/resources/assets/atum/textures/items/DirtyBroach.png b/src/main/resources/assets/atum/textures/items/DirtyBroach.png similarity index 100% rename from resources/assets/atum/textures/items/DirtyBroach.png rename to src/main/resources/assets/atum/textures/items/DirtyBroach.png diff --git a/resources/assets/atum/textures/items/DirtyIdol.png b/src/main/resources/assets/atum/textures/items/DirtyIdol.png similarity index 100% rename from resources/assets/atum/textures/items/DirtyIdol.png rename to src/main/resources/assets/atum/textures/items/DirtyIdol.png diff --git a/resources/assets/atum/textures/items/DirtyNecklace.png b/src/main/resources/assets/atum/textures/items/DirtyNecklace.png similarity index 100% rename from resources/assets/atum/textures/items/DirtyNecklace.png rename to src/main/resources/assets/atum/textures/items/DirtyNecklace.png diff --git a/resources/assets/atum/textures/items/DirtyRing.png b/src/main/resources/assets/atum/textures/items/DirtyRing.png similarity index 100% rename from resources/assets/atum/textures/items/DirtyRing.png rename to src/main/resources/assets/atum/textures/items/DirtyRing.png diff --git a/resources/assets/atum/textures/items/DirtyScepter.png b/src/main/resources/assets/atum/textures/items/DirtyScepter.png similarity index 100% rename from resources/assets/atum/textures/items/DirtyScepter.png rename to src/main/resources/assets/atum/textures/items/DirtyScepter.png diff --git a/resources/assets/atum/textures/items/Ectoplasm.png b/src/main/resources/assets/atum/textures/items/Ectoplasm.png similarity index 100% rename from resources/assets/atum/textures/items/Ectoplasm.png rename to src/main/resources/assets/atum/textures/items/Ectoplasm.png diff --git a/resources/assets/atum/textures/items/EmeraldBroach.png b/src/main/resources/assets/atum/textures/items/EmeraldBroach.png similarity index 100% rename from resources/assets/atum/textures/items/EmeraldBroach.png rename to src/main/resources/assets/atum/textures/items/EmeraldBroach.png diff --git a/resources/assets/atum/textures/items/EmeraldIdol.png b/src/main/resources/assets/atum/textures/items/EmeraldIdol.png similarity index 100% rename from resources/assets/atum/textures/items/EmeraldIdol.png rename to src/main/resources/assets/atum/textures/items/EmeraldIdol.png diff --git a/resources/assets/atum/textures/items/EmeraldNecklace.png b/src/main/resources/assets/atum/textures/items/EmeraldNecklace.png similarity index 100% rename from resources/assets/atum/textures/items/EmeraldNecklace.png rename to src/main/resources/assets/atum/textures/items/EmeraldNecklace.png diff --git a/resources/assets/atum/textures/items/EmeraldRing.png b/src/main/resources/assets/atum/textures/items/EmeraldRing.png similarity index 100% rename from resources/assets/atum/textures/items/EmeraldRing.png rename to src/main/resources/assets/atum/textures/items/EmeraldRing.png diff --git a/resources/assets/atum/textures/items/EmeraldScepter.png b/src/main/resources/assets/atum/textures/items/EmeraldScepter.png similarity index 100% rename from resources/assets/atum/textures/items/EmeraldScepter.png rename to src/main/resources/assets/atum/textures/items/EmeraldScepter.png diff --git a/resources/assets/atum/textures/items/Fish0.png b/src/main/resources/assets/atum/textures/items/Fish0.png similarity index 100% rename from resources/assets/atum/textures/items/Fish0.png rename to src/main/resources/assets/atum/textures/items/Fish0.png diff --git a/resources/assets/atum/textures/items/Fish1.png b/src/main/resources/assets/atum/textures/items/Fish1.png similarity index 100% rename from resources/assets/atum/textures/items/Fish1.png rename to src/main/resources/assets/atum/textures/items/Fish1.png diff --git a/resources/assets/atum/textures/items/Fish2.png b/src/main/resources/assets/atum/textures/items/Fish2.png similarity index 100% rename from resources/assets/atum/textures/items/Fish2.png rename to src/main/resources/assets/atum/textures/items/Fish2.png diff --git a/resources/assets/atum/textures/items/Fish3.png b/src/main/resources/assets/atum/textures/items/Fish3.png similarity index 100% rename from resources/assets/atum/textures/items/Fish3.png rename to src/main/resources/assets/atum/textures/items/Fish3.png diff --git a/resources/assets/atum/textures/items/Fish4.png b/src/main/resources/assets/atum/textures/items/Fish4.png similarity index 100% rename from resources/assets/atum/textures/items/Fish4.png rename to src/main/resources/assets/atum/textures/items/Fish4.png diff --git a/resources/assets/atum/textures/items/FlaxItem.png b/src/main/resources/assets/atum/textures/items/FlaxItem.png similarity index 100% rename from resources/assets/atum/textures/items/FlaxItem.png rename to src/main/resources/assets/atum/textures/items/FlaxItem.png diff --git a/resources/assets/atum/textures/items/FlaxSeeds.png b/src/main/resources/assets/atum/textures/items/FlaxSeeds.png similarity index 100% rename from resources/assets/atum/textures/items/FlaxSeeds.png rename to src/main/resources/assets/atum/textures/items/FlaxSeeds.png diff --git a/resources/assets/atum/textures/items/GebsBlessing.png b/src/main/resources/assets/atum/textures/items/GebsBlessing.png similarity index 100% rename from resources/assets/atum/textures/items/GebsBlessing.png rename to src/main/resources/assets/atum/textures/items/GebsBlessing.png diff --git a/resources/assets/atum/textures/items/GebsSolidarity.png b/src/main/resources/assets/atum/textures/items/GebsSolidarity.png similarity index 100% rename from resources/assets/atum/textures/items/GebsSolidarity.png rename to src/main/resources/assets/atum/textures/items/GebsSolidarity.png diff --git a/resources/assets/atum/textures/items/GoldBroach.png b/src/main/resources/assets/atum/textures/items/GoldBroach.png similarity index 100% rename from resources/assets/atum/textures/items/GoldBroach.png rename to src/main/resources/assets/atum/textures/items/GoldBroach.png diff --git a/resources/assets/atum/textures/items/GoldIdol.png b/src/main/resources/assets/atum/textures/items/GoldIdol.png similarity index 100% rename from resources/assets/atum/textures/items/GoldIdol.png rename to src/main/resources/assets/atum/textures/items/GoldIdol.png diff --git a/resources/assets/atum/textures/items/GoldNecklace.png b/src/main/resources/assets/atum/textures/items/GoldNecklace.png similarity index 100% rename from resources/assets/atum/textures/items/GoldNecklace.png rename to src/main/resources/assets/atum/textures/items/GoldNecklace.png diff --git a/resources/assets/atum/textures/items/GoldRing.png b/src/main/resources/assets/atum/textures/items/GoldRing.png similarity index 100% rename from resources/assets/atum/textures/items/GoldRing.png rename to src/main/resources/assets/atum/textures/items/GoldRing.png diff --git a/resources/assets/atum/textures/items/GoldScepter.png b/src/main/resources/assets/atum/textures/items/GoldScepter.png similarity index 100% rename from resources/assets/atum/textures/items/GoldScepter.png rename to src/main/resources/assets/atum/textures/items/GoldScepter.png diff --git a/resources/assets/atum/textures/items/Greatsword.png b/src/main/resources/assets/atum/textures/items/Greatsword.png similarity index 100% rename from resources/assets/atum/textures/items/Greatsword.png rename to src/main/resources/assets/atum/textures/items/Greatsword.png diff --git a/resources/assets/atum/textures/items/HedetetsSting.png b/src/main/resources/assets/atum/textures/items/HedetetsSting.png similarity index 100% rename from resources/assets/atum/textures/items/HedetetsSting.png rename to src/main/resources/assets/atum/textures/items/HedetetsSting.png diff --git a/resources/assets/atum/textures/items/HedetetsVenom.png b/src/main/resources/assets/atum/textures/items/HedetetsVenom.png similarity index 100% rename from resources/assets/atum/textures/items/HedetetsVenom.png rename to src/main/resources/assets/atum/textures/items/HedetetsVenom.png diff --git a/resources/assets/atum/textures/items/HedetetsVenom_pull_0.png b/src/main/resources/assets/atum/textures/items/HedetetsVenom_pull_0.png similarity index 100% rename from resources/assets/atum/textures/items/HedetetsVenom_pull_0.png rename to src/main/resources/assets/atum/textures/items/HedetetsVenom_pull_0.png diff --git a/resources/assets/atum/textures/items/HedetetsVenom_pull_1.png b/src/main/resources/assets/atum/textures/items/HedetetsVenom_pull_1.png similarity index 100% rename from resources/assets/atum/textures/items/HedetetsVenom_pull_1.png rename to src/main/resources/assets/atum/textures/items/HedetetsVenom_pull_1.png diff --git a/resources/assets/atum/textures/items/HedetetsVenom_pull_2.png b/src/main/resources/assets/atum/textures/items/HedetetsVenom_pull_2.png similarity index 100% rename from resources/assets/atum/textures/items/HedetetsVenom_pull_2.png rename to src/main/resources/assets/atum/textures/items/HedetetsVenom_pull_2.png diff --git a/resources/assets/atum/textures/items/HorusFlight.png b/src/main/resources/assets/atum/textures/items/HorusFlight.png similarity index 100% rename from resources/assets/atum/textures/items/HorusFlight.png rename to src/main/resources/assets/atum/textures/items/HorusFlight.png diff --git a/resources/assets/atum/textures/items/HorusSoaring.png b/src/main/resources/assets/atum/textures/items/HorusSoaring.png similarity index 100% rename from resources/assets/atum/textures/items/HorusSoaring.png rename to src/main/resources/assets/atum/textures/items/HorusSoaring.png diff --git a/resources/assets/atum/textures/items/HorusSoaring_pull_0.png b/src/main/resources/assets/atum/textures/items/HorusSoaring_pull_0.png similarity index 100% rename from resources/assets/atum/textures/items/HorusSoaring_pull_0.png rename to src/main/resources/assets/atum/textures/items/HorusSoaring_pull_0.png diff --git a/resources/assets/atum/textures/items/HorusSoaring_pull_1.png b/src/main/resources/assets/atum/textures/items/HorusSoaring_pull_1.png similarity index 100% rename from resources/assets/atum/textures/items/HorusSoaring_pull_1.png rename to src/main/resources/assets/atum/textures/items/HorusSoaring_pull_1.png diff --git a/resources/assets/atum/textures/items/HorusSoaring_pull_2.png b/src/main/resources/assets/atum/textures/items/HorusSoaring_pull_2.png similarity index 100% rename from resources/assets/atum/textures/items/HorusSoaring_pull_2.png rename to src/main/resources/assets/atum/textures/items/HorusSoaring_pull_2.png diff --git a/resources/assets/atum/textures/items/IsisEmbrace.png b/src/main/resources/assets/atum/textures/items/IsisEmbrace.png similarity index 100% rename from resources/assets/atum/textures/items/IsisEmbrace.png rename to src/main/resources/assets/atum/textures/items/IsisEmbrace.png diff --git a/resources/assets/atum/textures/items/IsisHealing.png b/src/main/resources/assets/atum/textures/items/IsisHealing.png similarity index 100% rename from resources/assets/atum/textures/items/IsisHealing.png rename to src/main/resources/assets/atum/textures/items/IsisHealing.png diff --git a/resources/assets/atum/textures/items/LimestoneAxe.png b/src/main/resources/assets/atum/textures/items/LimestoneAxe.png similarity index 100% rename from resources/assets/atum/textures/items/LimestoneAxe.png rename to src/main/resources/assets/atum/textures/items/LimestoneAxe.png diff --git a/resources/assets/atum/textures/items/LimestoneHoe.png b/src/main/resources/assets/atum/textures/items/LimestoneHoe.png similarity index 100% rename from resources/assets/atum/textures/items/LimestoneHoe.png rename to src/main/resources/assets/atum/textures/items/LimestoneHoe.png diff --git a/resources/assets/atum/textures/items/LimestonePickaxe.png b/src/main/resources/assets/atum/textures/items/LimestonePickaxe.png similarity index 100% rename from resources/assets/atum/textures/items/LimestonePickaxe.png rename to src/main/resources/assets/atum/textures/items/LimestonePickaxe.png diff --git a/resources/assets/atum/textures/items/LimestoneShovel.png b/src/main/resources/assets/atum/textures/items/LimestoneShovel.png similarity index 100% rename from resources/assets/atum/textures/items/LimestoneShovel.png rename to src/main/resources/assets/atum/textures/items/LimestoneShovel.png diff --git a/resources/assets/atum/textures/items/LimestoneSword.png b/src/main/resources/assets/atum/textures/items/LimestoneSword.png similarity index 100% rename from resources/assets/atum/textures/items/LimestoneSword.png rename to src/main/resources/assets/atum/textures/items/LimestoneSword.png diff --git a/resources/assets/atum/textures/items/Linen.png b/src/main/resources/assets/atum/textures/items/Linen.png similarity index 100% rename from resources/assets/atum/textures/items/Linen.png rename to src/main/resources/assets/atum/textures/items/Linen.png diff --git a/resources/assets/atum/textures/items/MaatsBalance.png b/src/main/resources/assets/atum/textures/items/MaatsBalance.png similarity index 100% rename from resources/assets/atum/textures/items/MaatsBalance.png rename to src/main/resources/assets/atum/textures/items/MaatsBalance.png diff --git a/resources/assets/atum/textures/items/MafdetsQuickness.png b/src/main/resources/assets/atum/textures/items/MafdetsQuickness.png similarity index 100% rename from resources/assets/atum/textures/items/MafdetsQuickness.png rename to src/main/resources/assets/atum/textures/items/MafdetsQuickness.png diff --git a/resources/assets/atum/textures/items/MnevisHorns.png b/src/main/resources/assets/atum/textures/items/MnevisHorns.png similarity index 100% rename from resources/assets/atum/textures/items/MnevisHorns.png rename to src/main/resources/assets/atum/textures/items/MnevisHorns.png diff --git a/resources/assets/atum/textures/items/MonthusBlast.png b/src/main/resources/assets/atum/textures/items/MonthusBlast.png similarity index 100% rename from resources/assets/atum/textures/items/MonthusBlast.png rename to src/main/resources/assets/atum/textures/items/MonthusBlast.png diff --git a/resources/assets/atum/textures/items/MonthusBlast_pull_0.png b/src/main/resources/assets/atum/textures/items/MonthusBlast_pull_0.png similarity index 100% rename from resources/assets/atum/textures/items/MonthusBlast_pull_0.png rename to src/main/resources/assets/atum/textures/items/MonthusBlast_pull_0.png diff --git a/resources/assets/atum/textures/items/MonthusBlast_pull_1.png b/src/main/resources/assets/atum/textures/items/MonthusBlast_pull_1.png similarity index 100% rename from resources/assets/atum/textures/items/MonthusBlast_pull_1.png rename to src/main/resources/assets/atum/textures/items/MonthusBlast_pull_1.png diff --git a/resources/assets/atum/textures/items/MonthusBlast_pull_2.png b/src/main/resources/assets/atum/textures/items/MonthusBlast_pull_2.png similarity index 100% rename from resources/assets/atum/textures/items/MonthusBlast_pull_2.png rename to src/main/resources/assets/atum/textures/items/MonthusBlast_pull_2.png diff --git a/resources/assets/atum/textures/items/MonthusStrike.png b/src/main/resources/assets/atum/textures/items/MonthusStrike.png similarity index 100% rename from resources/assets/atum/textures/items/MonthusStrike.png rename to src/main/resources/assets/atum/textures/items/MonthusStrike.png diff --git a/resources/assets/atum/textures/items/MummyBoots.png b/src/main/resources/assets/atum/textures/items/MummyBoots.png similarity index 100% rename from resources/assets/atum/textures/items/MummyBoots.png rename to src/main/resources/assets/atum/textures/items/MummyBoots.png diff --git a/resources/assets/atum/textures/items/MummyChest.png b/src/main/resources/assets/atum/textures/items/MummyChest.png similarity index 100% rename from resources/assets/atum/textures/items/MummyChest.png rename to src/main/resources/assets/atum/textures/items/MummyChest.png diff --git a/resources/assets/atum/textures/items/MummyHelmet.png b/src/main/resources/assets/atum/textures/items/MummyHelmet.png similarity index 100% rename from resources/assets/atum/textures/items/MummyHelmet.png rename to src/main/resources/assets/atum/textures/items/MummyHelmet.png diff --git a/resources/assets/atum/textures/items/MummyLegs.png b/src/main/resources/assets/atum/textures/items/MummyLegs.png similarity index 100% rename from resources/assets/atum/textures/items/MummyLegs.png rename to src/main/resources/assets/atum/textures/items/MummyLegs.png diff --git a/resources/assets/atum/textures/items/NeithsAudacity.png b/src/main/resources/assets/atum/textures/items/NeithsAudacity.png similarity index 100% rename from resources/assets/atum/textures/items/NeithsAudacity.png rename to src/main/resources/assets/atum/textures/items/NeithsAudacity.png diff --git a/resources/assets/atum/textures/items/NusFlux.png b/src/main/resources/assets/atum/textures/items/NusFlux.png similarity index 100% rename from resources/assets/atum/textures/items/NusFlux.png rename to src/main/resources/assets/atum/textures/items/NusFlux.png diff --git a/resources/assets/atum/textures/items/NutsAgility.png b/src/main/resources/assets/atum/textures/items/NutsAgility.png similarity index 100% rename from resources/assets/atum/textures/items/NutsAgility.png rename to src/main/resources/assets/atum/textures/items/NutsAgility.png diff --git a/resources/assets/atum/textures/items/NutsCall.png b/src/main/resources/assets/atum/textures/items/NutsCall.png similarity index 100% rename from resources/assets/atum/textures/items/NutsCall.png rename to src/main/resources/assets/atum/textures/items/NutsCall.png diff --git a/resources/assets/atum/textures/items/OsirisWill.png b/src/main/resources/assets/atum/textures/items/OsirisWill.png similarity index 100% rename from resources/assets/atum/textures/items/OsirisWill.png rename to src/main/resources/assets/atum/textures/items/OsirisWill.png diff --git a/resources/assets/atum/textures/items/PapyrusPlantItem.png b/src/main/resources/assets/atum/textures/items/PapyrusPlantItem.png similarity index 100% rename from resources/assets/atum/textures/items/PapyrusPlantItem.png rename to src/main/resources/assets/atum/textures/items/PapyrusPlantItem.png diff --git a/resources/assets/atum/textures/items/PtahsDecadence.png b/src/main/resources/assets/atum/textures/items/PtahsDecadence.png similarity index 100% rename from resources/assets/atum/textures/items/PtahsDecadence.png rename to src/main/resources/assets/atum/textures/items/PtahsDecadence.png diff --git a/resources/assets/atum/textures/items/PtahsDestruction.png b/src/main/resources/assets/atum/textures/items/PtahsDestruction.png similarity index 100% rename from resources/assets/atum/textures/items/PtahsDestruction.png rename to src/main/resources/assets/atum/textures/items/PtahsDestruction.png diff --git a/resources/assets/atum/textures/items/RasGlory.png b/src/main/resources/assets/atum/textures/items/RasGlory.png similarity index 100% rename from resources/assets/atum/textures/items/RasGlory.png rename to src/main/resources/assets/atum/textures/items/RasGlory.png diff --git a/resources/assets/atum/textures/items/RubyBroach.png b/src/main/resources/assets/atum/textures/items/RubyBroach.png similarity index 100% rename from resources/assets/atum/textures/items/RubyBroach.png rename to src/main/resources/assets/atum/textures/items/RubyBroach.png diff --git a/resources/assets/atum/textures/items/RubyIdol.png b/src/main/resources/assets/atum/textures/items/RubyIdol.png similarity index 100% rename from resources/assets/atum/textures/items/RubyIdol.png rename to src/main/resources/assets/atum/textures/items/RubyIdol.png diff --git a/resources/assets/atum/textures/items/RubyNecklace.png b/src/main/resources/assets/atum/textures/items/RubyNecklace.png similarity index 100% rename from resources/assets/atum/textures/items/RubyNecklace.png rename to src/main/resources/assets/atum/textures/items/RubyNecklace.png diff --git a/resources/assets/atum/textures/items/RubyRing.png b/src/main/resources/assets/atum/textures/items/RubyRing.png similarity index 100% rename from resources/assets/atum/textures/items/RubyRing.png rename to src/main/resources/assets/atum/textures/items/RubyRing.png diff --git a/resources/assets/atum/textures/items/RubyScepter.png b/src/main/resources/assets/atum/textures/items/RubyScepter.png similarity index 100% rename from resources/assets/atum/textures/items/RubyScepter.png rename to src/main/resources/assets/atum/textures/items/RubyScepter.png diff --git a/resources/assets/atum/textures/items/SapphireBroach.png b/src/main/resources/assets/atum/textures/items/SapphireBroach.png similarity index 100% rename from resources/assets/atum/textures/items/SapphireBroach.png rename to src/main/resources/assets/atum/textures/items/SapphireBroach.png diff --git a/resources/assets/atum/textures/items/SapphireIdol.png b/src/main/resources/assets/atum/textures/items/SapphireIdol.png similarity index 100% rename from resources/assets/atum/textures/items/SapphireIdol.png rename to src/main/resources/assets/atum/textures/items/SapphireIdol.png diff --git a/resources/assets/atum/textures/items/SapphireNecklace.png b/src/main/resources/assets/atum/textures/items/SapphireNecklace.png similarity index 100% rename from resources/assets/atum/textures/items/SapphireNecklace.png rename to src/main/resources/assets/atum/textures/items/SapphireNecklace.png diff --git a/resources/assets/atum/textures/items/SapphireRing.png b/src/main/resources/assets/atum/textures/items/SapphireRing.png similarity index 100% rename from resources/assets/atum/textures/items/SapphireRing.png rename to src/main/resources/assets/atum/textures/items/SapphireRing.png diff --git a/resources/assets/atum/textures/items/SapphireScepter.png b/src/main/resources/assets/atum/textures/items/SapphireScepter.png similarity index 100% rename from resources/assets/atum/textures/items/SapphireScepter.png rename to src/main/resources/assets/atum/textures/items/SapphireScepter.png diff --git a/resources/assets/atum/textures/items/Scarab.png b/src/main/resources/assets/atum/textures/items/Scarab.png similarity index 100% rename from resources/assets/atum/textures/items/Scarab.png rename to src/main/resources/assets/atum/textures/items/Scarab.png diff --git a/resources/assets/atum/textures/items/Scepter.png b/src/main/resources/assets/atum/textures/items/Scepter.png similarity index 100% rename from resources/assets/atum/textures/items/Scepter.png rename to src/main/resources/assets/atum/textures/items/Scepter.png diff --git a/resources/assets/atum/textures/items/Scimitar.png b/src/main/resources/assets/atum/textures/items/Scimitar.png similarity index 100% rename from resources/assets/atum/textures/items/Scimitar.png rename to src/main/resources/assets/atum/textures/items/Scimitar.png diff --git a/resources/assets/atum/textures/items/Scroll.png b/src/main/resources/assets/atum/textures/items/Scroll.png similarity index 100% rename from resources/assets/atum/textures/items/Scroll.png rename to src/main/resources/assets/atum/textures/items/Scroll.png diff --git a/resources/assets/atum/textures/items/SekhmetsWrath.png b/src/main/resources/assets/atum/textures/items/SekhmetsWrath.png similarity index 100% rename from resources/assets/atum/textures/items/SekhmetsWrath.png rename to src/main/resources/assets/atum/textures/items/SekhmetsWrath.png diff --git a/resources/assets/atum/textures/items/ShusBreath.png b/src/main/resources/assets/atum/textures/items/ShusBreath.png similarity index 100% rename from resources/assets/atum/textures/items/ShusBreath.png rename to src/main/resources/assets/atum/textures/items/ShusBreath.png diff --git a/resources/assets/atum/textures/items/ShusBreath_pull_0.png b/src/main/resources/assets/atum/textures/items/ShusBreath_pull_0.png similarity index 100% rename from resources/assets/atum/textures/items/ShusBreath_pull_0.png rename to src/main/resources/assets/atum/textures/items/ShusBreath_pull_0.png diff --git a/resources/assets/atum/textures/items/ShusBreath_pull_1.png b/src/main/resources/assets/atum/textures/items/ShusBreath_pull_1.png similarity index 100% rename from resources/assets/atum/textures/items/ShusBreath_pull_1.png rename to src/main/resources/assets/atum/textures/items/ShusBreath_pull_1.png diff --git a/resources/assets/atum/textures/items/ShusBreath_pull_2.png b/src/main/resources/assets/atum/textures/items/ShusBreath_pull_2.png similarity index 100% rename from resources/assets/atum/textures/items/ShusBreath_pull_2.png rename to src/main/resources/assets/atum/textures/items/ShusBreath_pull_2.png diff --git a/resources/assets/atum/textures/items/SilverBroach.png b/src/main/resources/assets/atum/textures/items/SilverBroach.png similarity index 100% rename from resources/assets/atum/textures/items/SilverBroach.png rename to src/main/resources/assets/atum/textures/items/SilverBroach.png diff --git a/resources/assets/atum/textures/items/SilverIdol.png b/src/main/resources/assets/atum/textures/items/SilverIdol.png similarity index 100% rename from resources/assets/atum/textures/items/SilverIdol.png rename to src/main/resources/assets/atum/textures/items/SilverIdol.png diff --git a/resources/assets/atum/textures/items/SilverNecklace.png b/src/main/resources/assets/atum/textures/items/SilverNecklace.png similarity index 100% rename from resources/assets/atum/textures/items/SilverNecklace.png rename to src/main/resources/assets/atum/textures/items/SilverNecklace.png diff --git a/resources/assets/atum/textures/items/SilverRing.png b/src/main/resources/assets/atum/textures/items/SilverRing.png similarity index 100% rename from resources/assets/atum/textures/items/SilverRing.png rename to src/main/resources/assets/atum/textures/items/SilverRing.png diff --git a/resources/assets/atum/textures/items/SilverScepter.png b/src/main/resources/assets/atum/textures/items/SilverScepter.png similarity index 100% rename from resources/assets/atum/textures/items/SilverScepter.png rename to src/main/resources/assets/atum/textures/items/SilverScepter.png diff --git a/resources/assets/atum/textures/items/SobeksRage.png b/src/main/resources/assets/atum/textures/items/SobeksRage.png similarity index 100% rename from resources/assets/atum/textures/items/SobeksRage.png rename to src/main/resources/assets/atum/textures/items/SobeksRage.png diff --git a/resources/assets/atum/textures/items/StoneChunk.png b/src/main/resources/assets/atum/textures/items/StoneChunk.png similarity index 100% rename from resources/assets/atum/textures/items/StoneChunk.png rename to src/main/resources/assets/atum/textures/items/StoneChunk.png diff --git a/resources/assets/atum/textures/items/StoneSoldierSword.png b/src/main/resources/assets/atum/textures/items/StoneSoldierSword.png similarity index 100% rename from resources/assets/atum/textures/items/StoneSoldierSword.png rename to src/main/resources/assets/atum/textures/items/StoneSoldierSword.png diff --git a/resources/assets/atum/textures/items/WandererBoots.png b/src/main/resources/assets/atum/textures/items/WandererBoots.png similarity index 100% rename from resources/assets/atum/textures/items/WandererBoots.png rename to src/main/resources/assets/atum/textures/items/WandererBoots.png diff --git a/resources/assets/atum/textures/items/WandererChest.png b/src/main/resources/assets/atum/textures/items/WandererChest.png similarity index 100% rename from resources/assets/atum/textures/items/WandererChest.png rename to src/main/resources/assets/atum/textures/items/WandererChest.png diff --git a/resources/assets/atum/textures/items/WandererHelmet.png b/src/main/resources/assets/atum/textures/items/WandererHelmet.png similarity index 100% rename from resources/assets/atum/textures/items/WandererHelmet.png rename to src/main/resources/assets/atum/textures/items/WandererHelmet.png diff --git a/resources/assets/atum/textures/items/WandererLegs.png b/src/main/resources/assets/atum/textures/items/WandererLegs.png similarity index 100% rename from resources/assets/atum/textures/items/WandererLegs.png rename to src/main/resources/assets/atum/textures/items/WandererLegs.png diff --git a/resources/assets/atum/textures/items/WolfPelt.png b/src/main/resources/assets/atum/textures/items/WolfPelt.png similarity index 100% rename from resources/assets/atum/textures/items/WolfPelt.png rename to src/main/resources/assets/atum/textures/items/WolfPelt.png diff --git a/resources/assets/atum/textures/items/atens_pull_0.png b/src/main/resources/assets/atum/textures/items/atens_pull_0.png similarity index 100% rename from resources/assets/atum/textures/items/atens_pull_0.png rename to src/main/resources/assets/atum/textures/items/atens_pull_0.png diff --git a/resources/assets/atum/textures/items/atens_pull_1.png b/src/main/resources/assets/atum/textures/items/atens_pull_1.png similarity index 100% rename from resources/assets/atum/textures/items/atens_pull_1.png rename to src/main/resources/assets/atum/textures/items/atens_pull_1.png diff --git a/resources/assets/atum/textures/items/atens_pull_2.png b/src/main/resources/assets/atum/textures/items/atens_pull_2.png similarity index 100% rename from resources/assets/atum/textures/items/atens_pull_2.png rename to src/main/resources/assets/atum/textures/items/atens_pull_2.png diff --git a/resources/assets/atum/textures/items/bow_pull_0.png b/src/main/resources/assets/atum/textures/items/bow_pull_0.png similarity index 100% rename from resources/assets/atum/textures/items/bow_pull_0.png rename to src/main/resources/assets/atum/textures/items/bow_pull_0.png diff --git a/resources/assets/atum/textures/items/bow_pull_1.png b/src/main/resources/assets/atum/textures/items/bow_pull_1.png similarity index 100% rename from resources/assets/atum/textures/items/bow_pull_1.png rename to src/main/resources/assets/atum/textures/items/bow_pull_1.png diff --git a/resources/assets/atum/textures/items/bow_pull_2.png b/src/main/resources/assets/atum/textures/items/bow_pull_2.png similarity index 100% rename from resources/assets/atum/textures/items/bow_pull_2.png rename to src/main/resources/assets/atum/textures/items/bow_pull_2.png diff --git a/resources/assets/atum/textures/items/neiths_pull_0.png b/src/main/resources/assets/atum/textures/items/neiths_pull_0.png similarity index 100% rename from resources/assets/atum/textures/items/neiths_pull_0.png rename to src/main/resources/assets/atum/textures/items/neiths_pull_0.png diff --git a/resources/assets/atum/textures/items/neiths_pull_1.png b/src/main/resources/assets/atum/textures/items/neiths_pull_1.png similarity index 100% rename from resources/assets/atum/textures/items/neiths_pull_1.png rename to src/main/resources/assets/atum/textures/items/neiths_pull_1.png diff --git a/resources/assets/atum/textures/items/neiths_pull_2.png b/src/main/resources/assets/atum/textures/items/neiths_pull_2.png similarity index 100% rename from resources/assets/atum/textures/items/neiths_pull_2.png rename to src/main/resources/assets/atum/textures/items/neiths_pull_2.png diff --git a/resources/assets/atum/textures/particles/Sand.png b/src/main/resources/assets/atum/textures/particles/Sand.png similarity index 100% rename from resources/assets/atum/textures/particles/Sand.png rename to src/main/resources/assets/atum/textures/particles/Sand.png diff --git a/resources/assets/atum/textures/projectiles/arrows_double.png b/src/main/resources/assets/atum/textures/projectiles/arrows_double.png similarity index 100% rename from resources/assets/atum/textures/projectiles/arrows_double.png rename to src/main/resources/assets/atum/textures/projectiles/arrows_double.png diff --git a/resources/assets/atum/textures/projectiles/arrows_exploding.png b/src/main/resources/assets/atum/textures/projectiles/arrows_exploding.png similarity index 100% rename from resources/assets/atum/textures/projectiles/arrows_exploding.png rename to src/main/resources/assets/atum/textures/projectiles/arrows_exploding.png diff --git a/resources/assets/atum/textures/projectiles/arrows_fire.png b/src/main/resources/assets/atum/textures/projectiles/arrows_fire.png similarity index 100% rename from resources/assets/atum/textures/projectiles/arrows_fire.png rename to src/main/resources/assets/atum/textures/projectiles/arrows_fire.png diff --git a/resources/assets/atum/textures/projectiles/arrows_poison.png b/src/main/resources/assets/atum/textures/projectiles/arrows_poison.png similarity index 100% rename from resources/assets/atum/textures/projectiles/arrows_poison.png rename to src/main/resources/assets/atum/textures/projectiles/arrows_poison.png diff --git a/resources/assets/atum/textures/projectiles/arrows_quickdraw.png b/src/main/resources/assets/atum/textures/projectiles/arrows_quickdraw.png similarity index 100% rename from resources/assets/atum/textures/projectiles/arrows_quickdraw.png rename to src/main/resources/assets/atum/textures/projectiles/arrows_quickdraw.png diff --git a/resources/assets/atum/textures/projectiles/arrows_velocity.png b/src/main/resources/assets/atum/textures/projectiles/arrows_velocity.png similarity index 100% rename from resources/assets/atum/textures/projectiles/arrows_velocity.png rename to src/main/resources/assets/atum/textures/projectiles/arrows_velocity.png diff --git a/resources/assets/atum/textures/projectiles/nutscall.png b/src/main/resources/assets/atum/textures/projectiles/nutscall.png similarity index 100% rename from resources/assets/atum/textures/projectiles/nutscall.png rename to src/main/resources/assets/atum/textures/projectiles/nutscall.png diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info new file mode 100644 index 0000000..e7148b2 --- /dev/null +++ b/src/main/resources/mcmod.info @@ -0,0 +1,16 @@ +[ +{ + "modid": "examplemod", + "name": "Example Mod", + "description": "Example placeholder mod.", + "version": "${version}", + "mcversion": "${mcversion}", + "url": "", + "updateUrl": "", + "authors": ["ExampleDude"], + "credits": "The Forge and FML guys, for making this example", + "logoFile": "", + "screenshots": [], + "dependencies": [] +} +] From 35b08648daeab64ecdc6ef1b25cf8e701ab5d8a2 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Wed, 12 Feb 2014 16:45:00 +1000 Subject: [PATCH 020/157] Reverted Commit --- .gitignore | 18 +- build.gradle | 42 -- build.xml | 206 ++++++++++ gradle/wrapper/gradle-wrapper.jar | Bin 50514 -> 0 bytes gradle/wrapper/gradle-wrapper.properties | 6 - gradlew | 164 -------- gradlew.bat | 90 ----- resources/README.md | 4 + .../assets/atum/lang/en_US.properties | 0 .../assets/atum/music/ALongJourney.ogg | Bin .../assets/atum/music/Hostiles.ogg | Bin .../assets/atum/music/ScorchingSand.ogg | Bin .../assets/atum/music/TempleTales.ogg | Bin .../assets/atum/music/TheWanderer.ogg | Bin .../assets/atum/sound/pharaohspawn.ogg | Bin .../atum/textures/armor/DesertArmor_1.png | Bin .../atum/textures/armor/DesertArmor_2.png | Bin .../atum/textures/armor/EgyptianArmor_1.png | Bin .../atum/textures/armor/EgyptianArmor_2.png | Bin .../atum/textures/armor/MummyArmor_1.png | Bin .../atum/textures/armor/MummyArmor_2.png | Bin .../textures/armor/RubyArtifactArmor_1.png | Bin .../textures/armor/RubyArtifactArmor_2.png | Bin .../atum/textures/armor/WandererArmor_1.png | Bin .../textures/armor/WandererArmor_1_old.png | Bin .../atum/textures/armor/WandererArmor_2.png | Bin .../atum/textures/blocks/AtumBrickCarved.png | Bin .../atum/textures/blocks/AtumBrickLarge.png | Bin .../atum/textures/blocks/AtumBrickSmall.png | Bin .../assets/atum/textures/blocks/AtumCoal.png | Bin .../atum/textures/blocks/AtumCobble.png | Bin .../textures/blocks/AtumCrackedLargeBrick.png | Bin .../atum/textures/blocks/AtumCrystalGlass.png | Bin .../assets/atum/textures/blocks/AtumDate.png | Bin .../atum/textures/blocks/AtumDiamond.png | Bin .../atum/textures/blocks/AtumFramedGlass.png | Bin .../assets/atum/textures/blocks/AtumGold.png | Bin .../assets/atum/textures/blocks/AtumIron.png | Bin .../assets/atum/textures/blocks/AtumLapis.png | Bin .../atum/textures/blocks/AtumLeaves.png | Bin .../atum/textures/blocks/AtumPalmSapling.png | Bin .../atum/textures/blocks/AtumPapyrus.png | Bin .../atum/textures/blocks/AtumPapyrusTop.png | Bin .../atum/textures/blocks/AtumRedstone.png | Bin .../assets/atum/textures/blocks/AtumSand.png | Bin .../assets/atum/textures/blocks/AtumStone.png | Bin .../atum/textures/blocks/AtumiteOre.png | Bin .../assets/atum/textures/blocks/DeadBush.png | Bin .../atum/textures/blocks/FertileSoil.png | Bin .../atum/textures/blocks/FertileSoilSide.png | Bin .../atum/textures/blocks/FertileSoilTop.png | Bin .../assets/atum/textures/blocks/Flax_0.png | Bin .../assets/atum/textures/blocks/Flax_1.png | Bin .../assets/atum/textures/blocks/Flax_2.png | Bin .../assets/atum/textures/blocks/Flax_3.png | Bin .../assets/atum/textures/blocks/Flax_4.png | Bin .../assets/atum/textures/blocks/Flax_5.png | Bin .../atum/textures/blocks/FurnaceBurning.png | Bin .../atum/textures/blocks/FurnaceFront.png | Bin .../atum/textures/blocks/FurnaceTop.png | Bin .../atum/textures/blocks/PapyrusPlantItem.png | Bin .../assets/atum/textures/blocks/Planks.png | Bin .../assets/atum/textures/blocks/Shrub.png | Bin .../assets/atum/textures/blocks/TrapFire.png | Bin .../assets/atum/textures/blocks/TrapSide.png | Bin .../assets/atum/textures/blocks/Weed.png | Bin .../assets/atum/textures/blocks/portal.png | Bin .../atum/textures/blocks/portal.png.mcmeta | 0 .../blocks/stonebricksmooth_mossy.png | Bin .../atum/textures/blocks/thinglass_top.png | Bin .../assets/atum/textures/blocks/tree_side.png | Bin .../assets/atum/textures/blocks/tree_top.png | Bin .../atum/textures/entities/BanditArcher.png | Bin .../atum/textures/entities/BanditWarlord.png | Bin .../atum/textures/entities/BanditWarrior.png | Bin .../atum/textures/entities/Barbarian.png | Bin .../atum/textures/entities/Bonestorm.png | Bin .../atum/textures/entities/DesertGhost.png | Bin .../atum/textures/entities/DesertWolf.png | Bin .../textures/entities/DesertWolf_angry.png | Bin .../textures/entities/DesertWolf_tame.png | Bin .../atum/textures/entities/DustySkeleton.png | Bin .../assets/atum/textures/entities/Mummy.png | Bin .../atum/textures/entities/PharaohBlue.png | Bin .../textures/entities/PharaohBlue_old.png | Bin .../atum/textures/entities/PharaohGreen.png | Bin .../atum/textures/entities/PharaohRed.png | Bin .../atum/textures/entities/StoneSoldier.png | Bin .../assets/atum/textures/hud/mummyblur.png | Bin .../assets/atum/textures/items/AkersToil.png | Bin .../atum/textures/items/AmunetsHomecoming.png | Bin .../atum/textures/items/Anhur's Might.png | Bin .../atum/textures/items/AnhursMight.png | Bin .../atum/textures/items/AnubisMercy.png | Bin .../atum/textures/items/AnuketsBounty.png | Bin .../assets/atum/textures/items/Arrow.png | Bin .../atum/textures/items/ArrowEntity.png | Bin .../assets/atum/textures/items/AtensFury.png | Bin .../assets/atum/textures/items/Bow.png | Bin .../assets/atum/textures/items/ClothScrap.png | Bin .../assets/atum/textures/items/Date.png | Bin .../atum/textures/items/DesertBoots.png | Bin .../atum/textures/items/DesertChest.png | Bin .../atum/textures/items/DesertHelmet.png | Bin .../assets/atum/textures/items/DesertLegs.png | Bin .../atum/textures/items/DiamondBroach.png | Bin .../atum/textures/items/DiamondIdol.png | Bin .../atum/textures/items/DiamondNecklace.png | Bin .../atum/textures/items/DiamondRing.png | Bin .../atum/textures/items/DiamondScepter.png | Bin .../atum/textures/items/DirtyBroach.png | Bin .../assets/atum/textures/items/DirtyIdol.png | Bin .../atum/textures/items/DirtyNecklace.png | Bin .../assets/atum/textures/items/DirtyRing.png | Bin .../atum/textures/items/DirtyScepter.png | Bin .../assets/atum/textures/items/Ectoplasm.png | Bin .../atum/textures/items/EmeraldBroach.png | Bin .../atum/textures/items/EmeraldIdol.png | Bin .../atum/textures/items/EmeraldNecklace.png | Bin .../atum/textures/items/EmeraldRing.png | Bin .../atum/textures/items/EmeraldScepter.png | Bin .../assets/atum/textures/items/Fish0.png | Bin .../assets/atum/textures/items/Fish1.png | Bin .../assets/atum/textures/items/Fish2.png | Bin .../assets/atum/textures/items/Fish3.png | Bin .../assets/atum/textures/items/Fish4.png | Bin .../assets/atum/textures/items/FlaxItem.png | Bin .../assets/atum/textures/items/FlaxSeeds.png | Bin .../atum/textures/items/GebsBlessing.png | Bin .../atum/textures/items/GebsSolidarity.png | Bin .../assets/atum/textures/items/GoldBroach.png | Bin .../assets/atum/textures/items/GoldIdol.png | Bin .../atum/textures/items/GoldNecklace.png | Bin .../assets/atum/textures/items/GoldRing.png | Bin .../atum/textures/items/GoldScepter.png | Bin .../assets/atum/textures/items/Greatsword.png | Bin .../atum/textures/items/HedetetsSting.png | Bin .../atum/textures/items/HedetetsVenom.png | Bin .../textures/items/HedetetsVenom_pull_0.png | Bin .../textures/items/HedetetsVenom_pull_1.png | Bin .../textures/items/HedetetsVenom_pull_2.png | Bin .../atum/textures/items/HorusFlight.png | Bin .../atum/textures/items/HorusSoaring.png | Bin .../textures/items/HorusSoaring_pull_0.png | Bin .../textures/items/HorusSoaring_pull_1.png | Bin .../textures/items/HorusSoaring_pull_2.png | Bin .../atum/textures/items/IsisEmbrace.png | Bin .../atum/textures/items/IsisHealing.png | Bin .../atum/textures/items/LimestoneAxe.png | Bin .../atum/textures/items/LimestoneHoe.png | Bin .../atum/textures/items/LimestonePickaxe.png | Bin .../atum/textures/items/LimestoneShovel.png | Bin .../atum/textures/items/LimestoneSword.png | Bin .../assets/atum/textures/items/Linen.png | Bin .../atum/textures/items/MaatsBalance.png | Bin .../atum/textures/items/MafdetsQuickness.png | Bin .../atum/textures/items/MnevisHorns.png | Bin .../atum/textures/items/MonthusBlast.png | Bin .../textures/items/MonthusBlast_pull_0.png | Bin .../textures/items/MonthusBlast_pull_1.png | Bin .../textures/items/MonthusBlast_pull_2.png | Bin .../atum/textures/items/MonthusStrike.png | Bin .../assets/atum/textures/items/MummyBoots.png | Bin .../assets/atum/textures/items/MummyChest.png | Bin .../atum/textures/items/MummyHelmet.png | Bin .../assets/atum/textures/items/MummyLegs.png | Bin .../atum/textures/items/NeithsAudacity.png | Bin .../assets/atum/textures/items/NusFlux.png | Bin .../atum/textures/items/NutsAgility.png | Bin .../assets/atum/textures/items/NutsCall.png | Bin .../assets/atum/textures/items/OsirisWill.png | Bin .../atum/textures/items/PapyrusPlantItem.png | Bin .../atum/textures/items/PtahsDecadence.png | Bin .../atum/textures/items/PtahsDestruction.png | Bin .../assets/atum/textures/items/RasGlory.png | Bin .../assets/atum/textures/items/RubyBroach.png | Bin .../assets/atum/textures/items/RubyIdol.png | Bin .../atum/textures/items/RubyNecklace.png | Bin .../assets/atum/textures/items/RubyRing.png | Bin .../atum/textures/items/RubyScepter.png | Bin .../atum/textures/items/SapphireBroach.png | Bin .../atum/textures/items/SapphireIdol.png | Bin .../atum/textures/items/SapphireNecklace.png | Bin .../atum/textures/items/SapphireRing.png | Bin .../atum/textures/items/SapphireScepter.png | Bin .../assets/atum/textures/items/Scarab.png | Bin .../assets/atum/textures/items/Scepter.png | Bin .../assets/atum/textures/items/Scimitar.png | Bin .../assets/atum/textures/items/Scroll.png | Bin .../atum/textures/items/SekhmetsWrath.png | Bin .../assets/atum/textures/items/ShusBreath.png | Bin .../atum/textures/items/ShusBreath_pull_0.png | Bin .../atum/textures/items/ShusBreath_pull_1.png | Bin .../atum/textures/items/ShusBreath_pull_2.png | Bin .../atum/textures/items/SilverBroach.png | Bin .../assets/atum/textures/items/SilverIdol.png | Bin .../atum/textures/items/SilverNecklace.png | Bin .../assets/atum/textures/items/SilverRing.png | Bin .../atum/textures/items/SilverScepter.png | Bin .../assets/atum/textures/items/SobeksRage.png | Bin .../assets/atum/textures/items/StoneChunk.png | Bin .../atum/textures/items/StoneSoldierSword.png | Bin .../atum/textures/items/WandererBoots.png | Bin .../atum/textures/items/WandererChest.png | Bin .../atum/textures/items/WandererHelmet.png | Bin .../atum/textures/items/WandererLegs.png | Bin .../assets/atum/textures/items/WolfPelt.png | Bin .../atum/textures/items/atens_pull_0.png | Bin .../atum/textures/items/atens_pull_1.png | Bin .../atum/textures/items/atens_pull_2.png | Bin .../assets/atum/textures/items/bow_pull_0.png | Bin .../assets/atum/textures/items/bow_pull_1.png | Bin .../assets/atum/textures/items/bow_pull_2.png | Bin .../atum/textures/items/neiths_pull_0.png | Bin .../atum/textures/items/neiths_pull_1.png | Bin .../atum/textures/items/neiths_pull_2.png | Bin .../assets/atum/textures/particles/Sand.png | Bin .../textures/projectiles/arrows_double.png | Bin .../textures/projectiles/arrows_exploding.png | Bin .../atum/textures/projectiles/arrows_fire.png | Bin .../textures/projectiles/arrows_poison.png | Bin .../textures/projectiles/arrows_quickdraw.png | Bin .../textures/projectiles/arrows_velocity.png | Bin .../atum/textures/projectiles/nutscall.png | Bin .../com/teammetallurgy/atum/Atum.java | 22 +- .../com/teammetallurgy/atum/AtumConfig.java | 2 +- .../teammetallurgy/atum/AtumCreativeTab.java | 7 +- .../com/teammetallurgy/atum/AtumFish.java | 14 +- .../com/teammetallurgy/atum/AtumIDS.java | 0 src/com/teammetallurgy/atum/AtumLoot.java | 122 ++++++ .../atum/AtumWeightedLootSet.java | 4 +- .../atum/LocalizationHelper.java | 0 .../teammetallurgy/atum/blocks/BlockAtum.java | 7 +- .../atum/blocks/BlockAtumGlass.java | 0 .../atum/blocks/BlockAtumOres.java | 0 .../atum/blocks/BlockAtumPane.java | 0 .../atum/blocks/BlockBurningTrap.java | 13 +- .../atum/blocks/BlockChestSpawner.java | 5 +- .../teammetallurgy/atum/blocks/BlockDate.java | 16 +- .../atum/blocks/BlockFertileSoil.java | 61 ++- .../atum/blocks/BlockFertileSoilTilled.java | 16 +- .../teammetallurgy/atum/blocks/BlockFlax.java | 22 +- .../atum/blocks/BlockLeave.java | 122 +++--- .../atum/blocks/BlockLimeStoneFurnace.java | 18 +- .../atum/blocks/BlockPalmLog.java | 49 ++- .../atum/blocks/BlockPalmSapling.java | 92 +++++ .../atum/blocks/BlockPapyrus.java | 24 +- .../atum/blocks/BlockPharaohChest.java | 15 +- .../atum/blocks/BlockPortal.java | 10 +- .../atum/blocks/BlockSandLayered.java | 14 +- .../atum/blocks/BlockSands.java | 1 + .../atum/blocks/BlockShrub.java | 20 +- .../teammetallurgy/atum/blocks/BlockSlab.java | 68 ++++ .../atum/blocks/BlockStair.java | 0 .../atum/blocks/BlockStones.java | 3 +- .../atum/blocks/BlockWalls.java | 6 +- .../teammetallurgy/atum/blocks/Blocks.java} | 14 +- .../atum/blocks/ItemBlockSlab.java | 6 +- .../atum/blocks/ItemBlockWall.java | 6 +- .../tileentity/CursedChestBaseLogic.java | 108 +++--- .../tileentity/CursedChestSpawnerLogic.java | 12 +- .../tileentity/TileEntityBurningTrap.java | 0 .../tileentity/TileEntityChestSpawner.java | 28 +- .../tileentity/TileEntityPharaohChest.java | 12 +- .../client/model/entity/ModelDesertWolf.java | 0 .../model/entity/ModelDustySkeleton.java | 0 .../client/model/tileentity/ModelDate.java | 5 - .../client/render/entity/RenderBandit.java | 36 +- .../render/entity/RenderDesertWolf.java | 1 + .../client/render/entity/RenderFireSpear.java | 0 .../entity/RenderFireSpearSeperated.java | 1 + .../client/render/entity/RenderGhost.java | 95 +++-- .../client/render/entity/RenderPharaoh.java | 37 +- .../entity/arrow/RenderCustomArrow.java | 0 .../render/entity/arrow/RenderNutsCall.java | 0 .../client/render/item/RendererItemBow.java | 9 +- .../client/render/tileentity/RenderDate.java | 16 +- .../render/tileentity/RenderPapyrus.java | 13 +- .../teammetallurgy/atum/entity/Entity.java | 1 + .../atum/entity/EntityBanditArcher.java | 57 ++- .../atum/entity/EntityBanditWarlord.java | 59 +-- .../atum/entity/EntityBanditWarrior.java | 33 +- .../atum/entity/EntityBarbarian.java | 40 +- .../atum/entity/EntityBonestorm.java | 74 ++-- .../atum/entity/EntityDesertWolf.java | 103 +++-- .../atum/entity/EntityDustySkeleton.java | 0 .../atum/entity/EntityGhost.java | 4 +- .../atum/entity/EntityMummy.java | 4 +- .../atum/entity/EntityPharaoh.java | 8 +- .../atum/entity/EntityStone.java | 1 + .../atum/entity/EntityStoneSoldier.java | 35 +- .../atum/entity/IAtumDayMob.java | 0 .../atum/entity/IAtumNightMob.java | 0 .../atum/entity/arrow/CustomArrow.java | 0 .../entity/arrow/EntityArrowDoubleShot.java | 129 +++---- .../entity/arrow/EntityArrowExplosive.java | 1 + .../atum/entity/arrow/EntityArrowFire.java | 3 +- .../atum/entity/arrow/EntityArrowPoison.java | 13 +- .../entity/arrow/EntityArrowQuickdraw.java | 1 + .../entity/arrow/EntityArrowVelocity.java | 1 + .../atum/entity/arrow/EntityAtumFishHook.java | 4 +- .../atum/entity/arrow/EntityNutsCall.java | 1 + .../projectiles/EntityFireSpearCombined.java | 1 + .../projectiles/EntityFireSpearSeperated.java | 1 + .../atum/items/ItemAtumBow.java | 4 +- .../teammetallurgy/atum/items/ItemFish.java | 7 +- .../atum/items/ItemGreatsword.java | 1 + .../teammetallurgy/atum/items/ItemLoot.java | 9 +- .../atum/items/ItemPapyrusPlant.java | 7 +- .../teammetallurgy/atum/items/ItemScarab.java | 13 +- .../atum/items/ItemScepter.java | 2 + .../atum/items/ItemScimitar.java | 2 + .../atum/items/ItemStoneSoldierSword.java | 2 + .../atum/items/ItemTexturedArmor.java | 18 +- .../teammetallurgy/atum/items/Items.java} | 15 +- .../atum/items/LimestoneAxe.java | 6 +- .../atum/items/LimestoneHoe.java | 6 +- .../atum/items/LimestonePickaxe.java | 6 +- .../atum/items/LimestoneShovel.java | 8 +- .../atum/items/LimestoneSword.java | 6 +- .../atum/items/artifacts/IsisEmbrace.java | 14 +- .../atum/items/artifacts/ItemAkersToil.java | 2 + .../artifacts/ItemAmunetsHomecoming.java | 7 +- .../atum/items/artifacts/ItemAnhursMight.java | 2 + .../atum/items/artifacts/ItemAnubisMercy.java | 9 +- .../items/artifacts/ItemAnuketsBounty.java | 4 +- .../atum/items/artifacts/ItemAtensFury.java | 4 +- .../items/artifacts/ItemGebsBlessing.java | 2 + .../items/artifacts/ItemGebsSolidarity.java | 3 + .../items/artifacts/ItemHedetetsSting.java | 2 + .../items/artifacts/ItemHedetetsVenom.java | 4 +- .../atum/items/artifacts/ItemHorusFlight.java | 9 +- .../items/artifacts/ItemHorusSoaring.java | 4 +- .../atum/items/artifacts/ItemIsisHealing.java | 1 + .../items/artifacts/ItemMaatsBalance.java | 3 + .../items/artifacts/ItemMafdetsQuickness.java | 1 + .../atum/items/artifacts/ItemMnevisHorns.java | 3 + .../items/artifacts/ItemMonthusBlast.java | 4 +- .../items/artifacts/ItemMonthusStrike.java | 2 + .../items/artifacts/ItemNeithsAudacity.java | 4 +- .../atum/items/artifacts/ItemNusFlux.java | 2 + .../atum/items/artifacts/ItemNutsAgility.java | 2 + .../atum/items/artifacts/ItemNutsCall.java | 1 + .../atum/items/artifacts/ItemOsirisWill.java | 6 +- .../items/artifacts/ItemPtahsDecadence.java | 2 + .../items/artifacts/ItemPtahsDestruction.java | 2 + .../atum/items/artifacts/ItemRasGlory.java | 2 + .../items/artifacts/ItemSekhmetsWrath.java | 3 + .../atum/items/artifacts/ItemShusBreath.java | 4 +- .../atum/items/artifacts/ItemSobeksRage.java | 2 + .../atum/items/artifacts/ItemSpear.java | 1 + .../atum/lib/handler/CraftingHandler.java | 87 +++++ .../atum/lib/proxy/ClientProxy.java | 31 +- .../atum/lib/proxy/CommonProxy.java | 2 + .../lib/tickhandler/ClientTickHandler.java | 8 +- .../lib/tickhandler/ServerTickHandler.java | 15 +- .../atum/world/AtumPortalPosition.java | 0 .../atum/world/AtumTeleporter.java | 164 ++++---- .../com/teammetallurgy/atum/world/World.java | 1 + .../atum/worldgen/AtumChunkProvider.java | 162 ++++---- .../atum/worldgen/AtumMapGenCaves.java | 97 +++-- .../atum/worldgen/AtumWorldProvider.java | 25 +- .../atum/worldgen/AtumWorldServer.java | 5 +- .../worldgen/biome/BiomeDecoratorAtum.java | 40 +- .../worldgen/biome/BiomeGenAtumDesert.java | 28 +- .../worldgen/biome/MobSpawnController.java | 11 +- .../decorators/WorldGenAtumTrees.java | 146 +++---- .../worldgen/decorators/WorldGenOasis.java | 105 +++-- .../worldgen/decorators/WorldGenPalace.java | 365 +++++++++--------- .../worldgen/decorators/WorldGenPalm.java | 34 +- .../worldgen/decorators/WorldGenPyramid.java | 36 +- .../worldgen/decorators/WorldGenRuins.java | 44 +-- .../worldgen/decorators/WorldGenShrub.java | 15 +- .../com/teammetallurgy/atum/AtumLoot.java | 123 ------ .../atum/blocks/AtumBlockSlab.java | 69 ---- .../atum/blocks/BlockPalmSapling.java | 91 ----- .../atum/lib/handler/CraftingHandler.java | 88 ----- src/main/resources/mcmod.info | 16 - 378 files changed, 2122 insertions(+), 2165 deletions(-) delete mode 100644 build.gradle create mode 100644 build.xml delete mode 100644 gradle/wrapper/gradle-wrapper.jar delete mode 100644 gradle/wrapper/gradle-wrapper.properties delete mode 100644 gradlew delete mode 100644 gradlew.bat create mode 100644 resources/README.md rename {src/main/resources => resources}/assets/atum/lang/en_US.properties (100%) rename {src/main/resources => resources}/assets/atum/music/ALongJourney.ogg (100%) rename {src/main/resources => resources}/assets/atum/music/Hostiles.ogg (100%) rename {src/main/resources => resources}/assets/atum/music/ScorchingSand.ogg (100%) rename {src/main/resources => resources}/assets/atum/music/TempleTales.ogg (100%) rename {src/main/resources => resources}/assets/atum/music/TheWanderer.ogg (100%) rename {src/main/resources => resources}/assets/atum/sound/pharaohspawn.ogg (100%) rename {src/main/resources => resources}/assets/atum/textures/armor/DesertArmor_1.png (100%) rename {src/main/resources => resources}/assets/atum/textures/armor/DesertArmor_2.png (100%) rename {src/main/resources => resources}/assets/atum/textures/armor/EgyptianArmor_1.png (100%) rename {src/main/resources => resources}/assets/atum/textures/armor/EgyptianArmor_2.png (100%) rename {src/main/resources => resources}/assets/atum/textures/armor/MummyArmor_1.png (100%) rename {src/main/resources => resources}/assets/atum/textures/armor/MummyArmor_2.png (100%) rename {src/main/resources => resources}/assets/atum/textures/armor/RubyArtifactArmor_1.png (100%) rename {src/main/resources => resources}/assets/atum/textures/armor/RubyArtifactArmor_2.png (100%) rename {src/main/resources => resources}/assets/atum/textures/armor/WandererArmor_1.png (100%) rename {src/main/resources => resources}/assets/atum/textures/armor/WandererArmor_1_old.png (100%) rename {src/main/resources => resources}/assets/atum/textures/armor/WandererArmor_2.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/AtumBrickCarved.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/AtumBrickLarge.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/AtumBrickSmall.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/AtumCoal.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/AtumCobble.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/AtumCrackedLargeBrick.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/AtumCrystalGlass.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/AtumDate.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/AtumDiamond.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/AtumFramedGlass.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/AtumGold.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/AtumIron.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/AtumLapis.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/AtumLeaves.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/AtumPalmSapling.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/AtumPapyrus.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/AtumPapyrusTop.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/AtumRedstone.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/AtumSand.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/AtumStone.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/AtumiteOre.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/DeadBush.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/FertileSoil.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/FertileSoilSide.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/FertileSoilTop.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/Flax_0.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/Flax_1.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/Flax_2.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/Flax_3.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/Flax_4.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/Flax_5.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/FurnaceBurning.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/FurnaceFront.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/FurnaceTop.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/PapyrusPlantItem.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/Planks.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/Shrub.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/TrapFire.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/TrapSide.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/Weed.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/portal.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/portal.png.mcmeta (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/stonebricksmooth_mossy.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/thinglass_top.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/tree_side.png (100%) rename {src/main/resources => resources}/assets/atum/textures/blocks/tree_top.png (100%) rename {src/main/resources => resources}/assets/atum/textures/entities/BanditArcher.png (100%) rename {src/main/resources => resources}/assets/atum/textures/entities/BanditWarlord.png (100%) rename {src/main/resources => resources}/assets/atum/textures/entities/BanditWarrior.png (100%) rename {src/main/resources => resources}/assets/atum/textures/entities/Barbarian.png (100%) rename {src/main/resources => resources}/assets/atum/textures/entities/Bonestorm.png (100%) rename {src/main/resources => resources}/assets/atum/textures/entities/DesertGhost.png (100%) rename {src/main/resources => resources}/assets/atum/textures/entities/DesertWolf.png (100%) rename {src/main/resources => resources}/assets/atum/textures/entities/DesertWolf_angry.png (100%) rename {src/main/resources => resources}/assets/atum/textures/entities/DesertWolf_tame.png (100%) rename {src/main/resources => resources}/assets/atum/textures/entities/DustySkeleton.png (100%) rename {src/main/resources => resources}/assets/atum/textures/entities/Mummy.png (100%) rename {src/main/resources => resources}/assets/atum/textures/entities/PharaohBlue.png (100%) rename {src/main/resources => resources}/assets/atum/textures/entities/PharaohBlue_old.png (100%) rename {src/main/resources => resources}/assets/atum/textures/entities/PharaohGreen.png (100%) rename {src/main/resources => resources}/assets/atum/textures/entities/PharaohRed.png (100%) rename {src/main/resources => resources}/assets/atum/textures/entities/StoneSoldier.png (100%) rename {src/main/resources => resources}/assets/atum/textures/hud/mummyblur.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/AkersToil.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/AmunetsHomecoming.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/Anhur's Might.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/AnhursMight.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/AnubisMercy.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/AnuketsBounty.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/Arrow.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/ArrowEntity.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/AtensFury.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/Bow.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/ClothScrap.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/Date.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/DesertBoots.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/DesertChest.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/DesertHelmet.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/DesertLegs.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/DiamondBroach.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/DiamondIdol.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/DiamondNecklace.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/DiamondRing.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/DiamondScepter.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/DirtyBroach.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/DirtyIdol.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/DirtyNecklace.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/DirtyRing.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/DirtyScepter.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/Ectoplasm.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/EmeraldBroach.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/EmeraldIdol.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/EmeraldNecklace.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/EmeraldRing.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/EmeraldScepter.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/Fish0.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/Fish1.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/Fish2.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/Fish3.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/Fish4.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/FlaxItem.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/FlaxSeeds.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/GebsBlessing.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/GebsSolidarity.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/GoldBroach.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/GoldIdol.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/GoldNecklace.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/GoldRing.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/GoldScepter.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/Greatsword.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/HedetetsSting.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/HedetetsVenom.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/HedetetsVenom_pull_0.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/HedetetsVenom_pull_1.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/HedetetsVenom_pull_2.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/HorusFlight.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/HorusSoaring.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/HorusSoaring_pull_0.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/HorusSoaring_pull_1.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/HorusSoaring_pull_2.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/IsisEmbrace.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/IsisHealing.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/LimestoneAxe.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/LimestoneHoe.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/LimestonePickaxe.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/LimestoneShovel.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/LimestoneSword.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/Linen.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/MaatsBalance.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/MafdetsQuickness.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/MnevisHorns.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/MonthusBlast.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/MonthusBlast_pull_0.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/MonthusBlast_pull_1.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/MonthusBlast_pull_2.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/MonthusStrike.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/MummyBoots.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/MummyChest.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/MummyHelmet.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/MummyLegs.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/NeithsAudacity.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/NusFlux.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/NutsAgility.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/NutsCall.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/OsirisWill.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/PapyrusPlantItem.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/PtahsDecadence.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/PtahsDestruction.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/RasGlory.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/RubyBroach.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/RubyIdol.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/RubyNecklace.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/RubyRing.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/RubyScepter.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/SapphireBroach.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/SapphireIdol.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/SapphireNecklace.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/SapphireRing.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/SapphireScepter.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/Scarab.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/Scepter.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/Scimitar.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/Scroll.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/SekhmetsWrath.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/ShusBreath.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/ShusBreath_pull_0.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/ShusBreath_pull_1.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/ShusBreath_pull_2.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/SilverBroach.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/SilverIdol.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/SilverNecklace.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/SilverRing.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/SilverScepter.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/SobeksRage.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/StoneChunk.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/StoneSoldierSword.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/WandererBoots.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/WandererChest.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/WandererHelmet.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/WandererLegs.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/WolfPelt.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/atens_pull_0.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/atens_pull_1.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/atens_pull_2.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/bow_pull_0.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/bow_pull_1.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/bow_pull_2.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/neiths_pull_0.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/neiths_pull_1.png (100%) rename {src/main/resources => resources}/assets/atum/textures/items/neiths_pull_2.png (100%) rename {src/main/resources => resources}/assets/atum/textures/particles/Sand.png (100%) rename {src/main/resources => resources}/assets/atum/textures/projectiles/arrows_double.png (100%) rename {src/main/resources => resources}/assets/atum/textures/projectiles/arrows_exploding.png (100%) rename {src/main/resources => resources}/assets/atum/textures/projectiles/arrows_fire.png (100%) rename {src/main/resources => resources}/assets/atum/textures/projectiles/arrows_poison.png (100%) rename {src/main/resources => resources}/assets/atum/textures/projectiles/arrows_quickdraw.png (100%) rename {src/main/resources => resources}/assets/atum/textures/projectiles/arrows_velocity.png (100%) rename {src/main/resources => resources}/assets/atum/textures/projectiles/nutscall.png (100%) rename src/{main/java => }/com/teammetallurgy/atum/Atum.java (86%) rename src/{main/java => }/com/teammetallurgy/atum/AtumConfig.java (99%) rename src/{main/java => }/com/teammetallurgy/atum/AtumCreativeTab.java (81%) rename src/{main/java => }/com/teammetallurgy/atum/AtumFish.java (50%) rename src/{main/java => }/com/teammetallurgy/atum/AtumIDS.java (100%) create mode 100644 src/com/teammetallurgy/atum/AtumLoot.java rename src/{main/java => }/com/teammetallurgy/atum/AtumWeightedLootSet.java (95%) rename src/{main/java => }/com/teammetallurgy/atum/LocalizationHelper.java (100%) rename src/{main/java => }/com/teammetallurgy/atum/blocks/BlockAtum.java (69%) rename src/{main/java => }/com/teammetallurgy/atum/blocks/BlockAtumGlass.java (100%) rename src/{main/java => }/com/teammetallurgy/atum/blocks/BlockAtumOres.java (100%) rename src/{main/java => }/com/teammetallurgy/atum/blocks/BlockAtumPane.java (100%) rename src/{main/java => }/com/teammetallurgy/atum/blocks/BlockBurningTrap.java (89%) rename src/{main/java => }/com/teammetallurgy/atum/blocks/BlockChestSpawner.java (97%) rename src/{main/java => }/com/teammetallurgy/atum/blocks/BlockDate.java (73%) rename src/{main/java => }/com/teammetallurgy/atum/blocks/BlockFertileSoil.java (51%) rename src/{main/java => }/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java (91%) rename src/{main/java => }/com/teammetallurgy/atum/blocks/BlockFlax.java (88%) rename src/{main/java => }/com/teammetallurgy/atum/blocks/BlockLeave.java (62%) rename src/{main/java => }/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java (70%) rename src/{main/java => }/com/teammetallurgy/atum/blocks/BlockPalmLog.java (58%) create mode 100644 src/com/teammetallurgy/atum/blocks/BlockPalmSapling.java rename src/{main/java => }/com/teammetallurgy/atum/blocks/BlockPapyrus.java (90%) rename src/{main/java => }/com/teammetallurgy/atum/blocks/BlockPharaohChest.java (93%) rename src/{main/java => }/com/teammetallurgy/atum/blocks/BlockPortal.java (94%) rename src/{main/java => }/com/teammetallurgy/atum/blocks/BlockSandLayered.java (80%) rename src/{main/java => }/com/teammetallurgy/atum/blocks/BlockSands.java (85%) rename src/{main/java => }/com/teammetallurgy/atum/blocks/BlockShrub.java (56%) create mode 100644 src/com/teammetallurgy/atum/blocks/BlockSlab.java rename src/{main/java => }/com/teammetallurgy/atum/blocks/BlockStair.java (100%) rename src/{main/java => }/com/teammetallurgy/atum/blocks/BlockStones.java (81%) rename src/{main/java => }/com/teammetallurgy/atum/blocks/BlockWalls.java (92%) rename src/{main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java => com/teammetallurgy/atum/blocks/Blocks.java} (94%) rename src/{main/java => }/com/teammetallurgy/atum/blocks/ItemBlockSlab.java (73%) rename src/{main/java => }/com/teammetallurgy/atum/blocks/ItemBlockWall.java (73%) rename src/{main/java => }/com/teammetallurgy/atum/blocks/tileentity/CursedChestBaseLogic.java (74%) rename src/{main/java => }/com/teammetallurgy/atum/blocks/tileentity/CursedChestSpawnerLogic.java (66%) rename src/{main/java => }/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java (100%) rename src/{main/java => }/com/teammetallurgy/atum/blocks/tileentity/TileEntityChestSpawner.java (92%) rename src/{main/java => }/com/teammetallurgy/atum/blocks/tileentity/TileEntityPharaohChest.java (96%) rename src/{main/java => }/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java (100%) rename src/{main/java => }/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java (100%) rename src/{main/java => }/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java (94%) rename src/{main/java => }/com/teammetallurgy/atum/client/render/entity/RenderBandit.java (74%) rename src/{main/java => }/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java (97%) rename src/{main/java => }/com/teammetallurgy/atum/client/render/entity/RenderFireSpear.java (100%) rename src/{main/java => }/com/teammetallurgy/atum/client/render/entity/RenderFireSpearSeperated.java (99%) rename src/{main/java => }/com/teammetallurgy/atum/client/render/entity/RenderGhost.java (86%) rename src/{main/java => }/com/teammetallurgy/atum/client/render/entity/RenderPharaoh.java (75%) rename src/{main/java => }/com/teammetallurgy/atum/client/render/entity/arrow/RenderCustomArrow.java (100%) rename src/{main/java => }/com/teammetallurgy/atum/client/render/entity/arrow/RenderNutsCall.java (100%) rename src/{main/java => }/com/teammetallurgy/atum/client/render/item/RendererItemBow.java (93%) rename src/{main/java => }/com/teammetallurgy/atum/client/render/tileentity/RenderDate.java (95%) rename src/{main/java => }/com/teammetallurgy/atum/client/render/tileentity/RenderPapyrus.java (89%) rename src/{main/java => }/com/teammetallurgy/atum/entity/Entity.java (99%) rename src/{main/java => }/com/teammetallurgy/atum/entity/EntityBanditArcher.java (81%) rename src/{main/java => }/com/teammetallurgy/atum/entity/EntityBanditWarlord.java (62%) rename src/{main/java => }/com/teammetallurgy/atum/entity/EntityBanditWarrior.java (73%) rename src/{main/java => }/com/teammetallurgy/atum/entity/EntityBarbarian.java (70%) rename src/{main/java => }/com/teammetallurgy/atum/entity/EntityBonestorm.java (76%) rename src/{main/java => }/com/teammetallurgy/atum/entity/EntityDesertWolf.java (85%) rename src/{main/java => }/com/teammetallurgy/atum/entity/EntityDustySkeleton.java (100%) rename src/{main/java => }/com/teammetallurgy/atum/entity/EntityGhost.java (97%) rename src/{main/java => }/com/teammetallurgy/atum/entity/EntityMummy.java (96%) rename src/{main/java => }/com/teammetallurgy/atum/entity/EntityPharaoh.java (97%) rename src/{main/java => }/com/teammetallurgy/atum/entity/EntityStone.java (91%) rename src/{main/java => }/com/teammetallurgy/atum/entity/EntityStoneSoldier.java (80%) rename src/{main/java => }/com/teammetallurgy/atum/entity/IAtumDayMob.java (100%) rename src/{main/java => }/com/teammetallurgy/atum/entity/IAtumNightMob.java (100%) rename src/{main/java => }/com/teammetallurgy/atum/entity/arrow/CustomArrow.java (100%) rename src/{main/java => }/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java (81%) rename src/{main/java => }/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java (99%) rename src/{main/java => }/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java (99%) rename src/{main/java => }/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java (98%) rename src/{main/java => }/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java (99%) rename src/{main/java => }/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java (99%) rename src/{main/java => }/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java (99%) rename src/{main/java => }/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java (99%) rename src/{main/java => }/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearCombined.java (99%) rename src/{main/java => }/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearSeperated.java (99%) rename src/{main/java => }/com/teammetallurgy/atum/items/ItemAtumBow.java (93%) rename src/{main/java => }/com/teammetallurgy/atum/items/ItemFish.java (89%) rename src/{main/java => }/com/teammetallurgy/atum/items/ItemGreatsword.java (95%) rename src/{main/java => }/com/teammetallurgy/atum/items/ItemLoot.java (92%) rename src/{main/java => }/com/teammetallurgy/atum/items/ItemPapyrusPlant.java (87%) rename src/{main/java => }/com/teammetallurgy/atum/items/ItemScarab.java (84%) rename src/{main/java => }/com/teammetallurgy/atum/items/ItemScepter.java (78%) rename src/{main/java => }/com/teammetallurgy/atum/items/ItemScimitar.java (78%) rename src/{main/java => }/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java (79%) rename src/{main/java => }/com/teammetallurgy/atum/items/ItemTexturedArmor.java (59%) rename src/{main/java/com/teammetallurgy/atum/items/AtumItems.java => com/teammetallurgy/atum/items/Items.java} (96%) rename src/{main/java => }/com/teammetallurgy/atum/items/LimestoneAxe.java (70%) rename src/{main/java => }/com/teammetallurgy/atum/items/LimestoneHoe.java (70%) rename src/{main/java => }/com/teammetallurgy/atum/items/LimestonePickaxe.java (70%) rename src/{main/java => }/com/teammetallurgy/atum/items/LimestoneShovel.java (70%) rename src/{main/java => }/com/teammetallurgy/atum/items/LimestoneSword.java (69%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java (76%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java (95%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java (98%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java (96%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java (97%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java (96%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java (98%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java (93%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java (96%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java (94%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java (98%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java (86%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java (97%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java (97%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java (94%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java (97%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java (93%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java (98%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java (97%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java (98%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java (96%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java (94%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java (97%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java (92%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java (95%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java (94%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java (93%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java (94%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java (98%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java (95%) rename src/{main/java => }/com/teammetallurgy/atum/items/artifacts/ItemSpear.java (95%) create mode 100644 src/com/teammetallurgy/atum/lib/handler/CraftingHandler.java rename src/{main/java => }/com/teammetallurgy/atum/lib/proxy/ClientProxy.java (81%) rename src/{main/java => }/com/teammetallurgy/atum/lib/proxy/CommonProxy.java (74%) rename src/{main/java => }/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java (94%) rename src/{main/java => }/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java (77%) rename src/{main/java => }/com/teammetallurgy/atum/world/AtumPortalPosition.java (100%) rename src/{main/java => }/com/teammetallurgy/atum/world/AtumTeleporter.java (65%) rename src/{main/java => }/com/teammetallurgy/atum/world/World.java (93%) rename src/{main/java => }/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java (75%) rename src/{main/java => }/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java (62%) rename src/{main/java => }/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java (94%) rename src/{main/java => }/com/teammetallurgy/atum/worldgen/AtumWorldServer.java (81%) rename src/{main/java => }/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java (82%) rename src/{main/java => }/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java (89%) rename src/{main/java => }/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java (55%) rename src/{main/java => }/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java (67%) rename src/{main/java => }/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java (52%) rename src/{main/java => }/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java (97%) rename src/{main/java => }/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java (70%) rename src/{main/java => }/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java (76%) rename src/{main/java => }/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java (51%) rename src/{main/java => }/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java (68%) delete mode 100644 src/main/java/com/teammetallurgy/atum/AtumLoot.java delete mode 100644 src/main/java/com/teammetallurgy/atum/blocks/AtumBlockSlab.java delete mode 100644 src/main/java/com/teammetallurgy/atum/blocks/BlockPalmSapling.java delete mode 100644 src/main/java/com/teammetallurgy/atum/lib/handler/CraftingHandler.java delete mode 100644 src/main/resources/mcmod.info diff --git a/.gitignore b/.gitignore index 6ad51dd..fba3145 100644 --- a/.gitignore +++ b/.gitignore @@ -1,14 +1,4 @@ -# Ignore Everything -/* -/*/ - -# Don't Ignore These Files -!/.gitignore -!/gradlew -!/gradlew.bat -!/README -!/LICENSE -!/build.properties -!/build.gradle -!/src/ -!/gradle/ +/releases/ +/download/ +/build/ +/bin/ \ No newline at end of file diff --git a/build.gradle b/build.gradle deleted file mode 100644 index 79a52ff..0000000 --- a/build.gradle +++ /dev/null @@ -1,42 +0,0 @@ -buildscript { - repositories { - mavenCentral() - maven { - name = "forge" - url = "http://files.minecraftforge.net/maven" - } - maven { - name = "sonatype" - url = "https://oss.sonatype.org/content/repositories/snapshots/" - } - } - dependencies { - classpath 'net.minecraftforge.gradle:ForgeGradle:1.1-SNAPSHOT' - } -} - -apply plugin: 'forge' - -version = "1.0" -group= "com.yourname.modid" // http://maven.apache.org/guides/mini/guide-naming-conventions.html -archivesBaseName = "modid" - -minecraft { - version = "1.7.2-10.12.0.1025" - assetDir = "eclipse/assets" -} -processResources -{ - // replace stuff in mcmod.info, nothing else - from(sourceSets.main.resources.srcDirs) { - include 'mcmod.info' - - // replace version and mcversion - expand 'version':project.version, 'mcversion':project.minecraft.version - } - - // copy everything else, thats not the mcmod.info - from(sourceSets.main.resources.srcDirs) { - exclude 'mcmod.info' - } -} diff --git a/build.xml b/build.xml new file mode 100644 index 0000000..221c340 --- /dev/null +++ b/build.xml @@ -0,0 +1,206 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + version ${project.complete.version} (${project.version}) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 667288ad6c2b3b87c990ece1267e56f0bcbf3622..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50514 zcmagFbChSz(k5EAZQHhOS9NvSwr&2(Rb94i+qSxF+w8*h%sKPjdA~XL-o1A2m48I8 z#Ey)JC!a_qSx_(-ARs6xAQ?F>QJ}vM$p8HOeW3pqd2uyidT9j-Mo=K7e+XW0&Y<)E z6;S(I(Ed+Bd0_=<32{|526>4G`Kd`cS$c+fcv*UynW@=E6{aQD-J|;{`Z4Kg`Dt2d zI$)UdFq4$SA}#7RO!AV$BBL=9%jVsq{Ueb7*4^J8{%c%df9v*6=Kt4_{!ba$f6JIV z8JgIb{(p+1{!`T5$U)an0fVi9CwR`^$R`EMcp&rQVa-R*4b4Nb_H8H{ZVot=H7 z#(J{{DW4ze_Ck|1(EbPiGfXTO}v^zl-H!Y3ls9=HV&q>SAGP=VEDW z=wk2muSF2y_lb}fJxZ}al~$+3RF^U!k9x5x zWyl(8dbQ0`AG$%Y?*M0m+cp^Qa}1udZW_Tm3>qdzZv!1x+<_Uf(p@M@ymKp>OX9|F z#L1je z9d6SUXxx2fS*7N*e<;=+3&t4*d+M`}GIPJUbTo-OSVjvF3WrfXg7*_H3ct9cxJKZ9 zLrMzth3?nx0{#c^OdHM`vr>x#A)-roI0OOn<=2h_wo|XV0&wMtLI5!@**l*_XQ2R` zrLSV49cUPRsX#(O5oQzZaIYwwq8Zs2DLXGdDKbr!Yg?7fxU|>+HHQ`48#X--yYCk5 z2_CBTW9rX2eLQC0%EyQli<87+%+Sy))FFW+RMC{*hfJ$|;#$?pAT~P0nL-F}%M*RxwBh)JT4trq7rR7dHloLmiM^IC{>usB=4fXXH9NMyWznFd(bffDK zE@*_maXO?|$?M^W>jXtsnk2}7g8b8%oLp);SNzqtjlYHDKkJ?J|K42x(kk(o{=Zub zF6?{i>=+HX3r6qB=&q|022@z-QLmMSLx%Up}FGL44Gk+C_QL5BU+!i2(vEvNf8Z)-btUdpVY9ovODm+#V7jjU7Y!AWEnY5L4 zy;^;=x#{x<{pUJOVPj)cXJ>gsJ418R ze{ZN{4Os^?bu@m)^eIMs5MU5c;IIG|=#WSfkfeyP1R(>Iv2Y(9if76Ptu~dWzdSmPFUp;6Ezs&WmP-Mn-9ah*g8e8 znAxyrWhx~~tuF4fFyFI)v-S3=C$HmPHmqv%hb3*;ljbj9zaA_}QvfU@RJCGH%&3Mc=GR}sQDh$UWT-8|{1QwhXWO-dM z3?^C@cbP^-hfFljgacs|7mE%a1FSMK5?o1{VuaVB3iP=LvFEL@C0pfwirZ4SXxMUy zrMG05M!9CU@G7-}bgjI%x$|_B9Z@Hc86jXlPhZpJfk@$BToMpqU8Y zS7rRkdp>e0{86ZjFbE^zkdwV*R|JV3EhCJcqjJlZ1HJnbe0I+>a5?HpHLs6A`4&VE zZkHUK@cLRF?y^Gi~ zzERBcPdAs0R^=N{aeUhK(Oc+@?mb~Y)__*Dt{8Wawz6H_)v6niTA_*_%)UP`0`WBL zFONOa&+T9+RMF!QsgKq(%Ib;a-!w+*&V)Y#Xz0(87=H{^VBk3UVeed$SFCL{IJMl-`1FQ@Es zq)F=J+jn(WH_*lNW;=>)d5ZFyL~O+t;)Rex`&~h0ZJ`wg7K@*lu0E7;tx>KLWPduY zB{4G}TQLJE$Fp^?*3raESC`NSpmv`$M^ zR?`+VFj;fQu`)I4O1dHwa_R-0y`qHjG*yT1*ta##G_W-;1ira)uP6}+r|OX64}vD7 zCfB#p>H^?YEyF6K(H( zcSh4u5_|{iq)=K{S8Z{@n?&h}u!l2^EP#?v?Obp5kDl`o9~up%2*s>1Ix5~kT~M3` zo9Mg;n$TcwaN!PHHbuUUw3tRqYfjpz$rm9)1|S{rtPnG|3qao}1W27Wig_4j-(rTjVi`D@Hu z`P>h7i$K>zzc1rQ!~L?29sG(`4ewg^)@Jc)II0KI)@q=D4CEaX%j&RlZ>Dhv0p=|f zDJPQ~ioTP^ju2_j2(V9haP$r!cTNIK`eUF|-}43c=4*G09&bROE80IECDekrK%+jW zBayIlJSDqrri?dj#ZGRQI45{XfBLkOiWIkGb#Tk>GU0NMA&{q`1jQe9jlfJZSTNF_ z5nD5A=Z=a%6uCagCu3np^0R1ibyV8p>-XWfFJK2Gb#o`L=pCm3Bz0F-w`5gv7zJaA z)RS8mWR&`<;DgOxA@S6FQ*5HVF=Pi6>}viGQ3jbA1*0gz7vev?ig9gVhr!>t4e76E zq5scb<;TCmT2XsDGfQ(RVj)A|h<&2OW-AJrbhweQvr{uOf)AdTJN|xO zAOSplNX(IEhc4?4!HsA&Vy7Ayn|y;{2-yn=}+S<{JboP z+O;`IR0`XIjUt&s+%;#~ImRt_GtRFatr{*eLSOp`M&L2~I&K?Jn-<|hTDADdW0!CI zT`L(i=DpZ{m#h7}m5b)AA2rK@4IrsGNhTCLuA(5#C4^ihsG8k9wtfgz{e1{i2dg)4 z+mI{R5E#Qkbkp^PpXHo%=j>nj&GC#hXN&B=ng^Nz`nHCfc3$|&N@`tY-`ccR_&0zX zWOMW?UqQVp6a|9)%p$rhzNSyZx#rwXmnhl-bz2n%^a-VY_->1Rq3M@UM*B73Rbh3KcNU|sUv}tj}yqehs%OmelPMB0M zliOnQ$*!7!%0vXViN+eRgc?|(1-`Kgq(g{Uq<|t%Bz*Q}Y@)~Dxqfxxh@oH`C}F!u zVKM>}SoSAuA}tUnZK%W}VFDOojbWmn1c%601hYWY6h!VJL@bC6^kD6@5DA{~rDbc` zz$!9AztbeXVgISB%D(uPM}Of3_Fv4&^q*DrzatANL%Y8i?%&Z*jK+mCsyf=YZKlbf z+hn1Vj7%sLh~;}k0J;qf&74dzBAF6hP=~yIQm6^14M!6?dhV;l=Kx&n;12=r;6bdu znKAcoswa2O{OPE5Gq3CJ6W7_dZ0Fg_o$rq~%z)3=pMwn1WgeoUs1j^hLuCL?_E++U zUl8cV_e>1#s5BJnSsHgKVH(k3juJJ{(latn3c<1EL^IYNxQh#yBCy;2!x%aPorztP zjJ%Y^H`Yu{q|z#bbRlXv*1|BB=p}$j7!c7C(+){=Hpz}swAa{;Mv?w7=0z0L(939t z85~w@r}dG`qJ(r7Jk^{@x!g>S2N}H{+N(b&vsMA1Z#qSh8<*eRxUKlI&Oa;*Luox`bScaqq#hN!IK3bgB zB`i9szi)5mm7=-Sfccdew3}(DLGfBO@@O!zHa3jAA@asvg`6x7z?j<@r!?HkxDGl; zA4MQQdP?iygX<&#Pt&fZ>4)tZ`4;uBW9N{x=T%*k!S#nf$>KRy}>6yQy?^(R#_fv9|9gTaH7IwKpOb=Xo?gi;akww64+&sf$z|_oI zuZahhq^LF60F>Rc%fkD!7@rigV#kVa^+@?Px~$YsNR3)QPBOZ(f96@IYTBerb(63c zz>}2iX36tDclpTaec;b}1pAap^JYHW{v(X;O)ygVC?+2IJ<4~lV|hQY9F&fz1UDoX5607wu*7FLP=u_rpZVqb zT#DD($Gu8`ZL1j?)6BP@h^#Ro?+wo>lacs#^O^h3c%lrP#Tk&f76F66$)uko$~U{i zFxE>!FOr^ZN46l7O(fh3ODY*ED*fGB+br75!b zD9RQm9(DT(;y?RI{yGj7%_y8*a2V>LYb1M$e5qJezC!U zR-eGYfjYJ!gD34F6x`2&w_<7T-E^D#yUo<&OS zc1dmXr~k)`Uat3yd(Xob>E|E8mmLrXobN;jv|@g)D0OHYJ1I8rlyDYAbYvcT+%8Sj zyDTth@@-~MGjYR*#RQ^#3j3XXL*1dUkl@#l5XF0c^E)53T$DRY=-htu!q=>j*#p?F zSCUz~s8xl*&iOy(^Ngfv-XmA*;GBW zd)}`C2W_ashy}02xm~3DH36VWBLJ10Il7Id6nt$~7hora6?Ils4LaFoFuZm?UJmAT z-3&$(^VAx-lSbLl_O;C=Q{eh>+zEMdU5!VT4k3ic1#w_+)-by@fE^>1sU&)xy_ws4 zq>WjPpOyZ&8o<pKeHD!`!)ch6}P=2?*1GiR*lYgDdHl?x-o7`hcV{KiLo}+xZ%sf#cl0pH_6K{bq zJ^!4l)|nnxEEZo|+C^#VtxL;YGSGqvxx;)O*@`@qRekwLLNq6DAOt*bI;>KPM!}** z*1Fv^$Ob1f_^3hhEllh0rml_3l0gYu~zep zi*ck$)DHOCTC>mzKw9~QfB`qEqwJY9v`tosEI@3GmTICiWK7~mMjAyp`O1}(QXfHS z>I0_glIrf2a);VQV~kDfQmL&R&8yX3mcimT!67&}8=24)t$%BU*8A&@Hs=$k7KZC# zTYN^qk95D4#q5?W`MM}sK)U$CCNE8|C%e3CXNafxch(eEGL_+Piz|4%*V5)8zAF*P8JmMUCYz%v(Y>ssFWfrj)^We?D7Hx)U#H`)OGH2IiptVS z2*zF^F)h%($!r@~7>1<19H#-i?~NUfQGG)@kw(C!+efD4E|L8jmIO9uP6su+9Vme) z_Ut*1ruchGUdny9ogKS9J#EHo68*jLp!D!uee*%?fo0~NSf8QchIDo8oULzpP`tQ3 zT}c@f(sqT>I-GJSSpkR;CSJA;>Vy5h`}yCCQ(YrT&O4d3zYfl}u(z6VCE6!F;F*76 z9j0J8{ssW#uLmNn53($aP9>wroVI83#TbxmSWb`TR@1fFW3)dyT%j-X7{NjG)mBPt z8z+G-hb{;ve{Nq7hNHIcwvmwURm%F#C{Jia_1Xs2a;#VmHY@`q_oFT2!7gKT1L$_S ze4X%%XFJ_o4wSPX)sr=BrRLuUVxO2k%NiH>WW1LwEI*K{3Gz#YW*r(J_Sjb*2iasE z!QPPy6q}ec#&eKI67nf|({Azk6jE$x>w`_s;hWgIE=e_ovbyj_2_8Fh5WIi)Q06ex zK_rmt=gfYqkR{}_CY95yTSFZsiL!^3CJvV4kYI{vBVoSPTEKg^5Yhjh6Q*qkbl3Z` zxrAGk8TrF!V-9SzKxWt&%eP$HlsQs0ga${AUpu%Lh1E=Z@$g5?rRAwX)DueM5vQtCS;kk&S~>Q(zA}iXj?uYPSN2g;`3 zr)tMR>iS6fS{Bt4(+lHMq?p7GTTP4Z-3CxC>~=?1uq|2lu9RZ)h-_brR*o4NcMfZt z>9{-CUh@iJ&~YV=FmZ$@bUu>LCHA9Bs#;S-ykkxyG&;)aSds(|=LmlnnN>@$5#y6f z52PWa7ov;Cg&4n9^e8SUIxgmgdaGopW=?jeS>5hOHimVi!ixB z&L3V_Y{(6VZK+dE@^d&Lp5biwj+@@G6Y|R6E7bpetG}Z6lodOa3o-q%rZKdO?53uHjV=~>M>LX0e}LqA0#;Wi z>Fi99*d>>vgM$sFrG?jSll(bPvE3F0SBr`E-F%7bVw3zL1%G0T0xl)LpRL!9rRcZ4 znW820$m!^d?*snLNAF9IeeeBXsy=xE{l^`V_?cqSTM64v;<2La{6~897oU{tV~NPl zGm`(o6A}0+qsbLx@tZ>YcEJtAnfK!lVXycvt&CpfQ~O{wVSh^PZ@v7R)Oo=a~+pMUfd_P;?MMbq0W zn5d_K8KCPRQ7_>a%$}tW5E}*pRTz%)226#|i#S263Qo`)>UAV&gS!BZJCB^* zD)9KKv*&q?w2V58r&^+i9tld&yUj=}t)c(aVaT2V_ry>mvCmQ%m0*}^30i0^;xDFP z#GK)q)7zR!wDLf_FI+hJNHi+CQYLx%kd$c4;YQ(OP45JYT0gFhYtmR|&A;F>cY8aj zC{lzsg>cZL@c@)hdyj$RA8y!D!n)(iTko!hyL)Wp!_&LE&D6}bxGl&Y_tbnuS`jQY z(f*_-X`iYEoxr&a*76lkZCe-a5AIOXCY># zbiVD(DT$0EI=U*Yf6Sl8f6>23pKEMNQ4Ajg^{ZHghmvEQH$3o{ms4*o6hgYvpNE+( z#AZ;x7E{DM`7Hvh|Bml=1j#gyl{K&_{-jEI@)yyKG&XZ8%52}!B`ZE?EL7#WtMBKol?Mvj2saaE<61>mL%<6)IXN}3^`@*!@} z341EQrH}dRV~Fjv>F3@mjwCOV$Y%oyGr0LwkxkuPb6X#ms0o?9o+d9{x3cbiGKmX3 z^!+;D#Al?M&g?P9kq(7|b*i(XsOwP?H!ElS*uhTDBDKArqGP#E7dcE;HWkvkaEAW? zF!3|NMZb>RCGHa5#)`X}8w)%}Ey|gW@8DUXNsDR*{esPO{W?k2a}RxGK|616o0)}e zw?Os9aROYmtw`mSga!UI{x(DS%Vyo@y>JF`^Fi2A{GhSfM8=YCUiq2tRfBwSZeFh1 z8SG=1Ot08%#iR0jnhZp?#@V2YFnQ7qP$zE3&#`>FhsO>}OG$enmf?*FVG@qB!C+bO{M}K?d?H2@pq=}!TIg&Q z<|^+Ey(ErEeOf1wvGI?LX+DEA>A4Ka7Q!%PAW&4a-t8+>1M9b(T0qACQ=f;57D`tu0g(=;a7O*h_Jc4JEypx1gs; zCDX69d|g$NsXEuD1H|$3$ZHE}u3HP4b!9=Q%rqHBgCfvK3>j?XLQkgDUg`93gF?}s zS4$rqaDE(s2IL!2Y@kw=(NL~wa24NU3sm0I71mIjZ>?9}bNl5^Al?Sk^y(`qsW$ER z@g$;Pyb*^A=G{Yrb0a>4vvBBZ5U2|)}iX;AAo6X<=K0YOtm49s4edp~uvJxx$&=o-&rGttC2~o83 zfuN5-wJBS(4plr-Qmhz$`*di+<4KB`>;9BgrbANhj6VsJNxLq5IoU%8vF$2M+Z2ek zTw84Kxg}m}jc^*zK>s;O8dE$R&kkO5>*Y75eKaR2>i5fb7o!D~D0P;E`CzLz<48 zBzH@erfNN`nS4Uy3@n#r)*^n}uKHeJxygl)GV-F`w49%s`cYMPYi5Gahg$5e??^in2I<7 zUKZDwHf#riMrllW@f~Nsm&l0q?KJzSfp9hXd2pb;UnzJj^xc9bqY2zVLk%GU)}?}} zB7(TNFqdZnN}qRsHgj1;xcwQt^<58f3wN(P=y%mH3&}An)2M$}(>TF|q1;N5^ZX`t zd&q8vtB(q@FPC>=6)%sC=t3jOE{U+j(IShmITq`TXA`_QKhoBZ7GXEN9MCEV z+~@7gbqUElkbsjU7o$HOfy49&nNHI)#@Dt#fvePViP1MzItEa|goh@hCZ273Hd#4Xdhb+D?L0E87T>DawyVvc3J#zePjBG zaZj%zUc`L}>#2=d=9E*RS9(6nm|%{&E`OI4~x8fs!0ZZ3b-$x(I3NCjCbUBu$h&4 zvkoaim?yiSh1?-2osDeuCf;fbpe3>H#44}rDb%z#W=Jf-*l&-c4uk{yAX)0;9gvX= z#)Ov%5_L%}8e9yEMI=PVh2w~CbgO6&n#>WB?TO?1h+5Yitr3i}=1JW98CC66#>33g zXG+Th=cRh7?7HQYiRy+vd{ov@)w1~xg@TuyK2?xGWXu88_2%M2@eaFd&c-wqqNP26!WU&USZ z8lIHzv`SrJIVF=z2amJL`aB8>O7!d0X?{4zEM+hWKZDaY!_ekJhvtHd^7?hm>;4d@ zeK2Evnj=*zE(YguNX`-&354G{M`WHLvobFJIa9yg@YweQb2NV_p4&_KA0#<1V4d`|3w~@!Wda7`st< zYW?_t6&a=_{Uf&^ zGZWvYxn={#fj-{6v~}bU*&E+%&Wlu@!G)AUL<|!YF&;Wt5x}BM0*{RdB?B3}`gI!y zj553FXs}D9SFRVNei9isSJcMC!3@^b=ePm!`OM}?eK*P2HgZK{1j$CJKRVD)>81IkA@&{z~;ow^HGAt9aw-uE=tusp@Din2k-hBfMQG|V1erRt^^#(kf zQgupM_mjXiJP~C9gG88#+vMpN>pP3tsvec=R=AjpK6(QH<hWIpOCT{1tvWALW6Lfn1W{#(itOApM^OhR99D@A%6#OSz-s+Q!9QsS& zCI3wh{eNMaMeOZeoL&CX&GLqpcB(FhPA>lsclT3!Lj#F_paHxBrO$>L%mD-~b67!D z1~-olI4)rvJ!SWC8`+8~*2V+>RkNnOb#`h)vdAAyqV9xtx zMECS`Ugw#qZsX6lS$js{u0TT5SH~X`jAmqAjD{K#w8ti!gI&?!boYkRVUWz&lbU;j zpI&^siQ!M0$w;Y8f6pGRQGT1+7^n_FK1n%n#=X`JhmStJDve0KY7S67DZM#qOJF9V zsDSvWX5_Ceg7D?vh5F&(%8r5@;-NmtUM&Z~CdhPHI<~GF>GNyiKPMbBbs?{JaFpUQsE*gVRbs zEv49jG95i*$&=}FTc(jg(zL{cLDWfnG7V?guH&aE6kMsRMlX`f2A_$)&f1YNJtD_G zEQRHuh&2^kQ#&G~_Tdnw#7hD^OP={T-S`-#7hL-v%-Yo+CsrqZStHFQd`|C z8@mVz18m8%DgMB0My7%LL@iHak7P4Ah^U6z1F{v&MJJvISf*T}A7KH-4c%fj=~gT- zHX0-tQ8*3d8Qlj)Rv5#D((4pQe6vFQ5#(Tu-+Z>7YHTlH?qLbF8gNPN0T2b2KiU7Y z;jIP@EeRtqcp`2R$~G6e(rg>M4-2lpPYXVK%YNrH7>6+!ClN+~>M1+G3DYy|u6FqV zRLMQ~o8_{~0L09EDk}#Drv!hg{E`E9y_4=#1q#C#0`sN{g1wMR!Sa`_E$=8l7$jsv zFf#b;9e?<9a6td}ThnPw7AURoVe|BpI*p4em5$dICdDLevr=8O`p=QEhH8?PVXfAZ zbbP^ybvo6rIsgHUB3EtV8lqYhw%UzDJtP{bt^XjXYH_o^OqFd@!kwVvTk2 zBG|Ahenv*#WTt1SAkrj_V~5HSuQ~GpT{->!jrjE-v`Zf|a?upEKsR@Z&l7eVgyDKx zIDZ1gJEvHlP8FUycaZm|AJ9DkFDoYnx0Aj8*#)$Fy;@{GLD$BQAC4M>u!Elq_c1vzSH@#&FR16q3Cxx4oLvwP=f+<@S8~wy}z=stlxT|jUJ$d z7cJ6nZF=Hr*d-9e8FDv5WjBhiytFq%g|TaZWe+eyM);j@Kh4r59@aW>%dyuZ8`c?m zc!k_0dh9+i(|LHI1a_11#?R8l8T2y#;fF1N)DLO;6%Q9a*hU$I7&Q|Ib5;cq%!c5DCI5wVr|1{4;5WVk%7rjfIP8hpujO@b~BuVlr29_JWtJ>hp z7A;x0N@bFp^2W-7ryDSO`!nIbok@UDoUw;UrUz>{_12X6idNYNT|a97;#C4{N3E`_ zl#!ihVWru$$=`n=h^UoGhbts>^OIOi!t9sJYex zcWq{GLBO_(QPq~CfvsV?m~BeoXB4J48?9t`7{IN^B2|pL#%|)|Nk;&(8 zd*p6;RXJJ*U8;8rG}ClE(=G}neQYM7w-S%n4>B$Z>5;c zaaFy_anPH*Iff?(4tOo)x{j(uWciGp(pj(CdQ#uE`^6Y1ad1*oFh&s7K9B@aLIusr zvrQ%{S7R&HqK%>e)vG1@Ygnp=g=GVM4CsRWisf_%v<(c^d6lo&1V8SaHp});3TlFk zG#e?^KSZefsKd{jB?QFNTvMNZINe?VKvNGmoo=CYRU?nvmJz#3kon4YoO}Y15~ii< zw`0%`p{>o+EQ~{}#TW!D&T8Tn7_+A-&mOYP^~>Hl#q^H!spWjs+8YbVgxO25UOsUN z(<7r#ZN-Y|o#k}~8SSyJ4jSgG2g5<;8IK%#EcoU}Wcs;K2RA|6f@+&2uZ&Na1+{y! zT;JvU`mgR--^zFT-XJi$H?~ClDYfY6LhB!_Ny7nx=U(#ANjOQ9v`?>wfw~{iF z7iy``+ne+ZHHI(z9M$i67}3t^eaKrOdU~_qpt*>I&Z?*lwH-fFVF%MF>aY0Bvhf7h zAlI1y-Ljs7H*OPTr(#w$4n^uB3aSI_pVg&-Ocy-|^KzFz4#@0e(^$H9Rh3J`ozlWFj&MQyrIxnfkda8;6m}LjSsPrxErj|osSsJ z&jo8TaWE!yAfCfv2+(<<2A-cY#~I^>HZ4vgd5Ba%XU?;u7MVy?F>|NMPNIp0#2YwiZTB<_ip#a=5n+UbTCvk^-;PCb06bq2hu{kC=ala6;aYD60)q3&7JGDnwT;z^yce=7daJ|-puuzal;!BAu=ok#ta0d{S zOY92%j^NNEC64@f_q2YOc@2K3Ht#+bkWS6Y!U$76?$E(tBS1TRu+X`T2%Hm}5 z$G}vhy#EjY|0ga-lGVSw`WuMSVgUis{O3Sa@_${0{C7C|Ke73L@!2|fe?!sUI;Ke` zG81Cx%rq0!BnNN}RAaayDqtfhT%j2wn*)>dzVn9Q#zt;0E5$3rjmJ8z%IBu%=ye9Q ziu%-+=bG-DKXos@+J71BpU-J{y9vdy@$Ie-Mo?j#JCH#6j@d_NnDSN{J$ImxhG4K1-AAJTfTm@y zkwzeV_Rk%-=W&#uk92?P(Z!F$V^pVyN|aM*!5)ghp6gLgG#}M-ClQ35`vbGLj~2om z#_4u1a$ZU2izx8ddYMF z#gRInDsFTHdYY+T9h!q^ZnfOxy2;G4E6k)B4e~PG{ge2GZ)yuUx}yanU0KWTuO9hM zAl4TT(^-N^1gg3mHB{CxW4JKcO>Cs{3~?3jBrL*J%hyH&b%TSTTfw8KEq-*gOqL&x zBZWS*BO+mH>r{hgLv@J=;?sO_9}yLN`zURJ3d(e(mL*kX^EqTO`HIkVlM}zQ(-hXO zS>mk1Rq9_~1CZH`7Tr>&0%wz*WIxwF^^1D^DWSKD)FAOaHzV})eyPyk7lnyNSfvfX zvTsJ$<&E_C92MF>*AHiq@?)`Dn%#|_Qh za(?Iz3f?M$e=pqHe@G7c-=TfhAzl1=vV{LG^mW8*weTRwsf8xSpe_(Y6;P(BTOe)e zH0_Qa1=sMjam$cIbyOuZ*XZDtWbcCGoVO~V+mU;qe0TM3;7?~O(LA7&E*(98L|$`0)graBHY!{tsoLS4* zluf$Jxt+S9_sS4?5D}yUJ0nggbdNR+!=$b!h6pOJ7%i+~+c5ZwSf+{kbP-D&0%eUX zQ~3L__Ams-qVs8?shPyVRnFEI9Fp(D@&g=u6(gt~b2;Tkb>z~ogt}P@EsP&6uY>iG zzr;6e=_=-iC&naxoa>OxsN>Eu*q=F0tZ$tHiNTJTSD&^~LgBrI>2_Q$j5HW}XAx^ym9D&~X_ zZ_d}T$`AcZkQ>;eg#ldX6`u3%Hka9#NRHaAu9V$8sxVSSb>3ZcO(KQ%An>4%cDST>@~&74Zl{1mEkXEVt7jfO7|_C#=ks<~N1E3-dd z9qn~MPSEoiE>UWqUA(KL#Q-MurE7nxH_S+FA25TbvWkZ}*8HNVj^tZ7R=h-$QaqQY zlM;O5?N+dZ=cPqE@}}AZibpMLO`nEc^Y&;^n3PLhyv)PH-4Q&p?wn>>;u;mqxC{*y zJFao4I#f74vU#W3H%_)UtuFXq$XfxSC|+6m1*M}im_6&DaXAqq@;?u8XYrceVyP}w z#Fx`%3{x|1G;_=f72Ui5ejJxJiW@F=zijT=G>-*gO?}u=Bwq`7*){XtvMy8Gg~t@p zH(XNd5Dc4usl=7Gd0#PxSl`e*Fm^EWvmS!Eo!@E;teuWOvo5$FfOC-UC&Lc7ehm1) zMDB2bI_8QRInX&{{5W8eoF?xBqj;l}gj-1jgb%adCJ{Tl&|!#Ym?<~p2G_bH6dSWr zSwDgMT2d7X>z|3<#wCMIK#uwVyE4T9*qY|K)e@~7tu5=+7U-ehaTd$0=re~GG|0;w zn(1QtNXrxoDaMvftH1JkJuxOZcjC|+%WUZpQ#facxj4d;jRVyix$Ge-PwLF*PILR$ zu|tmQV&Q(5I(`M|bt(@#lKQNQ$)DF@!D|LeSgnUd%|*-32PxWHB={GuvWjv}CbLOcpbin3wj(wkwzN9OC2jsj2K+KWXr)1Uw7lIYfp4DU}iJ|6y zWsYq>Dkcq~r+WFGO&6ZR&t0p$tqB&~%nUc3ou{)6oh1SGfeR-8W88{uGPelX-T-ke zk`7;RfYs4s#!&gfZyvhXNf;LkP)iG5@iIpnJ?xcdtgxUc&Kg_BR}ZJ3XWAinV$R) zekh20+d^x|)cdR~bO$Lwyi`YnOZOBa7# zzs9L-LwYI;h*DF2&7Ld$QSF)^U*^T6`wCZjm~2fVFHI~TnVO4YWA>)R+=Zm2?6A6%&V+igaN5`0 zQ?mRv#Ul$=hdpMH$oOb7jIGKWM3f~!?3-=X_7kpT{GtHDzk=oqAJ10Y z&yvY$`2V}@z(1s)|Ly4Usd3Uk(?I{=XCY>ej-=AApsK77rRr~}45R|pwibhcXlQhk z$~JOMk4Su2yTlDUL7g9Cm09`lbuZ!6l02mU)YRuXA%yi{Db|l zi;hHuv<0(K38!#VRt(yIZAFxQy{$!*jYdT@7p>hFX+1#9U#rJi*qt@RY^Ml!s-Aur z18QcAHkMGt^2-^xM@bI?m2rOM z;Wg#_KPzwfXjRk8K)~k^XOrE_^T?AD$z&}IRog;`Xu%~W(x6UZO)woHQPEKD`?(y+ zy(_yx7vn)Kf_d?+Y+}vop1+$Dr8U|JtR}Oh+SY~2_01TA?jSR}REUWo$^F_~ zugzs8%a_p4A^^_N8pbR~8jFsDb*Po)3YQw!)kk7w7QNWJ(A`eaVbebZcD zD$|h|OFU5+OI_a=$}~f~F%Z^*Yqfzq?Q+m6oQh7knGl%rzs~@@?7OSVttd&2ks4QJ zk&9P6W~DtmRXgyLi`xho4m%Z*P0e1JW|v!fUmQe5>Ig6{w=0k?%b!4qWOe2w!#)U%&09pluOgJ?^0+fb$YofO zg=R=-YjIBzBK4bmMU5M;4aL^>$ zDbnQ7!@GBME=7F{8t3qrCEO@#YLA95++Nj3`N{@WT#=z0oL0DRz&{lQv9cC%1NCbp z*VFAPc<~|RCkLqx7y}%~XLC@+<;B%Q>R|MDys5OPnuK)j<9lCF8d&(3Q%BW983-1X z`Hye1WchSn5>peL_Xx+2i@PnSOXOyN%|ELKhU^Ty#MjcJ)vTgVB@gzSeYlQ?zL1y~ zQK6-v$vz+liwY^@S<;0oKVVOy7d?v`QqjU>Rlh^8Mh|)u2+-u?n?(Mj>)AJw8UC1Y$A?R3sfBfV?JK#4=l@63iu=1w;Qdlhdme* zzj61I%uOB2h7+EoD2|LiKR}f@3_aX^)@FF)9)XREew@~1S8z_1Adp`vcX8D_!;{oo z!;|N|FnfxqjbJBFVR$koHiADY>B!g!9X+a)n-4@?gW&e$K)VhmVi2dEk+mzMA{a;> z_e_~37jCy9e)Q0$?@xeQC99Rp6*9lV`VlA0B@L{hs8-7r_=3Ypf7LvqIfyARp3~Fv zM-_n|NWvywevkTPQImE*(;qHbK!Ubb`9%jHOAPHvk$Vo#^HA z`nbpq)D|YG&Vyzq)9llv!bTgC#-+l%#m>lYP(QH;8|;(sFoc{zs%rCquMVlv%!JG<{Hy}VO!`K#* zge&eKsU*h6Kd=>D!xvqGT2&dL*(-uNuYktS9g5ctv!z|uz+>0m{ZmeG;~D|=k?p! z#GOwKXThlmC&U-%cr^l+fRBGOv^fK)bJl$U0Z|770pa?e>6m{h*&~y4Ffp*^9>t$q7<%)Yo}wk3F6$Az+Vv_p0n_=5Njw6W;vUtT zX&TZr?7QuHDWy9EM%Bz-zPhe_t9+!*uUaBB>ZUF8NRBn zF-pCG=L9u=m5IW6H_^zxLoB6_Dm^oNH}3fjF#%Ffc1Dtz0cmI6G%@3CZM3)e4)dm2 zS$kmXiA~a66gMkdpvl)?g}!Tl$B~1&Vm>eUw)7qlcQ&9cExr&DmngeT16>rVW#)#8 zXZ>d3`8Ju1jEjUHGJvdDiXGM1m)TF3@jt|XC?98IzUN*fuy^$j? z6A2mJ2Aun4;H^(LV(Qs*@_OLrw>7QZv?+&wg&3N~O|7KV&*@JE2vcn|0osoE8M(cQ|KEZb427Yj^-JTRpYLrd=ZtRBvVCO6=|EIB%9K-;{+q z*m%nKd9e9v^gXiq8uXpg_~-71d5QuvY5WU!24Qo%rL)$StgZju)I+YA|erFq502iPAbdAQX=C4R@p58(LWAzS zP*10IYwDH6p}ESu>g~f(sju*pRhc=%A#_@8fld=@UzTG>yV^a$x^=lwPJ1E-d8w<~ zo0#yc`BL&e%peQgSn(NpBX@SbS^XL8VSi$YvVx#fIRzSRXVgbk`!0a9lo7%_Ec1kop#JdZixt!qcH@W&xl~?IuM>}jGZpm$ zujoC~QHWVImrO01BbhtSa*SW#^VVW%cn2XVNhvF>wIyXdCuQE!%NG(D61GiBp1s2i zvsx<*yjsM0<{=L1-Qjm8Un88rBpv6v(VV%y1Y+tvw9iOMtA~u~02L74-~}}t-@afp ze0&h`;Mj=+8R6SQn$+HAx~s2jz`A-I5V8iOF}hf<5Uc9gIJfa1ThLo1w523X?%B#r zzi*CiBhkEDZt1-ZcWY&lg5U6m`hlvxEq5C@j&&P2i2~)pF1H;Z^}FfS`@ObaXN4QWsG+?$kOG2?I$+$$E*wIy#cl!03YFHAw-U&e z-Wp0ZK04v_1jTJFq3fYbW07eiXZ3FS`M&3&fWoc3(8rCHN}kN{Wl(}Hzfjb}fmfB7 zO8d}Y4rY7g*)lSXdTVt8@ceQdF}Aj|J$~mx7E7A_0Bv7Mh)y#qof^H`1`@xpJ%?%c zNQyrGX|lDJ(sQUXEx#R<4c!;7B5V=lHZN}P=-a;bI`Au{D#3*se|+X;F7CMDjbV%M zRr8{QPt5^#CwG0+?{bjvSA+g~2p*AbMOCzztwC4(VvD)v$!eA!$fbi(F9Jj%p?~h2 zr{YX(m(+Ht(z~TEQUwm1buJw6%7m(O?}0yh^3Hv>9H zzDR8*{1|7~;yd92_>0=^5;RLbf4UwEFScPHfTEANKv9f4#7)r;M~FCGNrM^7GW8-J zdtc9_OVnQWiYtEgrxcx1Vza!kT`CQeH7D%KiekbA6{1rrVdFumBc+)awo{8N&#|eK zq<&V}VewDn4euDKP7yi-(%5P=AZNrDtl6dF1A`eSRh#%SZuVma6|)TO<&lbR7|y=9 z9Bb$at4k;fn>FGtTE#JRhhT_SVV*3c^;+d(vre@$R=1u%t(no?^*1Jk9O2GM8kg~_ zO!8>`b6!=KRtk$~n7WH|q0Diu)9}V%HK|k==n_u6)v%>SqLeCr-&a|aJ z2mpNJrIB8@0<{HePvF9?sNeT+Z1y`9UM(tu^ac8~;LcUJCbi=A2d=dyMDE<87bIaW znPBv;wh`jlG9+VNM-Py5?U5}POYr(7b3gt~nB~e%Bc$}X-zt1wf4O!3qoR}kpB0_- z|7FkV_-UHJ;P}4{ELA4P6{yFh)ug25N5@9#hQ}s%l@Y1s)u6x8D>AVtG1b(waMZG} zC_1_$ASyAjFtHubP>oE=$TLtk$}`Hy4NK3Ky^oe)uKR+@2pnoWa_(o;o7kQPFp@J&h# z3Z{e1xAqgH7v&`@*+3rG%8gF+27UHl$Q`Bfa{ebWGMU+v)3*{*BZsr0{9+Wz$qe7^Mm_Hae|{Qj4R>pv@PO>C|H#c=hn z+ruwz3=cm|t>Qo76Z3!GE^Pdl$k@bH)WOc~(;!IB%HHhL+{*pajP$?d#wluc3TU6s zqpA7^T%%E%dHEt=5*}8Rg~SURV2E+0X;7`C-aI?94-+0_sx*=Xw;g&I$*22?w&GYO zE`BxKeWN03W##2$on)=6TQ%tF`T(zq{SA*(u7qwHZKyUtwb0x+(SXp&w>>&bl`US2 z19St zwk^6LTv8;knrD)kO58kB-D&v}VbWOPj;;e=5C$+R{Wb{LxfMMeR@{frJQj8iRO*N` zc0BLQe{+JT?K8#VYXob%fI{3ubvpX$8aAoXy%-OoiPy@!cj4S>cAWEA(O963>&B6Q z*pFDOclcOz()i)C?9ghA?W;mf)X38a=;CrAFN>$^YTv@s3urFVsjfkM&L%^(wm3_5JUPdb1J{D_HX9a zH2cBpe6&o6%3Wp>13XG#QZSD?l7-R4FKyDv2+%5b>sN_~o7GxCUL|Cp(ds3FonVvd z2lSxU0Q`=JiR8kG)5G#A_zE5pEMm?FP!a;VU+>h1-H54MY_YZ(NDleGJ8h>5MF$R2 zWq}o~DI$g2uu3VvV2iKy(fxsNys}EH(#St_%V{T!XGri3=bn*ZVhk_hGlnAb%BnC; zVaV6(pMZ+|g@M0z<{TF!w~Tf4+V$HE$qU&*X^Y;=(?D8=EJ>gAA%)LDESr{czCxnDg6_xQp5TzXc;ZtfX;hoW z(V?~0Uhvq*m;aM+{1r7U24-=9&uBUNy#7s*`d5(sEm{3+b-U?Lu-jRXtdl;&UZmXlftss&4#_1nV&>`e7Xi>4? zBU}5%ExXF}nj!gB8NCaeaY`$KRX5VhM5fIn5gd)vlkWBTWMcE+qS};_3ObA^k@=lN zuM`xaa1ZUe@f6os0^;KY5ox`M-J41IJ6T{xHca7Bkf+41$p<1R(lfT^>nbzY*HvtJ^EW(qWBf50$&{qp zufU%2q7SV`mkfsut!A=s@3J<%lf_&Yyf?k zh)d!U@0HG{2VaY++89*l%5jmoi!Xge7GdW4YfubC4<=WJp(||Ykwf8!?uh~ce$lv+ z;}c&KjuwL6kKMq_hWw)n?Q0Nr^Jb;d`{{@ZBCk;Jc`D z+!ApjU9NlB4x+o~__NKJxv6~oLQ1jKNUOy%9uFAI5957Soq2JxKLAVwLWGHCOAbo{ zOBV^I8y>1l%QdI^yG5>Gtoq_OldQ7rU@GBLjxtjuH!R3Vt(`cnj|F)mT zsIv+ud`|x$2oR9Jtl0l;KmE_?|BrdE^2ssTTYUcNX!L0V`QJ9(zf^@kH%s()^HwvX zb&*m=UDdTMvUozPyEHSSRCXy1|Y*Wq< zu9oDr=Fur3j8HM+?zPjjGi~8zX%e+)FVU8+y##fg86^{OJbEVHURpKC+_#Bww~_o! znA%2Kh7!=^+8~*wf}`x6@80+=t?k}A%wzV&Q*|TV|eQ-sqCjKNir%#+s^@-+7Mk75R$c} ze{0d1b+%v{XmBC(qV=d+Voo zsko{QpR#VVl9Tdka^xjxiQ(OIB54YQStIx6-gAoMqwkRKcVWK9N|uh7AIItvHptzC zfYjmd@-IU;W0OSz4wq;}Iwx&e6-~M7dIr(O?VEP&k2QYz6(~)UUhE4RNAd=5PO8%_ z{~HaRNCXAvhA>{-JKnw~d@%h9=3lq9BT|GL$xq}g`#InL2Qc`zx&FDVyV-qu(0|%! zoBh{1|Bv-OC1G3!j2S&d;f1xJp;6n8_N4csUJYt7B``dYskx@;)fE?zkRisxdScT; z(|q;Cmx@_h7K1)eYi%!k?R6dP=KcBwatnSO6?TcmXjOb&JgA%dFtC_E@Fg!mfv6Nq z3B~)5suPNPTqt;mEVnthS`M6hCXf^W>56VubTIl|LbR-T_|Ta6*H!RVe;Uo5i1;AN zZD6=h8cS>`Hr`MOY+ZW9-3hlL5_MX>?A8FCw54Tfmo9RBn&&G3oF>nIC zU-z!rvu(2%a>Dv&e>7*y56KhRDFdh93pw3?5!z3kqUPW@N0}{?4@TRrv6A>Ad~5 z>S4dR+;O#uWdJ!9+cmlrxT-#t7(X4s3U_@kOm@OuY4r3Z{;{_k_Ljcv#4W2(FK8aky{|ypVOp@IvMQ0XU-qISJ z)PJ7I)D8V3b*J%Qs;+cbn*`WYamHH_V^c}JC{_P}^Lcnj3mJ`~;-bOEqDKD$ZD z=2FPs?12^KB8gB8IN#xXq&GbI6>8P22YPrCmBh#j3*b`8H`M7VlYa4 zpIahc7sw@$L8h3o0M_^Cn&Y)2#S=fIcDJ6&+w|U5{=^zT2O?07$#kaB*R2vt#~cG_ zYsv)#brDA8Q)*IEu!cX+bRzw#m+ia!`^o1)?e0exYOTdQ9xW%b_KWTjIK9${Crm{w zs*}B_X%&s);F+{^AhhwGM5j?b@caw;1jM2LBQYte8gu1 zOIJJ48MtQ#WO*40+HJRslF};Ipi;kvf^rxZou&I%_E>c?!~sHr0ES537`joX*e@~N zKU);tR~y}vU*U=Piwv>6(QSe55E>?7fxn*W0~uUtvHRnNc6T_;Sgals(g}kDWF6PC za$V*f=B@QARf-4b*OlZ))%4Ce^ycN*ldkFKhz?o&H}m?uqv?EbCu_VWX*>}p;m*!D z)coj<3CDkzqWvtOu(MeUKXtlSA5}MrDzQ&+l9Ozm4V5Lj5Ty`Hki5Nc%d97INv0HG`G3JRjS4r!yi#jEpiRI-O?`P^ZrJrK@Q*6@!=q#iXX%A(y# zEtG_tTF>ee8e;(FQoND{m$k0Kig&axszzqS5kXekRaM}l=99ryXK)v636Msu2kI%a zTaBnr1J0GM)@{s0TMuNhy@HTzsy+)+#KHS|2CIa2gEmM)wDQ-2^GGOj49}kjP=~pm z&JZ=pN%bGa#br~k1HEXi+&i(}t=`9O8G?Pt+EIg8juvxMCAeeIh|Npz}Uw2`$03zq>JX}1}5wZj8Gw1Ymc zsG*5M(MAmylsFghwzMhuEX~FmleZt=CpL7rk%Z|Q1Yx!6 z3T$EbrvcPb(+AYS1@n2-72)b=>H_D|?b!>m#M9x=Urn7r)pm$&(UEppuA!}g1(xV> zd2yCJN&`2wSg#;R#%;2E;q;96UmN-Ngl+wBw3>)=CReDu?*2@((GYe6w5a+LQu5Mj ztee@qA!oX^bXj6XG;n7%e{sj|5uxdBa0RiGW0MHmD403aCh&j#CW5Mvc&}ho=ZUMg zqjeW~*p63m+hE}^6~}1!-4>1OJ02)r*pN4Flaj1J!F)n0P(< zN}tO#uJ3_xVs4OSQa&f>28y}gu9C5-j<1pf^S5ceC}@kbu8ldu1he+Lm`w_s)9|Ig zVVa!{Nzd(T9{E(Z<}RvVz0+~LXmj2_+vem>v&SfScc+QQS=jqqQGljl#CF54qxoc- zJ93v-l5D{W*Da>}i5a(=%X&L9=uBU6Ir>_%N5?UlA3IYkFcUA4TvRlTZFOTrK}LnJ zV|V>n$!a;OR6|^l+mYiS;z~d%_(J*PMi;pXz$DZj$-curva(41;IM`1gow5ykB@c8 zOwF(r>Ckx! z=cj}-;Qitc^`@}O{KiA}cM|rm{CpSZUS#GIu&sXP=bZol3Ch2xCV%mGvx?~c7Yox$ zJlGB@R}f-j92+Ab!c-(&Ksp9P7SWwSmY-TP4Tb07f_+52SY6)}`mdG^Oy{sC?J~KS z3ZL>i4zq8w4%dA2R~)*!d?6IO8-vl!$?tA7kPgJgWRYvW8llLN5JqXH#_zq7Wru6- zU$LWVzn)|T#RFrytNGzX3$E#K$jnPa}%LUwJQe9;h%TUrIcAw1y|ZEd_lUE zaM4}QXdlUA30Dh{{Gq>JMGVb1ZzwK35Fqe=*eJ#~1lb9Zsnn6~h~T4p;;d|sRJ9NoCh zRdniy+gzwc`p70rg`|a5P)Skbx?|Z(W6vtdET(^~%BWO;->#-Z96#odc;>(~_+2Hf-DaiG-hfG9 zQ4~aq3HFI9kM;FYWA4nnD&`Qo|Q@ybGA-&hQ9w=t$_QDfD+5+}yhYdUVLANET z!{sw(znM5$)%Uj8Ebhss7hmcyA}A2~5kT~Nj!xTucZaQH(~y$;Mf?yEj176b4oo@Y z4V6j-0||A)^93yx%e$2%k)3Mg^NW1q4)!>MkC;4a{oc$v3(!WJNZ5P5SVq}KpOI$O zX50~b0}DE%{C$>2m$i2ZDSY`jYbb4<^(9(3heJuK2L zB`An9PVp2pai1B%Ep(8G1X9B%GwENDW;(nab{wY3NV6 zWP>XMT`7z>8Z7_sf?ETNy)k&4t&Q#c8L%iK|#2v{CO2 zBV(XbOxE^Ie$gRpYKD%x47oj)hMZ3Ij>O5mswhd3m^Usf%*un*8;0jGELTSDY1CUtqr4B$fGATyOge-FL6 zVM0&kEXZ)l$2w68OyTUX@pi_)c|RlePg)jzvLkAG_NLjDktRel8&$J!(9$yD#YmWl|cMH<0N)aLF` zU=}n3nI0!+dzj|YS3%}xzoyzrn!apvU_~0Sty{B({zUj9O38?MY45{eaHt;g@F!-V z;mdq2EwdO=FXD@4XgoSXo|_;`}cKsnZT6qZ-;5I+gd*Fb>>jN&7?a#TYQ3y=VE2Ge&LUFv6ACAsi?3nzwV z9$9@;>Fvb^9}<$@&gXXPd$uhzuDBkM47m8;jd4Snq+6G6hAohtLL;g@E_+2u-GaW3 zWj_^t5~8EtqtdZ2zndpG_hZ1=rOmB~TM{Wb-w+p&Xf7%AFITrFqN=H%NHH=%>EacB zJ&sD}NF@*iS>;xqhawVG8821C=t~hg#Fha2Wg_*;6QwqA86C`=Lm&0+rVl;B1k+mc z&17PSP0cHU57pS#+=;*9?cbv3Ep2SZ0b3^WjslAez4yX zQYM(o5}t!?@zE*$I>t2w@Eij@hIoO2wP;AnlJGd@$5}W!Ny`+@CU^%JL zDELdM`I8VO?%i2VRi(=)xo)=jz23DvX4^mQUK#{|U9oh+m@wLxHDgHN*}EGene#A3 zaTc*thPi?}7zqTfYR2~wV0e&v;$4y} zB>Bj5SCrJKF2SnuUg9>YDNeDsRBSG)h%Yj!u=WxtPcfV9(XG?-i1g&G%x}*Wm+G|4 zMW14;+aG~?Shgn7RzZ*c@=HDhWS5mFsW75r|L)k}%!=nF)lwSb3YC-)u1Cq9s2JiU zDHx5fztFs+fyPq@G)v{YDcUEwPSi#{*KadWb7?88xI33-63_vC%vz%58dZZ0x3-qKm^MkhAAeUm(sx zySNMe?!5zsfXbtMY2##TD$N-Ew4&sg-o~K>S!sw1B zLY|#(MD$SZX%G}7iilPipwdxdyrl+W{6XHsxWOMBPj*BWnPadmfv_&kSkhL@<~EK&J4Om9+zsJ{!0 z8Cdt$#XYmOO>omRXvWGK)1L2Q7y1QeZ%)U89NI(_E22(LaeSbkmqU~J52UJr(-N|` z#Ks4n4lYjTZ85vgLes7hWyrh*c5m_2a}?&h-7YGK*+@q23I}stkov>x9f>l!a0@Yr z?m34nfRpMQiv^;HhF|4G6|CVLj?i*R`yR}Nb$n0O5Ig4EALAJSI+-b>i_rDRY4 z%js1Qx~?tk?*^P9n83oHf$gy7;H(obnkvq*=6Cqpo-x0in7p>fv!7KU^9_DRjXtdes@WZ8? zdP3}WFCSreoVmp{YA^PA7&t1!bDpG(_Cu{7w;L1My*M&X`@p5LqTs{^rLqh2@ux0a zP4)OivUV5u>diNKZ>+agB$Bttello-WIbQj!VJwp`=2RI1xc(m{Te-nZmH#E=(H|T z&y2?V^6}ZG&+_T{?B`mX?|&;${wo)lT_l4q{v>b#|EY-mpU)-#FDzk-vff{cSpGV# zI(K>b`ky-<(bN*u_UHy=B$h(xfv^dDPaM*r=R@Y|=9J_C`GNq25P>JKmx4$SjxQ*1 zR_=rozuFG7NBKS8-~Rl8-$FLyjFm`%%k>>!&^9>GOBsZ%~{ zCwN6RZ@-CU0L|C-l`?ItE_VxUI){UewjYLvG}oPeL9er{O;xWoD2s5CWRnF_4UTJu z372>=q6%{+3X@(uwwx>r6ts@;Ch+w6R#43yNWhP`Ao3^U9BkZ`sy$N3c46F`h-(LR zDu!<7ulVk5dLcVuK++c!!JewnPK5R9Uhk=;jQL98DebF}MPJqQfrPG~n4b5wt_QPL zFsr_Y$;W743wZ#G>Sd`rck!2CT+)RXL_@YMU(}e;_4QiM`63w*p51WMut$<4ji}^F zTFAY78P3u|Oe{z=_*)@@O_|Lf0(zdMe*`TjoBDnHKtey10DpRdZm#E`D{Kx|pk^@Q z2Ih}r(Yct>`HLJy1DCsiQKY?6d@<^^si~F4ZwS^%BW6doMici5lyu1c6kPs(27pHkS>@J|Fa@LSxtg3B0jatC8lGQ3K!@V;jVRb~;Rx8|h zytsaq^kT&QjAX}Pv^*O49m=44+|PrL!RWqY^5lunSn8=&uuREz)g20k zkrT07XY40#*-k?zxEL|nhqB5D4P~Hut&Lx8gWa9Rb8Y4;e&nmhx1o3q2(na@v+wGQ1l5etudXvwSZ^#F! zQpewnmq!GxxYX)AXY{q0X@Jz_#@R_IaJzSF4JYYpbvxdY^9x&b0NIpR9R*NO8OZ~T zMP`aDWxJ4zBTJ8@dT6BN5&+}@2yuv%+x*hwHO(XgT5!+MU}HzrX$A!gQ5l{&)ab|~GZ%YjAS zBGS-in+6zTuUl*GA2u|DSnkGJ&E>!YPUHfO6CA6%4YVhe`gvn{UM8$2G3 zf7NafSM@H|6ZxRaY{y{;70$jlWN{VUPl1C!gn+v#LpLhD+I83IcDX_zic&fRM%RoJ z0v?Zl3>=St5Zt*~V{PHrER=nP`bmNb_0bRAT2k!`iCGJ}Y5$QgL&U72ghd`3TT_ik`PVo%J6&>8X`jzHF1baJMqqSCWfdA6Tws4+(k!y2)amaGvfIWy(>-n#Cl-W7R`k6QqflR(a)9``;#-m z82pYO**a2G*fD_oPJL}DWv59?x>p}DXg_JCX+RD&&=ST(^?4oMNPZxf(m%DM(F( z)%6!{^mi^lha8?V`eA&u*6nrgij7U5>|?c*B4T~}SmCj18}Zs?N+IcXc^ zAR-QNfS2b2szPPN3JzVsY+tMV{M~Bqe zVVRm3+I0x(IeGmsr*+<;l=(FL%cPu+j^7kz?v9Zq&3{SA)9{VB4wxBBPv$0wAw}ut z@l!y=5+(k&W{%T>vud39epi>m-vkZ@|W~;z+tU8||3mK>g?Q&^Py+z_vv!p82k&rv# z0fAEhJ^QG64Y#z}I~siymzBki6Ux<^;gANdx6?{?DBhucHx)k1Xc0m}&Wt58w?R*h z(wJs-4)kA>oTYD5lE6a*sTaAGLCd|6$hAM#ziK73tN45I(O*z2N|@c&_Y-QteL^js z|ICO#8?{@TnYey_{IhfW-!|TVQ&9d&lvU^zLJygQ02lKWRP4(?>juX~bK50Vil)sc z!+sRyO=Y$Vg9n58kkO!Ec>D5BwToWHyd<_ucX6D>y?N&jaJXcw26?E}5yHgtvOTCx zk)#eg$9IQbMni%1laSJ|@d%bvY0auxLnZDagw(6D*IMM9(3a&H>oSoMyImSP%Em^H z)mHXuEKWalS-lQfSHJneyCRiCOaGKh9rQiKzTQS9l+?u8O-}Rv$->fic2OiWIL5m2 zzFT7KLF;Ilpi=B8<7gu8hYC^*S~r7M~`}AfjZyL-2kfoQH}ejPJ)v zuyKIQe9Qw37C}|zQl#sR`KdmQ>|^sh0qkZ206|l2;|f>3gCM$K&5DVTIbg^Jp|>Xh zF~*TA=$8kScI_sYDwD;9ATEyLoe^LnGs7-9dg7cvD0@s47DA;C&4mCCfLZ*dAPUVF zW|UbsZu?IA#0iq#PjuGcNCxz0w)kkoku~Vg3~^eRl4lRf()+*Zng1G7x$Y;MtiHBUQQ|8*l#v+p z2JW)=K%sCMV-YfIk=e&DkXh!-cJ65dT{{6=z_g!FhQ1GyIG1#Ia&VAnqUk<|6D@}m z{2mX7)ef6q=C1i5z!a31rer~1y{U1iP91?lRX33Y8fv(BjrLQkgYJ0X|_^gjCV*Tw6`x^ z`|*t>p_d&ktR#~QlscnD#>^Ox7c!f<{cV%kz&MAqzoxE?G_>R1n%Pz|?qKOWnqV=h zRiN)85~>iYwMB>(ePKF@4ARd&S)9laU-wjuH_07S3s(R&rFzR?Xj^Lb=bSL2F6Cwx zSWO7s9V;-nGs9H2tNF_tWj7`V&i#bR1H#!9Mweolg= zKC(mMl`PC|zs+Hsp`m*FP4$-E_zr9)u85o zs9U3efQ)?#Q2*bQ+&?DkKPfqFA46TU6hRApkAs6odC^&SSUXW7wm9ioOx%^bj8xDN ziXupD5wAOn7U|+&W5F#+0AYO~Xk@!?(FzF?O37EM$zWt*B{6Yij1)Z$r)j+fJu?q+ zb<8REfWtP{B(Jr^9zo|WpRP;aLqGq`XMo@J(Cj4Yw6Q;lSjU~<%~KNJM(SV=yEmoS zhit&~u)^g@`m^A#m1F*xjYa9SYp`GN8E>?I?=qW#CTEP>Wnf>@DMJ9M1_|LOhE_^GOoAm<{rIjbTAj!fZm^l!RtabpB+i z+UM~CXOBIqk3419FPX))pYlu?h;q{&ly$W}ND4VZk4Zam}1;w~3NvRX>?AblQ&MtaYeJvJ{?^7W{ z0&uqQxafpS2jpOF5-7m;{{p&<721)nDw~hYc=D2E`$advWl*%q8T6|zqc+%uyQ^m= z@ms?*vUwC&6tddb_%hF;v%7e+SrxCm@aAe%<6MFUxv6`QSYeFW_)0H)83!|;8A)mb zi^$^q>|s>Zlukj8KYa>W$C~M$;WHNcuFAGBW&BWS2-_g;vtwQ+2;;}OS6$^QU}D~0 z++$Q@tU|IpJC(%NW~?r1LAMgW;HtuA&z-MP0XaErPM3;p8FA6jIy1l;u^Xpy>$Nc` zBc3*&R?j29uO;;(XbVNsoozZ7&`4g84tctJAZ<)Gzc8EMxQtS_)zv*>$@f!xe6O-< zd1Ox~=jit*2{^y9xoSi{i6Iicl6=HwqVvBx`wFNkx3y~l0V(P3?gkO1yQLdt)0=MT zmhSG7?(XhT8j&tZrMu+ce#djwt@qqB{+F@GhA~)ku6S2H>sj-8Z=l>Z8Phg3LNk?k zLR!b|fps*k(K4U&o0!v(4G&A4u#bsXmjb7x45}1(4zl^glQ;rQ zSkI{@s#^1`4@I`JUfQxL&idlLj7l5fLU*1~Gf9+IUksg@?z5j}B3M3kdz-&$JgxhR zs(K-NRZ&@yEk!Dikv6%ypAN+-dW52xn@=_3q$mWZk+P)>$3o2cbwctxOLI3Pwjk?k zJynA4Pa{GfFAtBUg{7ZpJmd&g|9G|i!6>(4_0w%qT<&VZ5_O_oy2Uw3;OfEv$Hf_G zcUqCqDt-`8OIoyqqsE{NDtC1@)=H_?8!~pK^tT`K3K)}JUTgV!h4C7d5DVR@^2Eg+ zAdRReMZ7zis`(;ynoj|t!zlv2ro6+c)EHQ#o|>Kn^S*~CH!GDN#!C0}JlQpA6U$|c z(|rpQ#~!f?)6%GckiD!qA>5OvasOmbN+b$EUu<_?{-Q@uH9xpPORCu`j=10NAvgBm zlh!ifCMbK9R>St`7M}?vcSnyE3mRVXzO-Yt)+cBrKzLq&DiADxaR{Jl` z&hl53hQBz7m@ELth8GOS_$%JP62|r$Lj>x>qyy)k11RL&un9T$pELx##y-jZvUmN++zJ7GNwmcz9*>1e@(>G{8(U z;ouYW*+PyXX@N|L^p}~weW5i4NdZ2C!@b+y&@>=o#6ewCRil$>&^rVxU6|$0*PBTb zsWQpFwn8Ru*wLhlph}zI$91cJdMND{(fMlgIcM8UrrH&s?*a42bY2cbJ_e1=6sysQ zEy@(AK^V_B7dW7O`6JR3mDsl6$axi&s?L>woZY-8-|{|Wgu9usm`^nZ4`zti{g>+6 zv5oEO4#bK#5?|KpwzX!`nW`nRVz|xds$h@YHcZ#b*IYI=T%r0B$HALuTJ^05DaXxD ztHce=n(0~buutxceWYbiD#8oQb5vz4cvW#IT-_h!*B60%`;?q~GZdeLW6`Xi67M3q z)lD0#zsV{gT7AFXCXbT%&O;G?gm9gzy@sQNuIXcf=F>Mbu6YCEjefC^c~|^MQ-mo? zAge&9+nAh2t0=bpR-zW`2PSL+uMytH2e4zz&@x(M0-Aw)yqJP7uC*!`jBd8bOp-N)Z>#F!%CAka2Fv!V_EFDg_G5cL& zrQqqwxkR~LwAOwjrQ>7u0;<6fcI?5a7@5-xi;&=jU~QAgWkiYttk73iJBW+|@$a$< zK0u;;AP8}PbepMdj}zPK{9>foW(zws=<3n-(^HP&eHk%!{)DqZs|Ul{Zi?9nkjnf8~ZcTQr;<&zX*EHI(2y zpSLGFQ+$qkHAs#vsn-PYis+i-t98Ee0atOQP+6+T#^lCh-vi0aUQDRb(N#0dt3&_U zIfdhTelc&rgg@*{o$aiS>2uMt2HfEIm;Q57xQpOAD7g|-dm2w z)^oVyaCzuS7D6r=B~7uys@5l6-5j;GmVS9z^cQd3$vM(?NZKi^0C`s9p;VskANfW4 zi9ZE&e+@?WH`x@VBhJ;>t8#Gs3}}OzR1vmc6HJB}svz#M^Ea_nA|b%Zb|z^cczA-@ z*;Uc*HjR=tg=0-aFIXvHQd@!5mtYkzrxhk^tg93@XP=#Yb~Tx!i+>JVWnWGFc1~Cs zZuglyadwqLFp2!xat{^?Cv?vjYh6Dq7nIq;F8av$f||D(xz1d`U`1)A{bJ%=7#29xOiIVGUk! z=93k#eV>aEnKQq`kaOK=kD6r9x|b(y66rXma@iF1tRg>V|1Fb?4}(j1(@y`CaC>&z zDSq%ob4^J2gk`z_Yr0q~Pt2OOC|p^V^p&!dE&gmvnqo`HxivA;A!bd2RiGk90 zP1r8bhg_2Hfn)EiRkK2b^9AP!nle_9>lBh-K{!0pbSRi6`Q$%g#d+%P^1vR?-ufH{ zFgt%rvI#l$?!~0q(PsWLk2s?2fZQqGHW|XTy~o#hrdH4HquS&mGNrbT@lR>o_Hz5# zQQj7$4-~7yu6mJGSUyF1Ce2EYSw4N8PVs6F2jyvl1Agq&NM9{Yta?jF<5gNcn@0?m zuK|@2>Dj0O&^MWlR46nJtTMw|yPBUfEKZ&A@8Z5nE%VY0O5I222~a3$$r73CtY%r< z+zl+xkdxO$7uGI8peL(l^hK-qutbq+x?gUm)ar9{!!A*6oVWt9^lBdIli#*Nqt5#` zXnQ>+koO|!auIz-ciaw_4)fI+Vq=;k*qtv~<^(n4Mt2oU-px0?bAc|oP;XO(fbF9* zDQ|HFd*Hi!D&-Rc@{M;q`Kgx{*Wv4^2S$fb$;ZQQYs5M{8CR-tE1Jp(X&O8d<;+S) z*FHb8@S+#nv2WN9rFzwREQZd)uonReD6kjl)x9YLs75u%K+9em9b)0emwA#^#Tg(? zLm*{0OJ@ZP`~WS2=l*&!)p`s`U#tN7-Q&qGl^f{62@y-gk5y~I(OyE{~#uPuxf4U7I0IIKnK1YY1T&BMiPYqU0$kH;F)N6>(ph)aT0oroRN3^GG<+;R1E-r6exBGbn_*b>IRlYLa zrMAClUrE@mWoRMHoa}(p6;*=@r8E?dynFD}6QTF17uFW^HPOV0Y%*-av(V}K$T@!b z=Of-8$U@~0IHRBxJO-X%TmpHd<9fTj`iKN>Lr&2)>%873$K;H}LNC3{BPQJtzU66! zlsF?Hc`^1P(>o#laPL&9#)wb-95F{CNpd{ZXMFs`ScBK|vAl!99i-jkh^;D~m% zLW{FELpf>H2b>0m*ecNypVQIED>JX&&t5@X4~W{K$8H}BoLFstSjurYJ*e^aD9^6M zn-dwcyhC%n9SD$sIki##3eO|a+WL4IUc00lK!dftass0{K`^Fv+TOb@aCh*a3VEVE zPtcK)hg_Ao$SjDbd2W8Y`1E~Cz#Lgz8>Otro06~g%xFZp`{%*w_7Ioz>Dg)B7@`5> zqHXlmZOzv1?Z~>fhcu<833axKdW@*h42>Uoiutti_$Vi_2bC|Z$n?bn)_d!L@OQY@ zcaIt0ws-8m9+zkdqiK&2TY;+C^Mu}8j+7LyvgU>6zRP^}jQ0|&;e4f4r?VEjZN6w_ zE}#`%x$K(e&6kmmvn&Q}VyW&krXHE&1tlVpg(aB`CnTKS`8CdEVd&PAiPY+m2ohh? zC->=JyA7-BD~=qOZ!^lGd2=PdLfwrUvL}$>es!UD9WPX&Z+J~0-YSd%%XhQFcd)K} zQ?Ltb%k8|~j&X6HCyn_*Hv3_jR`$CjoEQ#Y^HAE*&n)Nq3%)iFa9gq0NgQALAFcDH zG4(q^ZyEzy(AHIO%KKa>``mHLJ1^lf0?zeYuuf+HEkyQONjm}FWA{+MT5Htgf#EqI z(;_YCfR_E=m=*<%Kv(SlI-a-t%XCv3=lNn%0H?owCd|R!7YUq(H9!af)O>PrsNO$H)=yID ze?n|i4xCm!caO(WtTzYT)Z_M1uP^2gAr4~JiyfwNlvr`m#a|?<5mX_@FVMXnTByz? z!i)JT-8>lCdeT+j5@6*vkEy7G-gT@>uw<^8lMG8Pt_LIOq(6QZ>(JJ@tX6`Q;p#Cw zz`~*7(z|RsxteWhd6~|*E3Kr32)93NXiFG_=w22`qO1+TF&Qi^;Mh?@($X2w(d)$? z?~K1W@V_$FuG|mipEme9q}!-vadea&rL1lEpnDEAoI70`QB!a>DW;sP`=dfUiwXXI zom%bwY!#>fb2lTyC=G+ixNZQz!iV9e?Fo*DF-v@jF3QYUx|0|i%HIZz zW>#(uL|HU!g!9Nf@TRB?O^?BW&qCmkVx~N*d@m*VvP;S@s|FWdLk>C=H5CaL*#uft zeE)fLivL$!xFo=6K2(Rx1BM#y`3~(zu@l_U7}2BadVwz=n|+{|z6_3Sdole9(Js;` zOrl6LrKEPiS>w`VK#P(Xmp>QZRks5XgB4(2tOb$d(`4SMNQLH6{2_0s?KzW-%L|L&fk zv?uq?&vvq0C%(31LmET2lWs4*3gZY}L@z8T$_oz0_uk);QM#`A{l4C*f*a($6j`Ln z8WbqR-1AAyEDOk6kS13e_eHv$@#aMaar*=1%4c5mG(ZCxB#l_nr^VUXfXDGZ&Peb> zUCM7XL?!ybPD@ZASWX>*7AOh(qg(u{$Pah^rc-8>3ThR|HXiYBM-GEAd&Vw z{qy_SIvhpLb^tqKDR+8n+wxqcZ@pW8ttfT-$RZ=rQ?l@wLX#Od+*7343MKz8wRB@x z&V+z0+2#+)#2lqY9r$Gy(>nb{SEX1Nc-g)9M1GF)Ps6AoX7dPJt-I=m`O8nR&Twht zui;e4+t=xxdLH=CU{5&nWfY}~u1&VEr~t5V;ITVd5szIKA9o8m*rc!2u2D{d0;5`7 z-v};x>;z^-oGB-wqY$bAwg&*}iT%&~bx}^FKzaj&(&|Py2TXTv%QpCqnd`Kw_6t1} zP{rE~-jdLxICKfwBf7Wc?UmKWGvxj|C&pq{jWm50_SNKzfF55Ow=I!o#JBED^{44C zxvlCg$_4Fj2)8ABlYvE7Ck>=8_?e{JIR(*kZK4y(7J$@rY-phug3tuJEi?eY;h|_077@2O;okNXBIgmdeIPVt8T4C-X zPM5$Zw246FDKyLHPuB%8#I6~h>E7GZ9@fc@zbyCEP=xUbjq`R|6Du-Ry3oR8w#t{> z_vG7)y6YHE7a{P4%=uufB6-jr_cDwUk=u+x8>3k|hNr$0=v3x`f}XU6>1qyxjP?(H z-Z0-C+T*~kZ=5JQI05%gLaWEGCHmpwzPq-szgA6`Joqu-U85*@B`8!QDabMQ`S0WU z-})*4<{Yq8bx{pp6ysjD3ea7(LH>kB&F2*g8fuVj#gb;F4_WP{ZuI^7CK?kK2(nTBUjG)H#hXB+z7f+ zbOw}?@L38Y6CHYYrC97!Fp_oW(&>qd#Ag|*PI9`2cM{|37^7^4g$|8HP1!r-Re-8nv=~Te>P*J~FK(VtHyS@Kp)cB`#+sq!@;PkLubEU~@gSpSFI`S5x z!-cs1Z7_DKb5q(8r9k23@ha#T5@hk+PE|oIC7BRw8#2vfxeUNz@410RgBI^-Q)p<( zy#1MiP`$b63-s)=bti ztdv5iRp^aT{8;n&%>*@i6D2Su z&f}~SS3|%x*cu|8*Lx7W?}&*f2GOgi8L=i!akBz-{109xcT?3r1G<1t&P$ z1-(8Bwjttb_9NLooO2PL*r@KdPypZC?o8J!#Di$PJv1X!XUn^wM@s(CS|Wmd5JW*V zLr;71+4zK0EeDWrGu9Dc1}@Pe4Bg(8JD-Gw(lD{67Lf||8KQK?P}61g^h@V-nCTc| za#g=^SE;AZPY0}s#zkP~yDrs)JyCj?v3`3=8TlIXGY;0`RhEQO_&iWW_9`Rz_5}*> zMIfLKcRAf5j!-PQItSMK<-AaCRiUZ#apPHT z)0@E)XV^}GSuI@e$q?Px^IbvM=@c7H#={B0=mU>93UPv4q|%fZBzMZ#)4D3kf-_rw z`rU(>rozoO{GJLJj1={K++We=q#`4%g8>^8sB^e&{bUZ$aMHV8>uh5RrBT|;LU(x+ zk74ElwjY&WRvwX$Obie|jGx4!k13nRmw;J<|&OYd}kO9oC0*kvQvC39usYe*K`w>N-Y6Yd5SwAJ5;WU7hYD8rq4YtDt<> zTtUg8TM3gh`osZBAEu=Bf4UfT z^^ALDx!M?lG}u{;L&4ZB^2HBXNr62%Fuqp8&o%tbU#BcGqI$xQQng)X21!MVxPy+# zN53%TVo16rrE%Y+9k?xXv$x;7-9zZ2($gBq%PWBVf`pK-Su(OW{DV^@8FC`M()$=0 zsBE-6K(_+u+b=#<<*c;@!@{GvzB9K`6U?g`K2Kaa_A6BL`^-qcT?pT;_i}g@-l)kV z!KZqVLAcx{ydrdiEtf*73+<(bAjhkZ$|zd3pJNx)P_aD6P0j7LFz27pMwfo%G_qt9 zAF#s-b$;#>`-#3zf7`!%muki=Z|oIY|Hhe0^SG|6j-mwzFF;F~321GlgeT9E$efxW zLL`SGlFI9CpPb5z-O{0%JpGwIeB9J}ScxT;KO#CjrUYs5tMm)ofW|C6({X(0!lFf6 z)7!>KLY(G~T_1x97C!(qRKBSiLBO8$Al`M`BuZ6sGK2co+62)UZwZZmatWML7s<+}%M`CJI#7C^4NaheQFS<>+jnALTva4Q=^nYG88GFOCgoGVQxO+QQ)jf$#L+ER@} zP`dVDA)7ap;CIbkrT%TtSe0DXzn zAHblsv|jGix#n0cf8+<`QnP!3+ojE6*zGQf7o>mi^c>`)p|%s2hT9C12ep(7R4l&+aQd=bbTN zVPX@sk_cN$BMlwGgjJ+%JjH+`7joqgis2Q1nS=tUqIGv9mN9;XI&pII$n)4tur}6s zQhpXOnjwTWIG0wO(|{Q=jk*w(Y(yI8B1vr^p`d{82098^r;X;5=7y_NwoWnYH zZkb*eDEhQKtjYvGxs0-~!7P`^GO7CmLp2vR;k5oGa%Zp0vV$Vx=Hwy+UC|!(Lh<^k zX~wH2Qtg8&nKej_v{>|0cWz?1ag9xDMzVG`?oV*2)LJA%(M zI1P|19PRHT|4(jHV4iPb(K^!IEExVTjOv@NINOgjdsN4F!>~W&49H`^!!s@!TOi_E z&}lrowRm|6b*rEkFGS1ad!9GweA4#fF*SettK|pQ2>nk8K3WHMgxm2^3z1o;>IQFp zlxEFes-}Q^p}5vuyEbefrME-A&Fj|pNw_L?)cmQ?7!vM=I+hPf16wbmS*<*LUm^eT zB8{R36uD!PY0H4DexhDn%X8`h=(B_GaQBX0{;T(P~c7`(&AIcdrg3@-Am&X?hGrSUIvkQ0`n8;J5ypb`r*0+I9w&t=b zWZjgkO(;5cA0c4fIOoJ{5{1fCoG>Hkl?feEZb7OJCA~LiYFy|7YhG*G*`(S8lbauh z^{RQ+xU|5Bt)$k52j)=&&+YiFsU;pHNoTU3|qm{xr@e=^-Z zmNDiDFrE_}uDLE{zni!pCtf{WSj6#xGq+CNNw~4yw;Ofduii>;^=$uo_u>JNC(;@% zNq@?K(k}`%Du!gm$B$AQQ5QEsM0+y^6SbJYQPjt;nCyeUwQP?A9M|C+KR`(cjl?5> zu!uqrqrcz{Y%6M-ej-hxDyK?q>|S!bqL~Yw)rZf)l{#Zcd+~alpjg4%2u)e@!-z9^ zt*ch#1SgKLOkCB2B%j_}gsnd0GUxb=`M#-G+0+0IQ%0rGf-Zh!i}7v84x67^Eo@$H z>5ghQ6DK`m2I4VN_gIOWERci4$B;)-%=KAz49pa-39?PoXcvn)9;H_0mop@y-#uWH{rj*$%&q= zQIZ}<$Nl&AM*JpZE=CQqE%uIfhl%Tg@b)l z48qpT{2_4x$)+KfFa3SsBMR6UT!?^oUQnP&k}DpCd<-pGyxReh__iBCdcYev!WtIO zQv|t-q31ftAUTDeiX}DF-3vv@;3Cs7F%EX|gwNW<7tVcQ(=}(ByLrcn*rV<+bfBPI zMo;G@C*Q|%xjvV5MXXBgG~h?96NyascHjLvB^`Gm@AAydzC9Uc*+>X8Rk6A(l3|vJ z=YY6Oxmh#7^~=W5SN8z6FGpsefbX}j)~LeQFi~CP-|P_f`3SyT0)7gJP;IVkRXSVnPX&W_`QcT$IKKZ@f_lz8ig~MyN(p7 z8}66LoHHg`l37Fzc70|Wt9W1+@=TacokOmtB(=h;Lm>lUz6P4`xryduc31$(cq{sX zI4LfS&VJJrzIcdZBbO3cFgheBzM&qxmHS|Wc;@(rn+SU`*#MV1?noc!x~e)4bypf% zJ8KzTE<>h@htjGHNSDg$PJ`LOXYH{@BGAg24@4nz#4`zc3h720X zUaP`OqC=0fyI~ecS22c@qTAH3d~AqGZ|6Hi&)Nn*{cxYcIrZX06_fpHVtq(zyeVYyl`Lrjp-?3x6hbhjgst%VZFRWKYHUz%(Xp9GY*wHyX?jZ1 z;%kC1^aj(D7L&LR_DVeOudWa}ND1&YzRV2(xFVXusGUr+fLWpgt%wFF?PLbYrRYAh zA!0;;R$_^RZ9SgTDOgrS=iG@1ZPfHfnA=WGCVj@8e)3MtQ$0$)>OC#$Zq&K?E?J2( zJWF3r$v2+2p}ifmTVSzv8Fym%B=K6}^Dg^_ju4Qc4Usoo+3l9~F`48?lk?GD>Qz6X z>k$%F@6+Z|B_X~O>UIsXmw zM?57ByWVMBzFB%c4IUvzTG!N12P;qJEexFUy*Vd0gJJfo+&i#xZ^5?tupZCqpMzE! zLvVjIc>exM{og^>e_3dJmP1!S`6{QS{*g%@1?3bQKjsS4<_1eeQYgL ztWK3qj~YlT5Lt$!fTGWniZ2)$kXo&ksqW$(dAap2HHmvUDJd<9xBaWz&0~^aL)7$0sVICXRs-?f)7n#!B5+Og`K-VQK*XdhaU#KET% zM!;s+w=6H-ls4oQkFLv!Qm`!!E=VN|+e5Vl^=$azibaC;cHj+YyxHc~`Ve7Z-NlIUfOsQa-g7Wox# zOMwnS*=y7`kt?==mGTV&-^3@5??a#E9tH0(RN}7eM2-2=qq&)29%^@C1?Q_og#psTqs4oi?W>0jekGCLWW;n+15 zy>a*MRBG&^Pr}Yyx|h<~<|)|DYj;Cvg-smohsCq8Y`AoL>%1t}j62sHB;~zg+yL1* z2C+a4JP?8{eXrfWsn8#NSOsk#T@qt&5K-Ll_#=TVRW$2D_B_E9vWZuK3C|&18S|lE zTlUBs;(}L*_agJ8ezhb(JjgE(!fpakW*QbrTg*C9f^rU{s(|+&hXTE8qX$8vJ!^b$`;}-}ps&9|95s z3KS0e(W3`apxZMb;{Pbmg9eB156Xi*!Ee9HiYf~-O3H~b%S->7Y=2<{^P8na8T7&U z_MhLM9Pe*?$^Rsi6_k?{6ID`Xk`)6-_?7@P$^G90n&`ei--r`Izkd_#{ihV59n()K zTE3_FE}8#N2|;q4KPBAyHR1Od2){9#_!tY_>nCyHzXARZ zT=chuICzdCv`)jZK&7_^m0aW(z_0%U5PU%gTG}}|3p&`FfOK7f`aeXA!5O!{sM{5R znC3wrvR@b-L3#K?5hVXE!(aPLaJ+d5Q95XlxlA6^65mdV|9*13bwQ@&Kj48xXU!e# zK=-Z0faZpR`uc`;cCr9VfbriU3BU>T%e|X)K~;nTB4PX+9rT^!T?eB41A&??z#4RI z4`i({0vbDj^qWCK=6}w+f;%B_15|2UP&Z)t1sd@9kI>+iE&+n8$d3#01@Mvj>=){~2wuLnf#P zRQ@2G=6EwR z{}K9otBE=p>O1^LaT^>JMf%m3JrF8AC^`rzhyQtUycwI0)u0Miy8gE)NuSK% zm&FgF>CE4VetTX2sk?!nT>n6x2W?pXWgY$b92>k4;0K03s7CYtiRypMrQnBPKVTIL z{t5Q`fbkDUV&DY;H+2uJK5$#! z5B!#je}VtsEqmbg1#Y1DK_p-EpM~LnGgrt \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >&- -APP_HOME="`pwd -P`" -cd "$SAVED" >&- - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=$((i+1)) - done - case $i in - (0) set -- ;; - (1) set -- "$args0" ;; - (2) set -- "$args0" "$args1" ;; - (3) set -- "$args0" "$args1" "$args2" ;; - (4) set -- "$args0" "$args1" "$args2" "$args3" ;; - (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac -fi - -# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules -function splitJvmOpts() { - JVM_OPTS=("$@") -} -eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS -JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" - -exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat deleted file mode 100644 index 8a0b282..0000000 --- a/gradlew.bat +++ /dev/null @@ -1,90 +0,0 @@ -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto init - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:init -@rem Get command-line arguments, handling Windowz variants - -if not "%OS%" == "Windows_NT" goto win9xME_args -if "%@eval[2+2]" == "4" goto 4NT_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* -goto execute - -:4NT_args -@rem Get arguments from the 4NT Shell from JP Software -set CMD_LINE_ARGS=%$ - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/resources/README.md b/resources/README.md new file mode 100644 index 0000000..6ba0b10 --- /dev/null +++ b/resources/README.md @@ -0,0 +1,4 @@ +Atum +==== + +a minecraft modjam mod \ No newline at end of file diff --git a/src/main/resources/assets/atum/lang/en_US.properties b/resources/assets/atum/lang/en_US.properties similarity index 100% rename from src/main/resources/assets/atum/lang/en_US.properties rename to resources/assets/atum/lang/en_US.properties diff --git a/src/main/resources/assets/atum/music/ALongJourney.ogg b/resources/assets/atum/music/ALongJourney.ogg similarity index 100% rename from src/main/resources/assets/atum/music/ALongJourney.ogg rename to resources/assets/atum/music/ALongJourney.ogg diff --git a/src/main/resources/assets/atum/music/Hostiles.ogg b/resources/assets/atum/music/Hostiles.ogg similarity index 100% rename from src/main/resources/assets/atum/music/Hostiles.ogg rename to resources/assets/atum/music/Hostiles.ogg diff --git a/src/main/resources/assets/atum/music/ScorchingSand.ogg b/resources/assets/atum/music/ScorchingSand.ogg similarity index 100% rename from src/main/resources/assets/atum/music/ScorchingSand.ogg rename to resources/assets/atum/music/ScorchingSand.ogg diff --git a/src/main/resources/assets/atum/music/TempleTales.ogg b/resources/assets/atum/music/TempleTales.ogg similarity index 100% rename from src/main/resources/assets/atum/music/TempleTales.ogg rename to resources/assets/atum/music/TempleTales.ogg diff --git a/src/main/resources/assets/atum/music/TheWanderer.ogg b/resources/assets/atum/music/TheWanderer.ogg similarity index 100% rename from src/main/resources/assets/atum/music/TheWanderer.ogg rename to resources/assets/atum/music/TheWanderer.ogg diff --git a/src/main/resources/assets/atum/sound/pharaohspawn.ogg b/resources/assets/atum/sound/pharaohspawn.ogg similarity index 100% rename from src/main/resources/assets/atum/sound/pharaohspawn.ogg rename to resources/assets/atum/sound/pharaohspawn.ogg diff --git a/src/main/resources/assets/atum/textures/armor/DesertArmor_1.png b/resources/assets/atum/textures/armor/DesertArmor_1.png similarity index 100% rename from src/main/resources/assets/atum/textures/armor/DesertArmor_1.png rename to resources/assets/atum/textures/armor/DesertArmor_1.png diff --git a/src/main/resources/assets/atum/textures/armor/DesertArmor_2.png b/resources/assets/atum/textures/armor/DesertArmor_2.png similarity index 100% rename from src/main/resources/assets/atum/textures/armor/DesertArmor_2.png rename to resources/assets/atum/textures/armor/DesertArmor_2.png diff --git a/src/main/resources/assets/atum/textures/armor/EgyptianArmor_1.png b/resources/assets/atum/textures/armor/EgyptianArmor_1.png similarity index 100% rename from src/main/resources/assets/atum/textures/armor/EgyptianArmor_1.png rename to resources/assets/atum/textures/armor/EgyptianArmor_1.png diff --git a/src/main/resources/assets/atum/textures/armor/EgyptianArmor_2.png b/resources/assets/atum/textures/armor/EgyptianArmor_2.png similarity index 100% rename from src/main/resources/assets/atum/textures/armor/EgyptianArmor_2.png rename to resources/assets/atum/textures/armor/EgyptianArmor_2.png diff --git a/src/main/resources/assets/atum/textures/armor/MummyArmor_1.png b/resources/assets/atum/textures/armor/MummyArmor_1.png similarity index 100% rename from src/main/resources/assets/atum/textures/armor/MummyArmor_1.png rename to resources/assets/atum/textures/armor/MummyArmor_1.png diff --git a/src/main/resources/assets/atum/textures/armor/MummyArmor_2.png b/resources/assets/atum/textures/armor/MummyArmor_2.png similarity index 100% rename from src/main/resources/assets/atum/textures/armor/MummyArmor_2.png rename to resources/assets/atum/textures/armor/MummyArmor_2.png diff --git a/src/main/resources/assets/atum/textures/armor/RubyArtifactArmor_1.png b/resources/assets/atum/textures/armor/RubyArtifactArmor_1.png similarity index 100% rename from src/main/resources/assets/atum/textures/armor/RubyArtifactArmor_1.png rename to resources/assets/atum/textures/armor/RubyArtifactArmor_1.png diff --git a/src/main/resources/assets/atum/textures/armor/RubyArtifactArmor_2.png b/resources/assets/atum/textures/armor/RubyArtifactArmor_2.png similarity index 100% rename from src/main/resources/assets/atum/textures/armor/RubyArtifactArmor_2.png rename to resources/assets/atum/textures/armor/RubyArtifactArmor_2.png diff --git a/src/main/resources/assets/atum/textures/armor/WandererArmor_1.png b/resources/assets/atum/textures/armor/WandererArmor_1.png similarity index 100% rename from src/main/resources/assets/atum/textures/armor/WandererArmor_1.png rename to resources/assets/atum/textures/armor/WandererArmor_1.png diff --git a/src/main/resources/assets/atum/textures/armor/WandererArmor_1_old.png b/resources/assets/atum/textures/armor/WandererArmor_1_old.png similarity index 100% rename from src/main/resources/assets/atum/textures/armor/WandererArmor_1_old.png rename to resources/assets/atum/textures/armor/WandererArmor_1_old.png diff --git a/src/main/resources/assets/atum/textures/armor/WandererArmor_2.png b/resources/assets/atum/textures/armor/WandererArmor_2.png similarity index 100% rename from src/main/resources/assets/atum/textures/armor/WandererArmor_2.png rename to resources/assets/atum/textures/armor/WandererArmor_2.png diff --git a/src/main/resources/assets/atum/textures/blocks/AtumBrickCarved.png b/resources/assets/atum/textures/blocks/AtumBrickCarved.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/AtumBrickCarved.png rename to resources/assets/atum/textures/blocks/AtumBrickCarved.png diff --git a/src/main/resources/assets/atum/textures/blocks/AtumBrickLarge.png b/resources/assets/atum/textures/blocks/AtumBrickLarge.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/AtumBrickLarge.png rename to resources/assets/atum/textures/blocks/AtumBrickLarge.png diff --git a/src/main/resources/assets/atum/textures/blocks/AtumBrickSmall.png b/resources/assets/atum/textures/blocks/AtumBrickSmall.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/AtumBrickSmall.png rename to resources/assets/atum/textures/blocks/AtumBrickSmall.png diff --git a/src/main/resources/assets/atum/textures/blocks/AtumCoal.png b/resources/assets/atum/textures/blocks/AtumCoal.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/AtumCoal.png rename to resources/assets/atum/textures/blocks/AtumCoal.png diff --git a/src/main/resources/assets/atum/textures/blocks/AtumCobble.png b/resources/assets/atum/textures/blocks/AtumCobble.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/AtumCobble.png rename to resources/assets/atum/textures/blocks/AtumCobble.png diff --git a/src/main/resources/assets/atum/textures/blocks/AtumCrackedLargeBrick.png b/resources/assets/atum/textures/blocks/AtumCrackedLargeBrick.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/AtumCrackedLargeBrick.png rename to resources/assets/atum/textures/blocks/AtumCrackedLargeBrick.png diff --git a/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlass.png b/resources/assets/atum/textures/blocks/AtumCrystalGlass.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/AtumCrystalGlass.png rename to resources/assets/atum/textures/blocks/AtumCrystalGlass.png diff --git a/src/main/resources/assets/atum/textures/blocks/AtumDate.png b/resources/assets/atum/textures/blocks/AtumDate.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/AtumDate.png rename to resources/assets/atum/textures/blocks/AtumDate.png diff --git a/src/main/resources/assets/atum/textures/blocks/AtumDiamond.png b/resources/assets/atum/textures/blocks/AtumDiamond.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/AtumDiamond.png rename to resources/assets/atum/textures/blocks/AtumDiamond.png diff --git a/src/main/resources/assets/atum/textures/blocks/AtumFramedGlass.png b/resources/assets/atum/textures/blocks/AtumFramedGlass.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/AtumFramedGlass.png rename to resources/assets/atum/textures/blocks/AtumFramedGlass.png diff --git a/src/main/resources/assets/atum/textures/blocks/AtumGold.png b/resources/assets/atum/textures/blocks/AtumGold.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/AtumGold.png rename to resources/assets/atum/textures/blocks/AtumGold.png diff --git a/src/main/resources/assets/atum/textures/blocks/AtumIron.png b/resources/assets/atum/textures/blocks/AtumIron.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/AtumIron.png rename to resources/assets/atum/textures/blocks/AtumIron.png diff --git a/src/main/resources/assets/atum/textures/blocks/AtumLapis.png b/resources/assets/atum/textures/blocks/AtumLapis.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/AtumLapis.png rename to resources/assets/atum/textures/blocks/AtumLapis.png diff --git a/src/main/resources/assets/atum/textures/blocks/AtumLeaves.png b/resources/assets/atum/textures/blocks/AtumLeaves.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/AtumLeaves.png rename to resources/assets/atum/textures/blocks/AtumLeaves.png diff --git a/src/main/resources/assets/atum/textures/blocks/AtumPalmSapling.png b/resources/assets/atum/textures/blocks/AtumPalmSapling.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/AtumPalmSapling.png rename to resources/assets/atum/textures/blocks/AtumPalmSapling.png diff --git a/src/main/resources/assets/atum/textures/blocks/AtumPapyrus.png b/resources/assets/atum/textures/blocks/AtumPapyrus.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/AtumPapyrus.png rename to resources/assets/atum/textures/blocks/AtumPapyrus.png diff --git a/src/main/resources/assets/atum/textures/blocks/AtumPapyrusTop.png b/resources/assets/atum/textures/blocks/AtumPapyrusTop.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/AtumPapyrusTop.png rename to resources/assets/atum/textures/blocks/AtumPapyrusTop.png diff --git a/src/main/resources/assets/atum/textures/blocks/AtumRedstone.png b/resources/assets/atum/textures/blocks/AtumRedstone.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/AtumRedstone.png rename to resources/assets/atum/textures/blocks/AtumRedstone.png diff --git a/src/main/resources/assets/atum/textures/blocks/AtumSand.png b/resources/assets/atum/textures/blocks/AtumSand.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/AtumSand.png rename to resources/assets/atum/textures/blocks/AtumSand.png diff --git a/src/main/resources/assets/atum/textures/blocks/AtumStone.png b/resources/assets/atum/textures/blocks/AtumStone.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/AtumStone.png rename to resources/assets/atum/textures/blocks/AtumStone.png diff --git a/src/main/resources/assets/atum/textures/blocks/AtumiteOre.png b/resources/assets/atum/textures/blocks/AtumiteOre.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/AtumiteOre.png rename to resources/assets/atum/textures/blocks/AtumiteOre.png diff --git a/src/main/resources/assets/atum/textures/blocks/DeadBush.png b/resources/assets/atum/textures/blocks/DeadBush.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/DeadBush.png rename to resources/assets/atum/textures/blocks/DeadBush.png diff --git a/src/main/resources/assets/atum/textures/blocks/FertileSoil.png b/resources/assets/atum/textures/blocks/FertileSoil.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/FertileSoil.png rename to resources/assets/atum/textures/blocks/FertileSoil.png diff --git a/src/main/resources/assets/atum/textures/blocks/FertileSoilSide.png b/resources/assets/atum/textures/blocks/FertileSoilSide.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/FertileSoilSide.png rename to resources/assets/atum/textures/blocks/FertileSoilSide.png diff --git a/src/main/resources/assets/atum/textures/blocks/FertileSoilTop.png b/resources/assets/atum/textures/blocks/FertileSoilTop.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/FertileSoilTop.png rename to resources/assets/atum/textures/blocks/FertileSoilTop.png diff --git a/src/main/resources/assets/atum/textures/blocks/Flax_0.png b/resources/assets/atum/textures/blocks/Flax_0.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/Flax_0.png rename to resources/assets/atum/textures/blocks/Flax_0.png diff --git a/src/main/resources/assets/atum/textures/blocks/Flax_1.png b/resources/assets/atum/textures/blocks/Flax_1.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/Flax_1.png rename to resources/assets/atum/textures/blocks/Flax_1.png diff --git a/src/main/resources/assets/atum/textures/blocks/Flax_2.png b/resources/assets/atum/textures/blocks/Flax_2.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/Flax_2.png rename to resources/assets/atum/textures/blocks/Flax_2.png diff --git a/src/main/resources/assets/atum/textures/blocks/Flax_3.png b/resources/assets/atum/textures/blocks/Flax_3.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/Flax_3.png rename to resources/assets/atum/textures/blocks/Flax_3.png diff --git a/src/main/resources/assets/atum/textures/blocks/Flax_4.png b/resources/assets/atum/textures/blocks/Flax_4.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/Flax_4.png rename to resources/assets/atum/textures/blocks/Flax_4.png diff --git a/src/main/resources/assets/atum/textures/blocks/Flax_5.png b/resources/assets/atum/textures/blocks/Flax_5.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/Flax_5.png rename to resources/assets/atum/textures/blocks/Flax_5.png diff --git a/src/main/resources/assets/atum/textures/blocks/FurnaceBurning.png b/resources/assets/atum/textures/blocks/FurnaceBurning.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/FurnaceBurning.png rename to resources/assets/atum/textures/blocks/FurnaceBurning.png diff --git a/src/main/resources/assets/atum/textures/blocks/FurnaceFront.png b/resources/assets/atum/textures/blocks/FurnaceFront.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/FurnaceFront.png rename to resources/assets/atum/textures/blocks/FurnaceFront.png diff --git a/src/main/resources/assets/atum/textures/blocks/FurnaceTop.png b/resources/assets/atum/textures/blocks/FurnaceTop.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/FurnaceTop.png rename to resources/assets/atum/textures/blocks/FurnaceTop.png diff --git a/src/main/resources/assets/atum/textures/blocks/PapyrusPlantItem.png b/resources/assets/atum/textures/blocks/PapyrusPlantItem.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/PapyrusPlantItem.png rename to resources/assets/atum/textures/blocks/PapyrusPlantItem.png diff --git a/src/main/resources/assets/atum/textures/blocks/Planks.png b/resources/assets/atum/textures/blocks/Planks.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/Planks.png rename to resources/assets/atum/textures/blocks/Planks.png diff --git a/src/main/resources/assets/atum/textures/blocks/Shrub.png b/resources/assets/atum/textures/blocks/Shrub.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/Shrub.png rename to resources/assets/atum/textures/blocks/Shrub.png diff --git a/src/main/resources/assets/atum/textures/blocks/TrapFire.png b/resources/assets/atum/textures/blocks/TrapFire.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/TrapFire.png rename to resources/assets/atum/textures/blocks/TrapFire.png diff --git a/src/main/resources/assets/atum/textures/blocks/TrapSide.png b/resources/assets/atum/textures/blocks/TrapSide.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/TrapSide.png rename to resources/assets/atum/textures/blocks/TrapSide.png diff --git a/src/main/resources/assets/atum/textures/blocks/Weed.png b/resources/assets/atum/textures/blocks/Weed.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/Weed.png rename to resources/assets/atum/textures/blocks/Weed.png diff --git a/src/main/resources/assets/atum/textures/blocks/portal.png b/resources/assets/atum/textures/blocks/portal.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/portal.png rename to resources/assets/atum/textures/blocks/portal.png diff --git a/src/main/resources/assets/atum/textures/blocks/portal.png.mcmeta b/resources/assets/atum/textures/blocks/portal.png.mcmeta similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/portal.png.mcmeta rename to resources/assets/atum/textures/blocks/portal.png.mcmeta diff --git a/src/main/resources/assets/atum/textures/blocks/stonebricksmooth_mossy.png b/resources/assets/atum/textures/blocks/stonebricksmooth_mossy.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/stonebricksmooth_mossy.png rename to resources/assets/atum/textures/blocks/stonebricksmooth_mossy.png diff --git a/src/main/resources/assets/atum/textures/blocks/thinglass_top.png b/resources/assets/atum/textures/blocks/thinglass_top.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/thinglass_top.png rename to resources/assets/atum/textures/blocks/thinglass_top.png diff --git a/src/main/resources/assets/atum/textures/blocks/tree_side.png b/resources/assets/atum/textures/blocks/tree_side.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/tree_side.png rename to resources/assets/atum/textures/blocks/tree_side.png diff --git a/src/main/resources/assets/atum/textures/blocks/tree_top.png b/resources/assets/atum/textures/blocks/tree_top.png similarity index 100% rename from src/main/resources/assets/atum/textures/blocks/tree_top.png rename to resources/assets/atum/textures/blocks/tree_top.png diff --git a/src/main/resources/assets/atum/textures/entities/BanditArcher.png b/resources/assets/atum/textures/entities/BanditArcher.png similarity index 100% rename from src/main/resources/assets/atum/textures/entities/BanditArcher.png rename to resources/assets/atum/textures/entities/BanditArcher.png diff --git a/src/main/resources/assets/atum/textures/entities/BanditWarlord.png b/resources/assets/atum/textures/entities/BanditWarlord.png similarity index 100% rename from src/main/resources/assets/atum/textures/entities/BanditWarlord.png rename to resources/assets/atum/textures/entities/BanditWarlord.png diff --git a/src/main/resources/assets/atum/textures/entities/BanditWarrior.png b/resources/assets/atum/textures/entities/BanditWarrior.png similarity index 100% rename from src/main/resources/assets/atum/textures/entities/BanditWarrior.png rename to resources/assets/atum/textures/entities/BanditWarrior.png diff --git a/src/main/resources/assets/atum/textures/entities/Barbarian.png b/resources/assets/atum/textures/entities/Barbarian.png similarity index 100% rename from src/main/resources/assets/atum/textures/entities/Barbarian.png rename to resources/assets/atum/textures/entities/Barbarian.png diff --git a/src/main/resources/assets/atum/textures/entities/Bonestorm.png b/resources/assets/atum/textures/entities/Bonestorm.png similarity index 100% rename from src/main/resources/assets/atum/textures/entities/Bonestorm.png rename to resources/assets/atum/textures/entities/Bonestorm.png diff --git a/src/main/resources/assets/atum/textures/entities/DesertGhost.png b/resources/assets/atum/textures/entities/DesertGhost.png similarity index 100% rename from src/main/resources/assets/atum/textures/entities/DesertGhost.png rename to resources/assets/atum/textures/entities/DesertGhost.png diff --git a/src/main/resources/assets/atum/textures/entities/DesertWolf.png b/resources/assets/atum/textures/entities/DesertWolf.png similarity index 100% rename from src/main/resources/assets/atum/textures/entities/DesertWolf.png rename to resources/assets/atum/textures/entities/DesertWolf.png diff --git a/src/main/resources/assets/atum/textures/entities/DesertWolf_angry.png b/resources/assets/atum/textures/entities/DesertWolf_angry.png similarity index 100% rename from src/main/resources/assets/atum/textures/entities/DesertWolf_angry.png rename to resources/assets/atum/textures/entities/DesertWolf_angry.png diff --git a/src/main/resources/assets/atum/textures/entities/DesertWolf_tame.png b/resources/assets/atum/textures/entities/DesertWolf_tame.png similarity index 100% rename from src/main/resources/assets/atum/textures/entities/DesertWolf_tame.png rename to resources/assets/atum/textures/entities/DesertWolf_tame.png diff --git a/src/main/resources/assets/atum/textures/entities/DustySkeleton.png b/resources/assets/atum/textures/entities/DustySkeleton.png similarity index 100% rename from src/main/resources/assets/atum/textures/entities/DustySkeleton.png rename to resources/assets/atum/textures/entities/DustySkeleton.png diff --git a/src/main/resources/assets/atum/textures/entities/Mummy.png b/resources/assets/atum/textures/entities/Mummy.png similarity index 100% rename from src/main/resources/assets/atum/textures/entities/Mummy.png rename to resources/assets/atum/textures/entities/Mummy.png diff --git a/src/main/resources/assets/atum/textures/entities/PharaohBlue.png b/resources/assets/atum/textures/entities/PharaohBlue.png similarity index 100% rename from src/main/resources/assets/atum/textures/entities/PharaohBlue.png rename to resources/assets/atum/textures/entities/PharaohBlue.png diff --git a/src/main/resources/assets/atum/textures/entities/PharaohBlue_old.png b/resources/assets/atum/textures/entities/PharaohBlue_old.png similarity index 100% rename from src/main/resources/assets/atum/textures/entities/PharaohBlue_old.png rename to resources/assets/atum/textures/entities/PharaohBlue_old.png diff --git a/src/main/resources/assets/atum/textures/entities/PharaohGreen.png b/resources/assets/atum/textures/entities/PharaohGreen.png similarity index 100% rename from src/main/resources/assets/atum/textures/entities/PharaohGreen.png rename to resources/assets/atum/textures/entities/PharaohGreen.png diff --git a/src/main/resources/assets/atum/textures/entities/PharaohRed.png b/resources/assets/atum/textures/entities/PharaohRed.png similarity index 100% rename from src/main/resources/assets/atum/textures/entities/PharaohRed.png rename to resources/assets/atum/textures/entities/PharaohRed.png diff --git a/src/main/resources/assets/atum/textures/entities/StoneSoldier.png b/resources/assets/atum/textures/entities/StoneSoldier.png similarity index 100% rename from src/main/resources/assets/atum/textures/entities/StoneSoldier.png rename to resources/assets/atum/textures/entities/StoneSoldier.png diff --git a/src/main/resources/assets/atum/textures/hud/mummyblur.png b/resources/assets/atum/textures/hud/mummyblur.png similarity index 100% rename from src/main/resources/assets/atum/textures/hud/mummyblur.png rename to resources/assets/atum/textures/hud/mummyblur.png diff --git a/src/main/resources/assets/atum/textures/items/AkersToil.png b/resources/assets/atum/textures/items/AkersToil.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/AkersToil.png rename to resources/assets/atum/textures/items/AkersToil.png diff --git a/src/main/resources/assets/atum/textures/items/AmunetsHomecoming.png b/resources/assets/atum/textures/items/AmunetsHomecoming.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/AmunetsHomecoming.png rename to resources/assets/atum/textures/items/AmunetsHomecoming.png diff --git a/src/main/resources/assets/atum/textures/items/Anhur's Might.png b/resources/assets/atum/textures/items/Anhur's Might.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/Anhur's Might.png rename to resources/assets/atum/textures/items/Anhur's Might.png diff --git a/src/main/resources/assets/atum/textures/items/AnhursMight.png b/resources/assets/atum/textures/items/AnhursMight.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/AnhursMight.png rename to resources/assets/atum/textures/items/AnhursMight.png diff --git a/src/main/resources/assets/atum/textures/items/AnubisMercy.png b/resources/assets/atum/textures/items/AnubisMercy.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/AnubisMercy.png rename to resources/assets/atum/textures/items/AnubisMercy.png diff --git a/src/main/resources/assets/atum/textures/items/AnuketsBounty.png b/resources/assets/atum/textures/items/AnuketsBounty.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/AnuketsBounty.png rename to resources/assets/atum/textures/items/AnuketsBounty.png diff --git a/src/main/resources/assets/atum/textures/items/Arrow.png b/resources/assets/atum/textures/items/Arrow.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/Arrow.png rename to resources/assets/atum/textures/items/Arrow.png diff --git a/src/main/resources/assets/atum/textures/items/ArrowEntity.png b/resources/assets/atum/textures/items/ArrowEntity.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/ArrowEntity.png rename to resources/assets/atum/textures/items/ArrowEntity.png diff --git a/src/main/resources/assets/atum/textures/items/AtensFury.png b/resources/assets/atum/textures/items/AtensFury.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/AtensFury.png rename to resources/assets/atum/textures/items/AtensFury.png diff --git a/src/main/resources/assets/atum/textures/items/Bow.png b/resources/assets/atum/textures/items/Bow.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/Bow.png rename to resources/assets/atum/textures/items/Bow.png diff --git a/src/main/resources/assets/atum/textures/items/ClothScrap.png b/resources/assets/atum/textures/items/ClothScrap.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/ClothScrap.png rename to resources/assets/atum/textures/items/ClothScrap.png diff --git a/src/main/resources/assets/atum/textures/items/Date.png b/resources/assets/atum/textures/items/Date.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/Date.png rename to resources/assets/atum/textures/items/Date.png diff --git a/src/main/resources/assets/atum/textures/items/DesertBoots.png b/resources/assets/atum/textures/items/DesertBoots.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/DesertBoots.png rename to resources/assets/atum/textures/items/DesertBoots.png diff --git a/src/main/resources/assets/atum/textures/items/DesertChest.png b/resources/assets/atum/textures/items/DesertChest.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/DesertChest.png rename to resources/assets/atum/textures/items/DesertChest.png diff --git a/src/main/resources/assets/atum/textures/items/DesertHelmet.png b/resources/assets/atum/textures/items/DesertHelmet.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/DesertHelmet.png rename to resources/assets/atum/textures/items/DesertHelmet.png diff --git a/src/main/resources/assets/atum/textures/items/DesertLegs.png b/resources/assets/atum/textures/items/DesertLegs.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/DesertLegs.png rename to resources/assets/atum/textures/items/DesertLegs.png diff --git a/src/main/resources/assets/atum/textures/items/DiamondBroach.png b/resources/assets/atum/textures/items/DiamondBroach.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/DiamondBroach.png rename to resources/assets/atum/textures/items/DiamondBroach.png diff --git a/src/main/resources/assets/atum/textures/items/DiamondIdol.png b/resources/assets/atum/textures/items/DiamondIdol.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/DiamondIdol.png rename to resources/assets/atum/textures/items/DiamondIdol.png diff --git a/src/main/resources/assets/atum/textures/items/DiamondNecklace.png b/resources/assets/atum/textures/items/DiamondNecklace.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/DiamondNecklace.png rename to resources/assets/atum/textures/items/DiamondNecklace.png diff --git a/src/main/resources/assets/atum/textures/items/DiamondRing.png b/resources/assets/atum/textures/items/DiamondRing.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/DiamondRing.png rename to resources/assets/atum/textures/items/DiamondRing.png diff --git a/src/main/resources/assets/atum/textures/items/DiamondScepter.png b/resources/assets/atum/textures/items/DiamondScepter.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/DiamondScepter.png rename to resources/assets/atum/textures/items/DiamondScepter.png diff --git a/src/main/resources/assets/atum/textures/items/DirtyBroach.png b/resources/assets/atum/textures/items/DirtyBroach.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/DirtyBroach.png rename to resources/assets/atum/textures/items/DirtyBroach.png diff --git a/src/main/resources/assets/atum/textures/items/DirtyIdol.png b/resources/assets/atum/textures/items/DirtyIdol.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/DirtyIdol.png rename to resources/assets/atum/textures/items/DirtyIdol.png diff --git a/src/main/resources/assets/atum/textures/items/DirtyNecklace.png b/resources/assets/atum/textures/items/DirtyNecklace.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/DirtyNecklace.png rename to resources/assets/atum/textures/items/DirtyNecklace.png diff --git a/src/main/resources/assets/atum/textures/items/DirtyRing.png b/resources/assets/atum/textures/items/DirtyRing.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/DirtyRing.png rename to resources/assets/atum/textures/items/DirtyRing.png diff --git a/src/main/resources/assets/atum/textures/items/DirtyScepter.png b/resources/assets/atum/textures/items/DirtyScepter.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/DirtyScepter.png rename to resources/assets/atum/textures/items/DirtyScepter.png diff --git a/src/main/resources/assets/atum/textures/items/Ectoplasm.png b/resources/assets/atum/textures/items/Ectoplasm.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/Ectoplasm.png rename to resources/assets/atum/textures/items/Ectoplasm.png diff --git a/src/main/resources/assets/atum/textures/items/EmeraldBroach.png b/resources/assets/atum/textures/items/EmeraldBroach.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/EmeraldBroach.png rename to resources/assets/atum/textures/items/EmeraldBroach.png diff --git a/src/main/resources/assets/atum/textures/items/EmeraldIdol.png b/resources/assets/atum/textures/items/EmeraldIdol.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/EmeraldIdol.png rename to resources/assets/atum/textures/items/EmeraldIdol.png diff --git a/src/main/resources/assets/atum/textures/items/EmeraldNecklace.png b/resources/assets/atum/textures/items/EmeraldNecklace.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/EmeraldNecklace.png rename to resources/assets/atum/textures/items/EmeraldNecklace.png diff --git a/src/main/resources/assets/atum/textures/items/EmeraldRing.png b/resources/assets/atum/textures/items/EmeraldRing.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/EmeraldRing.png rename to resources/assets/atum/textures/items/EmeraldRing.png diff --git a/src/main/resources/assets/atum/textures/items/EmeraldScepter.png b/resources/assets/atum/textures/items/EmeraldScepter.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/EmeraldScepter.png rename to resources/assets/atum/textures/items/EmeraldScepter.png diff --git a/src/main/resources/assets/atum/textures/items/Fish0.png b/resources/assets/atum/textures/items/Fish0.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/Fish0.png rename to resources/assets/atum/textures/items/Fish0.png diff --git a/src/main/resources/assets/atum/textures/items/Fish1.png b/resources/assets/atum/textures/items/Fish1.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/Fish1.png rename to resources/assets/atum/textures/items/Fish1.png diff --git a/src/main/resources/assets/atum/textures/items/Fish2.png b/resources/assets/atum/textures/items/Fish2.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/Fish2.png rename to resources/assets/atum/textures/items/Fish2.png diff --git a/src/main/resources/assets/atum/textures/items/Fish3.png b/resources/assets/atum/textures/items/Fish3.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/Fish3.png rename to resources/assets/atum/textures/items/Fish3.png diff --git a/src/main/resources/assets/atum/textures/items/Fish4.png b/resources/assets/atum/textures/items/Fish4.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/Fish4.png rename to resources/assets/atum/textures/items/Fish4.png diff --git a/src/main/resources/assets/atum/textures/items/FlaxItem.png b/resources/assets/atum/textures/items/FlaxItem.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/FlaxItem.png rename to resources/assets/atum/textures/items/FlaxItem.png diff --git a/src/main/resources/assets/atum/textures/items/FlaxSeeds.png b/resources/assets/atum/textures/items/FlaxSeeds.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/FlaxSeeds.png rename to resources/assets/atum/textures/items/FlaxSeeds.png diff --git a/src/main/resources/assets/atum/textures/items/GebsBlessing.png b/resources/assets/atum/textures/items/GebsBlessing.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/GebsBlessing.png rename to resources/assets/atum/textures/items/GebsBlessing.png diff --git a/src/main/resources/assets/atum/textures/items/GebsSolidarity.png b/resources/assets/atum/textures/items/GebsSolidarity.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/GebsSolidarity.png rename to resources/assets/atum/textures/items/GebsSolidarity.png diff --git a/src/main/resources/assets/atum/textures/items/GoldBroach.png b/resources/assets/atum/textures/items/GoldBroach.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/GoldBroach.png rename to resources/assets/atum/textures/items/GoldBroach.png diff --git a/src/main/resources/assets/atum/textures/items/GoldIdol.png b/resources/assets/atum/textures/items/GoldIdol.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/GoldIdol.png rename to resources/assets/atum/textures/items/GoldIdol.png diff --git a/src/main/resources/assets/atum/textures/items/GoldNecklace.png b/resources/assets/atum/textures/items/GoldNecklace.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/GoldNecklace.png rename to resources/assets/atum/textures/items/GoldNecklace.png diff --git a/src/main/resources/assets/atum/textures/items/GoldRing.png b/resources/assets/atum/textures/items/GoldRing.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/GoldRing.png rename to resources/assets/atum/textures/items/GoldRing.png diff --git a/src/main/resources/assets/atum/textures/items/GoldScepter.png b/resources/assets/atum/textures/items/GoldScepter.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/GoldScepter.png rename to resources/assets/atum/textures/items/GoldScepter.png diff --git a/src/main/resources/assets/atum/textures/items/Greatsword.png b/resources/assets/atum/textures/items/Greatsword.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/Greatsword.png rename to resources/assets/atum/textures/items/Greatsword.png diff --git a/src/main/resources/assets/atum/textures/items/HedetetsSting.png b/resources/assets/atum/textures/items/HedetetsSting.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/HedetetsSting.png rename to resources/assets/atum/textures/items/HedetetsSting.png diff --git a/src/main/resources/assets/atum/textures/items/HedetetsVenom.png b/resources/assets/atum/textures/items/HedetetsVenom.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/HedetetsVenom.png rename to resources/assets/atum/textures/items/HedetetsVenom.png diff --git a/src/main/resources/assets/atum/textures/items/HedetetsVenom_pull_0.png b/resources/assets/atum/textures/items/HedetetsVenom_pull_0.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/HedetetsVenom_pull_0.png rename to resources/assets/atum/textures/items/HedetetsVenom_pull_0.png diff --git a/src/main/resources/assets/atum/textures/items/HedetetsVenom_pull_1.png b/resources/assets/atum/textures/items/HedetetsVenom_pull_1.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/HedetetsVenom_pull_1.png rename to resources/assets/atum/textures/items/HedetetsVenom_pull_1.png diff --git a/src/main/resources/assets/atum/textures/items/HedetetsVenom_pull_2.png b/resources/assets/atum/textures/items/HedetetsVenom_pull_2.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/HedetetsVenom_pull_2.png rename to resources/assets/atum/textures/items/HedetetsVenom_pull_2.png diff --git a/src/main/resources/assets/atum/textures/items/HorusFlight.png b/resources/assets/atum/textures/items/HorusFlight.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/HorusFlight.png rename to resources/assets/atum/textures/items/HorusFlight.png diff --git a/src/main/resources/assets/atum/textures/items/HorusSoaring.png b/resources/assets/atum/textures/items/HorusSoaring.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/HorusSoaring.png rename to resources/assets/atum/textures/items/HorusSoaring.png diff --git a/src/main/resources/assets/atum/textures/items/HorusSoaring_pull_0.png b/resources/assets/atum/textures/items/HorusSoaring_pull_0.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/HorusSoaring_pull_0.png rename to resources/assets/atum/textures/items/HorusSoaring_pull_0.png diff --git a/src/main/resources/assets/atum/textures/items/HorusSoaring_pull_1.png b/resources/assets/atum/textures/items/HorusSoaring_pull_1.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/HorusSoaring_pull_1.png rename to resources/assets/atum/textures/items/HorusSoaring_pull_1.png diff --git a/src/main/resources/assets/atum/textures/items/HorusSoaring_pull_2.png b/resources/assets/atum/textures/items/HorusSoaring_pull_2.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/HorusSoaring_pull_2.png rename to resources/assets/atum/textures/items/HorusSoaring_pull_2.png diff --git a/src/main/resources/assets/atum/textures/items/IsisEmbrace.png b/resources/assets/atum/textures/items/IsisEmbrace.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/IsisEmbrace.png rename to resources/assets/atum/textures/items/IsisEmbrace.png diff --git a/src/main/resources/assets/atum/textures/items/IsisHealing.png b/resources/assets/atum/textures/items/IsisHealing.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/IsisHealing.png rename to resources/assets/atum/textures/items/IsisHealing.png diff --git a/src/main/resources/assets/atum/textures/items/LimestoneAxe.png b/resources/assets/atum/textures/items/LimestoneAxe.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/LimestoneAxe.png rename to resources/assets/atum/textures/items/LimestoneAxe.png diff --git a/src/main/resources/assets/atum/textures/items/LimestoneHoe.png b/resources/assets/atum/textures/items/LimestoneHoe.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/LimestoneHoe.png rename to resources/assets/atum/textures/items/LimestoneHoe.png diff --git a/src/main/resources/assets/atum/textures/items/LimestonePickaxe.png b/resources/assets/atum/textures/items/LimestonePickaxe.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/LimestonePickaxe.png rename to resources/assets/atum/textures/items/LimestonePickaxe.png diff --git a/src/main/resources/assets/atum/textures/items/LimestoneShovel.png b/resources/assets/atum/textures/items/LimestoneShovel.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/LimestoneShovel.png rename to resources/assets/atum/textures/items/LimestoneShovel.png diff --git a/src/main/resources/assets/atum/textures/items/LimestoneSword.png b/resources/assets/atum/textures/items/LimestoneSword.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/LimestoneSword.png rename to resources/assets/atum/textures/items/LimestoneSword.png diff --git a/src/main/resources/assets/atum/textures/items/Linen.png b/resources/assets/atum/textures/items/Linen.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/Linen.png rename to resources/assets/atum/textures/items/Linen.png diff --git a/src/main/resources/assets/atum/textures/items/MaatsBalance.png b/resources/assets/atum/textures/items/MaatsBalance.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/MaatsBalance.png rename to resources/assets/atum/textures/items/MaatsBalance.png diff --git a/src/main/resources/assets/atum/textures/items/MafdetsQuickness.png b/resources/assets/atum/textures/items/MafdetsQuickness.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/MafdetsQuickness.png rename to resources/assets/atum/textures/items/MafdetsQuickness.png diff --git a/src/main/resources/assets/atum/textures/items/MnevisHorns.png b/resources/assets/atum/textures/items/MnevisHorns.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/MnevisHorns.png rename to resources/assets/atum/textures/items/MnevisHorns.png diff --git a/src/main/resources/assets/atum/textures/items/MonthusBlast.png b/resources/assets/atum/textures/items/MonthusBlast.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/MonthusBlast.png rename to resources/assets/atum/textures/items/MonthusBlast.png diff --git a/src/main/resources/assets/atum/textures/items/MonthusBlast_pull_0.png b/resources/assets/atum/textures/items/MonthusBlast_pull_0.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/MonthusBlast_pull_0.png rename to resources/assets/atum/textures/items/MonthusBlast_pull_0.png diff --git a/src/main/resources/assets/atum/textures/items/MonthusBlast_pull_1.png b/resources/assets/atum/textures/items/MonthusBlast_pull_1.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/MonthusBlast_pull_1.png rename to resources/assets/atum/textures/items/MonthusBlast_pull_1.png diff --git a/src/main/resources/assets/atum/textures/items/MonthusBlast_pull_2.png b/resources/assets/atum/textures/items/MonthusBlast_pull_2.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/MonthusBlast_pull_2.png rename to resources/assets/atum/textures/items/MonthusBlast_pull_2.png diff --git a/src/main/resources/assets/atum/textures/items/MonthusStrike.png b/resources/assets/atum/textures/items/MonthusStrike.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/MonthusStrike.png rename to resources/assets/atum/textures/items/MonthusStrike.png diff --git a/src/main/resources/assets/atum/textures/items/MummyBoots.png b/resources/assets/atum/textures/items/MummyBoots.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/MummyBoots.png rename to resources/assets/atum/textures/items/MummyBoots.png diff --git a/src/main/resources/assets/atum/textures/items/MummyChest.png b/resources/assets/atum/textures/items/MummyChest.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/MummyChest.png rename to resources/assets/atum/textures/items/MummyChest.png diff --git a/src/main/resources/assets/atum/textures/items/MummyHelmet.png b/resources/assets/atum/textures/items/MummyHelmet.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/MummyHelmet.png rename to resources/assets/atum/textures/items/MummyHelmet.png diff --git a/src/main/resources/assets/atum/textures/items/MummyLegs.png b/resources/assets/atum/textures/items/MummyLegs.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/MummyLegs.png rename to resources/assets/atum/textures/items/MummyLegs.png diff --git a/src/main/resources/assets/atum/textures/items/NeithsAudacity.png b/resources/assets/atum/textures/items/NeithsAudacity.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/NeithsAudacity.png rename to resources/assets/atum/textures/items/NeithsAudacity.png diff --git a/src/main/resources/assets/atum/textures/items/NusFlux.png b/resources/assets/atum/textures/items/NusFlux.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/NusFlux.png rename to resources/assets/atum/textures/items/NusFlux.png diff --git a/src/main/resources/assets/atum/textures/items/NutsAgility.png b/resources/assets/atum/textures/items/NutsAgility.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/NutsAgility.png rename to resources/assets/atum/textures/items/NutsAgility.png diff --git a/src/main/resources/assets/atum/textures/items/NutsCall.png b/resources/assets/atum/textures/items/NutsCall.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/NutsCall.png rename to resources/assets/atum/textures/items/NutsCall.png diff --git a/src/main/resources/assets/atum/textures/items/OsirisWill.png b/resources/assets/atum/textures/items/OsirisWill.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/OsirisWill.png rename to resources/assets/atum/textures/items/OsirisWill.png diff --git a/src/main/resources/assets/atum/textures/items/PapyrusPlantItem.png b/resources/assets/atum/textures/items/PapyrusPlantItem.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/PapyrusPlantItem.png rename to resources/assets/atum/textures/items/PapyrusPlantItem.png diff --git a/src/main/resources/assets/atum/textures/items/PtahsDecadence.png b/resources/assets/atum/textures/items/PtahsDecadence.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/PtahsDecadence.png rename to resources/assets/atum/textures/items/PtahsDecadence.png diff --git a/src/main/resources/assets/atum/textures/items/PtahsDestruction.png b/resources/assets/atum/textures/items/PtahsDestruction.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/PtahsDestruction.png rename to resources/assets/atum/textures/items/PtahsDestruction.png diff --git a/src/main/resources/assets/atum/textures/items/RasGlory.png b/resources/assets/atum/textures/items/RasGlory.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/RasGlory.png rename to resources/assets/atum/textures/items/RasGlory.png diff --git a/src/main/resources/assets/atum/textures/items/RubyBroach.png b/resources/assets/atum/textures/items/RubyBroach.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/RubyBroach.png rename to resources/assets/atum/textures/items/RubyBroach.png diff --git a/src/main/resources/assets/atum/textures/items/RubyIdol.png b/resources/assets/atum/textures/items/RubyIdol.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/RubyIdol.png rename to resources/assets/atum/textures/items/RubyIdol.png diff --git a/src/main/resources/assets/atum/textures/items/RubyNecklace.png b/resources/assets/atum/textures/items/RubyNecklace.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/RubyNecklace.png rename to resources/assets/atum/textures/items/RubyNecklace.png diff --git a/src/main/resources/assets/atum/textures/items/RubyRing.png b/resources/assets/atum/textures/items/RubyRing.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/RubyRing.png rename to resources/assets/atum/textures/items/RubyRing.png diff --git a/src/main/resources/assets/atum/textures/items/RubyScepter.png b/resources/assets/atum/textures/items/RubyScepter.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/RubyScepter.png rename to resources/assets/atum/textures/items/RubyScepter.png diff --git a/src/main/resources/assets/atum/textures/items/SapphireBroach.png b/resources/assets/atum/textures/items/SapphireBroach.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/SapphireBroach.png rename to resources/assets/atum/textures/items/SapphireBroach.png diff --git a/src/main/resources/assets/atum/textures/items/SapphireIdol.png b/resources/assets/atum/textures/items/SapphireIdol.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/SapphireIdol.png rename to resources/assets/atum/textures/items/SapphireIdol.png diff --git a/src/main/resources/assets/atum/textures/items/SapphireNecklace.png b/resources/assets/atum/textures/items/SapphireNecklace.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/SapphireNecklace.png rename to resources/assets/atum/textures/items/SapphireNecklace.png diff --git a/src/main/resources/assets/atum/textures/items/SapphireRing.png b/resources/assets/atum/textures/items/SapphireRing.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/SapphireRing.png rename to resources/assets/atum/textures/items/SapphireRing.png diff --git a/src/main/resources/assets/atum/textures/items/SapphireScepter.png b/resources/assets/atum/textures/items/SapphireScepter.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/SapphireScepter.png rename to resources/assets/atum/textures/items/SapphireScepter.png diff --git a/src/main/resources/assets/atum/textures/items/Scarab.png b/resources/assets/atum/textures/items/Scarab.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/Scarab.png rename to resources/assets/atum/textures/items/Scarab.png diff --git a/src/main/resources/assets/atum/textures/items/Scepter.png b/resources/assets/atum/textures/items/Scepter.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/Scepter.png rename to resources/assets/atum/textures/items/Scepter.png diff --git a/src/main/resources/assets/atum/textures/items/Scimitar.png b/resources/assets/atum/textures/items/Scimitar.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/Scimitar.png rename to resources/assets/atum/textures/items/Scimitar.png diff --git a/src/main/resources/assets/atum/textures/items/Scroll.png b/resources/assets/atum/textures/items/Scroll.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/Scroll.png rename to resources/assets/atum/textures/items/Scroll.png diff --git a/src/main/resources/assets/atum/textures/items/SekhmetsWrath.png b/resources/assets/atum/textures/items/SekhmetsWrath.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/SekhmetsWrath.png rename to resources/assets/atum/textures/items/SekhmetsWrath.png diff --git a/src/main/resources/assets/atum/textures/items/ShusBreath.png b/resources/assets/atum/textures/items/ShusBreath.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/ShusBreath.png rename to resources/assets/atum/textures/items/ShusBreath.png diff --git a/src/main/resources/assets/atum/textures/items/ShusBreath_pull_0.png b/resources/assets/atum/textures/items/ShusBreath_pull_0.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/ShusBreath_pull_0.png rename to resources/assets/atum/textures/items/ShusBreath_pull_0.png diff --git a/src/main/resources/assets/atum/textures/items/ShusBreath_pull_1.png b/resources/assets/atum/textures/items/ShusBreath_pull_1.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/ShusBreath_pull_1.png rename to resources/assets/atum/textures/items/ShusBreath_pull_1.png diff --git a/src/main/resources/assets/atum/textures/items/ShusBreath_pull_2.png b/resources/assets/atum/textures/items/ShusBreath_pull_2.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/ShusBreath_pull_2.png rename to resources/assets/atum/textures/items/ShusBreath_pull_2.png diff --git a/src/main/resources/assets/atum/textures/items/SilverBroach.png b/resources/assets/atum/textures/items/SilverBroach.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/SilverBroach.png rename to resources/assets/atum/textures/items/SilverBroach.png diff --git a/src/main/resources/assets/atum/textures/items/SilverIdol.png b/resources/assets/atum/textures/items/SilverIdol.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/SilverIdol.png rename to resources/assets/atum/textures/items/SilverIdol.png diff --git a/src/main/resources/assets/atum/textures/items/SilverNecklace.png b/resources/assets/atum/textures/items/SilverNecklace.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/SilverNecklace.png rename to resources/assets/atum/textures/items/SilverNecklace.png diff --git a/src/main/resources/assets/atum/textures/items/SilverRing.png b/resources/assets/atum/textures/items/SilverRing.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/SilverRing.png rename to resources/assets/atum/textures/items/SilverRing.png diff --git a/src/main/resources/assets/atum/textures/items/SilverScepter.png b/resources/assets/atum/textures/items/SilverScepter.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/SilverScepter.png rename to resources/assets/atum/textures/items/SilverScepter.png diff --git a/src/main/resources/assets/atum/textures/items/SobeksRage.png b/resources/assets/atum/textures/items/SobeksRage.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/SobeksRage.png rename to resources/assets/atum/textures/items/SobeksRage.png diff --git a/src/main/resources/assets/atum/textures/items/StoneChunk.png b/resources/assets/atum/textures/items/StoneChunk.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/StoneChunk.png rename to resources/assets/atum/textures/items/StoneChunk.png diff --git a/src/main/resources/assets/atum/textures/items/StoneSoldierSword.png b/resources/assets/atum/textures/items/StoneSoldierSword.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/StoneSoldierSword.png rename to resources/assets/atum/textures/items/StoneSoldierSword.png diff --git a/src/main/resources/assets/atum/textures/items/WandererBoots.png b/resources/assets/atum/textures/items/WandererBoots.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/WandererBoots.png rename to resources/assets/atum/textures/items/WandererBoots.png diff --git a/src/main/resources/assets/atum/textures/items/WandererChest.png b/resources/assets/atum/textures/items/WandererChest.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/WandererChest.png rename to resources/assets/atum/textures/items/WandererChest.png diff --git a/src/main/resources/assets/atum/textures/items/WandererHelmet.png b/resources/assets/atum/textures/items/WandererHelmet.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/WandererHelmet.png rename to resources/assets/atum/textures/items/WandererHelmet.png diff --git a/src/main/resources/assets/atum/textures/items/WandererLegs.png b/resources/assets/atum/textures/items/WandererLegs.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/WandererLegs.png rename to resources/assets/atum/textures/items/WandererLegs.png diff --git a/src/main/resources/assets/atum/textures/items/WolfPelt.png b/resources/assets/atum/textures/items/WolfPelt.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/WolfPelt.png rename to resources/assets/atum/textures/items/WolfPelt.png diff --git a/src/main/resources/assets/atum/textures/items/atens_pull_0.png b/resources/assets/atum/textures/items/atens_pull_0.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/atens_pull_0.png rename to resources/assets/atum/textures/items/atens_pull_0.png diff --git a/src/main/resources/assets/atum/textures/items/atens_pull_1.png b/resources/assets/atum/textures/items/atens_pull_1.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/atens_pull_1.png rename to resources/assets/atum/textures/items/atens_pull_1.png diff --git a/src/main/resources/assets/atum/textures/items/atens_pull_2.png b/resources/assets/atum/textures/items/atens_pull_2.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/atens_pull_2.png rename to resources/assets/atum/textures/items/atens_pull_2.png diff --git a/src/main/resources/assets/atum/textures/items/bow_pull_0.png b/resources/assets/atum/textures/items/bow_pull_0.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/bow_pull_0.png rename to resources/assets/atum/textures/items/bow_pull_0.png diff --git a/src/main/resources/assets/atum/textures/items/bow_pull_1.png b/resources/assets/atum/textures/items/bow_pull_1.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/bow_pull_1.png rename to resources/assets/atum/textures/items/bow_pull_1.png diff --git a/src/main/resources/assets/atum/textures/items/bow_pull_2.png b/resources/assets/atum/textures/items/bow_pull_2.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/bow_pull_2.png rename to resources/assets/atum/textures/items/bow_pull_2.png diff --git a/src/main/resources/assets/atum/textures/items/neiths_pull_0.png b/resources/assets/atum/textures/items/neiths_pull_0.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/neiths_pull_0.png rename to resources/assets/atum/textures/items/neiths_pull_0.png diff --git a/src/main/resources/assets/atum/textures/items/neiths_pull_1.png b/resources/assets/atum/textures/items/neiths_pull_1.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/neiths_pull_1.png rename to resources/assets/atum/textures/items/neiths_pull_1.png diff --git a/src/main/resources/assets/atum/textures/items/neiths_pull_2.png b/resources/assets/atum/textures/items/neiths_pull_2.png similarity index 100% rename from src/main/resources/assets/atum/textures/items/neiths_pull_2.png rename to resources/assets/atum/textures/items/neiths_pull_2.png diff --git a/src/main/resources/assets/atum/textures/particles/Sand.png b/resources/assets/atum/textures/particles/Sand.png similarity index 100% rename from src/main/resources/assets/atum/textures/particles/Sand.png rename to resources/assets/atum/textures/particles/Sand.png diff --git a/src/main/resources/assets/atum/textures/projectiles/arrows_double.png b/resources/assets/atum/textures/projectiles/arrows_double.png similarity index 100% rename from src/main/resources/assets/atum/textures/projectiles/arrows_double.png rename to resources/assets/atum/textures/projectiles/arrows_double.png diff --git a/src/main/resources/assets/atum/textures/projectiles/arrows_exploding.png b/resources/assets/atum/textures/projectiles/arrows_exploding.png similarity index 100% rename from src/main/resources/assets/atum/textures/projectiles/arrows_exploding.png rename to resources/assets/atum/textures/projectiles/arrows_exploding.png diff --git a/src/main/resources/assets/atum/textures/projectiles/arrows_fire.png b/resources/assets/atum/textures/projectiles/arrows_fire.png similarity index 100% rename from src/main/resources/assets/atum/textures/projectiles/arrows_fire.png rename to resources/assets/atum/textures/projectiles/arrows_fire.png diff --git a/src/main/resources/assets/atum/textures/projectiles/arrows_poison.png b/resources/assets/atum/textures/projectiles/arrows_poison.png similarity index 100% rename from src/main/resources/assets/atum/textures/projectiles/arrows_poison.png rename to resources/assets/atum/textures/projectiles/arrows_poison.png diff --git a/src/main/resources/assets/atum/textures/projectiles/arrows_quickdraw.png b/resources/assets/atum/textures/projectiles/arrows_quickdraw.png similarity index 100% rename from src/main/resources/assets/atum/textures/projectiles/arrows_quickdraw.png rename to resources/assets/atum/textures/projectiles/arrows_quickdraw.png diff --git a/src/main/resources/assets/atum/textures/projectiles/arrows_velocity.png b/resources/assets/atum/textures/projectiles/arrows_velocity.png similarity index 100% rename from src/main/resources/assets/atum/textures/projectiles/arrows_velocity.png rename to resources/assets/atum/textures/projectiles/arrows_velocity.png diff --git a/src/main/resources/assets/atum/textures/projectiles/nutscall.png b/resources/assets/atum/textures/projectiles/nutscall.png similarity index 100% rename from src/main/resources/assets/atum/textures/projectiles/nutscall.png rename to resources/assets/atum/textures/projectiles/nutscall.png diff --git a/src/main/java/com/teammetallurgy/atum/Atum.java b/src/com/teammetallurgy/atum/Atum.java similarity index 86% rename from src/main/java/com/teammetallurgy/atum/Atum.java rename to src/com/teammetallurgy/atum/Atum.java index 090a0ff..6c2e0f4 100644 --- a/src/main/java/com/teammetallurgy/atum/Atum.java +++ b/src/com/teammetallurgy/atum/Atum.java @@ -4,9 +4,9 @@ import net.minecraft.creativetab.CreativeTabs; -import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.Blocks; import com.teammetallurgy.atum.entity.Entity; -import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.items.Items; import com.teammetallurgy.atum.lib.handler.CraftingHandler; import com.teammetallurgy.atum.lib.proxy.CommonProxy; import com.teammetallurgy.atum.world.World; @@ -18,8 +18,10 @@ import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import cpw.mods.fml.common.network.NetworkMod; @Mod(modid = Atum.MODID, name = Atum.NAME, version = Atum.VERSION) +@NetworkMod(clientSideRequired = true, serverSideRequired = false) public class Atum { public static final String MODID = "Atum"; public static final String NAME = "Atum"; @@ -31,8 +33,7 @@ public class Atum { @SidedProxy(clientSide = "com.teammetallurgy.atum.lib.proxy.ClientProxy", serverSide = "com.teammetallurgy.atum.lib.proxy.CommonProxy") public static CommonProxy proxy; - public static final Logger LOGGER = Logger.getLogger(Atum.class - .getSimpleName()); + public static final Logger LOGGER = Logger.getLogger(Atum.class.getSimpleName()); public static AtumConfig config; public static CreativeTabs creativeTab = new AtumCreativeTab(); @@ -47,14 +48,14 @@ public void preInit(FMLPreInitializationEvent event) { @EventHandler public void init(FMLInitializationEvent event) { LOGGER.info("Block Init"); - AtumBlocks.INSTANCE.registerBlocks(); + Blocks.INSTANCE.registerBlocks(); LOGGER.info("Item Init"); - AtumItems.INSTANCE.registerItems(); - + Items.INSTANCE.registerItems(); + LOGGER.info("Register Crafting Recipes"); CraftingHandler.INSTANCE.register(); - + LOGGER.info("World Init"); World.INSTANCE.register(); @@ -63,12 +64,13 @@ public void init(FMLInitializationEvent event) { LOGGER.info("Loot Init"); AtumLoot.INSTANCE.register(); - + LOGGER.info("Proxy Init"); proxy.init(); proxy.initRenders(); proxy.initTiles(); - + + } @EventHandler diff --git a/src/main/java/com/teammetallurgy/atum/AtumConfig.java b/src/com/teammetallurgy/atum/AtumConfig.java similarity index 99% rename from src/main/java/com/teammetallurgy/atum/AtumConfig.java rename to src/com/teammetallurgy/atum/AtumConfig.java index 5508f4b..f4cba0a 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumConfig.java +++ b/src/com/teammetallurgy/atum/AtumConfig.java @@ -2,7 +2,7 @@ import java.io.File; -import net.minecraftforge.common.config.Configuration; +import net.minecraftforge.common.Configuration; public class AtumConfig { diff --git a/src/main/java/com/teammetallurgy/atum/AtumCreativeTab.java b/src/com/teammetallurgy/atum/AtumCreativeTab.java similarity index 81% rename from src/main/java/com/teammetallurgy/atum/AtumCreativeTab.java rename to src/com/teammetallurgy/atum/AtumCreativeTab.java index 6142eb3..53df21e 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumCreativeTab.java +++ b/src/com/teammetallurgy/atum/AtumCreativeTab.java @@ -1,10 +1,11 @@ package com.teammetallurgy.atum; +import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.artifacts.ItemSpear; + import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; -import com.teammetallurgy.atum.items.AtumItems; - public class AtumCreativeTab extends CreativeTabs { public AtumCreativeTab() { @@ -28,6 +29,6 @@ public boolean hasSearchBar() { @Override public Item getTabIconItem() { - return AtumItems.ITEM_SCARAB; + return Items.ITEM_SCARAB; } } diff --git a/src/main/java/com/teammetallurgy/atum/AtumFish.java b/src/com/teammetallurgy/atum/AtumFish.java similarity index 50% rename from src/main/java/com/teammetallurgy/atum/AtumFish.java rename to src/com/teammetallurgy/atum/AtumFish.java index dc0ad03..64db5b4 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumFish.java +++ b/src/com/teammetallurgy/atum/AtumFish.java @@ -1,9 +1,9 @@ package com.teammetallurgy.atum; -import net.minecraft.init.Items; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.items.Items; public class AtumFish { private static AtumWeightedLootSet fish; @@ -11,11 +11,11 @@ public class AtumFish { static { fish = new AtumWeightedLootSet(); - AtumFish.addFish(new ItemStack(Items.fish, 1, 0), 100); - AtumFish.addFish(new ItemStack(AtumItems.fish, 1, 0), 30); - AtumFish.addFish(new ItemStack(AtumItems.fish, 1, 1), 5); - AtumFish.addFish(new ItemStack(AtumItems.fish, 1, 2), 50); - AtumFish.addFish(new ItemStack(AtumItems.fish, 1, 3), 50); + AtumFish.addFish(new ItemStack(Item.fishRaw, 1, 0), 100); + AtumFish.addFish(new ItemStack(Items.fish, 1, 0), 30); + AtumFish.addFish(new ItemStack(Items.fish, 1, 1), 5); + AtumFish.addFish(new ItemStack(Items.fish, 1, 2), 50); + AtumFish.addFish(new ItemStack(Items.fish, 1, 3), 50); } public static void addFish(ItemStack fishStack, int probability) { diff --git a/src/main/java/com/teammetallurgy/atum/AtumIDS.java b/src/com/teammetallurgy/atum/AtumIDS.java similarity index 100% rename from src/main/java/com/teammetallurgy/atum/AtumIDS.java rename to src/com/teammetallurgy/atum/AtumIDS.java diff --git a/src/com/teammetallurgy/atum/AtumLoot.java b/src/com/teammetallurgy/atum/AtumLoot.java new file mode 100644 index 0000000..9751ec5 --- /dev/null +++ b/src/com/teammetallurgy/atum/AtumLoot.java @@ -0,0 +1,122 @@ +package com.teammetallurgy.atum; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +import net.minecraft.inventory.IInventory; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.items.ItemLoot; +import com.teammetallurgy.atum.items.Items; + +public enum AtumLoot { + INSTANCE; + + public static List artifacts; + public static AtumWeightedLootSet goodLoot; + public static AtumWeightedLootSet junkLoot; + + public void register() { + artifacts = new ArrayList(); + goodLoot = new AtumWeightedLootSet(); + junkLoot = new AtumWeightedLootSet(); + + ItemStack stack = new ItemStack(Items.ptahsPick); + artifacts.add(stack); + + artifacts.add(new ItemStack(Items.sobeksRage)); + artifacts.add(new ItemStack(Items.osirisWill)); + artifacts.add(new ItemStack(Items.akersToil)); + artifacts.add(new ItemStack(Items.gebsBlessing)); + artifacts.add(new ItemStack(Items.atensFury)); + artifacts.add(new ItemStack(Items.rasGlory)); + artifacts.add(new ItemStack(Items.sekhmetsWrath)); + artifacts.add(new ItemStack(Items.nutsAgility)); + artifacts.add(new ItemStack(Items.horusFlight)); + artifacts.add(new ItemStack(Items.monthusStrike)); + artifacts.add(new ItemStack(Items.neithsAudacity)); + artifacts.add(new ItemStack(Items.hedetetsSting)); + artifacts.add(new ItemStack(Items.nusFlux)); + artifacts.add(new ItemStack(Items.anhursMight)); + artifacts.add(new ItemStack(Items.horusSoaring)); + artifacts.add(new ItemStack(Items.shusBreath)); + artifacts.add(new ItemStack(Items.hedetetsVenom)); + artifacts.add(new ItemStack(Items.monthusBlast)); + artifacts.add(new ItemStack(Items.mnevisHorns)); + artifacts.add(new ItemStack(Items.isisEmbrace)); + artifacts.add(new ItemStack(Items.maatsBalance)); + artifacts.add(new ItemStack(Items.nutsCall)); + artifacts.add(new ItemStack(Items.ptahsDestruction)); + artifacts.add(new ItemStack(Items.anuketsBounty)); + artifacts.add(new ItemStack(Items.anubisMercy)); + artifacts.add(new ItemStack(Items.amunetsHomecoming)); + artifacts.add(new ItemStack(Items.isisHealing)); + artifacts.add(new ItemStack(Items.mafdetsQuickness)); + + // Junk Loot Stuff + junkLoot.addLoot(new ItemStack(Items.flaxSeeds), 5, 1, 2); + junkLoot.addLoot(new ItemStack(Item.stick), 5, 1, 5); + junkLoot.addLoot(new ItemStack(Items.ITEM_DATE), 5, 1, 2); + junkLoot.addLoot(new ItemStack(Item.bone), 10, 1, 3); + junkLoot.addLoot(new ItemStack(Item.bread), 10, 1, 4); + junkLoot.addLoot(new ItemStack(Blocks.BLOCK_SAND), 20, 1, 64); + junkLoot.addLoot(new ItemStack(Items.ITEM_SCIMITAR), 5, 1, 1); + junkLoot.addLoot(new ItemStack(Item.seeds), 5, 1, 3); + junkLoot.addLoot(new ItemStack(Item.leather), 5, 1, 5); + junkLoot.addLoot(new ItemStack(Item.dyePowder, 1, 3), 5, 1, 3); + junkLoot.addLoot(new ItemStack(Item.saddle), 5, 1, 1); + + // Good Loot + goodLoot.addLoot(new ItemStack(Item.ingotIron), 38, 1, 3); + goodLoot.addLoot(new ItemStack(Item.ingotGold), 20, 1, 3); + goodLoot.addLoot(new ItemStack(Item.diamond), 4, 1, 2); + goodLoot.addLoot(new ItemStack(Item.enchantedBook, 1, 1), 5, 1, 1); + ItemStack stick = new ItemStack(Item.stick); + stick.setItemName("Amazing Stick"); + goodLoot.addLoot(stick, 1, 1, 1); + } + + public static void addArtifact(ItemStack stack) { + artifacts.add(stack); + } + + public static ItemStack getRandomLoot() { + return artifacts.get(0); + } + + public static ItemStack getRandomArtifact() { + + int i = (new Random()).nextInt(artifacts.size()); + return artifacts.get(i).copy(); + } + + public static void fillChest(IInventory inventory, int multiplier, float quality) { + if(inventory == null) { + System.out.println("Error trying to fill empty chest"); + return; + } + + Random rand = new Random(); + for(int i = 0; i < multiplier; i++) { + int slot = rand.nextInt(inventory.getSizeInventory()); + float roll = rand.nextFloat(); + ItemStack stack = new ItemStack(0, 0, 0); + if(rand.nextFloat() < quality) { + if(roll > 0.20) { + stack = goodLoot.getRandomLoot(); + } else if(roll > 0.005) { + stack = ItemLoot.getRandomLoot(rand, true); + } else { + int randomArtifactID = rand.nextInt(artifacts.size()); + stack = artifacts.get(randomArtifactID).copy(); + } + } else { + stack = junkLoot.getRandomLoot(); + } + inventory.setInventorySlotContents(slot, stack); + } + } +} diff --git a/src/main/java/com/teammetallurgy/atum/AtumWeightedLootSet.java b/src/com/teammetallurgy/atum/AtumWeightedLootSet.java similarity index 95% rename from src/main/java/com/teammetallurgy/atum/AtumWeightedLootSet.java rename to src/com/teammetallurgy/atum/AtumWeightedLootSet.java index 913e0a2..4917866 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumWeightedLootSet.java +++ b/src/com/teammetallurgy/atum/AtumWeightedLootSet.java @@ -8,7 +8,7 @@ import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentData; -import net.minecraft.init.Items; +import net.minecraft.item.Item; import net.minecraft.item.ItemEnchantedBook; import net.minecraft.item.ItemStack; import net.minecraft.util.MathHelper; @@ -53,7 +53,7 @@ public ItemStack getRandomLoot() { int max = lootMax.get(key); int amount = rand.nextInt(max - min + 1) + min; stack.stackSize = amount; - if(stack == Items.enchanted_book) { + if(stack.itemID == Item.enchantedBook.itemID) { Enchantment enchantment = Enchantment.enchantmentsBookList[rand.nextInt(Enchantment.enchantmentsBookList.length)]; int l = MathHelper.getRandomIntegerInRange(rand, enchantment.getMinLevel(), enchantment.getMaxLevel()); ((ItemEnchantedBook) stack.getItem()).addEnchantment(stack, new EnchantmentData(enchantment, l)); diff --git a/src/main/java/com/teammetallurgy/atum/LocalizationHelper.java b/src/com/teammetallurgy/atum/LocalizationHelper.java similarity index 100% rename from src/main/java/com/teammetallurgy/atum/LocalizationHelper.java rename to src/com/teammetallurgy/atum/LocalizationHelper.java diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtum.java b/src/com/teammetallurgy/atum/blocks/BlockAtum.java similarity index 69% rename from src/main/java/com/teammetallurgy/atum/blocks/BlockAtum.java rename to src/com/teammetallurgy/atum/blocks/BlockAtum.java index c60147b..10bc855 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtum.java +++ b/src/com/teammetallurgy/atum/blocks/BlockAtum.java @@ -9,7 +9,7 @@ public class BlockAtum extends Block { boolean isBreak; public BlockAtum(int par1, String unlocalisedName) { - super(Material.rock); + super(par1, Material.rock); this.setUnlocalizedName(unlocalisedName); } @@ -19,8 +19,7 @@ public Block setNonBreak() { } @Override - public boolean removedByPlayer(World world, EntityPlayer player, int x, - int y, int z) { - return isBreak ? false : super.removedByPlayer(world, player, x, y, z); + public boolean removeBlockByPlayer(World world, EntityPlayer player, int x, int y, int z) { + return isBreak ? false : super.removeBlockByPlayer(world, player, x, y, z); } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumGlass.java b/src/com/teammetallurgy/atum/blocks/BlockAtumGlass.java similarity index 100% rename from src/main/java/com/teammetallurgy/atum/blocks/BlockAtumGlass.java rename to src/com/teammetallurgy/atum/blocks/BlockAtumGlass.java diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumOres.java b/src/com/teammetallurgy/atum/blocks/BlockAtumOres.java similarity index 100% rename from src/main/java/com/teammetallurgy/atum/blocks/BlockAtumOres.java rename to src/com/teammetallurgy/atum/blocks/BlockAtumOres.java diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPane.java b/src/com/teammetallurgy/atum/blocks/BlockAtumPane.java similarity index 100% rename from src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPane.java rename to src/com/teammetallurgy/atum/blocks/BlockAtumPane.java diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockBurningTrap.java b/src/com/teammetallurgy/atum/blocks/BlockBurningTrap.java similarity index 89% rename from src/main/java/com/teammetallurgy/atum/blocks/BlockBurningTrap.java rename to src/com/teammetallurgy/atum/blocks/BlockBurningTrap.java index be4f6e6..e24be79 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockBurningTrap.java +++ b/src/com/teammetallurgy/atum/blocks/BlockBurningTrap.java @@ -2,23 +2,24 @@ import java.util.Random; -import javax.swing.Icon; - import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.BlockPistonBase; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.dispenser.BehaviorDefaultDispenseItem; +import net.minecraft.dispenser.IRegistry; +import net.minecraft.dispenser.RegistryDefaulted; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumFacing; -import net.minecraft.util.IRegistry; -import net.minecraft.util.RegistryDefaulted; +import net.minecraft.util.Icon; import net.minecraft.world.World; +import com.teammetallurgy.atum.Atum; import com.teammetallurgy.atum.blocks.tileentity.TileEntityBurningTrap; import cpw.mods.fml.relauncher.Side; @@ -40,7 +41,7 @@ public BlockBurningTrap(int par1) { @Override public float getBlockHardness(World par1World, int par2, int par3, int par4) { - return par1World.getBlockId(par2, par3 + 1, par4) == AtumBlocks.BLOCK_LARGEBRICK && par1World.getBlockMetadata(par2, par3 + 1, par4) == 1 ? -1.0F : super.blockHardness; + return par1World.getBlockId(par2, par3 + 1, par4) == Blocks.BLOCK_LARGEBRICK.blockID && par1World.getBlockMetadata(par2, par3 + 1, par4) == 1 ? -1.0F : super.blockHardness; } @Override @@ -120,7 +121,7 @@ public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int i1 = par1World.getBlockMetadata(par2, par3, par4); boolean flag1 = (i1 & 8) != 0; if(flag && !flag1) { - par1World.scheduleBlockUpdate(par2, par3, par4, super, this.tickRate(par1World)); + par1World.scheduleBlockUpdate(par2, par3, par4, super.blockID, this.tickRate(par1World)); par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 | 8, 4); } else if(!flag && flag1) { par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 & -9, 4); diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java b/src/com/teammetallurgy/atum/blocks/BlockChestSpawner.java similarity index 97% rename from src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java rename to src/com/teammetallurgy/atum/blocks/BlockChestSpawner.java index a0b3054..54c89b0 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java +++ b/src/com/teammetallurgy/atum/blocks/BlockChestSpawner.java @@ -6,6 +6,7 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.passive.EntityOcelot; import net.minecraft.entity.player.EntityPlayer; @@ -17,7 +18,7 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.common.ForgeDirection; import com.teammetallurgy.atum.blocks.tileentity.TileEntityChestSpawner; @@ -34,7 +35,7 @@ protected BlockChestSpawner(int par1) { @Override public int idDropped(int par1, Random par2Random, int par3) { - return Block.chest; + return Block.chest.blockID; } @Override diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java b/src/com/teammetallurgy/atum/blocks/BlockDate.java similarity index 73% rename from src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java rename to src/com/teammetallurgy/atum/blocks/BlockDate.java index f0c02c5..e3a301e 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java +++ b/src/com/teammetallurgy/atum/blocks/BlockDate.java @@ -8,7 +8,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.items.Items; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; @@ -19,7 +19,7 @@ public class BlockDate extends Block { public int renderID = RenderingRegistry.getNextAvailableRenderId(); public BlockDate(int par1) { - super(Material.plants); + super(par1, Material.plants); this.setUnlocalizedName("atum:date"); } @@ -39,10 +39,10 @@ public int getRenderType() { } @Override - public void onNeighborBlockChange(World world, int x, int y, int z, Block neighbor) { - if (world.getBlock(x, y + 1, z) != AtumBlocks.BLOCK_LEAVES && !world.isRemote) { - EntityItem entityItem = new EntityItem(world, (double) x, (double) y, (double) z, new ItemStack(AtumItems.ITEM_DATE, 0, this.quantityDropped(new Random()))); - entityItem.dropItem(AtumItems.ITEM_DATE, this.quantityDropped(new Random())); + public void onNeighborBlockChange(World world, int x, int y, int z, int neighborID) { + if(world.getBlockId(x, y + 1, z) != Blocks.BLOCK_LEAVES.blockID && !world.isRemote) { + EntityItem entityItem = new EntityItem(world, (double) x, (double) y, (double) z, new ItemStack(Items.ITEM_DATE.itemID, 0, this.quantityDropped(new Random()))); + entityItem.dropItem(Items.ITEM_DATE.itemID, this.quantityDropped(new Random())); world.setBlockToAir(x, y, z); } @@ -50,7 +50,7 @@ public void onNeighborBlockChange(World world, int x, int y, int z, Block neighb @Override public int idDropped(int par1, Random rand, int par3) { - return AtumItems.ITEM_DATE.itemID; + return Items.ITEM_DATE.itemID; } @Override @@ -61,7 +61,7 @@ public int quantityDropped(Random rand) { @Override @SideOnly(Side.CLIENT) public int idPicked(World par1World, int par2, int par3, int par4) { - return AtumItems.ITEM_DATE.itemID; + return Items.ITEM_DATE.itemID; } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java b/src/com/teammetallurgy/atum/blocks/BlockFertileSoil.java similarity index 51% rename from src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java rename to src/com/teammetallurgy/atum/blocks/BlockFertileSoil.java index 9a5d8da..4129f9c 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java +++ b/src/com/teammetallurgy/atum/blocks/BlockFertileSoil.java @@ -5,57 +5,56 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockFlower; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.init.Blocks; -import net.minecraft.util.IIcon; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.util.Icon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.EnumPlantType; +import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.IPlantable; -import net.minecraftforge.common.util.ForgeDirection; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class BlockFertileSoil extends Block { @SideOnly(Side.CLIENT) - private IIcon iconGrassTop; + private Icon iconGrassTop; @SideOnly(Side.CLIENT) - private IIcon iconGrassSideOverlay; + private Icon iconGrassSideOverlay; @SideOnly(Side.CLIENT) - private IIcon iconDirt; + private Icon iconDirt; public BlockFertileSoil(int par1) { - super(Material.grass); + super(par1, Material.grass); this.setUnlocalizedName("atum:fertileSoil"); this.setHardness(0.5F); - this.setStepSound(Block.soundTypeGrass); + this.setStepSound(Block.soundGrassFootstep); setTickRandomly(true); } @Override @SideOnly(Side.CLIENT) - public IIcon getIcon(int par1, int par2) { - if (par2 == 1) { + public Icon getIcon(int par1, int par2) { + if(par2 == 1) { return this.iconDirt; } - return par1 == 0 ? Blocks.dirt.getBlockTextureFromSide(par1) : par1 == 1 ? this.iconGrassTop : this.blockIcon; + return par1 == 0 ? Block.dirt.getBlockTextureFromSide(par1) : par1 == 1 ? this.iconGrassTop : this.blockIcon; } @Override public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if (!par1World.isRemote) { - if ((par1World.getBlockLightValue(par2, par3 + 1, par4) < 4) && (par1World.getBlockLightOpacity(par2, par3 + 1, par4) > 2)) { + if(!par1World.isRemote) { + if((par1World.getBlockLightValue(par2, par3 + 1, par4) < 4) && (par1World.getBlockLightOpacity(par2, par3 + 1, par4) > 2)) { par1World.setBlockMetadataWithNotify(par2, par3, par4, 1, 2); - } else if (par1World.getBlockLightValue(par2, par3 + 1, par4) >= 9) { - for (int l = 0; l < 4; l++) { + } else if(par1World.getBlockLightValue(par2, par3 + 1, par4) >= 9) { + for(int l = 0; l < 4; l++) { int i1 = par2 + par5Random.nextInt(3) - 1; int j1 = par3 + par5Random.nextInt(5) - 3; int k1 = par4 + par5Random.nextInt(3) - 1; - Block l1 = par1World.getBlock(i1, j1 + 1, k1); + int l1 = par1World.getBlockId(i1, j1 + 1, k1); - if ((par1World.getBlock(i1, j1, k1) == this) && (par1World.getBlockMetadata(i1, j1, k1) == 1) && (par1World.getBlockLightValue(i1, j1 + 1, k1) >= 4) && (par1World.getBlockLightOpacity(i1, j1 + 1, k1) <= 2)) { + if((par1World.getBlockId(i1, j1, k1) == this.blockID) && (par1World.getBlockMetadata(i1, j1, k1) == 1) && (par1World.getBlockLightValue(i1, j1 + 1, k1) >= 4) && (par1World.getBlockLightOpacity(i1, j1 + 1, k1) <= 2)) { par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 2); } } @@ -64,14 +63,14 @@ public void updateTick(World par1World, int par2, int par3, int par4, Random par } @Override - public boolean canSustainPlant(IBlockAccess world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { + public boolean canSustainPlant(World world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); - if ((plant instanceof BlockFlower)) { + if((plant instanceof BlockFlower)) { return true; } - switch (plantType.ordinal()) { + switch(plantType.ordinal()) { case 1: return false; case 2: @@ -79,13 +78,13 @@ public boolean canSustainPlant(IBlockAccess world, int x, int y, int z, ForgeDir case 3: return false; case 4: - return isSideSolid(world, x, y, z, ForgeDirection.UP); + return isBlockSolidOnSide(world, x, y, z, ForgeDirection.UP); case 5: return true; case 6: return false; case 7: - boolean hasWater = (world.getBlock(x - 1, y, z).getMaterial() == Material.water) || (world.getBlock(x + 1, y, z).getMaterial() == Material.water) || (world.getBlockMaterial(x, y, z - 1) == Material.water) || (world.getBlockMaterial(x, y, z + 1) == Material.water); + boolean hasWater = (world.getBlockMaterial(x - 1, y, z) == Material.water) || (world.getBlockMaterial(x + 1, y, z) == Material.water) || (world.getBlockMaterial(x, y, z - 1) == Material.water) || (world.getBlockMaterial(x, y, z + 1) == Material.water); return hasWater; } @@ -95,21 +94,21 @@ public boolean canSustainPlant(IBlockAccess world, int x, int y, int z, ForgeDir @Override public int idDropped(int par1, Random par2Random, int par3) { - return AtumBlocks.BLOCK_SAND; + return Blocks.BLOCK_SAND.blockID; } @Override @SideOnly(Side.CLIENT) - public IIcon getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { - if (par1IBlockAccess.getBlockMetadata(par2, par3, par4) == 1) { + public Icon getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + if(par1IBlockAccess.getBlockMetadata(par2, par3, par4) == 1) { return this.iconDirt; } - if (par5 == 1) { + if(par5 == 1) { return this.iconGrassTop; } - if (par5 == 0) { - return AtumBlocks.BLOCK_SAND.getBlockTextureFromSide(par5); + if(par5 == 0) { + return Blocks.BLOCK_SAND.getBlockTextureFromSide(par5); } return this.blockIcon; @@ -117,7 +116,7 @@ public IIcon getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, @Override @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister par1IconRegister) { + public void registerIcons(IconRegister par1IconRegister) { this.blockIcon = par1IconRegister.registerIcon("atum:FertileSoilSide"); this.iconDirt = par1IconRegister.registerIcon("atum:FertileSoil"); this.iconGrassTop = par1IconRegister.registerIcon("atum:FertileSoilTop"); @@ -125,7 +124,7 @@ public void registerBlockIcons(IIconRegister par1IconRegister) { } @SideOnly(Side.CLIENT) - public IIcon getIconSideOverlay() { + public Icon getIconSideOverlay() { return this.iconGrassSideOverlay; } } \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java b/src/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java similarity index 91% rename from src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java rename to src/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java index 6945096..99b029a 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java +++ b/src/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java @@ -2,17 +2,17 @@ import java.util.Random; -import javax.swing.Icon; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.Icon; import net.minecraft.world.World; import net.minecraftforge.common.EnumPlantType; +import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.IPlantable; -import net.minecraftforge.common.util.ForgeDirection; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -61,7 +61,7 @@ public boolean renderAsNormalBlock() { @Override @SideOnly(Side.CLIENT) public Icon getIcon(int par1, int par2) { - return par2 >> 3 == 0 ? (par1 == 1 ? (par2 > 0 ? this.farmlandWet : this.farmlandDry) : AtumBlocks.BLOCK_FERTILESOIL.getIcon(par1, 1)) : Block.tilledField.getIcon(par1, par2); + return par2 >> 3 == 0 ? (par1 == 1 ? (par2 > 0 ? this.farmlandWet : this.farmlandDry) : Blocks.BLOCK_FERTILESOIL.getIcon(par1, 1)) : Block.tilledField.getIcon(par1, par2); } @Override @@ -146,16 +146,16 @@ public boolean canSustainPlant(World world, int x, int y, int z, ForgeDirection @Override public int idDropped(int par1, Random par2Random, int par3) { - return par1 >> 3 == 0 ? AtumBlocks.BLOCK_SAND : Block.dirt; + return par1 >> 3 == 0 ? Blocks.BLOCK_SAND.blockID : Block.dirt.blockID; } public void revertToDirt(World world, int x, int y, int z) { int type = world.getBlockMetadata(x, y, z) >> 3; if(type == 0) { - world.setBlock(x, y, z, AtumBlocks.BLOCK_FERTILESOIL); + world.setBlock(x, y, z, Blocks.BLOCK_FERTILESOIL.blockID); world.setBlockMetadataWithNotify(x, y, z, 1, 2); } else { - world.setBlock(x, y, z, Block.dirt); + world.setBlock(x, y, z, Block.dirt.blockID); } } @@ -164,7 +164,7 @@ public void revertToDirt(World world, int x, int y, int z) { @SideOnly(Side.CLIENT) public int idPicked(World par1World, int par2, int par3, int par4) { int type = par1World.getBlockMetadata(par2, par3, par4) >> 3; - return type == 0 ? AtumBlocks.BLOCK_SAND : Block.dirt; + return type == 0 ? Blocks.BLOCK_SAND.blockID : Block.dirt.blockID; } @Override diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java b/src/com/teammetallurgy/atum/blocks/BlockFlax.java similarity index 88% rename from src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java rename to src/com/teammetallurgy/atum/blocks/BlockFlax.java index 256d4c2..7eb2187 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java +++ b/src/com/teammetallurgy/atum/blocks/BlockFlax.java @@ -3,18 +3,18 @@ import java.util.ArrayList; import java.util.Random; -import javax.swing.Icon; - import net.minecraft.block.Block; import net.minecraft.block.BlockFlower; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.ItemStack; +import net.minecraft.util.Icon; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraftforge.common.EnumPlantType; -import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.common.ForgeDirection; -import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.items.Items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -43,7 +43,7 @@ public EnumPlantType getPlantType(World world, int x, int y, int z) { @Override public boolean canBlockStay(World par1World, int par2, int par3, int par4) { if(par1World.getBlockMetadata(par2, par3, par4) >> 3 == 1) { - return par1World.getBlockId(par2, par3 - 1, par4) == AtumBlocks.BLOCK_FERTILESOIL; + return par1World.getBlockId(par2, par3 - 1, par4) == Blocks.BLOCK_FERTILESOIL.blockID; } else { Block soil = Block.blocksList[par1World.getBlockId(par2, par3 - 1, par4)]; return (par1World.getFullBlockLightValue(par2, par3, par4) >= 8 || par1World.canBlockSeeTheSky(par2, par3, par4)) && soil != null && soil.canSustainPlant(par1World, par2, par3 - 1, par4, ForgeDirection.UP, this); @@ -52,7 +52,7 @@ public boolean canBlockStay(World par1World, int par2, int par3, int par4) { @Override protected boolean canThisPlantGrowOnThisBlockID(int par1) { - return par1 == Block.tilledField || par1 == AtumBlocks.BLOCK_FERTILESOILTILLED; + return par1 == Block.tilledField.blockID || par1 == Blocks.BLOCK_FERTILESOILTILLED.blockID; } @Override @@ -90,9 +90,9 @@ private float getGrowthRate(World par1World, int par2, int par3, int par4) { int i2 = par1World.getBlockId(par2 + 1, par3, par4 - 1); int j2 = par1World.getBlockId(par2 + 1, par3, par4 + 1); int k2 = par1World.getBlockId(par2 - 1, par3, par4 + 1); - boolean flag = j1 == super || k1 == super; - boolean flag1 = l == super || i1 == super; - boolean flag2 = l1 == super || i2 == super || j2 == super || k2 == super; + boolean flag = j1 == super.blockID || k1 == super.blockID; + boolean flag1 = l == super.blockID || i1 == super.blockID; + boolean flag2 = l1 == super.blockID || i2 == super.blockID || j2 == super.blockID || k2 == super.blockID; for(int l2 = par2 - 1; l2 <= par2 + 1; ++l2) { for(int i3 = par4 - 1; i3 <= par4 + 1; ++i3) { @@ -136,11 +136,11 @@ public int getRenderType() { } protected int getSeedItem() { - return AtumItems.flaxSeeds.itemID; + return Items.flaxSeeds.itemID; } protected int getCropItem() { - return AtumItems.flax.itemID; + return Items.flax.itemID; } @Override diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockLeave.java b/src/com/teammetallurgy/atum/blocks/BlockLeave.java similarity index 62% rename from src/main/java/com/teammetallurgy/atum/blocks/BlockLeave.java rename to src/com/teammetallurgy/atum/blocks/BlockLeave.java index f78122a..6db7902 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockLeave.java +++ b/src/com/teammetallurgy/atum/blocks/BlockLeave.java @@ -3,15 +3,14 @@ import java.util.ArrayList; import java.util.Random; -import javax.swing.Icon; - import net.minecraft.block.Block; +import net.minecraft.block.BlockLeaves; import net.minecraft.block.BlockLeavesBase; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; +import net.minecraft.util.Icon; import net.minecraft.world.ColorizerFoliage; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; @@ -24,11 +23,11 @@ public class BlockLeave extends BlockLeavesBase implements IShearable { int[] adjacentTreeBlocks; protected BlockLeave(int par1) { - super(Material.leaves, false); + super(par1, Material.leaves, false); this.setUnlocalizedName("atum:palmLeaves"); this.setHardness(0.2F); this.setLightOpacity(1); - this.setStepSound(Block.soundTypeGrass); + this.setStepSound(Block.soundGrassFootstep); this.setTickRandomly(true); } @@ -53,8 +52,8 @@ public int colorMultiplier(IBlockAccess par1IBlockAccess, int par2, int par3, in int j1 = 0; int k1 = 0; - for (int l1 = -1; l1 <= 1; ++l1) { - for (int i2 = -1; i2 <= 1; ++i2) { + for(int l1 = -1; l1 <= 1; ++l1) { + for(int i2 = -1; i2 <= 1; ++i2) { int j2 = BiomeGenBase.desert.getBiomeFoliageColor(); i1 += (j2 & 16711680) >> 16; j1 += (j2 & '\uff00') >> 8; @@ -66,16 +65,16 @@ public int colorMultiplier(IBlockAccess par1IBlockAccess, int par2, int par3, in } @Override - public void breakBlock(World par1World, int par2, int par3, int par4, Block par5, int par6) { + public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) { byte b0 = 1; int j1 = b0 + 1; - if (par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1)) { - for (int k1 = -b0; k1 <= b0; ++k1) { - for (int l1 = -b0; l1 <= b0; ++l1) { - for (int i2 = -b0; i2 <= b0; ++i2) { - Block j2 = par1World.getBlock(par2 + k1, par3 + l1, par4 + i2); - if (j2 != null) { - j2.beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2); + if(par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1)) { + for(int k1 = -b0; k1 <= b0; ++k1) { + for(int l1 = -b0; l1 <= b0; ++l1) { + for(int i2 = -b0; i2 <= b0; ++i2) { + int j2 = par1World.getBlockId(par2 + k1, par3 + l1, par4 + i2); + if(Block.blocksList[j2] != null) { + Block.blocksList[j2].beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2); } } } @@ -86,30 +85,31 @@ public void breakBlock(World par1World, int par2, int par3, int par4, Block par5 @Override public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if (!par1World.isRemote) { + if(!par1World.isRemote) { int l = par1World.getBlockMetadata(par2, par3, par4); - if ((l & 8) != 0 && (l & 4) == 0) { + if((l & 8) != 0 && (l & 4) == 0) { byte b0 = 4; int i1 = b0 + 1; byte b1 = 32; int j1 = b1 * b1; int k1 = b1 / 2; - if (this.adjacentTreeBlocks == null) { + if(this.adjacentTreeBlocks == null) { this.adjacentTreeBlocks = new int[b1 * b1 * b1]; } int l1; - if (par1World.checkChunksExist(par2 - i1, par3 - i1, par4 - i1, par2 + i1, par3 + i1, par4 + i1)) { + if(par1World.checkChunksExist(par2 - i1, par3 - i1, par4 - i1, par2 + i1, par3 + i1, par4 + i1)) { int i2; int j2; int k2; - for (l1 = -b0; l1 <= b0; ++l1) { - for (i2 = -b0; i2 <= b0; ++i2) { - for (j2 = -b0; j2 <= b0; ++j2) { - Block block = par1World.getBlock(par2 + l1, par3 + i2, par4 + j2); - if (block != null && block.canSustainLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) { + for(l1 = -b0; l1 <= b0; ++l1) { + for(i2 = -b0; i2 <= b0; ++i2) { + for(j2 = -b0; j2 <= b0; ++j2) { + k2 = par1World.getBlockId(par2 + l1, par3 + i2, par4 + j2); + Block block = Block.blocksList[k2]; + if(block != null && block.canSustainLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) { this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = 0; - } else if (block != null && block.isLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) { + } else if(block != null && block.isLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) { this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = -2; } else { this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = -1; @@ -118,32 +118,32 @@ public void updateTick(World par1World, int par2, int par3, int par4, Random par } } - for (l1 = 1; l1 <= 4; ++l1) { - for (i2 = -b0; i2 <= b0; ++i2) { - for (j2 = -b0; j2 <= b0; ++j2) { - for (k2 = -b0; k2 <= b0; ++k2) { - if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1] == l1 - 1) { - if (this.adjacentTreeBlocks[(i2 + k1 - 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) { + for(l1 = 1; l1 <= 4; ++l1) { + for(i2 = -b0; i2 <= b0; ++i2) { + for(j2 = -b0; j2 <= b0; ++j2) { + for(k2 = -b0; k2 <= b0; ++k2) { + if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1] == l1 - 1) { + if(this.adjacentTreeBlocks[(i2 + k1 - 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) { this.adjacentTreeBlocks[(i2 + k1 - 1) * j1 + (j2 + k1) * b1 + k2 + k1] = l1; } - if (this.adjacentTreeBlocks[(i2 + k1 + 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) { + if(this.adjacentTreeBlocks[(i2 + k1 + 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) { this.adjacentTreeBlocks[(i2 + k1 + 1) * j1 + (j2 + k1) * b1 + k2 + k1] = l1; } - if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 - 1) * b1 + k2 + k1] == -2) { + if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 - 1) * b1 + k2 + k1] == -2) { this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 - 1) * b1 + k2 + k1] = l1; } - if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 + 1) * b1 + k2 + k1] == -2) { + if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 + 1) * b1 + k2 + k1] == -2) { this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 + 1) * b1 + k2 + k1] = l1; } - if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + (k2 + k1 - 1)] == -2) { + if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + (k2 + k1 - 1)] == -2) { this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + (k2 + k1 - 1)] = l1; } - if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1 + 1] == -2) { + if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1 + 1] == -2) { this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1 + 1] = l1; } } @@ -154,7 +154,7 @@ public void updateTick(World par1World, int par2, int par3, int par4, Random par } l1 = this.adjacentTreeBlocks[k1 * j1 + k1 * b1 + k1]; - if (l1 >= 0) { + if(l1 >= 0) { par1World.setBlockMetadataWithNotify(par2, par3, par4, l & -9, 4); } else { this.removeLeaves(par1World, par2, par3, par4); @@ -167,7 +167,7 @@ public void updateTick(World par1World, int par2, int par3, int par4, Random par @Override @SideOnly(Side.CLIENT) public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if (par1World.canLightningStrikeAt(par2, par3 + 1, par4) && !par1World.doesBlockHaveSolidTopSurface(par1World, par2, par3 - 1, par4) && par5Random.nextInt(15) == 1) { + if(par1World.canLightningStrikeAt(par2, par3 + 1, par4) && !par1World.doesBlockHaveSolidTopSurface(par2, par3 - 1, par4) && par5Random.nextInt(15) == 1) { double d0 = (double) ((float) par2 + par5Random.nextFloat()); double d1 = (double) par3 - 0.05D; double d2 = (double) ((float) par4 + par5Random.nextFloat()); @@ -186,28 +186,28 @@ public int quantityDropped(Random par1Random) { return par1Random.nextInt(20) == 0 ? 1 : 0; } - public Block idDropped(int par1, Random par2Random, int par3) { - return AtumBlocks.BLOCK_PALMSAPLING; + public int idDropped(int par1, Random par2Random, int par3) { + return Blocks.BLOCK_PALMSAPLING.blockID; } @Override public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int par4, int par5, float par6, int par7) { - if (!par1World.isRemote) { + if(!par1World.isRemote) { int j1 = 20; - if ((par5 & 3) == 3) { + if((par5 & 3) == 3) { j1 = 40; } - if (par7 > 0) { + if(par7 > 0) { j1 -= 2 << par7; - if (j1 < 10) { + if(j1 < 10) { j1 = 10; } } - if (par1World.rand.nextInt(j1) == 0) { - Block k1 = this.idDropped(par5, par1World.rand, par7); - this.dropBlockAsItem(par1World, par2, par3, par4, new ItemStack(k1, 1, this.damageDropped(par5))); + if(par1World.rand.nextInt(j1) == 0) { + int k1 = this.idDropped(par5, par1World.rand, par7); + this.dropBlockAsItem_do(par1World, par2, par3, par4, new ItemStack(k1, 1, this.damageDropped(par5))); } } @@ -230,40 +230,40 @@ public boolean isOpaqueCube() { @Override @SideOnly(Side.CLIENT) - public IIcon getIcon(int par1, int par2) { + public Icon getIcon(int par1, int par2) { return this.blockIcon; } @Override protected ItemStack createStackedBlock(int par1) { - return new ItemStack(this, 1, par1 & 3); + return new ItemStack(this.blockID, 1, par1 & 3); } @Override @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister par1IconRegister) { + public void registerIcons(IconRegister par1IconRegister) { this.blockIcon = par1IconRegister.registerIcon("atum:AtumLeaves"); } @Override - public void beginLeavesDecay(World world, int x, int y, int z) { - world.setBlockMetadataWithNotify(x, y, z, world.getBlockMetadata(x, y, z) | 8, 4); + public boolean isShearable(ItemStack item, World world, int x, int y, int z) { + return true; } @Override - public boolean isLeaves(IBlockAccess world, int x, int y, int z) { - return true; + public ArrayList onSheared(ItemStack item, World world, int x, int y, int z, int fortune) { + ArrayList ret = new ArrayList(); + ret.add(new ItemStack(this, 1, world.getBlockMetadata(x, y, z) & 3)); + return ret; } @Override - public boolean isShearable(ItemStack item, IBlockAccess world, int x, int y, int z) { - return true; + public void beginLeavesDecay(World world, int x, int y, int z) { + world.setBlockMetadataWithNotify(x, y, z, world.getBlockMetadata(x, y, z) | 8, 4); } @Override - public ArrayList onSheared(ItemStack item, IBlockAccess world, int x, int y, int z, int fortune) { - ArrayList ret = new ArrayList(); - ret.add(new ItemStack(this, 1, world.getBlockMetadata(x, y, z) & 3)); - return ret; + public boolean isLeaves(World world, int x, int y, int z) { + return true; } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java b/src/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java similarity index 70% rename from src/main/java/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java rename to src/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java index 6206402..7840897 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java +++ b/src/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java @@ -1,11 +1,9 @@ package com.teammetallurgy.atum.blocks; -import javax.swing.Icon; - import net.minecraft.block.Block; import net.minecraft.block.BlockFurnace; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.util.IIcon; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.util.Icon; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -13,19 +11,19 @@ public class BlockLimeStoneFurnace extends BlockFurnace { boolean isActive; @SideOnly(Side.CLIENT) - private IIcon furnaceFront; + private Icon furnaceFront; protected BlockLimeStoneFurnace(int par1, boolean par2) { - super(par2); + super(par1, par2); this.isActive = par2; this.setHardness(3.5F); - this.setStepSound(Block.soundTypeStone); + this.setStepSound(Block.soundStoneFootstep); } @Override @SideOnly(Side.CLIENT) - public IIcon getIcon(int par1, int par2) { - if (par2 == 0) { + public Icon getIcon(int par1, int par2) { + if(par2 == 0) { par2 = 3; } @@ -34,7 +32,7 @@ public IIcon getIcon(int par1, int par2) { @Override @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister par1IconRegister) { + public void registerIcons(IconRegister par1IconRegister) { this.blockIcon = par1IconRegister.registerIcon("atum:FurnaceTop"); this.furnaceFront = par1IconRegister.registerIcon(this.isActive ? "atum:FurnaceBurning" : "atum:FurnaceFront"); } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmLog.java b/src/com/teammetallurgy/atum/blocks/BlockPalmLog.java similarity index 58% rename from src/main/java/com/teammetallurgy/atum/blocks/BlockPalmLog.java rename to src/com/teammetallurgy/atum/blocks/BlockPalmLog.java index eaaec27..d1d5ef4 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmLog.java +++ b/src/com/teammetallurgy/atum/blocks/BlockPalmLog.java @@ -2,33 +2,30 @@ import java.util.Random; -import javax.swing.Icon; - import net.minecraft.block.Block; import net.minecraft.block.BlockLog; -import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; +import net.minecraft.util.Icon; import net.minecraft.world.World; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class BlockPalmLog extends BlockLog { - public static final String[] woodType = new String[] { "oak", "spruce", "birch", "jungle" }; - public static final String[] treeTextureTypes = new String[] { "tree_side", "tree_spruce", "tree_birch", "tree_jungle" }; + public static final String[] woodType = new String[]{"oak", "spruce", "birch", "jungle"}; + public static final String[] treeTextureTypes = new String[]{"tree_side", "tree_spruce", "tree_birch", "tree_jungle"}; @SideOnly(Side.CLIENT) private Icon[] iconArray; @SideOnly(Side.CLIENT) - private IIcon tree_top; - private IIcon tree_side; + private Icon tree_top; + private Icon tree_side; protected BlockPalmLog(int par1) { - super(); + super(par1); this.setUnlocalizedName("atum:palmLog"); this.setHardness(2.0F); - this.setStepSound(Block.soundTypeWood); - this.setBurnProperties(this, 5, 5); + this.setStepSound(Block.soundWoodFootstep); + setBurnProperties(super.blockID, 5, 5); } @Override @@ -42,16 +39,16 @@ public int quantityDropped(Random par1Random) { } @Override - public void breakBlock(World par1World, int par2, int par3, int par4, Block par5, int par6) { + public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) { byte b0 = 4; int j1 = b0 + 1; - if (par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1)) { - for (int k1 = -b0; k1 <= b0; ++k1) { - for (int l1 = -b0; l1 <= b0; ++l1) { - for (int i2 = -b0; i2 <= b0; ++i2) { - Block j2 = par1World.getBlock(par2 + k1, par3 + l1, par4 + i2); - if (j2 != null) { - j2.beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2); + if(par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1)) { + for(int k1 = -b0; k1 <= b0; ++k1) { + for(int l1 = -b0; l1 <= b0; ++l1) { + for(int i2 = -b0; i2 <= b0; ++i2) { + int j2 = par1World.getBlockId(par2 + k1, par3 + l1, par4 + i2); + if(Block.blocksList[j2] != null) { + Block.blocksList[j2].beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2); } } } @@ -64,7 +61,7 @@ public void breakBlock(World par1World, int par2, int par3, int par4, Block par5 public int onBlockPlaced(World par1World, int par2, int par3, int par4, int par5, float par6, float par7, float par8, int par9) { int j1 = par9 & 3; byte b0 = 0; - switch (par5) { + switch(par5) { case 0: case 1: b0 = 0; @@ -83,7 +80,7 @@ public int onBlockPlaced(World par1World, int par2, int par3, int par4, int par5 @Override @SideOnly(Side.CLIENT) - public IIcon getIcon(int par1, int par2) { + public Icon getIcon(int par1, int par2) { int k = par2 & 12; int l = par2 & 3; return k == 0 && (par1 == 1 || par1 == 0) ? this.tree_top : (k == 4 && (par1 == 5 || par1 == 4) ? this.tree_top : (k == 8 && (par1 == 2 || par1 == 3) ? this.tree_top : this.tree_side)); @@ -96,23 +93,23 @@ public int damageDropped(int par1) { @Override protected ItemStack createStackedBlock(int par1) { - return new ItemStack(this, 1, limitToValidMetadata(par1)); + return new ItemStack(super.blockID, 1, limitToValidMetadata(par1)); } @Override @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister par1IconRegister) { + public void registerIcons(IconRegister par1IconRegister) { this.tree_top = par1IconRegister.registerIcon("atum:tree_top"); this.tree_side = par1IconRegister.registerIcon("atum:tree_side"); } @Override - public boolean canSustainLeaves(IBlockAccess world, int x, int y, int z) { + public boolean canSustainLeaves(World world, int x, int y, int z) { return true; } @Override - public boolean isWood(IBlockAccess world, int x, int y, int z) { + public boolean isWood(World world, int x, int y, int z) { return true; } diff --git a/src/com/teammetallurgy/atum/blocks/BlockPalmSapling.java b/src/com/teammetallurgy/atum/blocks/BlockPalmSapling.java new file mode 100644 index 0000000..2583bf9 --- /dev/null +++ b/src/com/teammetallurgy/atum/blocks/BlockPalmSapling.java @@ -0,0 +1,92 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockFlower; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.world.World; + +public class BlockPalmSapling extends BlockFlower { + + protected BlockPalmSapling(int par1) { + super(par1); + this.setUnlocalizedName("atum:palmSapling"); + float f = 0.4F; + this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, f * 2.0F, 0.5F + f); + } + + @Override + public void updateTick(World world, int x, int y, int z, Random rand) { + if(!world.isRemote) { + super.updateTick(world, x, y, z, rand); + if(world.getBlockLightValue(x, y + 1, z) > 9 && rand.nextInt(20) == 0) { + this.growTree(world, x, y, z, rand); + } + } + + } + + public void growTree(World world, int x, int y, int z, Random rand) { + int height = rand.nextInt(4) + 5; + + int i; + for(i = 0; i < height; ++i) { + world.setBlock(x, y + i, z, Blocks.BLOCK_LOG.blockID, 0, 2); + } + + world.setBlock(x, y + height, z, Blocks.BLOCK_LEAVES.blockID, 0, 2); + + for(i = -1; i < 2; ++i) { + for(int j = -1; j < 2; ++j) { + if(i != 0 || j != 0) { + world.setBlock(x + i, y + height - 1, z + j, Blocks.BLOCK_LEAVES.blockID, 0, 2); + } + } + } + + world.setBlock(x + 2, y + height - 1, z, Blocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x + 2, y + height - 2, z, Blocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x + 3, y + height - 2, z, Blocks.BLOCK_LEAVES.blockID, 0, 2); + if(rand.nextInt(100) < 15) { + world.setBlock(x + 1, y + height - 2, z, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); + } + + world.setBlock(x - 2, y + height - 1, z, Blocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x - 2, y + height - 2, z, Blocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x - 3, y + height - 2, z, Blocks.BLOCK_LEAVES.blockID, 0, 2); + if(rand.nextInt(100) < 15) { + world.setBlock(x - 1, y + height - 2, z, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); + } + + world.setBlock(x, y + height - 1, z + 2, Blocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x, y + height - 2, z + 2, Blocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x, y + height - 2, z + 3, Blocks.BLOCK_LEAVES.blockID, 0, 2); + if(rand.nextInt(100) < 15) { + world.setBlock(x, y + height - 2, z + 1, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); + } + + world.setBlock(x, y + height - 1, z - 2, Blocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x, y + height - 2, z - 2, Blocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x, y + height - 2, z - 3, Blocks.BLOCK_LEAVES.blockID, 0, 2); + if(rand.nextInt(100) < 15) { + world.setBlock(x, y + height - 2, z - 1, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); + } + + } + + @Override + protected boolean canThisPlantGrowOnThisBlockID(int id) { + return id == Blocks.BLOCK_SAND.blockID || id == Block.grass.blockID || id == Block.dirt.blockID; + } + + @Override + public boolean canBlockStay(World world, int x, int y, int z) { + return world.getBlockId(x, y - 1, z) == Blocks.BLOCK_SAND.blockID || world.getBlockId(x, y - 1, z) == Block.grass.blockID || world.getBlockId(x, y - 1, z) == Block.dirt.blockID; + } + + @Override + public void registerIcons(IconRegister par1IconRegister) { + this.blockIcon = par1IconRegister.registerIcon("atum:AtumPalmSapling"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPapyrus.java b/src/com/teammetallurgy/atum/blocks/BlockPapyrus.java similarity index 90% rename from src/main/java/com/teammetallurgy/atum/blocks/BlockPapyrus.java rename to src/com/teammetallurgy/atum/blocks/BlockPapyrus.java index 8e30b12..2449a9d 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockPapyrus.java +++ b/src/com/teammetallurgy/atum/blocks/BlockPapyrus.java @@ -2,19 +2,19 @@ import java.util.Random; -import javax.swing.Icon; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.Icon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.EnumPlantType; +import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.IPlantable; -import net.minecraftforge.common.util.ForgeDirection; -import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.items.Items; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; @@ -49,7 +49,7 @@ public void updateTick(World par1World, int par2, int par3, int par4, Random par if((double) par5Random.nextFloat() <= 0.75D) { if(par1World.isAirBlock(par2, par3 + 1, par4)) { int l; - for(l = 1; par1World.getBlockId(par2, par3 - l, par4) == super; ++l) { + for(l = 1; par1World.getBlockId(par2, par3 - l, par4) == super.blockID; ++l) { ; } @@ -67,7 +67,7 @@ public void updateTick(World par1World, int par2, int par3, int par4, Random par } if(i1 >= reqHeight) { - par1World.setBlock(par2, par3 + 1, par4, super); + par1World.setBlock(par2, par3 + 1, par4, super.blockID); par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 4); } else { par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 + 1, 4); @@ -86,7 +86,7 @@ public Icon getIcon(int par1, int par2) { @Override @SideOnly(Side.CLIENT) public Icon getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { - boolean top = par1IBlockAccess.getBlockId(par2, par3 + 1, par4) != super; + boolean top = par1IBlockAccess.getBlockId(par2, par3 + 1, par4) != super.blockID; return top ? this.iconPapyrusTop : this.iconPapyrus; } @@ -118,12 +118,12 @@ public boolean canBlockStay(World par1World, int par2, int par3, int par4) { public boolean canSustainPlant(World world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { int plantID = plant.getPlantID(world, x, y + 1, z); EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); - if(plantID == this) { + if(plantID == this.blockID) { return true; } else if(plantType != EnumPlantType.Beach) { return false; } else { - boolean isBeach = super == Block.grass || super == Block.dirt || super == Block.sand; + boolean isBeach = super.blockID == Block.grass.blockID || super.blockID == Block.dirt.blockID || super.blockID == Block.sand.blockID; boolean hasWater = world.getBlockMaterial(x - 1, y, z) == Material.water || world.getBlockMaterial(x + 1, y, z) == Material.water || world.getBlockMaterial(x, y, z - 1) == Material.water || world.getBlockMaterial(x, y, z + 1) == Material.water; return isBeach && hasWater; } @@ -136,7 +136,7 @@ public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, @Override public int idDropped(int par1, Random par2Random, int par3) { - return AtumItems.papyrusPlant.itemID; + return Items.papyrusPlant.itemID; } @Override @@ -157,7 +157,7 @@ public int getRenderType() { @Override @SideOnly(Side.CLIENT) public int idPicked(World par1World, int par2, int par3, int par4) { - return AtumItems.papyrusPlant.itemID; + return Items.papyrusPlant.itemID; } @Override @@ -167,7 +167,7 @@ public EnumPlantType getPlantType(World world, int x, int y, int z) { @Override public int getPlantID(World world, int x, int y, int z) { - return this; + return this.blockID; } @Override diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java b/src/com/teammetallurgy/atum/blocks/BlockPharaohChest.java similarity index 93% rename from src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java rename to src/com/teammetallurgy/atum/blocks/BlockPharaohChest.java index 594a434..9933488 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java +++ b/src/com/teammetallurgy/atum/blocks/BlockPharaohChest.java @@ -6,6 +6,7 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.passive.EntityOcelot; import net.minecraft.entity.player.EntityPlayer; @@ -17,7 +18,7 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.common.ForgeDirection; import com.teammetallurgy.atum.AtumLoot; import com.teammetallurgy.atum.blocks.tileentity.TileEntityPharaohChest; @@ -35,7 +36,7 @@ protected BlockPharaohChest(int par1) { @Override public int idDropped(int par1, Random par2Random, int par3) { - return Block.chest; + return Block.chest.blockID; } @Override @@ -81,11 +82,11 @@ public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, Entit b0 = 4; } - if(l != super && i1 != super && j1 != super && k1 != super) { + if(l != super.blockID && i1 != super.blockID && j1 != super.blockID && k1 != super.blockID) { par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); } else { - if((l == super || i1 == super) && (b0 == 4 || b0 == 5)) { - if(l == super) { + if((l == super.blockID || i1 == super.blockID) && (b0 == 4 || b0 == 5)) { + if(l == super.blockID) { par1World.setBlockMetadataWithNotify(par2, par3, par4 - 1, b0, 3); } else { par1World.setBlockMetadataWithNotify(par2, par3, par4 + 1, b0, 3); @@ -94,8 +95,8 @@ public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, Entit par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); } - if((j1 == super || k1 == super) && (b0 == 2 || b0 == 3)) { - if(j1 == super) { + if((j1 == super.blockID || k1 == super.blockID) && (b0 == 2 || b0 == 3)) { + if(j1 == super.blockID) { par1World.setBlockMetadataWithNotify(par2 - 1, par3, par4, b0, 3); } else { par1World.setBlockMetadataWithNotify(par2 + 1, par3, par4, b0, 3); diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java b/src/com/teammetallurgy/atum/blocks/BlockPortal.java similarity index 94% rename from src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java rename to src/com/teammetallurgy/atum/blocks/BlockPortal.java index 82d5a1b..52b216f 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java +++ b/src/com/teammetallurgy/atum/blocks/BlockPortal.java @@ -52,7 +52,7 @@ public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, // for(int x = -1; x < 2; x++) { // for(int z = -1; z < 2; z++) { // for(int y = -1; y < 1; y++) { -// if(par1World.getBlockId(par2 + x, par3 + y, par4 + z) != Block.sandStone && par1World.getBlockId(par2 + x, par3 + y, par4 + z) != this && par1World.getBlockId(par2 + x, par3 + y, par4 + z) != Blocks.BLOCK_LARGEBRICK) { +// if(par1World.getBlockId(par2 + x, par3 + y, par4 + z) != Block.sandStone.blockID && par1World.getBlockId(par2 + x, par3 + y, par4 + z) != this.blockID && par1World.getBlockId(par2 + x, par3 + y, par4 + z) != Blocks.BLOCK_LARGEBRICK.blockID) { // System.out.println(par1World.getBlockId(par2 + x, par3 + y, par4 + z)); // par1World.setBlockToAir(par2, par3, par4); // } @@ -70,7 +70,7 @@ public boolean tryToCreatePortal(World par1World, int x, int y, int z) { for(int x1 = -2; x1 < 3; x1++) { for(int z1 = -2; z1 < 3; z1++) { int id = par1World.getBlockId(x + x1, y, z + z1); - if(id != Block.sandStone) { + if(id != Block.sandStone.blockID) { return false; } } @@ -79,7 +79,7 @@ public boolean tryToCreatePortal(World par1World, int x, int y, int z) { for(int z1 = -2; z1 < 3; z1++) { if(x1 + x == x + 2 || z1 + z == z + 2 || x1 + x == x - 2 || z1 + z == z - 2) { int id = par1World.getBlockId(x + x1, y + 1, z + z1); - if(id != Block.sandStone) { + if(id != Block.sandStone.blockID) { return false; } } @@ -90,7 +90,7 @@ public boolean tryToCreatePortal(World par1World, int x, int y, int z) { for(int z1 = -2; z1 < 3; z1++) { if((x1 + x == x + 2 && z1 + z == z + 2) || (x1 + x == x - 2 && z1 + z == z + 2) || (x1 + x == x + 2 && z1 + z == z - 2) || (x1 + x == x - 2 && z1 + z == z - 2)) { int id = par1World.getBlockId(x + x1, y + y1, z + z1); - if(id != Block.sandStone) { + if(id != Block.sandStone.blockID) { return false; } } @@ -99,7 +99,7 @@ public boolean tryToCreatePortal(World par1World, int x, int y, int z) { } for(int x1 = -1; x1 < 2; x1++) { for(int z1 = -1; z1 < 2; z1++) { - par1World.setBlock(x + x1, y + 1, z + z1, AtumBlocks.BLOCK_PORTAL); + par1World.setBlock(x + x1, y + 1, z + z1, Blocks.BLOCK_PORTAL.blockID); } } return true; diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockSandLayered.java b/src/com/teammetallurgy/atum/blocks/BlockSandLayered.java similarity index 80% rename from src/main/java/com/teammetallurgy/atum/blocks/BlockSandLayered.java rename to src/com/teammetallurgy/atum/blocks/BlockSandLayered.java index 9b12553..94eed7e 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockSandLayered.java +++ b/src/com/teammetallurgy/atum/blocks/BlockSandLayered.java @@ -4,6 +4,7 @@ import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.EnumSkyBlock; @@ -15,7 +16,7 @@ public class BlockSandLayered extends Block { public BlockSandLayered(int par1) { - super(Material.sand); + super(par1, Material.sand); this.setUnlocalizedName("atum:sandLayer"); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.125F, 1.0F); this.setTickRandomly(true); @@ -60,17 +61,18 @@ protected void func_96478_d(int par1) { @Override public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4) { - Block block = par1World.getBlock(par2, par3 - 1, par4); - return block == null ? false : (block == this ? true : (block == this && (par1World.getBlockMetadata(par2, par3 - 1, par4) & 7) == 7 ? true : (!block.isLeaves(par1World, par2, par3 - 1, par4) && !block.isOpaqueCube() ? false : par1World.getBlock(par2, par3 - 1, par4).getMaterial().blocksMovement()))); + int l = par1World.getBlockId(par2, par3 - 1, par4); + Block block = Block.blocksList[l]; + return block == null ? false : (block.blockID == this.blockID ? true : (block == this && (par1World.getBlockMetadata(par2, par3 - 1, par4) & 7) == 7 ? true : (!block.isLeaves(par1World, par2, par3 - 1, par4) && !Block.blocksList[l].isOpaqueCube() ? false : par1World.getBlockMaterial(par2, par3 - 1, par4).blocksMovement()))); } @Override - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, Block par5) { + public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) { this.canSnowStay(par1World, par2, par3, par4); } private boolean canSnowStay(World par1World, int par2, int par3, int par4) { - if (!this.canPlaceBlockAt(par1World, par2, par3, par4)) { + if(!this.canPlaceBlockAt(par1World, par2, par3, par4)) { par1World.setBlockToAir(par2, par3, par4); return false; } else { @@ -96,7 +98,7 @@ public int quantityDropped(Random par1Random) { @Override public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if (par1World.getSavedLightValue(EnumSkyBlock.Block, par2, par3, par4) > 11) { + if(par1World.getSavedLightValue(EnumSkyBlock.Block, par2, par3, par4) > 11) { par1World.setBlockToAir(par2, par3, par4); } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockSands.java b/src/com/teammetallurgy/atum/blocks/BlockSands.java similarity index 85% rename from src/main/java/com/teammetallurgy/atum/blocks/BlockSands.java rename to src/com/teammetallurgy/atum/blocks/BlockSands.java index 0eabd0a..ec23a94 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockSands.java +++ b/src/com/teammetallurgy/atum/blocks/BlockSands.java @@ -1,6 +1,7 @@ package com.teammetallurgy.atum.blocks; import net.minecraft.block.BlockSand; +import net.minecraft.client.renderer.texture.IconRegister; public class BlockSands extends BlockSand { diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockShrub.java b/src/com/teammetallurgy/atum/blocks/BlockShrub.java similarity index 56% rename from src/main/java/com/teammetallurgy/atum/blocks/BlockShrub.java rename to src/com/teammetallurgy/atum/blocks/BlockShrub.java index 5e67043..5dc7869 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockShrub.java +++ b/src/com/teammetallurgy/atum/blocks/BlockShrub.java @@ -4,24 +4,26 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockDeadBush; -import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.stats.StatList; import net.minecraft.world.World; +import com.teammetallurgy.atum.Atum; + public class BlockShrub extends BlockDeadBush { protected BlockShrub(int par1) { - super(); + super(par1); this.setHardness(0.0F); - this.setStepSound(Block.soundTypeGrass); + this.setStepSound(Block.soundGrassFootstep); } @Override - public boolean canPlaceBlockOn(Block par1) { - return par1 == AtumBlocks.BLOCK_SAND; + public boolean canThisPlantGrowOnThisBlockID(int par1) { + return par1 == Blocks.BLOCK_SAND.blockID; } @Override @@ -31,9 +33,9 @@ public int idDropped(int par1, Random par2Random, int par3) { @Override public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6) { - if (!par1World.isRemote && par2EntityPlayer.getCurrentEquippedItem() != null && par2EntityPlayer.getCurrentEquippedItem().itemID == Item.shears.itemID) { - par2EntityPlayer.addStat(StatList.mineBlockStatArray[super], 1); - this.dropBlockAsItem(par1World, par3, par4, par5, new ItemStack(AtumBlocks.BLOCK_SHRUB, 1, par6)); + if(!par1World.isRemote && par2EntityPlayer.getCurrentEquippedItem() != null && par2EntityPlayer.getCurrentEquippedItem().itemID == Item.shears.itemID) { + par2EntityPlayer.addStat(StatList.mineBlockStatArray[super.blockID], 1); + this.dropBlockAsItem_do(par1World, par3, par4, par5, new ItemStack(Blocks.BLOCK_SHRUB, 1, par6)); } else { super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6); } @@ -41,7 +43,7 @@ public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par } @Override - public void registerBlockIcons(IIconRegister par1IconRegister) { + public void registerIcons(IconRegister par1IconRegister) { this.blockIcon = par1IconRegister.registerIcon("atum:DeadBush"); } diff --git a/src/com/teammetallurgy/atum/blocks/BlockSlab.java b/src/com/teammetallurgy/atum/blocks/BlockSlab.java new file mode 100644 index 0000000..6da6898 --- /dev/null +++ b/src/com/teammetallurgy/atum/blocks/BlockSlab.java @@ -0,0 +1,68 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.List; +import java.util.Random; + +import com.teammetallurgy.atum.LocalizationHelper; + +import net.minecraft.block.BlockHalfSlab; +import net.minecraft.block.material.Material; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.ItemStack; +import net.minecraft.util.Icon; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockSlab extends BlockHalfSlab { + public static final String[] slabType = {"smooth", "cracked", "largeBrick", "smallBrick"}; + + public BlockSlab(int par1, boolean par2) { + super(par1, par2, Material.rock); + this.setHardness(2.0F); + } + + public String getLocalizedName(ItemStack stack) { + return LocalizationHelper.localize("block.slab" + stack.getItemDamage() + ".name"); + } + + @Override + @SideOnly(Side.CLIENT) + public Icon getIcon(int par1, int par2) { + par2 %= 4; + if(par2 == 0) + return Blocks.BLOCK_STONE.getIcon(par1, par2 & 0x7); + if(par2 == 1) + return Blocks.BLOCK_LIMESTONECOBBLE.getIcon(par1, par2 & 0x7); + if(par2 == 2) { + return Blocks.BLOCK_LARGEBRICK.getIcon(par1, par2 & 0x7); + } + return Blocks.BLOCK_SMALLBRICK.getIcon(par1, par2 & 0x7); + } + + @Override + public int idDropped(int par1, Random par2Random, int par3) { + return this.blockID; + } + + @Override + protected ItemStack createStackedBlock(int par1) { + return new ItemStack(this.blockID, 2, par1 & 0x7); + } + + @Override + public String getFullSlabName(int par1) { + if((par1 < 0) || (par1 >= slabType.length)) { + par1 = 0; + } + + return super.getUnlocalizedName() + "." + slabType[par1]; + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubBlocks(int par1, CreativeTabs tab, List subItems) { + for(int i = 0; i < 4; i++) + subItems.add(new ItemStack(this, 1, i)); + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockStair.java b/src/com/teammetallurgy/atum/blocks/BlockStair.java similarity index 100% rename from src/main/java/com/teammetallurgy/atum/blocks/BlockStair.java rename to src/com/teammetallurgy/atum/blocks/BlockStair.java diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockStones.java b/src/com/teammetallurgy/atum/blocks/BlockStones.java similarity index 81% rename from src/main/java/com/teammetallurgy/atum/blocks/BlockStones.java rename to src/com/teammetallurgy/atum/blocks/BlockStones.java index 07f2e1b..be9f59c 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockStones.java +++ b/src/com/teammetallurgy/atum/blocks/BlockStones.java @@ -3,6 +3,7 @@ import java.util.Random; import net.minecraft.block.BlockStone; +import net.minecraft.client.renderer.texture.IconRegister; public class BlockStones extends BlockStone { @@ -12,7 +13,7 @@ public BlockStones(int par1) { } public int idDropped(int par1, Random par2Random, int par3) { - return AtumBlocks.BLOCK_LIMESTONECOBBLE; + return Blocks.BLOCK_LIMESTONECOBBLE.blockID; } @Override diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockWalls.java b/src/com/teammetallurgy/atum/blocks/BlockWalls.java similarity index 92% rename from src/main/java/com/teammetallurgy/atum/blocks/BlockWalls.java rename to src/com/teammetallurgy/atum/blocks/BlockWalls.java index 31cc4c9..fc927f8 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockWalls.java +++ b/src/com/teammetallurgy/atum/blocks/BlockWalls.java @@ -2,14 +2,14 @@ import java.util.List; -import javax.swing.Icon; - import net.minecraft.block.Block; import net.minecraft.block.BlockWall; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.ItemStack; +import net.minecraft.util.Icon; import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.common.ForgeDirection; import com.teammetallurgy.atum.LocalizationHelper; diff --git a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java b/src/com/teammetallurgy/atum/blocks/Blocks.java similarity index 94% rename from src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java rename to src/com/teammetallurgy/atum/blocks/Blocks.java index 9b88803..ee71302 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java +++ b/src/com/teammetallurgy/atum/blocks/Blocks.java @@ -17,7 +17,7 @@ import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; -public enum AtumBlocks { +public enum Blocks { INSTANCE; public static final BlockPortal BLOCK_PORTAL = new BlockPortal(AtumIDS.BLOCK_PORTAL_ID); @@ -28,8 +28,8 @@ public enum AtumBlocks { public static final Block BLOCK_LARGEBRICK = ((BlockAtum) new BlockAtum(AtumIDS.BLOCK_LARGEBRICK_ID, "atum:largeBrick").setTextureName("atum:AtumBrickLarge")).setNonBreak(); public static final Block BLOCK_SMALLBRICK = new BlockAtum(AtumIDS.BLOCK_SMALLBRICK_ID, "atum:smallBrick").setTextureName("atum:AtumBrickSmall"); public static final Block BLOCK_CARVEDBRICK = new BlockAtum(AtumIDS.BLOCK_CARVEDBRICK_ID, "atum:carvedBrick").setTextureName("atum:AtumBrickCarved"); - public static final Block BLOCK_SLABS = new AtumBlockSlab(AtumIDS.BLOCK_SLABS_ID, false).setUnlocalizedName("atum:slab"); - public static final Block BLOCK_DOUBLESLAB = new AtumBlockSlab(AtumIDS.BLOCK_DOUBLE_SLAB_ID, true).setUnlocalizedName("atum:doubleSlab"); + public static final Block BLOCK_SLABS = new BlockSlab(AtumIDS.BLOCK_SLABS_ID, false).setUnlocalizedName("atum:slab"); + public static final Block BLOCK_DOUBLESLAB = new BlockSlab(AtumIDS.BLOCK_DOUBLE_SLAB_ID, true).setUnlocalizedName("atum:doubleSlab"); public static final Block BLOCK_SMOOTHSTAIRS = new BlockStair(AtumIDS.BLOCK_SMOOTHSTAIRS_ID, BLOCK_STONE, 0).setUnlocalizedName("atum:smoothStairs"); public static final Block BLOCK_COBBLESTAIRS = new BlockStair(AtumIDS.BLOCK_COBBLESTAIRS_ID, BLOCK_LIMESTONECOBBLE, 0).setUnlocalizedName("atum:cobbleStairs"); public static final Block BLOCK_LARGESTONESTAIRS = new BlockStair(AtumIDS.BLOCK_LARGESTONESTAIRS_ID, BLOCK_LARGEBRICK, 0).setUnlocalizedName("atum:largeStairs"); @@ -59,7 +59,7 @@ public enum AtumBlocks { public static final Block BLOCK_IRONORE = new BlockAtumOres(AtumIDS.BLOCK_IRONORE_ID).setUnlocalizedName("atum:ironOre").setTextureName("atum:AtumIron"); public static final Block BLOCK_GOLDORE = new BlockAtumOres(AtumIDS.BLOCK_GOLDORE_ID).setUnlocalizedName("atum:goldOre").setTextureName("atum:AtumGold"); public static final Block BLOCK_LAPISORE = new BlockAtumOres(AtumIDS.BLOCK_LAPISORE_ID).setUnlocalizedName("atum:lapisOre").setTextureName("atum:AtumLapis"); - public static final Block BLOCK_DIAMONDORE = new BlockAtumOres(AtumIDS.BLOCK_DIAMONDORE_ID).setHarvestLevel("pickaxe", 0);//.setUnlocalizedName("atum:diamondOre").setTextureName("atum:AtumDiamond"); + public static final Block BLOCK_DIAMONDORE = new BlockAtumOres(AtumIDS.BLOCK_DIAMONDORE_ID).setUnlocalizedName("atum:diamondOre").setTextureName("atum:AtumDiamond"); public static final Block BLOCK_FURNACEIDLE = new BlockLimeStoneFurnace(AtumIDS.BLOCK_FURNACEIDLE_ID, false).setUnlocalizedName("atum:furnaceIdle"); public static final Block BLOCK_FURNACEBURNING = new BlockLimeStoneFurnace(AtumIDS.BLOCK_FURNACEBURNING_ID, true).setUnlocalizedName("atum:furnaceBurning"); @@ -115,8 +115,8 @@ public void registerBlocks() { MinecraftForge.setBlockHarvestLevel(BLOCK_LAPISORE, "pickaxe", 1); MinecraftForge.setBlockHarvestLevel(BLOCK_DIAMONDORE, "pickaxe", 2); MinecraftForge.setBlockHarvestLevel(BLOCK_REDSTONEORE, "pickaxe", 2); - Block.setBurnProperties(BLOCK_PLANKS, 5, 20); - Block.setBurnProperties(BLOCK_LEAVES, 30, 60); + Block.setBurnProperties(BLOCK_PLANKS.blockID, 5, 20); + Block.setBurnProperties(BLOCK_LEAVES.blockID, 30, 60); GameRegistry.registerTileEntity(TileEntityChestSpawner.class, "CursedChest"); GameRegistry.registerTileEntity(TileEntityPharaohChest.class, "PharaohChest"); @@ -128,7 +128,7 @@ private void register(Block b) { if(!(b instanceof BlockDate)) { b.setCreativeTab(Atum.creativeTab); } - if(b instanceof AtumBlockSlab) { + if(b instanceof BlockSlab) { GameRegistry.registerBlock(b, ItemBlockSlab.class, b.getUnlocalizedName()); } else if(b instanceof BlockWalls) { GameRegistry.registerBlock(b, ItemBlockWall.class, b.getUnlocalizedName()); diff --git a/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockSlab.java b/src/com/teammetallurgy/atum/blocks/ItemBlockSlab.java similarity index 73% rename from src/main/java/com/teammetallurgy/atum/blocks/ItemBlockSlab.java rename to src/com/teammetallurgy/atum/blocks/ItemBlockSlab.java index 79d048c..eeec639 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockSlab.java +++ b/src/com/teammetallurgy/atum/blocks/ItemBlockSlab.java @@ -6,8 +6,8 @@ public class ItemBlockSlab extends ItemBlock { - public ItemBlockSlab(Block block) { - super(block); + public ItemBlockSlab(int par1) { + super(par1); } @Override @@ -17,6 +17,6 @@ public String getItemDisplayName(ItemStack stack) { @Override public String getItemStackDisplayName(ItemStack stack) { - return ((AtumBlockSlab) Block.blocksList[getBlockID()]).getLocalizedName(stack); + return ((BlockSlab) Block.blocksList[getBlockID()]).getLocalizedName(stack); } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockWall.java b/src/com/teammetallurgy/atum/blocks/ItemBlockWall.java similarity index 73% rename from src/main/java/com/teammetallurgy/atum/blocks/ItemBlockWall.java rename to src/com/teammetallurgy/atum/blocks/ItemBlockWall.java index 02bb578..4df785a 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockWall.java +++ b/src/com/teammetallurgy/atum/blocks/ItemBlockWall.java @@ -6,8 +6,8 @@ public class ItemBlockWall extends ItemBlock { - public ItemBlockWall(Block block) { - super(block); + public ItemBlockWall(int par1) { + super(par1); } @Override @@ -17,7 +17,7 @@ public String getItemDisplayName(ItemStack stack) { @Override public String getItemStackDisplayName(ItemStack stack) { - return ((BlockWalls) Block.getBlockFromItem(stack.getItem())).getLocalizedName(stack); + return ((BlockWalls) Block.blocksList[getBlockID()]).getLocalizedName(stack); } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/CursedChestBaseLogic.java b/src/com/teammetallurgy/atum/blocks/tileentity/CursedChestBaseLogic.java similarity index 74% rename from src/main/java/com/teammetallurgy/atum/blocks/tileentity/CursedChestBaseLogic.java rename to src/com/teammetallurgy/atum/blocks/tileentity/CursedChestBaseLogic.java index 323659f..5254621 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/CursedChestBaseLogic.java +++ b/src/com/teammetallurgy/atum/blocks/tileentity/CursedChestBaseLogic.java @@ -8,11 +8,12 @@ import net.minecraft.entity.EntityList; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IEntityLivingData; +import net.minecraft.entity.EntityLivingData; import net.minecraft.nbt.NBTBase; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.MobSpawnerBaseLogic; +import net.minecraft.tileentity.WeightedRandomMinecart; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.WeightedRandom; import net.minecraft.world.World; @@ -26,7 +27,7 @@ public abstract class CursedChestBaseLogic extends MobSpawnerBaseLogic { /** List of minecart to spawn. */ private List minecartToSpawn; - private WeightedRandomMinecart randomEntity; + private WeightedRandomMinecart randomMinecart; public double field_98287_c; public double field_98284_d; public int minSpawnDelay = 200; @@ -48,67 +49,70 @@ public abstract class CursedChestBaseLogic extends MobSpawnerBaseLogic { */ @Override public String getEntityNameToSpawn() { - if (this.getRandomEntity() == null) { - if (this.mobID.equals("Minecart")) { + if(this.getRandomMinecart() == null) { + if(this.mobID.equals("Minecart")) { this.mobID = "MinecartRideable"; } return this.mobID; } else { - return this.getRandomEntity().entityTypeName; + return this.getRandomMinecart().minecartName; } } @Override - public void setEntityName(String par1Str) { + public void setMobID(String par1Str) { this.mobID = par1Str; } + /** + * Returns true if there's a player close enough to this mob spawner to activate it. + */ @Override - public boolean isActivated() { + public boolean canRun() { return this.getSpawnerWorld().getClosestPlayer((double) this.getSpawnerX() + 0.5D, (double) this.getSpawnerY() + 0.5D, (double) this.getSpawnerZ() + 0.5D, (double) this.activatingRangeFromPlayer) != null; } @Override public void updateSpawner() { - if (this.isActivated()) { + if(this.canRun()) { double d0; - if (this.getSpawnerWorld().isRemote) { + if(this.getSpawnerWorld().isRemote) { double d1 = (double) ((float) this.getSpawnerX() + this.getSpawnerWorld().rand.nextFloat()); double d2 = (double) ((float) this.getSpawnerY() + this.getSpawnerWorld().rand.nextFloat()); d0 = (double) ((float) this.getSpawnerZ() + this.getSpawnerWorld().rand.nextFloat()); this.getSpawnerWorld().spawnParticle("smoke", d1, d2, d0, 0.0D, 0.0D, 0.0D); this.getSpawnerWorld().spawnParticle("flame", d1, d2, d0, 0.0D, 0.0D, 0.0D); - if (this.spawnDelay > 0) { + if(this.spawnDelay > 0) { --this.spawnDelay; } this.field_98284_d = this.field_98287_c; this.field_98287_c = (this.field_98287_c + (double) (1000.0F / ((float) this.spawnDelay + 200.0F))) % 360.0D; } else { - if (this.spawnDelay == -1) { + if(this.spawnDelay == -1) { this.func_98273_j(); } - if (this.spawnDelay > 0) { + if(this.spawnDelay > 0) { --this.spawnDelay; return; } boolean flag = false; - for (int i = 0; i < this.spawnCount; ++i) { + for(int i = 0; i < this.spawnCount; ++i) { Entity entity = EntityList.createEntityByName(this.getEntityNameToSpawn(), this.getSpawnerWorld()); - if (entity == null) { + if(entity == null) { return; } int j = this.getSpawnerWorld().getEntitiesWithinAABB(entity.getClass(), AxisAlignedBB.getAABBPool().getAABB((double) this.getSpawnerX(), (double) this.getSpawnerY(), (double) this.getSpawnerZ(), (double) (this.getSpawnerX() + 1), (double) (this.getSpawnerY() + 1), (double) (this.getSpawnerZ() + 1)).expand((double) (this.spawnRange * 2), 4.0D, (double) (this.spawnRange * 2))).size(); - if (j >= this.maxNearbyEntities) { + if(j >= this.maxNearbyEntities) { this.func_98273_j(); return; } @@ -119,11 +123,11 @@ public void updateSpawner() { EntityLiving entityliving = entity instanceof EntityLiving ? (EntityLiving) entity : null; entity.setLocationAndAngles(d0, d3, d4, this.getSpawnerWorld().rand.nextFloat() * 360.0F, 0.0F); - if (entityliving == null || entityliving.getCanSpawnHere()) { + if(entityliving == null || entityliving.getCanSpawnHere()) { this.func_98265_a(entity); this.getSpawnerWorld().playAuxSFX(2004, this.getSpawnerX(), this.getSpawnerY(), this.getSpawnerZ(), 0); - if (entityliving != null) { + if(entityliving != null) { entityliving.spawnExplosionParticle(); } @@ -131,7 +135,7 @@ public void updateSpawner() { } } - if (flag) { + if(flag) { this.func_98273_j(); } } @@ -140,34 +144,34 @@ public void updateSpawner() { @Override public Entity func_98265_a(Entity par1Entity) { - if (this.getRandomEntity() != null) { + if(this.getRandomMinecart() != null) { NBTTagCompound nbttagcompound = new NBTTagCompound(); par1Entity.writeToNBTOptional(nbttagcompound); - Iterator iterator = this.getRandomEntity().field_98222_b.getTags().iterator(); + Iterator iterator = this.getRandomMinecart().field_98222_b.getTags().iterator(); - while (iterator.hasNext()) { + while(iterator.hasNext()) { NBTBase nbtbase = (NBTBase) iterator.next(); nbttagcompound.setTag(nbtbase.getName(), nbtbase.copy()); } par1Entity.readFromNBT(nbttagcompound); - if (par1Entity.worldObj != null) { + if(par1Entity.worldObj != null) { par1Entity.worldObj.spawnEntityInWorld(par1Entity); } NBTTagCompound nbttagcompound1; - for (Entity entity1 = par1Entity; nbttagcompound.hasKey("Riding"); nbttagcompound = nbttagcompound1) { + for(Entity entity1 = par1Entity; nbttagcompound.hasKey("Riding"); nbttagcompound = nbttagcompound1) { nbttagcompound1 = nbttagcompound.getCompoundTag("Riding"); Entity entity2 = EntityList.createEntityByName(nbttagcompound1.getString("id"), par1Entity.worldObj); - if (entity2 != null) { + if(entity2 != null) { NBTTagCompound nbttagcompound2 = new NBTTagCompound(); entity2.writeToNBTOptional(nbttagcompound2); Iterator iterator1 = nbttagcompound1.getTags().iterator(); - while (iterator1.hasNext()) { + while(iterator1.hasNext()) { NBTBase nbtbase1 = (NBTBase) iterator1.next(); nbttagcompound2.setTag(nbtbase1.getName(), nbtbase1.copy()); } @@ -175,7 +179,7 @@ public Entity func_98265_a(Entity par1Entity) { entity2.readFromNBT(nbttagcompound2); entity2.setLocationAndAngles(entity1.posX, entity1.posY, entity1.posZ, entity1.rotationYaw, entity1.rotationPitch); - if (par1Entity.worldObj != null) { + if(par1Entity.worldObj != null) { par1Entity.worldObj.spawnEntityInWorld(entity2); } @@ -184,8 +188,8 @@ public Entity func_98265_a(Entity par1Entity) { entity1 = entity2; } - } else if (par1Entity instanceof EntityLivingBase && par1Entity.worldObj != null) { - ((EntityLiving) par1Entity).onSpawnWithEgg((IEntityLivingData) null); + } else if(par1Entity instanceof EntityLivingBase && par1Entity.worldObj != null) { + ((EntityLiving) par1Entity).onSpawnWithEgg((EntityLivingData) null); this.getSpawnerWorld().spawnEntityInWorld(par1Entity); } @@ -193,15 +197,15 @@ public Entity func_98265_a(Entity par1Entity) { } private void func_98273_j() { - if (this.maxSpawnDelay <= this.minSpawnDelay) { + if(this.maxSpawnDelay <= this.minSpawnDelay) { this.spawnDelay = this.minSpawnDelay; } else { int i = this.maxSpawnDelay - this.minSpawnDelay; this.spawnDelay = this.minSpawnDelay + this.getSpawnerWorld().rand.nextInt(i); } - if (this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { - this.setRandomEntity((WeightedRandomMinecart) WeightedRandom.getRandomItem(this.getSpawnerWorld().rand, this.minecartToSpawn)); + if(this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { + this.setRandomMinecart((WeightedRandomMinecart) WeightedRandom.getRandomItem(this.getSpawnerWorld().rand, this.minecartToSpawn)); } this.func_98267_a(1); @@ -212,39 +216,39 @@ public void readFromNBT(NBTTagCompound par1NBTTagCompound) { this.mobID = par1NBTTagCompound.getString("EntityId"); this.spawnDelay = par1NBTTagCompound.getShort("Delay"); - if (par1NBTTagCompound.hasKey("SpawnPotentials")) { + if(par1NBTTagCompound.hasKey("SpawnPotentials")) { this.minecartToSpawn = new ArrayList(); NBTTagList nbttaglist = par1NBTTagCompound.getTagList("SpawnPotentials"); - for (int i = 0; i < nbttaglist.tagCount(); ++i) { + for(int i = 0; i < nbttaglist.tagCount(); ++i) { this.minecartToSpawn.add(new WeightedRandomMinecart(this, (NBTTagCompound) nbttaglist.tagAt(i))); } } else { this.minecartToSpawn = null; } - if (par1NBTTagCompound.hasKey("SpawnData")) { - this.setRandomEntity(new WeightedRandomMinecart(this, par1NBTTagCompound.getCompoundTag("SpawnData"), this.mobID)); + if(par1NBTTagCompound.hasKey("SpawnData")) { + this.setRandomMinecart(new WeightedRandomMinecart(this, par1NBTTagCompound.getCompoundTag("SpawnData"), this.mobID)); } else { - this.setRandomEntity((WeightedRandomMinecart) null); + this.setRandomMinecart((WeightedRandomMinecart) null); } - if (par1NBTTagCompound.hasKey("MinSpawnDelay")) { + if(par1NBTTagCompound.hasKey("MinSpawnDelay")) { this.minSpawnDelay = par1NBTTagCompound.getShort("MinSpawnDelay"); this.maxSpawnDelay = par1NBTTagCompound.getShort("MaxSpawnDelay"); this.spawnCount = par1NBTTagCompound.getShort("SpawnCount"); } - if (par1NBTTagCompound.hasKey("MaxNearbyEntities")) { + if(par1NBTTagCompound.hasKey("MaxNearbyEntities")) { this.maxNearbyEntities = par1NBTTagCompound.getShort("MaxNearbyEntities"); this.activatingRangeFromPlayer = par1NBTTagCompound.getShort("RequiredPlayerRange"); } - if (par1NBTTagCompound.hasKey("SpawnRange")) { + if(par1NBTTagCompound.hasKey("SpawnRange")) { this.spawnRange = par1NBTTagCompound.getShort("SpawnRange"); } - if (this.getSpawnerWorld() != null && this.getSpawnerWorld().isRemote) { + if(this.getSpawnerWorld() != null && this.getSpawnerWorld().isRemote) { this.field_98291_j = null; } } @@ -260,22 +264,22 @@ public void writeToNBT(NBTTagCompound par1NBTTagCompound) { par1NBTTagCompound.setShort("RequiredPlayerRange", (short) this.activatingRangeFromPlayer); par1NBTTagCompound.setShort("SpawnRange", (short) this.spawnRange); - if (this.getRandomEntity() != null) { - par1NBTTagCompound.setCompoundTag("SpawnData", (NBTTagCompound) this.getRandomEntity().field_98222_b.copy()); + if(this.getRandomMinecart() != null) { + par1NBTTagCompound.setCompoundTag("SpawnData", (NBTTagCompound) this.getRandomMinecart().field_98222_b.copy()); } - if (this.getRandomEntity() != null || this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { + if(this.getRandomMinecart() != null || this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { NBTTagList nbttaglist = new NBTTagList(); - if (this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { + if(this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { Iterator iterator = this.minecartToSpawn.iterator(); - while (iterator.hasNext()) { + while(iterator.hasNext()) { WeightedRandomMinecart weightedrandomminecart = (WeightedRandomMinecart) iterator.next(); nbttaglist.appendTag(weightedrandomminecart.func_98220_a()); } } else { - nbttaglist.appendTag(this.getRandomEntity().func_98220_a()); + nbttaglist.appendTag(this.getRandomMinecart().func_98220_a()); } par1NBTTagCompound.setTag("SpawnPotentials", nbttaglist); @@ -287,7 +291,7 @@ public void writeToNBT(NBTTagCompound par1NBTTagCompound) { */ @Override public boolean setDelayToMin(int par1) { - if (par1 == 1 && this.getSpawnerWorld().isRemote) { + if(par1 == 1 && this.getSpawnerWorld().isRemote) { this.spawnDelay = this.minSpawnDelay; return true; } else { @@ -298,7 +302,7 @@ public boolean setDelayToMin(int par1) { @Override @SideOnly(Side.CLIENT) public Entity func_98281_h() { - if (this.field_98291_j == null) { + if(this.field_98291_j == null) { Entity entity = EntityList.createEntityByName(this.getEntityNameToSpawn(), (World) null); entity = this.func_98265_a(entity); this.field_98291_j = entity; @@ -308,13 +312,13 @@ public Entity func_98281_h() { } @Override - public WeightedRandomMinecart getRandomEntity() { - return this.randomEntity; + public WeightedRandomMinecart getRandomMinecart() { + return this.randomMinecart; } @Override - public void setRandomEntity(WeightedRandomMinecart par1WeightedRandomMinecart) { - this.randomEntity = par1WeightedRandomMinecart; + public void setRandomMinecart(WeightedRandomMinecart par1WeightedRandomMinecart) { + this.randomMinecart = par1WeightedRandomMinecart; } @Override diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/CursedChestSpawnerLogic.java b/src/com/teammetallurgy/atum/blocks/tileentity/CursedChestSpawnerLogic.java similarity index 66% rename from src/main/java/com/teammetallurgy/atum/blocks/tileentity/CursedChestSpawnerLogic.java rename to src/com/teammetallurgy/atum/blocks/tileentity/CursedChestSpawnerLogic.java index 9d45476..81bbe74 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/CursedChestSpawnerLogic.java +++ b/src/com/teammetallurgy/atum/blocks/tileentity/CursedChestSpawnerLogic.java @@ -1,7 +1,7 @@ package com.teammetallurgy.atum.blocks.tileentity; import net.minecraft.block.Block; -import net.minecraft.init.Blocks; +import net.minecraft.tileentity.WeightedRandomMinecart; import net.minecraft.world.World; class CursedChestSpawnerLogic extends CursedChestBaseLogic { @@ -14,12 +14,12 @@ class CursedChestSpawnerLogic extends CursedChestBaseLogic { @Override public void func_98267_a(int par1) { - this.field_98295_a.getWorldObj().addBlockEvent(this.field_98295_a.xCoord, this.field_98295_a.yCoord, this.field_98295_a.zCoord, Blocks.mob_spawner, par1, 0); + this.field_98295_a.worldObj.addBlockEvent(this.field_98295_a.xCoord, this.field_98295_a.yCoord, this.field_98295_a.zCoord, Block.mobSpawner.blockID, par1, 0); } @Override public World getSpawnerWorld() { - return this.field_98295_a.getWorldObj(); + return this.field_98295_a.worldObj; } @Override @@ -38,9 +38,9 @@ public int getSpawnerZ() { } @Override - public void setRandomEntity(WeightedRandomMinecart par1WeightedRandomMinecart) { - super.setRandomEntity(par1WeightedRandomMinecart); - if (this.getSpawnerWorld() != null) { + public void setRandomMinecart(WeightedRandomMinecart par1WeightedRandomMinecart) { + super.setRandomMinecart(par1WeightedRandomMinecart); + if(this.getSpawnerWorld() != null) { this.getSpawnerWorld().markBlockForUpdate(this.field_98295_a.xCoord, this.field_98295_a.yCoord, this.field_98295_a.zCoord); } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java b/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java similarity index 100% rename from src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java rename to src/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityChestSpawner.java b/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityChestSpawner.java similarity index 92% rename from src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityChestSpawner.java rename to src/com/teammetallurgy/atum/blocks/tileentity/TileEntityChestSpawner.java index 23c868a..d942c2e 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityChestSpawner.java +++ b/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityChestSpawner.java @@ -30,38 +30,38 @@ public class TileEntityChestSpawner extends TileEntityChest implements IInventor public TileEntityChestSpawner() { int entityID = (int) (Math.random() * 6.0D); if(entityID == 0) { - this.chestSpawner.setEntityName("AtumMummy"); + this.chestSpawner.setMobID("AtumMummy"); } if(entityID == 1) { - this.chestSpawner.setEntityName("AtumBanditWarrior"); + this.chestSpawner.setMobID("AtumBanditWarrior"); } if(entityID == 2) { - this.chestSpawner.setEntityName("AtumBanditArcher"); + this.chestSpawner.setMobID("AtumBanditArcher"); } if(entityID == 3) { - this.chestSpawner.setEntityName("AtumDustySkeleton"); + this.chestSpawner.setMobID("AtumDustySkeleton"); } if(entityID == 4) { - this.chestSpawner.setEntityName("AtumDesertGhost"); + this.chestSpawner.setMobID("AtumDesertGhost"); } if(entityID == 5) { - this.chestSpawner.setEntityName("AtumStoneSoldier"); + this.chestSpawner.setMobID("AtumStoneSoldier"); } if(entityID == 6) { - this.chestSpawner.setEntityName("AtumDesertWolf"); + this.chestSpawner.setMobID("AtumDesertWolf"); } this.chestSpawner.minSpawnDelay = 0; } public void setSpawnerEntity(String name) { - this.chestSpawner.setEntityName(name); + this.chestSpawner.setMobID(name); } public void setMaxEntities(int max) { @@ -289,18 +289,18 @@ public void openChest() { } ++super.numUsingPlayers; - super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numUsingPlayers); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID, 1, super.numUsingPlayers); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType().blockID); } @Override public void closeChest() { if(this.getBlockType() != null && this.getBlockType() instanceof BlockChest) { --super.numUsingPlayers; - super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numUsingPlayers); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID, 1, super.numUsingPlayers); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType().blockID); } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityPharaohChest.java b/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityPharaohChest.java similarity index 96% rename from src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityPharaohChest.java rename to src/com/teammetallurgy/atum/blocks/tileentity/TileEntityPharaohChest.java index 15b3512..7f8fec0 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityPharaohChest.java +++ b/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityPharaohChest.java @@ -219,17 +219,17 @@ public void openChest() { } ++super.numUsingPlayers; - super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numUsingPlayers); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID, 1, super.numUsingPlayers); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType().blockID); } public void closeChest() { if(this.getBlockType() != null && this.getBlockType() instanceof BlockChest) { --super.numUsingPlayers; - super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numUsingPlayers); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID, 1, super.numUsingPlayers); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType().blockID); } } diff --git a/src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java b/src/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java similarity index 100% rename from src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java rename to src/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java diff --git a/src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java b/src/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java similarity index 100% rename from src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java rename to src/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java diff --git a/src/main/java/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java b/src/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java similarity index 94% rename from src/main/java/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java rename to src/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java index c84adaf..8f2266b 100644 --- a/src/main/java/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java +++ b/src/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java @@ -41,9 +41,4 @@ private void setRotation(ModelRenderer model, float x, float y, float z) { public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity par7Entity) { super.setRotationAngles(f, f1, f2, f3, f4, f5, par7Entity); } - - public void render() { - this.Fruit.render(0.0625F); - this.Stem.render(0.0625F); - } } diff --git a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderBandit.java b/src/com/teammetallurgy/atum/client/render/entity/RenderBandit.java similarity index 74% rename from src/main/java/com/teammetallurgy/atum/client/render/entity/RenderBandit.java rename to src/com/teammetallurgy/atum/client/render/entity/RenderBandit.java index ce1e513..bb20c77 100644 --- a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderBandit.java +++ b/src/com/teammetallurgy/atum/client/render/entity/RenderBandit.java @@ -7,17 +7,19 @@ import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.entity.RenderBiped; import net.minecraft.client.renderer.tileentity.TileEntitySkullRenderer; +import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.IItemRenderer; import net.minecraftforge.client.MinecraftForgeClient; import org.lwjgl.opengl.GL11; -import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.entity.EntityBanditWarrior; +import com.teammetallurgy.atum.items.Items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -34,18 +36,18 @@ protected void renderEquippedItems(EntityLivingBase par1EntityLiving, float par2 float f1 = 1.0F; GL11.glColor3f(f1, f1, f1); ItemStack itemstack = par1EntityLiving.getHeldItem(); - ItemStack itemstack1 = par1EntityLiving.getEquipmentInSlot(3); + ItemStack itemstack1 = par1EntityLiving.getCurrentItemOrArmor(3); float f2; - if (itemstack1 != null) { + if(itemstack1 != null) { GL11.glPushMatrix(); this.modelBipedMain.bipedHead.postRender(0.0625F); IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemstack1, EQUIPPED); boolean is3D = (customRenderer != null && customRenderer.shouldUseRenderHelper(EQUIPPED, itemstack1, BLOCK_3D)); - if (itemstack1.getItem() instanceof ItemBlock) { - if (is3D || RenderBlocks.renderItemIn3d(Block.getBlockFromItem(itemstack1.getItem()).getRenderType())) { + if(itemstack1.getItem() instanceof ItemBlock) { + if(is3D || RenderBlocks.renderItemIn3d(Block.blocksList[itemstack1.itemID].getRenderType())) { f2 = 0.625F; GL11.glTranslatef(0.0F, -0.25F, 0.0F); GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); @@ -53,25 +55,25 @@ protected void renderEquippedItems(EntityLivingBase par1EntityLiving, float par2 } this.renderManager.itemRenderer.renderItem(par1EntityLiving, itemstack1, 0); - } else if (itemstack1.getItem() == Items.skull) { + } else if(itemstack1.getItem().itemID == Item.skull.itemID) { f2 = 1.0625F; GL11.glScalef(f2, -f2, -f2); String s = ""; - if (itemstack1.hasTagCompound() && itemstack1.getTagCompound().hasKey("SkullOwner")) { + if(itemstack1.hasTagCompound() && itemstack1.getTagCompound().hasKey("SkullOwner")) { s = itemstack1.getTagCompound().getString("SkullOwner"); } - TileEntitySkullRenderer.field_147536_b.func_147530_a(-0.5F, 0.0F, -0.5F, 1, 180.0F, itemstack1.getItemDamage(), s); + TileEntitySkullRenderer.skullRenderer.func_82393_a(-0.5F, 0.0F, -0.5F, 1, 180.0F, itemstack1.getItemDamage(), s); } GL11.glPopMatrix(); } - if (itemstack != null) { + if(itemstack != null) { GL11.glPushMatrix(); - if (this.mainModel.isChild) { + if(this.mainModel.isChild) { f2 = 0.5F; GL11.glTranslatef(0.0F, 0.625F, 0.0F); GL11.glRotatef(-20.0F, -1.0F, 0.0F, 0.0F); @@ -84,24 +86,24 @@ protected void renderEquippedItems(EntityLivingBase par1EntityLiving, float par2 IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemstack, EQUIPPED); boolean is3D = (customRenderer != null && customRenderer.shouldUseRenderHelper(EQUIPPED, itemstack, BLOCK_3D)); - if (itemstack.getItem() instanceof ItemBlock && (is3D || RenderBlocks.renderItemIn3d(Block.getBlockFromItem(itemstack.getItem()).getRenderType()))) { + if(itemstack.getItem() instanceof ItemBlock && (is3D || RenderBlocks.renderItemIn3d(Block.blocksList[itemstack.itemID].getRenderType()))) { f2 = 0.5F; GL11.glTranslatef(0.0F, 0.1875F, -0.3125F); f2 *= 0.75F; GL11.glRotatef(20.0F, 1.0F, 0.0F, 0.0F); GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); GL11.glScalef(-f2, -f2, f2); - } else if (itemstack.getItem() == AtumItems.ITEM_BOW) { + } else if(itemstack.itemID == Items.ITEM_BOW.itemID) { f2 = 0.625F; GL11.glTranslatef(0.0F, 0.125F, 0.3125F); GL11.glRotatef(-20.0F, 0.0F, 1.0F, 0.0F); GL11.glScalef(f2, -f2, f2); GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F); GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); - } else if (itemstack.getItem().isFull3D()) { + } else if(Item.itemsList[itemstack.itemID].isFull3D()) { f2 = 0.625F; - if (itemstack.getItem().shouldRotateAroundWhenRendering()) { + if(Item.itemsList[itemstack.itemID].shouldRotateAroundWhenRendering()) { GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F); GL11.glTranslatef(0.0F, -0.125F, 0.0F); } @@ -121,8 +123,8 @@ protected void renderEquippedItems(EntityLivingBase par1EntityLiving, float par2 this.renderManager.itemRenderer.renderItem(par1EntityLiving, itemstack, 0); - if (itemstack.getItem().requiresMultipleRenderPasses()) { - for (int x = 1; x < itemstack.getItem().getRenderPasses(itemstack.getItemDamage()); x++) { + if(itemstack.getItem().requiresMultipleRenderPasses()) { + for(int x = 1; x < itemstack.getItem().getRenderPasses(itemstack.getItemDamage()); x++) { this.renderManager.itemRenderer.renderItem(par1EntityLiving, itemstack, x); } } diff --git a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java b/src/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java similarity index 97% rename from src/main/java/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java rename to src/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java index 9ba1821..92c7945 100644 --- a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java +++ b/src/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java @@ -4,6 +4,7 @@ import net.minecraft.client.renderer.entity.RenderLiving; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.passive.EntitySheep; import net.minecraft.util.ResourceLocation; import org.lwjgl.opengl.GL11; diff --git a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderFireSpear.java b/src/com/teammetallurgy/atum/client/render/entity/RenderFireSpear.java similarity index 100% rename from src/main/java/com/teammetallurgy/atum/client/render/entity/RenderFireSpear.java rename to src/com/teammetallurgy/atum/client/render/entity/RenderFireSpear.java diff --git a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderFireSpearSeperated.java b/src/com/teammetallurgy/atum/client/render/entity/RenderFireSpearSeperated.java similarity index 99% rename from src/main/java/com/teammetallurgy/atum/client/render/entity/RenderFireSpearSeperated.java rename to src/com/teammetallurgy/atum/client/render/entity/RenderFireSpearSeperated.java index 039a212..f6fde7f 100644 --- a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderFireSpearSeperated.java +++ b/src/com/teammetallurgy/atum/client/render/entity/RenderFireSpearSeperated.java @@ -1,5 +1,6 @@ package com.teammetallurgy.atum.client.render.entity; +import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.entity.Render; import net.minecraft.entity.Entity; diff --git a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderGhost.java b/src/com/teammetallurgy/atum/client/render/entity/RenderGhost.java similarity index 86% rename from src/main/java/com/teammetallurgy/atum/client/render/entity/RenderGhost.java rename to src/com/teammetallurgy/atum/client/render/entity/RenderGhost.java index 1a00a3d..32fb90a 100644 --- a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderGhost.java +++ b/src/com/teammetallurgy/atum/client/render/entity/RenderGhost.java @@ -39,28 +39,24 @@ public RenderGhost(ModelBase par1ModelBase, float par2) { } /** - * Sets the model to be used in the current render pass (the first render - * pass is done after the primary model is rendered) Args: model + * Sets the model to be used in the current render pass (the first render pass is done after the primary model is rendered) Args: model */ public void setRenderPassModel(ModelBase par1ModelBase) { this.renderPassModel = par1ModelBase; } /** - * Returns a rotation angle that is inbetween two other rotation angles. - * par1 and par2 are the angles between which to interpolate, par3 is - * probably a float between 0.0 and 1.0 that tells us where "between" the - * two angles we are. Example: par1 = 30, par2 = 50, par3 = 0.5, then return - * = 40 + * Returns a rotation angle that is inbetween two other rotation angles. par1 and par2 are the angles between which to interpolate, par3 is probably a float between 0.0 and 1.0 that tells us where + * "between" the two angles we are. Example: par1 = 30, par2 = 50, par3 = 0.5, then return = 40 */ private float interpolateRotation(float par1, float par2, float par3) { float f3; - for (f3 = par2 - par1; f3 < -180.0F; f3 += 360.0F) { + for(f3 = par2 - par1; f3 < -180.0F; f3 += 360.0F) { ; } - while (f3 >= 180.0F) { + while(f3 >= 180.0F) { f3 -= 360.0F; } @@ -75,19 +71,19 @@ public void doRenderLiving(EntityLivingBase par1EntityLiving, double par2, doubl this.mainModel.onGround = this.renderSwingProgress(par1EntityLiving, par9); - if (this.renderPassModel != null) { + if(this.renderPassModel != null) { this.renderPassModel.onGround = this.mainModel.onGround; } this.mainModel.isRiding = par1EntityLiving.isRiding(); - if (this.renderPassModel != null) { + if(this.renderPassModel != null) { this.renderPassModel.isRiding = this.mainModel.isRiding; } this.mainModel.isChild = par1EntityLiving.isChild(); - if (this.renderPassModel != null) { + if(this.renderPassModel != null) { this.renderPassModel.isChild = this.mainModel.isChild; } @@ -106,11 +102,11 @@ public void doRenderLiving(EntityLivingBase par1EntityLiving, double par2, doubl float f7 = par1EntityLiving.prevLimbSwingAmount + (par1EntityLiving.limbSwing - par1EntityLiving.prevLimbSwingAmount) * par9; float f8 = par1EntityLiving.limbSwing - par1EntityLiving.limbSwing * (1.0F - par9); - if (par1EntityLiving.isChild()) { + if(par1EntityLiving.isChild()) { f8 *= 3.0F; } - if (f7 > 1.0F) { + if(f7 > 1.0F) { f7 = 1.0F; } @@ -122,19 +118,19 @@ public void doRenderLiving(EntityLivingBase par1EntityLiving, double par2, doubl float f10; float f11; - for (int j = 0; j < 4; ++j) { + for(int j = 0; j < 4; ++j) { i = this.shouldRenderPass(par1EntityLiving, j, par9); - if (i > 0) { + if(i > 0) { this.renderPassModel.setLivingAnimations(par1EntityLiving, f8, f7, par9); this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); - if ((i & 240) == 16) { + if((i & 240) == 16) { this.func_82408_c(par1EntityLiving, j, par9); this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); } - if ((i & 15) == 15) { + if((i & 15) == 15) { f9 = (float) par1EntityLiving.ticksExisted + par9; GL11.glEnable(GL11.GL_BLEND); f10 = 0.5F; @@ -142,7 +138,7 @@ public void doRenderLiving(EntityLivingBase par1EntityLiving, double par2, doubl GL11.glDepthFunc(GL11.GL_EQUAL); GL11.glDepthMask(false); - for (int k = 0; k < 2; ++k) { + for(int k = 0; k < 2; ++k) { GL11.glDisable(GL11.GL_LIGHTING); f11 = 0.76F; GL11.glColor4f(0.5F * f11, 0.25F * f11, 0.8F * f11, 1.0F); @@ -181,26 +177,26 @@ public void doRenderLiving(EntityLivingBase par1EntityLiving, double par2, doubl GL11.glDisable(GL11.GL_TEXTURE_2D); OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit); - if ((i >> 24 & 255) > 0 || par1EntityLiving.hurtTime > 0 || par1EntityLiving.deathTime > 0) { + if((i >> 24 & 255) > 0 || par1EntityLiving.hurtTime > 0 || par1EntityLiving.deathTime > 0) { GL11.glDisable(GL11.GL_TEXTURE_2D); GL11.glDisable(GL11.GL_ALPHA_TEST); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GL11.glDepthFunc(GL11.GL_EQUAL); - if (par1EntityLiving.hurtTime > 0 || par1EntityLiving.deathTime > 0) { + if(par1EntityLiving.hurtTime > 0 || par1EntityLiving.deathTime > 0) { GL11.glColor4f(f14, 0.0F, 0.0F, 0.4F); this.mainModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); - for (int l = 0; l < 4; ++l) { - if (this.inheritRenderPass(par1EntityLiving, l, par9) >= 0) { + for(int l = 0; l < 4; ++l) { + if(this.inheritRenderPass(par1EntityLiving, l, par9) >= 0) { GL11.glColor4f(f14, 0.0F, 0.0F, 0.4F); this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); } } } - if ((i >> 24 & 255) > 0) { + if((i >> 24 & 255) > 0) { f9 = (float) (i >> 16 & 255) / 255.0F; f10 = (float) (i >> 8 & 255) / 255.0F; float f15 = (float) (i & 255) / 255.0F; @@ -208,8 +204,8 @@ public void doRenderLiving(EntityLivingBase par1EntityLiving, double par2, doubl GL11.glColor4f(f9, f10, f15, f11); this.mainModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); - for (int i1 = 0; i1 < 4; ++i1) { - if (this.inheritRenderPass(par1EntityLiving, i1, par9) >= 0) { + for(int i1 = 0; i1 < 4; ++i1) { + if(this.inheritRenderPass(par1EntityLiving, i1, par9) >= 0) { GL11.glColor4f(f9, f10, f15, f11); this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); } @@ -223,7 +219,7 @@ public void doRenderLiving(EntityLivingBase par1EntityLiving, double par2, doubl } GL11.glDisable(GL12.GL_RESCALE_NORMAL); - } catch (Exception exception) { + } catch(Exception exception) { exception.printStackTrace(); } @@ -241,9 +237,9 @@ public void doRenderLiving(EntityLivingBase par1EntityLiving, double par2, doubl protected void renderModel(EntityLivingBase par1EntityLiving, float par2, float par3, float par4, float par5, float par6, float par7) { this.bindEntityTexture(par1EntityLiving); - if (!par1EntityLiving.isInvisible()) { + if(!par1EntityLiving.isInvisible()) { this.mainModel.render(par1EntityLiving, par2, par3, par4, par5, par6, par7); - } else if (!par1EntityLiving.isInvisibleToPlayer(Minecraft.getMinecraft().thePlayer)) { + } else if(!par1EntityLiving.isInvisibleToPlayer(Minecraft.getMinecraft().thePlayer)) { GL11.glPushMatrix(); GL11.glColor4f(1.0F, 1.0F, 1.0F, 0.15F); GL11.glDepthMask(false); @@ -270,11 +266,11 @@ protected void renderLivingAt(EntityLivingBase par1EntityLiving, double par2, do protected void rotateCorpse(EntityLivingBase par1EntityLiving, float par2, float par3, float par4) { GL11.glRotatef(180.0F - par3, 0.0F, 1.0F, 0.0F); - if (par1EntityLiving.deathTime > 0) { + if(par1EntityLiving.deathTime > 0) { float f3 = ((float) par1EntityLiving.deathTime + par4 - 1.0F) / 20.0F * 1.6F; f3 = MathHelper.sqrt_float(f3); - if (f3 > 1.0F) { + if(f3 > 1.0F) { f3 = 1.0F; } @@ -302,12 +298,12 @@ protected void renderEquippedItems(EntityLivingBase par1EntityLiving, float par2 protected void renderArrowsStuckInEntity(EntityLiving par1EntityLiving, float par2) { int i = par1EntityLiving.getArrowCountInEntity(); - if (i > 0) { + if(i > 0) { EntityArrow entityarrow = new EntityArrow(par1EntityLiving.worldObj, par1EntityLiving.posX, par1EntityLiving.posY, par1EntityLiving.posZ); - Random random = new Random((long) par1EntityLiving.getEntityId()); + Random random = new Random((long) par1EntityLiving.entityId); RenderHelper.disableStandardItemLighting(); - for (int j = 0; j < i; ++j) { + for(int j = 0; j < i; ++j) { GL11.glPushMatrix(); ModelRenderer modelrenderer = this.mainModel.getRandomModelBox(random); ModelBox modelbox = (ModelBox) modelrenderer.cubeList.get(random.nextInt(modelrenderer.cubeList.size())); @@ -359,16 +355,14 @@ protected float getDeathMaxRotation(EntityLivingBase par1EntityLiving) { } /** - * Returns an ARGB int color back. Args: entityLiving, lightBrightness, - * partialTickTime + * Returns an ARGB int color back. Args: entityLiving, lightBrightness, partialTickTime */ protected int getColorMultiplier(EntityLivingBase par1EntityLiving, float par2, float par3) { return 0; } /** - * Allows the render to do any OpenGL state modifications necessary before - * the model is rendered. Args: entityLiving, partialTickTime + * Allows the render to do any OpenGL state modifications necessary before the model is rendered. Args: entityLiving, partialTickTime */ protected void preRenderCallback(EntityLivingBase par1EntityLiving, float par2) { } @@ -377,16 +371,16 @@ protected void preRenderCallback(EntityLivingBase par1EntityLiving, float par2) * Passes the specialRender and renders it */ protected void passSpecialRender(EntityLivingBase par1EntityLiving, double par2, double par4, double par6) { - if (Minecraft.isGuiEnabled() && par1EntityLiving != this.renderManager.livingPlayer && !par1EntityLiving.isInvisibleToPlayer(Minecraft.getMinecraft().thePlayer) && (par1EntityLiving.getAlwaysRenderNameTagForRender() || ((EntityLiving) par1EntityLiving).hasCustomNameTag() && par1EntityLiving == this.renderManager.livingPlayer)) { + if(Minecraft.isGuiEnabled() && par1EntityLiving != this.renderManager.livingPlayer && !par1EntityLiving.isInvisibleToPlayer(Minecraft.getMinecraft().thePlayer) && (par1EntityLiving.getAlwaysRenderNameTagForRender() || ((EntityLiving) par1EntityLiving).hasCustomNameTag() && par1EntityLiving == this.renderManager.field_96451_i)) { float f = 1.6F; float f1 = 0.016666668F * f; double d3 = par1EntityLiving.getDistanceSqToEntity(this.renderManager.livingPlayer); float f2 = par1EntityLiving.isSneaking() ? 32.0F : 64.0F; - if (d3 < (double) (f2 * f2)) { - String s = par1EntityLiving.getCommandSenderName(); + if(d3 < (double) (f2 * f2)) { + String s = par1EntityLiving.getTranslatedEntityName(); - if (par1EntityLiving.isSneaking()) { + if(par1EntityLiving.isSneaking()) { FontRenderer fontrenderer = this.getFontRendererFromRenderManager(); GL11.glPushMatrix(); GL11.glTranslatef((float) par2 + 0.0F, (float) par4 + par1EntityLiving.height + 0.5F, (float) par6); @@ -424,7 +418,7 @@ protected void passSpecialRender(EntityLivingBase par1EntityLiving, double par2, } protected void func_96449_a(EntityLivingBase par1EntityLiving, double par2, double par4, double par6, String par8Str, float par9, double par10) { - if (par1EntityLiving.isPlayerSleeping()) { + if(par1EntityLiving.isPlayerSleeping()) { this.renderLivingLabel(par1EntityLiving, par8Str, par2, par4 - 1.5D, par6, 64); } else { this.renderLivingLabel(par1EntityLiving, par8Str, par2, par4, par6, 64); @@ -437,7 +431,7 @@ protected void func_96449_a(EntityLivingBase par1EntityLiving, double par2, doub protected void renderLivingLabel(EntityLivingBase par1EntityLiving, String par2Str, double par3, double par5, double par7, int par9) { double d3 = par1EntityLiving.getDistanceSqToEntity(this.renderManager.livingPlayer); - if (d3 <= (double) (par9 * par9)) { + if(d3 <= (double) (par9 * par9)) { FontRenderer fontrenderer = this.getFontRendererFromRenderManager(); float f = 1.6F; float f1 = 0.016666668F * f; @@ -455,7 +449,7 @@ protected void renderLivingLabel(EntityLivingBase par1EntityLiving, String par2S Tessellator tessellator = Tessellator.instance; byte b0 = 0; - if (par2Str.equals("deadmau5")) { + if(par2Str.equals("deadmau5")) { b0 = -10; } @@ -481,12 +475,9 @@ protected void renderLivingLabel(EntityLivingBase par1EntityLiving, String par2S } /** - * Actually renders the given argument. This is a synthetic bridge method, - * always casting down its argument and then handing it off to a worker - * function which does the actual work. In all probabilty, the class Render - * is generic (Render> 16 & 255) / 255.0F; float f2 = (float) (l >> 8 & 255) / 255.0F; float f3 = (float) (l & 255) / 255.0F; - if (EntityRenderer.anaglyphEnable) { + if(EntityRenderer.anaglyphEnable) { float d0 = (f1 * 30.0F + f2 * 59.0F + f3 * 11.0F) / 100.0F; float f5 = (f1 * 30.0F + f2 * 70.0F) / 100.0F; float d1 = (f1 * 30.0F + f3 * 70.0F) / 100.0F; @@ -33,7 +32,7 @@ public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block b double d01 = (double) x; double d11 = (double) y; double d2 = (double) z; - if (block == Blocks.tallgrass) { + if(block == Block.tallGrass) { long icon = (long) (x * 3129871) ^ (long) z * 116129781L ^ (long) y; icon = icon * icon * 42317861L + icon * 11L; d01 += ((double) ((float) (icon >> 16 & 15L) / 15.0F) - 0.5D) * 0.5D; @@ -41,12 +40,12 @@ public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block b d2 += ((double) ((float) (icon >> 24 & 15L) / 15.0F) - 0.5D) * 0.5D; } - IIcon icon1 = block.getIcon(world, x, y, z, 0); + Icon icon1 = block.getBlockTexture(world, x, y, z, 0); this.drawCrossedSquares(icon1, block, world.getBlockMetadata(x, y, z), d01, d11, d2, 1.0F); return true; } - public void drawCrossedSquares(IIcon icon, Block par1Block, int par2, double par3, double par5, double par7, float par9) { + public void drawCrossedSquares(Icon icon, Block par1Block, int par2, double par3, double par5, double par7, float par9) { Tessellator tessellator = Tessellator.instance; double d3 = (double) icon.getMinU(); double d4 = (double) icon.getMinV(); @@ -85,7 +84,7 @@ public void renderInventoryBlock(Block block, int metadata, int modelID, RenderB } @Override - public boolean shouldRender3DInInventory(int modelID) { + public boolean shouldRender3DInInventory() { return false; } diff --git a/src/main/java/com/teammetallurgy/atum/entity/Entity.java b/src/com/teammetallurgy/atum/entity/Entity.java similarity index 99% rename from src/main/java/com/teammetallurgy/atum/entity/Entity.java rename to src/com/teammetallurgy/atum/entity/Entity.java index dcab01a..ddb5bcb 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/Entity.java +++ b/src/com/teammetallurgy/atum/entity/Entity.java @@ -1,6 +1,7 @@ package com.teammetallurgy.atum.entity; import net.minecraft.entity.EntityList; +import net.minecraft.item.ItemStack; import com.teammetallurgy.atum.Atum; import com.teammetallurgy.atum.LocalizationHelper; diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityBanditArcher.java b/src/com/teammetallurgy/atum/entity/EntityBanditArcher.java similarity index 81% rename from src/main/java/com/teammetallurgy/atum/entity/EntityBanditArcher.java rename to src/com/teammetallurgy/atum/entity/EntityBanditArcher.java index 2a98adf..aa429ab 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityBanditArcher.java +++ b/src/com/teammetallurgy/atum/entity/EntityBanditArcher.java @@ -19,12 +19,12 @@ import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.init.Items; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.items.Items; public class EntityBanditArcher extends EntityMob implements IRangedAttackMob, IAtumDayMob { private EntityAIArrowAttack aiArrowAttack = new EntityAIArrowAttack(this, 0.25F, 20, 60, 15.0F); @@ -32,10 +32,10 @@ public class EntityBanditArcher extends EntityMob implements IRangedAttackMob, I public EntityBanditArcher(World par1World) { super(par1World); - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_BOW)); + this.setCurrentItemOrArmor(0, new ItemStack(Items.ITEM_BOW)); this.enchantEquipment(); - this.setCanPickUpLoot(this.rand.nextFloat() < equipmentDropChances[this.worldObj.difficultySetting.ordinal()]); + this.setCanPickUpLoot(this.rand.nextFloat() < equipmentDropChances[this.worldObj.difficultySetting]); this.tasks.addTask(1, new EntityAISwimming(this)); this.tasks.addTask(2, new EntityAIRestrictSun(this)); this.tasks.addTask(3, new EntityAIWander(this, 0.8)); @@ -45,25 +45,24 @@ public EntityBanditArcher(World par1World) { this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, false)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 16, true)); - if (par1World != null && !par1World.isRemote) { + if(par1World != null && !par1World.isRemote) { this.setCombatTask(); } this.experienceValue = 6; - + } @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(25.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(25.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); } /** - * Checks if the entity's current position is a valid location to spawn this - * entity. + * Checks if the entity's current position is a valid location to spawn this entity. */ @Override public boolean getCanSpawnHere() { @@ -88,7 +87,7 @@ public boolean isAIEnabled() { @Override public boolean attackEntityAsMob(Entity par1Entity) { - if (super.attackEntityAsMob(par1Entity)) { + if(super.attackEntityAsMob(par1Entity)) { return true; } else { return false; @@ -118,7 +117,7 @@ public void setCombatTask() { this.tasks.removeTask(this.aiArrowAttack); ItemStack itemstack = this.getHeldItem(); - if (itemstack != null && itemstack.getItem() == AtumItems.ITEM_BOW) { + if(itemstack != null && itemstack.itemID == Items.ITEM_BOW.itemID) { this.tasks.addTask(4, this.aiArrowAttack); } else { this.tasks.addTask(4, this.aiAttackOnCollide); @@ -130,20 +129,20 @@ public void setCombatTask() { */ @Override public void attackEntityWithRangedAttack(EntityLivingBase par1EntityLiving, float par2) { - EntityArrow entityarrow = new EntityArrow(this.worldObj, this, par1EntityLiving, 1.6F, (float) (14 - this.worldObj.difficultySetting.ordinal() * 4)); + EntityArrow entityarrow = new EntityArrow(this.worldObj, this, par1EntityLiving, 1.6F, (float) (14 - this.worldObj.difficultySetting * 4)); int i = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, this.getHeldItem()); int j = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, this.getHeldItem()); - entityarrow.setDamage((double) (par2 * 2.0F) + this.rand.nextGaussian() * 0.25D + (double) ((float) this.worldObj.difficultySetting.ordinal() * 0.11F)); + entityarrow.setDamage((double) (par2 * 2.0F) + this.rand.nextGaussian() * 0.25D + (double) ((float) this.worldObj.difficultySetting * 0.11F)); - if (i > 0) { + if(i > 0) { entityarrow.setDamage(entityarrow.getDamage() + (double) i * 0.5D + 0.5D); } - if (j > 0) { + if(j > 0) { entityarrow.setKnockbackStrength(j); } - if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, this.getHeldItem()) > 0) { + if(EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, this.getHeldItem()) > 0) { entityarrow.setFire(100); } @@ -160,27 +159,25 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { this.setCombatTask(); } - + /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity - * has recently been hit by a player. @param par2 - Level of Looting used to - * kill this mob. + * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. */ @Override protected void dropFewItems(boolean par1, int par2) { - if (rand.nextInt(20) == 0) { - int damage = (int) (AtumItems.ITEM_BOW.getMaxDamage() - rand.nextInt(AtumItems.ITEM_BOW.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(AtumItems.ITEM_BOW, 1, damage), 0.0F); + if(rand.nextInt(20) == 0) { + int damage = (int) (Items.ITEM_BOW.getMaxDamage() - rand.nextInt(Items.ITEM_BOW.getMaxDamage()) * 0.5 + 20); + this.entityDropItem(new ItemStack(Items.ITEM_BOW.itemID, 1, damage), 0.0F); } - if (rand.nextInt(10) == 0) { + if(rand.nextInt(10) == 0) { int amount = rand.nextInt(2) + 1; - this.dropItem(Items.gold_nugget, amount); + this.dropItem(Item.goldNugget.itemID, amount); } - if (rand.nextInt(4) == 0) { + if(rand.nextInt(4) == 0) { int amount = rand.nextInt(3) + 1; - this.dropItem(Items.arrow, amount); + this.dropItem(Item.arrow.itemID, amount); } } } \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarlord.java b/src/com/teammetallurgy/atum/entity/EntityBanditWarlord.java similarity index 62% rename from src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarlord.java rename to src/com/teammetallurgy/atum/entity/EntityBanditWarlord.java index 1d56fbd..ca6a6fd 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarlord.java +++ b/src/com/teammetallurgy/atum/entity/EntityBanditWarlord.java @@ -1,25 +1,27 @@ package com.teammetallurgy.atum.entity; import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.entity.Entity; import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.monster.EntityMob; -import net.minecraft.init.Items; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.AtumConfig; +import com.teammetallurgy.atum.items.Items; public class EntityBanditWarlord extends EntityMob implements IAtumDayMob { public EntityBanditWarlord(World par1World) { super(par1World); this.experienceValue = 16; + + this.setCurrentItemOrArmor(0, new ItemStack(Items.ITEM_SCIMITAR)); + EnchantmentHelper.addRandomEnchantment(this.rand, this.getHeldItem(), 5 + this.worldObj.difficultySetting * this.rand.nextInt(6)); - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCIMITAR)); - EnchantmentHelper.addRandomEnchantment(this.rand, this.getHeldItem(), 5 + this.worldObj.difficultySetting.getDifficultyId() * this.rand.nextInt(6)); - - for (int i = 0; i < this.equipmentDropChances.length; ++i) { + for(int i = 0; i < this.equipmentDropChances.length; ++i) { this.equipmentDropChances[i] = 0.05F; } } @@ -27,19 +29,19 @@ public EntityBanditWarlord(World par1World) { @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(80.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(80.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); } + @Override protected void addRandomArmor() { } /** - * Checks if the entity's current position is a valid location to spawn this - * entity. + * Checks if the entity's current position is a valid location to spawn this entity. */ @Override public boolean getCanSpawnHere() { @@ -62,6 +64,7 @@ protected boolean isValidLightLevel() { return true; } + /** * Get this Entity's EnumCreatureAttribute */ @@ -71,32 +74,30 @@ public EnumCreatureAttribute getCreatureAttribute() { } /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity - * has recently been hit by a player. @param par2 - Level of Looting used to - * kill this mob. + * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. */ @Override protected void dropFewItems(boolean par1, int par2) { - if (rand.nextInt(20) == 0) { - int damage = (int) (AtumItems.ITEM_SCIMITAR.getMaxDamage() - rand.nextInt(AtumItems.ITEM_SCIMITAR.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(AtumItems.ITEM_SCIMITAR, 1, damage), 0.0F); + if(rand.nextInt(20) == 0) { + int damage = (int) (Items.ITEM_SCIMITAR.getMaxDamage() - rand.nextInt(Items.ITEM_SCIMITAR.getMaxDamage()) * 0.5 + 20); + this.entityDropItem(new ItemStack(Items.ITEM_SCIMITAR.itemID, 1, damage), 0.0F); } - if (rand.nextInt(4) == 0) { + if(rand.nextInt(4) == 0) { int amount = rand.nextInt(3) + 3; - this.dropItem(Items.gold_nugget, amount); + this.dropItem(Item.goldNugget.itemID, amount); } - if (rand.nextInt(4) == 0) { + if(rand.nextInt(4) == 0) { int choice = rand.nextInt(4); - if (choice == 0) { - this.dropItem(AtumItems.wandererHelmet, 1); - } else if (choice == 1) { - this.dropItem(AtumItems.wandererChest, 1); - } else if (choice == 2) { - this.dropItem(AtumItems.wandererLegs, 1); - } else if (choice == 3) { - this.dropItem(AtumItems.wandererBoots, 1); + if(choice == 0) { + this.dropItem(Items.wandererHelmet.itemID, 1); + } else if(choice == 1) { + this.dropItem(Items.wandererChest.itemID, 1); + } else if(choice == 2) { + this.dropItem(Items.wandererLegs.itemID, 1); + } else if(choice == 3) { + this.dropItem(Items.wandererBoots.itemID, 1); } } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarrior.java b/src/com/teammetallurgy/atum/entity/EntityBanditWarrior.java similarity index 73% rename from src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarrior.java rename to src/com/teammetallurgy/atum/entity/EntityBanditWarrior.java index 5be158c..12a1f66 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarrior.java +++ b/src/com/teammetallurgy/atum/entity/EntityBanditWarrior.java @@ -4,12 +4,12 @@ import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.monster.EntityMob; -import net.minecraft.init.Items; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.items.Items; public class EntityBanditWarrior extends EntityMob implements IAtumDayMob { @@ -17,10 +17,10 @@ public EntityBanditWarrior(World par1World) { super(par1World); this.experienceValue = 8; - super.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCIMITAR)); + super.setCurrentItemOrArmor(0, new ItemStack(Items.ITEM_SCIMITAR)); this.enchantEquipment(); - for (int i = 0; i < this.equipmentDropChances.length; ++i) { + for(int i = 0; i < this.equipmentDropChances.length; ++i) { this.equipmentDropChances[i] = 0F; } } @@ -28,10 +28,10 @@ public EntityBanditWarrior(World par1World) { @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(30.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(3.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(30.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(3.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); } public String getTexture() { @@ -39,8 +39,7 @@ public String getTexture() { } /** - * Checks if the entity's current position is a valid location to spawn this - * entity. + * Checks if the entity's current position is a valid location to spawn this entity. */ @Override public boolean getCanSpawnHere() { @@ -75,20 +74,18 @@ public int getAttackStrength(Entity par1Entity) { } /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity - * has recently been hit by a player. @param par2 - Level of Looting used to - * kill this mob. + * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. */ @Override protected void dropFewItems(boolean par1, int par2) { - if (rand.nextInt(20) == 0) { - int damage = (int) (AtumItems.ITEM_SCIMITAR.getMaxDamage() - rand.nextInt(AtumItems.ITEM_SCIMITAR.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(AtumItems.ITEM_SCIMITAR, 1, damage), 0.0F); + if(rand.nextInt(20) == 0) { + int damage = (int) (Items.ITEM_SCIMITAR.getMaxDamage() - rand.nextInt(Items.ITEM_SCIMITAR.getMaxDamage()) * 0.5 + 20); + this.entityDropItem(new ItemStack(Items.ITEM_SCIMITAR.itemID, 1, damage), 0.0F); } - if (rand.nextInt(10) == 0) { + if(rand.nextInt(10) == 0) { int amount = rand.nextInt(2) + 1; - this.dropItem(Items.gold_nugget, amount); + this.dropItem(Item.goldNugget.itemID, amount); } } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityBarbarian.java b/src/com/teammetallurgy/atum/entity/EntityBarbarian.java similarity index 70% rename from src/main/java/com/teammetallurgy/atum/entity/EntityBarbarian.java rename to src/com/teammetallurgy/atum/entity/EntityBarbarian.java index 8130dd5..7c2e921 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityBarbarian.java +++ b/src/com/teammetallurgy/atum/entity/EntityBarbarian.java @@ -4,23 +4,23 @@ import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.monster.EntityMob; -import net.minecraft.init.Items; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.items.Items; public class EntityBarbarian extends EntityMob implements IAtumDayMob { public EntityBarbarian(World par1World) { super(par1World); this.experienceValue = 9; - - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_GREATSWORD)); + + this.setCurrentItemOrArmor(0, new ItemStack(Items.ITEM_GREATSWORD)); this.enchantEquipment(); - for (int i = 0; i < this.equipmentDropChances.length; ++i) { + for(int i = 0; i < this.equipmentDropChances.length; ++i) { this.equipmentDropChances[i] = 0F; } } @@ -28,10 +28,10 @@ public EntityBarbarian(World par1World) { @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(30.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(30.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); } @Override @@ -39,8 +39,7 @@ protected void addRandomArmor() { } /** - * Checks if the entity's current position is a valid location to spawn this - * entity. + * Checks if the entity's current position is a valid location to spawn this entity. */ @Override public boolean getCanSpawnHere() { @@ -64,31 +63,28 @@ public EnumCreatureAttribute getCreatureAttribute() { } /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity - * has recently been hit by a player. @param par2 - Level of Looting used to - * kill this mob. + * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. */ @Override protected void dropFewItems(boolean par1, int par2) { - if (rand.nextInt(20) == 0) { - int damage = (int) (AtumItems.ITEM_GREATSWORD.getMaxDamage() - rand.nextInt(AtumItems.ITEM_GREATSWORD.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(AtumItems.ITEM_GREATSWORD, 1, damage), 0.0F); + if(rand.nextInt(20) == 0) { + int damage = (int) (Items.ITEM_GREATSWORD.getMaxDamage() - rand.nextInt(Items.ITEM_GREATSWORD.getMaxDamage()) * 0.5 + 20); + this.entityDropItem(new ItemStack(Items.ITEM_GREATSWORD.itemID, 1, damage), 0.0F); } - if (rand.nextInt(4) == 0) { + if(rand.nextInt(4) == 0) { int amount = rand.nextInt(2) + 1; - this.dropItem(Items.gold_nugget, amount); + this.dropItem(Item.goldNugget.itemID, amount); } } /** - * Basic mob attack. Default to touch of death in EntityCreature. Overridden - * by each mob to define their attack. + * Basic mob attack. Default to touch of death in EntityCreature. Overridden by each mob to define their attack. */ @Override protected void attackEntity(Entity mob, float par2) { - if (!(mob instanceof EntityStoneSoldier || mob instanceof EntityPharaoh)) { + if(!(mob instanceof EntityStoneSoldier || mob instanceof EntityPharaoh)) { float j = 1.2f; mob.addVelocity((double) (-MathHelper.sin(this.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), 0.1D, (double) (MathHelper.cos(this.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityBonestorm.java b/src/com/teammetallurgy/atum/entity/EntityBonestorm.java similarity index 76% rename from src/main/java/com/teammetallurgy/atum/entity/EntityBonestorm.java rename to src/com/teammetallurgy/atum/entity/EntityBonestorm.java index f337489..3a8b151 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityBonestorm.java +++ b/src/com/teammetallurgy/atum/entity/EntityBonestorm.java @@ -5,7 +5,6 @@ import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntitySmallFireball; -import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; @@ -32,10 +31,10 @@ public EntityBonestorm(World par1World) { @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(6.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(20.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(2.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); } @Override @@ -78,37 +77,35 @@ public float getBrightness(float par1) { } /** - * Called frequently so the entity can update its state every tick as - * required. For example, zombies and skeletons use this to react to - * sunlight and start to burn. + * Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons use this to react to sunlight and start to burn. */ public void onLivingUpdate() { - if (!this.worldObj.isRemote) { - if (this.isWet()) { + if(!this.worldObj.isRemote) { + if(this.isWet()) { this.attackEntityFrom(DamageSource.drown, 1); } --this.heightOffsetUpdateTime; - if (this.heightOffsetUpdateTime <= 0) { + if(this.heightOffsetUpdateTime <= 0) { this.heightOffsetUpdateTime = 100; this.heightOffset = 0.5F + (float) this.rand.nextGaussian() * 3.0F; } - if (this.getEntityToAttack() != null && this.getEntityToAttack().posY + (double) this.getEntityToAttack().getEyeHeight() > this.posY + (double) this.getEyeHeight() + (double) this.heightOffset) { + if(this.getEntityToAttack() != null && this.getEntityToAttack().posY + (double) this.getEntityToAttack().getEyeHeight() > this.posY + (double) this.getEyeHeight() + (double) this.heightOffset) { this.motionY += (0.30000001192092896D - this.motionY) * 0.30000001192092896D; } } - if (this.rand.nextInt(24) == 0) { + if(this.rand.nextInt(24) == 0) { this.worldObj.playSoundEffect(this.posX + 0.5D, this.posY + 0.5D, this.posZ + 0.5D, "fire.fire", 1.0F + this.rand.nextFloat(), this.rand.nextFloat() * 0.7F + 0.3F); } - if (!this.onGround && this.motionY < 0.0D) { + if(!this.onGround && this.motionY < 0.0D) { this.motionY *= 0.6D; } - for (int i = 0; i < 2; ++i) { + for(int i = 0; i < 2; ++i) { this.worldObj.spawnParticle("largesmoke", this.posX + (this.rand.nextDouble() - 0.5D) * (double) this.width, this.posY + this.rand.nextDouble() * (double) this.height, this.posZ + (this.rand.nextDouble() - 0.5D) * (double) this.width, 0.0D, 0.0D, 0.0D); } @@ -116,25 +113,24 @@ public void onLivingUpdate() { } /** - * Basic mob attack. Default to touch of death in EntityCreature. Overridden - * by each mob to define their attack. + * Basic mob attack. Default to touch of death in EntityCreature. Overridden by each mob to define their attack. */ protected void attackEntity(Entity par1Entity, float par2) { - if (this.attackTime <= 0 && par2 < 2.0F && par1Entity.boundingBox.maxY > this.boundingBox.minY && par1Entity.boundingBox.minY < this.boundingBox.maxY) { + if(this.attackTime <= 0 && par2 < 2.0F && par1Entity.boundingBox.maxY > this.boundingBox.minY && par1Entity.boundingBox.minY < this.boundingBox.maxY) { this.attackTime = 20; this.attackEntityAsMob(par1Entity); - } else if (par2 < 30.0F) { + } else if(par2 < 30.0F) { double d0 = par1Entity.posX - this.posX; double d1 = par1Entity.boundingBox.minY + (double) (par1Entity.height / 2.0F) - (this.posY + (double) (this.height / 2.0F)); double d2 = par1Entity.posZ - this.posZ; - if (this.attackTime == 0) { + if(this.attackTime == 0) { ++this.field_70846_g; - if (this.field_70846_g == 1) { + if(this.field_70846_g == 1) { this.attackTime = 60; this.func_70844_e(true); - } else if (this.field_70846_g <= 4) { + } else if(this.field_70846_g <= 4) { this.attackTime = 6; } else { this.attackTime = 100; @@ -142,11 +138,11 @@ protected void attackEntity(Entity par1Entity, float par2) { this.func_70844_e(false); } - if (this.field_70846_g > 1) { + if(this.field_70846_g > 1) { float f1 = MathHelper.sqrt_float(par2) * 0.5F; this.worldObj.playAuxSFXAtEntity((EntityPlayer) null, 1009, (int) this.posX, (int) this.posY, (int) this.posZ, 0); - for (int i = 0; i < 1; ++i) { + for(int i = 0; i < 1; ++i) { EntitySmallFireball entitysmallfireball = new EntitySmallFireball(this.worldObj, this, d0 + this.rand.nextGaussian() * (double) f1, d1, d2 + this.rand.nextGaussian() * (double) f1); entitysmallfireball.posY = this.posY + (double) (this.height / 2.0F) + 0.5D; this.worldObj.spawnEntityInWorld(entitysmallfireball); @@ -165,31 +161,29 @@ protected void attackEntity(Entity par1Entity, float par2) { protected void fall(float par1) { } - @Override - protected Item getDropItem() { - return Items.blaze_rod; + /** + * Returns the item ID for the item the mob drops on death. + */ + protected int getDropItemId() { + return Item.blazeRod.itemID; } /** - * /** Returns true if the entity is on fire. Used by render to add the fire - * effect on rendering. + * Returns true if the entity is on fire. Used by render to add the fire effect on rendering. */ - @Override public boolean isBurning() { return this.func_70845_n(); } /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity - * has recently been hit by a player. @param par2 - Level of Looting used to - * kill this mob. + * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. */ protected void dropFewItems(boolean par1, int par2) { - if (par1) { + if(par1) { int j = this.rand.nextInt(2 + par2); - for (int k = 0; k < j; ++k) { - this.dropItem(Items.blaze_rod, 1); + for(int k = 0; k < j; ++k) { + this.dropItem(Item.blazeRod.itemID, 1); } } } @@ -201,7 +195,7 @@ public boolean func_70845_n() { public void func_70844_e(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - if (par1) { + if(par1) { b0 = (byte) (b0 | 1); } else { b0 &= -2; @@ -217,4 +211,10 @@ protected boolean isValidLightLevel() { return true; } + /** + * Returns the amount of damage a mob should deal. + */ + public int getAttackStrength(Entity par1Entity) { + return 6; + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java b/src/com/teammetallurgy/atum/entity/EntityDesertWolf.java similarity index 85% rename from src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java rename to src/com/teammetallurgy/atum/entity/EntityDesertWolf.java index d9808cd..67e1d72 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java +++ b/src/com/teammetallurgy/atum/entity/EntityDesertWolf.java @@ -30,7 +30,7 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.items.Items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -90,9 +90,7 @@ public boolean isAIEnabled() { } /** - * Finds the closest player within 16 blocks to attack, or null if this - * Entity isn't interested in attacking (Animals, Spiders at day, peaceful - * PigZombies). + * Finds the closest player within 16 blocks to attack, or null if this Entity isn't interested in attacking (Animals, Spiders at day, peaceful PigZombies). */ @Override protected Entity findPlayerToAttack() { @@ -107,7 +105,7 @@ protected Entity findPlayerToAttack() { public void setAttackTarget(EntityLivingBase par1EntityLiving) { super.setAttackTarget(par1EntityLiving); - if (par1EntityLiving instanceof EntityPlayer) { + if(par1EntityLiving instanceof EntityPlayer) { this.setAngry(true); } } @@ -121,8 +119,7 @@ protected void updateAITick() { } /** - * Checks if the entity's current position is a valid location to spawn this - * entity. + * Checks if the entity's current position is a valid location to spawn this entity. */ @Override public boolean getCanSpawnHere() { @@ -197,31 +194,27 @@ protected float getSoundVolume() { } /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity - * has recently been hit by a player. @param par2 - Level of Looting used to - * kill this mob. + * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. */ @Override protected void dropFewItems(boolean par1, int par2) { - if (rand.nextInt(10) == 0) { + if(rand.nextInt(10) == 0) { this.dropItem(Item.bone.itemID, 1); } - if (rand.nextInt(4) == 0) { + if(rand.nextInt(4) == 0) { int amount = rand.nextInt(2) + 1; - this.dropItem(AtumItems.pelt.itemID, amount); + this.dropItem(Items.pelt.itemID, amount); } } /** - * Called frequently so the entity can update its state every tick as - * required. For example, zombies and skeletons use this to react to - * sunlight and start to burn. + * Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons use this to react to sunlight and start to burn. */ @Override public void onLivingUpdate() { super.onLivingUpdate(); - if (!this.worldObj.isRemote && this.isShaking && !this.field_70928_h && !this.hasPath() && this.onGround) { + if(!this.worldObj.isRemote && this.isShaking && !this.field_70928_h && !this.hasPath() && this.onGround) { this.field_70928_h = true; this.timeWolfIsShaking = 0.0F; this.prevTimeWolfIsShaking = 0.0F; @@ -236,48 +229,48 @@ public void onLivingUpdate() { public void onUpdate() { super.onUpdate(); - if (!this.worldObj.isRemote && this.worldObj.difficultySetting == 0) { + if(!this.worldObj.isRemote && this.worldObj.difficultySetting == 0) { this.setDead(); return; } this.field_70924_f = this.field_70926_e; - if (this.func_70922_bv()) { + if(this.func_70922_bv()) { this.field_70926_e += (1.0F - this.field_70926_e) * 0.4F; } else { this.field_70926_e += (0.0F - this.field_70926_e) * 0.4F; } - if (this.func_70922_bv()) { + if(this.func_70922_bv()) { this.numTicksToChaseTarget = 10; } - if (this.isWet()) { + if(this.isWet()) { this.isShaking = true; this.field_70928_h = false; this.timeWolfIsShaking = 0.0F; this.prevTimeWolfIsShaking = 0.0F; - } else if ((this.isShaking || this.field_70928_h) && this.field_70928_h) { - if (this.timeWolfIsShaking == 0.0F) { + } else if((this.isShaking || this.field_70928_h) && this.field_70928_h) { + if(this.timeWolfIsShaking == 0.0F) { this.playSound("mob.wolf.shake", this.getSoundVolume(), (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F); } this.prevTimeWolfIsShaking = this.timeWolfIsShaking; this.timeWolfIsShaking += 0.05F; - if (this.prevTimeWolfIsShaking >= 2.0F) { + if(this.prevTimeWolfIsShaking >= 2.0F) { this.isShaking = false; this.field_70928_h = false; this.prevTimeWolfIsShaking = 0.0F; this.timeWolfIsShaking = 0.0F; } - if (this.timeWolfIsShaking > 0.4F) { + if(this.timeWolfIsShaking > 0.4F) { float f = (float) this.boundingBox.minY; int i = (int) (MathHelper.sin((this.timeWolfIsShaking - 0.4F) * (float) Math.PI) * 7.0F); - for (int j = 0; j < i; ++j) { + for(int j = 0; j < i; ++j) { float f1 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; float f2 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; this.worldObj.spawnParticle("splash", this.posX + (double) f1, (double) (f + 0.8F), this.posZ + (double) f2, this.motionX, this.motionY, this.motionZ); @@ -303,9 +296,9 @@ public float getShadingWhileShaking(float par1) { public float getShakeAngle(float par1, float par2) { float f2 = (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * par1 + par2) / 1.8F; - if (f2 < 0.0F) { + if(f2 < 0.0F) { f2 = 0.0F; - } else if (f2 > 1.0F) { + } else if(f2 > 1.0F) { f2 = 1.0F; } @@ -323,8 +316,7 @@ public float getEyeHeight() { } /** - * The speed it takes to move the entityliving's rotationPitch through the - * faceEntity method. This is only currently use in wolves. + * The speed it takes to move the entityliving's rotationPitch through the faceEntity method. This is only currently use in wolves. */ @Override public int getVerticalFaceSpeed() { @@ -336,13 +328,13 @@ public int getVerticalFaceSpeed() { */ @Override public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { - if (this.isEntityInvulnerable()) { + if(this.isEntityInvulnerable()) { return false; } else { Entity entity = par1DamageSource.getEntity(); this.aiSit.setSitting(false); - if (entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) { + if(entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) { par2 = (par2 + 1) / 2; } @@ -357,26 +349,25 @@ public boolean attackEntityAsMob(Entity par1Entity) { } /** - * Called when a player interacts with a mob. e.g. gets milk from a cow, - * gets into the saddle on a pig. + * Called when a player interacts with a mob. e.g. gets milk from a cow, gets into the saddle on a pig. */ @Override public boolean interact(EntityPlayer par1EntityPlayer) { ItemStack itemstack = par1EntityPlayer.inventory.getCurrentItem(); - if (this.isTamed()) { - if (itemstack != null) { - if (Item.itemsList[itemstack.itemID] instanceof ItemFood) { + if(this.isTamed()) { + if(itemstack != null) { + if(Item.itemsList[itemstack.itemID] instanceof ItemFood) { ItemFood itemfood = (ItemFood) Item.itemsList[itemstack.itemID]; - if (itemfood.isWolfsFavoriteMeat() && this.dataWatcher.getWatchableObjectInt(18) < 20) { - if (!par1EntityPlayer.capabilities.isCreativeMode) { + if(itemfood.isWolfsFavoriteMeat() && this.dataWatcher.getWatchableObjectInt(18) < 20) { + if(!par1EntityPlayer.capabilities.isCreativeMode) { --itemstack.stackSize; } this.heal(itemfood.getHealAmount()); - if (itemstack.stackSize <= 0) { + if(itemstack.stackSize <= 0) { par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); } @@ -385,22 +376,22 @@ public boolean interact(EntityPlayer par1EntityPlayer) { } } - if (par1EntityPlayer.username.equalsIgnoreCase(this.getOwnerName()) && !this.worldObj.isRemote && !this.isBreedingItem(itemstack)) { + if(par1EntityPlayer.username.equalsIgnoreCase(this.getOwnerName()) && !this.worldObj.isRemote && !this.isBreedingItem(itemstack)) { this.aiSit.setSitting(!this.isSitting()); this.isJumping = false; this.setPathToEntity((PathEntity) null); } - } else if (itemstack != null && itemstack.itemID == Item.bone.itemID && !this.isAngry()) { - if (!par1EntityPlayer.capabilities.isCreativeMode) { + } else if(itemstack != null && itemstack.itemID == Item.bone.itemID && !this.isAngry()) { + if(!par1EntityPlayer.capabilities.isCreativeMode) { --itemstack.stackSize; } - if (itemstack.stackSize <= 0) { + if(itemstack.stackSize <= 0) { par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); } - if (!this.worldObj.isRemote) { - if (this.rand.nextInt(3) == 0) { + if(!this.worldObj.isRemote) { + if(this.rand.nextInt(3) == 0) { this.setTamed(true); this.setPathToEntity((PathEntity) null); this.setAttackTarget((EntityLiving) null); @@ -423,7 +414,7 @@ public boolean interact(EntityPlayer par1EntityPlayer) { @SideOnly(Side.CLIENT) @Override public void handleHealthUpdate(byte par1) { - if (par1 == 8) { + if(par1 == 8) { this.field_70928_h = true; this.timeWolfIsShaking = 0.0F; this.prevTimeWolfIsShaking = 0.0F; @@ -438,8 +429,7 @@ public float getTailRotation() { } /** - * Checks if the parameter is an item which this animal can be fed to breed - * it (wheat, carrots or seeds depending on the animal type) + * Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on the animal type) */ @Override public boolean isBreedingItem(ItemStack par1ItemStack) { @@ -467,7 +457,7 @@ public boolean isAngry() { public void setAngry(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - if (par1) { + if(par1) { this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 2))); } else { this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -3))); @@ -475,14 +465,13 @@ public void setAngry(boolean par1) { } /** - * This function is used when two same-species animals in 'love mode' breed - * to generate the new baby animal. + * This function is used when two same-species animals in 'love mode' breed to generate the new baby animal. */ public EntityDesertWolf spawnBabyAnimal(EntityAgeable par1EntityAgeable) { EntityDesertWolf entitywolf = new EntityDesertWolf(this.worldObj); String s = this.getOwnerName(); - if (s != null && s.trim().length() > 0) { + if(s != null && s.trim().length() > 0) { entitywolf.setOwner(s); entitywolf.setTamed(true); } @@ -493,7 +482,7 @@ public EntityDesertWolf spawnBabyAnimal(EntityAgeable par1EntityAgeable) { public void func_70918_i(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(19); - if (par1) { + if(par1) { this.dataWatcher.updateObject(19, Byte.valueOf((byte) 1)); } else { this.dataWatcher.updateObject(19, Byte.valueOf((byte) 0)); @@ -505,11 +494,11 @@ public void func_70918_i(boolean par1) { */ @Override public boolean canMateWith(EntityAnimal par1EntityAnimal) { - if (par1EntityAnimal == this) { + if(par1EntityAnimal == this) { return false; - } else if (!this.isTamed()) { + } else if(!this.isTamed()) { return false; - } else if (!(par1EntityAnimal instanceof EntityDesertWolf)) { + } else if(!(par1EntityAnimal instanceof EntityDesertWolf)) { return false; } else { EntityDesertWolf entitywolf = (EntityDesertWolf) par1EntityAnimal; diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityDustySkeleton.java b/src/com/teammetallurgy/atum/entity/EntityDustySkeleton.java similarity index 100% rename from src/main/java/com/teammetallurgy/atum/entity/EntityDustySkeleton.java rename to src/com/teammetallurgy/atum/entity/EntityDustySkeleton.java diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java b/src/com/teammetallurgy/atum/entity/EntityGhost.java similarity index 97% rename from src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java rename to src/com/teammetallurgy/atum/entity/EntityGhost.java index afabf3c..3f10ee9 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java +++ b/src/com/teammetallurgy/atum/entity/EntityGhost.java @@ -12,7 +12,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.ForgeHooks; -import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.items.Items; public class EntityGhost extends EntityMob implements IAtumNightMob { private int cycleHeight = 0; @@ -124,7 +124,7 @@ protected void attackEntity(Entity par1Entity, float par2) { protected void dropFewItems(boolean par1, int par2) { if(this.rand.nextInt(4) == 0) { int amount = rand.nextInt(3) + 1; - this.dropItem(AtumItems.ectoplasm.itemID, amount); + this.dropItem(Items.ectoplasm.itemID, amount); } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityMummy.java b/src/com/teammetallurgy/atum/entity/EntityMummy.java similarity index 96% rename from src/main/java/com/teammetallurgy/atum/entity/EntityMummy.java rename to src/com/teammetallurgy/atum/entity/EntityMummy.java index 90ff37a..1ac8c10 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityMummy.java +++ b/src/com/teammetallurgy/atum/entity/EntityMummy.java @@ -8,7 +8,7 @@ import net.minecraft.util.DamageSource; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.items.Items; public class EntityMummy extends EntityMob implements IAtumNightMob { @@ -83,7 +83,7 @@ protected void dropFewItems(boolean par1, int par2) { } if(rand.nextInt(4) == 0) { int amount = rand.nextInt(2) + 1; - this.dropItem(AtumItems.scrap.itemID, amount); + this.dropItem(Items.scrap.itemID, amount); } } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java b/src/com/teammetallurgy/atum/entity/EntityPharaoh.java similarity index 97% rename from src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java rename to src/com/teammetallurgy/atum/entity/EntityPharaoh.java index 021578f..ff508e9 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java +++ b/src/com/teammetallurgy/atum/entity/EntityPharaoh.java @@ -22,9 +22,9 @@ import net.minecraft.world.World; import com.teammetallurgy.atum.AtumLoot; -import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.Blocks; import com.teammetallurgy.atum.blocks.tileentity.TileEntityPharaohChest; -import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.items.Items; import cpw.mods.fml.common.FMLCommonHandler; @@ -50,7 +50,7 @@ public EntityPharaoh(World par1World) { Random rand = new Random(); stage = 0; - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCEPTER)); + this.setCurrentItemOrArmor(0, new ItemStack(Items.ITEM_SCEPTER)); for(int i = 0; i < this.equipmentDropChances.length; ++i) { this.equipmentDropChances[i] = 0F; @@ -213,7 +213,7 @@ private boolean destroyBlocksInAABB(AxisAlignedBB par1AxisAlignedBB) { Block block = Block.blocksList[id]; if(block != null) { - if(id != AtumBlocks.BLOCK_LARGEBRICK && id != AtumBlocks.BLOCK_PHARAOHCHEST && Block.blocksList[id].isBlockSolid(worldObj, x, y, z, 0)) { + if(id != Blocks.BLOCK_LARGEBRICK.blockID && id != Blocks.BLOCK_PHARAOHCHEST.blockID && Block.blocksList[id].isBlockSolid(worldObj, x, y, z, 0)) { Block.blocksList[id].dropBlockAsItem(worldObj, x, y, z, metadata, 0); flag1 = this.worldObj.setBlockToAir(x, y, z) || flag1; } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityStone.java b/src/com/teammetallurgy/atum/entity/EntityStone.java similarity index 91% rename from src/main/java/com/teammetallurgy/atum/entity/EntityStone.java rename to src/com/teammetallurgy/atum/entity/EntityStone.java index 9341543..8553931 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityStone.java +++ b/src/com/teammetallurgy/atum/entity/EntityStone.java @@ -1,5 +1,6 @@ package com.teammetallurgy.atum.entity; +import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.monster.EntityMob; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityStoneSoldier.java b/src/com/teammetallurgy/atum/entity/EntityStoneSoldier.java similarity index 80% rename from src/main/java/com/teammetallurgy/atum/entity/EntityStoneSoldier.java rename to src/com/teammetallurgy/atum/entity/EntityStoneSoldier.java index e80a726..a507379 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityStoneSoldier.java +++ b/src/com/teammetallurgy/atum/entity/EntityStoneSoldier.java @@ -10,7 +10,7 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.items.Items; public class EntityStoneSoldier extends EntityStone implements IAtumNightMob, IAtumDayMob { @@ -19,9 +19,9 @@ public EntityStoneSoldier(World par1World) { this.isImmuneToFire = true; this.experienceValue = 8; - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_STONESOLDIER_SWORD)); + this.setCurrentItemOrArmor(0, new ItemStack(Items.ITEM_STONESOLDIER_SWORD)); - for (int i = 0; i < this.equipmentDropChances.length; ++i) { + for(int i = 0; i < this.equipmentDropChances.length; ++i) { this.equipmentDropChances[i] = 0F; } } @@ -29,15 +29,14 @@ public EntityStoneSoldier(World par1World) { @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(80.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(80.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); } /** - * Checks if the entity's current position is a valid location to spawn this - * entity. + * Checks if the entity's current position is a valid location to spawn this entity. */ @Override public boolean getCanSpawnHere() { @@ -62,14 +61,14 @@ public EnumCreatureAttribute getCreatureAttribute() { @Override public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { - if (super.attackEntityFrom(par1DamageSource, par2)) { - if (par1DamageSource.getEntity() != null) { + if(super.attackEntityFrom(par1DamageSource, par2)) { + if(par1DamageSource.getEntity() != null) { Entity par1Entity = par1DamageSource.getEntity(); int j = 0; - if (par1Entity instanceof EntityLiving) { + if(par1Entity instanceof EntityLiving) { j += EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, this); - if (j > 0) { + if(j > 0) { this.motionX /= 0.6D; this.motionZ /= 0.6D; this.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), -0.1D, (double) (-MathHelper.cos(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); @@ -97,21 +96,19 @@ public void knockBack(Entity par1Entity, float par2, double par3, double par5) { this.motionX -= par3 / (double) f * (double) f1; this.motionZ -= par5 / (double) f * (double) f1; - if (this.motionY > 0.4000000059604645D) { + if(this.motionY > 0.4000000059604645D) { this.motionY = 0.4000000059604645D; } } /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity - * has recently been hit by a player. @param par2 - Level of Looting used to - * kill this mob. + * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. */ @Override protected void dropFewItems(boolean par1, int par2) { - if (this.rand.nextInt(4) == 0) { + if(this.rand.nextInt(4) == 0) { int amount = rand.nextInt(2) + 1; - this.dropItem(AtumItems.stoneChunk, amount); + this.dropItem(Items.stoneChunk.itemID, amount); } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/IAtumDayMob.java b/src/com/teammetallurgy/atum/entity/IAtumDayMob.java similarity index 100% rename from src/main/java/com/teammetallurgy/atum/entity/IAtumDayMob.java rename to src/com/teammetallurgy/atum/entity/IAtumDayMob.java diff --git a/src/main/java/com/teammetallurgy/atum/entity/IAtumNightMob.java b/src/com/teammetallurgy/atum/entity/IAtumNightMob.java similarity index 100% rename from src/main/java/com/teammetallurgy/atum/entity/IAtumNightMob.java rename to src/com/teammetallurgy/atum/entity/IAtumNightMob.java diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java b/src/com/teammetallurgy/atum/entity/arrow/CustomArrow.java similarity index 100% rename from src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java rename to src/com/teammetallurgy/atum/entity/arrow/CustomArrow.java diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java similarity index 81% rename from src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java rename to src/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java index e1eaa95..2ab5f3e 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java +++ b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java @@ -11,9 +11,10 @@ import net.minecraft.entity.monster.EntityEnderman; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.init.Items; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.packet.Packet70GameEvent; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; @@ -28,7 +29,7 @@ public class EntityArrowDoubleShot extends CustomArrow implements IProjectile, I private int xTile = -1; private int yTile = -1; private int zTile = -1; - private Block inTile = null; + private int inTile = 0; private int inData = 0; private boolean inGround = false; @@ -66,7 +67,7 @@ public EntityArrowDoubleShot(World par1World, EntityLivingBase par2EntityLiving, this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if (par2EntityLiving instanceof EntityPlayer) { + if(par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } @@ -76,7 +77,7 @@ public EntityArrowDoubleShot(World par1World, EntityLivingBase par2EntityLiving, double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); - if (d3 >= 1.0E-7D) { + if(d3 >= 1.0E-7D) { float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); double d4 = d0 / d3; @@ -93,7 +94,7 @@ public EntityArrowDoubleShot(World par1World, EntityLivingBase par2EntityLiving, this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if (par2EntityLiving instanceof EntityPlayer) { + if(par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } @@ -115,8 +116,7 @@ protected void entityInit() { } /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z - * direction. + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. */ public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); @@ -157,7 +157,7 @@ public void setVelocity(double par1, double par3, double par5) { this.motionY = par3; this.motionZ = par5; - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); @@ -174,35 +174,35 @@ public void setVelocity(double par1, double par3, double par5) { public void onUpdate() { super.onUpdate(); - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); } - Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); + int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - if (i != null) { - i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + if(i > 0) { + Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { + if(axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { this.inGround = true; } } - if (this.arrowShake > 0) { + if(this.arrowShake > 0) { --this.arrowShake; } - if (this.inGround) { - Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); + if(this.inGround) { + int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - if (j == this.inTile && k == this.inData) { + if(j == this.inTile && k == this.inData) { ++this.ticksInGround; - if (this.ticksInGround == 1200) { + if(this.ticksInGround == 1200) { this.setDead(); } } else { @@ -217,11 +217,11 @@ public void onUpdate() { ++this.ticksInAir; Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks(vec3, vec31, true); + MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - if (movingobjectposition != null) { + if(movingobjectposition != null) { vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); } @@ -231,18 +231,18 @@ public void onUpdate() { int l; float f1; - for (l = 0; l < list.size(); ++l) { + for(l = 0; l < list.size(); ++l) { Entity entity1 = (Entity) list.get(l); - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { + if(entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { f1 = 0.3F; AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - if (movingobjectposition1 != null) { + if(movingobjectposition1 != null) { double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - if (d1 < d0 || d0 == 0.0D) { + if(d1 < d0 || d0 == 0.0D) { entity = entity1; d0 = d1; } @@ -250,14 +250,14 @@ public void onUpdate() { } } - if (entity != null) { + if(entity != null) { movingobjectposition = new MovingObjectPosition(entity); } - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { + if(entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { movingobjectposition = null; } } @@ -265,55 +265,55 @@ public void onUpdate() { float f2; float f3; - if (movingobjectposition != null) { - if (movingobjectposition.entityHit != null) { + if(movingobjectposition != null) { + if(movingobjectposition.entityHit != null) { f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); - if (this.getIsCritical()) { + if(this.getIsCritical()) { i1 += this.rand.nextInt(i1 / 2 + 2); } DamageSource damagesource = null; - if (this.shootingEntity == null) { + if(this.shootingEntity == null) { damagesource = DamageSource.causeThrownDamage(this, this); } else { damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); } - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { movingobjectposition.entityHit.setFire(5); } - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { - if (movingobjectposition.entityHit instanceof EntityLiving) { + if(movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if(movingobjectposition.entityHit instanceof EntityLiving) { EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; - if (!this.worldObj.isRemote) { + if(!this.worldObj.isRemote) { entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); } - if (this.knockbackStrength > 0) { + if(this.knockbackStrength > 0) { f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - if (f3 > 0.0F) { + if(f3 > 0.0F) { movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); } } - if (this.shootingEntity != null) { + if(this.shootingEntity != null) { EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); } - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { - ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet(6, 0)); + if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); } } this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - if (!(movingobjectposition.entityHit instanceof EntityEnderman)) { + if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { this.setDead(); } } else { @@ -328,7 +328,7 @@ public void onUpdate() { this.xTile = movingobjectposition.blockX; this.yTile = movingobjectposition.blockY; this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); + this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); @@ -342,14 +342,14 @@ public void onUpdate() { this.arrowShake = 7; this.setIsCritical(false); - if (this.inTile != null) { - this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + if(this.inTile != 0) { + Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); } } } - if (this.getIsCritical() && worldObj.isRemote) { - for (l = 0; l < 4; ++l) { + if(this.getIsCritical() && worldObj.isRemote) { + for(l = 0; l < 4; ++l) { this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); } } @@ -360,19 +360,19 @@ public void onUpdate() { f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + for(this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { ; } - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { + while(this.rotationPitch - this.prevRotationPitch >= 180.0F) { this.prevRotationPitch += 360.0F; } - while (this.rotationYaw - this.prevRotationYaw < -180.0F) { + while(this.rotationYaw - this.prevRotationYaw < -180.0F) { this.prevRotationYaw -= 360.0F; } - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { + while(this.rotationYaw - this.prevRotationYaw >= 180.0F) { this.prevRotationYaw += 360.0F; } @@ -381,8 +381,8 @@ public void onUpdate() { float f4 = 0.99F; f1 = 0.05F; - if (this.isInWater()) { - for (int j1 = 0; j1 < 4; ++j1) { + if(this.isInWater()) { + for(int j1 = 0; j1 < 4; ++j1) { f3 = 0.25F; this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); } @@ -426,13 +426,13 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - if (par1NBTTagCompound.hasKey("damage")) { + if(par1NBTTagCompound.hasKey("damage")) { this.damage = par1NBTTagCompound.getDouble("damage"); } - if (par1NBTTagCompound.hasKey("pickup")) { + if(par1NBTTagCompound.hasKey("pickup")) { this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } else if (par1NBTTagCompound.hasKey("player")) { + } else if(par1NBTTagCompound.hasKey("player")) { this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; } } @@ -441,14 +441,14 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { * Called by a player entity when they collide with an entity */ public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + if(!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Items.arrow, 1))) { + if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { flag = false; } - if (flag) { + if(flag) { this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); par1EntityPlayer.onItemPickup(this, 1); this.setDead(); @@ -457,8 +457,7 @@ public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { } /** - * returns if this entity triggers Block.onEntityWalking on the blocks they - * walk on. used for spiders and wolves to prevent them from trampling crops + * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to prevent them from trampling crops */ protected boolean canTriggerWalking() { return false; @@ -492,13 +491,12 @@ public boolean canAttackWithItem() { } /** - * Whether the arrow has a stream of critical hit particles flying behind - * it. + * Whether the arrow has a stream of critical hit particles flying behind it. */ public void setIsCritical(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - if (par1) { + if(par1) { this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); } else { this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); @@ -506,8 +504,7 @@ public void setIsCritical(boolean par1) { } /** - * Whether the arrow has a stream of critical hit particles flying behind - * it. + * Whether the arrow has a stream of critical hit particles flying behind it. */ public boolean getIsCritical() { byte b0 = this.dataWatcher.getWatchableObjectByte(16); diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java similarity index 99% rename from src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java rename to src/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java index 40896fc..3afa5fb 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java +++ b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java @@ -14,6 +14,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.packet.Packet70GameEvent; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java similarity index 99% rename from src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java rename to src/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java index 248adcf..0d70797 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java +++ b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java @@ -14,6 +14,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.packet.Packet70GameEvent; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; @@ -202,7 +203,7 @@ public void onUpdate() { ++this.ticksInGround; if(worldObj.isAirBlock((int) posX, (int) posY, (int) posZ)) - worldObj.setBlock((int) posX, (int) posY, (int) posZ, Block.fire); + worldObj.setBlock((int) posX, (int) posY, (int) posZ, Block.fire.blockID); if(this.ticksInGround == 1200) { this.setDead(); diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java similarity index 98% rename from src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java rename to src/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java index 135fe35..52d4031 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java +++ b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java @@ -11,9 +11,10 @@ import net.minecraft.entity.monster.EntityEnderman; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.init.Items; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.packet.Packet70GameEvent; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.util.AxisAlignedBB; @@ -181,7 +182,7 @@ public void onUpdate() { this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); } - int i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); + int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); if(i > 0) { Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); @@ -197,7 +198,7 @@ public void onUpdate() { } if(this.inGround) { - Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); + int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); if(j == this.inTile && k == this.inData) { @@ -218,7 +219,7 @@ public void onUpdate() { ++this.ticksInAir; Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks(vec3, vec31, true); + MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); @@ -331,7 +332,7 @@ public void onUpdate() { this.xTile = movingobjectposition.blockX; this.yTile = movingobjectposition.blockY; this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); + this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); @@ -447,7 +448,7 @@ public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { if(!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Items.arrow, 1))) { + if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { flag = false; } diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java similarity index 99% rename from src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java rename to src/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java index 48671e5..e651fcf 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java +++ b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java @@ -14,6 +14,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.packet.Packet70GameEvent; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java similarity index 99% rename from src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java rename to src/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java index d9c0741..a52b786 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java +++ b/src/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java @@ -14,6 +14,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.packet.Packet70GameEvent; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java b/src/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java similarity index 99% rename from src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java rename to src/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java index 62c7b30..1887a10 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java +++ b/src/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java @@ -21,7 +21,7 @@ import com.teammetallurgy.atum.AtumFish; import com.teammetallurgy.atum.AtumIDS; -import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.items.Items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -195,7 +195,7 @@ public void onUpdate() { if(!this.worldObj.isRemote) { ItemStack itemstack = this.angler.getCurrentEquippedItem(); - if(this.angler.isDead || !this.angler.isEntityAlive() || itemstack == null || itemstack.getItem() != AtumItems.anuketsBounty || this.getDistanceSqToEntity(this.angler) > 1024.0D) { + if(this.angler.isDead || !this.angler.isEntityAlive() || itemstack == null || itemstack.getItem() != Items.anuketsBounty || this.getDistanceSqToEntity(this.angler) > 1024.0D) { this.setDead(); this.angler.fishEntity = null; return; diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java b/src/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java similarity index 99% rename from src/main/java/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java rename to src/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java index 69416fb..de03f7c 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java +++ b/src/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java @@ -14,6 +14,7 @@ import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.packet.Packet70GameEvent; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; diff --git a/src/main/java/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearCombined.java b/src/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearCombined.java similarity index 99% rename from src/main/java/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearCombined.java rename to src/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearCombined.java index 92feada..30858bf 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearCombined.java +++ b/src/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearCombined.java @@ -14,6 +14,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.packet.Packet70GameEvent; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; diff --git a/src/main/java/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearSeperated.java b/src/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearSeperated.java similarity index 99% rename from src/main/java/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearSeperated.java rename to src/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearSeperated.java index 0e34dcb..223d7d5 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearSeperated.java +++ b/src/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearSeperated.java @@ -14,6 +14,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.network.packet.Packet70GameEvent; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemAtumBow.java b/src/com/teammetallurgy/atum/items/ItemAtumBow.java similarity index 93% rename from src/main/java/com/teammetallurgy/atum/items/ItemAtumBow.java rename to src/com/teammetallurgy/atum/items/ItemAtumBow.java index 9215833..70a3d6f 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemAtumBow.java +++ b/src/com/teammetallurgy/atum/items/ItemAtumBow.java @@ -1,10 +1,10 @@ package com.teammetallurgy.atum.items; -import javax.swing.Icon; - +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBow; import net.minecraft.item.ItemStack; +import net.minecraft.util.Icon; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemFish.java b/src/com/teammetallurgy/atum/items/ItemFish.java similarity index 89% rename from src/main/java/com/teammetallurgy/atum/items/ItemFish.java rename to src/com/teammetallurgy/atum/items/ItemFish.java index 4cb9fb8..e730371 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemFish.java +++ b/src/com/teammetallurgy/atum/items/ItemFish.java @@ -2,11 +2,14 @@ import java.util.List; -import javax.swing.Icon; - +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.util.Icon; + +import com.teammetallurgy.atum.Atum; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemGreatsword.java b/src/com/teammetallurgy/atum/items/ItemGreatsword.java similarity index 95% rename from src/main/java/com/teammetallurgy/atum/items/ItemGreatsword.java rename to src/com/teammetallurgy/atum/items/ItemGreatsword.java index c779123..aab5b2a 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemGreatsword.java +++ b/src/com/teammetallurgy/atum/items/ItemGreatsword.java @@ -1,6 +1,7 @@ package com.teammetallurgy.atum.items; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; import net.minecraft.util.MathHelper; diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java b/src/com/teammetallurgy/atum/items/ItemLoot.java similarity index 92% rename from src/main/java/com/teammetallurgy/atum/items/ItemLoot.java rename to src/com/teammetallurgy/atum/items/ItemLoot.java index cabfab6..fa9d914 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java +++ b/src/com/teammetallurgy/atum/items/ItemLoot.java @@ -3,15 +3,16 @@ import java.util.List; import java.util.Random; -import javax.swing.Icon; - import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.item.EntityItem; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.util.Icon; import net.minecraft.util.MathHelper; +import com.teammetallurgy.atum.Atum; import com.teammetallurgy.atum.LocalizationHelper; import cpw.mods.fml.relauncher.Side; @@ -32,7 +33,7 @@ public ItemLoot(int par1) { public static ItemStack getRandomLoot(Random rand, boolean isDirty) { int type = rand.nextInt(typeArray.length); int quality = rand.nextInt(qualityArray.length - 1) + 1; - return new ItemStack(AtumItems.ITEM_LOOT.itemID, 1, type << 5 | quality << 1 | (isDirty ? 1 : 0)); + return new ItemStack(Items.ITEM_LOOT.itemID, 1, type << 5 | quality << 1 | (isDirty ? 1 : 0)); } @Override @@ -54,7 +55,7 @@ public String getUnlocalizedName(ItemStack par1ItemStack) { @Override public boolean onEntityItemUpdate(EntityItem entityItem) { int id = entityItem.worldObj.getBlockId(MathHelper.floor_double(entityItem.posX), MathHelper.floor_double(entityItem.posY), MathHelper.floor_double(entityItem.posZ)); - if(id == Block.waterStill || id == Block.waterMoving) { + if(id == Block.waterStill.blockID || id == Block.waterMoving.blockID) { ItemStack item = entityItem.getEntityItem(); int damage = item.getItemDamage() >> 1; int quality = damage & 15; diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemPapyrusPlant.java b/src/com/teammetallurgy/atum/items/ItemPapyrusPlant.java similarity index 87% rename from src/main/java/com/teammetallurgy/atum/items/ItemPapyrusPlant.java rename to src/com/teammetallurgy/atum/items/ItemPapyrusPlant.java index c89c93f..72ae8b3 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemPapyrusPlant.java +++ b/src/com/teammetallurgy/atum/items/ItemPapyrusPlant.java @@ -1,6 +1,7 @@ package com.teammetallurgy.atum.items; import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -13,15 +14,15 @@ public class ItemPapyrusPlant extends Item { public ItemPapyrusPlant(int par1, Block par2Block) { super(par1); - this.spawnID = par2Block; + this.spawnID = par2Block.blockID; } @Override public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) { int i1 = par3World.getBlockId(par4, par5, par6); - if(i1 == Block.snow && (par3World.getBlockMetadata(par4, par5, par6) & 7) < 1) { + if(i1 == Block.snow.blockID && (par3World.getBlockMetadata(par4, par5, par6) & 7) < 1) { par7 = 1; - } else if(i1 != Block.vine && i1 != Block.tallGrass && i1 != Block.deadBush) { + } else if(i1 != Block.vine.blockID && i1 != Block.tallGrass.blockID && i1 != Block.deadBush.blockID) { if(par7 == 0) { --par5; } diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java b/src/com/teammetallurgy/atum/items/ItemScarab.java similarity index 84% rename from src/main/java/com/teammetallurgy/atum/items/ItemScarab.java rename to src/com/teammetallurgy/atum/items/ItemScarab.java index 3d93feb..80034c9 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java +++ b/src/com/teammetallurgy/atum/items/ItemScarab.java @@ -1,13 +1,14 @@ package com.teammetallurgy.atum.items; import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; import com.teammetallurgy.atum.blocks.BlockPortal; -import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.Blocks; public class ItemScarab extends Item { @@ -24,18 +25,18 @@ public boolean hasEffect(ItemStack par1ItemStack) { @Override public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int x, int y, int z, int par7, float par8, float par9, float par10) { int blockID = par3World.getBlockId(x, y, z); - if(blockID == Block.sandStone) { - if(!((BlockPortal) AtumBlocks.BLOCK_PORTAL).tryToCreatePortal(par3World, x, y, z)) { + if(blockID == Block.sandStone.blockID) { + if(!((BlockPortal) Blocks.BLOCK_PORTAL).tryToCreatePortal(par3World, x, y, z)) { if(par2EntityPlayer.capabilities.isCreativeMode) { for(int x1 = -2; x1 < 3; x1++) { for(int z1 = -2; z1 < 3; z1++) { - par3World.setBlock(x + x1, y, z + z1, Block.sandStone); + par3World.setBlock(x + x1, y, z + z1, Block.sandStone.blockID); } } for(int x1 = -2; x1 < 3; x1++) { for(int z1 = -2; z1 < 3; z1++) { if(x1 + x == x + 2 || z1 + z == z + 2 || x1 + x == x - 2 || z1 + z == z - 2) { - par3World.setBlock(x + x1, y + 1, z + z1, Block.sandStone); + par3World.setBlock(x + x1, y + 1, z + z1, Block.sandStone.blockID); } } } @@ -43,7 +44,7 @@ public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, for(int x1 = -2; x1 < 3; x1++) { for(int z1 = -2; z1 < 3; z1++) { if((x1 + x == x + 2 && z1 + z == z + 2) || (x1 + x == x - 2 && z1 + z == z + 2) || (x1 + x == x + 2 && z1 + z == z - 2) || (x1 + x == x - 2 && z1 + z == z - 2)) { - par3World.setBlock(x + x1, y + y1, z + z1, Block.sandStone); + par3World.setBlock(x + x1, y + y1, z + z1, Block.sandStone.blockID); } } } diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemScepter.java b/src/com/teammetallurgy/atum/items/ItemScepter.java similarity index 78% rename from src/main/java/com/teammetallurgy/atum/items/ItemScepter.java rename to src/com/teammetallurgy/atum/items/ItemScepter.java index 10e6251..569176c 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemScepter.java +++ b/src/com/teammetallurgy/atum/items/ItemScepter.java @@ -1,5 +1,7 @@ package com.teammetallurgy.atum.items; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.ItemSword; public class ItemScepter extends ItemSword { diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemScimitar.java b/src/com/teammetallurgy/atum/items/ItemScimitar.java similarity index 78% rename from src/main/java/com/teammetallurgy/atum/items/ItemScimitar.java rename to src/com/teammetallurgy/atum/items/ItemScimitar.java index 41cd96b..5884c9a 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemScimitar.java +++ b/src/com/teammetallurgy/atum/items/ItemScimitar.java @@ -1,5 +1,7 @@ package com.teammetallurgy.atum.items; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.ItemSword; public class ItemScimitar extends ItemSword { diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java b/src/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java similarity index 79% rename from src/main/java/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java rename to src/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java index 5d279a7..70ae056 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java +++ b/src/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java @@ -1,5 +1,7 @@ package com.teammetallurgy.atum.items; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.ItemSword; public class ItemStoneSoldierSword extends ItemSword { diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemTexturedArmor.java b/src/com/teammetallurgy/atum/items/ItemTexturedArmor.java similarity index 59% rename from src/main/java/com/teammetallurgy/atum/items/ItemTexturedArmor.java rename to src/com/teammetallurgy/atum/items/ItemTexturedArmor.java index 6bab90a..c22aaf6 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemTexturedArmor.java +++ b/src/com/teammetallurgy/atum/items/ItemTexturedArmor.java @@ -1,30 +1,30 @@ package com.teammetallurgy.atum.items; -import javax.swing.Icon; - +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; -import net.minecraft.item.Item; +import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; +import net.minecraft.util.Icon; public class ItemTexturedArmor extends ItemArmor { private String textureFile; - private Item repairItem; + private int repairItemID = 0; private Icon[] armour; - public ItemTexturedArmor(ArmorMaterial par2EnumArmorMaterial, int par3, int par4) { - super(par2EnumArmorMaterial, par3, par4); + public ItemTexturedArmor(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { + super(par1, par2EnumArmorMaterial, par3, par4); } - public ItemTexturedArmor setRepairItem(Item item) { - this.repairItem = item; + public ItemTexturedArmor setRepairItem(int id) { + this.repairItemID = id; return this; } @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.getItem() == this.repairItem; + return par2ItemStack.itemID == this.repairItemID; } public ItemTexturedArmor setTextureFile(String filename) { diff --git a/src/main/java/com/teammetallurgy/atum/items/AtumItems.java b/src/com/teammetallurgy/atum/items/Items.java similarity index 96% rename from src/main/java/com/teammetallurgy/atum/items/AtumItems.java rename to src/com/teammetallurgy/atum/items/Items.java index 98701d4..386402e 100644 --- a/src/main/java/com/teammetallurgy/atum/items/AtumItems.java +++ b/src/com/teammetallurgy/atum/items/Items.java @@ -1,16 +1,19 @@ package com.teammetallurgy.atum.items; import net.minecraft.block.Block; +import net.minecraft.item.EnumArmorMaterial; +import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemFood; import net.minecraft.item.ItemSeeds; import net.minecraft.item.ItemStack; -import net.minecraftforge.common.util.EnumHelper; +import net.minecraftforge.common.EnumHelper; +import net.minecraftforge.common.MinecraftForge; import com.teammetallurgy.atum.Atum; import com.teammetallurgy.atum.AtumIDS; import com.teammetallurgy.atum.LocalizationHelper; -import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.Blocks; import com.teammetallurgy.atum.items.artifacts.IsisEmbrace; import com.teammetallurgy.atum.items.artifacts.ItemAkersToil; import com.teammetallurgy.atum.items.artifacts.ItemAmunetsHomecoming; @@ -45,8 +48,10 @@ import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; -public enum AtumItems { +public enum Items { INSTANCE; public static final Item ITEM_SCARAB = new ItemScarab(AtumIDS.ITEM_SCARAB_ID).setUnlocalizedName("atum:scarab"); @@ -106,7 +111,7 @@ public enum AtumItems { public static final Item desertChest = new ItemTexturedArmor(AtumIDS.ITEM_DESERTCHEST_ID, desertEnum, 0, 1).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("atum:desertChest").setTextureName("atum:DesertChest"); public static final Item desertLegs = new ItemTexturedArmor(AtumIDS.ITEM_DESERTLEGS_ID, desertEnum, 0, 2).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_2").setUnlocalizedName("atum:desertLegs").setTextureName("atum:DesertLegs"); public static final Item desertBoots = new ItemTexturedArmor(AtumIDS.ITEM_DESERTBOOTS_ID, desertEnum, 0, 3).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("atum:desertBoots").setTextureName("atum:DesertBoots"); - public static final Item papyrusPlant = new ItemPapyrusPlant(AtumIDS.ITEM_PAPYRUSPLANT_ID, AtumBlocks.BLOCK_PAPYRUS).setUnlocalizedName("atum:papyrusPlantItem"); + public static final Item papyrusPlant = new ItemPapyrusPlant(AtumIDS.ITEM_PAPYRUSPLANT_ID, Blocks.BLOCK_PAPYRUS).setUnlocalizedName("atum:papyrusPlantItem"); public static final Item ectoplasm = new Item(AtumIDS.ITEM_ECTOPLASM_ID).setUnlocalizedName("atum:ectoplasm").setTextureName("atum:Ectoplasm"); public static final Item stoneChunk = new Item(AtumIDS.ITEM_STONECHUNK_ID).setUnlocalizedName("atum:stoneChunk").setTextureName("atum:StoneChunk"); public static final Item scrap = new Item(AtumIDS.ITEM_SCRAP_ID).setUnlocalizedName("atum:clothScrap").setTextureName("atum:ClothScrap"); @@ -114,7 +119,7 @@ public enum AtumItems { public static final Item pelt = new Item(AtumIDS.ITEM_PELT_ID).setUnlocalizedName("atum:wolfPelt").setTextureName("atum:WolfPelt"); public static final Item linen = new Item(AtumIDS.ITEM_LINEN_ID).setUnlocalizedName("atum:linen").setTextureName("atum:Linen"); public static final Item flax = new Item(AtumIDS.ITEM_FLAX_ID).setUnlocalizedName("atum:flaxItem").setTextureName("atum:FlaxItem"); - public static final Item flaxSeeds = new ItemSeeds(AtumIDS.ITEM_FLAXSEEDS_ID, AtumBlocks.BLOCK_FLAX, Block.tilledField).setUnlocalizedName("atum:flaxSeeds").setTextureName("atum:FlaxSeeds"); + public static final Item flaxSeeds = new ItemSeeds(AtumIDS.ITEM_FLAXSEEDS_ID, Blocks.BLOCK_FLAX.blockID, Block.tilledField.blockID).setUnlocalizedName("atum:flaxSeeds").setTextureName("atum:FlaxSeeds"); public static final Item fish = new ItemFish(AtumIDS.ITEM_FISH_ID).setUnlocalizedName("atum:fish"); public static final Item neithsAudacity = new ItemNeithsAudacity(AtumIDS.ITEM_NEITHSAUDACITY_ID).setUnlocalizedName("atum:neithsAudacity"); public static final Item spear = new ItemSpear(AtumIDS.ITEM_SPEAR_ID).setUnlocalizedName("atum:spear"); diff --git a/src/main/java/com/teammetallurgy/atum/items/LimestoneAxe.java b/src/com/teammetallurgy/atum/items/LimestoneAxe.java similarity index 70% rename from src/main/java/com/teammetallurgy/atum/items/LimestoneAxe.java rename to src/com/teammetallurgy/atum/items/LimestoneAxe.java index 7d60887..b661e6b 100644 --- a/src/main/java/com/teammetallurgy/atum/items/LimestoneAxe.java +++ b/src/com/teammetallurgy/atum/items/LimestoneAxe.java @@ -1,9 +1,11 @@ package com.teammetallurgy.atum.items; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.ItemAxe; import net.minecraft.item.ItemStack; -import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.Blocks; public class LimestoneAxe extends ItemAxe { @@ -13,7 +15,7 @@ public LimestoneAxe(int par1, EnumToolMaterial par2EnumToolMaterial) { @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == AtumBlocks.BLOCK_LIMESTONECOBBLE; + return par2ItemStack.itemID == Blocks.BLOCK_LIMESTONECOBBLE.blockID; } @Override diff --git a/src/main/java/com/teammetallurgy/atum/items/LimestoneHoe.java b/src/com/teammetallurgy/atum/items/LimestoneHoe.java similarity index 70% rename from src/main/java/com/teammetallurgy/atum/items/LimestoneHoe.java rename to src/com/teammetallurgy/atum/items/LimestoneHoe.java index 3d3e0c0..dac5d22 100644 --- a/src/main/java/com/teammetallurgy/atum/items/LimestoneHoe.java +++ b/src/com/teammetallurgy/atum/items/LimestoneHoe.java @@ -1,9 +1,11 @@ package com.teammetallurgy.atum.items; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.ItemHoe; import net.minecraft.item.ItemStack; -import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.Blocks; public class LimestoneHoe extends ItemHoe { @@ -13,7 +15,7 @@ public LimestoneHoe(int par1, EnumToolMaterial par2EnumToolMaterial) { @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == AtumBlocks.BLOCK_LIMESTONECOBBLE; + return par2ItemStack.itemID == Blocks.BLOCK_LIMESTONECOBBLE.blockID; } @Override diff --git a/src/main/java/com/teammetallurgy/atum/items/LimestonePickaxe.java b/src/com/teammetallurgy/atum/items/LimestonePickaxe.java similarity index 70% rename from src/main/java/com/teammetallurgy/atum/items/LimestonePickaxe.java rename to src/com/teammetallurgy/atum/items/LimestonePickaxe.java index 521f1a7..4b3d793 100644 --- a/src/main/java/com/teammetallurgy/atum/items/LimestonePickaxe.java +++ b/src/com/teammetallurgy/atum/items/LimestonePickaxe.java @@ -1,9 +1,11 @@ package com.teammetallurgy.atum.items; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.ItemPickaxe; import net.minecraft.item.ItemStack; -import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.Blocks; public class LimestonePickaxe extends ItemPickaxe { @@ -13,7 +15,7 @@ public LimestonePickaxe(int par1, EnumToolMaterial par2EnumToolMaterial) { @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == AtumBlocks.BLOCK_LIMESTONECOBBLE; + return par2ItemStack.itemID == Blocks.BLOCK_LIMESTONECOBBLE.blockID; } @Override diff --git a/src/main/java/com/teammetallurgy/atum/items/LimestoneShovel.java b/src/com/teammetallurgy/atum/items/LimestoneShovel.java similarity index 70% rename from src/main/java/com/teammetallurgy/atum/items/LimestoneShovel.java rename to src/com/teammetallurgy/atum/items/LimestoneShovel.java index 5244100..6cc5d99 100644 --- a/src/main/java/com/teammetallurgy/atum/items/LimestoneShovel.java +++ b/src/com/teammetallurgy/atum/items/LimestoneShovel.java @@ -1,10 +1,12 @@ package com.teammetallurgy.atum.items; +import com.teammetallurgy.atum.blocks.Blocks; + +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.ItemSpade; import net.minecraft.item.ItemStack; -import com.teammetallurgy.atum.blocks.AtumBlocks; - public class LimestoneShovel extends ItemSpade { public LimestoneShovel(int par1, EnumToolMaterial par2EnumToolMaterial) { @@ -13,7 +15,7 @@ public LimestoneShovel(int par1, EnumToolMaterial par2EnumToolMaterial) { @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == AtumBlocks.BLOCK_LIMESTONECOBBLE; + return par2ItemStack.itemID == Blocks.BLOCK_LIMESTONECOBBLE.blockID; } @Override diff --git a/src/main/java/com/teammetallurgy/atum/items/LimestoneSword.java b/src/com/teammetallurgy/atum/items/LimestoneSword.java similarity index 69% rename from src/main/java/com/teammetallurgy/atum/items/LimestoneSword.java rename to src/com/teammetallurgy/atum/items/LimestoneSword.java index e0df996..1314074 100644 --- a/src/main/java/com/teammetallurgy/atum/items/LimestoneSword.java +++ b/src/com/teammetallurgy/atum/items/LimestoneSword.java @@ -1,9 +1,11 @@ package com.teammetallurgy.atum.items; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; -import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.Blocks; public class LimestoneSword extends ItemSword { @@ -12,7 +14,7 @@ public LimestoneSword(int par1, EnumToolMaterial par2EnumToolMaterial) { } public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == AtumBlocks.BLOCK_LIMESTONECOBBLE; + return par2ItemStack.itemID == Blocks.BLOCK_LIMESTONECOBBLE.blockID; } public void registerIcons(IconRegister par1IconRegister) { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java b/src/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java similarity index 76% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java rename to src/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java index 932fe4f..2a40b6d 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java +++ b/src/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java @@ -2,9 +2,12 @@ import java.util.List; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Items; +import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; @@ -17,8 +20,9 @@ public class IsisEmbrace extends ItemTexturedArmor { - public IsisEmbrace(ArmorMaterial par2EnumArmorMaterial, int par3, int par4) { - super(par2EnumArmorMaterial, par3, par4); + + public IsisEmbrace(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { + super(par1, par2EnumArmorMaterial, par3, par4); } @Override @@ -35,7 +39,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { + if(Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Regeneration I: Regens"); par3List.add(EnumChatFormatting.DARK_PURPLE + "health slowly"); } else { @@ -46,7 +50,7 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.getItem() == Items.diamond; + return par2ItemStack.itemID == Item.diamond.itemID; } @Override diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java b/src/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java similarity index 95% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java index 9c52f56..6e963be 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java @@ -3,9 +3,11 @@ import java.util.List; import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; +import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemSpade; import net.minecraft.item.ItemStack; diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java b/src/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java similarity index 98% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java index 419caca..84f1872 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java @@ -1,9 +1,13 @@ package com.teammetallurgy.atum.items.artifacts; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + import java.util.List; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; @@ -16,9 +20,6 @@ import org.lwjgl.input.Keyboard; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - public class ItemAmunetsHomecoming extends Item { public ItemAmunetsHomecoming(int par1) { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java b/src/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java similarity index 96% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java index e0fd566..2ec1c80 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java @@ -2,10 +2,12 @@ import java.util.List; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; +import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java b/src/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java similarity index 97% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java index 3ab5705..f38a694 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java @@ -1,9 +1,13 @@ package com.teammetallurgy.atum.items.artifacts; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + import java.util.List; import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; @@ -14,13 +18,12 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraft.world.chunk.IChunkProvider; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingHurtEvent; import org.lwjgl.input.Keyboard; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - public class ItemAnubisMercy extends Item { public ItemAnubisMercy(int par1) { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java b/src/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java similarity index 96% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java index c8a14ca..f64b307 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java @@ -2,14 +2,14 @@ import java.util.List; -import javax.swing.Icon; - +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.Icon; import net.minecraft.world.World; import org.lwjgl.input.Keyboard; diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java b/src/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java similarity index 98% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java index 4353b76..e1eec4d 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java @@ -2,8 +2,7 @@ import java.util.List; -import javax.swing.Icon; - +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.player.EntityPlayer; @@ -12,6 +11,7 @@ import net.minecraft.item.ItemBow; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.Icon; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java b/src/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java similarity index 93% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java index 4f09dfa..d195e59 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java @@ -2,8 +2,10 @@ import java.util.List; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; +import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemHoe; import net.minecraft.item.ItemStack; diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java b/src/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java similarity index 96% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java index a858d0c..ed6c995 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java @@ -2,11 +2,13 @@ import java.util.List; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -14,6 +16,7 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.MathHelper; import net.minecraft.world.World; +import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingHurtEvent; import org.lwjgl.input.Keyboard; diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java b/src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java similarity index 94% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java index aab30a5..ceabdba 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java @@ -2,9 +2,11 @@ import java.util.List; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; +import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java b/src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java similarity index 98% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java index d12ad5f..e2727d8 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java @@ -2,8 +2,7 @@ import java.util.List; -import javax.swing.Icon; - +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.player.EntityPlayer; @@ -12,6 +11,7 @@ import net.minecraft.item.ItemBow; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.Icon; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java b/src/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java similarity index 86% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java index bf05ff8..b8ef4bc 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java @@ -2,18 +2,23 @@ import java.util.List; +import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; +import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingEvent.LivingJumpEvent; import net.minecraftforge.event.entity.living.LivingFallEvent; import org.lwjgl.input.Keyboard; -import com.teammetallurgy.atum.items.AtumItems; import com.teammetallurgy.atum.items.ItemTexturedArmor; +import com.teammetallurgy.atum.items.Items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -42,7 +47,7 @@ public void onJump(LivingJumpEvent event) { @ForgeSubscribe public void onFallDamage(LivingFallEvent event) { - if(event.entityLiving.getCurrentItemOrArmor(0) != null && event.entityLiving.getCurrentItemOrArmor(0).itemID == AtumItems.horusFlight.itemID) { + if(event.entityLiving.getCurrentItemOrArmor(0) != null && event.entityLiving.getCurrentItemOrArmor(0).itemID == Items.horusFlight.itemID) { event.distance = 0.0F; } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java b/src/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java similarity index 97% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java index 47551cc..1610359 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java @@ -2,8 +2,7 @@ import java.util.List; -import javax.swing.Icon; - +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.player.EntityPlayer; @@ -11,6 +10,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemBow; import net.minecraft.item.ItemStack; +import net.minecraft.util.Icon; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java b/src/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java similarity index 97% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java index 2b20a47..bb57932 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java @@ -2,6 +2,7 @@ import java.util.List; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java b/src/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java similarity index 94% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java index 0f03c1e..6c0d7fb 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java @@ -2,15 +2,18 @@ import java.util.List; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EntityDamageSource; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; +import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingHurtEvent; import org.lwjgl.input.Keyboard; diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java b/src/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java similarity index 97% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java index cd7b688..3943a70 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java @@ -2,6 +2,7 @@ import java.util.List; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java b/src/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java similarity index 93% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java index d146d45..43d109a 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java @@ -2,13 +2,16 @@ import java.util.List; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; import net.minecraft.util.EntityDamageSource; import net.minecraft.util.EnumChatFormatting; +import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingAttackEvent; import org.lwjgl.input.Keyboard; diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java b/src/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java similarity index 98% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java index d5c3ce4..af92db7 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java @@ -2,8 +2,7 @@ import java.util.List; -import javax.swing.Icon; - +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.player.EntityPlayer; @@ -12,6 +11,7 @@ import net.minecraft.item.ItemBow; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.Icon; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java b/src/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java similarity index 97% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java index 09c19bf..d9e5841 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java @@ -5,11 +5,13 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.particle.EntityCrit2FX; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumAction; import net.minecraft.item.EnumRarity; +import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemAxe; import net.minecraft.item.ItemStack; diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java b/src/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java similarity index 98% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java index b358c30..f4c5f27 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java @@ -2,8 +2,7 @@ import java.util.List; -import javax.swing.Icon; - +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; @@ -14,6 +13,7 @@ import net.minecraft.item.ItemBow; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.Icon; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java b/src/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java similarity index 96% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java index fcf8eeb..3d6a960 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java @@ -4,10 +4,12 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.particle.EntityCrit2FX; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; +import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java b/src/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java similarity index 94% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java index c8b5a71..aeb9a77 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java @@ -2,7 +2,9 @@ import java.util.List; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java b/src/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java similarity index 97% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java index e705453..a7df76a 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java @@ -2,6 +2,7 @@ import java.util.List; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumAction; import net.minecraft.item.EnumRarity; diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java b/src/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java similarity index 92% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java index b442cef..3ba9b19 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java @@ -2,11 +2,13 @@ import java.util.List; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; +import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; @@ -14,7 +16,7 @@ import org.lwjgl.input.Keyboard; -import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.items.Items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -43,7 +45,7 @@ public float getDamageVsEntity(Entity par1Entity, ItemStack stack) { @Override public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase mob, EntityLivingBase player) { if(!mob.isEntityAlive() && Math.random() < 0.5D && mob.getCreatureAttribute() == EnumCreatureAttribute.UNDEAD) { - mob.dropItem(AtumItems.ectoplasm.itemID, 1); + mob.dropItem(Items.ectoplasm.itemID, 1); } return super.hitEntity(par1ItemStack, mob, player); diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java b/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java similarity index 95% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java index 537c913..b082d6a 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java @@ -4,9 +4,11 @@ import java.util.Random; import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; +import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemPickaxe; import net.minecraft.item.ItemStack; diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java b/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java similarity index 94% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java index 7023658..cad4f60 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java @@ -2,9 +2,11 @@ import java.util.List; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; +import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemPickaxe; import net.minecraft.item.ItemStack; diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java b/src/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java similarity index 93% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java index d37395a..49c41fc 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java @@ -2,7 +2,9 @@ import java.util.List; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java b/src/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java similarity index 94% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java index 3942c17..878738b 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java @@ -2,12 +2,15 @@ import java.util.List; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EntityDamageSource; import net.minecraft.util.EnumChatFormatting; +import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingAttackEvent; import net.minecraftforge.event.entity.living.LivingHurtEvent; diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java b/src/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java similarity index 98% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java index b4ad898..d2f94aa 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java @@ -2,8 +2,7 @@ import java.util.List; -import javax.swing.Icon; - +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.player.EntityPlayer; @@ -12,6 +11,7 @@ import net.minecraft.item.ItemBow; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.Icon; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java b/src/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java similarity index 95% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java index 9e97977..c4672a8 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java @@ -2,10 +2,12 @@ import java.util.List; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; +import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemAxe; import net.minecraft.item.ItemStack; diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSpear.java b/src/com/teammetallurgy/atum/items/artifacts/ItemSpear.java similarity index 95% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSpear.java rename to src/com/teammetallurgy/atum/items/artifacts/ItemSpear.java index 3371e97..c6803f6 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSpear.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemSpear.java @@ -1,5 +1,6 @@ package com.teammetallurgy.atum.items.artifacts; +import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; diff --git a/src/com/teammetallurgy/atum/lib/handler/CraftingHandler.java b/src/com/teammetallurgy/atum/lib/handler/CraftingHandler.java new file mode 100644 index 0000000..247da1a --- /dev/null +++ b/src/com/teammetallurgy/atum/lib/handler/CraftingHandler.java @@ -0,0 +1,87 @@ +package com.teammetallurgy.atum.lib.handler; + +import net.minecraft.block.Block; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.FurnaceRecipes; +import net.minecraftforge.oredict.ShapedOreRecipe; +import net.minecraftforge.oredict.ShapelessOreRecipe; + +import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.items.Items; + +import cpw.mods.fml.common.registry.GameRegistry; + +public enum CraftingHandler { + INSTANCE; + + public void register() { + addRecipes(); + addSmeltingRecipes(); + addShapelessRecipes(); + } + + private void addRecipes() { + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Blocks.BLOCK_LARGEBRICK, 4), "XX", "XX", 'X', Blocks.BLOCK_STONE)); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Blocks.BLOCK_SMALLBRICK, 4), "XX", "XX", 'X', Blocks.BLOCK_LIMESTONECOBBLE)); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(Blocks.BLOCK_CARVEDBRICK, 1), Blocks.BLOCK_STONE)); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_SMOOTHSTAIRS, 6), "X ", "XX ", "XXX", 'X', Blocks.BLOCK_STONE); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_COBBLESTAIRS, 6), "X ", "XX ", "XXX", 'X', Blocks.BLOCK_LIMESTONECOBBLE); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_LARGESTONESTAIRS, 6), "X ", "XX ", "XXX", 'X', Blocks.BLOCK_LARGEBRICK); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_SMALLSTONESTAIRS, 6), "X ", "XX ", "XXX", 'X', Blocks.BLOCK_SMALLBRICK); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_SLABS, 6, 0), "XXX", 'X', Blocks.BLOCK_STONE); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_SLABS, 6, 1), "XXX", 'X', Blocks.BLOCK_LIMESTONECOBBLE); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_SLABS, 6, 2), "XXX", 'X', Blocks.BLOCK_LARGEBRICK); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_SLABS, 6, 3), "XXX", 'X', Blocks.BLOCK_SMALLBRICK); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_WALL, 6, 0), "XXX", "XXX", 'X', Blocks.BLOCK_STONE); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_WALL, 6, 1), "XXX", "XXX", 'X', Blocks.BLOCK_LIMESTONECOBBLE); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_WALL, 6, 2), "XXX", "XXX", 'X', Blocks.BLOCK_LARGEBRICK); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_WALL, 6, 3), "XXX", "XXX", 'X', Blocks.BLOCK_SMALLBRICK); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_FRAMEDGLASS), " X ", "XSX", " X ", 'X', Item.stick, 'S', Blocks.BLOCK_CRYSTALGLASS); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_CRACKEDLARGEBRICK, 4), "XX", "XX", 'X', Items.stoneChunk); + GameRegistry.addRecipe(new ItemStack(Item.expBottle), " X ", "XBX", " X ", 'X', Items.ectoplasm, 'B', Item.potion); + GameRegistry.addRecipe(new ItemStack(Items.limestoneSword), "L", "L", "S", 'L', Blocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); + GameRegistry.addRecipe(new ItemStack(Items.limestoneShovel), "L", "S", "S", 'L', Blocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); + GameRegistry.addRecipe(new ItemStack(Items.limestonePickaxe), "LLL", " S ", " S ", 'L', Blocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); + GameRegistry.addRecipe(new ItemStack(Items.limestoneAxe), "LL", "LS", " S", 'L', Blocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); + GameRegistry.addRecipe(new ItemStack(Items.limestoneHoe), "LL", " S", " S", 'L', Blocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); + GameRegistry.addRecipe(new ItemStack(Items.mummyHelmet), "XXX", "X X", 'X', Items.scrap); + GameRegistry.addRecipe(new ItemStack(Items.mummyChest), "X X", "XXX", "XXX", 'X', Items.scrap); + GameRegistry.addRecipe(new ItemStack(Items.mummyLegs), "XXX", "X X", "X X", 'X', Items.scrap); + GameRegistry.addRecipe(new ItemStack(Items.mummyBoots), "X X", "X X", 'X', Items.scrap); + GameRegistry.addRecipe(new ItemStack(Items.wandererHelmet), "XXX", "X X", 'X', Items.linen); + GameRegistry.addRecipe(new ItemStack(Items.wandererChest), "X X", "XXX", "XXX", 'X', Items.linen); + GameRegistry.addRecipe(new ItemStack(Items.wandererLegs), "XXX", "X X", "X X", 'X', Items.linen); + GameRegistry.addRecipe(new ItemStack(Items.wandererBoots), "X X", "X X", 'X', Items.linen); + GameRegistry.addRecipe(new ItemStack(Items.linen), "XXX", 'X', Items.flax); + GameRegistry.addRecipe(new ItemStack(Item.glassBottle, 3), "X X", " X ", 'X', Blocks.BLOCK_CRYSTALGLASS); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_THINCRYSTALGLASS, 16), "XXX", "XXX", 'X', Blocks.BLOCK_CRYSTALGLASS); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_THINFRAMEDGLASS, 16), "XXX", "XXX", 'X', Blocks.BLOCK_FRAMEDGLASS); + GameRegistry.addRecipe(new ItemStack(Items.scroll), "XXX", "SXS", "XXX", 'X', Items.papyrusPlant, 'S', Item.stick); + GameRegistry.addRecipe(new ItemStack(Items.ITEM_SCARAB), " G ", "GDG", " G ", 'G', Item.ingotGold, 'D', Item.diamond); + GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_FURNACEIDLE), "XXX", "X X", "XXX", 'X', Blocks.BLOCK_LIMESTONECOBBLE); + } + + private void addSmeltingRecipes() { + FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_IRONORE.blockID, 0, new ItemStack(Item.ingotIron), 0.7F); + FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_COALORE.blockID, new ItemStack(Item.coal), 0.1F); + FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_REDSTONEORE.blockID, new ItemStack(Item.redstone), 0.7F); + FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_LAPISORE.blockID, new ItemStack(Item.dyePowder, 1, 4), 0.2F); + FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_GOLDORE.blockID, new ItemStack(Item.ingotGold), 1.0F); + FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_DIAMONDORE.blockID, new ItemStack(Item.diamond), 1.0F); + FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_LOG.blockID, new ItemStack(Item.coal, 1, 1), 0.15F); + FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_LIMESTONECOBBLE.blockID, new ItemStack(Blocks.BLOCK_STONE), 0.1F); + FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_SAND.blockID, new ItemStack(Blocks.BLOCK_CRYSTALGLASS), 0.1F); + } + + private void addShapelessRecipes() { + GameRegistry.addShapelessRecipe(new ItemStack(Blocks.BLOCK_PLANKS, 4), Blocks.BLOCK_LOG); + GameRegistry.addShapelessRecipe(new ItemStack(Items.desertHelmet), Items.wandererHelmet, Item.helmetIron); + GameRegistry.addShapelessRecipe(new ItemStack(Items.desertChest), Items.wandererChest, Item.plateIron); + GameRegistry.addShapelessRecipe(new ItemStack(Items.desertLegs), Items.wandererLegs, Item.legsIron); + GameRegistry.addShapelessRecipe(new ItemStack(Items.desertBoots), Items.wandererBoots, Item.bootsIron); + GameRegistry.addShapelessRecipe(new ItemStack(Block.sand), Blocks.BLOCK_SAND); + GameRegistry.addShapelessRecipe(new ItemStack(Item.silk, 3), Items.flax); + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java b/src/com/teammetallurgy/atum/lib/proxy/ClientProxy.java similarity index 81% rename from src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java rename to src/com/teammetallurgy/atum/lib/proxy/ClientProxy.java index 7578ea7..be24a6f 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java +++ b/src/com/teammetallurgy/atum/lib/proxy/ClientProxy.java @@ -12,7 +12,7 @@ import com.teammetallurgy.atum.blocks.BlockDate; import com.teammetallurgy.atum.blocks.BlockPapyrus; -import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.Blocks; import com.teammetallurgy.atum.client.model.entity.ModelDesertWolf; import com.teammetallurgy.atum.client.model.entity.ModelDustySkeleton; import com.teammetallurgy.atum.client.render.entity.RenderBandit; @@ -39,10 +39,11 @@ import com.teammetallurgy.atum.entity.arrow.EntityAtumFishHook; import com.teammetallurgy.atum.entity.arrow.EntityNutsCall; import com.teammetallurgy.atum.entity.projectiles.EntityFireSpearCombined; -import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.items.Items; import com.teammetallurgy.atum.lib.tickhandler.ClientTickHandler; import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.common.registry.TickRegistry; import cpw.mods.fml.relauncher.Side; public class ClientProxy extends CommonProxy { @@ -51,23 +52,23 @@ public class ClientProxy extends CommonProxy { public void init() { TickRegistry.registerTickHandler(new ClientTickHandler(), Side.CLIENT); - MinecraftForge.EVENT_BUS.register(AtumItems.sekhmetsWrath); - MinecraftForge.EVENT_BUS.register(AtumItems.mnevisHorns); - MinecraftForge.EVENT_BUS.register(AtumItems.maatsBalance); - MinecraftForge.EVENT_BUS.register(AtumItems.anubisMercy); + MinecraftForge.EVENT_BUS.register(Items.sekhmetsWrath); + MinecraftForge.EVENT_BUS.register(Items.mnevisHorns); + MinecraftForge.EVENT_BUS.register(Items.maatsBalance); + MinecraftForge.EVENT_BUS.register(Items.anubisMercy); } @Override public void initRenders() { - MinecraftForgeClient.registerItemRenderer(AtumItems.ITEM_BOW, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.atensFury, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.horusSoaring, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.neithsAudacity, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.shusBreath, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.hedetetsVenom, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.monthusBlast, new RendererItemBow()); - RenderingRegistry.registerBlockHandler(((BlockPapyrus) AtumBlocks.BLOCK_PAPYRUS).renderID, new RenderPapyrus()); - RenderingRegistry.registerBlockHandler(((BlockDate) AtumBlocks.BLOCK_DATEBLOCK).renderID, new RenderDate()); + MinecraftForgeClient.registerItemRenderer(Items.ITEM_BOW.itemID, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(Items.atensFury.itemID, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(Items.horusSoaring.itemID, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(Items.neithsAudacity.itemID, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(Items.shusBreath.itemID, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(Items.hedetetsVenom.itemID, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(Items.monthusBlast.itemID, new RendererItemBow()); + RenderingRegistry.registerBlockHandler(((BlockPapyrus) Blocks.BLOCK_PAPYRUS).renderID, new RenderPapyrus()); + RenderingRegistry.registerBlockHandler(((BlockDate) Blocks.BLOCK_DATEBLOCK).renderID, new RenderDate()); RenderingRegistry.registerEntityRenderingHandler(EntityMummy.class, new RenderLiving(new ModelZombie(), 0.5F) { diff --git a/src/main/java/com/teammetallurgy/atum/lib/proxy/CommonProxy.java b/src/com/teammetallurgy/atum/lib/proxy/CommonProxy.java similarity index 74% rename from src/main/java/com/teammetallurgy/atum/lib/proxy/CommonProxy.java rename to src/com/teammetallurgy/atum/lib/proxy/CommonProxy.java index faff568..edfe09b 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/proxy/CommonProxy.java +++ b/src/com/teammetallurgy/atum/lib/proxy/CommonProxy.java @@ -1,7 +1,9 @@ package com.teammetallurgy.atum.lib.proxy; +import com.teammetallurgy.atum.lib.tickhandler.ClientTickHandler; import com.teammetallurgy.atum.lib.tickhandler.ServerTickHandler; +import cpw.mods.fml.common.registry.TickRegistry; import cpw.mods.fml.relauncher.Side; public class CommonProxy { diff --git a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java b/src/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java similarity index 94% rename from src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java rename to src/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java index 528d0ae..10030c8 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java +++ b/src/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java @@ -11,9 +11,11 @@ import net.minecraft.util.ResourceLocation; import com.teammetallurgy.atum.AtumIDS; -import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.items.Items; import cpw.mods.fml.client.FMLClientHandler; +import cpw.mods.fml.common.ITickHandler; +import cpw.mods.fml.common.TickType; public class ClientTickHandler implements ITickHandler { private boolean raining; @@ -45,7 +47,7 @@ public void tickStart(EnumSet type, Object... tickData) { boolean nightvision = false; if(player.getCurrentArmor(3) != null) { - if(player.getCurrentArmor(3).getItem() == AtumItems.rasGlory) { + if(player.getCurrentArmor(3).itemID == Items.rasGlory.itemID) { nightvision = true; } @@ -96,7 +98,7 @@ public void tickEnd(EnumSet type, Object... tickData) { if(type.contains(TickType.RENDER)) { if(player != null && player.getCurrentArmor(3) != null) { - if(player.getCurrentArmor(3).itemID == AtumItems.mummyHelmet.itemID) { + if(player.getCurrentArmor(3).itemID == Items.mummyHelmet.itemID) { ScaledResolution scaledresolution = new ScaledResolution(Minecraft.getMinecraft().gameSettings, Minecraft.getMinecraft().displayWidth, Minecraft.getMinecraft().displayHeight); int par1 = scaledresolution.getScaledWidth(); int par2 = scaledresolution.getScaledHeight(); diff --git a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java b/src/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java similarity index 77% rename from src/main/java/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java rename to src/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java index a37dd2f..86a06d8 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java +++ b/src/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java @@ -6,7 +6,10 @@ import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; -import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.items.Items; + +import cpw.mods.fml.common.ITickHandler; +import cpw.mods.fml.common.TickType; public class ServerTickHandler implements ITickHandler { @@ -20,7 +23,7 @@ public void tickStart(EnumSet type, Object... tickData) { if(player.worldObj.getTotalWorldTime() % 60L == 0L) { if(player.getCurrentArmor(2) != null) { - if(player.getCurrentArmor(2).itemID == AtumItems.isisEmbrace.itemID) { + if(player.getCurrentArmor(2).itemID == Items.isisEmbrace.itemID) { player.heal(1); } } @@ -28,7 +31,7 @@ public void tickStart(EnumSet type, Object... tickData) { if(player.worldObj.getTotalWorldTime() % 10L == 0L) { if(player.getCurrentArmor(3) != null) { - if(player.getCurrentArmor(3).itemID == AtumItems.rasGlory.itemID) { + if(player.getCurrentArmor(3).itemID == Items.rasGlory.itemID) { player.addPotionEffect(new PotionEffect(16, 340, 0, true)); } else { if(player.isPotionActive(16)) { @@ -38,20 +41,20 @@ public void tickStart(EnumSet type, Object... tickData) { } if(player.getCurrentArmor(2) != null) { - if(player.getCurrentArmor(2).itemID == AtumItems.sekhmetsWrath.itemID) { + if(player.getCurrentArmor(2).itemID == Items.sekhmetsWrath.itemID) { // player.addPotionEffect(new PotionEffect(12, 240, 0, true)); } } if(player.getCurrentArmor(1) != null) { - if(player.getCurrentArmor(1).itemID == AtumItems.nutsAgility.itemID) { + if(player.getCurrentArmor(1).itemID == Items.nutsAgility.itemID) { // player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 240, 1, true)); player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 240, 1, true)); } } if(player.getCurrentArmor(0) != null) { - if(player.getCurrentArmor(0).itemID == AtumItems.horusFlight.itemID) { + if(player.getCurrentArmor(0).itemID == Items.horusFlight.itemID) { // player.addPotionEffect(new PotionEffect(8, 240, 1, true)); } } diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumPortalPosition.java b/src/com/teammetallurgy/atum/world/AtumPortalPosition.java similarity index 100% rename from src/main/java/com/teammetallurgy/atum/world/AtumPortalPosition.java rename to src/com/teammetallurgy/atum/world/AtumPortalPosition.java diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java b/src/com/teammetallurgy/atum/world/AtumTeleporter.java similarity index 65% rename from src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java rename to src/com/teammetallurgy/atum/world/AtumTeleporter.java index 277f463..0946689 100644 --- a/src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java +++ b/src/com/teammetallurgy/atum/world/AtumTeleporter.java @@ -7,15 +7,16 @@ import net.minecraft.block.Block; import net.minecraft.entity.Entity; -import net.minecraft.init.Blocks; import net.minecraft.util.Direction; import net.minecraft.util.LongHashMap; import net.minecraft.util.MathHelper; import net.minecraft.world.ChunkCoordIntPair; +import net.minecraft.world.PortalPosition; import net.minecraft.world.Teleporter; import net.minecraft.world.WorldServer; -import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.BlockSlab; +import com.teammetallurgy.atum.blocks.Blocks; public class AtumTeleporter extends Teleporter { @@ -33,8 +34,8 @@ public AtumTeleporter(WorldServer par1WorldServer) { @Override public void placeInPortal(Entity par1Entity, double par2, double par4, double par6, float par8) { - if (this.worldServerInstance.provider.dimensionId != 1) { - if (!this.placeInExistingPortal(par1Entity, par2, par4, par6, par8)) { + if(this.worldServerInstance.provider.dimensionId != 1) { + if(!this.placeInExistingPortal(par1Entity, par2, par4, par6, par8)) { this.makePortal(par1Entity); this.placeInExistingPortal(par1Entity, par2, par4, par6, par8); } @@ -45,14 +46,14 @@ public void placeInPortal(Entity par1Entity, double par2, double par4, double pa byte b0 = 1; byte b1 = 0; - for (int l = -2; l <= 2; ++l) { - for (int i1 = -2; i1 <= 2; ++i1) { - for (int j1 = -1; j1 < 3; ++j1) { + for(int l = -2; l <= 2; ++l) { + for(int i1 = -2; i1 <= 2; ++i1) { + for(int j1 = -1; j1 < 3; ++j1) { int k1 = i + i1 * b0 + l * b1; int l1 = j + j1; int i2 = k + i1 * b1 - l * b0; boolean flag = j1 < 0; - this.worldServerInstance.setBlock(k1, l1, i2, flag ? Blocks.sandstone : null); + this.worldServerInstance.setBlock(k1, l1, i2, flag ? Block.sandStone.blockID : 0); } } } @@ -78,7 +79,7 @@ public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4 int k1; int k2; double var46; - if (this.destinationCoordinateCache.containsItem(j1)) { + if(this.destinationCoordinateCache.containsItem(j1)) { PortalPosition d8 = (PortalPosition) this.destinationCoordinateCache.getValueByKey(j1); d3 = 0.0D; i = d8.posX; @@ -87,21 +88,21 @@ public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4 d8.lastUpdateTime = this.worldServerInstance.getTotalWorldTime(); flag = false; } else { - for (k1 = l - short1; k1 <= l + short1; ++k1) { + for(k1 = l - short1; k1 <= l + short1; ++k1) { var46 = (double) k1 + 0.5D - par1Entity.posX; - for (int d9 = i1 - short1; d9 <= i1 + short1; ++d9) { + for(int d9 = i1 - short1; d9 <= i1 + short1; ++d9) { double d6 = (double) d9 + 0.5D - par1Entity.posZ; - for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { - if (this.worldServerInstance.getBlock(k1, k2, d9) == AtumBlocks.BLOCK_PORTAL) { - while (this.worldServerInstance.getBlock(k1, k2 - 1, d9) == AtumBlocks.BLOCK_PORTAL) { + for(k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { + if(this.worldServerInstance.getBlockId(k1, k2, d9) == Blocks.BLOCK_PORTAL.blockID) { + while(this.worldServerInstance.getBlockId(k1, k2 - 1, d9) == Blocks.BLOCK_PORTAL.blockID) { --k2; } d4 = (double) k2 + 0.5D - par1Entity.posY; double l2 = var46 * var46 + d4 * d4 + d6 * d6; - if (d3 < 0.0D || l2 < d3) { + if(d3 < 0.0D || l2 < d3) { d3 = l2; i = k1; j = k2; @@ -113,8 +114,8 @@ public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4 } } - if (d3 >= 0.0D) { - if (flag) { + if(d3 >= 0.0D) { + if(flag) { this.destinationCoordinateCache.add(j1, new AtumPortalPosition(this, i, j, k, this.worldServerInstance.getTotalWorldTime())); this.destinationCoordinateKeys.add(Long.valueOf(j1)); } @@ -123,24 +124,24 @@ public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4 double var47 = (double) j + 0.5D; d4 = (double) k + 0.5D; int j2 = -1; - if (this.worldServerInstance.getBlock(i - 1, j, k) == AtumBlocks.BLOCK_PORTAL) { + if(this.worldServerInstance.getBlockId(i - 1, j, k) == Blocks.BLOCK_PORTAL.blockID) { j2 = 2; } - if (this.worldServerInstance.getBlock(i + 1, j, k) == AtumBlocks.BLOCK_PORTAL) { + if(this.worldServerInstance.getBlockId(i + 1, j, k) == Blocks.BLOCK_PORTAL.blockID) { j2 = 0; } - if (this.worldServerInstance.getBlock(i, j, k - 1) == AtumBlocks.BLOCK_PORTAL) { + if(this.worldServerInstance.getBlockId(i, j, k - 1) == Blocks.BLOCK_PORTAL.blockID) { j2 = 3; } - if (this.worldServerInstance.getBlock(i, j, k + 1) == AtumBlocks.BLOCK_PORTAL) { + if(this.worldServerInstance.getBlockId(i, j, k + 1) == Blocks.BLOCK_PORTAL.blockID) { j2 = 1; } k2 = par1Entity.getTeleportDirection(); - if (j2 > -1) { + if(j2 > -1) { int var48 = Direction.rotateLeft[j2]; int i3 = Direction.offsetX[j2]; int j3 = Direction.offsetZ[j2]; @@ -148,7 +149,7 @@ public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4 int l3 = Direction.offsetZ[var48]; boolean flag1 = !this.worldServerInstance.isAirBlock(i + i3 + k3, j, k + j3 + l3) || !this.worldServerInstance.isAirBlock(i + i3 + k3, j + 1, k + j3 + l3); boolean flag2 = !this.worldServerInstance.isAirBlock(i + i3, j, k + j3) || !this.worldServerInstance.isAirBlock(i + i3, j + 1, k + j3); - if (flag1 && flag2) { + if(flag1 && flag2) { j2 = Direction.rotateOpposite[j2]; var48 = Direction.rotateOpposite[var48]; i3 = Direction.offsetX[j2]; @@ -165,11 +166,11 @@ public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4 float var49 = 0.5F; float f2 = 0.5F; - if (!flag1 && flag2) { + if(!flag1 && flag2) { var49 = 1.0F; - } else if (flag1 && !flag2) { + } else if(flag1 && !flag2) { var49 = 0.0F; - } else if (flag1 && flag2) { + } else if(flag1 && flag2) { f2 = 0.0F; } @@ -179,13 +180,13 @@ public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4 float f4 = 0.0F; float f5 = 0.0F; float f6 = 0.0F; - if (j2 == k2) { + if(j2 == k2) { f3 = 1.0F; f4 = 1.0F; - } else if (j2 == Direction.rotateOpposite[k2]) { + } else if(j2 == Direction.rotateOpposite[k2]) { f3 = -1.0F; f4 = -1.0F; - } else if (j2 == Direction.rotateRight[k2]) { + } else if(j2 == Direction.rotateRight[k2]) { f5 = 1.0F; f6 = -1.0F; } else { @@ -216,7 +217,6 @@ public boolean makePortal(Entity par1Entity) { int entityX = MathHelper.floor_double(par1Entity.posX); int entityY = MathHelper.floor_double(par1Entity.posY); int entityZ = MathHelper.floor_double(par1Entity.posZ); - int posY = entityY - 2; int l = entityX; int i1 = entityY; int j1 = entityZ; @@ -239,33 +239,33 @@ public boolean makePortal(Entity par1Entity) { double d3; double d4; int i5; - for (i2 = entityX - b0; i2 <= entityX + b0; ++i2) { + for(i2 = entityX - b0; i2 <= entityX + b0; ++i2) { d1 = (double) i2 + 0.5D - par1Entity.posX; - for (j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) { + for(j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) { d2 = (double) j2 + 0.5D - par1Entity.posZ; - label272: for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { - if (this.worldServerInstance.isAirBlock(i2, k2, j2)) { - while (k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) { + label272: for(k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { + if(this.worldServerInstance.isAirBlock(i2, k2, j2)) { + while(k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) { --k2; } - for (i3 = l1; i3 < l1 + 4; ++i3) { + for(i3 = l1; i3 < l1 + 4; ++i3) { l2 = i3 % 2; k3 = 1 - l2; - if (i3 % 4 >= 2) { + if(i3 % 4 >= 2) { l2 = -l2; k3 = -k3; } - for (j3 = 0; j3 < 3; ++j3) { - for (i4 = 0; i4 < 4; ++i4) { - for (l3 = -1; l3 < 4; ++l3) { + for(j3 = 0; j3 < 3; ++j3) { + for(i4 = 0; i4 < 4; ++i4) { + for(l3 = -1; l3 < 4; ++l3) { k4 = i2 + (i4 - 1) * l2 + j3 * k3; j4 = k2 + l3; i5 = j2 + (i4 - 1) * k3 - j3 * l2; - if (l3 < 0 && !this.worldServerInstance.getBlock(k4, j4, i5).getMaterial().isSolid() || l3 >= 0 && !this.worldServerInstance.isAirBlock(k4, j4, i5)) { + if(l3 < 0 && !this.worldServerInstance.getBlockMaterial(k4, j4, i5).isSolid() || l3 >= 0 && !this.worldServerInstance.isAirBlock(k4, j4, i5)) { continue label272; } } @@ -274,7 +274,7 @@ public boolean makePortal(Entity par1Entity) { d4 = (double) k2 + 0.5D - par1Entity.posY; d3 = d1 * d1 + d4 * d4 + d2 * d2; - if (d0 < 0.0D || d3 < d0) { + if(d0 < 0.0D || d3 < d0) { d0 = d3; l = i2; i1 = k2; @@ -287,29 +287,29 @@ public boolean makePortal(Entity par1Entity) { } } - if (d0 < 0.0D) { - for (i2 = entityX - b0; i2 <= entityX + b0; ++i2) { + if(d0 < 0.0D) { + for(i2 = entityX - b0; i2 <= entityX + b0; ++i2) { d1 = (double) i2 + 0.5D - par1Entity.posX; - for (j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) { + for(j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) { d2 = (double) j2 + 0.5D - par1Entity.posZ; - label220: for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { - if (this.worldServerInstance.isAirBlock(i2, k2, j2)) { - while (k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) { + label220: for(k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { + if(this.worldServerInstance.isAirBlock(i2, k2, j2)) { + while(k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) { --k2; } - for (i3 = l1; i3 < l1 + 2; ++i3) { + for(i3 = l1; i3 < l1 + 2; ++i3) { l2 = i3 % 2; k3 = 1 - l2; - for (j3 = 0; j3 < 4; ++j3) { - for (i4 = -1; i4 < 4; ++i4) { + for(j3 = 0; j3 < 4; ++j3) { + for(i4 = -1; i4 < 4; ++i4) { l3 = i2 + (j3 - 1) * l2; k4 = k2 + i4; j4 = j2 + (j3 - 1) * k3; - if (i4 < 0 && !this.worldServerInstance.getBlock(l3, k4, j4).getMaterial().isSolid() || i4 >= 0 && !this.worldServerInstance.isAirBlock(l3, k4, j4)) { + if(i4 < 0 && !this.worldServerInstance.getBlockMaterial(l3, k4, j4).isSolid() || i4 >= 0 && !this.worldServerInstance.isAirBlock(l3, k4, j4)) { continue label220; } } @@ -317,7 +317,7 @@ public boolean makePortal(Entity par1Entity) { d4 = (double) k2 + 0.5D - par1Entity.posY; d3 = d1 * d1 + d4 * d4 + d2 * d2; - if (d0 < 0.0D || d3 < d0) { + if(d0 < 0.0D || d3 < d0) { d0 = d3; l = i2; i1 = k2; @@ -336,68 +336,68 @@ public boolean makePortal(Entity par1Entity) { j2 = j1; int k5 = k1 % 2; int l5 = 1 - k5; - if (k1 % 4 >= 2) { + if(k1 % 4 >= 2) { k5 = -k5; l5 = -l5; } boolean flag; - if (d0 < 0.0D) { - if (i1 < 70) { + if(d0 < 0.0D) { + if(i1 < 70) { i1 = 70; } - if (i1 > this.worldServerInstance.getActualHeight() - 10) { + if(i1 > this.worldServerInstance.getActualHeight() - 10) { i1 = this.worldServerInstance.getActualHeight() - 10; } j5 = i1; - for (k2 = -1; k2 <= 1; ++k2) { - for (i3 = 1; i3 < 3; ++i3) { - for (l2 = -1; l2 < 3; ++l2) { + for(k2 = -1; k2 <= 1; ++k2) { + for(i3 = 1; i3 < 3; ++i3) { + for(l2 = -1; l2 < 3; ++l2) { k3 = i5 + (i3 - 1) * k5 + k2 * l5; j3 = j5 + l2; i4 = j2 + (i3 - 1) * l5 - k2 * k5; flag = l2 < 0; - this.worldServerInstance.setBlock(k3, j3, i4, flag ? Blocks.sandstone : null); + this.worldServerInstance.setBlock(k3, j3, i4, flag ? Block.sandStone.blockID : 0); } } } } Block block = null; System.out.println(par1Entity.dimension); - if (par1Entity.dimension == 0) { - block = Blocks.sandstone; + if(par1Entity.dimension == 0) { + block = Block.sandStone; } else { - block = AtumBlocks.BLOCK_LARGEBRICK; + block = Blocks.BLOCK_LARGEBRICK; } - for (int x1 = -2; x1 < 3; x1++) { - for (int z1 = -2; z1 < 3; z1++) { + for(int x1 = -2; x1 < 3; x1++) { + for(int z1 = -2; z1 < 3; z1++) { - this.worldServerInstance.setBlock(entityX + x1, posY, entityZ + z1, block); + this.worldServerInstance.setBlock(entityX + x1, entityY, entityZ + z1, block.blockID); } } - for (int x1 = -2; x1 < 3; x1++) { - for (int z1 = -2; z1 < 3; z1++) { - if (x1 == 2 || z1 == 2 || x1 == -2 || z1 == -2) { - this.worldServerInstance.setBlock(entityX + x1, posY + 1, entityZ + z1, block); + for(int x1 = -2; x1 < 3; x1++) { + for(int z1 = -2; z1 < 3; z1++) { + if(x1 == 2 || z1 == 2 || x1 == -2 || z1 == -2) { + this.worldServerInstance.setBlock(entityX + x1, entityY + 1, entityZ + z1, block.blockID); } } } - for (int y1 = 2; y1 < 4; y1++) { - for (int x1 = -2; x1 < 3; x1++) { - for (int z1 = -2; z1 < 3; z1++) { - if ((x1 == 2 && z1 == 2) || (x1 == -2 && z1 == 2) || (x1 == 2 && z1 == -2) || (x1 == -2 && z1 == -2)) { - this.worldServerInstance.setBlock(entityX + x1, posY + y1, entityZ + z1, block); + for(int y1 = 2; y1 < 4; y1++) { + for(int x1 = -2; x1 < 3; x1++) { + for(int z1 = -2; z1 < 3; z1++) { + if((x1 == 2 && z1 == 2) || (x1 == -2 && z1 == 2) || (x1 == 2 && z1 == -2) || (x1 == -2 && z1 == -2)) { + this.worldServerInstance.setBlock(entityX + x1, entityY + y1, entityZ + z1, block.blockID); } } } } - for (int x1 = -1; x1 < 2; x1++) { - for (int z1 = -1; z1 < 2; z1++) { - this.worldServerInstance.setBlock(x1 + entityX, posY + 1, z1 + entityZ, AtumBlocks.BLOCK_PORTAL); + for(int x1 = -1; x1 < 2; x1++) { + for(int z1 = -1; z1 < 2; z1++) { + this.worldServerInstance.setBlock(x1 + entityX, entityY + 1, z1 + entityZ, Blocks.BLOCK_PORTAL.blockID); } } @@ -406,14 +406,14 @@ public boolean makePortal(Entity par1Entity) { @Override public void removeStalePortalLocations(long par1) { - if (par1 % 100L == 0L) { + if(par1 % 100L == 0L) { Iterator iterator = this.destinationCoordinateKeys.iterator(); long j = par1 - 600L; - while (iterator.hasNext()) { + while(iterator.hasNext()) { Long olong = (Long) iterator.next(); PortalPosition portalposition = (PortalPosition) this.destinationCoordinateCache.getValueByKey(olong.longValue()); - if (portalposition == null || portalposition.lastUpdateTime < j) { + if(portalposition == null || portalposition.lastUpdateTime < j) { iterator.remove(); this.destinationCoordinateCache.remove(olong.longValue()); } diff --git a/src/main/java/com/teammetallurgy/atum/world/World.java b/src/com/teammetallurgy/atum/world/World.java similarity index 93% rename from src/main/java/com/teammetallurgy/atum/world/World.java rename to src/com/teammetallurgy/atum/world/World.java index 815dc83..02f73e6 100644 --- a/src/main/java/com/teammetallurgy/atum/world/World.java +++ b/src/com/teammetallurgy/atum/world/World.java @@ -3,6 +3,7 @@ import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.common.DimensionManager; +import com.teammetallurgy.atum.AtumConfig; import com.teammetallurgy.atum.AtumIDS; import com.teammetallurgy.atum.worldgen.AtumWorldProvider; import com.teammetallurgy.atum.worldgen.biome.BiomeGenAtumDesert; diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java b/src/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java similarity index 75% rename from src/main/java/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java rename to src/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java index ae45510..146d439 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java +++ b/src/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java @@ -8,7 +8,6 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockSand; import net.minecraft.entity.EnumCreatureType; -import net.minecraft.init.Blocks; import net.minecraft.util.IProgressUpdate; import net.minecraft.util.MathHelper; import net.minecraft.world.ChunkPosition; @@ -18,21 +17,24 @@ import net.minecraft.world.chunk.Chunk; import net.minecraft.world.chunk.IChunkProvider; import net.minecraft.world.gen.MapGenBase; +import net.minecraft.world.gen.MapGenRavine; import net.minecraft.world.gen.NoiseGeneratorOctaves; +import net.minecraft.world.gen.feature.MapGenScatteredFeature; import net.minecraft.world.gen.feature.WorldGenLakes; -import net.minecraft.world.gen.structure.MapGenScatteredFeature; +import net.minecraft.world.gen.structure.MapGenMineshaft; +import net.minecraft.world.gen.structure.MapGenStronghold; +import net.minecraft.world.gen.structure.MapGenVillage; import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.Event.Result; import net.minecraftforge.event.terraingen.ChunkProviderEvent.InitNoiseField; import net.minecraftforge.event.terraingen.InitMapGenEvent.EventType; import net.minecraftforge.event.terraingen.PopulateChunkEvent.Post; import net.minecraftforge.event.terraingen.PopulateChunkEvent.Pre; import net.minecraftforge.event.terraingen.TerrainGen; -import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.Blocks; import com.teammetallurgy.atum.worldgen.biome.BiomeGenAtumDesert; -import cpw.mods.fml.common.eventhandler.Event.Result; - public class AtumChunkProvider implements IChunkProvider { private Random rand; @@ -70,7 +72,7 @@ public AtumChunkProvider(World par1World, long par2, boolean par4) { this.noiseGen5 = new NoiseGeneratorOctaves(this.rand, 10); this.noiseGen6 = new NoiseGeneratorOctaves(this.rand, 16); this.mobSpawnerNoise = new NoiseGeneratorOctaves(this.rand, 8); - NoiseGeneratorOctaves[] noiseGens = new NoiseGeneratorOctaves[] { this.noiseGen1, this.noiseGen2, this.noiseGen3, this.noiseGen4, this.noiseGen5, this.noiseGen6, this.mobSpawnerNoise }; + NoiseGeneratorOctaves[] noiseGens = new NoiseGeneratorOctaves[]{this.noiseGen1, this.noiseGen2, this.noiseGen3, this.noiseGen4, this.noiseGen5, this.noiseGen6, this.mobSpawnerNoise}; noiseGens = TerrainGen.getModdedNoiseGenerators(par1World, this.rand, noiseGens); this.noiseGen1 = noiseGens[0]; this.noiseGen2 = noiseGens[1]; @@ -81,7 +83,7 @@ public AtumChunkProvider(World par1World, long par2, boolean par4) { this.mobSpawnerNoise = noiseGens[6]; } - public void generateTerrain(int par1, int par2, Block[] abyte) { + public void generateTerrain(int par1, int par2, short[] par3ArrayOfByte) { byte b0 = 4; byte b1 = 16; byte b2 = 63; @@ -91,9 +93,9 @@ public void generateTerrain(int par1, int par2, Block[] abyte) { this.biomesForGeneration = this.worldObj.getWorldChunkManager().getBiomesForGeneration(this.biomesForGeneration, par1 * 4 - 2, par2 * 4 - 2, k + 5, l + 5); this.noiseArray = this.initializeNoiseField(this.noiseArray, par1 * b0, 0, par2 * b0, k, b3, l); - for (int x1 = 0; x1 < b0; ++x1) { - for (int z1 = 0; z1 < b0; ++z1) { - for (int y1 = 0; y1 < b1; ++y1) { + for(int x1 = 0; x1 < b0; ++x1) { + for(int z1 = 0; z1 < b0; ++z1) { + for(int y1 = 0; y1 < b1; ++y1) { double d0 = 0.125D; double d1 = this.noiseArray[((x1 + 0) * l + z1 + 0) * b3 + y1 + 0]; double d2 = this.noiseArray[((x1 + 0) * l + z1 + 1) * b3 + y1 + 0]; @@ -104,30 +106,30 @@ public void generateTerrain(int par1, int par2, Block[] abyte) { double d7 = (this.noiseArray[((x1 + 1) * l + z1 + 0) * b3 + y1 + 1] - d3) * d0; double d8 = (this.noiseArray[((x1 + 1) * l + z1 + 1) * b3 + y1 + 1] - d4) * d0; - for (int y2 = 0; y2 < 8; ++y2) { + for(int y2 = 0; y2 < 8; ++y2) { double d10 = d1; double d11 = d2; double d12 = (d3 - d1) * 0.25D; double d13 = (d4 - d2) * 0.25D; - for (int x2 = 0; x2 < 4; ++x2) { + for(int x2 = 0; x2 < 4; ++x2) { int index = y1 * 8 + y2 << 8 | 0 + z1 * 4 << 4 | x2 + x1 * 4; byte dy = 16; index -= dy; double d15 = (d11 - d10) * 0.25D; double d16 = d10 - d15; - for (int n = 0; n < 4; ++n) { - if ((d16 += d15) > 0.0D) { - if (index + dy < abyte.length) { - abyte[index += dy] = AtumBlocks.BLOCK_STONE; + for(int n = 0; n < 4; ++n) { + if((d16 += d15) > 0.0D) { + if(index + dy < par3ArrayOfByte.length) { + par3ArrayOfByte[index += dy] = (short) Blocks.BLOCK_STONE.blockID; } - } else if (y1 * 8 + y2 < b2) { - if (index + dy < abyte.length) { - abyte[index += dy] = AtumBlocks.BLOCK_STONE; + } else if(y1 * 8 + y2 < b2) { + if(index + dy < par3ArrayOfByte.length) { + par3ArrayOfByte[index += dy] = (short) Blocks.BLOCK_STONE.blockID; } - } else if (index + dy < abyte.length) { - abyte[index += dy] = null; + } else if(index + dy < par3ArrayOfByte.length) { + par3ArrayOfByte[index += dy] = 0; } } @@ -146,50 +148,50 @@ public void generateTerrain(int par1, int par2, Block[] abyte) { } - public void replaceBlocksForBiome(int par1, int par2, Block[] abyte, BiomeGenBase[] par4ArrayOfBiomeGenBase) { + public void replaceBlocksForBiome(int par1, int par2, short[] par3ArrayOfByte, BiomeGenBase[] par4ArrayOfBiomeGenBase) { byte b0 = 63; double d0 = 0.03125D; this.stoneNoise = this.noiseGen4.generateNoiseOctaves(this.stoneNoise, par1 * 16, par2 * 16, 0, 16, 16, 1, d0 * 2.0D, d0 * 2.0D, d0 * 2.0D); - for (int z = 0; z < 16; ++z) { - for (int x = 0; x < 16; ++x) { + for(int z = 0; z < 16; ++z) { + for(int x = 0; x < 16; ++x) { BiomeGenBase biomegenbase = par4ArrayOfBiomeGenBase[x + z * 16]; float f = biomegenbase.getFloatTemperature(); int i1 = (int) (this.stoneNoise[z + x * 16] / 3.0D + 3.0D + this.rand.nextDouble() * 0.25D); int j1 = -1; - Block b1 = ((BiomeGenAtumDesert) biomegenbase).sTopBlock; - Block b2 = ((BiomeGenAtumDesert) biomegenbase).sFillerBlock; + short b1 = ((BiomeGenAtumDesert) biomegenbase).sTopBlock; + short b2 = ((BiomeGenAtumDesert) biomegenbase).sFillerBlock; - for (int y = 127; y >= 0; --y) { + for(int y = 127; y >= 0; --y) { int l1 = y << 8 | z << 4 | x; - if (y <= 0 + this.rand.nextInt(5)) { - abyte[l1] = Blocks.bedrock; + if(y <= 0 + this.rand.nextInt(5)) { + par3ArrayOfByte[l1] = (short) ((byte) Block.bedrock.blockID); } else { - Block b3 = abyte[l1]; - if (b3 == null) { + short b3 = par3ArrayOfByte[l1]; + if(b3 == 0) { j1 = -1; - } else if (b3 == AtumBlocks.BLOCK_STONE) { - if (j1 == -1) { - if (i1 <= 0) { - b1 = null; - b2 = AtumBlocks.BLOCK_STONE; - } else if (y >= b0 - 4 && y <= b0 + 1) { + } else if(b3 == Blocks.BLOCK_STONE.blockID) { + if(j1 == -1) { + if(i1 <= 0) { + b1 = 0; + b2 = (short) Blocks.BLOCK_STONE.blockID; + } else if(y >= b0 - 4 && y <= b0 + 1) { b1 = ((BiomeGenAtumDesert) biomegenbase).sTopBlock; b2 = ((BiomeGenAtumDesert) biomegenbase).sFillerBlock; } j1 = i1; - if (y >= b0 - 1) { - abyte[l1] = b1; + if(y >= b0 - 1) { + par3ArrayOfByte[l1] = b1; } else { - abyte[l1] = b2; + par3ArrayOfByte[l1] = b2; } - } else if (j1 > 0) { + } else if(j1 > 0) { --j1; - abyte[l1] = b2; - if (j1 == 0 && b2 == AtumBlocks.BLOCK_SAND) { + par3ArrayOfByte[l1] = b2; + if(j1 == 0 && b2 == Blocks.BLOCK_SAND.blockID) { j1 = this.rand.nextInt(4); - b2 = AtumBlocks.BLOCK_STONE; + b2 = (short) Blocks.BLOCK_STONE.blockID; } } } @@ -208,17 +210,21 @@ public Chunk loadChunk(int par1, int par2) { @Override public Chunk provideChunk(int x, int z) { this.rand.setSeed((long) x * 341873128712L + (long) z * 132897987541L); - Block[] abyte = new Block['\u8000']; + short[] abyte = new short['\u8000']; this.generateTerrain(x, z, abyte); this.biomesForGeneration = this.worldObj.getWorldChunkManager().loadBlockGeneratorData(this.biomesForGeneration, x * 16, z * 16, 16, 16); this.replaceBlocksForBiome(x, z, abyte, this.biomesForGeneration); - - caveGenerator.func_151539_a(this, worldObj, x, z, abyte); - + + ByteBuffer buffer = ByteBuffer.allocate(abyte.length * 2); + buffer.order(ByteOrder.LITTLE_ENDIAN); + buffer.asShortBuffer().put(abyte); + + caveGenerator.generate(this, worldObj, x, z, buffer.array()); + Chunk chunk = new Chunk(this.worldObj, abyte, new byte['\u8000'], x, z); byte[] abyte1 = chunk.getBiomeArray(); - for (int k = 0; k < abyte1.length; ++k) { + for(int k = 0; k < abyte1.length; ++k) { abyte1[k] = (byte) this.biomesForGeneration[k].biomeID; } @@ -229,18 +235,18 @@ public Chunk provideChunk(int x, int z) { private double[] initializeNoiseField(double[] par1ArrayOfDouble, int par2, int par3, int par4, int par5, int par6, int par7) { InitNoiseField event = new InitNoiseField(this, par1ArrayOfDouble, par2, par3, par4, par5, par6, par7); MinecraftForge.EVENT_BUS.post(event); - if (event.getResult() == Result.DENY) { + if(event.getResult() == Result.DENY) { return event.noisefield; } else { - if (par1ArrayOfDouble == null) { + if(par1ArrayOfDouble == null) { par1ArrayOfDouble = new double[par5 * par6 * par7]; } - if (this.parabolicField == null) { + if(this.parabolicField == null) { this.parabolicField = new float[25]; - for (int d0 = -2; d0 <= 2; ++d0) { - for (int l1 = -2; l1 <= 2; ++l1) { + for(int d0 = -2; d0 <= 2; ++d0) { + for(int l1 = -2; l1 <= 2; ++l1) { float d1 = 10.0F / MathHelper.sqrt_float((float) (d0 * d0 + l1 * l1) + 0.2F); this.parabolicField[d0 + 2 + (l1 + 2) * 5] = d1; } @@ -259,19 +265,19 @@ private double[] initializeNoiseField(double[] par1ArrayOfDouble, int par2, int int i2 = 0; int j2 = 0; - for (int k2 = 0; k2 < par5; ++k2) { - for (int l2 = 0; l2 < par7; ++l2) { + for(int k2 = 0; k2 < par5; ++k2) { + for(int l2 = 0; l2 < par7; ++l2) { float f1 = 0.0F; float f2 = 0.0F; float f3 = 0.0F; byte b0 = 2; BiomeGenBase biomegenbase = this.biomesForGeneration[k2 + 2 + (l2 + 2) * (par5 + 5)]; - for (int d2 = -b0; d2 <= b0; ++d2) { - for (int j3 = -b0; j3 <= b0; ++j3) { + for(int d2 = -b0; d2 <= b0; ++d2) { + for(int j3 = -b0; j3 <= b0; ++j3) { BiomeGenBase k3 = this.biomesForGeneration[k2 + d2 + 2 + (l2 + j3 + 2) * (par5 + 5)]; float d3 = this.parabolicField[d2 + 2 + (j3 + 2) * 5] / (k3.minHeight + 2.0F); - if (k3.minHeight > biomegenbase.minHeight) { + if(k3.minHeight > biomegenbase.minHeight) { d3 /= 2.0F; } @@ -286,21 +292,21 @@ private double[] initializeNoiseField(double[] par1ArrayOfDouble, int par2, int f1 = f1 * 0.9F + 0.1F; f2 = (f2 * 4.0F - 1.0F) / 8.0F; double var47 = this.noise6[j2] / 8000.0D; - if (var47 < 0.0D) { + if(var47 < 0.0D) { var47 = -var47 * 0.3D; } var47 = var47 * 3.0D - 2.0D; - if (var47 < 0.0D) { + if(var47 < 0.0D) { var47 /= 2.0D; - if (var47 < -1.0D) { + if(var47 < -1.0D) { var47 = -1.0D; } var47 /= 1.4D; var47 /= 2.0D; } else { - if (var47 > 1.0D) { + if(var47 > 1.0D) { var47 = 1.0D; } @@ -309,7 +315,7 @@ private double[] initializeNoiseField(double[] par1ArrayOfDouble, int par2, int ++j2; - for (int var49 = 0; var49 < par6; ++var49) { + for(int var49 = 0; var49 < par6; ++var49) { double var48 = (double) f2; double d4 = (double) f1; var48 += var47 * 0.2D; @@ -317,23 +323,23 @@ private double[] initializeNoiseField(double[] par1ArrayOfDouble, int par2, int double d5 = (double) par6 / 2.0D + var48 * 4.0D; double d6 = 0.0D; double d7 = ((double) var49 - d5) * 12.0D * 128.0D / 128.0D / d4; - if (d7 < 0.0D) { + if(d7 < 0.0D) { d7 *= 4.0D; } double d8 = this.noise1[i2] / 512.0D; double d9 = this.noise2[i2] / 512.0D; double d10 = (this.noise3[i2] / 10.0D + 1.0D) / 2.0D; - if (d10 < 0.0D) { + if(d10 < 0.0D) { d6 = d8; - } else if (d10 > 1.0D) { + } else if(d10 > 1.0D) { d6 = d9; } else { d6 = d8 + (d9 - d8) * d10; } d6 -= d7; - if (var49 > par6 - 4) { + if(var49 > par6 - 4) { double d11 = (double) ((float) (var49 - (par6 - 4)) / 3.0F); d6 = d6 * (1.0D - d11) + -10.0D * d11; } @@ -366,12 +372,12 @@ public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) { this.rand.setSeed((long) par2 * i1 + (long) par3 * j1 ^ this.worldObj.getSeed()); boolean flag = false; MinecraftForge.EVENT_BUS.post(new Pre(par1IChunkProvider, this.worldObj, this.rand, par2, par3, flag)); - if (TerrainGen.populate(par1IChunkProvider, this.worldObj, this.rand, par2, par3, flag, net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.LAVA) && !flag && this.rand.nextInt(8) == 0) { + if(TerrainGen.populate(par1IChunkProvider, this.worldObj, this.rand, par2, par3, flag, net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.LAVA) && !flag && this.rand.nextInt(8) == 0) { int k1 = k + this.rand.nextInt(16) + 8; int l1 = this.rand.nextInt(this.rand.nextInt(120) + 8); int i2 = l + this.rand.nextInt(16) + 8; - if (l1 < 63 || this.rand.nextInt(10) == 0) { - (new WorldGenLakes(Blocks.lava)).generate(this.worldObj, this.rand, k1, l1, i2); + if(l1 < 63 || this.rand.nextInt(10) == 0) { + (new WorldGenLakes(Block.lavaStill.blockID)).generate(this.worldObj, this.rand, k1, l1, i2); } } @@ -409,6 +415,11 @@ public List getPossibleCreatures(EnumCreatureType par1EnumCreatureType, int par2 return biomegenbase == null ? null : (biomegenbase == BiomeGenBase.swampland && par1EnumCreatureType == EnumCreatureType.monster && this.scatteredFeatureGenerator.hasStructureAt(par2, par3, par4) ? this.scatteredFeatureGenerator.getScatteredFeatureSpawnList() : biomegenbase.getSpawnableList(par1EnumCreatureType)); } + @Override + public ChunkPosition findClosestStructure(World par1World, String par2Str, int par3, int par4, int par5) { + return null; + } + @Override public int getLoadedChunkCount() { return 0; @@ -416,8 +427,8 @@ public int getLoadedChunkCount() { @Override public void recreateStructures(int par1, int par2) { - if (this.mapFeaturesEnabled) { - this.scatteredFeatureGenerator.func_151539_a(this, this.worldObj, par1, par2, (Block[]) null); + if(this.mapFeaturesEnabled) { + this.scatteredFeatureGenerator.generate(this, this.worldObj, par1, par2, (byte[]) null); } } @@ -426,9 +437,4 @@ public void recreateStructures(int par1, int par2) { public void saveExtraData() { } - - @Override - public ChunkPosition func_147416_a(World var1, String var2, int var3, int var4, int var5) { - return null; - } } diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java b/src/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java similarity index 62% rename from src/main/java/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java rename to src/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java index 9b4ca93..f28c2b9 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java +++ b/src/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java @@ -3,39 +3,38 @@ import java.util.Random; import net.minecraft.block.Block; -import net.minecraft.init.Blocks; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraft.world.gen.MapGenBase; -import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.Blocks; public class AtumMapGenCaves extends MapGenBase { - - protected void generateLargeCaveNode(long par1, int par3, int par4, Block[] par6ArrayOfByte, double par6, double par8, double par10) { - this.generateCaveNode(par1, par3, par4, par6ArrayOfByte, par6, par8, par10, 1.0F + super.rand.nextFloat() * 6.0F, 0.0F, 0.0F, -1, -1, 0.5D); + + protected void generateLargeCaveNode(long par1, int par3, int par4, byte[] par5ArrayOfByte, double par6, double par8, double par10) { + this.generateCaveNode(par1, par3, par4, par5ArrayOfByte, par6, par8, par10, 1.0F + super.rand.nextFloat() * 6.0F, 0.0F, 0.0F, -1, -1, 0.5D); } - protected void generateCaveNode(long par1, int par3, int par4, Block[] par6ArrayOfByte, double par6, double par8, double par10, float par12, float par13, float par14, int par15, int par16, double par17) { + protected void generateCaveNode(long par1, int par3, int par4, byte[] par5ArrayOfByte, double par6, double par8, double par10, float par12, float par13, float par14, int par15, int par16, double par17) { double d4 = (double) (par3 * 16 + 8); double d5 = (double) (par4 * 16 + 8); float f3 = 0.0F; float f4 = 0.0F; Random random = new Random(par1); - if (par16 <= 0) { + if(par16 <= 0) { int flag = super.range * 16 - 16; par16 = flag - random.nextInt(flag / 4); } boolean var62 = false; - if (par15 == -1) { + if(par15 == -1) { par15 = par16 / 2; var62 = true; } int k1 = random.nextInt(par16 / 2) + par16 / 4; - for (boolean flag1 = random.nextInt(6) == 0; par15 < par16; ++par15) { + for(boolean flag1 = random.nextInt(6) == 0; par15 < par16; ++par15) { double d6 = 1.5D + (double) (MathHelper.sin((float) par15 * 3.1415927F / (float) par16) * par12 * 1.0F); double d7 = d6 * par17; float f5 = MathHelper.cos(par14); @@ -43,7 +42,7 @@ protected void generateCaveNode(long par1, int par3, int par4, Block[] par6Array par6 += (double) (MathHelper.cos(par13) * f5); par8 += (double) f6; par10 += (double) (MathHelper.sin(par13) * f5); - if (flag1) { + if(flag1) { par14 *= 0.92F; } else { par14 *= 0.7F; @@ -55,49 +54,49 @@ protected void generateCaveNode(long par1, int par3, int par4, Block[] par6Array f3 *= 0.75F; f4 += (random.nextFloat() - random.nextFloat()) * random.nextFloat() * 2.0F; f3 += (random.nextFloat() - random.nextFloat()) * random.nextFloat() * 4.0F; - if (!var62 && par15 == k1 && par12 > 1.0F && par16 > 0) { - this.generateCaveNode(random.nextLong(), par3, par4, par6ArrayOfByte, par6, par8, par10, random.nextFloat() * 0.5F + 0.5F, par13 - 1.5707964F, par14 / 3.0F, par15, par16, 1.0D); - this.generateCaveNode(random.nextLong(), par3, par4, par6ArrayOfByte, par6, par8, par10, random.nextFloat() * 0.5F + 0.5F, par13 + 1.5707964F, par14 / 3.0F, par15, par16, 1.0D); + if(!var62 && par15 == k1 && par12 > 1.0F && par16 > 0) { + this.generateCaveNode(random.nextLong(), par3, par4, par5ArrayOfByte, par6, par8, par10, random.nextFloat() * 0.5F + 0.5F, par13 - 1.5707964F, par14 / 3.0F, par15, par16, 1.0D); + this.generateCaveNode(random.nextLong(), par3, par4, par5ArrayOfByte, par6, par8, par10, random.nextFloat() * 0.5F + 0.5F, par13 + 1.5707964F, par14 / 3.0F, par15, par16, 1.0D); return; } - if (var62 || random.nextInt(4) != 0) { + if(var62 || random.nextInt(4) != 0) { double d8 = par6 - d4; double d9 = par10 - d5; double d10 = (double) (par16 - par15); double d11 = (double) (par12 + 2.0F + 16.0F); - if (d8 * d8 + d9 * d9 - d10 * d10 > d11 * d11) { + if(d8 * d8 + d9 * d9 - d10 * d10 > d11 * d11) { return; } - if (par6 >= d4 - 16.0D - d6 * 2.0D && par10 >= d5 - 16.0D - d6 * 2.0D && par6 <= d4 + 16.0D + d6 * 2.0D && par10 <= d5 + 16.0D + d6 * 2.0D) { + if(par6 >= d4 - 16.0D - d6 * 2.0D && par10 >= d5 - 16.0D - d6 * 2.0D && par6 <= d4 + 16.0D + d6 * 2.0D && par10 <= d5 + 16.0D + d6 * 2.0D) { int l1 = MathHelper.floor_double(par6 - d6) - par3 * 16 - 1; int i2 = MathHelper.floor_double(par6 + d6) - par3 * 16 + 1; int j2 = MathHelper.floor_double(par8 - d7) - 1; int k2 = MathHelper.floor_double(par8 + d7) + 1; int l2 = MathHelper.floor_double(par10 - d6) - par4 * 16 - 1; int i3 = MathHelper.floor_double(par10 + d6) - par4 * 16 + 1; - if (l1 < 0) { + if(l1 < 0) { l1 = 0; } - if (i2 > 16) { + if(i2 > 16) { i2 = 16; } - if (j2 < 1) { + if(j2 < 1) { j2 = 1; } - if (k2 > 120) { + if(k2 > 120) { k2 = 120; } - if (l2 < 0) { + if(l2 < 0) { l2 = 0; } - if (i3 > 16) { + if(i3 > 16) { i3 = 16; } @@ -105,16 +104,16 @@ protected void generateCaveNode(long par1, int par3, int par4, Block[] par6Array int k3; int j3; - for (j3 = l1; !flag2 && j3 < i2; ++j3) { - for (int d12 = l2; !flag2 && d12 < i3; ++d12) { - for (int i4 = k2 + 1; !flag2 && i4 >= j2 - 1; --i4) { + for(j3 = l1; !flag2 && j3 < i2; ++j3) { + for(int d12 = l2; !flag2 && d12 < i3; ++d12) { + for(int i4 = k2 + 1; !flag2 && i4 >= j2 - 1; --i4) { k3 = (j3 * 16 + d12) * 128 + i4; - if (i4 >= 0 && i4 < 128) { - if (par6ArrayOfByte[k3] == Blocks.water) { + if(i4 >= 0 && i4 < 128) { + if(par5ArrayOfByte[k3] == Block.waterMoving.blockID || par5ArrayOfByte[k3] == Block.waterStill.blockID) { flag2 = true; } - if (i4 != j2 - 1 && j3 != l1 && j3 != i2 - 1 && d12 != l2 && d12 != i3 - 1) { + if(i4 != j2 - 1 && j3 != l1 && j3 != i2 - 1 && d12 != l2 && d12 != i3 - 1) { i4 = j2; } } @@ -122,30 +121,30 @@ protected void generateCaveNode(long par1, int par3, int par4, Block[] par6Array } } - if (!flag2) { - for (j3 = l1; j3 < i2; ++j3) { + if(!flag2) { + for(j3 = l1; j3 < i2; ++j3) { double var63 = ((double) (j3 + par3 * 16) + 0.5D - par6) / d6; - for (k3 = l2; k3 < i3; ++k3) { + for(k3 = l2; k3 < i3; ++k3) { double d13 = ((double) (k3 + par4 * 16) + 0.5D - par10) / d6; int j4 = (j3 * 16 + k3) * 128 + k2; boolean flag3 = false; - if (var63 * var63 + d13 * d13 < 1.0D) { - for (int k4 = k2 - 1; k4 >= j2; --k4) { + if(var63 * var63 + d13 * d13 < 1.0D) { + for(int k4 = k2 - 1; k4 >= j2; --k4) { double d14 = ((double) k4 + 0.5D - par8) / d7; - if (d14 > -0.7D && var63 * var63 + d14 * d14 + d13 * d13 < 1.0D) { - Block b0 = par6ArrayOfByte[j4]; - if (b0 == Blocks.grass) { + if(d14 > -0.7D && var63 * var63 + d14 * d14 + d13 * d13 < 1.0D) { + byte b0 = par5ArrayOfByte[j4]; + if(b0 == Block.grass.blockID) { flag3 = true; } - if (b0 == AtumBlocks.BLOCK_STONE || b0 == AtumBlocks.BLOCK_SAND) { - if (k4 < 10) { - par6ArrayOfByte[j4] = Blocks.lava; + if(b0 == Blocks.BLOCK_STONE.blockID || b0 == Blocks.BLOCK_SAND.blockID) { + if(k4 < 10) { + par5ArrayOfByte[j4] = (byte) Block.lavaMoving.blockID; } else { - par6ArrayOfByte[j4] = null; - if (flag3 && par6ArrayOfByte[j4 - 1] == AtumBlocks.BLOCK_SAND) { - par6ArrayOfByte[j4 - 1] = super.worldObj.getBiomeGenForCoords(j3 + par3 * 16, k3 + par4 * 16).topBlock; + par5ArrayOfByte[j4] = 0; + if(flag3 && par5ArrayOfByte[j4 - 1] == Blocks.BLOCK_SAND.blockID) { + par5ArrayOfByte[j4 - 1] = super.worldObj.getBiomeGenForCoords(j3 + par3 * 16, k3 + par4 * 16).topBlock; } } } @@ -157,7 +156,7 @@ protected void generateCaveNode(long par1, int par3, int par4, Block[] par6Array } } - if (var62) { + if(var62) { break; } } @@ -168,27 +167,27 @@ protected void generateCaveNode(long par1, int par3, int par4, Block[] par6Array } @Override - protected void func_151538_a(World par1World, int par2, int par3, int par4, int par5, Block[] par6ArrayOfByte) { + protected void recursiveGenerate(World par1World, int par2, int par3, int par4, int par5, byte[] par6ArrayOfByte) { int i1 = super.rand.nextInt(super.rand.nextInt(super.rand.nextInt(40) + 1) + 1); - if (super.rand.nextInt(15) != 0) { + if(super.rand.nextInt(15) != 0) { i1 = 0; } - for (int j1 = 0; j1 < i1; ++j1) { + for(int j1 = 0; j1 < i1; ++j1) { double d0 = (double) (par2 * 16 + super.rand.nextInt(16)); double d1 = (double) super.rand.nextInt(super.rand.nextInt(120) + 8); double d2 = (double) (par3 * 16 + super.rand.nextInt(16)); int k1 = 1; - if (super.rand.nextInt(4) == 0) { + if(super.rand.nextInt(4) == 0) { this.generateLargeCaveNode(super.rand.nextLong(), par4, par5, par6ArrayOfByte, d0, d1, d2); k1 += super.rand.nextInt(4); } - for (int l1 = 0; l1 < k1; ++l1) { + for(int l1 = 0; l1 < k1; ++l1) { float f = super.rand.nextFloat() * 3.1415927F * 2.0F; float f1 = (super.rand.nextFloat() - 0.5F) * 2.0F / 8.0F; float f2 = super.rand.nextFloat() * 2.0F + super.rand.nextFloat(); - if (super.rand.nextInt(10) == 0) { + if(super.rand.nextInt(10) == 0) { f2 *= super.rand.nextFloat() * super.rand.nextFloat() * 3.0F + 1.0F; } diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java b/src/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java similarity index 94% rename from src/main/java/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java rename to src/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java index 7f03511..f45203d 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java +++ b/src/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java @@ -1,16 +1,15 @@ package com.teammetallurgy.atum.worldgen; -import net.minecraft.util.MathHelper; -import net.minecraft.util.Vec3; -import net.minecraft.world.WorldProvider; -import net.minecraft.world.biome.WorldChunkManagerHell; -import net.minecraft.world.chunk.IChunkProvider; - import com.teammetallurgy.atum.AtumIDS; import com.teammetallurgy.atum.world.World; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; +import net.minecraft.world.WorldProvider; +import net.minecraft.world.biome.WorldChunkManagerHell; +import net.minecraft.world.chunk.IChunkProvider; public class AtumWorldProvider extends WorldProvider { @Override @@ -20,7 +19,7 @@ public String getDimensionName() { @Override protected void registerWorldChunkManager() { - super.worldChunkMgr = new WorldChunkManagerHell(World.BIOME_DESERT, 0.8F); + super.worldChunkMgr = new WorldChunkManagerHell(World.BIOME_DESERT, 0.8F, 0.1F); super.dimensionId = AtumIDS.DIMENSION_ID; } @@ -33,10 +32,10 @@ public IChunkProvider createChunkGenerator() { protected void generateLightBrightnessTable() { float f = 0.0F; - for (int i = 0; i <= 15; ++i) { + for(int i = 0; i <= 15; ++i) { float scaledBrightness = (float) i / 15.0F; float f1 = 1.0F - scaledBrightness; - if (i < 5) { + if(i < 5) { super.lightBrightnessTable[i] = 0.5F * scaledBrightness / (f1 * 3.0F + 1.0F) * (1.0F - f) + f; } else { super.lightBrightnessTable[i] = scaledBrightness / (f1 * 3.0F + 1.0F) * (1.0F - f) + f; @@ -49,11 +48,11 @@ protected void generateLightBrightnessTable() { public float calculateCelestialAngle(long par1, float par3) { int j = (int) (par1 % 48000L); float f1 = ((float) j + par3) / 48000.0F - 0.25F; - if (f1 < 0.0F) { + if(f1 < 0.0F) { ++f1; } - if (f1 > 1.0F) { + if(f1 > 1.0F) { --f1; } @@ -67,11 +66,11 @@ public float calculateCelestialAngle(long par1, float par3) { @SideOnly(Side.CLIENT) public Vec3 getFogColor(float par1, float par2) { float f2 = MathHelper.cos(par1 * 3.1415927F * 2.0F) * 2.0F + 0.5F; - if (f2 < 0.2F) { + if(f2 < 0.2F) { f2 = 0.2F; } - if (f2 > 1.0F) { + if(f2 > 1.0F) { f2 = 1.0F; } diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/AtumWorldServer.java b/src/com/teammetallurgy/atum/worldgen/AtumWorldServer.java similarity index 81% rename from src/main/java/com/teammetallurgy/atum/worldgen/AtumWorldServer.java rename to src/com/teammetallurgy/atum/worldgen/AtumWorldServer.java index c4329a8..8e6f838 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/AtumWorldServer.java +++ b/src/com/teammetallurgy/atum/worldgen/AtumWorldServer.java @@ -1,5 +1,6 @@ package com.teammetallurgy.atum.worldgen; +import net.minecraft.logging.ILogAgent; import net.minecraft.profiler.Profiler; import net.minecraft.server.MinecraftServer; import net.minecraft.world.Teleporter; @@ -11,8 +12,8 @@ public class AtumWorldServer extends WorldServer { - public AtumWorldServer(MinecraftServer par1MinecraftServer, ISaveHandler par2iSaveHandler, String par3Str, int par4, WorldSettings par5WorldSettings, Profiler par6Profiler) { - super(par1MinecraftServer, par2iSaveHandler, par3Str, par4, par5WorldSettings, par6Profiler); + public AtumWorldServer(MinecraftServer par1MinecraftServer, ISaveHandler par2iSaveHandler, String par3Str, int par4, WorldSettings par5WorldSettings, Profiler par6Profiler, ILogAgent par7iLogAgent) { + super(par1MinecraftServer, par2iSaveHandler, par3Str, par4, par5WorldSettings, par6Profiler, par7iLogAgent); } @Override diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java b/src/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java similarity index 82% rename from src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java rename to src/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java index 1c3acf7..cbd73e7 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java +++ b/src/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java @@ -22,30 +22,30 @@ import net.minecraftforge.event.terraingen.OreGenEvent.Pre; import net.minecraftforge.event.terraingen.TerrainGen; -import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.Blocks; import com.teammetallurgy.atum.worldgen.decorators.WorldGenShrub; public class BiomeDecoratorAtum extends BiomeDecorator { private float shrubChance; - public BiomeDecoratorAtum() { - super(); - this.sandGen = new WorldGenSand(AtumBlocks.BLOCK_SAND, 7); - this.gravelAsSandGen = new WorldGenSand(6, Blocks.gravel); - this.dirtGen = new WorldGenMinable(Block.dirt, 32); - this.gravelGen = new WorldGenMinable(Block.gravel, 32); - this.coalGen = new WorldGenMinable(AtumBlocks.BLOCK_COALORE, 16, AtumBlocks.BLOCK_STONE); - this.ironGen = new WorldGenMinable(AtumBlocks.BLOCK_IRONORE, 8, AtumBlocks.BLOCK_STONE); - this.goldGen = new WorldGenMinable(AtumBlocks.BLOCK_GOLDORE, 8, AtumBlocks.BLOCK_STONE); - this.redstoneGen = new WorldGenMinable(AtumBlocks.BLOCK_REDSTONEORE, 7, AtumBlocks.BLOCK_STONE); - this.diamondGen = new WorldGenMinable(AtumBlocks.BLOCK_DIAMONDORE, 7, AtumBlocks.BLOCK_STONE); - this.lapisGen = new WorldGenMinable(AtumBlocks.BLOCK_LAPISORE, 6); + public BiomeDecoratorAtum(BiomeGenBase par1BiomeGenBase) { + super(par1BiomeGenBase); + this.sandGen = new WorldGenSand(7, Blocks.BLOCK_SAND.blockID); + this.gravelAsSandGen = new WorldGenSand(6, Block.gravel.blockID); + this.dirtGen = new WorldGenMinable(Block.dirt.blockID, 32); + this.gravelGen = new WorldGenMinable(Block.gravel.blockID, 32); + this.coalGen = new WorldGenMinable(Blocks.BLOCK_COALORE.blockID, 16, Blocks.BLOCK_STONE.blockID); + this.ironGen = new WorldGenMinable(Blocks.BLOCK_IRONORE.blockID, 8, Blocks.BLOCK_STONE.blockID); + this.goldGen = new WorldGenMinable(Blocks.BLOCK_GOLDORE.blockID, 8, Blocks.BLOCK_STONE.blockID); + this.redstoneGen = new WorldGenMinable(Blocks.BLOCK_REDSTONEORE.blockID, 7, Blocks.BLOCK_STONE.blockID); + this.diamondGen = new WorldGenMinable(Blocks.BLOCK_DIAMONDORE.blockID, 7, Blocks.BLOCK_STONE.blockID); + this.lapisGen = new WorldGenMinable(Blocks.BLOCK_LAPISORE.blockID, 6); - this.plantYellowGen = new WorldGenFlowers(Block.plantYellow); - this.plantRedGen = new WorldGenFlowers(Block.plantRed); - this.mushroomBrownGen = new WorldGenFlowers(Block.mushroomBrown); - this.mushroomRedGen = new WorldGenFlowers(Block.mushroomRed); + this.plantYellowGen = new WorldGenFlowers(Block.plantYellow.blockID); + this.plantRedGen = new WorldGenFlowers(Block.plantRed.blockID); + this.mushroomBrownGen = new WorldGenFlowers(Block.mushroomBrown.blockID); + this.mushroomRedGen = new WorldGenFlowers(Block.mushroomRed.blockID); this.bigMushroomGen = new WorldGenBigMushroom(); this.reedGen = new WorldGenReed(); this.cactusGen = new WorldGenCactus(); @@ -122,7 +122,7 @@ protected void decorate() { l = this.randomGenerator.nextInt(128); i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; time = System.nanoTime(); - (new WorldGenShrub(AtumBlocks.BLOCK_SHRUB, 8)).generate(this.currentWorld, this.randomGenerator, k, l, i1); + (new WorldGenShrub(Blocks.BLOCK_SHRUB.blockID, 8)).generate(this.currentWorld, this.randomGenerator, k, l, i1); } if(this.randomGenerator.nextFloat() < this.shrubChance) { @@ -130,7 +130,7 @@ protected void decorate() { l = this.randomGenerator.nextInt(128); i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; time = System.nanoTime(); - (new WorldGenShrub(AtumBlocks.BLOCK_WEED, 8)).generate(this.currentWorld, this.randomGenerator, k, l, i1); + (new WorldGenShrub(Blocks.BLOCK_WEED.blockID, 8)).generate(this.currentWorld, this.randomGenerator, k, l, i1); } doGen = TerrainGen.decorate(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z, EventType.LAKE); @@ -140,7 +140,7 @@ protected void decorate() { l = this.randomGenerator.nextInt(this.randomGenerator.nextInt(this.randomGenerator.nextInt(112) + 8) + 8); i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; time = System.nanoTime(); - (new WorldGenLiquids(Block.lavaMoving)).generate(this.currentWorld, this.randomGenerator, k, l, i1); + (new WorldGenLiquids(Block.lavaMoving.blockID)).generate(this.currentWorld, this.randomGenerator, k, l, i1); } } diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java b/src/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java similarity index 89% rename from src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java rename to src/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java index fa5e6dc..2a74d06 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java +++ b/src/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java @@ -2,14 +2,14 @@ import java.util.Random; -import net.minecraft.block.Block; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeDecorator; import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.biome.SpawnListEntry; import net.minecraft.world.gen.feature.WorldGenerator; import com.teammetallurgy.atum.LocalizationHelper; -import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.Blocks; import com.teammetallurgy.atum.entity.EntityBanditArcher; import com.teammetallurgy.atum.entity.EntityBanditWarlord; import com.teammetallurgy.atum.entity.EntityBanditWarrior; @@ -31,14 +31,14 @@ public class BiomeGenAtumDesert extends BiomeGenBase { public WorldGenerator treeGenerator; public WorldGenerator palmGenerator; public WorldGenerator ruinsGenerator; - public Block sTopBlock; - public Block sFillerBlock; + public short sTopBlock; + public short sFillerBlock; public BiomeGenAtumDesert(int par1) { super(par1); super.spawnableCreatureList.clear(); - this.sTopBlock = AtumBlocks.BLOCK_SAND; - this.sFillerBlock = AtumBlocks.BLOCK_SAND; + this.sTopBlock = (short) Blocks.BLOCK_SAND.blockID; + this.sFillerBlock = (short) Blocks.BLOCK_SAND.blockID; super.theBiomeDecorator.treesPerChunk = 1; super.theBiomeDecorator.deadBushPerChunk = 5; super.theBiomeDecorator.reedsPerChunk = 0; @@ -54,7 +54,7 @@ public BiomeGenAtumDesert(int par1) { this.setBiomeName(LocalizationHelper.localize("biome.desert.name")); this.setDisableRain(); this.setTemperatureRainfall(2.0F, 0.0F); - this.setHeight(new Height(0.1F, 0.2F)); + this.setMinMaxHeight(0.1F, 0.2F); super.spawnableMonsterList.add(new SpawnListEntry(EntityMummy.class, 6, 4, 4)); super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditWarlord.class, 1, 1, 1)); super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditWarrior.class, 6, 2, 2)); @@ -82,14 +82,14 @@ public void decorate(World par1World, Random par2Random, int par3, int par4) { long time; int k; int l; - if (par2Random.nextInt(100) == 0) { + if(par2Random.nextInt(100) == 0) { k = par3 + par2Random.nextInt(16) + 8; l = par4 + par2Random.nextInt(16) + 8; time = System.nanoTime(); (new WorldGenOasis(false)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); } - if (par2Random.nextInt(20) == 0) { + if(par2Random.nextInt(20) == 0) { k = par3 + par2Random.nextInt(16) + 8; l = par4 + par2Random.nextInt(16) + 8; time = System.nanoTime(); @@ -97,7 +97,7 @@ public void decorate(World par1World, Random par2Random, int par3, int par4) { } int height; - if (par2Random.nextInt(5) == 0) { + if(par2Random.nextInt(5) == 0) { k = par3 + par2Random.nextInt(16) + 8; l = par4 + par2Random.nextInt(16) + 8; height = par2Random.nextInt(4) + 5; @@ -105,7 +105,7 @@ public void decorate(World par1World, Random par2Random, int par3, int par4) { (new WorldGenPalm(true, height, 0, 0)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); } - if (par2Random.nextInt(7) == 0) { + if(par2Random.nextInt(7) == 0) { k = par3 + par2Random.nextInt(16) + 8; l = par4 + par2Random.nextInt(16) + 8; height = par2Random.nextInt(4) + 4; @@ -113,18 +113,18 @@ public void decorate(World par1World, Random par2Random, int par3, int par4) { (new WorldGenAtumTrees(true)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); } - if (par2Random.nextInt(120) == 0) { + if(par2Random.nextInt(120) == 0) { k = par3 + par2Random.nextInt(16) + 8; l = par4 + par2Random.nextInt(16) + 8; time = System.nanoTime(); (new WorldGenPyramid()).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); } - if (par2Random.nextInt(160) == 0) { + if(par2Random.nextInt(160) == 0) { k = par3 + par2Random.nextInt(16) + 8; l = par4 + par2Random.nextInt(16) + 8; height = par2Random.nextInt(10); - if (height <= 20) { + if(height <= 20) { height += 30; } diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java b/src/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java similarity index 55% rename from src/main/java/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java rename to src/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java index 96f220d..b2ce64a 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java +++ b/src/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java @@ -2,25 +2,24 @@ import java.util.List; -import net.minecraft.world.biome.BiomeGenBase.SpawnListEntry; +import net.minecraft.world.biome.SpawnListEntry; +import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.world.WorldEvent.PotentialSpawns; import com.teammetallurgy.atum.entity.IAtumDayMob; import com.teammetallurgy.atum.entity.IAtumNightMob; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; - public class MobSpawnController { - @SubscribeEvent + @ForgeSubscribe public void getPotentialSpawns(PotentialSpawns event) { List list = event.list; int time = (int) (event.world.getWorldTime() % 48000L); System.out.println(time); - for (int i = 0; i < list.size(); ++i) { + for(int i = 0; i < list.size(); ++i) { System.out.println(time); - if ((!IAtumDayMob.class.isAssignableFrom(((SpawnListEntry) list.get(i)).entityClass) || time <= 0 || time >= 24000) && (!IAtumNightMob.class.isAssignableFrom(((SpawnListEntry) list.get(i)).entityClass) || time <= 24000 || time >= '\ubb80')) { + if((!IAtumDayMob.class.isAssignableFrom(((SpawnListEntry) list.get(i)).entityClass) || time <= 0 || time >= 24000) && (!IAtumNightMob.class.isAssignableFrom(((SpawnListEntry) list.get(i)).entityClass) || time <= 24000 || time >= '\ubb80')) { list.remove(i); --i; } diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java similarity index 67% rename from src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java rename to src/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java index 3e68df5..6fd74c2 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java +++ b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java @@ -3,19 +3,18 @@ import java.util.Random; import net.minecraft.block.Block; -import net.minecraft.init.Blocks; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; -import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.Blocks; public class WorldGenAtumTrees extends WorldGenerator { - static final byte[] otherCoordPairs = new byte[] { (byte) 2, (byte) 0, (byte) 0, (byte) 1, (byte) 2, (byte) 1 }; + static final byte[] otherCoordPairs = new byte[]{(byte) 2, (byte) 0, (byte) 0, (byte) 1, (byte) 2, (byte) 1}; Random rand = new Random(); World worldObj; - int[] basePos = new int[] { 0, 0, 0 }; + int[] basePos = new int[]{0, 0, 0}; int heightLimit = 0; int height; double heightAttenuation = 0.618D; @@ -34,12 +33,12 @@ public WorldGenAtumTrees(boolean par1) { private void generateLeafNodeList() { this.height = (int) ((double) this.heightLimit * this.heightAttenuation); - if (this.height >= this.heightLimit) { + if(this.height >= this.heightLimit) { this.height = this.heightLimit - 1; } int i = (int) (1.382D + Math.pow(this.leafDensity * (double) this.heightLimit / 13.0D, 2.0D)); - if (i < 1) { + if(i < 1) { i = 1; } @@ -54,31 +53,31 @@ private void generateLeafNodeList() { aint[0][3] = l; --j; - while (i1 >= 0) { + while(i1 >= 0) { int j1 = 0; float f = this.layerSize(i1); - if (f < 0.0F) { + if(f < 0.0F) { --j; --i1; } else { - for (double d0 = 0.5D; j1 < i; ++j1) { + for(double d0 = 0.5D; j1 < i; ++j1) { double d1 = this.scaleWidth * (double) f * ((double) this.rand.nextFloat() + 0.328D); double d2 = (double) this.rand.nextFloat() * 2.0D * 3.141592653589793D; int k1 = MathHelper.floor_double(d1 * Math.sin(d2) + (double) this.basePos[0] + d0); int l1 = MathHelper.floor_double(d1 * Math.cos(d2) + (double) this.basePos[2] + d0); - int[] aint1 = new int[] { k1, j, l1 }; - int[] aint2 = new int[] { k1, j + this.leafDistanceLimit, l1 }; - if (this.checkBlockLine(aint1, aint2) == -1) { - int[] aint3 = new int[] { this.basePos[0], this.basePos[1], this.basePos[2] }; + int[] aint1 = new int[]{k1, j, l1}; + int[] aint2 = new int[]{k1, j + this.leafDistanceLimit, l1}; + if(this.checkBlockLine(aint1, aint2) == -1) { + int[] aint3 = new int[]{this.basePos[0], this.basePos[1], this.basePos[2]}; double d3 = Math.sqrt(Math.pow((double) Math.abs(this.basePos[0] - aint1[0]), 2.0D) + Math.pow((double) Math.abs(this.basePos[2] - aint1[2]), 2.0D)); double d4 = d3 * this.branchSlope; - if ((double) aint1[1] - d4 > (double) l) { + if((double) aint1[1] - d4 > (double) l) { aint3[1] = l; } else { aint3[1] = (int) ((double) aint1[1] - d4); } - if (this.checkBlockLine(aint3, aint1) == -1) { + if(this.checkBlockLine(aint3, aint1) == -1) { aint[k][0] = k1; aint[k][1] = j; aint[k][2] = l1; @@ -97,31 +96,31 @@ private void generateLeafNodeList() { System.arraycopy(aint, 0, this.leafNodes, 0, k); } - private void genTreeLayer(int par1, int par2, int par3, float par4, byte par5, Block par6) { + private void genTreeLayer(int par1, int par2, int par3, float par4, byte par5, int par6) { int i1 = (int) ((double) par4 + 0.618D); byte b1 = otherCoordPairs[par5]; byte b2 = otherCoordPairs[par5 + 3]; - int[] aint = new int[] { par1, par2, par3 }; - int[] aint1 = new int[] { 0, 0, 0 }; + int[] aint = new int[]{par1, par2, par3}; + int[] aint1 = new int[]{0, 0, 0}; int j1 = -i1; int k1 = -i1; - for (aint1[par5] = aint[par5]; j1 <= i1; ++j1) { + for(aint1[par5] = aint[par5]; j1 <= i1; ++j1) { aint1[b1] = aint[b1] + j1; k1 = -i1; - while (k1 <= i1) { + while(k1 <= i1) { double d0 = Math.pow((double) Math.abs(j1) + 0.5D, 2.0D) + Math.pow((double) Math.abs(k1) + 0.5D, 2.0D); - if (d0 > (double) (par4 * par4)) { + if(d0 > (double) (par4 * par4)) { ++k1; } else { aint1[b2] = aint[b2] + k1; - Block l1 = this.worldObj.getBlock(aint1[0], aint1[1], aint1[2]); - if (l1 != null && l1 != Blocks.leaves) { + int l1 = this.worldObj.getBlockId(aint1[0], aint1[1], aint1[2]); + if(l1 != 0 && l1 != Block.leaves.blockID) { ++k1; } else { - if (par6 != Blocks.leaves) { - this.worldObj.setBlock(aint1[0], aint1[1], aint1[2], par6); + if(par6 != Block.leaves.blockID) { + this.setBlockAndMetadata(this.worldObj, aint1[0], aint1[1], aint1[2], par6, 0); } ++k1; @@ -133,15 +132,15 @@ private void genTreeLayer(int par1, int par2, int par3, float par4, byte par5, B } private float layerSize(int par1) { - if ((double) par1 < (double) ((float) this.heightLimit) * 0.3D) { + if((double) par1 < (double) ((float) this.heightLimit) * 0.3D) { return -1.618F; } else { float f = (float) this.heightLimit / 2.0F; float f1 = (float) this.heightLimit / 2.0F - (float) par1; float f2; - if (f1 == 0.0F) { + if(f1 == 0.0F) { f2 = f; - } else if (Math.abs(f1) >= f) { + } else if(Math.abs(f1) >= f) { f2 = 0.0F; } else { f2 = (float) Math.sqrt(Math.pow((double) Math.abs(f), 2.0D) - Math.pow((double) Math.abs(f1), 2.0D)); @@ -159,30 +158,30 @@ private float leafSize(int par1) { private void generateLeafNode(int par1, int par2, int par3) { int l = par2; - for (int i1 = par2 + this.leafDistanceLimit; l < i1; ++l) { + for(int i1 = par2 + this.leafDistanceLimit; l < i1; ++l) { float f = this.leafSize(l - par2); - this.genTreeLayer(par1, l, par3, f, (byte) 1, Blocks.leaves); + this.genTreeLayer(par1, l, par3, f, (byte) 1, Block.leaves.blockID); } } - private void placeBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger, Block par3) { - int[] aint2 = new int[] { 0, 0, 0 }; + private void placeBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger, int par3) { + int[] aint2 = new int[]{0, 0, 0}; byte b0 = 0; byte b1; - for (b1 = 0; b0 < 3; ++b0) { + for(b1 = 0; b0 < 3; ++b0) { aint2[b0] = par2ArrayOfInteger[b0] - par1ArrayOfInteger[b0]; - if (Math.abs(aint2[b0]) > Math.abs(aint2[b1])) { + if(Math.abs(aint2[b0]) > Math.abs(aint2[b1])) { b1 = b0; } } - if (aint2[b1] != 0) { + if(aint2[b1] != 0) { byte b2 = otherCoordPairs[b1]; byte b3 = otherCoordPairs[b1 + 3]; byte b4; - if (aint2[b1] > 0) { + if(aint2[b1] > 0) { b4 = 1; } else { b4 = -1; @@ -190,10 +189,10 @@ private void placeBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger, double d0 = (double) aint2[b2] / (double) aint2[b1]; double d1 = (double) aint2[b3] / (double) aint2[b1]; - int[] aint3 = new int[] { 0, 0, 0 }; + int[] aint3 = new int[]{0, 0, 0}; int j = 0; - for (int k = aint2[b1] + b4; j != k; j += b4) { + for(int k = aint2[b1] + b4; j != k; j += b4) { aint3[b1] = MathHelper.floor_double((double) (par1ArrayOfInteger[b1] + j) + 0.5D); aint3[b2] = MathHelper.floor_double((double) par1ArrayOfInteger[b2] + (double) j * d0 + 0.5D); aint3[b3] = MathHelper.floor_double((double) par1ArrayOfInteger[b3] + (double) j * d1 + 0.5D); @@ -201,15 +200,15 @@ private void placeBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger, int l = Math.abs(aint3[0] - par1ArrayOfInteger[0]); int i1 = Math.abs(aint3[2] - par1ArrayOfInteger[2]); int j1 = Math.max(l, i1); - if (j1 > 0) { - if (l == j1) { + if(j1 > 0) { + if(l == j1) { b5 = 4; - } else if (i1 == j1) { + } else if(i1 == j1) { b5 = 8; } } - this.worldObj.setBlock(aint3[0], aint3[1], aint3[2], par3, b5, 1); + this.setBlockAndMetadata(this.worldObj, aint3[0], aint3[1], aint3[2], par3, b5); } } @@ -218,7 +217,7 @@ private void placeBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger, private void generateLeaves() { int i = 0; - for (int j = this.leafNodes.length; i < j; ++i) { + for(int j = this.leafNodes.length; i < j; ++i) { int k = this.leafNodes[i][0]; int l = this.leafNodes[i][1]; int i1 = this.leafNodes[i][2]; @@ -236,19 +235,19 @@ private void generateTrunk() { int j = this.basePos[1]; int k = this.basePos[1] + this.height; int l = this.basePos[2]; - int[] aint = new int[] { i, j, l }; - int[] aint1 = new int[] { i, k, l }; - this.placeBlockLine(aint, aint1, Blocks.log); - if (this.trunkSize == 2) { + int[] aint = new int[]{i, j, l}; + int[] aint1 = new int[]{i, k, l}; + this.placeBlockLine(aint, aint1, Block.wood.blockID); + if(this.trunkSize == 2) { ++aint[0]; ++aint1[0]; - this.placeBlockLine(aint, aint1, Blocks.log); + this.placeBlockLine(aint, aint1, Block.wood.blockID); ++aint[2]; ++aint1[2]; - this.placeBlockLine(aint, aint1, Blocks.log); + this.placeBlockLine(aint, aint1, Block.wood.blockID); aint[0] += -1; aint1[0] += -1; - this.placeBlockLine(aint, aint1, Blocks.log); + this.placeBlockLine(aint, aint1, Block.wood.blockID); } } @@ -257,37 +256,37 @@ private void generateLeafNodeBases() { int i = 0; int j = this.leafNodes.length; - for (int[] aint = new int[] { this.basePos[0], this.basePos[1], this.basePos[2] }; i < j; ++i) { + for(int[] aint = new int[]{this.basePos[0], this.basePos[1], this.basePos[2]}; i < j; ++i) { int[] aint1 = this.leafNodes[i]; - int[] aint2 = new int[] { aint1[0], aint1[1], aint1[2] }; + int[] aint2 = new int[]{aint1[0], aint1[1], aint1[2]}; aint[1] = aint1[3]; int k = aint[1] - this.basePos[1]; - if (this.leafNodeNeedsBase(k)) { - this.placeBlockLine(aint, aint2, Blocks.planks); + if(this.leafNodeNeedsBase(k)) { + this.placeBlockLine(aint, aint2, (byte) Block.wood.blockID); } } } private int checkBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger) { - int[] aint2 = new int[] { 0, 0, 0 }; + int[] aint2 = new int[]{0, 0, 0}; byte b0 = 0; byte b1; - for (b1 = 0; b0 < 3; ++b0) { + for(b1 = 0; b0 < 3; ++b0) { aint2[b0] = par2ArrayOfInteger[b0] - par1ArrayOfInteger[b0]; - if (Math.abs(aint2[b0]) > Math.abs(aint2[b1])) { + if(Math.abs(aint2[b0]) > Math.abs(aint2[b1])) { b1 = b0; } } - if (aint2[b1] == 0) { + if(aint2[b1] == 0) { return -1; } else { byte b2 = otherCoordPairs[b1]; byte b3 = otherCoordPairs[b1 + 3]; byte b4; - if (aint2[b1] > 0) { + if(aint2[b1] > 0) { b4 = 1; } else { b4 = -1; @@ -295,16 +294,16 @@ private int checkBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger) { double d0 = (double) aint2[b2] / (double) aint2[b1]; double d1 = (double) aint2[b3] / (double) aint2[b1]; - int[] aint3 = new int[] { 0, 0, 0 }; + int[] aint3 = new int[]{0, 0, 0}; int i = 0; int j; - for (j = aint2[b1] + b4; i != j; i += b4) { + for(j = aint2[b1] + b4; i != j; i += b4) { aint3[b1] = par1ArrayOfInteger[b1] + i; aint3[b2] = MathHelper.floor_double((double) par1ArrayOfInteger[b2] + (double) i * d0); aint3[b3] = MathHelper.floor_double((double) par1ArrayOfInteger[b3] + (double) i * d1); - Block k = this.worldObj.getBlock(aint3[0], aint3[1], aint3[2]); - if (k != null && k != Blocks.leaves) { + int k = this.worldObj.getBlockId(aint3[0], aint3[1], aint3[2]); + if(k != 0 && k != Block.leaves.blockID) { break; } } @@ -314,17 +313,18 @@ private int checkBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger) { } private boolean validTreeLocation() { - int[] aint = new int[] { this.basePos[0], this.basePos[1], this.basePos[2] }; - int[] aint1 = new int[] { this.basePos[0], this.basePos[1] + this.heightLimit - 1, this.basePos[2] }; - Block i = this.worldObj.getBlock(this.basePos[0], this.basePos[1] - 1, this.basePos[2]); - boolean isValidSoil = i == AtumBlocks.BLOCK_SAND; - if (!isValidSoil) { + int[] aint = new int[]{this.basePos[0], this.basePos[1], this.basePos[2]}; + int[] aint1 = new int[]{this.basePos[0], this.basePos[1] + this.heightLimit - 1, this.basePos[2]}; + int i = this.worldObj.getBlockId(this.basePos[0], this.basePos[1] - 1, this.basePos[2]); + Block var10000 = Block.blocksList[i]; + boolean isValidSoil = i == Blocks.BLOCK_SAND.blockID; + if(!isValidSoil) { return false; } else { int j = this.checkBlockLine(aint, aint1); - if (j == -1) { + if(j == -1) { return true; - } else if (j < 6) { + } else if(j < 6) { return false; } else { this.heightLimit = j; @@ -336,7 +336,7 @@ private boolean validTreeLocation() { @Override public void setScale(double par1, double par3, double par5) { this.heightLimitLimit = (int) (par1 * 12.0D); - if (par1 > 0.5D) { + if(par1 > 0.5D) { this.leafDistanceLimit = 5; } @@ -352,11 +352,11 @@ public boolean generate(World par1World, Random par2Random, int par3, int par4, this.basePos[0] = par3; this.basePos[1] = par4; this.basePos[2] = par5; - if (this.heightLimit == 0) { + if(this.heightLimit == 0) { this.heightLimit = 5 + this.rand.nextInt(this.heightLimitLimit); } - if (!this.validTreeLocation()) { + if(!this.validTreeLocation()) { return false; } else { this.generateLeafNodeList(); diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java similarity index 52% rename from src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java rename to src/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java index a0b1c14..a16bf52 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java +++ b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java @@ -3,16 +3,15 @@ import java.util.Random; import net.minecraft.block.Block; -import net.minecraft.init.Blocks; import net.minecraft.inventory.IInventory; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; +import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.IPlantable; -import net.minecraftforge.common.util.ForgeDirection; import com.teammetallurgy.atum.AtumLoot; -import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.Blocks; public class WorldGenOasis extends WorldGenerator { @@ -35,42 +34,42 @@ public WorldGenOasis(boolean par1, int par2, int par3, int par4) { public boolean generate(World world, Random par2Random, int par3, int par4, int par5) { int width = par2Random.nextInt(6) + 6; int depth = par2Random.nextInt(5) + 5; - Block block = world.getBlock(par3, par4 - 1, par5); - if (block != AtumBlocks.BLOCK_SAND) { + int id = world.getBlockId(par3, par4 - 1, par5); + if(id != Blocks.BLOCK_SAND.blockID) { return false; } else { - block = world.getBlock(par3 + width, world.getHeightValue(par3 + width, par5) - 1, par5); - if (block != AtumBlocks.BLOCK_SAND) { + id = world.getBlockId(par3 + width, world.getHeightValue(par3 + width, par5) - 1, par5); + if(id != Blocks.BLOCK_SAND.blockID) { return false; } else { - block = world.getBlock(par3, world.getHeightValue(par3, par5 + depth) - 1, par5 + depth); - if (block != AtumBlocks.BLOCK_SAND) { + id = world.getBlockId(par3, world.getHeightValue(par3, par5 + depth) - 1, par5 + depth); + if(id != Blocks.BLOCK_SAND.blockID) { return false; } else { - block = world.getBlock(par3 + width, world.getHeightValue(par3 + width, par5 + depth) - 1, par5 + depth); - if (block != AtumBlocks.BLOCK_SAND) { + id = world.getBlockId(par3 + width, world.getHeightValue(par3 + width, par5 + depth) - 1, par5 + depth); + if(id != Blocks.BLOCK_SAND.blockID) { return false; } else { int minHeight = world.getHeightValue(par3, par5); int maxHeight = world.getHeightValue(par3, par5); int height = world.getHeightValue(par3 + width, par5); - if (height < minHeight) { + if(height < minHeight) { minHeight = height; - } else if (height > maxHeight) { + } else if(height > maxHeight) { maxHeight = height; } height = world.getHeightValue(par3, par5 + depth); - if (height < minHeight) { + if(height < minHeight) { minHeight = height; - } else if (height > maxHeight) { + } else if(height > maxHeight) { maxHeight = height; } height = world.getHeightValue(par3 + width, par5 + depth); - if (height < minHeight) { + if(height < minHeight) { minHeight = height; - } else if (height > maxHeight) { + } else if(height > maxHeight) { maxHeight = height; } @@ -79,32 +78,32 @@ public boolean generate(World world, Random par2Random, int par3, int par4, int int z; int dx; int y; - if (maxHeight - minHeight < 6) { + if(maxHeight - minHeight < 6) { float treeCount = (float) width / 2.0F; float chest = (float) depth / 2.0F; - for (papyrus = (int) (0.0F - treeCount - 6.0F); (float) papyrus <= treeCount + 6.0F; ++papyrus) { - for (i = (int) (0.0F - chest - 6.0F); (float) i <= chest + 6.0F; ++i) { + for(papyrus = (int) (0.0F - treeCount - 6.0F); (float) papyrus <= treeCount + 6.0F; ++papyrus) { + for(i = (int) (0.0F - chest - 6.0F); (float) i <= chest + 6.0F; ++i) { float x = (float) (papyrus * papyrus) / (treeCount * treeCount) + (float) (i * i) / (chest * chest); - if (x <= 1.0F) { + if(x <= 1.0F) { z = world.getHeightValue(papyrus + par3, i + par5); - if (world.getBlock(papyrus + par3, z - 1, i + par5) == AtumBlocks.BLOCK_SAND) { - world.setBlock(papyrus + par3, z - 1, i + par5, Blocks.water); - if ((double) x < 0.6D) { + if(world.getBlockId(papyrus + par3, z - 1, i + par5) == Blocks.BLOCK_SAND.blockID) { + world.setBlock(papyrus + par3, z - 1, i + par5, Block.waterStill.blockID); + if((double) x < 0.6D) { z = world.getHeightValue(papyrus + par3, i + par5); - world.setBlock(papyrus + par3, z - 2, i + par5, Blocks.water); + world.setBlock(papyrus + par3, z - 2, i + par5, Block.waterStill.blockID); } } } else { x = (float) (papyrus * papyrus) / ((treeCount + 4.0F) * (treeCount + 4.0F)) + (float) (i * i) / ((chest + 4.0F) * (chest + 4.0F)); z = world.getHeightValue(papyrus + par3, i + par5); - if (world.getBlock(papyrus + par3, z - 1, i + par5) == AtumBlocks.BLOCK_SAND && x < 1.0F) { - world.setBlock(papyrus + par3, z - 1, i + par5, AtumBlocks.BLOCK_FERTILESOIL); - if ((double) x < 0.3D && par2Random.nextInt(8) == 0) { - for (y = -1; y <= 1; ++y) { - for (dx = -1; dx <= 1; ++dx) { - if (AtumBlocks.BLOCK_PAPYRUS.canBlockStay(world, par3 + papyrus + y, z, par5 + i + dx)) { - world.setBlock(papyrus + par3 + y, z, i + par5 + dx, AtumBlocks.BLOCK_PAPYRUS); + if(world.getBlockId(papyrus + par3, z - 1, i + par5) == Blocks.BLOCK_SAND.blockID && x < 1.0F) { + world.setBlock(papyrus + par3, z - 1, i + par5, Blocks.BLOCK_FERTILESOIL.blockID); + if((double) x < 0.3D && par2Random.nextInt(8) == 0) { + for(y = -1; y <= 1; ++y) { + for(dx = -1; dx <= 1; ++dx) { + if(Blocks.BLOCK_PAPYRUS.canBlockStay(world, par3 + papyrus + y, z, par5 + i + dx)) { + world.setBlock(papyrus + par3 + y, z, i + par5 + dx, Blocks.BLOCK_PAPYRUS.blockID); } } } @@ -117,16 +116,16 @@ public boolean generate(World world, Random par2Random, int par3, int par4, int int var24 = 0; - for (int var26 = 0; var26 < 6; ++var26) { + for(int var26 = 0; var26 < 6; ++var26) { papyrus = par2Random.nextInt(width); i = par2Random.nextInt(depth); - block = world.getBlock(par3 + papyrus, world.getHeightValue(par3 + papyrus, par5 + i) - 1, par5 + i); - if (block == AtumBlocks.BLOCK_FERTILESOIL) { + id = world.getBlockId(par3 + papyrus, world.getHeightValue(par3 + papyrus, par5 + i) - 1, par5 + i); + if(id == Blocks.BLOCK_FERTILESOIL.blockID) { (new WorldGenPalm(true, 5, 0, 0)).generate(world, par2Random, par3 + papyrus, world.getHeightValue(par3 + papyrus, par5 + i), par5 + i); ++var24; } - if (var24 > 2) { + if(var24 > 2) { break; } } @@ -134,35 +133,35 @@ public boolean generate(World world, Random par2Random, int par3, int par4, int boolean var25 = false; boolean var27 = false; - for (i = 0; i < 10; ++i) { + for(i = 0; i < 10; ++i) { int var28 = par2Random.nextInt(width); z = par2Random.nextInt(depth); y = world.getHeightValue(par3 + var28, par5 + z); - block = world.getBlock(par3 + var28, y - 1, par5 + z); - if (!var25 && block == AtumBlocks.BLOCK_FERTILESOIL) { - world.setBlock(par3 + var28, y, par5 + z, Blocks.chest); - TileEntity var29 = world.getTileEntity(par3 + var28, world.getHeightValue(par3 + var28, par5 + z), par5 + z); + id = world.getBlockId(par3 + var28, y - 1, par5 + z); + if(!var25 && id == Blocks.BLOCK_FERTILESOIL.blockID) { + world.setBlock(par3 + var28, y, par5 + z, Block.chest.blockID); + TileEntity var29 = world.getBlockTileEntity(par3 + var28, world.getHeightValue(par3 + var28, par5 + z), par5 + z); AtumLoot.fillChest((IInventory) var29, 5, 0.2F); var25 = true; } else { int dz; - if (!var27 && block.canSustainPlant(world, par3 + var28, y, par5 + z, ForgeDirection.UP, (IPlantable) ((IPlantable) AtumBlocks.BLOCK_PAPYRUS))) { - for (dx = -1; dx <= 1; ++dx) { - for (dz = -1; dz <= 1; ++dz) { - if (block.canSustainPlant(world, par3 + var28 + dx, y, par5 + z + dz, ForgeDirection.UP, (IPlantable) ((IPlantable) AtumBlocks.BLOCK_PAPYRUS))) { - world.setBlock(par3 + var28, y, par5 + z, AtumBlocks.BLOCK_PAPYRUS); + if(!var27 && Block.blocksList[id].canSustainPlant(world, par3 + var28, y, par5 + z, ForgeDirection.UP, (IPlantable) ((IPlantable) Blocks.BLOCK_PAPYRUS))) { + for(dx = -1; dx <= 1; ++dx) { + for(dz = -1; dz <= 1; ++dz) { + if(Block.blocksList[id].canSustainPlant(world, par3 + var28 + dx, y, par5 + z + dz, ForgeDirection.UP, (IPlantable) ((IPlantable) Blocks.BLOCK_PAPYRUS))) { + world.setBlock(par3 + var28, y, par5 + z, Blocks.BLOCK_PAPYRUS.blockID); var27 = true; } } } - } else if (par2Random.nextInt(5) == 0) { - for (dx = -1; dx <= 1; ++dx) { - for (dz = -1; dz <= 1; ++dz) { + } else if(par2Random.nextInt(5) == 0) { + for(dx = -1; dx <= 1; ++dx) { + for(dz = -1; dz <= 1; ++dz) { int currentY = world.getHeightValue(par3 + var28, par5 + z); - Block belowID = world.getBlock(par3 + var28 + dx, currentY - 1, par5 + z + dz); - Block currentID = world.getBlock(par3 + var28 + dx, currentY, par5 + z + dz); - if (par2Random.nextInt(3) == 0 && belowID == AtumBlocks.BLOCK_FERTILESOIL && currentID == null) { - world.setBlock(par3 + var28 + dx, currentY, par5 + z + dz, AtumBlocks.BLOCK_FLAX, 13, 0); + int belowID = world.getBlockId(par3 + var28 + dx, currentY - 1, par5 + z + dz); + int currentID = world.getBlockId(par3 + var28 + dx, currentY, par5 + z + dz); + if(par2Random.nextInt(3) == 0 && belowID == Blocks.BLOCK_FERTILESOIL.blockID && currentID == 0) { + world.setBlock(par3 + var28 + dx, currentY, par5 + z + dz, Blocks.BLOCK_FLAX.blockID, 13, 0); } } } diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java similarity index 97% rename from src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java rename to src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java index 5db59f4..2bb73c0 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java +++ b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java @@ -3,24 +3,23 @@ import java.util.Random; import net.minecraft.block.Block; -import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; -import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.Blocks; public class WorldGenPalace extends WorldGenerator { - public Block largeLimestoneBricks; - public Block smallLimestoneBricks; - public Block carvedLimestone; - public Block largeLimestoneBricksStairs; + public int largeLimestoneBricks; + public int smallLimestoneBricks; + public int carvedLimestone; + public int largeLimestoneBricksStairs; public WorldGenPalace() { - this.largeLimestoneBricks = AtumBlocks.BLOCK_LARGEBRICK; - this.smallLimestoneBricks = AtumBlocks.BLOCK_SMALLBRICK; - this.carvedLimestone = AtumBlocks.BLOCK_CARVEDBRICK; - this.largeLimestoneBricksStairs = AtumBlocks.BLOCK_LARGESTONESTAIRS; + this.largeLimestoneBricks = Blocks.BLOCK_LARGEBRICK.blockID; + this.smallLimestoneBricks = Blocks.BLOCK_SMALLBRICK.blockID; + this.carvedLimestone = Blocks.BLOCK_CARVEDBRICK.blockID; + this.largeLimestoneBricksStairs = Blocks.BLOCK_LARGESTONESTAIRS.blockID; } @Override @@ -1167,7 +1166,7 @@ public boolean generate(World world, Random random, int i, int j, int k) { world.setBlock(i + 8, j + 6, k + 47, this.largeLimestoneBricks); world.setBlock(i + 8, j + 6, k + 48, this.largeLimestoneBricks); world.setBlock(i + 8, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 16, Blocks.netherrack); + world.setBlock(i + 8, j + 7, k + 16, Block.netherrack.blockID); world.setBlock(i + 8, j + 7, k + 17, this.largeLimestoneBricks); world.setBlock(i + 8, j + 7, k + 19, this.largeLimestoneBricks); world.setBlock(i + 8, j + 7, k + 20, this.largeLimestoneBricks); @@ -1183,33 +1182,33 @@ public boolean generate(World world, Random random, int i, int j, int k) { world.setBlock(i + 8, j + 7, k + 33, this.largeLimestoneBricks); world.setBlock(i + 8, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 8, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 8, k + 16, Blocks.fire); - world.setBlock(i + 8, j + 8, k + 19, Blocks.bookshelf); - world.setBlock(i + 8, j + 8, k + 20, Blocks.bookshelf); - world.setBlock(i + 8, j + 8, k + 21, Blocks.bookshelf); - world.setBlock(i + 8, j + 8, k + 23, Blocks.bookshelf); - world.setBlock(i + 8, j + 8, k + 24, Blocks.bookshelf); - world.setBlock(i + 8, j + 8, k + 25, Blocks.bookshelf); - world.setBlock(i + 8, j + 8, k + 27, Blocks.bookshelf); - world.setBlock(i + 8, j + 8, k + 28, Blocks.bookshelf); - world.setBlock(i + 8, j + 8, k + 29, Blocks.bookshelf); - world.setBlock(i + 8, j + 8, k + 31, Blocks.bookshelf); - world.setBlock(i + 8, j + 8, k + 32, Blocks.bookshelf); - world.setBlock(i + 8, j + 8, k + 33, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 16, Block.fire.blockID); + world.setBlock(i + 8, j + 8, k + 19, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 20, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 21, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 23, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 27, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 28, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 29, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 8, k + 33, Block.bookShelf.blockID); world.setBlock(i + 8, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 8, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 9, k + 19, Blocks.bookshelf); - world.setBlock(i + 8, j + 9, k + 20, Blocks.bookshelf); - world.setBlock(i + 8, j + 9, k + 21, Blocks.bookshelf); - world.setBlock(i + 8, j + 9, k + 23, Blocks.bookshelf); - world.setBlock(i + 8, j + 9, k + 24, Blocks.bookshelf); - world.setBlock(i + 8, j + 9, k + 25, Blocks.bookshelf); - world.setBlock(i + 8, j + 9, k + 27, Blocks.bookshelf); - world.setBlock(i + 8, j + 9, k + 28, Blocks.bookshelf); - world.setBlock(i + 8, j + 9, k + 29, Blocks.bookshelf); - world.setBlock(i + 8, j + 9, k + 31, Blocks.bookshelf); - world.setBlock(i + 8, j + 9, k + 32, Blocks.bookshelf); - world.setBlock(i + 8, j + 9, k + 33, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 19, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 20, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 21, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 23, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 27, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 28, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 29, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 8, j + 9, k + 33, Block.bookShelf.blockID); world.setBlock(i + 8, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 8, j + 10, k + 15, this.largeLimestoneBricks); world.setBlock(i + 8, j + 10, k + 17, this.largeLimestoneBricks); @@ -1460,28 +1459,28 @@ public boolean generate(World world, Random random, int i, int j, int k) { world.setBlock(i + 10, j + 2, k + 43, this.largeLimestoneBricks); world.setBlock(i + 10, j + 2, k + 48, this.largeLimestoneBricks); world.setBlock(i + 10, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 3, k + 22, Blocks.bookshelf); - world.setBlock(i + 10, j + 3, k + 23, Blocks.bookshelf); - world.setBlock(i + 10, j + 3, k + 24, Blocks.bookshelf); - world.setBlock(i + 10, j + 3, k + 25, Blocks.bookshelf); - world.setBlock(i + 10, j + 3, k + 26, Blocks.bookshelf); - world.setBlock(i + 10, j + 3, k + 30, Blocks.bookshelf); - world.setBlock(i + 10, j + 3, k + 31, Blocks.bookshelf); - world.setBlock(i + 10, j + 3, k + 32, Blocks.bookshelf); - world.setBlock(i + 10, j + 3, k + 33, Blocks.bookshelf); - world.setBlock(i + 10, j + 3, k + 34, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 22, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 23, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 26, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 30, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 33, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 3, k + 34, Block.bookShelf.blockID); world.setBlock(i + 10, j + 3, k + 42, this.largeLimestoneBricks); world.setBlock(i + 10, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 4, k + 22, Blocks.bookshelf); - world.setBlock(i + 10, j + 4, k + 23, Blocks.bookshelf); - world.setBlock(i + 10, j + 4, k + 24, Blocks.bookshelf); - world.setBlock(i + 10, j + 4, k + 25, Blocks.bookshelf); - world.setBlock(i + 10, j + 4, k + 26, Blocks.bookshelf); - world.setBlock(i + 10, j + 4, k + 30, Blocks.bookshelf); - world.setBlock(i + 10, j + 4, k + 31, Blocks.bookshelf); - world.setBlock(i + 10, j + 4, k + 32, Blocks.bookshelf); - world.setBlock(i + 10, j + 4, k + 33, Blocks.bookshelf); - world.setBlock(i + 10, j + 4, k + 34, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 22, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 23, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 26, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 30, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 33, Block.bookShelf.blockID); + world.setBlock(i + 10, j + 4, k + 34, Block.bookShelf.blockID); world.setBlock(i + 10, j + 4, k + 42, this.largeLimestoneBricks); world.setBlock(i + 10, j + 5, k + 9, this.largeLimestoneBricks); world.setBlock(i + 10, j + 5, k + 14, this.largeLimestoneBricks); @@ -1688,10 +1687,10 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 11, j + 7, k + 38, this.largeLimestoneBricks); world.setBlock(i + 11, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 11, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 11, j + 8, k + 16, Block.bookShelf.blockID); world.setBlock(i + 11, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 11, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 11, j + 9, k + 16, Block.bookShelf.blockID); world.setBlock(i + 11, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 11, j + 10, k + 15, this.largeLimestoneBricks); world.setBlock(i + 11, j + 10, k + 16, this.largeLimestoneBricks); @@ -1806,10 +1805,10 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 12, j + 7, k + 16, this.largeLimestoneBricks); world.setBlock(i + 12, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 12, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 12, j + 8, k + 16, Block.bookShelf.blockID); world.setBlock(i + 12, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 12, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 12, j + 9, k + 16, Block.bookShelf.blockID); world.setBlock(i + 12, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 12, j + 10, k + 15, this.largeLimestoneBricks); world.setBlock(i + 12, j + 10, k + 16, this.largeLimestoneBricks); @@ -1947,10 +1946,10 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 13, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 13, j + 7, k + 43, this.largeLimestoneBricks); world.setBlock(i + 13, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 13, j + 8, k + 16, Block.bookShelf.blockID); world.setBlock(i + 13, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 13, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 13, j + 9, k + 16, Block.bookShelf.blockID); world.setBlock(i + 13, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 13, j + 10, k + 14, this.largeLimestoneBricks); world.setBlock(i + 13, j + 10, k + 15, this.largeLimestoneBricks); @@ -2046,11 +2045,11 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 14, j + 1, k + 47, this.largeLimestoneBricks); world.setBlock(i + 14, j + 1, k + 48, this.largeLimestoneBricks); world.setBlock(i + 14, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 2, k + 4, Blocks.netherrack); + world.setBlock(i + 14, j + 2, k + 4, Block.netherrack.blockID); world.setBlock(i + 14, j + 2, k + 14, this.largeLimestoneBricks); world.setBlock(i + 14, j + 2, k + 15, this.largeLimestoneBricks); world.setBlock(i + 14, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 3, k + 4, Blocks.fire); + world.setBlock(i + 14, j + 3, k + 4, Block.fire.blockID); world.setBlock(i + 14, j + 3, k + 15, this.largeLimestoneBricks); world.setBlock(i + 14, j + 3, k + 42, this.largeLimestoneBricks); world.setBlock(i + 14, j + 4, k + 15, this.largeLimestoneBricks); @@ -2083,10 +2082,10 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 14, j + 7, k + 41, this.largeLimestoneBricks); world.setBlock(i + 14, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 14, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 8, k + 41, Blocks.bookshelf); + world.setBlock(i + 14, j + 8, k + 41, Block.bookShelf.blockID); world.setBlock(i + 14, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 14, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 9, k + 41, Blocks.bookshelf); + world.setBlock(i + 14, j + 9, k + 41, Block.bookShelf.blockID); world.setBlock(i + 14, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 14, j + 10, k + 15, this.largeLimestoneBricks); world.setBlock(i + 14, j + 10, k + 41, this.largeLimestoneBricks); @@ -2182,19 +2181,19 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 15, j + 1, k + 49, this.largeLimestoneBricks); world.setBlock(i + 15, j + 2, k + 14, this.largeLimestoneBricks); world.setBlock(i + 15, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 2, k + 24, Blocks.bookshelf); - world.setBlock(i + 15, j + 2, k + 25, Blocks.bookshelf); - world.setBlock(i + 15, j + 2, k + 31, Blocks.bookshelf); - world.setBlock(i + 15, j + 2, k + 32, Blocks.bookshelf); + world.setBlock(i + 15, j + 2, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 2, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 2, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 2, k + 32, Block.bookShelf.blockID); world.setBlock(i + 15, j + 2, k + 39, this.largeLimestoneBricks); world.setBlock(i + 15, j + 2, k + 42, this.largeLimestoneBricks); world.setBlock(i + 15, j + 3, k + 14, this.largeLimestoneBricks); world.setBlock(i + 15, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 3, k + 39, Blocks.bookshelf); + world.setBlock(i + 15, j + 3, k + 39, Block.bookShelf.blockID); world.setBlock(i + 15, j + 3, k + 42, this.largeLimestoneBricks); world.setBlock(i + 15, j + 4, k + 14, this.largeLimestoneBricks); world.setBlock(i + 15, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 4, k + 39, Blocks.bookshelf); + world.setBlock(i + 15, j + 4, k + 39, Block.bookShelf.blockID); world.setBlock(i + 15, j + 4, k + 42, this.largeLimestoneBricks); world.setBlock(i + 15, j + 5, k + 14, this.largeLimestoneBricks); world.setBlock(i + 15, j + 5, k + 15, this.largeLimestoneBricks); @@ -2227,12 +2226,12 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 15, j + 7, k + 41, this.largeLimestoneBricks); world.setBlock(i + 15, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 15, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 8, k + 16, Blocks.bookshelf); - world.setBlock(i + 15, j + 8, k + 41, Blocks.bookshelf); + world.setBlock(i + 15, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 8, k + 41, Block.bookShelf.blockID); world.setBlock(i + 15, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 15, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 9, k + 16, Blocks.bookshelf); - world.setBlock(i + 15, j + 9, k + 41, Blocks.bookshelf); + world.setBlock(i + 15, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 15, j + 9, k + 41, Block.bookShelf.blockID); world.setBlock(i + 15, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 15, j + 10, k + 15, this.largeLimestoneBricks); world.setBlock(i + 15, j + 10, k + 16, this.largeLimestoneBricks); @@ -2319,12 +2318,12 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 16, j + 2, k + 13, this.largeLimestoneBricks); world.setBlock(i + 16, j + 2, k + 14, this.largeLimestoneBricks); world.setBlock(i + 16, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 24, Blocks.bookshelf); + world.setBlock(i + 16, j + 2, k + 24, Block.bookShelf.blockID); world.setBlock(i + 16, j + 2, k + 25, this.largeLimestoneBricks); world.setBlock(i + 16, j + 2, k + 26, this.largeLimestoneBricks); world.setBlock(i + 16, j + 2, k + 30, this.largeLimestoneBricks); world.setBlock(i + 16, j + 2, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 32, Blocks.bookshelf); + world.setBlock(i + 16, j + 2, k + 32, Block.bookShelf.blockID); world.setBlock(i + 16, j + 2, k + 39, this.largeLimestoneBricks); world.setBlock(i + 16, j + 2, k + 42, this.largeLimestoneBricks); world.setBlock(i + 16, j + 2, k + 43, this.largeLimestoneBricks); @@ -2333,11 +2332,11 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 16, j + 3, k + 15, this.largeLimestoneBricks); world.setBlock(i + 16, j + 3, k + 25, this.largeLimestoneBricks); world.setBlock(i + 16, j + 3, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 3, k + 39, Blocks.bookshelf); + world.setBlock(i + 16, j + 3, k + 39, Block.bookShelf.blockID); world.setBlock(i + 16, j + 3, k + 42, this.largeLimestoneBricks); world.setBlock(i + 16, j + 4, k + 14, this.largeLimestoneBricks); world.setBlock(i + 16, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 4, k + 39, Blocks.bookshelf); + world.setBlock(i + 16, j + 4, k + 39, Block.bookShelf.blockID); world.setBlock(i + 16, j + 4, k + 42, this.largeLimestoneBricks); world.setBlock(i + 16, j + 5, k + 9, this.largeLimestoneBricks); world.setBlock(i + 16, j + 5, k + 13, this.largeLimestoneBricks); @@ -2376,12 +2375,12 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 16, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 16, j + 7, k + 43, this.largeLimestoneBricks); world.setBlock(i + 16, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 8, k + 16, Blocks.bookshelf); - world.setBlock(i + 16, j + 8, k + 41, Blocks.bookshelf); + world.setBlock(i + 16, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 16, j + 8, k + 41, Block.bookShelf.blockID); world.setBlock(i + 16, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 16, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 9, k + 16, Blocks.bookshelf); - world.setBlock(i + 16, j + 9, k + 41, Blocks.bookshelf); + world.setBlock(i + 16, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 16, j + 9, k + 41, Block.bookShelf.blockID); world.setBlock(i + 16, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 16, j + 10, k + 14, this.largeLimestoneBricks); world.setBlock(i + 16, j + 10, k + 15, this.largeLimestoneBricks); @@ -2482,13 +2481,13 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 17, j + 3, k + 14, this.largeLimestoneBricks); world.setBlock(i + 17, j + 3, k + 15, this.largeLimestoneBricks); world.setBlock(i + 17, j + 3, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 3, k + 39, Blocks.bookshelf); + world.setBlock(i + 17, j + 3, k + 39, Block.bookShelf.blockID); world.setBlock(i + 17, j + 3, k + 42, this.largeLimestoneBricks); world.setBlock(i + 17, j + 4, k + 13, this.largeLimestoneBricks); world.setBlock(i + 17, j + 4, k + 14, this.largeLimestoneBricks); world.setBlock(i + 17, j + 4, k + 15, this.largeLimestoneBricks); world.setBlock(i + 17, j + 4, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 4, k + 39, Blocks.bookshelf); + world.setBlock(i + 17, j + 4, k + 39, Block.bookShelf.blockID); world.setBlock(i + 17, j + 4, k + 42, this.largeLimestoneBricks); world.setBlock(i + 17, j + 5, k + 12, this.largeLimestoneBricks); world.setBlock(i + 17, j + 5, k + 13, this.largeLimestoneBricks); @@ -2522,10 +2521,10 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 17, j + 7, k + 16, this.largeLimestoneBricks); world.setBlock(i + 17, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 17, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 17, j + 8, k + 16, Block.bookShelf.blockID); world.setBlock(i + 17, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 17, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 17, j + 9, k + 16, Block.bookShelf.blockID); world.setBlock(i + 17, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 17, j + 10, k + 15, this.largeLimestoneBricks); world.setBlock(i + 17, j + 10, k + 16, this.largeLimestoneBricks); @@ -2648,12 +2647,12 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 18, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 18, j + 8, k + 14, this.largeLimestoneBricks); world.setBlock(i + 18, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 8, k + 41, Blocks.bookshelf); + world.setBlock(i + 18, j + 8, k + 41, Block.bookShelf.blockID); world.setBlock(i + 18, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 18, j + 9, k + 13, this.largeLimestoneBricks); world.setBlock(i + 18, j + 9, k + 14, this.largeLimestoneBricks); world.setBlock(i + 18, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 9, k + 41, Blocks.bookshelf); + world.setBlock(i + 18, j + 9, k + 41, Block.bookShelf.blockID); world.setBlock(i + 18, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 18, j + 10, k + 14, this.largeLimestoneBricks); world.setBlock(i + 18, j + 10, k + 15, this.largeLimestoneBricks); @@ -2778,12 +2777,12 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 19, j + 7, k + 41, this.largeLimestoneBricks); world.setBlock(i + 19, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 19, j + 7, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 8, k + 41, Blocks.bookshelf); + world.setBlock(i + 19, j + 8, k + 41, Block.bookShelf.blockID); world.setBlock(i + 19, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 19, j + 9, k + 13, this.carvedLimestone); world.setBlock(i + 19, j + 9, k + 14, this.largeLimestoneBricks); world.setBlock(i + 19, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 9, k + 41, Blocks.bookshelf); + world.setBlock(i + 19, j + 9, k + 41, Block.bookShelf.blockID); world.setBlock(i + 19, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 19, j + 10, k + 13, this.largeLimestoneBricks); world.setBlock(i + 19, j + 10, k + 14, this.largeLimestoneBricks); @@ -2910,12 +2909,12 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 20, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 20, j + 8, k + 14, this.largeLimestoneBricks); world.setBlock(i + 20, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 8, k + 41, Blocks.bookshelf); + world.setBlock(i + 20, j + 8, k + 41, Block.bookShelf.blockID); world.setBlock(i + 20, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 20, j + 9, k + 13, this.largeLimestoneBricks); world.setBlock(i + 20, j + 9, k + 14, this.largeLimestoneBricks); world.setBlock(i + 20, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 9, k + 41, Blocks.bookshelf); + world.setBlock(i + 20, j + 9, k + 41, Block.bookShelf.blockID); world.setBlock(i + 20, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 20, j + 10, k + 14, this.largeLimestoneBricks); world.setBlock(i + 20, j + 10, k + 15, this.largeLimestoneBricks); @@ -3015,13 +3014,13 @@ public boolean generate2(World world, Random rand, int i, int j, int k) { world.setBlock(i + 21, j + 3, k + 14, this.largeLimestoneBricks); world.setBlock(i + 21, j + 3, k + 15, this.largeLimestoneBricks); world.setBlock(i + 21, j + 3, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 3, k + 39, Blocks.bookshelf); + world.setBlock(i + 21, j + 3, k + 39, Block.bookShelf.blockID); world.setBlock(i + 21, j + 3, k + 42, this.largeLimestoneBricks); world.setBlock(i + 21, j + 4, k + 13, this.largeLimestoneBricks); world.setBlock(i + 21, j + 4, k + 14, this.largeLimestoneBricks); world.setBlock(i + 21, j + 4, k + 15, this.largeLimestoneBricks); world.setBlock(i + 21, j + 4, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 4, k + 39, Blocks.bookshelf); + world.setBlock(i + 21, j + 4, k + 39, Block.bookShelf.blockID); world.setBlock(i + 21, j + 4, k + 42, this.largeLimestoneBricks); world.setBlock(i + 21, j + 5, k + 12, this.largeLimestoneBricks); world.setBlock(i + 21, j + 5, k + 13, this.largeLimestoneBricks); @@ -3060,10 +3059,10 @@ public boolean generate3(World world, Random rand, int i, int j, int k) { world.setBlock(i + 21, j + 7, k + 16, this.largeLimestoneBricks); world.setBlock(i + 21, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 21, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 21, j + 8, k + 16, Block.bookShelf.blockID); world.setBlock(i + 21, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 21, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 21, j + 9, k + 16, Block.bookShelf.blockID); world.setBlock(i + 21, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 21, j + 10, k + 15, this.largeLimestoneBricks); world.setBlock(i + 21, j + 10, k + 16, this.largeLimestoneBricks); @@ -3149,12 +3148,12 @@ public boolean generate3(World world, Random rand, int i, int j, int k) { world.setBlock(i + 22, j + 2, k + 13, this.largeLimestoneBricks); world.setBlock(i + 22, j + 2, k + 14, this.largeLimestoneBricks); world.setBlock(i + 22, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 24, Blocks.bookshelf); + world.setBlock(i + 22, j + 2, k + 24, Block.bookShelf.blockID); world.setBlock(i + 22, j + 2, k + 25, this.largeLimestoneBricks); world.setBlock(i + 22, j + 2, k + 26, this.largeLimestoneBricks); world.setBlock(i + 22, j + 2, k + 30, this.largeLimestoneBricks); world.setBlock(i + 22, j + 2, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 32, Blocks.bookshelf); + world.setBlock(i + 22, j + 2, k + 32, Block.bookShelf.blockID); world.setBlock(i + 22, j + 2, k + 39, this.largeLimestoneBricks); world.setBlock(i + 22, j + 2, k + 42, this.largeLimestoneBricks); world.setBlock(i + 22, j + 2, k + 43, this.largeLimestoneBricks); @@ -3163,11 +3162,11 @@ public boolean generate3(World world, Random rand, int i, int j, int k) { world.setBlock(i + 22, j + 3, k + 15, this.largeLimestoneBricks); world.setBlock(i + 22, j + 3, k + 25, this.largeLimestoneBricks); world.setBlock(i + 22, j + 3, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 3, k + 39, Blocks.bookshelf); + world.setBlock(i + 22, j + 3, k + 39, Block.bookShelf.blockID); world.setBlock(i + 22, j + 3, k + 42, this.largeLimestoneBricks); world.setBlock(i + 22, j + 4, k + 14, this.largeLimestoneBricks); world.setBlock(i + 22, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 4, k + 39, Blocks.bookshelf); + world.setBlock(i + 22, j + 4, k + 39, Block.bookShelf.blockID); world.setBlock(i + 22, j + 4, k + 42, this.largeLimestoneBricks); world.setBlock(i + 22, j + 5, k + 9, this.largeLimestoneBricks); world.setBlock(i + 22, j + 5, k + 13, this.largeLimestoneBricks); @@ -3206,12 +3205,12 @@ public boolean generate3(World world, Random rand, int i, int j, int k) { world.setBlock(i + 22, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 22, j + 7, k + 43, this.largeLimestoneBricks); world.setBlock(i + 22, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 8, k + 16, Blocks.bookshelf); - world.setBlock(i + 22, j + 8, k + 41, Blocks.bookshelf); + world.setBlock(i + 22, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 22, j + 8, k + 41, Block.bookShelf.blockID); world.setBlock(i + 22, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 22, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 9, k + 16, Blocks.bookshelf); - world.setBlock(i + 22, j + 9, k + 41, Blocks.bookshelf); + world.setBlock(i + 22, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 22, j + 9, k + 41, Block.bookShelf.blockID); world.setBlock(i + 22, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 22, j + 10, k + 14, this.largeLimestoneBricks); world.setBlock(i + 22, j + 10, k + 15, this.largeLimestoneBricks); @@ -3310,17 +3309,17 @@ public boolean generate3(World world, Random rand, int i, int j, int k) { world.setBlock(i + 23, j + 1, k + 49, this.largeLimestoneBricks); world.setBlock(i + 23, j + 2, k + 14, this.largeLimestoneBricks); world.setBlock(i + 23, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 2, k + 24, Blocks.bookshelf); - world.setBlock(i + 23, j + 2, k + 25, Blocks.bookshelf); - world.setBlock(i + 23, j + 2, k + 31, Blocks.bookshelf); - world.setBlock(i + 23, j + 2, k + 32, Blocks.bookshelf); + world.setBlock(i + 23, j + 2, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 2, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 2, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 2, k + 32, Block.bookShelf.blockID); world.setBlock(i + 23, j + 2, k + 39, this.largeLimestoneBricks); world.setBlock(i + 23, j + 2, k + 42, this.largeLimestoneBricks); world.setBlock(i + 23, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 3, k + 39, Blocks.bookshelf); + world.setBlock(i + 23, j + 3, k + 39, Block.bookShelf.blockID); world.setBlock(i + 23, j + 3, k + 42, this.largeLimestoneBricks); world.setBlock(i + 23, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 4, k + 39, Blocks.bookshelf); + world.setBlock(i + 23, j + 4, k + 39, Block.bookShelf.blockID); world.setBlock(i + 23, j + 4, k + 42, this.largeLimestoneBricks); world.setBlock(i + 23, j + 5, k + 14, this.largeLimestoneBricks); world.setBlock(i + 23, j + 5, k + 15, this.largeLimestoneBricks); @@ -3353,12 +3352,12 @@ public boolean generate3(World world, Random rand, int i, int j, int k) { world.setBlock(i + 23, j + 7, k + 41, this.largeLimestoneBricks); world.setBlock(i + 23, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 23, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 8, k + 16, Blocks.bookshelf); - world.setBlock(i + 23, j + 8, k + 41, Blocks.bookshelf); + world.setBlock(i + 23, j + 8, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 8, k + 41, Block.bookShelf.blockID); world.setBlock(i + 23, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 23, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 9, k + 16, Blocks.bookshelf); - world.setBlock(i + 23, j + 9, k + 41, Blocks.bookshelf); + world.setBlock(i + 23, j + 9, k + 16, Block.bookShelf.blockID); + world.setBlock(i + 23, j + 9, k + 41, Block.bookShelf.blockID); world.setBlock(i + 23, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 23, j + 10, k + 15, this.largeLimestoneBricks); world.setBlock(i + 23, j + 10, k + 16, this.largeLimestoneBricks); @@ -3453,10 +3452,10 @@ public boolean generate3(World world, Random rand, int i, int j, int k) { world.setBlock(i + 24, j + 1, k + 47, this.largeLimestoneBricks); world.setBlock(i + 24, j + 1, k + 48, this.largeLimestoneBricks); world.setBlock(i + 24, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 2, k + 4, Blocks.netherrack); + world.setBlock(i + 24, j + 2, k + 4, Block.netherrack.blockID); world.setBlock(i + 24, j + 2, k + 15, this.largeLimestoneBricks); world.setBlock(i + 24, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 3, k + 4, Blocks.fire); + world.setBlock(i + 24, j + 3, k + 4, Block.fire.blockID); world.setBlock(i + 24, j + 3, k + 15, this.largeLimestoneBricks); world.setBlock(i + 24, j + 3, k + 42, this.largeLimestoneBricks); world.setBlock(i + 24, j + 4, k + 15, this.largeLimestoneBricks); @@ -3489,10 +3488,10 @@ public boolean generate3(World world, Random rand, int i, int j, int k) { world.setBlock(i + 24, j + 7, k + 41, this.largeLimestoneBricks); world.setBlock(i + 24, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 24, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 8, k + 41, Blocks.bookshelf); + world.setBlock(i + 24, j + 8, k + 41, Block.bookShelf.blockID); world.setBlock(i + 24, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 24, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 9, k + 41, Blocks.bookshelf); + world.setBlock(i + 24, j + 9, k + 41, Block.bookShelf.blockID); world.setBlock(i + 24, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 24, j + 10, k + 15, this.largeLimestoneBricks); world.setBlock(i + 24, j + 10, k + 41, this.largeLimestoneBricks); @@ -3630,10 +3629,10 @@ public boolean generate3(World world, Random rand, int i, int j, int k) { world.setBlock(i + 25, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 25, j + 7, k + 43, this.largeLimestoneBricks); world.setBlock(i + 25, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 25, j + 8, k + 16, Block.bookShelf.blockID); world.setBlock(i + 25, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 25, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 25, j + 9, k + 16, Block.bookShelf.blockID); world.setBlock(i + 25, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 25, j + 10, k + 14, this.largeLimestoneBricks); world.setBlock(i + 25, j + 10, k + 15, this.largeLimestoneBricks); @@ -3748,10 +3747,10 @@ public boolean generate3(World world, Random rand, int i, int j, int k) { world.setBlock(i + 26, j + 7, k + 16, this.largeLimestoneBricks); world.setBlock(i + 26, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 26, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 26, j + 8, k + 16, Block.bookShelf.blockID); world.setBlock(i + 26, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 26, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 26, j + 9, k + 16, Block.bookShelf.blockID); world.setBlock(i + 26, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 26, j + 10, k + 15, this.largeLimestoneBricks); world.setBlock(i + 26, j + 10, k + 16, this.largeLimestoneBricks); @@ -3888,10 +3887,10 @@ public boolean generate3(World world, Random rand, int i, int j, int k) { world.setBlock(i + 27, j + 7, k + 38, this.largeLimestoneBricks); world.setBlock(i + 27, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 27, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 27, j + 8, k + 16, Block.bookShelf.blockID); world.setBlock(i + 27, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 27, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 27, j + 9, k + 16, Block.bookShelf.blockID); world.setBlock(i + 27, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 27, j + 10, k + 15, this.largeLimestoneBricks); world.setBlock(i + 27, j + 10, k + 16, this.largeLimestoneBricks); @@ -3989,28 +3988,28 @@ public boolean generate3(World world, Random rand, int i, int j, int k) { world.setBlock(i + 28, j + 2, k + 43, this.largeLimestoneBricks); world.setBlock(i + 28, j + 2, k + 48, this.largeLimestoneBricks); world.setBlock(i + 28, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 3, k + 22, Blocks.bookshelf); - world.setBlock(i + 28, j + 3, k + 23, Blocks.bookshelf); - world.setBlock(i + 28, j + 3, k + 24, Blocks.bookshelf); - world.setBlock(i + 28, j + 3, k + 25, Blocks.bookshelf); - world.setBlock(i + 28, j + 3, k + 26, Blocks.bookshelf); - world.setBlock(i + 28, j + 3, k + 30, Blocks.bookshelf); - world.setBlock(i + 28, j + 3, k + 31, Blocks.bookshelf); - world.setBlock(i + 28, j + 3, k + 32, Blocks.bookshelf); - world.setBlock(i + 28, j + 3, k + 33, Blocks.bookshelf); - world.setBlock(i + 28, j + 3, k + 34, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 22, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 23, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 26, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 30, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 33, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 3, k + 34, Block.bookShelf.blockID); world.setBlock(i + 28, j + 3, k + 42, this.largeLimestoneBricks); world.setBlock(i + 28, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 4, k + 22, Blocks.bookshelf); - world.setBlock(i + 28, j + 4, k + 23, Blocks.bookshelf); - world.setBlock(i + 28, j + 4, k + 24, Blocks.bookshelf); - world.setBlock(i + 28, j + 4, k + 25, Blocks.bookshelf); - world.setBlock(i + 28, j + 4, k + 26, Blocks.bookshelf); - world.setBlock(i + 28, j + 4, k + 30, Blocks.bookshelf); - world.setBlock(i + 28, j + 4, k + 31, Blocks.bookshelf); - world.setBlock(i + 28, j + 4, k + 32, Blocks.bookshelf); - world.setBlock(i + 28, j + 4, k + 33, Blocks.bookshelf); - world.setBlock(i + 28, j + 4, k + 34, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 22, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 23, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 26, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 30, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 33, Block.bookShelf.blockID); + world.setBlock(i + 28, j + 4, k + 34, Block.bookShelf.blockID); world.setBlock(i + 28, j + 4, k + 42, this.largeLimestoneBricks); world.setBlock(i + 28, j + 5, k + 9, this.largeLimestoneBricks); world.setBlock(i + 28, j + 5, k + 14, this.largeLimestoneBricks); @@ -4353,7 +4352,7 @@ public boolean generate3(World world, Random rand, int i, int j, int k) { world.setBlock(i + 30, j + 6, k + 47, this.largeLimestoneBricks); world.setBlock(i + 30, j + 6, k + 48, this.largeLimestoneBricks); world.setBlock(i + 30, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 16, Blocks.netherrack); + world.setBlock(i + 30, j + 7, k + 16, Block.netherrack.blockID); world.setBlock(i + 30, j + 7, k + 17, this.largeLimestoneBricks); world.setBlock(i + 30, j + 7, k + 19, this.largeLimestoneBricks); world.setBlock(i + 30, j + 7, k + 20, this.largeLimestoneBricks); @@ -4369,33 +4368,33 @@ public boolean generate3(World world, Random rand, int i, int j, int k) { world.setBlock(i + 30, j + 7, k + 33, this.largeLimestoneBricks); world.setBlock(i + 30, j + 7, k + 42, this.largeLimestoneBricks); world.setBlock(i + 30, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 8, k + 16, Blocks.fire); - world.setBlock(i + 30, j + 8, k + 19, Blocks.bookshelf); - world.setBlock(i + 30, j + 8, k + 20, Blocks.bookshelf); - world.setBlock(i + 30, j + 8, k + 21, Blocks.bookshelf); - world.setBlock(i + 30, j + 8, k + 23, Blocks.bookshelf); - world.setBlock(i + 30, j + 8, k + 24, Blocks.bookshelf); - world.setBlock(i + 30, j + 8, k + 25, Blocks.bookshelf); - world.setBlock(i + 30, j + 8, k + 27, Blocks.bookshelf); - world.setBlock(i + 30, j + 8, k + 28, Blocks.bookshelf); - world.setBlock(i + 30, j + 8, k + 29, Blocks.bookshelf); - world.setBlock(i + 30, j + 8, k + 31, Blocks.bookshelf); - world.setBlock(i + 30, j + 8, k + 32, Blocks.bookshelf); - world.setBlock(i + 30, j + 8, k + 33, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 16, Block.fire.blockID); + world.setBlock(i + 30, j + 8, k + 19, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 20, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 21, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 23, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 27, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 28, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 29, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 8, k + 33, Block.bookShelf.blockID); world.setBlock(i + 30, j + 8, k + 42, this.largeLimestoneBricks); world.setBlock(i + 30, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 9, k + 19, Blocks.bookshelf); - world.setBlock(i + 30, j + 9, k + 20, Blocks.bookshelf); - world.setBlock(i + 30, j + 9, k + 21, Blocks.bookshelf); - world.setBlock(i + 30, j + 9, k + 23, Blocks.bookshelf); - world.setBlock(i + 30, j + 9, k + 24, Blocks.bookshelf); - world.setBlock(i + 30, j + 9, k + 25, Blocks.bookshelf); - world.setBlock(i + 30, j + 9, k + 27, Blocks.bookshelf); - world.setBlock(i + 30, j + 9, k + 28, Blocks.bookshelf); - world.setBlock(i + 30, j + 9, k + 29, Blocks.bookshelf); - world.setBlock(i + 30, j + 9, k + 31, Blocks.bookshelf); - world.setBlock(i + 30, j + 9, k + 32, Blocks.bookshelf); - world.setBlock(i + 30, j + 9, k + 33, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 19, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 20, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 21, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 23, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 24, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 25, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 27, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 28, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 29, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 31, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 32, Block.bookShelf.blockID); + world.setBlock(i + 30, j + 9, k + 33, Block.bookShelf.blockID); world.setBlock(i + 30, j + 9, k + 42, this.largeLimestoneBricks); world.setBlock(i + 30, j + 10, k + 15, this.largeLimestoneBricks); world.setBlock(i + 30, j + 10, k + 16, this.largeLimestoneBricks); @@ -5739,7 +5738,7 @@ public boolean generate4(World world, Random rand, int i, int j, int k) { world.setBlockMetadataWithNotify(i + 11, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); world.setBlockMetadataWithNotify(i + 11, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); world.setBlockMetadataWithNotify(i + 11, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 11, j + 7, k + 28, Block.torchWood, 5); + world.setBlockMetadataWithNotify(i + 11, j + 7, k + 28, Block.torchWood.blockID, 5); world.setBlockMetadataWithNotify(i + 11, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); world.setBlock(i + 11, j + 8, k + 19, this.smallLimestoneBricks); world.setBlock(i + 11, j + 8, k + 38, this.smallLimestoneBricks); @@ -5812,9 +5811,9 @@ public boolean generate4(World world, Random rand, int i, int j, int k) { world.setBlockMetadataWithNotify(i + 17, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); world.setBlockMetadataWithNotify(i + 17, j + 2, k + 24, this.largeLimestoneBricksStairs, 2); world.setBlockMetadataWithNotify(i + 17, j + 2, k + 32, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 17, j + 3, k + 12, Block.torchWood, 4); - world.setBlockMetadataWithNotify(i + 17, j + 3, k + 26, Block.torchWood, 5); - world.setBlockMetadataWithNotify(i + 17, j + 3, k + 30, Block.torchWood, 5); + world.setBlockMetadataWithNotify(i + 17, j + 3, k + 12, Block.torchWood.blockID, 4); + world.setBlockMetadataWithNotify(i + 17, j + 3, k + 26, Block.torchWood.blockID, 5); + world.setBlockMetadataWithNotify(i + 17, j + 3, k + 30, Block.torchWood.blockID, 5); world.setBlockMetadataWithNotify(i + 17, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); world.setBlockMetadataWithNotify(i + 17, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); world.setBlockMetadataWithNotify(i + 17, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); @@ -5824,7 +5823,7 @@ public boolean generate4(World world, Random rand, int i, int j, int k) { world.setBlockMetadataWithNotify(i + 18, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); world.setBlockMetadataWithNotify(i + 18, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); world.setBlock(i + 18, j + 2, k + 14, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 18, j + 2, k + 17, Block.torchWood, 5); + world.setBlockMetadataWithNotify(i + 18, j + 2, k + 17, Block.torchWood.blockID, 5); world.setBlockMetadataWithNotify(i + 18, j + 2, k + 25, this.largeLimestoneBricksStairs, 2); world.setBlockMetadataWithNotify(i + 18, j + 2, k + 31, this.largeLimestoneBricksStairs, 3); world.setBlock(i + 18, j + 3, k + 14, this.smallLimestoneBricks); @@ -5851,8 +5850,8 @@ public boolean generate4(World world, Random rand, int i, int j, int k) { world.setBlockMetadataWithNotify(i + 19, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); world.setBlockMetadataWithNotify(i + 19, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); world.setBlockMetadataWithNotify(i + 19, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 19, j + 7, k + 19, Block.torchWood, 5); - world.setBlockMetadataWithNotify(i + 19, j + 7, k + 38, Block.torchWood, 5); + world.setBlockMetadataWithNotify(i + 19, j + 7, k + 19, Block.torchWood.blockID, 5); + world.setBlockMetadataWithNotify(i + 19, j + 7, k + 38, Block.torchWood.blockID, 5); world.setBlockMetadataWithNotify(i + 19, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); world.setBlock(i + 19, j + 8, k + 43, this.smallLimestoneBricks); world.setBlockMetadataWithNotify(i + 19, j + 9, k + 16, this.largeLimestoneBricksStairs, 7); @@ -5877,9 +5876,9 @@ public boolean generate4(World world, Random rand, int i, int j, int k) { world.setBlockMetadataWithNotify(i + 21, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); world.setBlockMetadataWithNotify(i + 21, j + 2, k + 24, this.largeLimestoneBricksStairs, 2); world.setBlockMetadataWithNotify(i + 21, j + 2, k + 32, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 21, j + 3, k + 12, Block.torchWood, 4); - world.setBlockMetadataWithNotify(i + 21, j + 3, k + 26, Block.torchWood, 5); - world.setBlockMetadataWithNotify(i + 21, j + 3, k + 30, Block.torchWood, 5); + world.setBlockMetadataWithNotify(i + 21, j + 3, k + 12, Block.torchWood.blockID, 4); + world.setBlockMetadataWithNotify(i + 21, j + 3, k + 26, Block.torchWood.blockID, 5); + world.setBlockMetadataWithNotify(i + 21, j + 3, k + 30, Block.torchWood.blockID, 5); world.setBlockMetadataWithNotify(i + 21, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); world.setBlockMetadataWithNotify(i + 21, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); world.setBlockMetadataWithNotify(i + 21, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); @@ -5956,7 +5955,7 @@ public boolean generate4(World world, Random rand, int i, int j, int k) { world.setBlockMetadataWithNotify(i + 27, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); world.setBlockMetadataWithNotify(i + 27, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); world.setBlockMetadataWithNotify(i + 27, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 27, j + 7, k + 28, Block.torchWood, 5); + world.setBlockMetadataWithNotify(i + 27, j + 7, k + 28, Block.torchWood.blockID, 5); world.setBlockMetadataWithNotify(i + 27, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); world.setBlock(i + 27, j + 8, k + 19, this.smallLimestoneBricks); world.setBlock(i + 27, j + 8, k + 38, this.smallLimestoneBricks); diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java similarity index 70% rename from src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java rename to src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java index 06995ac..bbda595 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java +++ b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java @@ -3,11 +3,10 @@ import java.util.Random; import net.minecraft.block.Block; -import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; -import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.Blocks; public class WorldGenPalm extends WorldGenerator { @@ -30,11 +29,11 @@ public WorldGenPalm(boolean par1, int par2, int par3, int par4) { public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) { int l = par2Random.nextInt(3) + this.minTreeHeight; boolean flag = true; - Block id = par1World.getBlock(par3, par4 - 1, par5); - if((id == AtumBlocks.BLOCK_SAND || id == AtumBlocks.BLOCK_FERTILESOIL || id == Blocks.dirt) && par4 >= 1 && par4 + l + 1 <= 256) { + int id = par1World.getBlockId(par3, par4 - 1, par5); + if((id == Blocks.BLOCK_SAND.blockID || id == Blocks.BLOCK_FERTILESOIL.blockID || id == Block.dirt.blockID) && par4 >= 1 && par4 + l + 1 <= 256) { int i1; int j1; - Block block; + int k1; for(i1 = par4; i1 <= par4 + 1 + l; ++i1) { byte b0 = 1; if(i1 == par4) { @@ -48,8 +47,9 @@ public boolean generate(World par1World, Random par2Random, int par3, int par4, for(int soil = par3 - b0; soil <= par3 + b0 && flag; ++soil) { for(j1 = par5 - b0; j1 <= par5 + b0 && flag; ++j1) { if(i1 >= 0 && i1 < 256) { - block = par1World.getBlock(soil, i1, j1); - if(block != null && !block.isLeaves(par1World, soil, i1, j1) && block != AtumBlocks.BLOCK_FERTILESOIL && block != Blocks.dirt && !block.isWood(par1World, soil, i1, j1)) { + k1 = par1World.getBlockId(soil, i1, j1); + Block b1 = Block.blocksList[k1]; + if(k1 != 0 && !b1.isLeaves(par1World, soil, i1, j1) && k1 != Blocks.BLOCK_FERTILESOIL.blockID && k1 != Block.dirt.blockID && !b1.isWood(par1World, soil, i1, j1)) { flag = false; } } else { @@ -62,7 +62,7 @@ public boolean generate(World par1World, Random par2Random, int par3, int par4, if(!flag) { return false; } else { - i1 = par1World.getBlock(par3, par4 - 1, par5); + i1 = par1World.getBlockId(par3, par4 - 1, par5); Block var21 = Block.blocksList[i1]; if(par4 >= 256 - l - 1) { return false; @@ -96,26 +96,26 @@ public boolean generate(World par1World, Random par2Random, int par3, int par4, this.spawnLeaf(par1World, par3 + 3, par4 + l - 1, par5); this.spawnLeaf(par1World, par3 - 3, par4 + l - 1, par5); if(par2Random.nextInt(100) < 15) { - par1World.setBlock(par3 + 1, par4 + l - 1, par5, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); + par1World.setBlock(par3 + 1, par4 + l - 1, par5, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); } if(par2Random.nextInt(100) < 15) { - par1World.setBlock(par3 - 1, par4 + l - 1, par5, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); + par1World.setBlock(par3 - 1, par4 + l - 1, par5, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); } if(par2Random.nextInt(100) < 15) { - par1World.setBlock(par3, par4 + l - 1, par5 + 1, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); + par1World.setBlock(par3, par4 + l - 1, par5 + 1, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); } if(par2Random.nextInt(100) < 15) { - par1World.setBlock(par3, par4 + l - 1, par5 - 1, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); + par1World.setBlock(par3, par4 + l - 1, par5 - 1, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); } for(j1 = 0; j1 <= l; ++j1) { - block = par1World.getBlockId(par3, par4 + j1, par5); - Block var23 = Block.blocksList[block]; - if(block == 0 || var23 == null || var23.isLeaves(par1World, par3, par4 + j1, par5)) { - this.setBlockAndMetadata(par1World, par3, par4 + j1, par5, AtumBlocks.BLOCK_LOG, this.metaWood); + k1 = par1World.getBlockId(par3, par4 + j1, par5); + Block var23 = Block.blocksList[k1]; + if(k1 == 0 || var23 == null || var23.isLeaves(par1World, par3, par4 + j1, par5)) { + this.setBlockAndMetadata(par1World, par3, par4 + j1, par5, Blocks.BLOCK_LOG.blockID, this.metaWood); } } @@ -131,7 +131,7 @@ public void spawnLeaf(World par1World, int x, int y, int z) { int j3 = par1World.getBlockId(x, y, z); Block block = Block.blocksList[j3]; if(block == null || block.canBeReplacedByLeaves(par1World, x, y, z)) { - this.setBlockAndMetadata(par1World, x, y, z, AtumBlocks.BLOCK_LEAVES, this.metaLeaves); + this.setBlockAndMetadata(par1World, x, y, z, Blocks.BLOCK_LEAVES.blockID, this.metaLeaves); } } diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java similarity index 76% rename from src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java rename to src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java index ed3d5e0..98b9a4f 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java +++ b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java @@ -1,15 +1,19 @@ package com.teammetallurgy.atum.worldgen.decorators; +import static net.minecraftforge.common.ForgeDirection.EAST; +import static net.minecraftforge.common.ForgeDirection.NORTH; +import static net.minecraftforge.common.ForgeDirection.SOUTH; +import static net.minecraftforge.common.ForgeDirection.WEST; + import java.util.ArrayList; import java.util.Random; import net.minecraft.block.Block; -import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; import com.teammetallurgy.atum.AtumLoot; -import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.Blocks; import com.teammetallurgy.atum.blocks.tileentity.TileEntityPharaohChest; public class WorldGenPyramid extends WorldGenerator { @@ -52,8 +56,8 @@ public boolean generate(World world, Random random, int i, int j, int k) { for(int x = y; x <= width - y; x++) { for(int z = y; z <= depth - y; z++) { int id = world.getBlockId(x + i, y + j + 3, z + k); - if(id == 0 || id == AtumBlocks.BLOCK_SAND) - world.setBlock(x + i, y + j + 3, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); + if(id == 0 || id == Blocks.BLOCK_SAND.blockID) + world.setBlock(x + i, y + j + 3, z + k, Blocks.BLOCK_LARGEBRICK.blockID, 1, 0); } } } @@ -61,21 +65,21 @@ public boolean generate(World world, Random random, int i, int j, int k) { for(int x = -3; x < width + 3; x++) { for(int z = -3; z < depth + 3; z++) { if(x >= 0 && x < width && z >= 0 && z < depth) { - world.setBlock(x + i, j - 1, z + k, AtumBlocks.BLOCK_STONE); + world.setBlock(x + i, j - 1, z + k, Blocks.BLOCK_STONE.blockID); if(!maze[x][z]) { if(random.nextFloat() > 0.1F) - world.setBlock(x + i, j, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); + world.setBlock(x + i, j, z + k, Blocks.BLOCK_LARGEBRICK.blockID, 1, 0); else placeTrap(world, x + i, j, z + k); - world.setBlock(x + i, j + 1, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); - world.setBlock(x + i, j + 2, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); + world.setBlock(x + i, j + 1, z + k, Blocks.BLOCK_LARGEBRICK.blockID, 1, 0); + world.setBlock(x + i, j + 2, z + k, Blocks.BLOCK_LARGEBRICK.blockID, 1, 0); } else { int meta = random.nextInt(5); - world.setBlock(x + i, j, z + k, AtumBlocks.BLOCK_SANDLAYERED, meta, 0); + world.setBlock(x + i, j, z + k, Blocks.BLOCK_SANDLAYERED.blockID, meta, 0); world.setBlockToAir(x + i, j + 1, z + k); world.setBlockToAir(x + i, j + 2, z + k); } - world.setBlock(x + i, j + 3, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); + world.setBlock(x + i, j + 3, z + k, Blocks.BLOCK_LARGEBRICK.blockID, 1, 0); } } } @@ -97,12 +101,12 @@ public boolean generate(World world, Random random, int i, int j, int k) { } } - world.setBlock(i + 11, j + 6, k + 7, Blocks.torch, 2, 0); - world.setBlock(i + 11, j + 6, k + 10, Blocks.torch, 2, 0); + world.setBlock(i + 11, j + 6, k + 7, Block.torchWood.blockID, 2, 0); + world.setBlock(i + 11, j + 6, k + 10, Block.torchWood.blockID, 2, 0); - world.setBlock(i + 10, j + 4, k + 8, AtumBlocks.BLOCK_PHARAOHCHEST, 0, 2); + world.setBlock(i + 10, j + 4, k + 8, Blocks.BLOCK_PHARAOHCHEST.blockID, 0, 2); try { - TileEntityPharaohChest te = (TileEntityPharaohChest) world.getTileEntity(i + 10, j + 4, k + 8); + TileEntityPharaohChest te = (TileEntityPharaohChest) world.getBlockTileEntity(i + 10, j + 4, k + 8); AtumLoot.fillChest(te, 15, 0.9f); } catch(ClassCastException e) { } @@ -146,7 +150,7 @@ public void placeTrap(World world, int x, int y, int z) { meta = 5; } - world.setBlock(x, y, z, AtumBlocks.BLOCK_TRAPARROW, meta, 0); + world.setBlock(x, y, z, Blocks.BLOCK_TRAPARROW.blockID, meta, 0); } public void placeLadders(World world, int x, int y, int z, int height) { @@ -169,7 +173,7 @@ public void placeLadders(World world, int x, int y, int z, int height) { } for(int i = 0; i < height; i++) - world.setBlock(x, y + i, z, Block.ladder, meta, 0); + world.setBlock(x, y + i, z, Block.ladder.blockID, meta, 0); } public void generateMaze(boolean[][] array, Random random, int x, int y) { diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java similarity index 51% rename from src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java rename to src/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java index fe8c7dc..6eb291d 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java +++ b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java @@ -7,7 +7,7 @@ import net.minecraft.world.gen.feature.WorldGenerator; import com.teammetallurgy.atum.AtumLoot; -import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.Blocks; public class WorldGenRuins extends WorldGenerator { @Override @@ -17,17 +17,17 @@ public boolean generate(World world, Random random, int i, int j, int k) { int height = world.getHeightValue(i, k); int x2; int z2; - if (world.getHeightValue(i + width, k + depth) >= height) { + if(world.getHeightValue(i + width, k + depth) >= height) { x2 = i + width; z2 = k + depth; - } else if (world.getHeightValue(i - width, k + depth) >= height) { + } else if(world.getHeightValue(i - width, k + depth) >= height) { x2 = i - width; z2 = k + depth; - } else if (world.getHeightValue(i + width, k - depth) >= height) { + } else if(world.getHeightValue(i + width, k - depth) >= height) { x2 = i + width; z2 = k - depth; } else { - if (world.getHeightValue(i - width, k - depth) < height) { + if(world.getHeightValue(i - width, k - depth) < height) { return false; } @@ -38,24 +38,24 @@ public boolean generate(World world, Random random, int i, int j, int k) { int chestX; int chestZ; int chestY; - for (chestX = Math.min(x2, i); chestX <= Math.max(x2, i); ++chestX) { - for (chestZ = Math.min(z2, k); chestZ <= Math.max(z2, k); ++chestZ) { + for(chestX = Math.min(x2, i); chestX <= Math.max(x2, i); ++chestX) { + for(chestZ = Math.min(z2, k); chestZ <= Math.max(z2, k); ++chestZ) { int meta = random.nextInt(4); - for (chestY = -1; chestY < 15; ++chestY) { - if (chestX != x2 && chestZ != z2 && chestX != i && chestZ != k && chestY != -1) { + for(chestY = -1; chestY < 15; ++chestY) { + if(chestX != x2 && chestZ != z2 && chestX != i && chestZ != k && chestY != -1) { world.setBlockToAir(chestX, chestY + height, chestZ); - } else if (chestY < meta) { - if ((double) random.nextFloat() > 0.1D) { - world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_LARGEBRICK); + } else if(chestY < meta) { + if((double) random.nextFloat() > 0.1D) { + world.setBlock(chestX, chestY + height, chestZ, Blocks.BLOCK_LARGEBRICK.blockID); } else { - world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_SMALLBRICK); + world.setBlock(chestX, chestY + height, chestZ, Blocks.BLOCK_SMALLBRICK.blockID); } - } else if (chestY == meta && (double) random.nextFloat() > 0.7D) { - if ((double) random.nextFloat() > 0.1D) { - world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_SLABS, 2, 0); + } else if(chestY == meta && (double) random.nextFloat() > 0.7D) { + if((double) random.nextFloat() > 0.1D) { + world.setBlock(chestX, chestY + height, chestZ, Blocks.BLOCK_SLABS.blockID, 2, 0); } else { - world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_SLABS, 3, 0); + world.setBlock(chestX, chestY + height, chestZ, Blocks.BLOCK_SLABS.blockID, 3, 0); } } } @@ -65,9 +65,9 @@ public boolean generate(World world, Random random, int i, int j, int k) { chestX = width / 2 + i; chestZ = Math.max(z2, k) - 1; boolean var16 = false; - if ((double) random.nextFloat() > 0.5D) { + if((double) random.nextFloat() > 0.5D) { chestX = random.nextInt(width - 1) + 1 + Math.min(i, x2); - if ((double) random.nextFloat() > 0.5D) { + if((double) random.nextFloat() > 0.5D) { chestZ = Math.max(z2, k) - 1; var16 = true; } else { @@ -76,7 +76,7 @@ public boolean generate(World world, Random random, int i, int j, int k) { } } else { chestZ = random.nextInt(depth - 1) + 1 + Math.min(k, z2); - if ((double) random.nextFloat() > 0.5D) { + if((double) random.nextFloat() > 0.5D) { chestX = Math.max(x2, i) - 1; var16 = true; } else { @@ -86,8 +86,8 @@ public boolean generate(World world, Random random, int i, int j, int k) { } chestY = world.getHeightValue(chestX, chestZ); - world.setBlock(chestX, chestY, chestZ, AtumBlocks.BLOCK_CURSEDCHEST, 0, 2); - IInventory chest = (IInventory) world.getTileEntity(chestX, chestY, chestZ); + world.setBlock(chestX, chestY, chestZ, Blocks.BLOCK_CURSEDCHEST.blockID, 0, 2); + IInventory chest = (IInventory) world.getBlockTileEntity(chestX, chestY, chestZ); AtumLoot.fillChest(chest, 5, 0.5F); return false; } diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java similarity index 68% rename from src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java rename to src/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java index 6bc1b25..4ffe825 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java +++ b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java @@ -2,19 +2,18 @@ import java.util.Random; -import net.minecraft.block.Block; +import com.teammetallurgy.atum.blocks.Blocks; + import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; -import com.teammetallurgy.atum.blocks.AtumBlocks; - public class WorldGenShrub extends WorldGenerator { - private Block deadBush; + private int deadBushID; private int groupSize; - public WorldGenShrub(Block par1, int par2) { - this.deadBush = par1; + public WorldGenShrub(int par1, int par2) { + this.deadBushID = par1; this.groupSize = par2; } @@ -27,8 +26,8 @@ public boolean generate(World par1World, Random par2Random, int par3, int par4, int x = par3 + par2Random.nextInt(range + 1) - range / 2; int z = par5 + par2Random.nextInt(range + 1) - range / 2; int y = par1World.getHeightValue(x, z); - if(par1World.isAirBlock(x, y, z) && AtumBlocks.BLOCK_SHRUB.canBlockStay(par1World, x, y, z)) { - par1World.setBlock(x, y, z, this.deadBush); + if(par1World.isAirBlock(x, y, z) && Blocks.BLOCK_SHRUB.canBlockStay(par1World, x, y, z)) { + par1World.setBlock(x, y, z, this.deadBushID); } } diff --git a/src/main/java/com/teammetallurgy/atum/AtumLoot.java b/src/main/java/com/teammetallurgy/atum/AtumLoot.java deleted file mode 100644 index c338fb1..0000000 --- a/src/main/java/com/teammetallurgy/atum/AtumLoot.java +++ /dev/null @@ -1,123 +0,0 @@ -package com.teammetallurgy.atum; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - -import net.minecraft.init.Items; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; - -import com.teammetallurgy.atum.blocks.AtumBlocks; -import com.teammetallurgy.atum.items.AtumItems; -import com.teammetallurgy.atum.items.ItemLoot; - -public enum AtumLoot { - INSTANCE; - - public static List artifacts; - public static AtumWeightedLootSet goodLoot; - public static AtumWeightedLootSet junkLoot; - - public void register() { - artifacts = new ArrayList(); - goodLoot = new AtumWeightedLootSet(); - junkLoot = new AtumWeightedLootSet(); - - ItemStack stack = new ItemStack(AtumItems.ptahsPick); - artifacts.add(stack); - - artifacts.add(new ItemStack(AtumItems.sobeksRage)); - artifacts.add(new ItemStack(AtumItems.osirisWill)); - artifacts.add(new ItemStack(AtumItems.akersToil)); - artifacts.add(new ItemStack(AtumItems.gebsBlessing)); - artifacts.add(new ItemStack(AtumItems.atensFury)); - artifacts.add(new ItemStack(AtumItems.rasGlory)); - artifacts.add(new ItemStack(AtumItems.sekhmetsWrath)); - artifacts.add(new ItemStack(AtumItems.nutsAgility)); - artifacts.add(new ItemStack(AtumItems.horusFlight)); - artifacts.add(new ItemStack(AtumItems.monthusStrike)); - artifacts.add(new ItemStack(AtumItems.neithsAudacity)); - artifacts.add(new ItemStack(AtumItems.hedetetsSting)); - artifacts.add(new ItemStack(AtumItems.nusFlux)); - artifacts.add(new ItemStack(AtumItems.anhursMight)); - artifacts.add(new ItemStack(AtumItems.horusSoaring)); - artifacts.add(new ItemStack(AtumItems.shusBreath)); - artifacts.add(new ItemStack(AtumItems.hedetetsVenom)); - artifacts.add(new ItemStack(AtumItems.monthusBlast)); - artifacts.add(new ItemStack(AtumItems.mnevisHorns)); - artifacts.add(new ItemStack(AtumItems.isisEmbrace)); - artifacts.add(new ItemStack(AtumItems.maatsBalance)); - artifacts.add(new ItemStack(AtumItems.nutsCall)); - artifacts.add(new ItemStack(AtumItems.ptahsDestruction)); - artifacts.add(new ItemStack(AtumItems.anuketsBounty)); - artifacts.add(new ItemStack(AtumItems.anubisMercy)); - artifacts.add(new ItemStack(AtumItems.amunetsHomecoming)); - artifacts.add(new ItemStack(AtumItems.isisHealing)); - artifacts.add(new ItemStack(AtumItems.mafdetsQuickness)); - - // Junk Loot Stuff - junkLoot.addLoot(new ItemStack(AtumItems.flaxSeeds), 5, 1, 2); - junkLoot.addLoot(new ItemStack(Items.stick), 5, 1, 5); - junkLoot.addLoot(new ItemStack(AtumItems.ITEM_DATE), 5, 1, 2); - junkLoot.addLoot(new ItemStack(Items.bone), 10, 1, 3); - junkLoot.addLoot(new ItemStack(Items.bread), 10, 1, 4); - junkLoot.addLoot(new ItemStack(AtumBlocks.BLOCK_SAND), 20, 1, 64); - junkLoot.addLoot(new ItemStack(AtumItems.ITEM_SCIMITAR), 5, 1, 1); - junkLoot.addLoot(new ItemStack(Items.wheat_seeds), 5, 1, 3); - junkLoot.addLoot(new ItemStack(Items.leather), 5, 1, 5); - junkLoot.addLoot(new ItemStack(Items.dye, 1, 3), 5, 1, 3); - junkLoot.addLoot(new ItemStack(Items.saddle), 5, 1, 1); - - // Good Loot - goodLoot.addLoot(new ItemStack(Items.iron_ingot), 38, 1, 3); - goodLoot.addLoot(new ItemStack(Items.gold_ingot), 20, 1, 3); - goodLoot.addLoot(new ItemStack(Items.diamond), 4, 1, 2); - goodLoot.addLoot(new ItemStack(Items.enchanted_book, 1, 1), 5, 1, 1); - ItemStack stick = new ItemStack(Items.stick); - stick.setStackDisplayName("Amazing Stick"); - goodLoot.addLoot(stick, 1, 1, 1); - } - - public static void addArtifact(ItemStack stack) { - artifacts.add(stack); - } - - public static ItemStack getRandomLoot() { - return artifacts.get(0); - } - - public static ItemStack getRandomArtifact() { - - int i = (new Random()).nextInt(artifacts.size()); - return artifacts.get(i).copy(); - } - - public static void fillChest(IInventory inventory, int multiplier, - float quality) { - if (inventory == null) { - System.out.println("Error trying to fill empty chest"); - return; - } - - Random rand = new Random(); - for (int i = 0; i < multiplier; i++) { - int slot = rand.nextInt(inventory.getSizeInventory()); - float roll = rand.nextFloat(); - ItemStack stack = new ItemStack(); - if (rand.nextFloat() < quality) { - if (roll > 0.20) { - stack = goodLoot.getRandomLoot(); - } else if (roll > 0.005) { - stack = ItemLoot.getRandomLoot(rand, true); - } else { - int randomArtifactID = rand.nextInt(artifacts.size()); - stack = artifacts.get(randomArtifactID).copy(); - } - } else { - stack = junkLoot.getRandomLoot(); - } - inventory.setInventorySlotContents(slot, stack); - } - } -} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlockSlab.java b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlockSlab.java deleted file mode 100644 index df06141..0000000 --- a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlockSlab.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.teammetallurgy.atum.blocks; - -import java.util.List; -import java.util.Random; - -import net.minecraft.block.BlockSlab; -import net.minecraft.block.material.Material; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; - -import com.teammetallurgy.atum.LocalizationHelper; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class AtumBlockSlab extends BlockSlab { - public static final String[] slabType = { "smooth", "cracked", "largeBrick", "smallBrick" }; - - public AtumBlockSlab(int par1, boolean par2) { - super(par2, Material.rock); - this.setHardness(2.0F); - } - - public String getLocalizedName(ItemStack stack) { - return LocalizationHelper.localize("block.slab" + stack.getItemDamage() + ".name"); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int par1, int par2) { - par2 %= 4; - if (par2 == 0) - return AtumBlocks.BLOCK_STONE.getIcon(par1, par2 & 0x7); - if (par2 == 1) - return AtumBlocks.BLOCK_LIMESTONECOBBLE.getIcon(par1, par2 & 0x7); - if (par2 == 2) { - return AtumBlocks.BLOCK_LARGEBRICK.getIcon(par1, par2 & 0x7); - } - return AtumBlocks.BLOCK_SMALLBRICK.getIcon(par1, par2 & 0x7); - } - - @Override - public int idDropped(int par1, Random par2Random, int par3) { - return this; - } - - @Override - protected ItemStack createStackedBlock(int par1) { - return new ItemStack(this, 2, par1 & 0x7); - } - - @Override - public String func_150002_b(int par1) { - if ((par1 < 0) || (par1 >= slabType.length)) { - par1 = 0; - } - - return super.getUnlocalizedName() + "." + slabType[par1]; - } - - @Override - @SideOnly(Side.CLIENT) - public void getSubBlocks(Item par1, CreativeTabs tab, List subItems) { - for (int i = 0; i < 4; i++) - subItems.add(new ItemStack(par1, 1, i)); - } -} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmSapling.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmSapling.java deleted file mode 100644 index d674986..0000000 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmSapling.java +++ /dev/null @@ -1,91 +0,0 @@ -package com.teammetallurgy.atum.blocks; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockFlower; -import net.minecraft.world.World; - -public class BlockPalmSapling extends BlockFlower { - - protected BlockPalmSapling(int par1) { - super(par1); - this.setUnlocalizedName("atum:palmSapling"); - float f = 0.4F; - this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, f * 2.0F, 0.5F + f); - } - - @Override - public void updateTick(World world, int x, int y, int z, Random rand) { - if(!world.isRemote) { - super.updateTick(world, x, y, z, rand); - if(world.getBlockLightValue(x, y + 1, z) > 9 && rand.nextInt(20) == 0) { - this.growTree(world, x, y, z, rand); - } - } - - } - - public void growTree(World world, int x, int y, int z, Random rand) { - int height = rand.nextInt(4) + 5; - - int i; - for(i = 0; i < height; ++i) { - world.setBlock(x, y + i, z, AtumBlocks.BLOCK_LOG, 0, 2); - } - - world.setBlock(x, y + height, z, AtumBlocks.BLOCK_LEAVES, 0, 2); - - for(i = -1; i < 2; ++i) { - for(int j = -1; j < 2; ++j) { - if(i != 0 || j != 0) { - world.setBlock(x + i, y + height - 1, z + j, AtumBlocks.BLOCK_LEAVES, 0, 2); - } - } - } - - world.setBlock(x + 2, y + height - 1, z, AtumBlocks.BLOCK_LEAVES, 0, 2); - world.setBlock(x + 2, y + height - 2, z, AtumBlocks.BLOCK_LEAVES, 0, 2); - world.setBlock(x + 3, y + height - 2, z, AtumBlocks.BLOCK_LEAVES, 0, 2); - if(rand.nextInt(100) < 15) { - world.setBlock(x + 1, y + height - 2, z, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); - } - - world.setBlock(x - 2, y + height - 1, z, AtumBlocks.BLOCK_LEAVES, 0, 2); - world.setBlock(x - 2, y + height - 2, z, AtumBlocks.BLOCK_LEAVES, 0, 2); - world.setBlock(x - 3, y + height - 2, z, AtumBlocks.BLOCK_LEAVES, 0, 2); - if(rand.nextInt(100) < 15) { - world.setBlock(x - 1, y + height - 2, z, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); - } - - world.setBlock(x, y + height - 1, z + 2, AtumBlocks.BLOCK_LEAVES, 0, 2); - world.setBlock(x, y + height - 2, z + 2, AtumBlocks.BLOCK_LEAVES, 0, 2); - world.setBlock(x, y + height - 2, z + 3, AtumBlocks.BLOCK_LEAVES, 0, 2); - if(rand.nextInt(100) < 15) { - world.setBlock(x, y + height - 2, z + 1, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); - } - - world.setBlock(x, y + height - 1, z - 2, AtumBlocks.BLOCK_LEAVES, 0, 2); - world.setBlock(x, y + height - 2, z - 2, AtumBlocks.BLOCK_LEAVES, 0, 2); - world.setBlock(x, y + height - 2, z - 3, AtumBlocks.BLOCK_LEAVES, 0, 2); - if(rand.nextInt(100) < 15) { - world.setBlock(x, y + height - 2, z - 1, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); - } - - } - - @Override - protected boolean canThisPlantGrowOnThisBlockID(int id) { - return id == AtumBlocks.BLOCK_SAND || id == Block.grass || id == Block.dirt; - } - - @Override - public boolean canBlockStay(World world, int x, int y, int z) { - return world.getBlockId(x, y - 1, z) == AtumBlocks.BLOCK_SAND || world.getBlockId(x, y - 1, z) == Block.grass || world.getBlockId(x, y - 1, z) == Block.dirt; - } - - @Override - public void registerIcons(IconRegister par1IconRegister) { - this.blockIcon = par1IconRegister.registerIcon("atum:AtumPalmSapling"); - } -} diff --git a/src/main/java/com/teammetallurgy/atum/lib/handler/CraftingHandler.java b/src/main/java/com/teammetallurgy/atum/lib/handler/CraftingHandler.java deleted file mode 100644 index d9d4481..0000000 --- a/src/main/java/com/teammetallurgy/atum/lib/handler/CraftingHandler.java +++ /dev/null @@ -1,88 +0,0 @@ -package com.teammetallurgy.atum.lib.handler; - -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.FurnaceRecipes; -import net.minecraftforge.oredict.ShapedOreRecipe; -import net.minecraftforge.oredict.ShapelessOreRecipe; - -import com.teammetallurgy.atum.blocks.AtumBlocks; -import com.teammetallurgy.atum.items.AtumItems; - -import cpw.mods.fml.common.registry.GameRegistry; - -public enum CraftingHandler { - INSTANCE; - - public void register() { - addRecipes(); - addSmeltingRecipes(); - addShapelessRecipes(); - } - - private void addRecipes() { - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(AtumBlocks.BLOCK_LARGEBRICK, 4), "XX", "XX", 'X', AtumBlocks.BLOCK_STONE)); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(AtumBlocks.BLOCK_SMALLBRICK, 4), "XX", "XX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE)); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(AtumBlocks.BLOCK_CARVEDBRICK, 1), AtumBlocks.BLOCK_STONE)); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SMOOTHSTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_STONE); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_COBBLESTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_LARGESTONESTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_LARGEBRICK); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SMALLSTONESTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_SMALLBRICK); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 0), "XXX", 'X', AtumBlocks.BLOCK_STONE); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 1), "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 2), "XXX", 'X', AtumBlocks.BLOCK_LARGEBRICK); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 3), "XXX", 'X', AtumBlocks.BLOCK_SMALLBRICK); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 0), "XXX", "XXX", 'X', AtumBlocks.BLOCK_STONE); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 1), "XXX", "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 2), "XXX", "XXX", 'X', AtumBlocks.BLOCK_LARGEBRICK); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 3), "XXX", "XXX", 'X', AtumBlocks.BLOCK_SMALLBRICK); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_FRAMEDGLASS), " X ", "XSX", " X ", 'X', Items.stick, 'S', AtumBlocks.BLOCK_CRYSTALGLASS); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_CRACKEDLARGEBRICK, 4), "XX", "XX", 'X', AtumItems.stoneChunk); - GameRegistry.addRecipe(new ItemStack(Items.experience_bottle), " X ", "XBX", " X ", 'X', AtumItems.ectoplasm, 'B', Items.potionitem); - GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneSword), "L", "L", "S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); - GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneShovel), "L", "S", "S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); - GameRegistry.addRecipe(new ItemStack(AtumItems.limestonePickaxe), "LLL", " S ", " S ", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); - GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneAxe), "LL", "LS", " S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); - GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneHoe), "LL", " S", " S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); - GameRegistry.addRecipe(new ItemStack(AtumItems.mummyHelmet), "XXX", "X X", 'X', AtumItems.scrap); - GameRegistry.addRecipe(new ItemStack(AtumItems.mummyChest), "X X", "XXX", "XXX", 'X', AtumItems.scrap); - GameRegistry.addRecipe(new ItemStack(AtumItems.mummyLegs), "XXX", "X X", "X X", 'X', AtumItems.scrap); - GameRegistry.addRecipe(new ItemStack(AtumItems.mummyBoots), "X X", "X X", 'X', AtumItems.scrap); - GameRegistry.addRecipe(new ItemStack(AtumItems.wandererHelmet), "XXX", "X X", 'X', AtumItems.linen); - GameRegistry.addRecipe(new ItemStack(AtumItems.wandererChest), "X X", "XXX", "XXX", 'X', AtumItems.linen); - GameRegistry.addRecipe(new ItemStack(AtumItems.wandererLegs), "XXX", "X X", "X X", 'X', AtumItems.linen); - GameRegistry.addRecipe(new ItemStack(AtumItems.wandererBoots), "X X", "X X", 'X', AtumItems.linen); - GameRegistry.addRecipe(new ItemStack(AtumItems.linen), "XXX", 'X', AtumItems.flax); - GameRegistry.addRecipe(new ItemStack(Items.glass_bottle, 3), "X X", " X ", 'X', AtumBlocks.BLOCK_CRYSTALGLASS); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_THINCRYSTALGLASS, 16), "XXX", "XXX", 'X', AtumBlocks.BLOCK_CRYSTALGLASS); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_THINFRAMEDGLASS, 16), "XXX", "XXX", 'X', AtumBlocks.BLOCK_FRAMEDGLASS); - GameRegistry.addRecipe(new ItemStack(AtumItems.scroll), "XXX", "SXS", "XXX", 'X', AtumItems.papyrusPlant, 'S', Items.stick); - GameRegistry.addRecipe(new ItemStack(AtumItems.ITEM_SCARAB), " G ", "GDG", " G ", 'G', Items.gold_ingot, 'D', Items.diamond); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_FURNACEIDLE), "XXX", "X X", "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); - } - - private void addSmeltingRecipes() { - FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_IRONORE, new ItemStack(Items.iron_ingot), 0.7F); - FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_COALORE, new ItemStack(Items.coal), 0.1F); - FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_REDSTONEORE, new ItemStack(Items.redstone), 0.7F); - FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_LAPISORE, new ItemStack(Items.dye, 1, 4), 0.2F); - FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_GOLDORE, new ItemStack(Items.gold_ingot), 1.0F); - FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_DIAMONDORE, new ItemStack(Items.diamond), 1.0F); - FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_LOG, new ItemStack(Items.coal, 1, 1), 0.15F); - FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_LIMESTONECOBBLE, new ItemStack(AtumBlocks.BLOCK_STONE), 0.1F); - FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_SAND, new ItemStack(AtumBlocks.BLOCK_CRYSTALGLASS), 0.1F); - } - - private void addShapelessRecipes() { - GameRegistry.addShapelessRecipe(new ItemStack(AtumBlocks.BLOCK_PLANKS, 4), AtumBlocks.BLOCK_LOG); - GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertHelmet), AtumItems.wandererHelmet, Items.iron_helmet); - GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertChest), AtumItems.wandererChest, Items.iron_chestplate); - GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertLegs), AtumItems.wandererLegs, Items.iron_leggings); - GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertBoots), AtumItems.wandererBoots, Items.iron_boots); - GameRegistry.addShapelessRecipe(new ItemStack(Blocks.sand), AtumBlocks.BLOCK_SAND); - GameRegistry.addShapelessRecipe(new ItemStack(Items.string, 3), AtumItems.flax); - } - -} diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info deleted file mode 100644 index e7148b2..0000000 --- a/src/main/resources/mcmod.info +++ /dev/null @@ -1,16 +0,0 @@ -[ -{ - "modid": "examplemod", - "name": "Example Mod", - "description": "Example placeholder mod.", - "version": "${version}", - "mcversion": "${mcversion}", - "url": "", - "updateUrl": "", - "authors": ["ExampleDude"], - "credits": "The Forge and FML guys, for making this example", - "logoFile": "", - "screenshots": [], - "dependencies": [] -} -] From dc2d1a1d47535fc7ca9f1cea0fb9f04c74222a81 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Wed, 12 Feb 2014 18:53:35 +1000 Subject: [PATCH 021/157] Fixed Issues --- resources/assets/atum/lang/en_US.properties | 2 + src/com/teammetallurgy/atum/Atum.java | 28 +++-- .../teammetallurgy/atum/AtumCreativeTab.java | 4 +- .../atum/AtumEventListener.java | 86 +++++++++++++ src/com/teammetallurgy/atum/AtumFish.java | 10 +- src/com/teammetallurgy/atum/AtumLoot.java | 70 +++++------ .../blocks/{Blocks.java => AtumBlocks.java} | 32 ++--- .../teammetallurgy/atum/blocks/BlockAtum.java | 11 +- .../atum/blocks/BlockAtumOres.java | 53 ++++++++ .../atum/blocks/BlockAtumRedstone.java | 117 ++++++++++++++++++ .../atum/blocks/BlockBurningTrap.java | 2 +- .../atum/blocks/BlockChestSpawner.java | 2 +- .../teammetallurgy/atum/blocks/BlockDate.java | 12 +- .../atum/blocks/BlockFertileSoil.java | 9 +- .../atum/blocks/BlockFertileSoilTilled.java | 9 +- .../teammetallurgy/atum/blocks/BlockFlax.java | 10 +- .../atum/blocks/BlockLeave.java | 2 +- .../atum/blocks/BlockLimeStoneFurnace.java | 37 ++++++ .../atum/blocks/BlockPalmSapling.java | 42 +++---- .../atum/blocks/BlockPapyrus.java | 6 +- .../atum/blocks/BlockPharaohChest.java | 2 +- .../atum/blocks/BlockPortal.java | 2 +- .../atum/blocks/BlockSands.java | 5 +- .../atum/blocks/BlockShrub.java | 4 +- .../teammetallurgy/atum/blocks/BlockSlab.java | 8 +- .../atum/blocks/BlockStones.java | 5 +- .../TileEntityLimestoneFurnace.java | 75 +++++++++++ .../{ => chests}/CursedChestBaseLogic.java | 2 +- .../{ => chests}/CursedChestSpawnerLogic.java | 2 +- .../{ => chests}/TileEntityChestSpawner.java | 2 +- .../{ => chests}/TileEntityPharaohChest.java | 2 +- .../client/render/entity/RenderBandit.java | 4 +- .../client/render/entity/RenderPharaoh.java | 4 +- .../client/render/tileentity/RenderDate.java | 4 +- .../entity/{Entity.java => AtumEntities.java} | 2 +- .../atum/entity/EntityBanditArcher.java | 10 +- .../atum/entity/EntityBanditWarlord.java | 16 +-- .../atum/entity/EntityBanditWarrior.java | 8 +- .../atum/entity/EntityBarbarian.java | 8 +- .../atum/entity/EntityDesertWolf.java | 4 +- .../atum/entity/EntityGhost.java | 4 +- .../atum/entity/EntityMummy.java | 4 +- .../atum/entity/EntityPharaoh.java | 10 +- .../atum/entity/EntityStoneSoldier.java | 6 +- .../atum/entity/arrow/EntityAtumFishHook.java | 4 +- .../atum/items/{Items.java => AtumItems.java} | 10 +- .../teammetallurgy/atum/items/ItemLoot.java | 2 +- .../teammetallurgy/atum/items/ItemScarab.java | 4 +- .../atum/items/LimestoneAxe.java | 4 +- .../atum/items/LimestoneHoe.java | 4 +- .../atum/items/LimestonePickaxe.java | 4 +- .../atum/items/LimestoneShovel.java | 4 +- .../atum/items/LimestoneSword.java | 4 +- .../atum/items/artifacts/ItemHorusFlight.java | 4 +- .../atum/items/artifacts/ItemOsirisWill.java | 4 +- .../atum/lib/handler/CraftingHandler.java | 112 ++++++++--------- .../atum/lib/proxy/ClientProxy.java | 30 ++--- .../lib/tickhandler/ClientTickHandler.java | 6 +- .../lib/tickhandler/ServerTickHandler.java | 12 +- .../atum/world/AtumTeleporter.java | 20 +-- .../world/{World.java => AtumWorlds.java} | 2 +- .../atum/worldgen/AtumChunkProvider.java | 14 +-- .../atum/worldgen/AtumMapGenCaves.java | 6 +- .../atum/worldgen/AtumWorldProvider.java | 8 +- .../worldgen/biome/BiomeDecoratorAtum.java | 20 +-- .../worldgen/biome/BiomeGenAtumDesert.java | 6 +- .../decorators/WorldGenAtumTrees.java | 4 +- .../worldgen/decorators/WorldGenOasis.java | 34 ++--- .../worldgen/decorators/WorldGenPalace.java | 10 +- .../worldgen/decorators/WorldGenPalm.java | 18 +-- .../worldgen/decorators/WorldGenPyramid.java | 24 ++-- .../worldgen/decorators/WorldGenRuins.java | 12 +- .../worldgen/decorators/WorldGenShrub.java | 4 +- 73 files changed, 759 insertions(+), 368 deletions(-) create mode 100644 src/com/teammetallurgy/atum/AtumEventListener.java rename src/com/teammetallurgy/atum/blocks/{Blocks.java => AtumBlocks.java} (89%) create mode 100644 src/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java create mode 100644 src/com/teammetallurgy/atum/blocks/tileentity/TileEntityLimestoneFurnace.java rename src/com/teammetallurgy/atum/blocks/tileentity/{ => chests}/CursedChestBaseLogic.java (99%) rename src/com/teammetallurgy/atum/blocks/tileentity/{ => chests}/CursedChestSpawnerLogic.java (95%) rename src/com/teammetallurgy/atum/blocks/tileentity/{ => chests}/TileEntityChestSpawner.java (99%) rename src/com/teammetallurgy/atum/blocks/tileentity/{ => chests}/TileEntityPharaohChest.java (99%) rename src/com/teammetallurgy/atum/entity/{Entity.java => AtumEntities.java} (99%) rename src/com/teammetallurgy/atum/items/{Items.java => AtumItems.java} (97%) rename src/com/teammetallurgy/atum/world/{World.java => AtumWorlds.java} (96%) diff --git a/resources/assets/atum/lang/en_US.properties b/resources/assets/atum/lang/en_US.properties index d93b164..d5a6acf 100644 --- a/resources/assets/atum/lang/en_US.properties +++ b/resources/assets/atum/lang/en_US.properties @@ -11,6 +11,7 @@ block.cobble.name=Cracked Limestone block.largeBrick.name=Limestone Large Bricks block.smallBrick.name=Limestone Small Bricks block.carvedBrick.name=Limestone Carved Bricks +block.slab.name=Limestone Slab block.slab0.name=Smooth-Limestone Slab block.slab1.name=Cracked-Limestone Slab block.slab2.name=Large Limestone Brick Slab @@ -22,6 +23,7 @@ block.largeStairs.name=Limestone Large Brick Stairs block.smallStairs.name=Limestone Small Brick Stairs block.sandLayer.name=Sand Layer block.crackedLargeBrick.name=Limestone Cracked Large Bricks +block.walls.name=Limestone Wall block.walls0.name=Smooth-Limestone Wall block.walls1.name=Cracked-Limestone Wall block.walls2.name=Large Limestone Brick Wall diff --git a/src/com/teammetallurgy/atum/Atum.java b/src/com/teammetallurgy/atum/Atum.java index 6c2e0f4..dabc6b9 100644 --- a/src/com/teammetallurgy/atum/Atum.java +++ b/src/com/teammetallurgy/atum/Atum.java @@ -3,13 +3,14 @@ import java.util.logging.Logger; import net.minecraft.creativetab.CreativeTabs; +import net.minecraftforge.common.MinecraftForge; -import com.teammetallurgy.atum.blocks.Blocks; -import com.teammetallurgy.atum.entity.Entity; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.entity.AtumEntities; +import com.teammetallurgy.atum.items.AtumItems; import com.teammetallurgy.atum.lib.handler.CraftingHandler; import com.teammetallurgy.atum.lib.proxy.CommonProxy; -import com.teammetallurgy.atum.world.World; +import com.teammetallurgy.atum.world.AtumWorlds; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; @@ -48,29 +49,30 @@ public void preInit(FMLPreInitializationEvent event) { @EventHandler public void init(FMLInitializationEvent event) { LOGGER.info("Block Init"); - Blocks.INSTANCE.registerBlocks(); + AtumBlocks.INSTANCE.registerBlocks(); LOGGER.info("Item Init"); - Items.INSTANCE.registerItems(); - + AtumItems.INSTANCE.registerItems(); + LOGGER.info("Register Crafting Recipes"); CraftingHandler.INSTANCE.register(); - + LOGGER.info("World Init"); - World.INSTANCE.register(); + AtumWorlds.INSTANCE.register(); LOGGER.info("Entity Init"); - Entity.INSTANCE.register(); + AtumEntities.INSTANCE.register(); LOGGER.info("Loot Init"); AtumLoot.INSTANCE.register(); - + LOGGER.info("Proxy Init"); proxy.init(); proxy.initRenders(); proxy.initTiles(); - - + + MinecraftForge.EVENT_BUS.register(new AtumEventListener()); + } @EventHandler diff --git a/src/com/teammetallurgy/atum/AtumCreativeTab.java b/src/com/teammetallurgy/atum/AtumCreativeTab.java index 53df21e..b4bd9f4 100644 --- a/src/com/teammetallurgy/atum/AtumCreativeTab.java +++ b/src/com/teammetallurgy/atum/AtumCreativeTab.java @@ -1,6 +1,6 @@ package com.teammetallurgy.atum; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; import com.teammetallurgy.atum.items.artifacts.ItemSpear; import net.minecraft.creativetab.CreativeTabs; @@ -29,6 +29,6 @@ public boolean hasSearchBar() { @Override public Item getTabIconItem() { - return Items.ITEM_SCARAB; + return AtumItems.ITEM_SCARAB; } } diff --git a/src/com/teammetallurgy/atum/AtumEventListener.java b/src/com/teammetallurgy/atum/AtumEventListener.java new file mode 100644 index 0000000..626e39b --- /dev/null +++ b/src/com/teammetallurgy/atum/AtumEventListener.java @@ -0,0 +1,86 @@ +package com.teammetallurgy.atum; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraftforge.event.Event.Result; +import net.minecraftforge.event.ForgeSubscribe; +import net.minecraftforge.event.entity.living.LivingFallEvent; +import net.minecraftforge.event.entity.living.LivingHurtEvent; +import net.minecraftforge.event.entity.player.BonemealEvent; +import net.minecraftforge.event.entity.player.UseHoeEvent; + +import com.teammetallurgy.atum.blocks.BlockFlax; +import com.teammetallurgy.atum.blocks.BlockPalmSapling; +import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.entity.EntityDustySkeleton; +import com.teammetallurgy.atum.entity.EntityGhost; +import com.teammetallurgy.atum.entity.EntityMummy; +import com.teammetallurgy.atum.entity.EntityPharaoh; +import com.teammetallurgy.atum.entity.EntityStoneSoldier; +import com.teammetallurgy.atum.items.AtumItems; + +public class AtumEventListener { + @ForgeSubscribe + public void onFallDamage(LivingFallEvent event) { + if(event.entity instanceof EntityGhost || event.entity instanceof EntityPharaoh) { + event.distance = 0.0F; + } + + } + + @ForgeSubscribe + public void onLivingHurt(LivingHurtEvent event) { + if(event.source.getDamageType().equals("drown") && (event.entity instanceof EntityPharaoh || event.entity instanceof EntityGhost || event.entity instanceof EntityMummy || event.entity instanceof EntityDustySkeleton || event.entity instanceof EntityStoneSoldier)) { + event.setCanceled(true); + } + + } + + @ForgeSubscribe + public boolean onBonemeal(BonemealEvent event) { + if(event.world.isRemote) { + return true; + } else { + int id = event.world.getBlockId(event.X, event.Y, event.Z); + if(id == AtumBlocks.BLOCK_PALMSAPLING.blockID) { + ((BlockPalmSapling) ((BlockPalmSapling) AtumBlocks.BLOCK_PALMSAPLING)).growTree(event.world, event.X, event.Y, event.Z, new Random()); + event.setResult(Result.ALLOW); + } + + if(id == AtumBlocks.BLOCK_FLAX.blockID && event.world.getBlockMetadata(event.X, event.Y, event.Z) < 5) { + ((BlockFlax) ((BlockFlax) AtumBlocks.BLOCK_FLAX)).fertilize(event.world, event.X, event.Y, event.Z); + event.setResult(Result.ALLOW); + } + + return false; + } + } + + @ForgeSubscribe + public boolean onHoeEvent(UseHoeEvent event) { + int id = event.world.getBlockId(event.x, event.y, event.z); + if(id == AtumBlocks.BLOCK_FERTILESOIL.blockID) { + byte block2 = 0; + if(event.current.itemID == AtumItems.gebsBlessing.itemID) { + block2 = 4; + } + + event.world.setBlock(event.x, event.y, event.z, AtumBlocks.BLOCK_FERTILESOILTILLED.blockID); + event.world.setBlockMetadataWithNotify(event.x, event.y, event.z, block2, 2); + event.setResult(Result.ALLOW); + Block block1 = Block.blocksList[id]; + event.world.playSoundEffect((double) event.x, (double) event.y, (double) event.z, block1.stepSound.getStepSound(), (block1.stepSound.getVolume() + 1.0F) / 2.0F, block1.stepSound.getPitch() * 0.8F); + return true; + } else if((id == Block.dirt.blockID || id == Block.grass.blockID) && event.current.itemID == AtumItems.gebsBlessing.itemID) { + event.world.setBlock(event.x, event.y, event.z, AtumBlocks.BLOCK_FERTILESOILTILLED.blockID); + event.world.setBlockMetadataWithNotify(event.x, event.y, event.z, 12, 2); + event.setResult(Result.ALLOW); + Block block = Block.blocksList[id]; + event.world.playSoundEffect((double) event.x, (double) event.y, (double) event.z, block.stepSound.getStepSound(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); + return true; + } else { + return false; + } + } +} \ No newline at end of file diff --git a/src/com/teammetallurgy/atum/AtumFish.java b/src/com/teammetallurgy/atum/AtumFish.java index 64db5b4..45bafde 100644 --- a/src/com/teammetallurgy/atum/AtumFish.java +++ b/src/com/teammetallurgy/atum/AtumFish.java @@ -3,7 +3,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; public class AtumFish { private static AtumWeightedLootSet fish; @@ -12,10 +12,10 @@ public class AtumFish { fish = new AtumWeightedLootSet(); AtumFish.addFish(new ItemStack(Item.fishRaw, 1, 0), 100); - AtumFish.addFish(new ItemStack(Items.fish, 1, 0), 30); - AtumFish.addFish(new ItemStack(Items.fish, 1, 1), 5); - AtumFish.addFish(new ItemStack(Items.fish, 1, 2), 50); - AtumFish.addFish(new ItemStack(Items.fish, 1, 3), 50); + AtumFish.addFish(new ItemStack(AtumItems.fish, 1, 0), 30); + AtumFish.addFish(new ItemStack(AtumItems.fish, 1, 1), 5); + AtumFish.addFish(new ItemStack(AtumItems.fish, 1, 2), 50); + AtumFish.addFish(new ItemStack(AtumItems.fish, 1, 3), 50); } public static void addFish(ItemStack fishStack, int probability) { diff --git a/src/com/teammetallurgy/atum/AtumLoot.java b/src/com/teammetallurgy/atum/AtumLoot.java index 9751ec5..cd0fea7 100644 --- a/src/com/teammetallurgy/atum/AtumLoot.java +++ b/src/com/teammetallurgy/atum/AtumLoot.java @@ -8,9 +8,9 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.items.ItemLoot; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; public enum AtumLoot { INSTANCE; @@ -24,46 +24,46 @@ public void register() { goodLoot = new AtumWeightedLootSet(); junkLoot = new AtumWeightedLootSet(); - ItemStack stack = new ItemStack(Items.ptahsPick); + ItemStack stack = new ItemStack(AtumItems.ptahsPick); artifacts.add(stack); - artifacts.add(new ItemStack(Items.sobeksRage)); - artifacts.add(new ItemStack(Items.osirisWill)); - artifacts.add(new ItemStack(Items.akersToil)); - artifacts.add(new ItemStack(Items.gebsBlessing)); - artifacts.add(new ItemStack(Items.atensFury)); - artifacts.add(new ItemStack(Items.rasGlory)); - artifacts.add(new ItemStack(Items.sekhmetsWrath)); - artifacts.add(new ItemStack(Items.nutsAgility)); - artifacts.add(new ItemStack(Items.horusFlight)); - artifacts.add(new ItemStack(Items.monthusStrike)); - artifacts.add(new ItemStack(Items.neithsAudacity)); - artifacts.add(new ItemStack(Items.hedetetsSting)); - artifacts.add(new ItemStack(Items.nusFlux)); - artifacts.add(new ItemStack(Items.anhursMight)); - artifacts.add(new ItemStack(Items.horusSoaring)); - artifacts.add(new ItemStack(Items.shusBreath)); - artifacts.add(new ItemStack(Items.hedetetsVenom)); - artifacts.add(new ItemStack(Items.monthusBlast)); - artifacts.add(new ItemStack(Items.mnevisHorns)); - artifacts.add(new ItemStack(Items.isisEmbrace)); - artifacts.add(new ItemStack(Items.maatsBalance)); - artifacts.add(new ItemStack(Items.nutsCall)); - artifacts.add(new ItemStack(Items.ptahsDestruction)); - artifacts.add(new ItemStack(Items.anuketsBounty)); - artifacts.add(new ItemStack(Items.anubisMercy)); - artifacts.add(new ItemStack(Items.amunetsHomecoming)); - artifacts.add(new ItemStack(Items.isisHealing)); - artifacts.add(new ItemStack(Items.mafdetsQuickness)); + artifacts.add(new ItemStack(AtumItems.sobeksRage)); + artifacts.add(new ItemStack(AtumItems.osirisWill)); + artifacts.add(new ItemStack(AtumItems.akersToil)); + artifacts.add(new ItemStack(AtumItems.gebsBlessing)); + artifacts.add(new ItemStack(AtumItems.atensFury)); + artifacts.add(new ItemStack(AtumItems.rasGlory)); + artifacts.add(new ItemStack(AtumItems.sekhmetsWrath)); + artifacts.add(new ItemStack(AtumItems.nutsAgility)); + artifacts.add(new ItemStack(AtumItems.horusFlight)); + artifacts.add(new ItemStack(AtumItems.monthusStrike)); + artifacts.add(new ItemStack(AtumItems.neithsAudacity)); + artifacts.add(new ItemStack(AtumItems.hedetetsSting)); + artifacts.add(new ItemStack(AtumItems.nusFlux)); + artifacts.add(new ItemStack(AtumItems.anhursMight)); + artifacts.add(new ItemStack(AtumItems.horusSoaring)); + artifacts.add(new ItemStack(AtumItems.shusBreath)); + artifacts.add(new ItemStack(AtumItems.hedetetsVenom)); + artifacts.add(new ItemStack(AtumItems.monthusBlast)); + artifacts.add(new ItemStack(AtumItems.mnevisHorns)); + artifacts.add(new ItemStack(AtumItems.isisEmbrace)); + artifacts.add(new ItemStack(AtumItems.maatsBalance)); + artifacts.add(new ItemStack(AtumItems.nutsCall)); + artifacts.add(new ItemStack(AtumItems.ptahsDestruction)); + artifacts.add(new ItemStack(AtumItems.anuketsBounty)); + artifacts.add(new ItemStack(AtumItems.anubisMercy)); + artifacts.add(new ItemStack(AtumItems.amunetsHomecoming)); + artifacts.add(new ItemStack(AtumItems.isisHealing)); + artifacts.add(new ItemStack(AtumItems.mafdetsQuickness)); // Junk Loot Stuff - junkLoot.addLoot(new ItemStack(Items.flaxSeeds), 5, 1, 2); + junkLoot.addLoot(new ItemStack(AtumItems.flaxSeeds), 5, 1, 2); junkLoot.addLoot(new ItemStack(Item.stick), 5, 1, 5); - junkLoot.addLoot(new ItemStack(Items.ITEM_DATE), 5, 1, 2); + junkLoot.addLoot(new ItemStack(AtumItems.ITEM_DATE), 5, 1, 2); junkLoot.addLoot(new ItemStack(Item.bone), 10, 1, 3); junkLoot.addLoot(new ItemStack(Item.bread), 10, 1, 4); - junkLoot.addLoot(new ItemStack(Blocks.BLOCK_SAND), 20, 1, 64); - junkLoot.addLoot(new ItemStack(Items.ITEM_SCIMITAR), 5, 1, 1); + junkLoot.addLoot(new ItemStack(AtumBlocks.BLOCK_SAND), 20, 1, 64); + junkLoot.addLoot(new ItemStack(AtumItems.ITEM_SCIMITAR), 5, 1, 1); junkLoot.addLoot(new ItemStack(Item.seeds), 5, 1, 3); junkLoot.addLoot(new ItemStack(Item.leather), 5, 1, 5); junkLoot.addLoot(new ItemStack(Item.dyePowder, 1, 3), 5, 1, 3); diff --git a/src/com/teammetallurgy/atum/blocks/Blocks.java b/src/com/teammetallurgy/atum/blocks/AtumBlocks.java similarity index 89% rename from src/com/teammetallurgy/atum/blocks/Blocks.java rename to src/com/teammetallurgy/atum/blocks/AtumBlocks.java index ee71302..7d420a1 100644 --- a/src/com/teammetallurgy/atum/blocks/Blocks.java +++ b/src/com/teammetallurgy/atum/blocks/AtumBlocks.java @@ -6,18 +6,20 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.common.ForgeHooks; import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.oredict.OreDictionary; import com.teammetallurgy.atum.Atum; import com.teammetallurgy.atum.AtumIDS; import com.teammetallurgy.atum.LocalizationHelper; import com.teammetallurgy.atum.blocks.tileentity.TileEntityBurningTrap; -import com.teammetallurgy.atum.blocks.tileentity.TileEntityChestSpawner; -import com.teammetallurgy.atum.blocks.tileentity.TileEntityPharaohChest; +import com.teammetallurgy.atum.blocks.tileentity.TileEntityLimestoneFurnace; +import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityChestSpawner; +import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityPharaohChest; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; -public enum Blocks { +public enum AtumBlocks { INSTANCE; public static final BlockPortal BLOCK_PORTAL = new BlockPortal(AtumIDS.BLOCK_PORTAL_ID); @@ -54,7 +56,7 @@ public enum Blocks { public static final Block BLOCK_THINFRAMEDGLASS = new BlockAtumPane(AtumIDS.BLOCK_THINFRAMEDGLASS_ID, "atum:AtumFramedGlass", "thinglass_top").setUnlocalizedName("atum:thinFramedGlass"); public static final Block BLOCK_TRAPARROW = new BlockBurningTrap(AtumIDS.BLOCK_TRAPARROW_ID); public static final Block BLOCK_PHARAOHCHEST = new BlockPharaohChest(AtumIDS.BLOCK_PHARAOHCHEST_ID); - public static final Block BLOCK_REDSTONEORE = new BlockAtumOres(AtumIDS.BLOCK_REDSTONEORE_ID).setUnlocalizedName("atum:redstoneOre").setTextureName("atum:AtumRedstone"); + public static final Block BLOCK_REDSTONEORE = new BlockAtumRedstone(AtumIDS.BLOCK_REDSTONEORE_ID); public static final Block BLOCK_COALORE = new BlockAtumOres(AtumIDS.BLOCK_COALORE_ID).setUnlocalizedName("atum:coalOre").setTextureName("atum:AtumCoal"); public static final Block BLOCK_IRONORE = new BlockAtumOres(AtumIDS.BLOCK_IRONORE_ID).setUnlocalizedName("atum:ironOre").setTextureName("atum:AtumIron"); public static final Block BLOCK_GOLDORE = new BlockAtumOres(AtumIDS.BLOCK_GOLDORE_ID).setUnlocalizedName("atum:goldOre").setTextureName("atum:AtumGold"); @@ -72,15 +74,12 @@ public void registerBlocks() { this.register(BLOCK_LARGEBRICK); this.register(BLOCK_SMALLBRICK); this.register(BLOCK_CARVEDBRICK); - this.register(BLOCK_SLABS); - this.register(BLOCK_DOUBLESLAB); this.register(BLOCK_SMOOTHSTAIRS); this.register(BLOCK_COBBLESTAIRS); this.register(BLOCK_LARGESTONESTAIRS); this.register(BLOCK_SMALLSTONESTAIRS); this.register(BLOCK_SANDLAYERED); this.register(BLOCK_CRACKEDLARGEBRICK); - this.register(BLOCK_WALL); this.register(BLOCK_CRYSTALGLASS); this.register(BLOCK_FRAMEDGLASS); this.register(BLOCK_PALMSAPLING); @@ -121,22 +120,23 @@ public void registerBlocks() { GameRegistry.registerTileEntity(TileEntityChestSpawner.class, "CursedChest"); GameRegistry.registerTileEntity(TileEntityPharaohChest.class, "PharaohChest"); GameRegistry.registerTileEntity(TileEntityBurningTrap.class, "BurningTrap"); + GameRegistry.registerTileEntity(TileEntityLimestoneFurnace.class, "LimestoneFurnace"); + OreDictionary.registerOre("logWood", BLOCK_LOG); + OreDictionary.registerOre("plankWood", BLOCK_PLANKS); + + GameRegistry.registerBlock(BLOCK_SLABS, ItemBlockSlab.class, BLOCK_SLABS.getUnlocalizedName()); + GameRegistry.registerBlock(BLOCK_DOUBLESLAB, ItemBlockSlab.class, BLOCK_DOUBLESLAB.getUnlocalizedName()); + + GameRegistry.registerBlock(BLOCK_WALL, ItemBlockWall.class, BLOCK_WALL.getUnlocalizedName()); } private void register(Block b) { if(!(b instanceof BlockDate)) { b.setCreativeTab(Atum.creativeTab); } - if(b instanceof BlockSlab) { - GameRegistry.registerBlock(b, ItemBlockSlab.class, b.getUnlocalizedName()); - } else if(b instanceof BlockWalls) { - GameRegistry.registerBlock(b, ItemBlockWall.class, b.getUnlocalizedName()); - } else { - GameRegistry.registerBlock(b, b.getUnlocalizedName()); - - name(b, "block.", b.getUnlocalizedName().split(":")[1]); - } + GameRegistry.registerBlock(b, b.getUnlocalizedName()); + name(b, "block.", b.getUnlocalizedName().split(":")[1]); } private void name(Block b, String type, String tag) { diff --git a/src/com/teammetallurgy/atum/blocks/BlockAtum.java b/src/com/teammetallurgy/atum/blocks/BlockAtum.java index 10bc855..5fb0d32 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockAtum.java +++ b/src/com/teammetallurgy/atum/blocks/BlockAtum.java @@ -1,16 +1,19 @@ package com.teammetallurgy.atum.blocks; +import java.util.Random; + import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.world.World; public class BlockAtum extends Block { - boolean isBreak; + boolean isBreak = false; public BlockAtum(int par1, String unlocalisedName) { super(par1, Material.rock); this.setUnlocalizedName(unlocalisedName); + this.setHardness(2.0F); } public Block setNonBreak() { @@ -22,4 +25,10 @@ public Block setNonBreak() { public boolean removeBlockByPlayer(World world, EntityPlayer player, int x, int y, int z) { return isBreak ? false : super.removeBlockByPlayer(world, player, x, y, z); } + + @Override + public int idDropped(int par1, Random par2Random, int par3) { + return this.blockID; + } + } diff --git a/src/com/teammetallurgy/atum/blocks/BlockAtumOres.java b/src/com/teammetallurgy/atum/blocks/BlockAtumOres.java index 2b3aa7b..7fd8946 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockAtumOres.java +++ b/src/com/teammetallurgy/atum/blocks/BlockAtumOres.java @@ -1,7 +1,13 @@ package com.teammetallurgy.atum.blocks; +import java.util.Random; + import net.minecraft.block.Block; import net.minecraft.block.BlockOre; +import net.minecraft.item.Item; +import net.minecraft.util.MathHelper; + +import com.teammetallurgy.atum.world.AtumWorlds; public class BlockAtumOres extends BlockOre { @@ -12,4 +18,51 @@ public BlockAtumOres(int par1) { this.setStepSound(Block.soundStoneFootstep); } + @Override + public int idDropped(int par1, Random par2Random, int par3) { + return this.blockID == AtumBlocks.BLOCK_COALORE.blockID ? Item.coal.itemID : (this.blockID == AtumBlocks.BLOCK_DIAMONDORE.blockID ? Item.diamond.itemID : (this.blockID == AtumBlocks.BLOCK_LAPISORE.blockID ? Item.dyePowder.itemID : this.blockID)); + } + + @Override + public int quantityDropped(Random par1Random) { + return this.blockID == AtumBlocks.BLOCK_LAPISORE.blockID ? 4 + par1Random.nextInt(5) : 1; + } + + @Override + public int quantityDroppedWithBonus(int par1, Random par2Random) { + if(par1 > 0 && this.blockID != this.idDropped(0, par2Random, par1)) { + int j = par2Random.nextInt(par1 + 2) - 1; + if(j < 0) { + j = 0; + } + + return this.quantityDropped(par2Random) * (j + 1); + } else { + return this.quantityDropped(par2Random); + } + } + + @Override + public void dropBlockAsItemWithChance(net.minecraft.world.World par1World, int par2, int par3, int par4, int par5, float par6, int par7) { + super.dropBlockAsItemWithChance(par1World, par2, par3, par4, par5, par6, par7); + + if(this.idDropped(par5, par1World.rand, par7) != super.blockID) { + int j1 = 0; + if(this.blockID == AtumBlocks.BLOCK_COALORE.blockID) { + j1 = MathHelper.getRandomIntegerInRange(par1World.rand, 0, 2); + } else if(this.blockID == AtumBlocks.BLOCK_DIAMONDORE.blockID) { + j1 = MathHelper.getRandomIntegerInRange(par1World.rand, 3, 7); + } else if(this.blockID == AtumBlocks.BLOCK_LAPISORE.blockID) { + j1 = MathHelper.getRandomIntegerInRange(par1World.rand, 2, 5); + } + + this.dropXpOnBlockBreak(par1World, par2, par3, par4, j1); + } + + } + + @Override + public int damageDropped(int par1) { + return this.blockID == AtumBlocks.BLOCK_LAPISORE.blockID ? 4 : 0; + } } diff --git a/src/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java b/src/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java new file mode 100644 index 0000000..0034898 --- /dev/null +++ b/src/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java @@ -0,0 +1,117 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockAtumRedstone extends Block { + + public BlockAtumRedstone(int par1) { + super(par1, Material.rock); + this.setUnlocalizedName("atum:redstoneOre"); + this.setTextureName("atum:AtumRedstone"); + } + + @Override + public int getLightValue(IBlockAccess world, int x, int y, int z) { + return world.getBlockMetadata(x, y, z) == 1 ? 9 : 0; + } + + @Override + public void onBlockClicked(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer) { + this.glow(par1World, par2, par3, par4); + super.onBlockClicked(par1World, par2, par3, par4, par5EntityPlayer); + } + + @Override + public void onEntityWalking(World par1World, int par2, int par3, int par4, Entity par5Entity) { + this.glow(par1World, par2, par3, par4); + super.onEntityWalking(par1World, par2, par3, par4, par5Entity); + } + + @Override + public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { + this.glow(par1World, par2, par3, par4); + return super.onBlockActivated(par1World, par2, par3, par4, par5EntityPlayer, par6, par7, par8, par9); + } + + private void glow(World par1World, int par2, int par3, int par4) { + this.sparkle(par1World, par2, par3, par4); + int meta = par1World.getBlockId(par2, par3, par4); + if(meta != 1) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 1, 2); + } + + } + + @Override + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + int meta = par1World.getBlockMetadata(par2, par3, par4); + if(meta == 1) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 2); + } + + } + + @Override + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { + int meta = par1World.getBlockMetadata(par2, par3, par4); + if(meta == 1) { + this.sparkle(par1World, par2, par3, par4); + } + + } + + private void sparkle(World par1World, int par2, int par3, int par4) { + Random random = par1World.rand; + double d0 = 0.0625D; + + for(int l = 0; l < 6; ++l) { + double d1 = (double) ((float) par2 + random.nextFloat()); + double d2 = (double) ((float) par3 + random.nextFloat()); + double d3 = (double) ((float) par4 + random.nextFloat()); + if(l == 0 && !par1World.isBlockOpaqueCube(par2, par3 + 1, par4)) { + d2 = (double) (par3 + 1) + d0; + } + + if(l == 1 && !par1World.isBlockOpaqueCube(par2, par3 - 1, par4)) { + d2 = (double) (par3 + 0) - d0; + } + + if(l == 2 && !par1World.isBlockOpaqueCube(par2, par3, par4 + 1)) { + d3 = (double) (par4 + 1) + d0; + } + + if(l == 3 && !par1World.isBlockOpaqueCube(par2, par3, par4 - 1)) { + d3 = (double) (par4 + 0) - d0; + } + + if(l == 4 && !par1World.isBlockOpaqueCube(par2 + 1, par3, par4)) { + d1 = (double) (par2 + 1) + d0; + } + + if(l == 5 && !par1World.isBlockOpaqueCube(par2 - 1, par3, par4)) { + d1 = (double) (par2 + 0) - d0; + } + + if(d1 < (double) par2 || d1 > (double) (par2 + 1) || d2 < 0.0D || d2 > (double) (par3 + 1) || d3 < (double) par4 || d3 > (double) (par4 + 1)) { + par1World.spawnParticle("reddust", d1, d2, d3, 0.0D, 0.0D, 0.0D); + } + } + + } + + @Override + protected ItemStack createStackedBlock(int par1) { + return new ItemStack(AtumBlocks.BLOCK_REDSTONEORE); + } +} diff --git a/src/com/teammetallurgy/atum/blocks/BlockBurningTrap.java b/src/com/teammetallurgy/atum/blocks/BlockBurningTrap.java index e24be79..ed17338 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockBurningTrap.java +++ b/src/com/teammetallurgy/atum/blocks/BlockBurningTrap.java @@ -41,7 +41,7 @@ public BlockBurningTrap(int par1) { @Override public float getBlockHardness(World par1World, int par2, int par3, int par4) { - return par1World.getBlockId(par2, par3 + 1, par4) == Blocks.BLOCK_LARGEBRICK.blockID && par1World.getBlockMetadata(par2, par3 + 1, par4) == 1 ? -1.0F : super.blockHardness; + return par1World.getBlockId(par2, par3 + 1, par4) == AtumBlocks.BLOCK_LARGEBRICK.blockID && par1World.getBlockMetadata(par2, par3 + 1, par4) == 1 ? -1.0F : super.blockHardness; } @Override diff --git a/src/com/teammetallurgy/atum/blocks/BlockChestSpawner.java b/src/com/teammetallurgy/atum/blocks/BlockChestSpawner.java index 54c89b0..a0cecbd 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockChestSpawner.java +++ b/src/com/teammetallurgy/atum/blocks/BlockChestSpawner.java @@ -20,7 +20,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.ForgeDirection; -import com.teammetallurgy.atum.blocks.tileentity.TileEntityChestSpawner; +import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityChestSpawner; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/com/teammetallurgy/atum/blocks/BlockDate.java b/src/com/teammetallurgy/atum/blocks/BlockDate.java index e3a301e..e226f1f 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockDate.java +++ b/src/com/teammetallurgy/atum/blocks/BlockDate.java @@ -8,7 +8,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; @@ -40,9 +40,9 @@ public int getRenderType() { @Override public void onNeighborBlockChange(World world, int x, int y, int z, int neighborID) { - if(world.getBlockId(x, y + 1, z) != Blocks.BLOCK_LEAVES.blockID && !world.isRemote) { - EntityItem entityItem = new EntityItem(world, (double) x, (double) y, (double) z, new ItemStack(Items.ITEM_DATE.itemID, 0, this.quantityDropped(new Random()))); - entityItem.dropItem(Items.ITEM_DATE.itemID, this.quantityDropped(new Random())); + if(world.getBlockId(x, y + 1, z) != AtumBlocks.BLOCK_LEAVES.blockID && !world.isRemote) { + EntityItem entityItem = new EntityItem(world, (double) x, (double) y, (double) z, new ItemStack(AtumItems.ITEM_DATE.itemID, 0, this.quantityDropped(new Random()))); + entityItem.dropItem(AtumItems.ITEM_DATE.itemID, this.quantityDropped(new Random())); world.setBlockToAir(x, y, z); } @@ -50,7 +50,7 @@ public void onNeighborBlockChange(World world, int x, int y, int z, int neighbor @Override public int idDropped(int par1, Random rand, int par3) { - return Items.ITEM_DATE.itemID; + return AtumItems.ITEM_DATE.itemID; } @Override @@ -61,7 +61,7 @@ public int quantityDropped(Random rand) { @Override @SideOnly(Side.CLIENT) public int idPicked(World par1World, int par2, int par3, int par4) { - return Items.ITEM_DATE.itemID; + return AtumItems.ITEM_DATE.itemID; } } diff --git a/src/com/teammetallurgy/atum/blocks/BlockFertileSoil.java b/src/com/teammetallurgy/atum/blocks/BlockFertileSoil.java index 4129f9c..baa359a 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockFertileSoil.java +++ b/src/com/teammetallurgy/atum/blocks/BlockFertileSoil.java @@ -3,6 +3,7 @@ import java.util.Random; import net.minecraft.block.Block; +import net.minecraft.block.BlockFarmland; import net.minecraft.block.BlockFlower; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; @@ -15,7 +16,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class BlockFertileSoil extends Block { +public class BlockFertileSoil extends BlockFarmland { @SideOnly(Side.CLIENT) private Icon iconGrassTop; @@ -26,7 +27,7 @@ public class BlockFertileSoil extends Block { private Icon iconDirt; public BlockFertileSoil(int par1) { - super(par1, Material.grass); + super(par1); this.setUnlocalizedName("atum:fertileSoil"); this.setHardness(0.5F); this.setStepSound(Block.soundGrassFootstep); @@ -94,7 +95,7 @@ public boolean canSustainPlant(World world, int x, int y, int z, ForgeDirection @Override public int idDropped(int par1, Random par2Random, int par3) { - return Blocks.BLOCK_SAND.blockID; + return AtumBlocks.BLOCK_SAND.blockID; } @Override @@ -108,7 +109,7 @@ public Icon getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, i return this.iconGrassTop; } if(par5 == 0) { - return Blocks.BLOCK_SAND.getBlockTextureFromSide(par5); + return AtumBlocks.BLOCK_SAND.getBlockTextureFromSide(par5); } return this.blockIcon; diff --git a/src/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java b/src/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java index 99b029a..282387d 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java +++ b/src/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java @@ -24,6 +24,7 @@ public class BlockFertileSoilTilled extends Block { public BlockFertileSoilTilled(int par1) { super(par1, Material.ground); + this.setHardness(0.5F); this.setUnlocalizedName("atum:fertileSoilTilled"); this.setTickRandomly(true); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.9375F, 1.0F); @@ -61,7 +62,7 @@ public boolean renderAsNormalBlock() { @Override @SideOnly(Side.CLIENT) public Icon getIcon(int par1, int par2) { - return par2 >> 3 == 0 ? (par1 == 1 ? (par2 > 0 ? this.farmlandWet : this.farmlandDry) : Blocks.BLOCK_FERTILESOIL.getIcon(par1, 1)) : Block.tilledField.getIcon(par1, par2); + return par2 >> 3 == 0 ? (par1 == 1 ? (par2 > 0 ? this.farmlandWet : this.farmlandDry) : AtumBlocks.BLOCK_FERTILESOIL.getIcon(par1, 1)) : Block.tilledField.getIcon(par1, par2); } @Override @@ -146,13 +147,13 @@ public boolean canSustainPlant(World world, int x, int y, int z, ForgeDirection @Override public int idDropped(int par1, Random par2Random, int par3) { - return par1 >> 3 == 0 ? Blocks.BLOCK_SAND.blockID : Block.dirt.blockID; + return par1 >> 3 == 0 ? AtumBlocks.BLOCK_SAND.blockID : Block.dirt.blockID; } public void revertToDirt(World world, int x, int y, int z) { int type = world.getBlockMetadata(x, y, z) >> 3; if(type == 0) { - world.setBlock(x, y, z, Blocks.BLOCK_FERTILESOIL.blockID); + world.setBlock(x, y, z, AtumBlocks.BLOCK_FERTILESOIL.blockID); world.setBlockMetadataWithNotify(x, y, z, 1, 2); } else { world.setBlock(x, y, z, Block.dirt.blockID); @@ -164,7 +165,7 @@ public void revertToDirt(World world, int x, int y, int z) { @SideOnly(Side.CLIENT) public int idPicked(World par1World, int par2, int par3, int par4) { int type = par1World.getBlockMetadata(par2, par3, par4) >> 3; - return type == 0 ? Blocks.BLOCK_SAND.blockID : Block.dirt.blockID; + return type == 0 ? AtumBlocks.BLOCK_SAND.blockID : Block.dirt.blockID; } @Override diff --git a/src/com/teammetallurgy/atum/blocks/BlockFlax.java b/src/com/teammetallurgy/atum/blocks/BlockFlax.java index 7eb2187..3f4b52a 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockFlax.java +++ b/src/com/teammetallurgy/atum/blocks/BlockFlax.java @@ -14,7 +14,7 @@ import net.minecraftforge.common.EnumPlantType; import net.minecraftforge.common.ForgeDirection; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -43,7 +43,7 @@ public EnumPlantType getPlantType(World world, int x, int y, int z) { @Override public boolean canBlockStay(World par1World, int par2, int par3, int par4) { if(par1World.getBlockMetadata(par2, par3, par4) >> 3 == 1) { - return par1World.getBlockId(par2, par3 - 1, par4) == Blocks.BLOCK_FERTILESOIL.blockID; + return par1World.getBlockId(par2, par3 - 1, par4) == AtumBlocks.BLOCK_FERTILESOIL.blockID; } else { Block soil = Block.blocksList[par1World.getBlockId(par2, par3 - 1, par4)]; return (par1World.getFullBlockLightValue(par2, par3, par4) >= 8 || par1World.canBlockSeeTheSky(par2, par3, par4)) && soil != null && soil.canSustainPlant(par1World, par2, par3 - 1, par4, ForgeDirection.UP, this); @@ -52,7 +52,7 @@ public boolean canBlockStay(World par1World, int par2, int par3, int par4) { @Override protected boolean canThisPlantGrowOnThisBlockID(int par1) { - return par1 == Block.tilledField.blockID || par1 == Blocks.BLOCK_FERTILESOILTILLED.blockID; + return par1 == Block.tilledField.blockID || par1 == AtumBlocks.BLOCK_FERTILESOILTILLED.blockID; } @Override @@ -136,11 +136,11 @@ public int getRenderType() { } protected int getSeedItem() { - return Items.flaxSeeds.itemID; + return AtumItems.flaxSeeds.itemID; } protected int getCropItem() { - return Items.flax.itemID; + return AtumItems.flax.itemID; } @Override diff --git a/src/com/teammetallurgy/atum/blocks/BlockLeave.java b/src/com/teammetallurgy/atum/blocks/BlockLeave.java index 6db7902..646809a 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockLeave.java +++ b/src/com/teammetallurgy/atum/blocks/BlockLeave.java @@ -187,7 +187,7 @@ public int quantityDropped(Random par1Random) { } public int idDropped(int par1, Random par2Random, int par3) { - return Blocks.BLOCK_PALMSAPLING.blockID; + return AtumBlocks.BLOCK_PALMSAPLING.blockID; } @Override diff --git a/src/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java b/src/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java index 7840897..95ad190 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java +++ b/src/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java @@ -1,14 +1,22 @@ package com.teammetallurgy.atum.blocks; +import java.util.Random; + +import com.teammetallurgy.atum.blocks.tileentity.TileEntityLimestoneFurnace; + import net.minecraft.block.Block; import net.minecraft.block.BlockFurnace; import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Icon; +import net.minecraft.world.World; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class BlockLimeStoneFurnace extends BlockFurnace { + private static boolean keepFurnaceInventory; + boolean isActive; @SideOnly(Side.CLIENT) private Icon furnaceFront; @@ -36,4 +44,33 @@ public void registerIcons(IconRegister par1IconRegister) { this.blockIcon = par1IconRegister.registerIcon("atum:FurnaceTop"); this.furnaceFront = par1IconRegister.registerIcon(this.isActive ? "atum:FurnaceBurning" : "atum:FurnaceFront"); } + + @Override + public TileEntity createNewTileEntity(World par1World) { + return new TileEntityLimestoneFurnace(); + } + + public static void updateFurnaceBlockState(boolean par0, World par1World, int par2, int par3, int par4) { + int l = par1World.getBlockMetadata(par2, par3, par4); + TileEntity tileentity = par1World.getBlockTileEntity(par2, par3, par4); + keepFurnaceInventory = true; + if(par0) { + par1World.setBlock(par2, par3, par4, AtumBlocks.BLOCK_FURNACEBURNING.blockID); + } else { + par1World.setBlock(par2, par3, par4, AtumBlocks.BLOCK_FURNACEIDLE.blockID); + } + + keepFurnaceInventory = false; + par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); + if(tileentity != null) { + tileentity.validate(); + par1World.setBlockTileEntity(par2, par3, par4, tileentity); + } + + } + + @Override + public int idDropped(int par1, Random par2Random, int par3) { + return AtumBlocks.BLOCK_FURNACEIDLE.blockID; + } } diff --git a/src/com/teammetallurgy/atum/blocks/BlockPalmSapling.java b/src/com/teammetallurgy/atum/blocks/BlockPalmSapling.java index 2583bf9..76fdcfc 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockPalmSapling.java +++ b/src/com/teammetallurgy/atum/blocks/BlockPalmSapling.java @@ -32,57 +32,57 @@ public void growTree(World world, int x, int y, int z, Random rand) { int i; for(i = 0; i < height; ++i) { - world.setBlock(x, y + i, z, Blocks.BLOCK_LOG.blockID, 0, 2); + world.setBlock(x, y + i, z, AtumBlocks.BLOCK_LOG.blockID, 0, 2); } - world.setBlock(x, y + height, z, Blocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x, y + height, z, AtumBlocks.BLOCK_LEAVES.blockID, 0, 2); for(i = -1; i < 2; ++i) { for(int j = -1; j < 2; ++j) { if(i != 0 || j != 0) { - world.setBlock(x + i, y + height - 1, z + j, Blocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x + i, y + height - 1, z + j, AtumBlocks.BLOCK_LEAVES.blockID, 0, 2); } } } - world.setBlock(x + 2, y + height - 1, z, Blocks.BLOCK_LEAVES.blockID, 0, 2); - world.setBlock(x + 2, y + height - 2, z, Blocks.BLOCK_LEAVES.blockID, 0, 2); - world.setBlock(x + 3, y + height - 2, z, Blocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x + 2, y + height - 1, z, AtumBlocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x + 2, y + height - 2, z, AtumBlocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x + 3, y + height - 2, z, AtumBlocks.BLOCK_LEAVES.blockID, 0, 2); if(rand.nextInt(100) < 15) { - world.setBlock(x + 1, y + height - 2, z, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); + world.setBlock(x + 1, y + height - 2, z, AtumBlocks.BLOCK_DATEBLOCK.blockID, 0, 2); } - world.setBlock(x - 2, y + height - 1, z, Blocks.BLOCK_LEAVES.blockID, 0, 2); - world.setBlock(x - 2, y + height - 2, z, Blocks.BLOCK_LEAVES.blockID, 0, 2); - world.setBlock(x - 3, y + height - 2, z, Blocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x - 2, y + height - 1, z, AtumBlocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x - 2, y + height - 2, z, AtumBlocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x - 3, y + height - 2, z, AtumBlocks.BLOCK_LEAVES.blockID, 0, 2); if(rand.nextInt(100) < 15) { - world.setBlock(x - 1, y + height - 2, z, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); + world.setBlock(x - 1, y + height - 2, z, AtumBlocks.BLOCK_DATEBLOCK.blockID, 0, 2); } - world.setBlock(x, y + height - 1, z + 2, Blocks.BLOCK_LEAVES.blockID, 0, 2); - world.setBlock(x, y + height - 2, z + 2, Blocks.BLOCK_LEAVES.blockID, 0, 2); - world.setBlock(x, y + height - 2, z + 3, Blocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x, y + height - 1, z + 2, AtumBlocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x, y + height - 2, z + 2, AtumBlocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x, y + height - 2, z + 3, AtumBlocks.BLOCK_LEAVES.blockID, 0, 2); if(rand.nextInt(100) < 15) { - world.setBlock(x, y + height - 2, z + 1, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); + world.setBlock(x, y + height - 2, z + 1, AtumBlocks.BLOCK_DATEBLOCK.blockID, 0, 2); } - world.setBlock(x, y + height - 1, z - 2, Blocks.BLOCK_LEAVES.blockID, 0, 2); - world.setBlock(x, y + height - 2, z - 2, Blocks.BLOCK_LEAVES.blockID, 0, 2); - world.setBlock(x, y + height - 2, z - 3, Blocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x, y + height - 1, z - 2, AtumBlocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x, y + height - 2, z - 2, AtumBlocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x, y + height - 2, z - 3, AtumBlocks.BLOCK_LEAVES.blockID, 0, 2); if(rand.nextInt(100) < 15) { - world.setBlock(x, y + height - 2, z - 1, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); + world.setBlock(x, y + height - 2, z - 1, AtumBlocks.BLOCK_DATEBLOCK.blockID, 0, 2); } } @Override protected boolean canThisPlantGrowOnThisBlockID(int id) { - return id == Blocks.BLOCK_SAND.blockID || id == Block.grass.blockID || id == Block.dirt.blockID; + return id == AtumBlocks.BLOCK_SAND.blockID || id == Block.grass.blockID || id == Block.dirt.blockID; } @Override public boolean canBlockStay(World world, int x, int y, int z) { - return world.getBlockId(x, y - 1, z) == Blocks.BLOCK_SAND.blockID || world.getBlockId(x, y - 1, z) == Block.grass.blockID || world.getBlockId(x, y - 1, z) == Block.dirt.blockID; + return world.getBlockId(x, y - 1, z) == AtumBlocks.BLOCK_SAND.blockID || world.getBlockId(x, y - 1, z) == Block.grass.blockID || world.getBlockId(x, y - 1, z) == Block.dirt.blockID; } @Override diff --git a/src/com/teammetallurgy/atum/blocks/BlockPapyrus.java b/src/com/teammetallurgy/atum/blocks/BlockPapyrus.java index 2449a9d..3b04d81 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockPapyrus.java +++ b/src/com/teammetallurgy/atum/blocks/BlockPapyrus.java @@ -14,7 +14,7 @@ import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.IPlantable; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; @@ -136,7 +136,7 @@ public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, @Override public int idDropped(int par1, Random par2Random, int par3) { - return Items.papyrusPlant.itemID; + return AtumItems.papyrusPlant.itemID; } @Override @@ -157,7 +157,7 @@ public int getRenderType() { @Override @SideOnly(Side.CLIENT) public int idPicked(World par1World, int par2, int par3, int par4) { - return Items.papyrusPlant.itemID; + return AtumItems.papyrusPlant.itemID; } @Override diff --git a/src/com/teammetallurgy/atum/blocks/BlockPharaohChest.java b/src/com/teammetallurgy/atum/blocks/BlockPharaohChest.java index 9933488..5c5adc7 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockPharaohChest.java +++ b/src/com/teammetallurgy/atum/blocks/BlockPharaohChest.java @@ -21,7 +21,7 @@ import net.minecraftforge.common.ForgeDirection; import com.teammetallurgy.atum.AtumLoot; -import com.teammetallurgy.atum.blocks.tileentity.TileEntityPharaohChest; +import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityPharaohChest; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/com/teammetallurgy/atum/blocks/BlockPortal.java b/src/com/teammetallurgy/atum/blocks/BlockPortal.java index 52b216f..1286251 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockPortal.java +++ b/src/com/teammetallurgy/atum/blocks/BlockPortal.java @@ -99,7 +99,7 @@ public boolean tryToCreatePortal(World par1World, int x, int y, int z) { } for(int x1 = -1; x1 < 2; x1++) { for(int z1 = -1; z1 < 2; z1++) { - par1World.setBlock(x + x1, y + 1, z + z1, Blocks.BLOCK_PORTAL.blockID); + par1World.setBlock(x + x1, y + 1, z + z1, AtumBlocks.BLOCK_PORTAL.blockID); } } return true; diff --git a/src/com/teammetallurgy/atum/blocks/BlockSands.java b/src/com/teammetallurgy/atum/blocks/BlockSands.java index ec23a94..ce9d7ef 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockSands.java +++ b/src/com/teammetallurgy/atum/blocks/BlockSands.java @@ -1,5 +1,6 @@ package com.teammetallurgy.atum.blocks; +import net.minecraft.block.Block; import net.minecraft.block.BlockSand; import net.minecraft.client.renderer.texture.IconRegister; @@ -8,8 +9,10 @@ public class BlockSands extends BlockSand { public BlockSands(int par1) { super(par1); this.setUnlocalizedName("atum:sand"); + this.setStepSound(Block.soundSandFootstep); + this.setHardness(0.5F); } - + @Override public void registerIcons(IconRegister par1IconRegister) { this.blockIcon = par1IconRegister.registerIcon("atum:AtumSand"); diff --git a/src/com/teammetallurgy/atum/blocks/BlockShrub.java b/src/com/teammetallurgy/atum/blocks/BlockShrub.java index 5dc7869..51fd8d1 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockShrub.java +++ b/src/com/teammetallurgy/atum/blocks/BlockShrub.java @@ -23,7 +23,7 @@ protected BlockShrub(int par1) { @Override public boolean canThisPlantGrowOnThisBlockID(int par1) { - return par1 == Blocks.BLOCK_SAND.blockID; + return par1 == AtumBlocks.BLOCK_SAND.blockID; } @Override @@ -35,7 +35,7 @@ public int idDropped(int par1, Random par2Random, int par3) { public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6) { if(!par1World.isRemote && par2EntityPlayer.getCurrentEquippedItem() != null && par2EntityPlayer.getCurrentEquippedItem().itemID == Item.shears.itemID) { par2EntityPlayer.addStat(StatList.mineBlockStatArray[super.blockID], 1); - this.dropBlockAsItem_do(par1World, par3, par4, par5, new ItemStack(Blocks.BLOCK_SHRUB, 1, par6)); + this.dropBlockAsItem_do(par1World, par3, par4, par5, new ItemStack(AtumBlocks.BLOCK_SHRUB, 1, par6)); } else { super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6); } diff --git a/src/com/teammetallurgy/atum/blocks/BlockSlab.java b/src/com/teammetallurgy/atum/blocks/BlockSlab.java index 6da6898..eedf7fd 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockSlab.java +++ b/src/com/teammetallurgy/atum/blocks/BlockSlab.java @@ -30,13 +30,13 @@ public String getLocalizedName(ItemStack stack) { public Icon getIcon(int par1, int par2) { par2 %= 4; if(par2 == 0) - return Blocks.BLOCK_STONE.getIcon(par1, par2 & 0x7); + return AtumBlocks.BLOCK_STONE.getIcon(par1, par2 & 0x7); if(par2 == 1) - return Blocks.BLOCK_LIMESTONECOBBLE.getIcon(par1, par2 & 0x7); + return AtumBlocks.BLOCK_LIMESTONECOBBLE.getIcon(par1, par2 & 0x7); if(par2 == 2) { - return Blocks.BLOCK_LARGEBRICK.getIcon(par1, par2 & 0x7); + return AtumBlocks.BLOCK_LARGEBRICK.getIcon(par1, par2 & 0x7); } - return Blocks.BLOCK_SMALLBRICK.getIcon(par1, par2 & 0x7); + return AtumBlocks.BLOCK_SMALLBRICK.getIcon(par1, par2 & 0x7); } @Override diff --git a/src/com/teammetallurgy/atum/blocks/BlockStones.java b/src/com/teammetallurgy/atum/blocks/BlockStones.java index be9f59c..fbb90e1 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockStones.java +++ b/src/com/teammetallurgy/atum/blocks/BlockStones.java @@ -2,6 +2,7 @@ import java.util.Random; +import net.minecraft.block.Block; import net.minecraft.block.BlockStone; import net.minecraft.client.renderer.texture.IconRegister; @@ -10,10 +11,12 @@ public class BlockStones extends BlockStone { public BlockStones(int par1) { super(par1); this.setUnlocalizedName("atum:stone"); + this.setStepSound(Block.soundSandFootstep); + this.setHardness(0.5F); } public int idDropped(int par1, Random par2Random, int par3) { - return Blocks.BLOCK_LIMESTONECOBBLE.blockID; + return AtumBlocks.BLOCK_LIMESTONECOBBLE.blockID; } @Override diff --git a/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityLimestoneFurnace.java b/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityLimestoneFurnace.java new file mode 100644 index 0000000..e77d155 --- /dev/null +++ b/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityLimestoneFurnace.java @@ -0,0 +1,75 @@ +package com.teammetallurgy.atum.blocks.tileentity; + +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.FurnaceRecipes; +import net.minecraft.tileentity.TileEntityFurnace; + +import com.teammetallurgy.atum.blocks.BlockLimeStoneFurnace; + +public class TileEntityLimestoneFurnace extends TileEntityFurnace { + + private ItemStack[] furnaceItemStacks = new ItemStack[3]; + + @Override + public void updateEntity() { + boolean flag = this.furnaceBurnTime > 0; + boolean flag1 = false; + if(this.furnaceBurnTime > 0) { + --this.furnaceBurnTime; + } + + if(!super.worldObj.isRemote) { + if(this.furnaceBurnTime == 0 && this.canSmelt()) { + this.currentItemBurnTime = this.furnaceBurnTime = getItemBurnTime(this.furnaceItemStacks[1]); + if(this.furnaceBurnTime > 0) { + flag1 = true; + if(this.furnaceItemStacks[1] != null) { + --this.furnaceItemStacks[1].stackSize; + if(this.furnaceItemStacks[1].stackSize == 0) { + this.furnaceItemStacks[1] = this.furnaceItemStacks[1].getItem().getContainerItemStack(this.furnaceItemStacks[1]); + } + } + } + } + + if(this.isBurning() && this.canSmelt()) { + ++this.furnaceCookTime; + if(this.furnaceCookTime == 200) { + this.furnaceCookTime = 0; + this.smeltItem(); + flag1 = true; + } + } else { + this.furnaceCookTime = 0; + } + + if(flag != this.furnaceBurnTime > 0) { + flag1 = true; + BlockLimeStoneFurnace.updateFurnaceBlockState(this.furnaceBurnTime > 0, super.worldObj, super.xCoord, super.yCoord, super.zCoord); + } + } + + if(flag1) { + this.onInventoryChanged(); + } + + } + + private boolean canSmelt() { + if(this.furnaceItemStacks[0] == null) { + return false; + } else { + ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(this.furnaceItemStacks[0]); + if(itemstack == null) { + return false; + } else if(this.furnaceItemStacks[2] == null) { + return true; + } else if(!this.furnaceItemStacks[2].isItemEqual(itemstack)) { + return false; + } else { + int result = this.furnaceItemStacks[2].stackSize + itemstack.stackSize; + return result <= this.getInventoryStackLimit() && result <= itemstack.getMaxStackSize(); + } + } + } +} diff --git a/src/com/teammetallurgy/atum/blocks/tileentity/CursedChestBaseLogic.java b/src/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java similarity index 99% rename from src/com/teammetallurgy/atum/blocks/tileentity/CursedChestBaseLogic.java rename to src/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java index 5254621..558ba37 100644 --- a/src/com/teammetallurgy/atum/blocks/tileentity/CursedChestBaseLogic.java +++ b/src/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java @@ -1,4 +1,4 @@ -package com.teammetallurgy.atum.blocks.tileentity; +package com.teammetallurgy.atum.blocks.tileentity.chests; import java.util.ArrayList; import java.util.Iterator; diff --git a/src/com/teammetallurgy/atum/blocks/tileentity/CursedChestSpawnerLogic.java b/src/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestSpawnerLogic.java similarity index 95% rename from src/com/teammetallurgy/atum/blocks/tileentity/CursedChestSpawnerLogic.java rename to src/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestSpawnerLogic.java index 81bbe74..5c81799 100644 --- a/src/com/teammetallurgy/atum/blocks/tileentity/CursedChestSpawnerLogic.java +++ b/src/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestSpawnerLogic.java @@ -1,4 +1,4 @@ -package com.teammetallurgy.atum.blocks.tileentity; +package com.teammetallurgy.atum.blocks.tileentity.chests; import net.minecraft.block.Block; import net.minecraft.tileentity.WeightedRandomMinecart; diff --git a/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityChestSpawner.java b/src/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java similarity index 99% rename from src/com/teammetallurgy/atum/blocks/tileentity/TileEntityChestSpawner.java rename to src/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java index d942c2e..645bf21 100644 --- a/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityChestSpawner.java +++ b/src/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java @@ -1,4 +1,4 @@ -package com.teammetallurgy.atum.blocks.tileentity; +package com.teammetallurgy.atum.blocks.tileentity.chests; import java.util.Iterator; import java.util.List; diff --git a/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityPharaohChest.java b/src/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java similarity index 99% rename from src/com/teammetallurgy/atum/blocks/tileentity/TileEntityPharaohChest.java rename to src/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java index 7f8fec0..b015ccc 100644 --- a/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityPharaohChest.java +++ b/src/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java @@ -1,4 +1,4 @@ -package com.teammetallurgy.atum.blocks.tileentity; +package com.teammetallurgy.atum.blocks.tileentity.chests; import java.util.Iterator; import java.util.List; diff --git a/src/com/teammetallurgy/atum/client/render/entity/RenderBandit.java b/src/com/teammetallurgy/atum/client/render/entity/RenderBandit.java index bb20c77..ac6c3b4 100644 --- a/src/com/teammetallurgy/atum/client/render/entity/RenderBandit.java +++ b/src/com/teammetallurgy/atum/client/render/entity/RenderBandit.java @@ -19,7 +19,7 @@ import org.lwjgl.opengl.GL11; import com.teammetallurgy.atum.entity.EntityBanditWarrior; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -93,7 +93,7 @@ protected void renderEquippedItems(EntityLivingBase par1EntityLiving, float par2 GL11.glRotatef(20.0F, 1.0F, 0.0F, 0.0F); GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); GL11.glScalef(-f2, -f2, f2); - } else if(itemstack.itemID == Items.ITEM_BOW.itemID) { + } else if(itemstack.itemID == AtumItems.ITEM_BOW.itemID) { f2 = 0.625F; GL11.glTranslatef(0.0F, 0.125F, 0.3125F); GL11.glRotatef(-20.0F, 0.0F, 1.0F, 0.0F); diff --git a/src/com/teammetallurgy/atum/client/render/entity/RenderPharaoh.java b/src/com/teammetallurgy/atum/client/render/entity/RenderPharaoh.java index 10c1758..86bf428 100644 --- a/src/com/teammetallurgy/atum/client/render/entity/RenderPharaoh.java +++ b/src/com/teammetallurgy/atum/client/render/entity/RenderPharaoh.java @@ -21,7 +21,7 @@ import org.lwjgl.opengl.GL11; import com.teammetallurgy.atum.entity.EntityPharaoh; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -107,7 +107,7 @@ protected void renderEquippedItems(EntityLivingBase par1EntityLiving, float par2 GL11.glRotatef(20.0F, 1.0F, 0.0F, 0.0F); GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); GL11.glScalef(-f2, -f2, f2); - } else if(itemstack.itemID == Items.ITEM_BOW.itemID) { + } else if(itemstack.itemID == AtumItems.ITEM_BOW.itemID) { f2 = 0.625F; GL11.glTranslatef(0.0F, 0.125F, 0.3125F); GL11.glRotatef(-20.0F, 0.0F, 1.0F, 0.0F); diff --git a/src/com/teammetallurgy/atum/client/render/tileentity/RenderDate.java b/src/com/teammetallurgy/atum/client/render/tileentity/RenderDate.java index 592949d..8be6965 100644 --- a/src/com/teammetallurgy/atum/client/render/tileentity/RenderDate.java +++ b/src/com/teammetallurgy/atum/client/render/tileentity/RenderDate.java @@ -9,7 +9,7 @@ import net.minecraft.world.IBlockAccess; import com.teammetallurgy.atum.blocks.BlockDate; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.client.model.tileentity.ModelDate; import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; @@ -119,6 +119,6 @@ public boolean shouldRender3DInInventory() { @Override public int getRenderId() { - return ((BlockDate) Blocks.BLOCK_DATEBLOCK).renderID; + return ((BlockDate) AtumBlocks.BLOCK_DATEBLOCK).renderID; } } diff --git a/src/com/teammetallurgy/atum/entity/Entity.java b/src/com/teammetallurgy/atum/entity/AtumEntities.java similarity index 99% rename from src/com/teammetallurgy/atum/entity/Entity.java rename to src/com/teammetallurgy/atum/entity/AtumEntities.java index ddb5bcb..a44df7b 100644 --- a/src/com/teammetallurgy/atum/entity/Entity.java +++ b/src/com/teammetallurgy/atum/entity/AtumEntities.java @@ -19,7 +19,7 @@ import cpw.mods.fml.common.registry.EntityRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; -public enum Entity { +public enum AtumEntities { INSTANCE; public void register() { diff --git a/src/com/teammetallurgy/atum/entity/EntityBanditArcher.java b/src/com/teammetallurgy/atum/entity/EntityBanditArcher.java index aa429ab..d318ebb 100644 --- a/src/com/teammetallurgy/atum/entity/EntityBanditArcher.java +++ b/src/com/teammetallurgy/atum/entity/EntityBanditArcher.java @@ -24,7 +24,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; public class EntityBanditArcher extends EntityMob implements IRangedAttackMob, IAtumDayMob { private EntityAIArrowAttack aiArrowAttack = new EntityAIArrowAttack(this, 0.25F, 20, 60, 15.0F); @@ -32,7 +32,7 @@ public class EntityBanditArcher extends EntityMob implements IRangedAttackMob, I public EntityBanditArcher(World par1World) { super(par1World); - this.setCurrentItemOrArmor(0, new ItemStack(Items.ITEM_BOW)); + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_BOW)); this.enchantEquipment(); this.setCanPickUpLoot(this.rand.nextFloat() < equipmentDropChances[this.worldObj.difficultySetting]); @@ -117,7 +117,7 @@ public void setCombatTask() { this.tasks.removeTask(this.aiArrowAttack); ItemStack itemstack = this.getHeldItem(); - if(itemstack != null && itemstack.itemID == Items.ITEM_BOW.itemID) { + if(itemstack != null && itemstack.itemID == AtumItems.ITEM_BOW.itemID) { this.tasks.addTask(4, this.aiArrowAttack); } else { this.tasks.addTask(4, this.aiAttackOnCollide); @@ -166,8 +166,8 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { @Override protected void dropFewItems(boolean par1, int par2) { if(rand.nextInt(20) == 0) { - int damage = (int) (Items.ITEM_BOW.getMaxDamage() - rand.nextInt(Items.ITEM_BOW.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(Items.ITEM_BOW.itemID, 1, damage), 0.0F); + int damage = (int) (AtumItems.ITEM_BOW.getMaxDamage() - rand.nextInt(AtumItems.ITEM_BOW.getMaxDamage()) * 0.5 + 20); + this.entityDropItem(new ItemStack(AtumItems.ITEM_BOW.itemID, 1, damage), 0.0F); } if(rand.nextInt(10) == 0) { diff --git a/src/com/teammetallurgy/atum/entity/EntityBanditWarlord.java b/src/com/teammetallurgy/atum/entity/EntityBanditWarlord.java index ca6a6fd..998d382 100644 --- a/src/com/teammetallurgy/atum/entity/EntityBanditWarlord.java +++ b/src/com/teammetallurgy/atum/entity/EntityBanditWarlord.java @@ -10,7 +10,7 @@ import net.minecraft.world.World; import com.teammetallurgy.atum.AtumConfig; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; public class EntityBanditWarlord extends EntityMob implements IAtumDayMob { @@ -18,7 +18,7 @@ public EntityBanditWarlord(World par1World) { super(par1World); this.experienceValue = 16; - this.setCurrentItemOrArmor(0, new ItemStack(Items.ITEM_SCIMITAR)); + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCIMITAR)); EnchantmentHelper.addRandomEnchantment(this.rand, this.getHeldItem(), 5 + this.worldObj.difficultySetting * this.rand.nextInt(6)); for(int i = 0; i < this.equipmentDropChances.length; ++i) { @@ -79,8 +79,8 @@ public EnumCreatureAttribute getCreatureAttribute() { @Override protected void dropFewItems(boolean par1, int par2) { if(rand.nextInt(20) == 0) { - int damage = (int) (Items.ITEM_SCIMITAR.getMaxDamage() - rand.nextInt(Items.ITEM_SCIMITAR.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(Items.ITEM_SCIMITAR.itemID, 1, damage), 0.0F); + int damage = (int) (AtumItems.ITEM_SCIMITAR.getMaxDamage() - rand.nextInt(AtumItems.ITEM_SCIMITAR.getMaxDamage()) * 0.5 + 20); + this.entityDropItem(new ItemStack(AtumItems.ITEM_SCIMITAR.itemID, 1, damage), 0.0F); } if(rand.nextInt(4) == 0) { @@ -91,13 +91,13 @@ protected void dropFewItems(boolean par1, int par2) { if(rand.nextInt(4) == 0) { int choice = rand.nextInt(4); if(choice == 0) { - this.dropItem(Items.wandererHelmet.itemID, 1); + this.dropItem(AtumItems.wandererHelmet.itemID, 1); } else if(choice == 1) { - this.dropItem(Items.wandererChest.itemID, 1); + this.dropItem(AtumItems.wandererChest.itemID, 1); } else if(choice == 2) { - this.dropItem(Items.wandererLegs.itemID, 1); + this.dropItem(AtumItems.wandererLegs.itemID, 1); } else if(choice == 3) { - this.dropItem(Items.wandererBoots.itemID, 1); + this.dropItem(AtumItems.wandererBoots.itemID, 1); } } } diff --git a/src/com/teammetallurgy/atum/entity/EntityBanditWarrior.java b/src/com/teammetallurgy/atum/entity/EntityBanditWarrior.java index 12a1f66..67e01d9 100644 --- a/src/com/teammetallurgy/atum/entity/EntityBanditWarrior.java +++ b/src/com/teammetallurgy/atum/entity/EntityBanditWarrior.java @@ -9,7 +9,7 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; public class EntityBanditWarrior extends EntityMob implements IAtumDayMob { @@ -17,7 +17,7 @@ public EntityBanditWarrior(World par1World) { super(par1World); this.experienceValue = 8; - super.setCurrentItemOrArmor(0, new ItemStack(Items.ITEM_SCIMITAR)); + super.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCIMITAR)); this.enchantEquipment(); for(int i = 0; i < this.equipmentDropChances.length; ++i) { @@ -79,8 +79,8 @@ public int getAttackStrength(Entity par1Entity) { @Override protected void dropFewItems(boolean par1, int par2) { if(rand.nextInt(20) == 0) { - int damage = (int) (Items.ITEM_SCIMITAR.getMaxDamage() - rand.nextInt(Items.ITEM_SCIMITAR.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(Items.ITEM_SCIMITAR.itemID, 1, damage), 0.0F); + int damage = (int) (AtumItems.ITEM_SCIMITAR.getMaxDamage() - rand.nextInt(AtumItems.ITEM_SCIMITAR.getMaxDamage()) * 0.5 + 20); + this.entityDropItem(new ItemStack(AtumItems.ITEM_SCIMITAR.itemID, 1, damage), 0.0F); } if(rand.nextInt(10) == 0) { diff --git a/src/com/teammetallurgy/atum/entity/EntityBarbarian.java b/src/com/teammetallurgy/atum/entity/EntityBarbarian.java index 7c2e921..c0d4a05 100644 --- a/src/com/teammetallurgy/atum/entity/EntityBarbarian.java +++ b/src/com/teammetallurgy/atum/entity/EntityBarbarian.java @@ -9,7 +9,7 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; public class EntityBarbarian extends EntityMob implements IAtumDayMob { @@ -17,7 +17,7 @@ public EntityBarbarian(World par1World) { super(par1World); this.experienceValue = 9; - this.setCurrentItemOrArmor(0, new ItemStack(Items.ITEM_GREATSWORD)); + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_GREATSWORD)); this.enchantEquipment(); for(int i = 0; i < this.equipmentDropChances.length; ++i) { @@ -68,8 +68,8 @@ public EnumCreatureAttribute getCreatureAttribute() { @Override protected void dropFewItems(boolean par1, int par2) { if(rand.nextInt(20) == 0) { - int damage = (int) (Items.ITEM_GREATSWORD.getMaxDamage() - rand.nextInt(Items.ITEM_GREATSWORD.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(Items.ITEM_GREATSWORD.itemID, 1, damage), 0.0F); + int damage = (int) (AtumItems.ITEM_GREATSWORD.getMaxDamage() - rand.nextInt(AtumItems.ITEM_GREATSWORD.getMaxDamage()) * 0.5 + 20); + this.entityDropItem(new ItemStack(AtumItems.ITEM_GREATSWORD.itemID, 1, damage), 0.0F); } if(rand.nextInt(4) == 0) { diff --git a/src/com/teammetallurgy/atum/entity/EntityDesertWolf.java b/src/com/teammetallurgy/atum/entity/EntityDesertWolf.java index 67e1d72..db7d972 100644 --- a/src/com/teammetallurgy/atum/entity/EntityDesertWolf.java +++ b/src/com/teammetallurgy/atum/entity/EntityDesertWolf.java @@ -30,7 +30,7 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -203,7 +203,7 @@ protected void dropFewItems(boolean par1, int par2) { } if(rand.nextInt(4) == 0) { int amount = rand.nextInt(2) + 1; - this.dropItem(Items.pelt.itemID, amount); + this.dropItem(AtumItems.pelt.itemID, amount); } } diff --git a/src/com/teammetallurgy/atum/entity/EntityGhost.java b/src/com/teammetallurgy/atum/entity/EntityGhost.java index 3f10ee9..afabf3c 100644 --- a/src/com/teammetallurgy/atum/entity/EntityGhost.java +++ b/src/com/teammetallurgy/atum/entity/EntityGhost.java @@ -12,7 +12,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.ForgeHooks; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; public class EntityGhost extends EntityMob implements IAtumNightMob { private int cycleHeight = 0; @@ -124,7 +124,7 @@ protected void attackEntity(Entity par1Entity, float par2) { protected void dropFewItems(boolean par1, int par2) { if(this.rand.nextInt(4) == 0) { int amount = rand.nextInt(3) + 1; - this.dropItem(Items.ectoplasm.itemID, amount); + this.dropItem(AtumItems.ectoplasm.itemID, amount); } } diff --git a/src/com/teammetallurgy/atum/entity/EntityMummy.java b/src/com/teammetallurgy/atum/entity/EntityMummy.java index 1ac8c10..90ff37a 100644 --- a/src/com/teammetallurgy/atum/entity/EntityMummy.java +++ b/src/com/teammetallurgy/atum/entity/EntityMummy.java @@ -8,7 +8,7 @@ import net.minecraft.util.DamageSource; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; public class EntityMummy extends EntityMob implements IAtumNightMob { @@ -83,7 +83,7 @@ protected void dropFewItems(boolean par1, int par2) { } if(rand.nextInt(4) == 0) { int amount = rand.nextInt(2) + 1; - this.dropItem(Items.scrap.itemID, amount); + this.dropItem(AtumItems.scrap.itemID, amount); } } } diff --git a/src/com/teammetallurgy/atum/entity/EntityPharaoh.java b/src/com/teammetallurgy/atum/entity/EntityPharaoh.java index ff508e9..1d45429 100644 --- a/src/com/teammetallurgy/atum/entity/EntityPharaoh.java +++ b/src/com/teammetallurgy/atum/entity/EntityPharaoh.java @@ -22,9 +22,9 @@ import net.minecraft.world.World; import com.teammetallurgy.atum.AtumLoot; -import com.teammetallurgy.atum.blocks.Blocks; -import com.teammetallurgy.atum.blocks.tileentity.TileEntityPharaohChest; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityPharaohChest; +import com.teammetallurgy.atum.items.AtumItems; import cpw.mods.fml.common.FMLCommonHandler; @@ -50,7 +50,7 @@ public EntityPharaoh(World par1World) { Random rand = new Random(); stage = 0; - this.setCurrentItemOrArmor(0, new ItemStack(Items.ITEM_SCEPTER)); + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCEPTER)); for(int i = 0; i < this.equipmentDropChances.length; ++i) { this.equipmentDropChances[i] = 0F; @@ -213,7 +213,7 @@ private boolean destroyBlocksInAABB(AxisAlignedBB par1AxisAlignedBB) { Block block = Block.blocksList[id]; if(block != null) { - if(id != Blocks.BLOCK_LARGEBRICK.blockID && id != Blocks.BLOCK_PHARAOHCHEST.blockID && Block.blocksList[id].isBlockSolid(worldObj, x, y, z, 0)) { + if(id != AtumBlocks.BLOCK_LARGEBRICK.blockID && id != AtumBlocks.BLOCK_PHARAOHCHEST.blockID && Block.blocksList[id].isBlockSolid(worldObj, x, y, z, 0)) { Block.blocksList[id].dropBlockAsItem(worldObj, x, y, z, metadata, 0); flag1 = this.worldObj.setBlockToAir(x, y, z) || flag1; } diff --git a/src/com/teammetallurgy/atum/entity/EntityStoneSoldier.java b/src/com/teammetallurgy/atum/entity/EntityStoneSoldier.java index a507379..250fbd8 100644 --- a/src/com/teammetallurgy/atum/entity/EntityStoneSoldier.java +++ b/src/com/teammetallurgy/atum/entity/EntityStoneSoldier.java @@ -10,7 +10,7 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; public class EntityStoneSoldier extends EntityStone implements IAtumNightMob, IAtumDayMob { @@ -19,7 +19,7 @@ public EntityStoneSoldier(World par1World) { this.isImmuneToFire = true; this.experienceValue = 8; - this.setCurrentItemOrArmor(0, new ItemStack(Items.ITEM_STONESOLDIER_SWORD)); + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_STONESOLDIER_SWORD)); for(int i = 0; i < this.equipmentDropChances.length; ++i) { this.equipmentDropChances[i] = 0F; @@ -108,7 +108,7 @@ public void knockBack(Entity par1Entity, float par2, double par3, double par5) { protected void dropFewItems(boolean par1, int par2) { if(this.rand.nextInt(4) == 0) { int amount = rand.nextInt(2) + 1; - this.dropItem(Items.stoneChunk.itemID, amount); + this.dropItem(AtumItems.stoneChunk.itemID, amount); } } diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java b/src/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java index 1887a10..62c7b30 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java +++ b/src/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java @@ -21,7 +21,7 @@ import com.teammetallurgy.atum.AtumFish; import com.teammetallurgy.atum.AtumIDS; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -195,7 +195,7 @@ public void onUpdate() { if(!this.worldObj.isRemote) { ItemStack itemstack = this.angler.getCurrentEquippedItem(); - if(this.angler.isDead || !this.angler.isEntityAlive() || itemstack == null || itemstack.getItem() != Items.anuketsBounty || this.getDistanceSqToEntity(this.angler) > 1024.0D) { + if(this.angler.isDead || !this.angler.isEntityAlive() || itemstack == null || itemstack.getItem() != AtumItems.anuketsBounty || this.getDistanceSqToEntity(this.angler) > 1024.0D) { this.setDead(); this.angler.fishEntity = null; return; diff --git a/src/com/teammetallurgy/atum/items/Items.java b/src/com/teammetallurgy/atum/items/AtumItems.java similarity index 97% rename from src/com/teammetallurgy/atum/items/Items.java rename to src/com/teammetallurgy/atum/items/AtumItems.java index 386402e..540400c 100644 --- a/src/com/teammetallurgy/atum/items/Items.java +++ b/src/com/teammetallurgy/atum/items/AtumItems.java @@ -13,7 +13,7 @@ import com.teammetallurgy.atum.Atum; import com.teammetallurgy.atum.AtumIDS; import com.teammetallurgy.atum.LocalizationHelper; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.items.artifacts.IsisEmbrace; import com.teammetallurgy.atum.items.artifacts.ItemAkersToil; import com.teammetallurgy.atum.items.artifacts.ItemAmunetsHomecoming; @@ -51,7 +51,7 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public enum Items { +public enum AtumItems { INSTANCE; public static final Item ITEM_SCARAB = new ItemScarab(AtumIDS.ITEM_SCARAB_ID).setUnlocalizedName("atum:scarab"); @@ -75,7 +75,7 @@ public enum Items { public static final Item monthusStrike = new ItemMonthusStrike(AtumIDS.ITEM_MONTHUSSTRIKE_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:monthusStrike"); public static final Item anhursMight = new ItemAnhursMight(AtumIDS.ITEM_ANHURSMIGHT_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:anhursMight"); public static final Item hedetetsSting = new ItemHedetetsSting(AtumIDS.ITEM_HEDETETSSTING_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:hedetetsSting"); - public static final Item horusSoaring = new ItemHorusSoaring(AtumIDS.ITEM_HORUSFLIGHT_ID).setUnlocalizedName("atum:horusSoaring"); + public static final Item horusSoaring = new ItemHorusSoaring(AtumIDS.ITEM_HORUSSOARING_ID).setUnlocalizedName("atum:horusSoaring"); public static final Item shusBreath = new ItemShusBreath(AtumIDS.ITEM_SHUSBREATH_ID).setUnlocalizedName("atum:shusBreath"); public static final Item ptahsDestruction = new ItemPtahsDestruction(AtumIDS.ITEM_PTAHSDESTRUCTION_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:ptahsDestruction"); public static final Item monthusBlast = new ItemMonthusBlast(AtumIDS.ITEM_MONTHUSBLAST_ID).setUnlocalizedName("atum:monthusBlast"); @@ -111,7 +111,7 @@ public enum Items { public static final Item desertChest = new ItemTexturedArmor(AtumIDS.ITEM_DESERTCHEST_ID, desertEnum, 0, 1).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("atum:desertChest").setTextureName("atum:DesertChest"); public static final Item desertLegs = new ItemTexturedArmor(AtumIDS.ITEM_DESERTLEGS_ID, desertEnum, 0, 2).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_2").setUnlocalizedName("atum:desertLegs").setTextureName("atum:DesertLegs"); public static final Item desertBoots = new ItemTexturedArmor(AtumIDS.ITEM_DESERTBOOTS_ID, desertEnum, 0, 3).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("atum:desertBoots").setTextureName("atum:DesertBoots"); - public static final Item papyrusPlant = new ItemPapyrusPlant(AtumIDS.ITEM_PAPYRUSPLANT_ID, Blocks.BLOCK_PAPYRUS).setUnlocalizedName("atum:papyrusPlantItem"); + public static final Item papyrusPlant = new ItemPapyrusPlant(AtumIDS.ITEM_PAPYRUSPLANT_ID, AtumBlocks.BLOCK_PAPYRUS).setUnlocalizedName("atum:papyrusPlantItem"); public static final Item ectoplasm = new Item(AtumIDS.ITEM_ECTOPLASM_ID).setUnlocalizedName("atum:ectoplasm").setTextureName("atum:Ectoplasm"); public static final Item stoneChunk = new Item(AtumIDS.ITEM_STONECHUNK_ID).setUnlocalizedName("atum:stoneChunk").setTextureName("atum:StoneChunk"); public static final Item scrap = new Item(AtumIDS.ITEM_SCRAP_ID).setUnlocalizedName("atum:clothScrap").setTextureName("atum:ClothScrap"); @@ -119,7 +119,7 @@ public enum Items { public static final Item pelt = new Item(AtumIDS.ITEM_PELT_ID).setUnlocalizedName("atum:wolfPelt").setTextureName("atum:WolfPelt"); public static final Item linen = new Item(AtumIDS.ITEM_LINEN_ID).setUnlocalizedName("atum:linen").setTextureName("atum:Linen"); public static final Item flax = new Item(AtumIDS.ITEM_FLAX_ID).setUnlocalizedName("atum:flaxItem").setTextureName("atum:FlaxItem"); - public static final Item flaxSeeds = new ItemSeeds(AtumIDS.ITEM_FLAXSEEDS_ID, Blocks.BLOCK_FLAX.blockID, Block.tilledField.blockID).setUnlocalizedName("atum:flaxSeeds").setTextureName("atum:FlaxSeeds"); + public static final Item flaxSeeds = new ItemSeeds(AtumIDS.ITEM_FLAXSEEDS_ID, AtumBlocks.BLOCK_FLAX.blockID, Block.tilledField.blockID).setUnlocalizedName("atum:flaxSeeds").setTextureName("atum:FlaxSeeds"); public static final Item fish = new ItemFish(AtumIDS.ITEM_FISH_ID).setUnlocalizedName("atum:fish"); public static final Item neithsAudacity = new ItemNeithsAudacity(AtumIDS.ITEM_NEITHSAUDACITY_ID).setUnlocalizedName("atum:neithsAudacity"); public static final Item spear = new ItemSpear(AtumIDS.ITEM_SPEAR_ID).setUnlocalizedName("atum:spear"); diff --git a/src/com/teammetallurgy/atum/items/ItemLoot.java b/src/com/teammetallurgy/atum/items/ItemLoot.java index fa9d914..270204f 100644 --- a/src/com/teammetallurgy/atum/items/ItemLoot.java +++ b/src/com/teammetallurgy/atum/items/ItemLoot.java @@ -33,7 +33,7 @@ public ItemLoot(int par1) { public static ItemStack getRandomLoot(Random rand, boolean isDirty) { int type = rand.nextInt(typeArray.length); int quality = rand.nextInt(qualityArray.length - 1) + 1; - return new ItemStack(Items.ITEM_LOOT.itemID, 1, type << 5 | quality << 1 | (isDirty ? 1 : 0)); + return new ItemStack(AtumItems.ITEM_LOOT.itemID, 1, type << 5 | quality << 1 | (isDirty ? 1 : 0)); } @Override diff --git a/src/com/teammetallurgy/atum/items/ItemScarab.java b/src/com/teammetallurgy/atum/items/ItemScarab.java index 80034c9..3fb6e90 100644 --- a/src/com/teammetallurgy/atum/items/ItemScarab.java +++ b/src/com/teammetallurgy/atum/items/ItemScarab.java @@ -8,7 +8,7 @@ import net.minecraft.world.World; import com.teammetallurgy.atum.blocks.BlockPortal; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; public class ItemScarab extends Item { @@ -26,7 +26,7 @@ public boolean hasEffect(ItemStack par1ItemStack) { public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int x, int y, int z, int par7, float par8, float par9, float par10) { int blockID = par3World.getBlockId(x, y, z); if(blockID == Block.sandStone.blockID) { - if(!((BlockPortal) Blocks.BLOCK_PORTAL).tryToCreatePortal(par3World, x, y, z)) { + if(!((BlockPortal) AtumBlocks.BLOCK_PORTAL).tryToCreatePortal(par3World, x, y, z)) { if(par2EntityPlayer.capabilities.isCreativeMode) { for(int x1 = -2; x1 < 3; x1++) { for(int z1 = -2; z1 < 3; z1++) { diff --git a/src/com/teammetallurgy/atum/items/LimestoneAxe.java b/src/com/teammetallurgy/atum/items/LimestoneAxe.java index b661e6b..e31a778 100644 --- a/src/com/teammetallurgy/atum/items/LimestoneAxe.java +++ b/src/com/teammetallurgy/atum/items/LimestoneAxe.java @@ -5,7 +5,7 @@ import net.minecraft.item.ItemAxe; import net.minecraft.item.ItemStack; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; public class LimestoneAxe extends ItemAxe { @@ -15,7 +15,7 @@ public LimestoneAxe(int par1, EnumToolMaterial par2EnumToolMaterial) { @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Blocks.BLOCK_LIMESTONECOBBLE.blockID; + return par2ItemStack.itemID == AtumBlocks.BLOCK_LIMESTONECOBBLE.blockID; } @Override diff --git a/src/com/teammetallurgy/atum/items/LimestoneHoe.java b/src/com/teammetallurgy/atum/items/LimestoneHoe.java index dac5d22..ddbffb5 100644 --- a/src/com/teammetallurgy/atum/items/LimestoneHoe.java +++ b/src/com/teammetallurgy/atum/items/LimestoneHoe.java @@ -5,7 +5,7 @@ import net.minecraft.item.ItemHoe; import net.minecraft.item.ItemStack; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; public class LimestoneHoe extends ItemHoe { @@ -15,7 +15,7 @@ public LimestoneHoe(int par1, EnumToolMaterial par2EnumToolMaterial) { @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Blocks.BLOCK_LIMESTONECOBBLE.blockID; + return par2ItemStack.itemID == AtumBlocks.BLOCK_LIMESTONECOBBLE.blockID; } @Override diff --git a/src/com/teammetallurgy/atum/items/LimestonePickaxe.java b/src/com/teammetallurgy/atum/items/LimestonePickaxe.java index 4b3d793..7486582 100644 --- a/src/com/teammetallurgy/atum/items/LimestonePickaxe.java +++ b/src/com/teammetallurgy/atum/items/LimestonePickaxe.java @@ -5,7 +5,7 @@ import net.minecraft.item.ItemPickaxe; import net.minecraft.item.ItemStack; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; public class LimestonePickaxe extends ItemPickaxe { @@ -15,7 +15,7 @@ public LimestonePickaxe(int par1, EnumToolMaterial par2EnumToolMaterial) { @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Blocks.BLOCK_LIMESTONECOBBLE.blockID; + return par2ItemStack.itemID == AtumBlocks.BLOCK_LIMESTONECOBBLE.blockID; } @Override diff --git a/src/com/teammetallurgy/atum/items/LimestoneShovel.java b/src/com/teammetallurgy/atum/items/LimestoneShovel.java index 6cc5d99..0ede58e 100644 --- a/src/com/teammetallurgy/atum/items/LimestoneShovel.java +++ b/src/com/teammetallurgy/atum/items/LimestoneShovel.java @@ -1,6 +1,6 @@ package com.teammetallurgy.atum.items; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.item.EnumToolMaterial; @@ -15,7 +15,7 @@ public LimestoneShovel(int par1, EnumToolMaterial par2EnumToolMaterial) { @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Blocks.BLOCK_LIMESTONECOBBLE.blockID; + return par2ItemStack.itemID == AtumBlocks.BLOCK_LIMESTONECOBBLE.blockID; } @Override diff --git a/src/com/teammetallurgy/atum/items/LimestoneSword.java b/src/com/teammetallurgy/atum/items/LimestoneSword.java index 1314074..ce95889 100644 --- a/src/com/teammetallurgy/atum/items/LimestoneSword.java +++ b/src/com/teammetallurgy/atum/items/LimestoneSword.java @@ -5,7 +5,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; public class LimestoneSword extends ItemSword { @@ -14,7 +14,7 @@ public LimestoneSword(int par1, EnumToolMaterial par2EnumToolMaterial) { } public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Blocks.BLOCK_LIMESTONECOBBLE.blockID; + return par2ItemStack.itemID == AtumBlocks.BLOCK_LIMESTONECOBBLE.blockID; } public void registerIcons(IconRegister par1IconRegister) { diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java b/src/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java index b8ef4bc..be1774e 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java @@ -18,7 +18,7 @@ import org.lwjgl.input.Keyboard; import com.teammetallurgy.atum.items.ItemTexturedArmor; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -47,7 +47,7 @@ public void onJump(LivingJumpEvent event) { @ForgeSubscribe public void onFallDamage(LivingFallEvent event) { - if(event.entityLiving.getCurrentItemOrArmor(0) != null && event.entityLiving.getCurrentItemOrArmor(0).itemID == Items.horusFlight.itemID) { + if(event.entityLiving.getCurrentItemOrArmor(0) != null && event.entityLiving.getCurrentItemOrArmor(0).itemID == AtumItems.horusFlight.itemID) { event.distance = 0.0F; } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java b/src/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java index 3ba9b19..e9c4aac 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java @@ -16,7 +16,7 @@ import org.lwjgl.input.Keyboard; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -45,7 +45,7 @@ public float getDamageVsEntity(Entity par1Entity, ItemStack stack) { @Override public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase mob, EntityLivingBase player) { if(!mob.isEntityAlive() && Math.random() < 0.5D && mob.getCreatureAttribute() == EnumCreatureAttribute.UNDEAD) { - mob.dropItem(Items.ectoplasm.itemID, 1); + mob.dropItem(AtumItems.ectoplasm.itemID, 1); } return super.hitEntity(par1ItemStack, mob, player); diff --git a/src/com/teammetallurgy/atum/lib/handler/CraftingHandler.java b/src/com/teammetallurgy/atum/lib/handler/CraftingHandler.java index 247da1a..b3d3f44 100644 --- a/src/com/teammetallurgy/atum/lib/handler/CraftingHandler.java +++ b/src/com/teammetallurgy/atum/lib/handler/CraftingHandler.java @@ -7,8 +7,8 @@ import net.minecraftforge.oredict.ShapedOreRecipe; import net.minecraftforge.oredict.ShapelessOreRecipe; -import com.teammetallurgy.atum.blocks.Blocks; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.items.AtumItems; import cpw.mods.fml.common.registry.GameRegistry; @@ -22,66 +22,66 @@ public void register() { } private void addRecipes() { - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Blocks.BLOCK_LARGEBRICK, 4), "XX", "XX", 'X', Blocks.BLOCK_STONE)); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Blocks.BLOCK_SMALLBRICK, 4), "XX", "XX", 'X', Blocks.BLOCK_LIMESTONECOBBLE)); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(Blocks.BLOCK_CARVEDBRICK, 1), Blocks.BLOCK_STONE)); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_SMOOTHSTAIRS, 6), "X ", "XX ", "XXX", 'X', Blocks.BLOCK_STONE); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_COBBLESTAIRS, 6), "X ", "XX ", "XXX", 'X', Blocks.BLOCK_LIMESTONECOBBLE); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_LARGESTONESTAIRS, 6), "X ", "XX ", "XXX", 'X', Blocks.BLOCK_LARGEBRICK); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_SMALLSTONESTAIRS, 6), "X ", "XX ", "XXX", 'X', Blocks.BLOCK_SMALLBRICK); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_SLABS, 6, 0), "XXX", 'X', Blocks.BLOCK_STONE); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_SLABS, 6, 1), "XXX", 'X', Blocks.BLOCK_LIMESTONECOBBLE); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_SLABS, 6, 2), "XXX", 'X', Blocks.BLOCK_LARGEBRICK); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_SLABS, 6, 3), "XXX", 'X', Blocks.BLOCK_SMALLBRICK); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_WALL, 6, 0), "XXX", "XXX", 'X', Blocks.BLOCK_STONE); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_WALL, 6, 1), "XXX", "XXX", 'X', Blocks.BLOCK_LIMESTONECOBBLE); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_WALL, 6, 2), "XXX", "XXX", 'X', Blocks.BLOCK_LARGEBRICK); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_WALL, 6, 3), "XXX", "XXX", 'X', Blocks.BLOCK_SMALLBRICK); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_FRAMEDGLASS), " X ", "XSX", " X ", 'X', Item.stick, 'S', Blocks.BLOCK_CRYSTALGLASS); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_CRACKEDLARGEBRICK, 4), "XX", "XX", 'X', Items.stoneChunk); - GameRegistry.addRecipe(new ItemStack(Item.expBottle), " X ", "XBX", " X ", 'X', Items.ectoplasm, 'B', Item.potion); - GameRegistry.addRecipe(new ItemStack(Items.limestoneSword), "L", "L", "S", 'L', Blocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); - GameRegistry.addRecipe(new ItemStack(Items.limestoneShovel), "L", "S", "S", 'L', Blocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); - GameRegistry.addRecipe(new ItemStack(Items.limestonePickaxe), "LLL", " S ", " S ", 'L', Blocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); - GameRegistry.addRecipe(new ItemStack(Items.limestoneAxe), "LL", "LS", " S", 'L', Blocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); - GameRegistry.addRecipe(new ItemStack(Items.limestoneHoe), "LL", " S", " S", 'L', Blocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); - GameRegistry.addRecipe(new ItemStack(Items.mummyHelmet), "XXX", "X X", 'X', Items.scrap); - GameRegistry.addRecipe(new ItemStack(Items.mummyChest), "X X", "XXX", "XXX", 'X', Items.scrap); - GameRegistry.addRecipe(new ItemStack(Items.mummyLegs), "XXX", "X X", "X X", 'X', Items.scrap); - GameRegistry.addRecipe(new ItemStack(Items.mummyBoots), "X X", "X X", 'X', Items.scrap); - GameRegistry.addRecipe(new ItemStack(Items.wandererHelmet), "XXX", "X X", 'X', Items.linen); - GameRegistry.addRecipe(new ItemStack(Items.wandererChest), "X X", "XXX", "XXX", 'X', Items.linen); - GameRegistry.addRecipe(new ItemStack(Items.wandererLegs), "XXX", "X X", "X X", 'X', Items.linen); - GameRegistry.addRecipe(new ItemStack(Items.wandererBoots), "X X", "X X", 'X', Items.linen); - GameRegistry.addRecipe(new ItemStack(Items.linen), "XXX", 'X', Items.flax); - GameRegistry.addRecipe(new ItemStack(Item.glassBottle, 3), "X X", " X ", 'X', Blocks.BLOCK_CRYSTALGLASS); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_THINCRYSTALGLASS, 16), "XXX", "XXX", 'X', Blocks.BLOCK_CRYSTALGLASS); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_THINFRAMEDGLASS, 16), "XXX", "XXX", 'X', Blocks.BLOCK_FRAMEDGLASS); - GameRegistry.addRecipe(new ItemStack(Items.scroll), "XXX", "SXS", "XXX", 'X', Items.papyrusPlant, 'S', Item.stick); - GameRegistry.addRecipe(new ItemStack(Items.ITEM_SCARAB), " G ", "GDG", " G ", 'G', Item.ingotGold, 'D', Item.diamond); - GameRegistry.addRecipe(new ItemStack(Blocks.BLOCK_FURNACEIDLE), "XXX", "X X", "XXX", 'X', Blocks.BLOCK_LIMESTONECOBBLE); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(AtumBlocks.BLOCK_LARGEBRICK, 4), "XX", "XX", 'X', AtumBlocks.BLOCK_STONE)); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(AtumBlocks.BLOCK_SMALLBRICK, 4), "XX", "XX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE)); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(AtumBlocks.BLOCK_CARVEDBRICK, 1), AtumBlocks.BLOCK_STONE)); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SMOOTHSTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_STONE); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_COBBLESTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_LARGESTONESTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_LARGEBRICK); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SMALLSTONESTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_SMALLBRICK); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 0), "XXX", 'X', AtumBlocks.BLOCK_STONE); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 1), "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 2), "XXX", 'X', AtumBlocks.BLOCK_LARGEBRICK); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 3), "XXX", 'X', AtumBlocks.BLOCK_SMALLBRICK); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 0), "XXX", "XXX", 'X', AtumBlocks.BLOCK_STONE); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 1), "XXX", "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 2), "XXX", "XXX", 'X', AtumBlocks.BLOCK_LARGEBRICK); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 3), "XXX", "XXX", 'X', AtumBlocks.BLOCK_SMALLBRICK); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_FRAMEDGLASS), " X ", "XSX", " X ", 'X', Item.stick, 'S', AtumBlocks.BLOCK_CRYSTALGLASS); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_CRACKEDLARGEBRICK, 4), "XX", "XX", 'X', AtumItems.stoneChunk); + GameRegistry.addRecipe(new ItemStack(Item.expBottle), " X ", "XBX", " X ", 'X', AtumItems.ectoplasm, 'B', Item.potion); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneSword), "L", "L", "S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneShovel), "L", "S", "S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestonePickaxe), "LLL", " S ", " S ", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneAxe), "LL", "LS", " S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneHoe), "LL", " S", " S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.mummyHelmet), "XXX", "X X", 'X', AtumItems.scrap); + GameRegistry.addRecipe(new ItemStack(AtumItems.mummyChest), "X X", "XXX", "XXX", 'X', AtumItems.scrap); + GameRegistry.addRecipe(new ItemStack(AtumItems.mummyLegs), "XXX", "X X", "X X", 'X', AtumItems.scrap); + GameRegistry.addRecipe(new ItemStack(AtumItems.mummyBoots), "X X", "X X", 'X', AtumItems.scrap); + GameRegistry.addRecipe(new ItemStack(AtumItems.wandererHelmet), "XXX", "X X", 'X', AtumItems.linen); + GameRegistry.addRecipe(new ItemStack(AtumItems.wandererChest), "X X", "XXX", "XXX", 'X', AtumItems.linen); + GameRegistry.addRecipe(new ItemStack(AtumItems.wandererLegs), "XXX", "X X", "X X", 'X', AtumItems.linen); + GameRegistry.addRecipe(new ItemStack(AtumItems.wandererBoots), "X X", "X X", 'X', AtumItems.linen); + GameRegistry.addRecipe(new ItemStack(AtumItems.linen), "XXX", 'X', AtumItems.flax); + GameRegistry.addRecipe(new ItemStack(Item.glassBottle, 3), "X X", " X ", 'X', AtumBlocks.BLOCK_CRYSTALGLASS); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_THINCRYSTALGLASS, 16), "XXX", "XXX", 'X', AtumBlocks.BLOCK_CRYSTALGLASS); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_THINFRAMEDGLASS, 16), "XXX", "XXX", 'X', AtumBlocks.BLOCK_FRAMEDGLASS); + GameRegistry.addRecipe(new ItemStack(AtumItems.scroll), "XXX", "SXS", "XXX", 'X', AtumItems.papyrusPlant, 'S', Item.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.ITEM_SCARAB), " G ", "GDG", " G ", 'G', Item.ingotGold, 'D', Item.diamond); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_FURNACEIDLE), "XXX", "X X", "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); } private void addSmeltingRecipes() { - FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_IRONORE.blockID, 0, new ItemStack(Item.ingotIron), 0.7F); - FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_COALORE.blockID, new ItemStack(Item.coal), 0.1F); - FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_REDSTONEORE.blockID, new ItemStack(Item.redstone), 0.7F); - FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_LAPISORE.blockID, new ItemStack(Item.dyePowder, 1, 4), 0.2F); - FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_GOLDORE.blockID, new ItemStack(Item.ingotGold), 1.0F); - FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_DIAMONDORE.blockID, new ItemStack(Item.diamond), 1.0F); - FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_LOG.blockID, new ItemStack(Item.coal, 1, 1), 0.15F); - FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_LIMESTONECOBBLE.blockID, new ItemStack(Blocks.BLOCK_STONE), 0.1F); - FurnaceRecipes.smelting().addSmelting(Blocks.BLOCK_SAND.blockID, new ItemStack(Blocks.BLOCK_CRYSTALGLASS), 0.1F); + FurnaceRecipes.smelting().addSmelting(AtumBlocks.BLOCK_IRONORE.blockID, 0, new ItemStack(Item.ingotIron), 0.7F); + FurnaceRecipes.smelting().addSmelting(AtumBlocks.BLOCK_COALORE.blockID, new ItemStack(Item.coal), 0.1F); + FurnaceRecipes.smelting().addSmelting(AtumBlocks.BLOCK_REDSTONEORE.blockID, new ItemStack(Item.redstone), 0.7F); + FurnaceRecipes.smelting().addSmelting(AtumBlocks.BLOCK_LAPISORE.blockID, new ItemStack(Item.dyePowder, 1, 4), 0.2F); + FurnaceRecipes.smelting().addSmelting(AtumBlocks.BLOCK_GOLDORE.blockID, new ItemStack(Item.ingotGold), 1.0F); + FurnaceRecipes.smelting().addSmelting(AtumBlocks.BLOCK_DIAMONDORE.blockID, new ItemStack(Item.diamond), 1.0F); + FurnaceRecipes.smelting().addSmelting(AtumBlocks.BLOCK_LOG.blockID, new ItemStack(Item.coal, 1, 1), 0.15F); + FurnaceRecipes.smelting().addSmelting(AtumBlocks.BLOCK_LIMESTONECOBBLE.blockID, new ItemStack(AtumBlocks.BLOCK_STONE), 0.1F); + FurnaceRecipes.smelting().addSmelting(AtumBlocks.BLOCK_SAND.blockID, new ItemStack(AtumBlocks.BLOCK_CRYSTALGLASS), 0.1F); } private void addShapelessRecipes() { - GameRegistry.addShapelessRecipe(new ItemStack(Blocks.BLOCK_PLANKS, 4), Blocks.BLOCK_LOG); - GameRegistry.addShapelessRecipe(new ItemStack(Items.desertHelmet), Items.wandererHelmet, Item.helmetIron); - GameRegistry.addShapelessRecipe(new ItemStack(Items.desertChest), Items.wandererChest, Item.plateIron); - GameRegistry.addShapelessRecipe(new ItemStack(Items.desertLegs), Items.wandererLegs, Item.legsIron); - GameRegistry.addShapelessRecipe(new ItemStack(Items.desertBoots), Items.wandererBoots, Item.bootsIron); - GameRegistry.addShapelessRecipe(new ItemStack(Block.sand), Blocks.BLOCK_SAND); - GameRegistry.addShapelessRecipe(new ItemStack(Item.silk, 3), Items.flax); + GameRegistry.addShapelessRecipe(new ItemStack(AtumBlocks.BLOCK_PLANKS, 4), AtumBlocks.BLOCK_LOG); + GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertHelmet), AtumItems.wandererHelmet, Item.helmetIron); + GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertChest), AtumItems.wandererChest, Item.plateIron); + GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertLegs), AtumItems.wandererLegs, Item.legsIron); + GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertBoots), AtumItems.wandererBoots, Item.bootsIron); + GameRegistry.addShapelessRecipe(new ItemStack(Block.sand), AtumBlocks.BLOCK_SAND); + GameRegistry.addShapelessRecipe(new ItemStack(Item.silk, 3), AtumItems.flax); } } diff --git a/src/com/teammetallurgy/atum/lib/proxy/ClientProxy.java b/src/com/teammetallurgy/atum/lib/proxy/ClientProxy.java index be24a6f..f366e11 100644 --- a/src/com/teammetallurgy/atum/lib/proxy/ClientProxy.java +++ b/src/com/teammetallurgy/atum/lib/proxy/ClientProxy.java @@ -12,7 +12,7 @@ import com.teammetallurgy.atum.blocks.BlockDate; import com.teammetallurgy.atum.blocks.BlockPapyrus; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.client.model.entity.ModelDesertWolf; import com.teammetallurgy.atum.client.model.entity.ModelDustySkeleton; import com.teammetallurgy.atum.client.render.entity.RenderBandit; @@ -39,7 +39,7 @@ import com.teammetallurgy.atum.entity.arrow.EntityAtumFishHook; import com.teammetallurgy.atum.entity.arrow.EntityNutsCall; import com.teammetallurgy.atum.entity.projectiles.EntityFireSpearCombined; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; import com.teammetallurgy.atum.lib.tickhandler.ClientTickHandler; import cpw.mods.fml.client.registry.RenderingRegistry; @@ -52,23 +52,23 @@ public class ClientProxy extends CommonProxy { public void init() { TickRegistry.registerTickHandler(new ClientTickHandler(), Side.CLIENT); - MinecraftForge.EVENT_BUS.register(Items.sekhmetsWrath); - MinecraftForge.EVENT_BUS.register(Items.mnevisHorns); - MinecraftForge.EVENT_BUS.register(Items.maatsBalance); - MinecraftForge.EVENT_BUS.register(Items.anubisMercy); + MinecraftForge.EVENT_BUS.register(AtumItems.sekhmetsWrath); + MinecraftForge.EVENT_BUS.register(AtumItems.mnevisHorns); + MinecraftForge.EVENT_BUS.register(AtumItems.maatsBalance); + MinecraftForge.EVENT_BUS.register(AtumItems.anubisMercy); } @Override public void initRenders() { - MinecraftForgeClient.registerItemRenderer(Items.ITEM_BOW.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(Items.atensFury.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(Items.horusSoaring.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(Items.neithsAudacity.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(Items.shusBreath.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(Items.hedetetsVenom.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(Items.monthusBlast.itemID, new RendererItemBow()); - RenderingRegistry.registerBlockHandler(((BlockPapyrus) Blocks.BLOCK_PAPYRUS).renderID, new RenderPapyrus()); - RenderingRegistry.registerBlockHandler(((BlockDate) Blocks.BLOCK_DATEBLOCK).renderID, new RenderDate()); + MinecraftForgeClient.registerItemRenderer(AtumItems.ITEM_BOW.itemID, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.atensFury.itemID, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.horusSoaring.itemID, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.neithsAudacity.itemID, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.shusBreath.itemID, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.hedetetsVenom.itemID, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.monthusBlast.itemID, new RendererItemBow()); + RenderingRegistry.registerBlockHandler(((BlockPapyrus) AtumBlocks.BLOCK_PAPYRUS).renderID, new RenderPapyrus()); + RenderingRegistry.registerBlockHandler(((BlockDate) AtumBlocks.BLOCK_DATEBLOCK).renderID, new RenderDate()); RenderingRegistry.registerEntityRenderingHandler(EntityMummy.class, new RenderLiving(new ModelZombie(), 0.5F) { diff --git a/src/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java b/src/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java index 10030c8..f8ac9a4 100644 --- a/src/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java +++ b/src/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java @@ -11,7 +11,7 @@ import net.minecraft.util.ResourceLocation; import com.teammetallurgy.atum.AtumIDS; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; import cpw.mods.fml.client.FMLClientHandler; import cpw.mods.fml.common.ITickHandler; @@ -47,7 +47,7 @@ public void tickStart(EnumSet type, Object... tickData) { boolean nightvision = false; if(player.getCurrentArmor(3) != null) { - if(player.getCurrentArmor(3).itemID == Items.rasGlory.itemID) { + if(player.getCurrentArmor(3).itemID == AtumItems.rasGlory.itemID) { nightvision = true; } @@ -98,7 +98,7 @@ public void tickEnd(EnumSet type, Object... tickData) { if(type.contains(TickType.RENDER)) { if(player != null && player.getCurrentArmor(3) != null) { - if(player.getCurrentArmor(3).itemID == Items.mummyHelmet.itemID) { + if(player.getCurrentArmor(3).itemID == AtumItems.mummyHelmet.itemID) { ScaledResolution scaledresolution = new ScaledResolution(Minecraft.getMinecraft().gameSettings, Minecraft.getMinecraft().displayWidth, Minecraft.getMinecraft().displayHeight); int par1 = scaledresolution.getScaledWidth(); int par2 = scaledresolution.getScaledHeight(); diff --git a/src/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java b/src/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java index 86a06d8..04e79c4 100644 --- a/src/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java +++ b/src/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java @@ -6,7 +6,7 @@ import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; -import com.teammetallurgy.atum.items.Items; +import com.teammetallurgy.atum.items.AtumItems; import cpw.mods.fml.common.ITickHandler; import cpw.mods.fml.common.TickType; @@ -23,7 +23,7 @@ public void tickStart(EnumSet type, Object... tickData) { if(player.worldObj.getTotalWorldTime() % 60L == 0L) { if(player.getCurrentArmor(2) != null) { - if(player.getCurrentArmor(2).itemID == Items.isisEmbrace.itemID) { + if(player.getCurrentArmor(2).itemID == AtumItems.isisEmbrace.itemID) { player.heal(1); } } @@ -31,7 +31,7 @@ public void tickStart(EnumSet type, Object... tickData) { if(player.worldObj.getTotalWorldTime() % 10L == 0L) { if(player.getCurrentArmor(3) != null) { - if(player.getCurrentArmor(3).itemID == Items.rasGlory.itemID) { + if(player.getCurrentArmor(3).itemID == AtumItems.rasGlory.itemID) { player.addPotionEffect(new PotionEffect(16, 340, 0, true)); } else { if(player.isPotionActive(16)) { @@ -41,20 +41,20 @@ public void tickStart(EnumSet type, Object... tickData) { } if(player.getCurrentArmor(2) != null) { - if(player.getCurrentArmor(2).itemID == Items.sekhmetsWrath.itemID) { + if(player.getCurrentArmor(2).itemID == AtumItems.sekhmetsWrath.itemID) { // player.addPotionEffect(new PotionEffect(12, 240, 0, true)); } } if(player.getCurrentArmor(1) != null) { - if(player.getCurrentArmor(1).itemID == Items.nutsAgility.itemID) { + if(player.getCurrentArmor(1).itemID == AtumItems.nutsAgility.itemID) { // player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 240, 1, true)); player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 240, 1, true)); } } if(player.getCurrentArmor(0) != null) { - if(player.getCurrentArmor(0).itemID == Items.horusFlight.itemID) { + if(player.getCurrentArmor(0).itemID == AtumItems.horusFlight.itemID) { // player.addPotionEffect(new PotionEffect(8, 240, 1, true)); } } diff --git a/src/com/teammetallurgy/atum/world/AtumTeleporter.java b/src/com/teammetallurgy/atum/world/AtumTeleporter.java index 0946689..8e20e1b 100644 --- a/src/com/teammetallurgy/atum/world/AtumTeleporter.java +++ b/src/com/teammetallurgy/atum/world/AtumTeleporter.java @@ -16,7 +16,7 @@ import net.minecraft.world.WorldServer; import com.teammetallurgy.atum.blocks.BlockSlab; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; public class AtumTeleporter extends Teleporter { @@ -41,7 +41,7 @@ public void placeInPortal(Entity par1Entity, double par2, double par4, double pa } } else { int i = MathHelper.floor_double(par1Entity.posX); - int j = MathHelper.floor_double(par1Entity.posY) - 1; + int j = MathHelper.floor_double(par1Entity.posY) + 1; int k = MathHelper.floor_double(par1Entity.posZ); byte b0 = 1; byte b1 = 0; @@ -95,8 +95,8 @@ public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4 double d6 = (double) d9 + 0.5D - par1Entity.posZ; for(k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { - if(this.worldServerInstance.getBlockId(k1, k2, d9) == Blocks.BLOCK_PORTAL.blockID) { - while(this.worldServerInstance.getBlockId(k1, k2 - 1, d9) == Blocks.BLOCK_PORTAL.blockID) { + if(this.worldServerInstance.getBlockId(k1, k2, d9) == AtumBlocks.BLOCK_PORTAL.blockID) { + while(this.worldServerInstance.getBlockId(k1, k2 - 1, d9) == AtumBlocks.BLOCK_PORTAL.blockID) { --k2; } @@ -124,19 +124,19 @@ public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4 double var47 = (double) j + 0.5D; d4 = (double) k + 0.5D; int j2 = -1; - if(this.worldServerInstance.getBlockId(i - 1, j, k) == Blocks.BLOCK_PORTAL.blockID) { + if(this.worldServerInstance.getBlockId(i - 1, j, k) == AtumBlocks.BLOCK_PORTAL.blockID) { j2 = 2; } - if(this.worldServerInstance.getBlockId(i + 1, j, k) == Blocks.BLOCK_PORTAL.blockID) { + if(this.worldServerInstance.getBlockId(i + 1, j, k) == AtumBlocks.BLOCK_PORTAL.blockID) { j2 = 0; } - if(this.worldServerInstance.getBlockId(i, j, k - 1) == Blocks.BLOCK_PORTAL.blockID) { + if(this.worldServerInstance.getBlockId(i, j, k - 1) == AtumBlocks.BLOCK_PORTAL.blockID) { j2 = 3; } - if(this.worldServerInstance.getBlockId(i, j, k + 1) == Blocks.BLOCK_PORTAL.blockID) { + if(this.worldServerInstance.getBlockId(i, j, k + 1) == AtumBlocks.BLOCK_PORTAL.blockID) { j2 = 1; } @@ -370,7 +370,7 @@ public boolean makePortal(Entity par1Entity) { if(par1Entity.dimension == 0) { block = Block.sandStone; } else { - block = Blocks.BLOCK_LARGEBRICK; + block = AtumBlocks.BLOCK_LARGEBRICK; } for(int x1 = -2; x1 < 3; x1++) { for(int z1 = -2; z1 < 3; z1++) { @@ -397,7 +397,7 @@ public boolean makePortal(Entity par1Entity) { for(int x1 = -1; x1 < 2; x1++) { for(int z1 = -1; z1 < 2; z1++) { - this.worldServerInstance.setBlock(x1 + entityX, entityY + 1, z1 + entityZ, Blocks.BLOCK_PORTAL.blockID); + this.worldServerInstance.setBlock(x1 + entityX, entityY + 1, z1 + entityZ, AtumBlocks.BLOCK_PORTAL.blockID); } } diff --git a/src/com/teammetallurgy/atum/world/World.java b/src/com/teammetallurgy/atum/world/AtumWorlds.java similarity index 96% rename from src/com/teammetallurgy/atum/world/World.java rename to src/com/teammetallurgy/atum/world/AtumWorlds.java index 02f73e6..3c8009a 100644 --- a/src/com/teammetallurgy/atum/world/World.java +++ b/src/com/teammetallurgy/atum/world/AtumWorlds.java @@ -8,7 +8,7 @@ import com.teammetallurgy.atum.worldgen.AtumWorldProvider; import com.teammetallurgy.atum.worldgen.biome.BiomeGenAtumDesert; -public enum World { +public enum AtumWorlds { INSTANCE; public static final BiomeGenBase BIOME_DESERT = new BiomeGenAtumDesert(AtumIDS.BIOME_DESERT_ID); diff --git a/src/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java b/src/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java index 146d439..43182bf 100644 --- a/src/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java +++ b/src/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java @@ -32,7 +32,7 @@ import net.minecraftforge.event.terraingen.PopulateChunkEvent.Pre; import net.minecraftforge.event.terraingen.TerrainGen; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.worldgen.biome.BiomeGenAtumDesert; public class AtumChunkProvider implements IChunkProvider { @@ -122,11 +122,11 @@ public void generateTerrain(int par1, int par2, short[] par3ArrayOfByte) { for(int n = 0; n < 4; ++n) { if((d16 += d15) > 0.0D) { if(index + dy < par3ArrayOfByte.length) { - par3ArrayOfByte[index += dy] = (short) Blocks.BLOCK_STONE.blockID; + par3ArrayOfByte[index += dy] = (short) AtumBlocks.BLOCK_STONE.blockID; } } else if(y1 * 8 + y2 < b2) { if(index + dy < par3ArrayOfByte.length) { - par3ArrayOfByte[index += dy] = (short) Blocks.BLOCK_STONE.blockID; + par3ArrayOfByte[index += dy] = (short) AtumBlocks.BLOCK_STONE.blockID; } } else if(index + dy < par3ArrayOfByte.length) { par3ArrayOfByte[index += dy] = 0; @@ -170,11 +170,11 @@ public void replaceBlocksForBiome(int par1, int par2, short[] par3ArrayOfByte, B short b3 = par3ArrayOfByte[l1]; if(b3 == 0) { j1 = -1; - } else if(b3 == Blocks.BLOCK_STONE.blockID) { + } else if(b3 == AtumBlocks.BLOCK_STONE.blockID) { if(j1 == -1) { if(i1 <= 0) { b1 = 0; - b2 = (short) Blocks.BLOCK_STONE.blockID; + b2 = (short) AtumBlocks.BLOCK_STONE.blockID; } else if(y >= b0 - 4 && y <= b0 + 1) { b1 = ((BiomeGenAtumDesert) biomegenbase).sTopBlock; b2 = ((BiomeGenAtumDesert) biomegenbase).sFillerBlock; @@ -189,9 +189,9 @@ public void replaceBlocksForBiome(int par1, int par2, short[] par3ArrayOfByte, B } else if(j1 > 0) { --j1; par3ArrayOfByte[l1] = b2; - if(j1 == 0 && b2 == Blocks.BLOCK_SAND.blockID) { + if(j1 == 0 && b2 == AtumBlocks.BLOCK_SAND.blockID) { j1 = this.rand.nextInt(4); - b2 = (short) Blocks.BLOCK_STONE.blockID; + b2 = (short) AtumBlocks.BLOCK_STONE.blockID; } } } diff --git a/src/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java b/src/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java index f28c2b9..a82e622 100644 --- a/src/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java +++ b/src/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java @@ -7,7 +7,7 @@ import net.minecraft.world.World; import net.minecraft.world.gen.MapGenBase; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; public class AtumMapGenCaves extends MapGenBase { @@ -138,12 +138,12 @@ protected void generateCaveNode(long par1, int par3, int par4, byte[] par5ArrayO flag3 = true; } - if(b0 == Blocks.BLOCK_STONE.blockID || b0 == Blocks.BLOCK_SAND.blockID) { + if(b0 == AtumBlocks.BLOCK_STONE.blockID || b0 == AtumBlocks.BLOCK_SAND.blockID) { if(k4 < 10) { par5ArrayOfByte[j4] = (byte) Block.lavaMoving.blockID; } else { par5ArrayOfByte[j4] = 0; - if(flag3 && par5ArrayOfByte[j4 - 1] == Blocks.BLOCK_SAND.blockID) { + if(flag3 && par5ArrayOfByte[j4 - 1] == AtumBlocks.BLOCK_SAND.blockID) { par5ArrayOfByte[j4 - 1] = super.worldObj.getBiomeGenForCoords(j3 + par3 * 16, k3 + par4 * 16).topBlock; } } diff --git a/src/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java b/src/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java index f45203d..9c29f6d 100644 --- a/src/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java +++ b/src/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java @@ -1,7 +1,7 @@ package com.teammetallurgy.atum.worldgen; import com.teammetallurgy.atum.AtumIDS; -import com.teammetallurgy.atum.world.World; +import com.teammetallurgy.atum.world.AtumWorlds; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -19,8 +19,8 @@ public String getDimensionName() { @Override protected void registerWorldChunkManager() { - super.worldChunkMgr = new WorldChunkManagerHell(World.BIOME_DESERT, 0.8F, 0.1F); - super.dimensionId = AtumIDS.DIMENSION_ID; + this.worldChunkMgr = new WorldChunkManagerHell(AtumWorlds.BIOME_DESERT, 0.8F, 0.1F); + this.dimensionId = AtumIDS.DIMENSION_ID; } @Override @@ -91,10 +91,12 @@ public boolean doesXZShowFog(int par1, int par2) { return false; } + @Override public String getWelcomeMessage() { return "Entering Atum"; } + @Override public String getDepartMessage() { return "Leaving Atum"; } diff --git a/src/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java b/src/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java index cbd73e7..cbd7b3e 100644 --- a/src/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java +++ b/src/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java @@ -22,7 +22,7 @@ import net.minecraftforge.event.terraingen.OreGenEvent.Pre; import net.minecraftforge.event.terraingen.TerrainGen; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.worldgen.decorators.WorldGenShrub; public class BiomeDecoratorAtum extends BiomeDecorator { @@ -31,16 +31,16 @@ public class BiomeDecoratorAtum extends BiomeDecorator { public BiomeDecoratorAtum(BiomeGenBase par1BiomeGenBase) { super(par1BiomeGenBase); - this.sandGen = new WorldGenSand(7, Blocks.BLOCK_SAND.blockID); + this.sandGen = new WorldGenSand(7, AtumBlocks.BLOCK_SAND.blockID); this.gravelAsSandGen = new WorldGenSand(6, Block.gravel.blockID); this.dirtGen = new WorldGenMinable(Block.dirt.blockID, 32); this.gravelGen = new WorldGenMinable(Block.gravel.blockID, 32); - this.coalGen = new WorldGenMinable(Blocks.BLOCK_COALORE.blockID, 16, Blocks.BLOCK_STONE.blockID); - this.ironGen = new WorldGenMinable(Blocks.BLOCK_IRONORE.blockID, 8, Blocks.BLOCK_STONE.blockID); - this.goldGen = new WorldGenMinable(Blocks.BLOCK_GOLDORE.blockID, 8, Blocks.BLOCK_STONE.blockID); - this.redstoneGen = new WorldGenMinable(Blocks.BLOCK_REDSTONEORE.blockID, 7, Blocks.BLOCK_STONE.blockID); - this.diamondGen = new WorldGenMinable(Blocks.BLOCK_DIAMONDORE.blockID, 7, Blocks.BLOCK_STONE.blockID); - this.lapisGen = new WorldGenMinable(Blocks.BLOCK_LAPISORE.blockID, 6); + this.coalGen = new WorldGenMinable(AtumBlocks.BLOCK_COALORE.blockID, 16, AtumBlocks.BLOCK_STONE.blockID); + this.ironGen = new WorldGenMinable(AtumBlocks.BLOCK_IRONORE.blockID, 8, AtumBlocks.BLOCK_STONE.blockID); + this.goldGen = new WorldGenMinable(AtumBlocks.BLOCK_GOLDORE.blockID, 8, AtumBlocks.BLOCK_STONE.blockID); + this.redstoneGen = new WorldGenMinable(AtumBlocks.BLOCK_REDSTONEORE.blockID, 7, AtumBlocks.BLOCK_STONE.blockID); + this.diamondGen = new WorldGenMinable(AtumBlocks.BLOCK_DIAMONDORE.blockID, 7, AtumBlocks.BLOCK_STONE.blockID); + this.lapisGen = new WorldGenMinable(AtumBlocks.BLOCK_LAPISORE.blockID, 6); this.plantYellowGen = new WorldGenFlowers(Block.plantYellow.blockID); this.plantRedGen = new WorldGenFlowers(Block.plantRed.blockID); @@ -122,7 +122,7 @@ protected void decorate() { l = this.randomGenerator.nextInt(128); i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; time = System.nanoTime(); - (new WorldGenShrub(Blocks.BLOCK_SHRUB.blockID, 8)).generate(this.currentWorld, this.randomGenerator, k, l, i1); + (new WorldGenShrub(AtumBlocks.BLOCK_SHRUB.blockID, 8)).generate(this.currentWorld, this.randomGenerator, k, l, i1); } if(this.randomGenerator.nextFloat() < this.shrubChance) { @@ -130,7 +130,7 @@ protected void decorate() { l = this.randomGenerator.nextInt(128); i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; time = System.nanoTime(); - (new WorldGenShrub(Blocks.BLOCK_WEED.blockID, 8)).generate(this.currentWorld, this.randomGenerator, k, l, i1); + (new WorldGenShrub(AtumBlocks.BLOCK_WEED.blockID, 8)).generate(this.currentWorld, this.randomGenerator, k, l, i1); } doGen = TerrainGen.decorate(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z, EventType.LAKE); diff --git a/src/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java b/src/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java index 2a74d06..73614b3 100644 --- a/src/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java +++ b/src/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java @@ -9,7 +9,7 @@ import net.minecraft.world.gen.feature.WorldGenerator; import com.teammetallurgy.atum.LocalizationHelper; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.entity.EntityBanditArcher; import com.teammetallurgy.atum.entity.EntityBanditWarlord; import com.teammetallurgy.atum.entity.EntityBanditWarrior; @@ -37,8 +37,8 @@ public class BiomeGenAtumDesert extends BiomeGenBase { public BiomeGenAtumDesert(int par1) { super(par1); super.spawnableCreatureList.clear(); - this.sTopBlock = (short) Blocks.BLOCK_SAND.blockID; - this.sFillerBlock = (short) Blocks.BLOCK_SAND.blockID; + this.sTopBlock = (short) AtumBlocks.BLOCK_SAND.blockID; + this.sFillerBlock = (short) AtumBlocks.BLOCK_SAND.blockID; super.theBiomeDecorator.treesPerChunk = 1; super.theBiomeDecorator.deadBushPerChunk = 5; super.theBiomeDecorator.reedsPerChunk = 0; diff --git a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java index 6fd74c2..affa1e4 100644 --- a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java +++ b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java @@ -7,7 +7,7 @@ import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; public class WorldGenAtumTrees extends WorldGenerator { @@ -317,7 +317,7 @@ private boolean validTreeLocation() { int[] aint1 = new int[]{this.basePos[0], this.basePos[1] + this.heightLimit - 1, this.basePos[2]}; int i = this.worldObj.getBlockId(this.basePos[0], this.basePos[1] - 1, this.basePos[2]); Block var10000 = Block.blocksList[i]; - boolean isValidSoil = i == Blocks.BLOCK_SAND.blockID; + boolean isValidSoil = i == AtumBlocks.BLOCK_SAND.blockID; if(!isValidSoil) { return false; } else { diff --git a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java index a16bf52..08d9552 100644 --- a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java +++ b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java @@ -11,7 +11,7 @@ import net.minecraftforge.common.IPlantable; import com.teammetallurgy.atum.AtumLoot; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; public class WorldGenOasis extends WorldGenerator { @@ -35,19 +35,19 @@ public boolean generate(World world, Random par2Random, int par3, int par4, int int width = par2Random.nextInt(6) + 6; int depth = par2Random.nextInt(5) + 5; int id = world.getBlockId(par3, par4 - 1, par5); - if(id != Blocks.BLOCK_SAND.blockID) { + if(id != AtumBlocks.BLOCK_SAND.blockID) { return false; } else { id = world.getBlockId(par3 + width, world.getHeightValue(par3 + width, par5) - 1, par5); - if(id != Blocks.BLOCK_SAND.blockID) { + if(id != AtumBlocks.BLOCK_SAND.blockID) { return false; } else { id = world.getBlockId(par3, world.getHeightValue(par3, par5 + depth) - 1, par5 + depth); - if(id != Blocks.BLOCK_SAND.blockID) { + if(id != AtumBlocks.BLOCK_SAND.blockID) { return false; } else { id = world.getBlockId(par3 + width, world.getHeightValue(par3 + width, par5 + depth) - 1, par5 + depth); - if(id != Blocks.BLOCK_SAND.blockID) { + if(id != AtumBlocks.BLOCK_SAND.blockID) { return false; } else { int minHeight = world.getHeightValue(par3, par5); @@ -87,7 +87,7 @@ public boolean generate(World world, Random par2Random, int par3, int par4, int float x = (float) (papyrus * papyrus) / (treeCount * treeCount) + (float) (i * i) / (chest * chest); if(x <= 1.0F) { z = world.getHeightValue(papyrus + par3, i + par5); - if(world.getBlockId(papyrus + par3, z - 1, i + par5) == Blocks.BLOCK_SAND.blockID) { + if(world.getBlockId(papyrus + par3, z - 1, i + par5) == AtumBlocks.BLOCK_SAND.blockID) { world.setBlock(papyrus + par3, z - 1, i + par5, Block.waterStill.blockID); if((double) x < 0.6D) { z = world.getHeightValue(papyrus + par3, i + par5); @@ -97,13 +97,13 @@ public boolean generate(World world, Random par2Random, int par3, int par4, int } else { x = (float) (papyrus * papyrus) / ((treeCount + 4.0F) * (treeCount + 4.0F)) + (float) (i * i) / ((chest + 4.0F) * (chest + 4.0F)); z = world.getHeightValue(papyrus + par3, i + par5); - if(world.getBlockId(papyrus + par3, z - 1, i + par5) == Blocks.BLOCK_SAND.blockID && x < 1.0F) { - world.setBlock(papyrus + par3, z - 1, i + par5, Blocks.BLOCK_FERTILESOIL.blockID); + if(world.getBlockId(papyrus + par3, z - 1, i + par5) == AtumBlocks.BLOCK_SAND.blockID && x < 1.0F) { + world.setBlock(papyrus + par3, z - 1, i + par5, AtumBlocks.BLOCK_FERTILESOIL.blockID); if((double) x < 0.3D && par2Random.nextInt(8) == 0) { for(y = -1; y <= 1; ++y) { for(dx = -1; dx <= 1; ++dx) { - if(Blocks.BLOCK_PAPYRUS.canBlockStay(world, par3 + papyrus + y, z, par5 + i + dx)) { - world.setBlock(papyrus + par3 + y, z, i + par5 + dx, Blocks.BLOCK_PAPYRUS.blockID); + if(AtumBlocks.BLOCK_PAPYRUS.canBlockStay(world, par3 + papyrus + y, z, par5 + i + dx)) { + world.setBlock(papyrus + par3 + y, z, i + par5 + dx, AtumBlocks.BLOCK_PAPYRUS.blockID); } } } @@ -120,7 +120,7 @@ public boolean generate(World world, Random par2Random, int par3, int par4, int papyrus = par2Random.nextInt(width); i = par2Random.nextInt(depth); id = world.getBlockId(par3 + papyrus, world.getHeightValue(par3 + papyrus, par5 + i) - 1, par5 + i); - if(id == Blocks.BLOCK_FERTILESOIL.blockID) { + if(id == AtumBlocks.BLOCK_FERTILESOIL.blockID) { (new WorldGenPalm(true, 5, 0, 0)).generate(world, par2Random, par3 + papyrus, world.getHeightValue(par3 + papyrus, par5 + i), par5 + i); ++var24; } @@ -138,18 +138,18 @@ public boolean generate(World world, Random par2Random, int par3, int par4, int z = par2Random.nextInt(depth); y = world.getHeightValue(par3 + var28, par5 + z); id = world.getBlockId(par3 + var28, y - 1, par5 + z); - if(!var25 && id == Blocks.BLOCK_FERTILESOIL.blockID) { + if(!var25 && id == AtumBlocks.BLOCK_FERTILESOIL.blockID) { world.setBlock(par3 + var28, y, par5 + z, Block.chest.blockID); TileEntity var29 = world.getBlockTileEntity(par3 + var28, world.getHeightValue(par3 + var28, par5 + z), par5 + z); AtumLoot.fillChest((IInventory) var29, 5, 0.2F); var25 = true; } else { int dz; - if(!var27 && Block.blocksList[id].canSustainPlant(world, par3 + var28, y, par5 + z, ForgeDirection.UP, (IPlantable) ((IPlantable) Blocks.BLOCK_PAPYRUS))) { + if(!var27 && Block.blocksList[id].canSustainPlant(world, par3 + var28, y, par5 + z, ForgeDirection.UP, (IPlantable) ((IPlantable) AtumBlocks.BLOCK_PAPYRUS))) { for(dx = -1; dx <= 1; ++dx) { for(dz = -1; dz <= 1; ++dz) { - if(Block.blocksList[id].canSustainPlant(world, par3 + var28 + dx, y, par5 + z + dz, ForgeDirection.UP, (IPlantable) ((IPlantable) Blocks.BLOCK_PAPYRUS))) { - world.setBlock(par3 + var28, y, par5 + z, Blocks.BLOCK_PAPYRUS.blockID); + if(Block.blocksList[id].canSustainPlant(world, par3 + var28 + dx, y, par5 + z + dz, ForgeDirection.UP, (IPlantable) ((IPlantable) AtumBlocks.BLOCK_PAPYRUS))) { + world.setBlock(par3 + var28, y, par5 + z, AtumBlocks.BLOCK_PAPYRUS.blockID); var27 = true; } } @@ -160,8 +160,8 @@ public boolean generate(World world, Random par2Random, int par3, int par4, int int currentY = world.getHeightValue(par3 + var28, par5 + z); int belowID = world.getBlockId(par3 + var28 + dx, currentY - 1, par5 + z + dz); int currentID = world.getBlockId(par3 + var28 + dx, currentY, par5 + z + dz); - if(par2Random.nextInt(3) == 0 && belowID == Blocks.BLOCK_FERTILESOIL.blockID && currentID == 0) { - world.setBlock(par3 + var28 + dx, currentY, par5 + z + dz, Blocks.BLOCK_FLAX.blockID, 13, 0); + if(par2Random.nextInt(3) == 0 && belowID == AtumBlocks.BLOCK_FERTILESOIL.blockID && currentID == 0) { + world.setBlock(par3 + var28 + dx, currentY, par5 + z + dz, AtumBlocks.BLOCK_FLAX.blockID, 13, 0); } } } diff --git a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java index 2bb73c0..60d7095 100644 --- a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java +++ b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java @@ -6,7 +6,7 @@ import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; public class WorldGenPalace extends WorldGenerator { @@ -16,10 +16,10 @@ public class WorldGenPalace extends WorldGenerator { public int largeLimestoneBricksStairs; public WorldGenPalace() { - this.largeLimestoneBricks = Blocks.BLOCK_LARGEBRICK.blockID; - this.smallLimestoneBricks = Blocks.BLOCK_SMALLBRICK.blockID; - this.carvedLimestone = Blocks.BLOCK_CARVEDBRICK.blockID; - this.largeLimestoneBricksStairs = Blocks.BLOCK_LARGESTONESTAIRS.blockID; + this.largeLimestoneBricks = AtumBlocks.BLOCK_LARGEBRICK.blockID; + this.smallLimestoneBricks = AtumBlocks.BLOCK_SMALLBRICK.blockID; + this.carvedLimestone = AtumBlocks.BLOCK_CARVEDBRICK.blockID; + this.largeLimestoneBricksStairs = AtumBlocks.BLOCK_LARGESTONESTAIRS.blockID; } @Override diff --git a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java index bbda595..49b3116 100644 --- a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java +++ b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java @@ -6,7 +6,7 @@ import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; public class WorldGenPalm extends WorldGenerator { @@ -30,7 +30,7 @@ public boolean generate(World par1World, Random par2Random, int par3, int par4, int l = par2Random.nextInt(3) + this.minTreeHeight; boolean flag = true; int id = par1World.getBlockId(par3, par4 - 1, par5); - if((id == Blocks.BLOCK_SAND.blockID || id == Blocks.BLOCK_FERTILESOIL.blockID || id == Block.dirt.blockID) && par4 >= 1 && par4 + l + 1 <= 256) { + if((id == AtumBlocks.BLOCK_SAND.blockID || id == AtumBlocks.BLOCK_FERTILESOIL.blockID || id == Block.dirt.blockID) && par4 >= 1 && par4 + l + 1 <= 256) { int i1; int j1; int k1; @@ -49,7 +49,7 @@ public boolean generate(World par1World, Random par2Random, int par3, int par4, if(i1 >= 0 && i1 < 256) { k1 = par1World.getBlockId(soil, i1, j1); Block b1 = Block.blocksList[k1]; - if(k1 != 0 && !b1.isLeaves(par1World, soil, i1, j1) && k1 != Blocks.BLOCK_FERTILESOIL.blockID && k1 != Block.dirt.blockID && !b1.isWood(par1World, soil, i1, j1)) { + if(k1 != 0 && !b1.isLeaves(par1World, soil, i1, j1) && k1 != AtumBlocks.BLOCK_FERTILESOIL.blockID && k1 != Block.dirt.blockID && !b1.isWood(par1World, soil, i1, j1)) { flag = false; } } else { @@ -96,26 +96,26 @@ public boolean generate(World par1World, Random par2Random, int par3, int par4, this.spawnLeaf(par1World, par3 + 3, par4 + l - 1, par5); this.spawnLeaf(par1World, par3 - 3, par4 + l - 1, par5); if(par2Random.nextInt(100) < 15) { - par1World.setBlock(par3 + 1, par4 + l - 1, par5, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); + par1World.setBlock(par3 + 1, par4 + l - 1, par5, AtumBlocks.BLOCK_DATEBLOCK.blockID, 0, 2); } if(par2Random.nextInt(100) < 15) { - par1World.setBlock(par3 - 1, par4 + l - 1, par5, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); + par1World.setBlock(par3 - 1, par4 + l - 1, par5, AtumBlocks.BLOCK_DATEBLOCK.blockID, 0, 2); } if(par2Random.nextInt(100) < 15) { - par1World.setBlock(par3, par4 + l - 1, par5 + 1, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); + par1World.setBlock(par3, par4 + l - 1, par5 + 1, AtumBlocks.BLOCK_DATEBLOCK.blockID, 0, 2); } if(par2Random.nextInt(100) < 15) { - par1World.setBlock(par3, par4 + l - 1, par5 - 1, Blocks.BLOCK_DATEBLOCK.blockID, 0, 2); + par1World.setBlock(par3, par4 + l - 1, par5 - 1, AtumBlocks.BLOCK_DATEBLOCK.blockID, 0, 2); } for(j1 = 0; j1 <= l; ++j1) { k1 = par1World.getBlockId(par3, par4 + j1, par5); Block var23 = Block.blocksList[k1]; if(k1 == 0 || var23 == null || var23.isLeaves(par1World, par3, par4 + j1, par5)) { - this.setBlockAndMetadata(par1World, par3, par4 + j1, par5, Blocks.BLOCK_LOG.blockID, this.metaWood); + this.setBlockAndMetadata(par1World, par3, par4 + j1, par5, AtumBlocks.BLOCK_LOG.blockID, this.metaWood); } } @@ -131,7 +131,7 @@ public void spawnLeaf(World par1World, int x, int y, int z) { int j3 = par1World.getBlockId(x, y, z); Block block = Block.blocksList[j3]; if(block == null || block.canBeReplacedByLeaves(par1World, x, y, z)) { - this.setBlockAndMetadata(par1World, x, y, z, Blocks.BLOCK_LEAVES.blockID, this.metaLeaves); + this.setBlockAndMetadata(par1World, x, y, z, AtumBlocks.BLOCK_LEAVES.blockID, this.metaLeaves); } } diff --git a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java index 98b9a4f..8f5d4d9 100644 --- a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java +++ b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java @@ -13,8 +13,8 @@ import net.minecraft.world.gen.feature.WorldGenerator; import com.teammetallurgy.atum.AtumLoot; -import com.teammetallurgy.atum.blocks.Blocks; -import com.teammetallurgy.atum.blocks.tileentity.TileEntityPharaohChest; +import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityPharaohChest; public class WorldGenPyramid extends WorldGenerator { class Pair { @@ -56,8 +56,8 @@ public boolean generate(World world, Random random, int i, int j, int k) { for(int x = y; x <= width - y; x++) { for(int z = y; z <= depth - y; z++) { int id = world.getBlockId(x + i, y + j + 3, z + k); - if(id == 0 || id == Blocks.BLOCK_SAND.blockID) - world.setBlock(x + i, y + j + 3, z + k, Blocks.BLOCK_LARGEBRICK.blockID, 1, 0); + if(id == 0 || id == AtumBlocks.BLOCK_SAND.blockID) + world.setBlock(x + i, y + j + 3, z + k, AtumBlocks.BLOCK_LARGEBRICK.blockID, 1, 0); } } } @@ -65,21 +65,21 @@ public boolean generate(World world, Random random, int i, int j, int k) { for(int x = -3; x < width + 3; x++) { for(int z = -3; z < depth + 3; z++) { if(x >= 0 && x < width && z >= 0 && z < depth) { - world.setBlock(x + i, j - 1, z + k, Blocks.BLOCK_STONE.blockID); + world.setBlock(x + i, j - 1, z + k, AtumBlocks.BLOCK_STONE.blockID); if(!maze[x][z]) { if(random.nextFloat() > 0.1F) - world.setBlock(x + i, j, z + k, Blocks.BLOCK_LARGEBRICK.blockID, 1, 0); + world.setBlock(x + i, j, z + k, AtumBlocks.BLOCK_LARGEBRICK.blockID, 1, 0); else placeTrap(world, x + i, j, z + k); - world.setBlock(x + i, j + 1, z + k, Blocks.BLOCK_LARGEBRICK.blockID, 1, 0); - world.setBlock(x + i, j + 2, z + k, Blocks.BLOCK_LARGEBRICK.blockID, 1, 0); + world.setBlock(x + i, j + 1, z + k, AtumBlocks.BLOCK_LARGEBRICK.blockID, 1, 0); + world.setBlock(x + i, j + 2, z + k, AtumBlocks.BLOCK_LARGEBRICK.blockID, 1, 0); } else { int meta = random.nextInt(5); - world.setBlock(x + i, j, z + k, Blocks.BLOCK_SANDLAYERED.blockID, meta, 0); + world.setBlock(x + i, j, z + k, AtumBlocks.BLOCK_SANDLAYERED.blockID, meta, 0); world.setBlockToAir(x + i, j + 1, z + k); world.setBlockToAir(x + i, j + 2, z + k); } - world.setBlock(x + i, j + 3, z + k, Blocks.BLOCK_LARGEBRICK.blockID, 1, 0); + world.setBlock(x + i, j + 3, z + k, AtumBlocks.BLOCK_LARGEBRICK.blockID, 1, 0); } } } @@ -104,7 +104,7 @@ public boolean generate(World world, Random random, int i, int j, int k) { world.setBlock(i + 11, j + 6, k + 7, Block.torchWood.blockID, 2, 0); world.setBlock(i + 11, j + 6, k + 10, Block.torchWood.blockID, 2, 0); - world.setBlock(i + 10, j + 4, k + 8, Blocks.BLOCK_PHARAOHCHEST.blockID, 0, 2); + world.setBlock(i + 10, j + 4, k + 8, AtumBlocks.BLOCK_PHARAOHCHEST.blockID, 0, 2); try { TileEntityPharaohChest te = (TileEntityPharaohChest) world.getBlockTileEntity(i + 10, j + 4, k + 8); AtumLoot.fillChest(te, 15, 0.9f); @@ -150,7 +150,7 @@ public void placeTrap(World world, int x, int y, int z) { meta = 5; } - world.setBlock(x, y, z, Blocks.BLOCK_TRAPARROW.blockID, meta, 0); + world.setBlock(x, y, z, AtumBlocks.BLOCK_TRAPARROW.blockID, meta, 0); } public void placeLadders(World world, int x, int y, int z, int height) { diff --git a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java index 6eb291d..91be486 100644 --- a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java +++ b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java @@ -7,7 +7,7 @@ import net.minecraft.world.gen.feature.WorldGenerator; import com.teammetallurgy.atum.AtumLoot; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; public class WorldGenRuins extends WorldGenerator { @Override @@ -47,15 +47,15 @@ public boolean generate(World world, Random random, int i, int j, int k) { world.setBlockToAir(chestX, chestY + height, chestZ); } else if(chestY < meta) { if((double) random.nextFloat() > 0.1D) { - world.setBlock(chestX, chestY + height, chestZ, Blocks.BLOCK_LARGEBRICK.blockID); + world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_LARGEBRICK.blockID); } else { - world.setBlock(chestX, chestY + height, chestZ, Blocks.BLOCK_SMALLBRICK.blockID); + world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_SMALLBRICK.blockID); } } else if(chestY == meta && (double) random.nextFloat() > 0.7D) { if((double) random.nextFloat() > 0.1D) { - world.setBlock(chestX, chestY + height, chestZ, Blocks.BLOCK_SLABS.blockID, 2, 0); + world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_SLABS.blockID, 2, 0); } else { - world.setBlock(chestX, chestY + height, chestZ, Blocks.BLOCK_SLABS.blockID, 3, 0); + world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_SLABS.blockID, 3, 0); } } } @@ -86,7 +86,7 @@ public boolean generate(World world, Random random, int i, int j, int k) { } chestY = world.getHeightValue(chestX, chestZ); - world.setBlock(chestX, chestY, chestZ, Blocks.BLOCK_CURSEDCHEST.blockID, 0, 2); + world.setBlock(chestX, chestY, chestZ, AtumBlocks.BLOCK_CURSEDCHEST.blockID, 0, 2); IInventory chest = (IInventory) world.getBlockTileEntity(chestX, chestY, chestZ); AtumLoot.fillChest(chest, 5, 0.5F); return false; diff --git a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java index 4ffe825..8fa05c1 100644 --- a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java +++ b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java @@ -2,7 +2,7 @@ import java.util.Random; -import com.teammetallurgy.atum.blocks.Blocks; +import com.teammetallurgy.atum.blocks.AtumBlocks; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; @@ -26,7 +26,7 @@ public boolean generate(World par1World, Random par2Random, int par3, int par4, int x = par3 + par2Random.nextInt(range + 1) - range / 2; int z = par5 + par2Random.nextInt(range + 1) - range / 2; int y = par1World.getHeightValue(x, z); - if(par1World.isAirBlock(x, y, z) && Blocks.BLOCK_SHRUB.canBlockStay(par1World, x, y, z)) { + if(par1World.isAirBlock(x, y, z) && AtumBlocks.BLOCK_SHRUB.canBlockStay(par1World, x, y, z)) { par1World.setBlock(x, y, z, this.deadBushID); } } From ca2087e1d63275fcdfe81b4cf21cb43ff6e1a0e6 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Thu, 13 Feb 2014 20:26:53 +1000 Subject: [PATCH 022/157] Testing --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index fba3145..123687d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ + /releases/ /download/ /build/ -/bin/ \ No newline at end of file +/bin/ From 750e8bb8aeeb86f9d4f2ffcad9b478feacc3dfb5 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Sat, 15 Feb 2014 11:58:58 +1000 Subject: [PATCH 023/157] Fixed Logs --- .../atum/blocks/BlockPalmLog.java | 20 +++------------ .../atum/blocks/BlockPortal.java | 25 +++++++++++-------- .../atum/entity/EntityDesertWolf.java | 4 +-- .../items/artifacts/ItemMafdetsQuickness.java | 18 ++++++------- 4 files changed, 28 insertions(+), 39 deletions(-) diff --git a/src/com/teammetallurgy/atum/blocks/BlockPalmLog.java b/src/com/teammetallurgy/atum/blocks/BlockPalmLog.java index d1d5ef4..ad4b6de 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockPalmLog.java +++ b/src/com/teammetallurgy/atum/blocks/BlockPalmLog.java @@ -3,7 +3,7 @@ import java.util.Random; import net.minecraft.block.Block; -import net.minecraft.block.BlockLog; +import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.item.ItemStack; import net.minecraft.util.Icon; @@ -11,17 +11,13 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class BlockPalmLog extends BlockLog { - public static final String[] woodType = new String[]{"oak", "spruce", "birch", "jungle"}; - public static final String[] treeTextureTypes = new String[]{"tree_side", "tree_spruce", "tree_birch", "tree_jungle"}; - @SideOnly(Side.CLIENT) - private Icon[] iconArray; +public class BlockPalmLog extends Block { @SideOnly(Side.CLIENT) private Icon tree_top; private Icon tree_side; protected BlockPalmLog(int par1) { - super(par1); + super(par1, Material.wood); this.setUnlocalizedName("atum:palmLog"); this.setHardness(2.0F); this.setStepSound(Block.soundWoodFootstep); @@ -86,16 +82,6 @@ public Icon getIcon(int par1, int par2) { return k == 0 && (par1 == 1 || par1 == 0) ? this.tree_top : (k == 4 && (par1 == 5 || par1 == 4) ? this.tree_top : (k == 8 && (par1 == 2 || par1 == 3) ? this.tree_top : this.tree_side)); } - @Override - public int damageDropped(int par1) { - return par1 & 3; - } - - @Override - protected ItemStack createStackedBlock(int par1) { - return new ItemStack(super.blockID, 1, limitToValidMetadata(par1)); - } - @Override @SideOnly(Side.CLIENT) public void registerIcons(IconRegister par1IconRegister) { diff --git a/src/com/teammetallurgy/atum/blocks/BlockPortal.java b/src/com/teammetallurgy/atum/blocks/BlockPortal.java index 1286251..dc84dc4 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockPortal.java +++ b/src/com/teammetallurgy/atum/blocks/BlockPortal.java @@ -40,25 +40,28 @@ public void updateTick(World par1World, int par2, int par3, int par4, Random par } + @Override public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { return null; } + @Override public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { } @Override public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) { -// for(int x = -1; x < 2; x++) { -// for(int z = -1; z < 2; z++) { -// for(int y = -1; y < 1; y++) { -// if(par1World.getBlockId(par2 + x, par3 + y, par4 + z) != Block.sandStone.blockID && par1World.getBlockId(par2 + x, par3 + y, par4 + z) != this.blockID && par1World.getBlockId(par2 + x, par3 + y, par4 + z) != Blocks.BLOCK_LARGEBRICK.blockID) { -// System.out.println(par1World.getBlockId(par2 + x, par3 + y, par4 + z)); -// par1World.setBlockToAir(par2, par3, par4); -// } -// } -// } -// } + // for(int x = -1; x < 2; x++) { + // for(int z = -1; z < 2; z++) { + // for(int y = -1; y < 1; y++) { + // if(par1World.getBlockId(par2 + x, par3 + y, par4 + z) != Block.sandStone.blockID && par1World.getBlockId(par2 + x, par3 + y, par4 + z) != this.blockID && par1World.getBlockId(par2 + x, par3 + // + y, par4 + z) != Blocks.BLOCK_LARGEBRICK.blockID) { + // System.out.println(par1World.getBlockId(par2 + x, par3 + y, par4 + z)); + // par1World.setBlockToAir(par2, par3, par4); + // } + // } + // } + // } } @Override @@ -99,7 +102,7 @@ public boolean tryToCreatePortal(World par1World, int x, int y, int z) { } for(int x1 = -1; x1 < 2; x1++) { for(int z1 = -1; z1 < 2; z1++) { - par1World.setBlock(x + x1, y + 1, z + z1, AtumBlocks.BLOCK_PORTAL.blockID); + par1World.setBlock(x + x1, y + 1, z + z1, AtumBlocks.BLOCK_PORTAL.blockID, 0, 0); } } return true; diff --git a/src/com/teammetallurgy/atum/entity/EntityDesertWolf.java b/src/com/teammetallurgy/atum/entity/EntityDesertWolf.java index db7d972..0ffd3af 100644 --- a/src/com/teammetallurgy/atum/entity/EntityDesertWolf.java +++ b/src/com/teammetallurgy/atum/entity/EntityDesertWolf.java @@ -64,7 +64,7 @@ public EntityDesertWolf(World par1World) { this.tasks.addTask(4, new EntityAIAttackOnCollide(this, 1, true)); this.tasks.addTask(5, new EntityAIFollowOwner(this, 0.8, 10.0F, 2.0F)); this.tasks.addTask(6, new EntityAIMate(this, 0.8)); - this.tasks.addTask(7, new EntityAIWander(this, 0.88)); + this.tasks.addTask(7, new EntityAIWander(this, this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).getAttributeValue())); this.tasks.addTask(8, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); this.tasks.addTask(9, new EntityAILookIdle(this)); this.targetTasks.addTask(1, new EntityAIOwnerHurtByTarget(this)); @@ -77,7 +77,7 @@ public EntityDesertWolf(World par1World) { protected void applyEntityAttributes() { super.applyEntityAttributes(); this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(8.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.43000000417232513D); this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java b/src/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java index 3943a70..129594c 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java @@ -31,7 +31,7 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { if(par3Entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) par3Entity; - if(player.onGround && player.inventory.mainInventory[player.inventory.currentItem] != null && player.inventory.mainInventory[player.inventory.currentItem].itemID == super.itemID) { + if(player.onGround && player.inventory.mainInventory[player.inventory.currentItem] != null && player.inventory.mainInventory[player.inventory.currentItem].itemID == this.itemID) { this.doEffect(player, par1ItemStack); } } @@ -39,14 +39,14 @@ public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity } public void doEffect(EntityPlayer player, ItemStack item) { - player.capabilities.setPlayerWalkSpeed((float) ((double) player.capabilities.getWalkSpeed() * 1.4D)); - if(player.motionX * player.motionX + player.motionZ * player.motionZ > 0.02D && !player.capabilities.isCreativeMode) { - if(item.getItemDamage() == 1) { - item.damageItem(1, player); - } else { - item.setItemDamage(item.getItemDamage() + 1); - } - } +// player.capabilities.setPlayerWalkSpeed((float) ((double) player.capabilities.getWalkSpeed() -1.4D)); +// if(player.motionX * player.motionX + player.motionZ * player.motionZ > 0.02D && !player.capabilities.isCreativeMode) { +// if(item.getItemDamage() == 1) { +// item.damageItem(1, player); +// } else { +// item.setItemDamage(item.getItemDamage() + 1); +// } +// } } From d476f66d9a7acb130ddd906a4807440d2016bec4 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Wed, 19 Feb 2014 20:57:50 +1000 Subject: [PATCH 024/157] Fixed Broken Bow Render --- .../atum/client/render/item/RendererItemBow.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/com/teammetallurgy/atum/client/render/item/RendererItemBow.java b/src/com/teammetallurgy/atum/client/render/item/RendererItemBow.java index 3075da8..e7ed3c7 100644 --- a/src/com/teammetallurgy/atum/client/render/item/RendererItemBow.java +++ b/src/com/teammetallurgy/atum/client/render/item/RendererItemBow.java @@ -35,7 +35,7 @@ public void renderItem(ItemRenderType type, ItemStack item, Object... data) { renderFirstPerson = true; } - if(!renderFirstPerson) { + if(!renderFirstPerson && e instanceof EntityPlayer) { float f22 = 0.375F; GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); @@ -49,7 +49,6 @@ public void renderItem(ItemRenderType type, ItemStack item, Object... data) { GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F); GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); } - this.renderItem(e, item, 0); GL11.glPushMatrix(); } @@ -78,7 +77,7 @@ public void renderItem(EntityLivingBase par1EntityLiving, ItemStack par2ItemStac if(par2ItemStack != null && par2ItemStack.hasEffect() && par3 == 0) { GL11.glDepthFunc(514); GL11.glDisable(2896); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation("%blur%/misc/glint.png")); + //Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation("%blur%/misc/glint.png")); GL11.glEnable(3042); GL11.glBlendFunc(768, 1); float f7 = 0.76F; From caf62d88e170274aa6879fa1adee1e707319823d Mon Sep 17 00:00:00 2001 From: lclc98 Date: Wed, 19 Feb 2014 21:11:20 +1000 Subject: [PATCH 025/157] Fixed Breaking Portal --- .../atum/blocks/BlockPortal.java | 30 +++++++++---------- .../teammetallurgy/atum/items/ItemScarab.java | 14 ++++++--- 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/src/com/teammetallurgy/atum/blocks/BlockPortal.java b/src/com/teammetallurgy/atum/blocks/BlockPortal.java index dc84dc4..4250dd0 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockPortal.java +++ b/src/com/teammetallurgy/atum/blocks/BlockPortal.java @@ -51,17 +51,15 @@ public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, @Override public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) { - // for(int x = -1; x < 2; x++) { - // for(int z = -1; z < 2; z++) { - // for(int y = -1; y < 1; y++) { - // if(par1World.getBlockId(par2 + x, par3 + y, par4 + z) != Block.sandStone.blockID && par1World.getBlockId(par2 + x, par3 + y, par4 + z) != this.blockID && par1World.getBlockId(par2 + x, par3 - // + y, par4 + z) != Blocks.BLOCK_LARGEBRICK.blockID) { - // System.out.println(par1World.getBlockId(par2 + x, par3 + y, par4 + z)); - // par1World.setBlockToAir(par2, par3, par4); - // } - // } - // } - // } + for(int x = -1; x < 2; x++) { + for(int z = -1; z < 2; z++) { + for(int y = -1; y < 1; y++) { + if(par1World.getBlockId(par2 + x, par3 + y, par4 + z) != Block.sandStone.blockID && par1World.getBlockId(par2 + x, par3 + y, par4 + z) != this.blockID && par1World.getBlockId(par2 + x, par3 + y, par4 + z) != AtumBlocks.BLOCK_LARGEBRICK.blockID) { + par1World.setBlockToAir(par2, par3, par4); + } + } + } + } } @Override @@ -69,11 +67,11 @@ public boolean isOpaqueCube() { return false; } - public boolean tryToCreatePortal(World par1World, int x, int y, int z) { + public boolean tryToCreatePortal(World par1World, int x, int y, int z, Block block) { for(int x1 = -2; x1 < 3; x1++) { for(int z1 = -2; z1 < 3; z1++) { int id = par1World.getBlockId(x + x1, y, z + z1); - if(id != Block.sandStone.blockID) { + if(id != block.blockID) { return false; } } @@ -82,7 +80,7 @@ public boolean tryToCreatePortal(World par1World, int x, int y, int z) { for(int z1 = -2; z1 < 3; z1++) { if(x1 + x == x + 2 || z1 + z == z + 2 || x1 + x == x - 2 || z1 + z == z - 2) { int id = par1World.getBlockId(x + x1, y + 1, z + z1); - if(id != Block.sandStone.blockID) { + if(id != block.blockID) { return false; } } @@ -93,7 +91,7 @@ public boolean tryToCreatePortal(World par1World, int x, int y, int z) { for(int z1 = -2; z1 < 3; z1++) { if((x1 + x == x + 2 && z1 + z == z + 2) || (x1 + x == x - 2 && z1 + z == z + 2) || (x1 + x == x + 2 && z1 + z == z - 2) || (x1 + x == x - 2 && z1 + z == z - 2)) { int id = par1World.getBlockId(x + x1, y + y1, z + z1); - if(id != Block.sandStone.blockID) { + if(id != block.blockID) { return false; } } @@ -102,7 +100,7 @@ public boolean tryToCreatePortal(World par1World, int x, int y, int z) { } for(int x1 = -1; x1 < 2; x1++) { for(int z1 = -1; z1 < 2; z1++) { - par1World.setBlock(x + x1, y + 1, z + z1, AtumBlocks.BLOCK_PORTAL.blockID, 0, 0); + par1World.setBlock(x + x1, y + 1, z + z1, AtumBlocks.BLOCK_PORTAL.blockID, 0, 2); } } return true; diff --git a/src/com/teammetallurgy/atum/items/ItemScarab.java b/src/com/teammetallurgy/atum/items/ItemScarab.java index 3fb6e90..3220756 100644 --- a/src/com/teammetallurgy/atum/items/ItemScarab.java +++ b/src/com/teammetallurgy/atum/items/ItemScarab.java @@ -25,18 +25,24 @@ public boolean hasEffect(ItemStack par1ItemStack) { @Override public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int x, int y, int z, int par7, float par8, float par9, float par10) { int blockID = par3World.getBlockId(x, y, z); + Block block = null; if(blockID == Block.sandStone.blockID) { - if(!((BlockPortal) AtumBlocks.BLOCK_PORTAL).tryToCreatePortal(par3World, x, y, z)) { + block = Block.sandStone; + } else if(blockID == AtumBlocks.BLOCK_LARGEBRICK.blockID) { + block = AtumBlocks.BLOCK_LARGEBRICK; + } + if(block != null) { + if(!((BlockPortal) AtumBlocks.BLOCK_PORTAL).tryToCreatePortal(par3World, x, y, z, block)) { if(par2EntityPlayer.capabilities.isCreativeMode) { for(int x1 = -2; x1 < 3; x1++) { for(int z1 = -2; z1 < 3; z1++) { - par3World.setBlock(x + x1, y, z + z1, Block.sandStone.blockID); + par3World.setBlock(x + x1, y, z + z1, block.blockID); } } for(int x1 = -2; x1 < 3; x1++) { for(int z1 = -2; z1 < 3; z1++) { if(x1 + x == x + 2 || z1 + z == z + 2 || x1 + x == x - 2 || z1 + z == z - 2) { - par3World.setBlock(x + x1, y + 1, z + z1, Block.sandStone.blockID); + par3World.setBlock(x + x1, y + 1, z + z1, block.blockID); } } } @@ -44,7 +50,7 @@ public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, for(int x1 = -2; x1 < 3; x1++) { for(int z1 = -2; z1 < 3; z1++) { if((x1 + x == x + 2 && z1 + z == z + 2) || (x1 + x == x - 2 && z1 + z == z + 2) || (x1 + x == x + 2 && z1 + z == z - 2) || (x1 + x == x - 2 && z1 + z == z - 2)) { - par3World.setBlock(x + x1, y + y1, z + z1, Block.sandStone.blockID); + par3World.setBlock(x + x1, y + y1, z + z1, block.blockID); } } } From 2f72a868f1e76a703e26c314583e86919de77172 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Sun, 23 Feb 2014 10:30:08 +1000 Subject: [PATCH 026/157] Fixed Speed Issues --- src/com/teammetallurgy/atum/Atum.java | 10 ++++---- .../atum/items/artifacts/ItemAnhursMight.java | 4 +--- .../items/artifacts/ItemMafdetsQuickness.java | 23 +++++++++++-------- .../atum/items/artifacts/ItemNutsAgility.java | 9 +++++--- 4 files changed, 25 insertions(+), 21 deletions(-) diff --git a/src/com/teammetallurgy/atum/Atum.java b/src/com/teammetallurgy/atum/Atum.java index dabc6b9..00f83ca 100644 --- a/src/com/teammetallurgy/atum/Atum.java +++ b/src/com/teammetallurgy/atum/Atum.java @@ -48,22 +48,22 @@ public void preInit(FMLPreInitializationEvent event) { @EventHandler public void init(FMLInitializationEvent event) { - LOGGER.info("Block Init"); + LOGGER.info("Register Blocks"); AtumBlocks.INSTANCE.registerBlocks(); - LOGGER.info("Item Init"); + LOGGER.info("Register Item"); AtumItems.INSTANCE.registerItems(); LOGGER.info("Register Crafting Recipes"); CraftingHandler.INSTANCE.register(); - LOGGER.info("World Init"); + LOGGER.info("Register World"); AtumWorlds.INSTANCE.register(); - LOGGER.info("Entity Init"); + LOGGER.info("Register Entity"); AtumEntities.INSTANCE.register(); - LOGGER.info("Loot Init"); + LOGGER.info("Register Loot"); AtumLoot.INSTANCE.register(); LOGGER.info("Proxy Init"); diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java b/src/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java index 2ec1c80..4b6c00c 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java @@ -47,9 +47,7 @@ public void onUpdate(ItemStack stack, World world, Entity entity, int par4, bool if(entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) entity; if(player.getCurrentEquippedItem() != null && player.getCurrentEquippedItem().itemID == super.itemID) { - double magnitude = Math.sqrt(player.motionX * player.motionX + player.motionZ * player.motionZ); - // Fix - // player.capabilities.setPlayerWalkSpeed((float) ((double) player.capabilities.getWalkSpeed() * 0.75D)); + player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 2, 0, false)); } } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java b/src/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java index 129594c..723fb21 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java @@ -8,6 +8,9 @@ import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.potion.PotionHelper; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; @@ -31,22 +34,22 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { if(par3Entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) par3Entity; - if(player.onGround && player.inventory.mainInventory[player.inventory.currentItem] != null && player.inventory.mainInventory[player.inventory.currentItem].itemID == this.itemID) { - this.doEffect(player, par1ItemStack); + if(player.inventory.armorInventory[1] != null && player.inventory.armorInventory[1].itemID == this.itemID) { + } } } public void doEffect(EntityPlayer player, ItemStack item) { -// player.capabilities.setPlayerWalkSpeed((float) ((double) player.capabilities.getWalkSpeed() -1.4D)); -// if(player.motionX * player.motionX + player.motionZ * player.motionZ > 0.02D && !player.capabilities.isCreativeMode) { -// if(item.getItemDamage() == 1) { -// item.damageItem(1, player); -// } else { -// item.setItemDamage(item.getItemDamage() + 1); -// } -// } + player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 2, 0, false)); + if(!player.capabilities.isCreativeMode) { + if(item.getItemDamage() == 1) { + item.damageItem(1, player); + } else { + item.setItemDamage(item.getItemDamage() + 1); + } + } } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java b/src/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java index aeb9a77..ee3f0df 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java @@ -8,6 +8,9 @@ import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.potion.PotionHelper; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; @@ -20,7 +23,6 @@ public class ItemNutsAgility extends ItemTexturedArmor { - public ItemNutsAgility(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); @@ -31,9 +33,10 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { return true; } + @Override public void onArmorTickUpdate(World world, EntityPlayer player, ItemStack itemStack) { - if(player.onGround && player.inventory.armorInventory[1] != null && player.inventory.armorInventory[1].itemID == super.itemID) { - player.capabilities.setPlayerWalkSpeed((float) ((double) player.capabilities.getWalkSpeed() * 1.4D)); + if(player.inventory.armorInventory[1] != null && player.inventory.armorInventory[1].itemID == this.itemID) { + player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 2, 0, false)); } } From ddc213a825322770d91a9dc8f10e5853645a7f95 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Sun, 23 Feb 2014 12:31:02 +1000 Subject: [PATCH 027/157] Fixed AI --- .../atum/entity/EntityBanditArcher.java | 39 +++++-------------- 1 file changed, 10 insertions(+), 29 deletions(-) diff --git a/src/com/teammetallurgy/atum/entity/EntityBanditArcher.java b/src/com/teammetallurgy/atum/entity/EntityBanditArcher.java index d318ebb..efcabab 100644 --- a/src/com/teammetallurgy/atum/entity/EntityBanditArcher.java +++ b/src/com/teammetallurgy/atum/entity/EntityBanditArcher.java @@ -27,8 +27,7 @@ import com.teammetallurgy.atum.items.AtumItems; public class EntityBanditArcher extends EntityMob implements IRangedAttackMob, IAtumDayMob { - private EntityAIArrowAttack aiArrowAttack = new EntityAIArrowAttack(this, 0.25F, 20, 60, 15.0F); - private EntityAIAttackOnCollide aiAttackOnCollide = new EntityAIAttackOnCollide(this, EntityPlayer.class, 0.31F, false); + private EntityAIArrowAttack aiArrowAttack = new EntityAIArrowAttack(this, 1.0D, 20, 60, 15.0F); public EntityBanditArcher(World par1World) { super(par1World); @@ -39,24 +38,23 @@ public EntityBanditArcher(World par1World) { this.tasks.addTask(1, new EntityAISwimming(this)); this.tasks.addTask(2, new EntityAIRestrictSun(this)); this.tasks.addTask(3, new EntityAIWander(this, 0.8)); - this.tasks.addTask(4, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); - this.tasks.addTask(5, new EntityAILookIdle(this)); - this.tasks.addTask(6, this.aiArrowAttack); + + this.tasks.addTask(4, this.aiArrowAttack); + this.tasks.addTask(5, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); + this.tasks.addTask(6, new EntityAILookIdle(this)); + this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, false)); - this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 16, true)); + this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 2, true)); - if(par1World != null && !par1World.isRemote) { - this.setCombatTask(); - } this.experienceValue = 6; - + } @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(25.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.25D); this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(4.0D); this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); } @@ -109,21 +107,6 @@ public EnumCreatureAttribute getCreatureAttribute() { protected void addRandomArmor() { } - /** - * sets this entity's combat AI. - */ - public void setCombatTask() { - this.tasks.removeTask(this.aiAttackOnCollide); - this.tasks.removeTask(this.aiArrowAttack); - ItemStack itemstack = this.getHeldItem(); - - if(itemstack != null && itemstack.itemID == AtumItems.ITEM_BOW.itemID) { - this.tasks.addTask(4, this.aiArrowAttack); - } else { - this.tasks.addTask(4, this.aiAttackOnCollide); - } - } - /** * Attack the specified entity using a ranged attack. */ @@ -156,10 +139,8 @@ public void attackEntityWithRangedAttack(EntityLivingBase par1EntityLiving, floa @Override public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { super.readEntityFromNBT(par1NBTTagCompound); - - this.setCombatTask(); } - + /** * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. */ From 405ed49759a4645fa92b58e2f995956ec9aaf851 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Sun, 23 Feb 2014 13:13:56 +1000 Subject: [PATCH 028/157] Fixed Shrub texture --- src/com/teammetallurgy/atum/blocks/AtumBlocks.java | 4 ++-- src/com/teammetallurgy/atum/blocks/BlockShrub.java | 5 ----- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/src/com/teammetallurgy/atum/blocks/AtumBlocks.java b/src/com/teammetallurgy/atum/blocks/AtumBlocks.java index 7d420a1..defac12 100644 --- a/src/com/teammetallurgy/atum/blocks/AtumBlocks.java +++ b/src/com/teammetallurgy/atum/blocks/AtumBlocks.java @@ -43,8 +43,8 @@ public enum AtumBlocks { public static final Block BLOCK_FRAMEDGLASS = new BlockAtumGlass(AtumIDS.BLOCK_FRAMEDGLASS_ID, "atum:AtumFramedGlass").setUnlocalizedName("atum:framedGlass"); public static final Block BLOCK_PALMSAPLING = new BlockPalmSapling(AtumIDS.BLOCK_PALMSAPLING_ID); public static final Block BLOCK_DATEBLOCK = new BlockDate(AtumIDS.BLOCK_DATEBLOCK_ID); - public static final Block BLOCK_SHRUB = new BlockShrub(AtumIDS.BLOCK_SHRUB_ID).setUnlocalizedName("atum:shrub"); - public static final Block BLOCK_WEED = new BlockShrub(AtumIDS.BLOCK_WEED_ID).setUnlocalizedName("atum:weed"); + public static final Block BLOCK_SHRUB = new BlockShrub(AtumIDS.BLOCK_SHRUB_ID).setUnlocalizedName("atum:shrub").setTextureName("atum:shrub"); + public static final Block BLOCK_WEED = new BlockShrub(AtumIDS.BLOCK_WEED_ID).setUnlocalizedName("atum:weed").setTextureName("atum:DeadBush"); public static final Block BLOCK_PAPYRUS = new BlockPapyrus(AtumIDS.BLOCK_PAPYRUS_ID); public static final Block BLOCK_FLAX = new BlockFlax(AtumIDS.BLOCK_FLAX_ID); public static final Block BLOCK_FERTILESOIL = new BlockFertileSoil(AtumIDS.BLOCK_FERTILESOIL_ID); diff --git a/src/com/teammetallurgy/atum/blocks/BlockShrub.java b/src/com/teammetallurgy/atum/blocks/BlockShrub.java index 51fd8d1..3af7a6a 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockShrub.java +++ b/src/com/teammetallurgy/atum/blocks/BlockShrub.java @@ -42,9 +42,4 @@ public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par } - @Override - public void registerIcons(IconRegister par1IconRegister) { - this.blockIcon = par1IconRegister.registerIcon("atum:DeadBush"); - } - } From 06a47857885c3dd16b1ac3cd4d2729071af8ca73 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Thu, 6 Mar 2014 11:13:41 +1000 Subject: [PATCH 029/157] Fixed Cursed Chest trying to spawn mobs in peaceful mod --- src/com/teammetallurgy/atum/Atum.java | 2 + .../teammetallurgy/atum/AtumGuiHandler.java | 39 ++ .../atum/blocks/BlockLimeStoneFurnace.java | 22 +- .../TileEntityLimestoneFurnace.java | 350 +++++++++++++++++- .../chests/CursedChestBaseLogic.java | 4 + 5 files changed, 404 insertions(+), 13 deletions(-) create mode 100644 src/com/teammetallurgy/atum/AtumGuiHandler.java diff --git a/src/com/teammetallurgy/atum/Atum.java b/src/com/teammetallurgy/atum/Atum.java index 00f83ca..bcbc8d1 100644 --- a/src/com/teammetallurgy/atum/Atum.java +++ b/src/com/teammetallurgy/atum/Atum.java @@ -20,6 +20,7 @@ import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.network.NetworkMod; +import cpw.mods.fml.common.network.NetworkRegistry; @Mod(modid = Atum.MODID, name = Atum.NAME, version = Atum.VERSION) @NetworkMod(clientSideRequired = true, serverSideRequired = false) @@ -73,6 +74,7 @@ public void init(FMLInitializationEvent event) { MinecraftForge.EVENT_BUS.register(new AtumEventListener()); + NetworkRegistry.instance().registerGuiHandler(this, new AtumGuiHandler()); } @EventHandler diff --git a/src/com/teammetallurgy/atum/AtumGuiHandler.java b/src/com/teammetallurgy/atum/AtumGuiHandler.java new file mode 100644 index 0000000..46927aa --- /dev/null +++ b/src/com/teammetallurgy/atum/AtumGuiHandler.java @@ -0,0 +1,39 @@ +package com.teammetallurgy.atum; + +import net.minecraft.client.gui.inventory.GuiFurnace; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.ContainerFurnace; +import net.minecraft.tileentity.TileEntityFurnace; +import net.minecraft.world.World; + +import com.teammetallurgy.atum.blocks.tileentity.TileEntityLimestoneFurnace; + +import cpw.mods.fml.common.network.IGuiHandler; + +public class AtumGuiHandler implements IGuiHandler { + + @Override + public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { + TileEntityFurnace te = (TileEntityFurnace) world.getBlockTileEntity(x, y, z); + + if(te != null) { + if(te instanceof TileEntityLimestoneFurnace) { + return new ContainerFurnace(player.inventory, te); + } + } + return null; + } + + @Override + public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { + TileEntityFurnace te = (TileEntityFurnace) world.getBlockTileEntity(x, y, z); + + if(te != null) { + if(te instanceof TileEntityLimestoneFurnace) { + return new GuiFurnace(player.inventory, te); + } + } + return null; + } + +} diff --git a/src/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java b/src/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java index 95ad190..7beb860 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java +++ b/src/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java @@ -2,14 +2,17 @@ import java.util.Random; -import com.teammetallurgy.atum.blocks.tileentity.TileEntityLimestoneFurnace; - import net.minecraft.block.Block; import net.minecraft.block.BlockFurnace; import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Icon; import net.minecraft.world.World; + +import com.teammetallurgy.atum.Atum; +import com.teammetallurgy.atum.blocks.tileentity.TileEntityLimestoneFurnace; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -28,6 +31,21 @@ protected BlockLimeStoneFurnace(int par1, boolean par2) { this.setStepSound(Block.soundStoneFootstep); } + @Override + public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { + if(par1World.isRemote) { + return true; + } else { + TileEntityLimestoneFurnace TileEntityLimestoneFurnace = (TileEntityLimestoneFurnace) par1World.getBlockTileEntity(par2, par3, par4); + + if(TileEntityLimestoneFurnace != null) { + par5EntityPlayer.openGui(Atum.instance, 0, par1World, par2, par3, par4); + } + + return true; + } + } + @Override @SideOnly(Side.CLIENT) public Icon getIcon(int par1, int par2) { diff --git a/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityLimestoneFurnace.java b/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityLimestoneFurnace.java index e77d155..46eaf3c 100644 --- a/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityLimestoneFurnace.java +++ b/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityLimestoneFurnace.java @@ -1,32 +1,250 @@ package com.teammetallurgy.atum.blocks.tileentity; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.ISidedInventory; +import net.minecraft.item.Item; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemHoe; import net.minecraft.item.ItemStack; +import net.minecraft.item.ItemSword; +import net.minecraft.item.ItemTool; import net.minecraft.item.crafting.FurnaceRecipes; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntityFurnace; import com.teammetallurgy.atum.blocks.BlockLimeStoneFurnace; -public class TileEntityLimestoneFurnace extends TileEntityFurnace { +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +public class TileEntityLimestoneFurnace extends TileEntityFurnace implements ISidedInventory { + private static final int[] field_102010_d = new int[]{0}; + private static final int[] field_102011_e = new int[]{2, 1}; + private static final int[] field_102009_f = new int[]{1}; + + /** + * The ItemStacks that hold the items currently being used in the furnace + */ private ItemStack[] furnaceItemStacks = new ItemStack[3]; + /** The number of ticks that the furnace will keep burning */ + public int furnaceBurnTime = 0; + + /** + * The number of ticks that a fresh copy of the currently-burning item would keep the furnace burning for + */ + public int currentItemBurnTime = 0; + + /** The number of ticks that the current item has been cooking for */ + public int furnaceCookTime = 0; + private String field_94130_e; + + /** + * Returns the number of slots in the inventory. + */ + @Override + public int getSizeInventory() { + return this.furnaceItemStacks.length; + } + + /** + * Returns the stack in slot i + */ + @Override + public ItemStack getStackInSlot(int par1) { + return this.furnaceItemStacks[par1]; + } + + /** + * Removes from an inventory slot (first arg) up to a specified number (second arg) of items and returns them in a new stack. + */ + @Override + public ItemStack decrStackSize(int par1, int par2) { + if(this.furnaceItemStacks[par1] != null) { + ItemStack itemstack; + + if(this.furnaceItemStacks[par1].stackSize <= par2) { + itemstack = this.furnaceItemStacks[par1]; + this.furnaceItemStacks[par1] = null; + return itemstack; + } else { + itemstack = this.furnaceItemStacks[par1].splitStack(par2); + + if(this.furnaceItemStacks[par1].stackSize == 0) { + this.furnaceItemStacks[par1] = null; + } + + return itemstack; + } + } else { + return null; + } + } + + /** + * When some containers are closed they call this on each slot, then drop whatever it returns as an EntityItem - like when you close a workbench GUI. + */ + @Override + public ItemStack getStackInSlotOnClosing(int par1) { + if(this.furnaceItemStacks[par1] != null) { + ItemStack itemstack = this.furnaceItemStacks[par1]; + this.furnaceItemStacks[par1] = null; + return itemstack; + } else { + return null; + } + } + + /** + * Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections). + */ + @Override + public void setInventorySlotContents(int par1, ItemStack par2ItemStack) { + this.furnaceItemStacks[par1] = par2ItemStack; + + if(par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) { + par2ItemStack.stackSize = this.getInventoryStackLimit(); + } + } + + /** + * Returns the name of the inventory. + */ + @Override + public String getInvName() { + return this.isInvNameLocalized() ? this.field_94130_e : "container.furnace"; + } + + /** + * If this returns false, the inventory name will be used as an unlocalized name, and translated into the player's language. Otherwise it will be used directly. + */ + @Override + public boolean isInvNameLocalized() { + return this.field_94130_e != null && this.field_94130_e.length() > 0; + } + + public void func_94129_a(String par1Str) { + this.field_94130_e = par1Str; + } + + /** + * Reads a tile entity from NBT. + */ + @Override + public void readFromNBT(NBTTagCompound par1NBTTagCompound) { + super.readFromNBT(par1NBTTagCompound); + NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items"); + this.furnaceItemStacks = new ItemStack[this.getSizeInventory()]; + + for(int i = 0; i < nbttaglist.tagCount(); ++i) { + NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.tagAt(i); + byte b0 = nbttagcompound1.getByte("Slot"); + + if(b0 >= 0 && b0 < this.furnaceItemStacks.length) { + this.furnaceItemStacks[b0] = ItemStack.loadItemStackFromNBT(nbttagcompound1); + } + } + + this.furnaceBurnTime = par1NBTTagCompound.getShort("BurnTime"); + this.furnaceCookTime = par1NBTTagCompound.getShort("CookTime"); + this.currentItemBurnTime = getItemBurnTime(this.furnaceItemStacks[1]); + + if(par1NBTTagCompound.hasKey("CustomName")) { + this.field_94130_e = par1NBTTagCompound.getString("CustomName"); + } + } + + /** + * Writes a tile entity to NBT. + */ + @Override + public void writeToNBT(NBTTagCompound par1NBTTagCompound) { + super.writeToNBT(par1NBTTagCompound); + par1NBTTagCompound.setShort("BurnTime", (short) this.furnaceBurnTime); + par1NBTTagCompound.setShort("CookTime", (short) this.furnaceCookTime); + NBTTagList nbttaglist = new NBTTagList(); + + for(int i = 0; i < this.furnaceItemStacks.length; ++i) { + if(this.furnaceItemStacks[i] != null) { + NBTTagCompound nbttagcompound1 = new NBTTagCompound(); + nbttagcompound1.setByte("Slot", (byte) i); + this.furnaceItemStacks[i].writeToNBT(nbttagcompound1); + nbttaglist.appendTag(nbttagcompound1); + } + } + + par1NBTTagCompound.setTag("Items", nbttaglist); + + if(this.isInvNameLocalized()) { + par1NBTTagCompound.setString("CustomName", this.field_94130_e); + } + } + + /** + * Returns the maximum stack size for a inventory slot. Seems to always be 64, possibly will be extended. *Isn't this more of a set than a get?* + */ + @Override + public int getInventoryStackLimit() { + return 64; + } + + @SideOnly(Side.CLIENT) + /** + * Returns an integer between 0 and the passed value representing how close the current item is to being completely + * cooked + */ + public int getCookProgressScaled(int par1) { + return this.furnaceCookTime * par1 / 200; + } + + @SideOnly(Side.CLIENT) + /** + * Returns an integer between 0 and the passed value representing how much burn time is left on the current fuel + * item, where 0 means that the item is exhausted and the passed value means that the item is fresh + */ + public int getBurnTimeRemainingScaled(int par1) { + if(this.currentItemBurnTime == 0) { + this.currentItemBurnTime = 200; + } + + return this.furnaceBurnTime * par1 / this.currentItemBurnTime; + } + + /** + * Returns true if the furnace is currently burning + */ + public boolean isBurning() { + return this.furnaceBurnTime > 0; + } + + /** + * Allows the entity to update its state. Overridden in most subclasses, e.g. the mob spawner uses this to count ticks and creates a new spawn inside its implementation. + */ @Override public void updateEntity() { boolean flag = this.furnaceBurnTime > 0; boolean flag1 = false; + if(this.furnaceBurnTime > 0) { --this.furnaceBurnTime; } - if(!super.worldObj.isRemote) { + if(!this.worldObj.isRemote) { if(this.furnaceBurnTime == 0 && this.canSmelt()) { this.currentItemBurnTime = this.furnaceBurnTime = getItemBurnTime(this.furnaceItemStacks[1]); + if(this.furnaceBurnTime > 0) { flag1 = true; + if(this.furnaceItemStacks[1] != null) { --this.furnaceItemStacks[1].stackSize; + if(this.furnaceItemStacks[1].stackSize == 0) { - this.furnaceItemStacks[1] = this.furnaceItemStacks[1].getItem().getContainerItemStack(this.furnaceItemStacks[1]); + this.furnaceItemStacks[1] = this.furnaceItemStacks[1].getItem().getContainerItemStack(furnaceItemStacks[1]); } } } @@ -34,6 +252,7 @@ public void updateEntity() { if(this.isBurning() && this.canSmelt()) { ++this.furnaceCookTime; + if(this.furnaceCookTime == 200) { this.furnaceCookTime = 0; this.smeltItem(); @@ -45,31 +264,140 @@ public void updateEntity() { if(flag != this.furnaceBurnTime > 0) { flag1 = true; - BlockLimeStoneFurnace.updateFurnaceBlockState(this.furnaceBurnTime > 0, super.worldObj, super.xCoord, super.yCoord, super.zCoord); + BlockLimeStoneFurnace.updateFurnaceBlockState(this.furnaceBurnTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord); } } if(flag1) { this.onInventoryChanged(); } - } + /** + * Returns true if the furnace can smelt an item, i.e. has a source item, destination stack isn't full, etc. + */ private boolean canSmelt() { if(this.furnaceItemStacks[0] == null) { return false; } else { ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(this.furnaceItemStacks[0]); - if(itemstack == null) { + if(itemstack == null) return false; - } else if(this.furnaceItemStacks[2] == null) { + if(this.furnaceItemStacks[2] == null) return true; - } else if(!this.furnaceItemStacks[2].isItemEqual(itemstack)) { + if(!this.furnaceItemStacks[2].isItemEqual(itemstack)) return false; - } else { - int result = this.furnaceItemStacks[2].stackSize + itemstack.stackSize; - return result <= this.getInventoryStackLimit() && result <= itemstack.getMaxStackSize(); + int result = furnaceItemStacks[2].stackSize + itemstack.stackSize; + return (result <= getInventoryStackLimit() && result <= itemstack.getMaxStackSize()); + } + } + + /** + * Turn one item from the furnace source stack into the appropriate smelted item in the furnace result stack + */ + public void smeltItem() { + if(this.canSmelt()) { + ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(this.furnaceItemStacks[0]); + + if(this.furnaceItemStacks[2] == null) { + this.furnaceItemStacks[2] = itemstack.copy(); + } else if(this.furnaceItemStacks[2].isItemEqual(itemstack)) { + furnaceItemStacks[2].stackSize += itemstack.stackSize; + } + + --this.furnaceItemStacks[0].stackSize; + + if(this.furnaceItemStacks[0].stackSize <= 0) { + this.furnaceItemStacks[0] = null; } } } + + /** + * Returns the number of ticks that the supplied fuel item will keep the furnace burning, or 0 if the item isn't fuel + */ + public static int getItemBurnTime(ItemStack par0ItemStack) { + if(par0ItemStack == null) { + return 0; + } else { + int i = par0ItemStack.getItem().itemID; + Item item = par0ItemStack.getItem(); + + if(par0ItemStack.getItem() instanceof ItemBlock && Block.blocksList[i] != null) { + Block block = Block.blocksList[i]; + + if(block == Block.woodSingleSlab) { + return 150; + } + + if(block.blockMaterial == Material.wood) { + return 300; + } + } + + if(item instanceof ItemTool && ((ItemTool) item).getToolMaterialName().equals("WOOD")) + return 200; + if(item instanceof ItemSword && ((ItemSword) item).getToolMaterialName().equals("WOOD")) + return 200; + if(item instanceof ItemHoe && ((ItemHoe) item).getMaterialName().equals("WOOD")) + return 200; + if(i == Item.stick.itemID) + return 100; + if(i == Item.coal.itemID) + return 1600; + if(i == Item.bucketLava.itemID) + return 20000; + if(i == Block.sapling.blockID) + return 100; + if(i == Item.blazeRod.itemID) + return 2400; + return GameRegistry.getFuelValue(par0ItemStack); + } + } + + /** + * Return true if item is a fuel source (getItemBurnTime() > 0). + */ + public static boolean isItemFuel(ItemStack par0ItemStack) { + return getItemBurnTime(par0ItemStack) > 0; + } + + /** + * Do not make give this method the name canInteractWith because it clashes with Container + */ + @Override + public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { + return this.worldObj.getBlockTileEntity(this.xCoord, this.yCoord, this.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double) this.xCoord + 0.5D, (double) this.yCoord + 0.5D, (double) this.zCoord + 0.5D) <= 64.0D; + } + + @Override + public void openChest() { + } + + @Override + public void closeChest() { + } + + /** + * Get the size of the side inventory. + */ + @Override + public int[] getAccessibleSlotsFromSide(int par1) { + return par1 == 0 ? field_102011_e : (par1 == 1 ? field_102010_d : field_102009_f); + } + + @Override + public boolean canExtractItem(int par1, ItemStack par2ItemStack, int par3) { + return par3 != 0 || par1 != 1 || par2ItemStack.itemID == Item.bucketEmpty.itemID; + } + + @Override + public boolean isItemValidForSlot(int i, ItemStack itemstack) { + return false; + } + + @Override + public boolean canInsertItem(int i, ItemStack itemstack, int j) { + return false; + } } diff --git a/src/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java b/src/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java index 558ba37..5e8ae9d 100644 --- a/src/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java +++ b/src/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java @@ -104,6 +104,10 @@ public void updateSpawner() { boolean flag = false; for(int i = 0; i < this.spawnCount; ++i) { + if(this.getSpawnerWorld().difficultySetting == 0){ + return; + } + Entity entity = EntityList.createEntityByName(this.getEntityNameToSpawn(), this.getSpawnerWorld()); if(entity == null) { From 70f3de0e10b47aa196233ef83e329fb93fadbd72 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Sun, 9 Mar 2014 14:05:57 +1000 Subject: [PATCH 030/157] Fixed Furnace Bug --- .../teammetallurgy/atum/AtumGuiHandler.java | 15 +- .../atum/blocks/AtumBlocks.java | 2 +- .../atum/blocks/BlockLimeStoneFurnace.java | 259 ++++++++++++++++-- .../furnace/ContainerLimestoneFurnace.java | 149 ++++++++++ .../furnace/GuiLimestoneFurnace.java | 53 ++++ .../TileEntityLimestoneFurnace.java | 22 +- 6 files changed, 452 insertions(+), 48 deletions(-) create mode 100644 src/com/teammetallurgy/atum/blocks/tileentity/furnace/ContainerLimestoneFurnace.java create mode 100644 src/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java rename src/com/teammetallurgy/atum/blocks/tileentity/{ => furnace}/TileEntityLimestoneFurnace.java (96%) diff --git a/src/com/teammetallurgy/atum/AtumGuiHandler.java b/src/com/teammetallurgy/atum/AtumGuiHandler.java index 46927aa..e2f678b 100644 --- a/src/com/teammetallurgy/atum/AtumGuiHandler.java +++ b/src/com/teammetallurgy/atum/AtumGuiHandler.java @@ -1,12 +1,11 @@ package com.teammetallurgy.atum; -import net.minecraft.client.gui.inventory.GuiFurnace; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.ContainerFurnace; -import net.minecraft.tileentity.TileEntityFurnace; import net.minecraft.world.World; -import com.teammetallurgy.atum.blocks.tileentity.TileEntityLimestoneFurnace; +import com.teammetallurgy.atum.blocks.tileentity.furnace.ContainerLimestoneFurnace; +import com.teammetallurgy.atum.blocks.tileentity.furnace.GuiLimestoneFurnace; +import com.teammetallurgy.atum.blocks.tileentity.furnace.TileEntityLimestoneFurnace; import cpw.mods.fml.common.network.IGuiHandler; @@ -14,11 +13,11 @@ public class AtumGuiHandler implements IGuiHandler { @Override public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { - TileEntityFurnace te = (TileEntityFurnace) world.getBlockTileEntity(x, y, z); + TileEntityLimestoneFurnace te = (TileEntityLimestoneFurnace) world.getBlockTileEntity(x, y, z); if(te != null) { if(te instanceof TileEntityLimestoneFurnace) { - return new ContainerFurnace(player.inventory, te); + return new ContainerLimestoneFurnace(player.inventory, te); } } return null; @@ -26,11 +25,11 @@ public Object getServerGuiElement(int ID, EntityPlayer player, World world, int @Override public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { - TileEntityFurnace te = (TileEntityFurnace) world.getBlockTileEntity(x, y, z); + TileEntityLimestoneFurnace te = (TileEntityLimestoneFurnace) world.getBlockTileEntity(x, y, z); if(te != null) { if(te instanceof TileEntityLimestoneFurnace) { - return new GuiFurnace(player.inventory, te); + return new GuiLimestoneFurnace(player.inventory, te); } } return null; diff --git a/src/com/teammetallurgy/atum/blocks/AtumBlocks.java b/src/com/teammetallurgy/atum/blocks/AtumBlocks.java index defac12..828db03 100644 --- a/src/com/teammetallurgy/atum/blocks/AtumBlocks.java +++ b/src/com/teammetallurgy/atum/blocks/AtumBlocks.java @@ -12,9 +12,9 @@ import com.teammetallurgy.atum.AtumIDS; import com.teammetallurgy.atum.LocalizationHelper; import com.teammetallurgy.atum.blocks.tileentity.TileEntityBurningTrap; -import com.teammetallurgy.atum.blocks.tileentity.TileEntityLimestoneFurnace; import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityChestSpawner; import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityPharaohChest; +import com.teammetallurgy.atum.blocks.tileentity.furnace.TileEntityLimestoneFurnace; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; diff --git a/src/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java b/src/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java index 7beb860..df561ed 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java +++ b/src/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java @@ -3,75 +3,150 @@ import java.util.Random; import net.minecraft.block.Block; -import net.minecraft.block.BlockFurnace; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Icon; +import net.minecraft.util.MathHelper; import net.minecraft.world.World; import com.teammetallurgy.atum.Atum; -import com.teammetallurgy.atum.blocks.tileentity.TileEntityLimestoneFurnace; +import com.teammetallurgy.atum.blocks.tileentity.furnace.TileEntityLimestoneFurnace; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class BlockLimeStoneFurnace extends BlockFurnace { +public class BlockLimeStoneFurnace extends BlockContainer { - private static boolean keepFurnaceInventory; + /** + * Is the random generator used by furnace to drop the inventory contents in random directions. + */ + private final Random furnaceRand = new Random(); - boolean isActive; + /** True if this is an active furnace, false if idle */ + private final boolean isActive; + + /** + * This flag is used to prevent the furnace inventory to be dropped upon block removal, is used internally when the furnace block changes from idle to active and vice-versa. + */ + private static boolean keepFurnaceInventory = false; + @SideOnly(Side.CLIENT) + private Icon field_94458_cO; @SideOnly(Side.CLIENT) - private Icon furnaceFront; + private Icon field_94459_cP; - protected BlockLimeStoneFurnace(int par1, boolean par2) { - super(par1, par2); - this.isActive = par2; - this.setHardness(3.5F); - this.setStepSound(Block.soundStoneFootstep); + public BlockLimeStoneFurnace(int par1, boolean par2) { + super(par1, Material.rock); + isActive = par2; } + /** + * Returns the ID of the items to drop on destruction. + */ @Override - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { - if(par1World.isRemote) { - return true; - } else { - TileEntityLimestoneFurnace TileEntityLimestoneFurnace = (TileEntityLimestoneFurnace) par1World.getBlockTileEntity(par2, par3, par4); + public int idDropped(int par1, Random par2Random, int par3) { + return AtumBlocks.BLOCK_FURNACEIDLE.blockID; + } - if(TileEntityLimestoneFurnace != null) { - par5EntityPlayer.openGui(Atum.instance, 0, par1World, par2, par3, par4); + /** + * Called whenever the block is added into the world. Args: world, x, y, z + */ + @Override + public void onBlockAdded(World par1World, int par2, int par3, int par4) { + super.onBlockAdded(par1World, par2, par3, par4); + this.setDefaultDirection(par1World, par2, par3, par4); + } + + /** + * set a blocks direction + */ + private void setDefaultDirection(World par1World, int par2, int par3, int par4) { + if(!par1World.isRemote) { + int l = par1World.getBlockId(par2, par3, par4 - 1); + int i1 = par1World.getBlockId(par2, par3, par4 + 1); + int j1 = par1World.getBlockId(par2 - 1, par3, par4); + int k1 = par1World.getBlockId(par2 + 1, par3, par4); + byte b0 = 3; + + if(Block.opaqueCubeLookup[l] && !Block.opaqueCubeLookup[i1]) { + b0 = 3; } - return true; + if(Block.opaqueCubeLookup[i1] && !Block.opaqueCubeLookup[l]) { + b0 = 2; + } + + if(Block.opaqueCubeLookup[j1] && !Block.opaqueCubeLookup[k1]) { + b0 = 5; + } + + if(Block.opaqueCubeLookup[k1] && !Block.opaqueCubeLookup[j1]) { + b0 = 4; + } + + par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 2); } } - @Override @SideOnly(Side.CLIENT) + /** + * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata + */ + @Override public Icon getIcon(int par1, int par2) { - if(par2 == 0) { + if(par2 == 0) par2 = 3; - } - return par1 == 1 ? this.blockIcon : (par1 == 0 ? this.blockIcon : (par1 != par2 ? this.blockIcon : this.furnaceFront)); + return par1 == 1 ? this.field_94458_cO : (par1 == 0 ? this.field_94458_cO : (par1 != par2 ? this.blockIcon : this.field_94459_cP)); } - @Override @SideOnly(Side.CLIENT) + /** + * When this method is called, your block should register all the icons it needs with the given IconRegister. This + * is the only chance you get to register icons. + */ + @Override public void registerIcons(IconRegister par1IconRegister) { - this.blockIcon = par1IconRegister.registerIcon("atum:FurnaceTop"); - this.furnaceFront = par1IconRegister.registerIcon(this.isActive ? "atum:FurnaceBurning" : "atum:FurnaceFront"); + this.blockIcon = par1IconRegister.registerIcon("Atum:FurnaceTop"); + this.field_94459_cP = par1IconRegister.registerIcon(this.isActive ? "Atum:FurnaceBurning" : "Atum:FurnaceFront"); + this.field_94458_cO = par1IconRegister.registerIcon("Atum:FurnaceTop"); } + /** + * Called upon block activation (right click on the block.) + */ @Override - public TileEntity createNewTileEntity(World par1World) { - return new TileEntityLimestoneFurnace(); + public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { + if(par1World.isRemote) { + return true; + } else { + TileEntityLimestoneFurnace TileEntityLimestoneFurnace = (TileEntityLimestoneFurnace) par1World.getBlockTileEntity(par2, par3, par4); + + if(TileEntityLimestoneFurnace != null) { + // par5EntityPlayer.displayGUIFurnace(TileEntityLimestoneFurnace); + par5EntityPlayer.openGui(Atum.instance, 0, par1World, par2, par3, par4); + } + + return true; + } } + /** + * Update which block ID the furnace is using depending on whether or not it is burning + */ public static void updateFurnaceBlockState(boolean par0, World par1World, int par2, int par3, int par4) { int l = par1World.getBlockMetadata(par2, par3, par4); TileEntity tileentity = par1World.getBlockTileEntity(par2, par3, par4); keepFurnaceInventory = true; + if(par0) { par1World.setBlock(par2, par3, par4, AtumBlocks.BLOCK_FURNACEBURNING.blockID); } else { @@ -80,15 +155,139 @@ public static void updateFurnaceBlockState(boolean par0, World par1World, int pa keepFurnaceInventory = false; par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); + if(tileentity != null) { tileentity.validate(); par1World.setBlockTileEntity(par2, par3, par4, tileentity); } + } + @SideOnly(Side.CLIENT) + /** + * A randomly called display update to be able to add particles or other items for display + */ + @Override + public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { + if(this.isActive) { + int l = par1World.getBlockMetadata(par2, par3, par4); + float f = (float) par2 + 0.5F; + float f1 = (float) par3 + 0.0F + par5Random.nextFloat() * 6.0F / 16.0F; + float f2 = (float) par4 + 0.5F; + float f3 = 0.52F; + float f4 = par5Random.nextFloat() * 0.6F - 0.3F; + + if(l == 4) { + par1World.spawnParticle("smoke", (double) (f - f3), (double) f1, (double) (f2 + f4), 0.0D, 0.0D, 0.0D); + par1World.spawnParticle("flame", (double) (f - f3), (double) f1, (double) (f2 + f4), 0.0D, 0.0D, 0.0D); + } else if(l == 5) { + par1World.spawnParticle("smoke", (double) (f + f3), (double) f1, (double) (f2 + f4), 0.0D, 0.0D, 0.0D); + par1World.spawnParticle("flame", (double) (f + f3), (double) f1, (double) (f2 + f4), 0.0D, 0.0D, 0.0D); + } else if(l == 2) { + par1World.spawnParticle("smoke", (double) (f + f4), (double) f1, (double) (f2 - f3), 0.0D, 0.0D, 0.0D); + par1World.spawnParticle("flame", (double) (f + f4), (double) f1, (double) (f2 - f3), 0.0D, 0.0D, 0.0D); + } else if(l == 3) { + par1World.spawnParticle("smoke", (double) (f + f4), (double) f1, (double) (f2 + f3), 0.0D, 0.0D, 0.0D); + par1World.spawnParticle("flame", (double) (f + f4), (double) f1, (double) (f2 + f3), 0.0D, 0.0D, 0.0D); + } + } } + /** + * Returns a new instance of a block's tile entity class. Called on placing the block. + */ @Override - public int idDropped(int par1, Random par2Random, int par3) { - return AtumBlocks.BLOCK_FURNACEIDLE.blockID; + public TileEntity createNewTileEntity(World par1World) { + return new TileEntityLimestoneFurnace(); + } + + /** + * Called when the block is placed in the world. + */ + @Override + public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLivingBase par5EntityLiving, ItemStack par6ItemStack) { + int l = MathHelper.floor_double((double) (par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + + if(l == 0) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 2, 2); + } + + if(l == 1) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 5, 2); + } + + if(l == 2) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 3, 2); + } + + if(l == 3) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 4, 2); + } + + if(par6ItemStack.hasDisplayName()) { + ((TileEntityLimestoneFurnace) par1World.getBlockTileEntity(par2, par3, par4)).setGuiDisplayName(par6ItemStack.getDisplayName()); + } + } + + /** + * ejects contained items into the world, and notifies neighbours of an update, as appropriate + */ + @Override + public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) { + if(!keepFurnaceInventory) { + TileEntityLimestoneFurnace TileEntityLimestoneFurnace = (TileEntityLimestoneFurnace) par1World.getBlockTileEntity(par2, par3, par4); + + if(TileEntityLimestoneFurnace != null) { + for(int j1 = 0; j1 < TileEntityLimestoneFurnace.getSizeInventory(); ++j1) { + ItemStack itemstack = TileEntityLimestoneFurnace.getStackInSlot(j1); + + if(itemstack != null) { + float f = this.furnaceRand.nextFloat() * 0.8F + 0.1F; + float f1 = this.furnaceRand.nextFloat() * 0.8F + 0.1F; + float f2 = this.furnaceRand.nextFloat() * 0.8F + 0.1F; + + while(itemstack.stackSize > 0) { + int k1 = this.furnaceRand.nextInt(21) + 10; + + if(k1 > itemstack.stackSize) { + k1 = itemstack.stackSize; + } + + itemstack.stackSize -= k1; + EntityItem entityitem = new EntityItem(par1World, (double) ((float) par2 + f), (double) ((float) par3 + f1), (double) ((float) par4 + f2), new ItemStack(itemstack.itemID, k1, itemstack.getItemDamage())); + + if(itemstack.hasTagCompound()) { + entityitem.getEntityItem().setTagCompound((NBTTagCompound) itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (double) ((float) this.furnaceRand.nextGaussian() * f3); + entityitem.motionY = (double) ((float) this.furnaceRand.nextGaussian() * f3 + 0.2F); + entityitem.motionZ = (double) ((float) this.furnaceRand.nextGaussian() * f3); + par1World.spawnEntityInWorld(entityitem); + } + } + } + + par1World.func_96440_m(par2, par3, par4, par5); + } + } + + super.breakBlock(par1World, par2, par3, par4, par5, par6); + } + + /** + * If this returns true, then comparators facing away from this block will use the value from getComparatorInputOverride instead of the actual redstone signal strength. + */ + @Override + public boolean hasComparatorInputOverride() { + return true; + } + + /** + * If hasComparatorInputOverride returns true, the return value from this is used instead of the redstone signal strength when this block inputs to a comparator. + */ + @Override + public int getComparatorInputOverride(World par1World, int par2, int par3, int par4, int par5) { + return Container.calcRedstoneFromInventory((IInventory) par1World.getBlockTileEntity(par2, par3, par4)); } } diff --git a/src/com/teammetallurgy/atum/blocks/tileentity/furnace/ContainerLimestoneFurnace.java b/src/com/teammetallurgy/atum/blocks/tileentity/furnace/ContainerLimestoneFurnace.java new file mode 100644 index 0000000..f1a5522 --- /dev/null +++ b/src/com/teammetallurgy/atum/blocks/tileentity/furnace/ContainerLimestoneFurnace.java @@ -0,0 +1,149 @@ +package com.teammetallurgy.atum.blocks.tileentity.furnace; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.ICrafting; +import net.minecraft.inventory.Slot; +import net.minecraft.inventory.SlotFurnace; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.FurnaceRecipes; +import net.minecraft.tileentity.TileEntity; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class ContainerLimestoneFurnace extends Container { + private TileEntityLimestoneFurnace furnace; + private int lastCookTime = 0; + private int lastBurnTime = 0; + private int lastItemBurnTime = 0; + + public ContainerLimestoneFurnace(InventoryPlayer par1InventoryPlayer, TileEntity par2TileEntityLimestoneFurnace) { + this.furnace = (TileEntityLimestoneFurnace) par2TileEntityLimestoneFurnace; + this.addSlotToContainer(new Slot(furnace, 0, 56, 17)); + this.addSlotToContainer(new Slot(furnace, 1, 56, 53)); + this.addSlotToContainer(new SlotFurnace(par1InventoryPlayer.player, furnace, 2, 116, 35)); + int i; + + for(i = 0; i < 3; ++i) { + for(int j = 0; j < 9; ++j) { + this.addSlotToContainer(new Slot(par1InventoryPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); + } + } + + for(i = 0; i < 9; ++i) { + this.addSlotToContainer(new Slot(par1InventoryPlayer, i, 8 + i * 18, 142)); + } + } + + @Override + public void addCraftingToCrafters(ICrafting par1ICrafting) { + super.addCraftingToCrafters(par1ICrafting); + par1ICrafting.sendProgressBarUpdate(this, 0, this.furnace.furnaceCookTime); + par1ICrafting.sendProgressBarUpdate(this, 1, this.furnace.furnaceBurnTime); + par1ICrafting.sendProgressBarUpdate(this, 2, this.furnace.currentItemBurnTime); + } + + /** + * Looks for changes made in the container, sends them to every listener. + */ + @Override + public void detectAndSendChanges() { + super.detectAndSendChanges(); + + for(int i = 0; i < this.crafters.size(); ++i) { + ICrafting icrafting = (ICrafting) this.crafters.get(i); + + if(this.lastCookTime != this.furnace.furnaceCookTime) { + icrafting.sendProgressBarUpdate(this, 0, this.furnace.furnaceCookTime); + } + + if(this.lastBurnTime != this.furnace.furnaceBurnTime) { + icrafting.sendProgressBarUpdate(this, 1, this.furnace.furnaceBurnTime); + } + + if(this.lastItemBurnTime != this.furnace.currentItemBurnTime) { + icrafting.sendProgressBarUpdate(this, 2, this.furnace.currentItemBurnTime); + } + } + + this.lastCookTime = this.furnace.furnaceCookTime; + this.lastBurnTime = this.furnace.furnaceBurnTime; + this.lastItemBurnTime = this.furnace.currentItemBurnTime; + } + + @SideOnly(Side.CLIENT) + @Override + public void updateProgressBar(int par1, int par2) { + if(par1 == 0) { + this.furnace.furnaceCookTime = par2; + } + + if(par1 == 1) { + this.furnace.furnaceBurnTime = par2; + } + + if(par1 == 2) { + this.furnace.currentItemBurnTime = par2; + } + } + + @Override + public boolean canInteractWith(EntityPlayer par1EntityPlayer) { + return this.furnace.isUseableByPlayer(par1EntityPlayer); + } + + /** + * Called when a player shift-clicks on a slot. You must override this or you will crash when someone does that. + */ + @Override + public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2) { + ItemStack itemstack = null; + Slot slot = (Slot) this.inventorySlots.get(par2); + + if(slot != null && slot.getHasStack()) { + ItemStack itemstack1 = slot.getStack(); + itemstack = itemstack1.copy(); + + if(par2 == 2) { + if(!this.mergeItemStack(itemstack1, 3, 39, true)) { + return null; + } + + slot.onSlotChange(itemstack1, itemstack); + } else if(par2 != 1 && par2 != 0) { + if(FurnaceRecipes.smelting().getSmeltingResult(itemstack1) != null) { + if(!this.mergeItemStack(itemstack1, 0, 1, false)) { + return null; + } + } else if(TileEntityLimestoneFurnace.isItemFuel(itemstack1)) { + if(!this.mergeItemStack(itemstack1, 1, 2, false)) { + return null; + } + } else if(par2 >= 3 && par2 < 30) { + if(!this.mergeItemStack(itemstack1, 30, 39, false)) { + return null; + } + } else if(par2 >= 30 && par2 < 39 && !this.mergeItemStack(itemstack1, 3, 30, false)) { + return null; + } + } else if(!this.mergeItemStack(itemstack1, 3, 39, false)) { + return null; + } + + if(itemstack1.stackSize == 0) { + slot.putStack((ItemStack) null); + } else { + slot.onSlotChanged(); + } + + if(itemstack1.stackSize == itemstack.stackSize) { + return null; + } + + slot.onPickupFromSlot(par1EntityPlayer, itemstack1); + } + + return itemstack; + } +} diff --git a/src/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java b/src/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java new file mode 100644 index 0000000..4a10398 --- /dev/null +++ b/src/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java @@ -0,0 +1,53 @@ +package com.teammetallurgy.atum.blocks.tileentity.furnace; + +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.StatCollector; + +import org.lwjgl.opengl.GL11; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +@SideOnly(Side.CLIENT) +public class GuiLimestoneFurnace extends GuiContainer { + private TileEntityLimestoneFurnace furnaceInventory; + + public GuiLimestoneFurnace(InventoryPlayer par1InventoryPlayer, TileEntity par2TileEntityLimestoneFurnace) { + super(new ContainerLimestoneFurnace(par1InventoryPlayer, par2TileEntityLimestoneFurnace)); + this.furnaceInventory = (TileEntityLimestoneFurnace) par2TileEntityLimestoneFurnace; + } + + /** + * Draw the foreground layer for the GuiContainer (everything in front of the items) + */ + @Override + protected void drawGuiContainerForegroundLayer(int par1, int par2) { + String s = this.furnaceInventory.isInvNameLocalized() ? this.furnaceInventory.getInvName() : StatCollector.translateToLocal(this.furnaceInventory.getInvName()); + this.fontRenderer.drawString(s, this.xSize / 2 - this.fontRenderer.getStringWidth(s) / 2, 6, 4210752); + this.fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + } + + /** + * Draw the background layer for the GuiContainer (everything behind the items) + */ + @Override + protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + this.mc.renderEngine.bindTexture(new ResourceLocation("textures/gui/container/furnace.png")); + int k = (this.width - this.xSize) / 2; + int l = (this.height - this.ySize) / 2; + this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize); + int i1; + + if(this.furnaceInventory.isBurning()) { + i1 = this.furnaceInventory.getBurnTimeRemainingScaled(12); + this.drawTexturedModalRect(k + 56, l + 36 + 12 - i1, 176, 12 - i1, 14, i1 + 2); + } + + i1 = this.furnaceInventory.getCookProgressScaled(24); + this.drawTexturedModalRect(k + 79, l + 34, 176, 14, i1 + 1, 16); + } +} diff --git a/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityLimestoneFurnace.java b/src/com/teammetallurgy/atum/blocks/tileentity/furnace/TileEntityLimestoneFurnace.java similarity index 96% rename from src/com/teammetallurgy/atum/blocks/tileentity/TileEntityLimestoneFurnace.java rename to src/com/teammetallurgy/atum/blocks/tileentity/furnace/TileEntityLimestoneFurnace.java index 46eaf3c..33178da 100644 --- a/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityLimestoneFurnace.java +++ b/src/com/teammetallurgy/atum/blocks/tileentity/furnace/TileEntityLimestoneFurnace.java @@ -1,4 +1,4 @@ -package com.teammetallurgy.atum.blocks.tileentity; +package com.teammetallurgy.atum.blocks.tileentity.furnace; import net.minecraft.block.Block; import net.minecraft.block.material.Material; @@ -378,6 +378,14 @@ public void openChest() { public void closeChest() { } + /** + * Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot. + */ + @Override + public boolean isItemValidForSlot(int par1, ItemStack par2ItemStack) { + return par1 == 2 ? false : (par1 == 1 ? isItemFuel(par2ItemStack) : true); + } + /** * Get the size of the side inventory. */ @@ -387,17 +395,13 @@ public int[] getAccessibleSlotsFromSide(int par1) { } @Override - public boolean canExtractItem(int par1, ItemStack par2ItemStack, int par3) { - return par3 != 0 || par1 != 1 || par2ItemStack.itemID == Item.bucketEmpty.itemID; + public boolean canInsertItem(int par1, ItemStack par2ItemStack, int par3) { + return this.isItemValidForSlot(par1, par2ItemStack); } @Override - public boolean isItemValidForSlot(int i, ItemStack itemstack) { - return false; + public boolean canExtractItem(int par1, ItemStack par2ItemStack, int par3) { + return par3 != 0 || par1 != 1 || par2ItemStack.itemID == Item.bucketEmpty.itemID; } - @Override - public boolean canInsertItem(int i, ItemStack itemstack, int j) { - return false; - } } From 4810594a2a968148b0e4d494a846c1963294856f Mon Sep 17 00:00:00 2001 From: lclc98 Date: Sun, 9 Mar 2014 15:26:25 +1000 Subject: [PATCH 031/157] Fixed Bug with non breakable block --- src/com/teammetallurgy/atum/blocks/AtumBlocks.java | 2 +- src/com/teammetallurgy/atum/blocks/BlockAtum.java | 11 ----------- .../atum/worldgen/decorators/WorldGenPyramid.java | 9 +++++++-- 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/src/com/teammetallurgy/atum/blocks/AtumBlocks.java b/src/com/teammetallurgy/atum/blocks/AtumBlocks.java index 828db03..3f91c5d 100644 --- a/src/com/teammetallurgy/atum/blocks/AtumBlocks.java +++ b/src/com/teammetallurgy/atum/blocks/AtumBlocks.java @@ -27,7 +27,7 @@ public enum AtumBlocks { public static final Block BLOCK_SAND = new BlockSands(AtumIDS.BLOCK_SAND_ID); public static final Block BLOCK_STONE = new BlockStones(AtumIDS.BLOCK_STONE_ID); public static final Block BLOCK_LIMESTONECOBBLE = new BlockAtum(AtumIDS.BLOCK_COBBLE_ID, "atum:cobble").setTextureName("atum:AtumCobble"); - public static final Block BLOCK_LARGEBRICK = ((BlockAtum) new BlockAtum(AtumIDS.BLOCK_LARGEBRICK_ID, "atum:largeBrick").setTextureName("atum:AtumBrickLarge")).setNonBreak(); + public static final Block BLOCK_LARGEBRICK = new BlockAtum(AtumIDS.BLOCK_LARGEBRICK_ID, "atum:largeBrick").setTextureName("atum:AtumBrickLarge"); public static final Block BLOCK_SMALLBRICK = new BlockAtum(AtumIDS.BLOCK_SMALLBRICK_ID, "atum:smallBrick").setTextureName("atum:AtumBrickSmall"); public static final Block BLOCK_CARVEDBRICK = new BlockAtum(AtumIDS.BLOCK_CARVEDBRICK_ID, "atum:carvedBrick").setTextureName("atum:AtumBrickCarved"); public static final Block BLOCK_SLABS = new BlockSlab(AtumIDS.BLOCK_SLABS_ID, false).setUnlocalizedName("atum:slab"); diff --git a/src/com/teammetallurgy/atum/blocks/BlockAtum.java b/src/com/teammetallurgy/atum/blocks/BlockAtum.java index 5fb0d32..ad96db8 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockAtum.java +++ b/src/com/teammetallurgy/atum/blocks/BlockAtum.java @@ -8,7 +8,6 @@ import net.minecraft.world.World; public class BlockAtum extends Block { - boolean isBreak = false; public BlockAtum(int par1, String unlocalisedName) { super(par1, Material.rock); @@ -16,16 +15,6 @@ public BlockAtum(int par1, String unlocalisedName) { this.setHardness(2.0F); } - public Block setNonBreak() { - this.isBreak = true; - return this; - } - - @Override - public boolean removeBlockByPlayer(World world, EntityPlayer player, int x, int y, int z) { - return isBreak ? false : super.removeBlockByPlayer(world, player, x, y, z); - } - @Override public int idDropped(int par1, Random par2Random, int par3) { return this.blockID; diff --git a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java index 8f5d4d9..546c947 100644 --- a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java +++ b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java @@ -67,12 +67,16 @@ public boolean generate(World world, Random random, int i, int j, int k) { if(x >= 0 && x < width && z >= 0 && z < depth) { world.setBlock(x + i, j - 1, z + k, AtumBlocks.BLOCK_STONE.blockID); if(!maze[x][z]) { - if(random.nextFloat() > 0.1F) + if(random.nextFloat() > 0.1F) { world.setBlock(x + i, j, z + k, AtumBlocks.BLOCK_LARGEBRICK.blockID, 1, 0); - else + Block.blocksList[world.getBlockId(x + i, j + 1, z + k)].setBlockUnbreakable(); + } else placeTrap(world, x + i, j, z + k); world.setBlock(x + i, j + 1, z + k, AtumBlocks.BLOCK_LARGEBRICK.blockID, 1, 0); + Block.blocksList[world.getBlockId(x + i, j + 1, z + k)].setBlockUnbreakable(); + world.setBlock(x + i, j + 2, z + k, AtumBlocks.BLOCK_LARGEBRICK.blockID, 1, 0); + Block.blocksList[world.getBlockId(x + i, j + 2, z + k)].setBlockUnbreakable(); } else { int meta = random.nextInt(5); world.setBlock(x + i, j, z + k, AtumBlocks.BLOCK_SANDLAYERED.blockID, meta, 0); @@ -80,6 +84,7 @@ public boolean generate(World world, Random random, int i, int j, int k) { world.setBlockToAir(x + i, j + 2, z + k); } world.setBlock(x + i, j + 3, z + k, AtumBlocks.BLOCK_LARGEBRICK.blockID, 1, 0); + Block.blocksList[world.getBlockId(x + i, j + 3, z + k)].setBlockUnbreakable(); } } } From 8dcfd0a178d49613806ca6ed39fa04d297e446ca Mon Sep 17 00:00:00 2001 From: lclc98 Date: Thu, 13 Mar 2014 18:07:26 +1000 Subject: [PATCH 032/157] Fixed bug crash with nei --- src/com/teammetallurgy/atum/items/ItemLoot.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/teammetallurgy/atum/items/ItemLoot.java b/src/com/teammetallurgy/atum/items/ItemLoot.java index 270204f..d36e1e6 100644 --- a/src/com/teammetallurgy/atum/items/ItemLoot.java +++ b/src/com/teammetallurgy/atum/items/ItemLoot.java @@ -49,7 +49,7 @@ public String getUnlocalizedName(ItemStack par1ItemStack) { int dirty = par1ItemStack.getItemDamage() & 1; int quality = par1ItemStack.getItemDamage() >> 1 & 15; int type = par1ItemStack.getItemDamage() >> 5 & 15; - return dirty == 1 ? LocalizationHelper.localize(this.getUnlocalizedName() + ".dirty" + typeArray[type]) : LocalizationHelper.localize(this.getUnlocalizedName() + "." + qualityArray[quality] + typeArray[type]); + return dirty == 1 ? LocalizationHelper.localize(this.getUnlocalizedName().split(":")[1] + ".dirty" + typeArray[type]) : LocalizationHelper.localize(this.getUnlocalizedName().split(":")[1] + "." + qualityArray[quality] + typeArray[type]); } @Override From ea039c3ad9c47018dc37bb4405192a193435b61a Mon Sep 17 00:00:00 2001 From: lclc98 Date: Thu, 13 Mar 2014 18:15:54 +1000 Subject: [PATCH 033/157] Removed Spear --- .../teammetallurgy/atum/AtumCreativeTab.java | 5 +- .../client/render/entity/RenderFireSpear.java | 90 --- .../entity/RenderFireSpearSeperated.java | 92 --- .../atum/entity/AtumEntities.java | 8 - .../projectiles/EntityFireSpearCombined.java | 545 ----------------- .../projectiles/EntityFireSpearSeperated.java | 550 ------------------ .../teammetallurgy/atum/items/AtumItems.java | 6 - .../atum/items/artifacts/ItemSpear.java | 41 -- .../atum/lib/proxy/ClientProxy.java | 5 +- 9 files changed, 3 insertions(+), 1339 deletions(-) delete mode 100644 src/com/teammetallurgy/atum/client/render/entity/RenderFireSpear.java delete mode 100644 src/com/teammetallurgy/atum/client/render/entity/RenderFireSpearSeperated.java delete mode 100644 src/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearCombined.java delete mode 100644 src/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearSeperated.java delete mode 100644 src/com/teammetallurgy/atum/items/artifacts/ItemSpear.java diff --git a/src/com/teammetallurgy/atum/AtumCreativeTab.java b/src/com/teammetallurgy/atum/AtumCreativeTab.java index b4bd9f4..6142eb3 100644 --- a/src/com/teammetallurgy/atum/AtumCreativeTab.java +++ b/src/com/teammetallurgy/atum/AtumCreativeTab.java @@ -1,11 +1,10 @@ package com.teammetallurgy.atum; -import com.teammetallurgy.atum.items.AtumItems; -import com.teammetallurgy.atum.items.artifacts.ItemSpear; - import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; +import com.teammetallurgy.atum.items.AtumItems; + public class AtumCreativeTab extends CreativeTabs { public AtumCreativeTab() { diff --git a/src/com/teammetallurgy/atum/client/render/entity/RenderFireSpear.java b/src/com/teammetallurgy/atum/client/render/entity/RenderFireSpear.java deleted file mode 100644 index 8250d3e..0000000 --- a/src/com/teammetallurgy/atum/client/render/entity/RenderFireSpear.java +++ /dev/null @@ -1,90 +0,0 @@ -package com.teammetallurgy.atum.client.render.entity; - -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.entity.Render; -import net.minecraft.entity.Entity; -import net.minecraft.util.MathHelper; -import net.minecraft.util.ResourceLocation; - -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -import com.teammetallurgy.atum.entity.projectiles.EntityFireSpearCombined; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -@SideOnly(Side.CLIENT) -public class RenderFireSpear extends Render { - public void renderArrow(EntityFireSpearCombined par1EntityFireSpearCombined, double par2, double par4, double par6, float par8, float par9) { - this.bindEntityTexture(par1EntityFireSpearCombined); - GL11.glPushMatrix(); - GL11.glTranslatef((float) par2, (float) par4, (float) par6); - GL11.glRotatef(par1EntityFireSpearCombined.prevRotationYaw + (par1EntityFireSpearCombined.rotationYaw - par1EntityFireSpearCombined.prevRotationYaw) * par9 - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(par1EntityFireSpearCombined.prevRotationPitch + (par1EntityFireSpearCombined.rotationPitch - par1EntityFireSpearCombined.prevRotationPitch) * par9, 0.0F, 0.0F, 1.0F); - Tessellator tessellator = Tessellator.instance; - byte b0 = 0; - float f2 = 0.0F; - float f3 = 0.5F; - float f4 = (float) (0 + b0 * 10) / 32.0F; - float f5 = (float) (5 + b0 * 10) / 32.0F; - float f6 = 0.0F; - float f7 = 0.15625F; - float f8 = (float) (5 + b0 * 10) / 32.0F; - float f9 = (float) (10 + b0 * 10) / 32.0F; - float f10 = 0.05625F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float f11 = (float) par1EntityFireSpearCombined.arrowShake - par9; - - if(f11 > 0.0F) { - float f12 = -MathHelper.sin(f11 * 3.0F) * f11; - GL11.glRotatef(f12, 0.0F, 0.0F, 1.0F); - } - - GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F); - GL11.glScalef(f10, f10, f10); - GL11.glTranslatef(-4.0F, 0.0F, 0.0F); - GL11.glNormal3f(f10, 0.0F, 0.0F); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double) f6, (double) f8); - tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double) f7, (double) f8); - tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double) f7, (double) f9); - tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double) f6, (double) f9); - tessellator.draw(); - GL11.glNormal3f(-f10, 0.0F, 0.0F); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double) f6, (double) f8); - tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double) f7, (double) f8); - tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double) f7, (double) f9); - tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double) f6, (double) f9); - tessellator.draw(); - - for(int i = 0; i < 4; ++i) { - GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); - GL11.glNormal3f(0.0F, 0.0F, f10); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-8.0D, -2.0D, 0.0D, (double) f2, (double) f4); - tessellator.addVertexWithUV(8.0D, -2.0D, 0.0D, (double) f3, (double) f4); - tessellator.addVertexWithUV(8.0D, 2.0D, 0.0D, (double) f3, (double) f5); - tessellator.addVertexWithUV(-8.0D, 2.0D, 0.0D, (double) f2, (double) f5); - tessellator.draw(); - } - - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - GL11.glPopMatrix(); - } - - /** - * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then handing it off to a worker function which does the actual work. In all - * probabilty, the class Render is generic (Render 0.0F) { - float f12 = -MathHelper.sin(f11 * 3.0F) * f11; - GL11.glRotatef(f12, 0.0F, 0.0F, 1.0F); - } - - GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F); - GL11.glScalef(f10, f10, f10); - GL11.glTranslatef(-4.0F, 0.0F, 0.0F); - GL11.glNormal3f(f10, 0.0F, 0.0F); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double) f6, (double) f8); - tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double) f7, (double) f8); - tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double) f7, (double) f9); - tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double) f6, (double) f9); - tessellator.draw(); - GL11.glNormal3f(-f10, 0.0F, 0.0F); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double) f6, (double) f8); - tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double) f7, (double) f8); - tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double) f7, (double) f9); - tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double) f6, (double) f9); - tessellator.draw(); - - for(int i = 0; i < 4; ++i) { - GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); - GL11.glNormal3f(0.0F, 0.0F, f10); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-8.0D, -2.0D, 0.0D, (double) f2, (double) f4); - tessellator.addVertexWithUV(8.0D, -2.0D, 0.0D, (double) f3, (double) f4); - tessellator.addVertexWithUV(8.0D, 2.0D, 0.0D, (double) f3, (double) f5); - tessellator.addVertexWithUV(-8.0D, 2.0D, 0.0D, (double) f2, (double) f5); - tessellator.draw(); - } - - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - GL11.glPopMatrix(); - } - - /** - * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then handing it off to a worker function which does the actual work. In all - * probabilty, the class Render is generic (Render= 1.0E-7D) { - float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLivingBase.posX + d4, this.posY, par2EntityLivingBase.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float) d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); - } - } - - public EntityFireSpearCombined(World par1World, EntityLivingBase par2EntityLivingBase, float par3) { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLivingBase; - - if(par2EntityLivingBase instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLivingBase.posX, par2EntityLivingBase.posY + (double) par2EntityLivingBase.getEyeHeight(), par2EntityLivingBase.posZ, par2EntityLivingBase.rotationYaw, par2EntityLivingBase.rotationPitch); - this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); - this.posY -= 0.10000000149011612D; - this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); - this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); - this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); - } - - protected void entityInit() { - this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. - */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double) f2; - par3 /= (double) f2; - par5 /= (double) f2; - par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; - par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; - par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; - par1 *= (double) par7; - par3 *= (double) par7; - par5 *= (double) par7; - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - /** - * Sets the velocity to the args. Args: x, y, z - */ - public void setVelocity(double par1, double par3, double par5) { - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - - if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.ticksInGround = 0; - } - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() { - super.onUpdate(); - - if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { - float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); - } - - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - - if(i > 0) { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - - if(axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { - this.inGround = true; - } - } - - if(this.arrowShake > 0) { - --this.arrowShake; - } - - if(this.inGround) { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - - if(j == this.inTile && k == this.inData) { - ++this.ticksInGround; - - if(this.ticksInGround == 1200) { - this.setDead(); - } - } else { - this.inGround = false; - this.motionX *= (double) (this.rand.nextFloat() * 0.2F); - this.motionY *= (double) (this.rand.nextFloat() * 0.2F); - this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } else { - ++this.ticksInAir; - Vec3 position = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 new_position = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(position, new_position, false, true); - position = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - new_position = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if(movingobjectposition != null) { - new_position = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - int l; - float f1; - - for(l = 0; l < list.size(); ++l) { - Entity entity1 = (Entity) list.get(l); - - if(entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(position, new_position); - - if(movingobjectposition1 != null) { - double d1 = position.distanceTo(movingobjectposition1.hitVec); - - if(d1 < d0 || d0 == 0.0D) { - entity = entity1; - d0 = d1; - } - } - } - } - - if(entity != null) { - movingobjectposition = new MovingObjectPosition(entity); - } - - if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { - EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; - - if(entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { - movingobjectposition = null; - } - } - - float f2; - float f3; - - if(movingobjectposition != null) { - if(movingobjectposition.entityHit != null) { - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); - - if(this.getIsCritical()) { - i1 += this.rand.nextInt(i1 / 2 + 2); - } - - DamageSource damagesource = null; - - if(this.shootingEntity == null) { - damagesource = DamageSource.causeThrownDamage(this, this); - } else { - damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { - movingobjectposition.entityHit.setFire(5); - } - - if(movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { - if(movingobjectposition.entityHit instanceof EntityLiving) { - EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; - - if(!this.worldObj.isRemote) { - entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); - } - - if(this.knockbackStrength > 0) { - f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - - if(f3 > 0.0F) { - movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); - } - } - - if(this.shootingEntity != null) { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); - } - - if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { - ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); - } - } - - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - - if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { - this.setDead(); - } - } else { - this.motionX *= -0.10000000149011612D; - this.motionY *= -0.10000000149011612D; - this.motionZ *= -0.10000000149011612D; - this.rotationYaw += 180.0F; - this.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } else { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double) f2 * 0.05D; - this.posY -= this.motionY / (double) f2 * 0.05D; - this.posZ -= this.motionZ / (double) f2 * 0.05D; - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - - if(this.inTile != 0) { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } - } - - if(this.getIsCritical()) { - for(l = 0; l < 4; ++l) { - this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); - } - } - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for(this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { - ; - } - - while(this.rotationPitch - this.prevRotationPitch >= 180.0F) { - this.prevRotationPitch += 360.0F; - } - - while(this.rotationYaw - this.prevRotationYaw < -180.0F) { - this.prevRotationYaw -= 360.0F; - } - - while(this.rotationYaw - this.prevRotationYaw >= 180.0F) { - this.prevRotationYaw += 360.0F; - } - - this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; - this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; - float f4 = 0.99F; - f1 = 0.05F; - - if(this.isInWater()) { - for(int j1 = 0; j1 < 4; ++j1) { - f3 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); - } - - f4 = 0.8F; - } - - double prevMotionY = motionY; - - this.motionX *= (double) f4; - this.motionY *= (double) f4; - this.motionZ *= (double) f4; - this.motionY -= (double) f1; - this.setPosition(this.posX, this.posY, this.posZ); - - if(Math.random() > 0.0) { - worldObj.spawnParticle("flame", (double) (this.posX + Math.random() * 0.5 - 0.25), (double) (this.posY + Math.random() * 0.5 - 0.25), (double) (this.posZ + Math.random() * 0.5 - 0.25), 0.0D, 0.0D, 0.0D); - worldObj.spawnParticle("smoke", (double) (this.posX + Math.random() * 0.5 - 0.25), (double) (this.posY + Math.random() * 0.5 - 0.25), (double) (this.posZ + Math.random() * 0.5 - 0.25), 0.0D, 0.0D, 0.0D); - } - - if(this.ticksInAir > 10 && motionY < 0) { - EntityFireSpearSeperated spear1 = new EntityFireSpearSeperated(this, 0.1F, 0.0F, 0.1F); - EntityFireSpearSeperated spear2 = new EntityFireSpearSeperated(this, -0.1F, 0.0F, -0.1F); - EntityFireSpearSeperated spear3 = new EntityFireSpearSeperated(this, 0.0F, 0.0F, 0.0F); - - if(!worldObj.isRemote) { - worldObj.spawnEntityInWorld(spear1); - worldObj.spawnEntityInWorld(spear2); - worldObj.spawnEntityInWorld(spear3); - this.setDead(); - } - } - - this.doBlockCollisions(); - } - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - par1NBTTagCompound.setShort("xTile", (short) this.xTile); - par1NBTTagCompound.setShort("yTile", (short) this.yTile); - par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setByte("inTile", (byte) this.inTile); - par1NBTTagCompound.setByte("inData", (byte) this.inData); - par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - - if(par1NBTTagCompound.hasKey("damage")) { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if(par1NBTTagCompound.hasKey("pickup")) { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } else if(par1NBTTagCompound.hasKey("player")) { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; - } - } - - /** - * Called by a player entity when they collide with an entity - */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { - if(!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - - if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { - flag = false; - } - - if(flag) { - this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to prevent them from trampling crops - */ - protected boolean canTriggerWalking() { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() { - return 0.0F; - } - - public void setDamage(double par1) { - this.damage = par1; - } - - public double getDamage() { - return this.damage; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int par1) { - this.knockbackStrength = par1; - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - public boolean canAttackWithItem() { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public void setIsCritical(boolean par1) { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if(par1) { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); - } else { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); - } - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public boolean getIsCritical() { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - @Override - public Entity getThrower() { - return shootingEntity; - } - - @Override - public void setThrower(Entity entity) { - shootingEntity = entity; - } - -} diff --git a/src/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearSeperated.java b/src/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearSeperated.java deleted file mode 100644 index 223d7d5..0000000 --- a/src/com/teammetallurgy/atum/entity/projectiles/EntityFireSpearSeperated.java +++ /dev/null @@ -1,550 +0,0 @@ -package com.teammetallurgy.atum.entity.projectiles; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.enchantment.EnchantmentThorns; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IProjectile; -import net.minecraft.entity.monster.EntityEnderman; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import cpw.mods.fml.common.registry.IThrowableEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class EntityFireSpearSeperated extends Entity implements IProjectile, IThrowableEntity { - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private int inTile = 0; - private int inData = 0; - private boolean inGround = false; - - /** 1 if the player can pick up the arrow */ - public int canBePickedUp = 0; - - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake = 0; - - /** The owner of this arrow. */ - public Entity shootingEntity; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - - /** The amount of knockback an arrow applies when it hits a mob. */ - private int knockbackStrength; - - public EntityFireSpearSeperated(EntityFireSpearCombined spear, float dmx, float dmy, float dmz) { - super(spear.worldObj); - this.setPosition(spear.posX, spear.posY, spear.posZ); - this.renderDistanceWeight = spear.renderDistanceWeight; - this.shootingEntity = spear.shootingEntity; - this.canBePickedUp = spear.canBePickedUp; - - // Set location and angles - this.lastTickPosX = spear.lastTickPosX; - this.lastTickPosY = spear.lastTickPosY; - this.lastTickPosZ = spear.lastTickPosZ; - this.rotationYaw = spear.rotationYaw; - this.rotationPitch = spear.rotationPitch; - - this.motionX = spear.motionX + dmx; - this.motionY = spear.motionY + dmy; - this.motionZ = spear.motionZ + dmz; - } - - public EntityFireSpearSeperated(World par1World) { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - - this.setSize(0.5F, 0.5F); - } - - public EntityFireSpearSeperated(World par1World, double par2, double par4, double par6) { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - this.yOffset = 0.0F; - } - - public EntityFireSpearSeperated(World par1World, EntityLivingBase par2EntityLivingBase, EntityLiving par3EntityLiving, float par4, float par5) { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLivingBase; - - if(par2EntityLivingBase instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - this.posY = par2EntityLivingBase.posY + (double) par2EntityLivingBase.getEyeHeight() - 0.10000000149011612D; - double d0 = par2EntityLivingBase.posX - par2EntityLivingBase.posX; - double d1 = par2EntityLivingBase.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; - double d2 = par2EntityLivingBase.posZ - par2EntityLivingBase.posZ; - double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); - - if(d3 >= 1.0E-7D) { - float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLivingBase.posX + d4, this.posY, par2EntityLivingBase.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float) d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); - } - } - - public EntityFireSpearSeperated(World par1World, EntityLivingBase par2EntityLivingBase, float par3) { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLivingBase; - - if(par2EntityLivingBase instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLivingBase.posX, par2EntityLivingBase.posY + (double) par2EntityLivingBase.getEyeHeight(), par2EntityLivingBase.posZ, par2EntityLivingBase.rotationYaw, par2EntityLivingBase.rotationPitch); - this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); - this.posY -= 0.10000000149011612D; - this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); - this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); - this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); - } - - protected void entityInit() { - this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. - */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double) f2; - par3 /= (double) f2; - par5 /= (double) f2; - par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; - par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; - par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; - par1 *= (double) par7; - par3 *= (double) par7; - par5 *= (double) par7; - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - /** - * Sets the velocity to the args. Args: x, y, z - */ - public void setVelocity(double par1, double par3, double par5) { - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - - if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.ticksInGround = 0; - } - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() { - super.onUpdate(); - - if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { - float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); - } - - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - - if(i > 0) { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - - if(axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { - this.inGround = true; - } - } - - if(this.arrowShake > 0) { - --this.arrowShake; - } - - if(this.inGround) { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - - if(j == this.inTile && k == this.inData) { - ++this.ticksInGround; - - if(this.ticksInGround == 1200) { - this.setDead(); - } - } else { - this.inGround = false; - this.motionX *= (double) (this.rand.nextFloat() * 0.2F); - this.motionY *= (double) (this.rand.nextFloat() * 0.2F); - this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } else { - ++this.ticksInAir; - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if(movingobjectposition != null) { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - int l; - float f1; - - for(l = 0; l < list.size(); ++l) { - Entity entity1 = (Entity) list.get(l); - - if(entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - - if(movingobjectposition1 != null) { - double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - - if(d1 < d0 || d0 == 0.0D) { - entity = entity1; - d0 = d1; - } - } - } - } - - if(entity != null) { - movingobjectposition = new MovingObjectPosition(entity); - } - - if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { - EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; - - if(entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { - movingobjectposition = null; - } - } - - float f2; - float f3; - - if(movingobjectposition != null) { - if(movingobjectposition.entityHit != null) { - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); - - if(this.getIsCritical()) { - i1 += this.rand.nextInt(i1 / 2 + 2); - } - - DamageSource damagesource = null; - - if(this.shootingEntity == null) { - damagesource = DamageSource.causeThrownDamage(this, this); - } else { - damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { - movingobjectposition.entityHit.setFire(5); - } - - if(movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { - if(movingobjectposition.entityHit instanceof EntityLiving) { - EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; - - if(!this.worldObj.isRemote) { - entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); - } - - if(this.knockbackStrength > 0) { - f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - - if(f3 > 0.0F) { - movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); - } - } - - if(this.shootingEntity != null) { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); - } - - if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { - ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); - } - } - - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - - if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { - this.setDead(); - } - } else { - this.motionX *= -0.10000000149011612D; - this.motionY *= -0.10000000149011612D; - this.motionZ *= -0.10000000149011612D; - this.rotationYaw += 180.0F; - this.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } else { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; - this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - - if(this.inTile != 0) { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } - } - - if(this.getIsCritical()) { - for(l = 0; l < 4; ++l) { - this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); - } - } - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for(this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { - ; - } - - while(this.rotationPitch - this.prevRotationPitch >= 180.0F) { - this.prevRotationPitch += 360.0F; - } - - while(this.rotationYaw - this.prevRotationYaw < -180.0F) { - this.prevRotationYaw -= 360.0F; - } - - while(this.rotationYaw - this.prevRotationYaw >= 180.0F) { - this.prevRotationYaw += 360.0F; - } - - this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; - this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; - float f4 = 0.99F; - f1 = 0.05F; - - if(this.isInWater()) { - for(int j1 = 0; j1 < 4; ++j1) { - f3 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); - } - - f4 = 0.8F; - } - - this.motionX *= (double) f4; - this.motionY *= (double) f4; - this.motionZ *= (double) f4; - this.motionY -= (double) f1; - this.setPosition(this.posX, this.posY, this.posZ); - this.doBlockCollisions(); - - if(Math.random() > 0.0) { - worldObj.spawnParticle("flame", (double) (this.posX + Math.random() * 0.5 - 0.25), (double) (this.posY + Math.random() * 0.5 - 0.25), (double) (this.posZ + Math.random() * 0.5 - 0.25), 0.0D, 0.0D, 0.0D); - worldObj.spawnParticle("smoke", (double) (this.posX + Math.random() * 0.5 - 0.25), (double) (this.posY + Math.random() * 0.5 - 0.25), (double) (this.posZ + Math.random() * 0.5 - 0.25), 0.0D, 0.0D, 0.0D); - } - } - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - par1NBTTagCompound.setShort("xTile", (short) this.xTile); - par1NBTTagCompound.setShort("yTile", (short) this.yTile); - par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setByte("inTile", (byte) this.inTile); - par1NBTTagCompound.setByte("inData", (byte) this.inData); - par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - - if(par1NBTTagCompound.hasKey("damage")) { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if(par1NBTTagCompound.hasKey("pickup")) { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } else if(par1NBTTagCompound.hasKey("player")) { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; - } - } - - /** - * Called by a player entity when they collide with an entity - */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { - if(!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - - if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { - flag = false; - } - - if(flag) { - this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to prevent them from trampling crops - */ - protected boolean canTriggerWalking() { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() { - return 0.0F; - } - - public void setDamage(double par1) { - this.damage = par1; - } - - public double getDamage() { - return this.damage; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int par1) { - this.knockbackStrength = par1; - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - public boolean canAttackWithItem() { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public void setIsCritical(boolean par1) { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if(par1) { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); - } else { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); - } - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind it. - */ - public boolean getIsCritical() { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - @Override - public Entity getThrower() { - return shootingEntity; - } - - @Override - public void setThrower(Entity entity) { - shootingEntity = entity; - } - -} diff --git a/src/com/teammetallurgy/atum/items/AtumItems.java b/src/com/teammetallurgy/atum/items/AtumItems.java index 540400c..bcb8e3f 100644 --- a/src/com/teammetallurgy/atum/items/AtumItems.java +++ b/src/com/teammetallurgy/atum/items/AtumItems.java @@ -8,7 +8,6 @@ import net.minecraft.item.ItemSeeds; import net.minecraft.item.ItemStack; import net.minecraftforge.common.EnumHelper; -import net.minecraftforge.common.MinecraftForge; import com.teammetallurgy.atum.Atum; import com.teammetallurgy.atum.AtumIDS; @@ -44,12 +43,9 @@ import com.teammetallurgy.atum.items.artifacts.ItemSekhmetsWrath; import com.teammetallurgy.atum.items.artifacts.ItemShusBreath; import com.teammetallurgy.atum.items.artifacts.ItemSobeksRage; -import com.teammetallurgy.atum.items.artifacts.ItemSpear; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; public enum AtumItems { INSTANCE; @@ -122,7 +118,6 @@ public enum AtumItems { public static final Item flaxSeeds = new ItemSeeds(AtumIDS.ITEM_FLAXSEEDS_ID, AtumBlocks.BLOCK_FLAX.blockID, Block.tilledField.blockID).setUnlocalizedName("atum:flaxSeeds").setTextureName("atum:FlaxSeeds"); public static final Item fish = new ItemFish(AtumIDS.ITEM_FISH_ID).setUnlocalizedName("atum:fish"); public static final Item neithsAudacity = new ItemNeithsAudacity(AtumIDS.ITEM_NEITHSAUDACITY_ID).setUnlocalizedName("atum:neithsAudacity"); - public static final Item spear = new ItemSpear(AtumIDS.ITEM_SPEAR_ID).setUnlocalizedName("atum:spear"); public void registerItems() { this.register(ITEM_SCARAB); @@ -190,7 +185,6 @@ public void registerItems() { this.register(flaxSeeds); this.register(fish); this.register(neithsAudacity); - this.register(spear); this.addLanguages(); } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemSpear.java b/src/com/teammetallurgy/atum/items/artifacts/ItemSpear.java deleted file mode 100644 index c6803f6..0000000 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemSpear.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.teammetallurgy.atum.items.artifacts; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -import com.teammetallurgy.atum.entity.projectiles.EntityFireSpearCombined; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemSpear extends Item { - - public ItemSpear(int par1) { - super(par1); - } - - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { - EntityFireSpearCombined entityarrow = new EntityFireSpearCombined(par2World, par3EntityPlayer, 0.75F); - entityarrow.setDamage(entityarrow.getDamage() * 1.5D); - if(!par2World.isRemote) { - par2World.spawnEntityInWorld(entityarrow); - par2World.updateEntity(entityarrow); - } - - return par1ItemStack; - } - - @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:Arrow"); - } -} diff --git a/src/com/teammetallurgy/atum/lib/proxy/ClientProxy.java b/src/com/teammetallurgy/atum/lib/proxy/ClientProxy.java index f366e11..7648711 100644 --- a/src/com/teammetallurgy/atum/lib/proxy/ClientProxy.java +++ b/src/com/teammetallurgy/atum/lib/proxy/ClientProxy.java @@ -10,14 +10,13 @@ import net.minecraftforge.client.MinecraftForgeClient; import net.minecraftforge.common.MinecraftForge; +import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.blocks.BlockDate; import com.teammetallurgy.atum.blocks.BlockPapyrus; -import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.client.model.entity.ModelDesertWolf; import com.teammetallurgy.atum.client.model.entity.ModelDustySkeleton; import com.teammetallurgy.atum.client.render.entity.RenderBandit; import com.teammetallurgy.atum.client.render.entity.RenderDesertWolf; -import com.teammetallurgy.atum.client.render.entity.RenderFireSpear; import com.teammetallurgy.atum.client.render.entity.RenderGhost; import com.teammetallurgy.atum.client.render.entity.RenderPharaoh; import com.teammetallurgy.atum.client.render.entity.arrow.RenderCustomArrow; @@ -38,7 +37,6 @@ import com.teammetallurgy.atum.entity.arrow.CustomArrow; import com.teammetallurgy.atum.entity.arrow.EntityAtumFishHook; import com.teammetallurgy.atum.entity.arrow.EntityNutsCall; -import com.teammetallurgy.atum.entity.projectiles.EntityFireSpearCombined; import com.teammetallurgy.atum.items.AtumItems; import com.teammetallurgy.atum.lib.tickhandler.ClientTickHandler; @@ -121,7 +119,6 @@ protected ResourceLocation getEntityTexture(Entity par1Entity) { RenderingRegistry.registerEntityRenderingHandler(EntityDesertWolf.class, new RenderDesertWolf(new ModelDesertWolf(), new ModelDesertWolf(), 0.5F)); - RenderingRegistry.registerEntityRenderingHandler(EntityFireSpearCombined.class, new RenderFireSpear()); RenderingRegistry.registerEntityRenderingHandler(CustomArrow.class, new RenderCustomArrow()); RenderingRegistry.registerEntityRenderingHandler(EntityNutsCall.class, new RenderNutsCall()); RenderingRegistry.registerEntityRenderingHandler(EntityAtumFishHook.class, new RenderFish()); From fe56d869c72523b070128e1a1742804aa979ded6 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Sat, 15 Mar 2014 09:04:36 +1000 Subject: [PATCH 034/157] Fixed Ptahs Decadence Bug --- resources/assets/atum/lang/en_US.properties | 2 +- .../atum/items/artifacts/ItemAnubisMercy.java | 4 ++++ .../atum/items/artifacts/ItemMafdetsQuickness.java | 2 +- .../atum/items/artifacts/ItemPtahsDecadence.java | 7 ++++--- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/resources/assets/atum/lang/en_US.properties b/resources/assets/atum/lang/en_US.properties index d5a6acf..11b9c3f 100644 --- a/resources/assets/atum/lang/en_US.properties +++ b/resources/assets/atum/lang/en_US.properties @@ -91,7 +91,7 @@ item.anuketsBounty.name=Anukets' Bounty item.mafdetsQuickness.name=Mafdets' Quickness item.isisHealing.name=Isis' Healing item.amunetsHomecoming.name=Amunets' Homecoming -item.anubisMercy.name=Amubis's Mercy +item.anubisMercy.name=Anubis's Mercy item.limestoneShovel.name=Limestone Shovel item.limestonePickaxe.name=Limestone Pickaxe diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java b/src/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java index f38a694..992511c 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java @@ -74,6 +74,10 @@ public void onDamage(LivingHurtEvent event) { player.getFoodStats().setFoodSaturationLevel(20.0F); // player.spawnExplosionParticle(); stack.damageItem(1, player); + System.out.println(stack.getItemDamage()); + if(stack.getItemDamage() >= 20){ + stack = null; + } } } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java b/src/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java index 723fb21..524c7d6 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java @@ -35,7 +35,7 @@ public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity if(par3Entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) par3Entity; if(player.inventory.armorInventory[1] != null && player.inventory.armorInventory[1].itemID == this.itemID) { - + doEffect(player, player.inventory.armorInventory[1]); } } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java b/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java index b082d6a..d8f1c4f 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java @@ -5,7 +5,7 @@ import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumToolMaterial; @@ -31,13 +31,14 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { return true; } - public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, int blockID, int x, int y, int z, EntityLiving par7EntityLiving) { + @Override + public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, int blockID, int x, int y, int z, EntityLivingBase par7EntityLivingBase) { int dropID = Block.blocksList[blockID].idDropped(par2World.getBlockMetadata(x, y, z), new Random(), 0); if(dropID == Item.diamond.itemID) { Block.oreDiamond.dropBlockAsItem(par2World, x, y, z, 0, 0); } - return super.onBlockDestroyed(par1ItemStack, par2World, blockID, x, y, z, par7EntityLiving); + return super.onBlockDestroyed(par1ItemStack, par2World, blockID, x, y, z, par7EntityLivingBase); } @SideOnly(Side.CLIENT) From 3217f9d5346015f9f0320db348a7292d6eca014c Mon Sep 17 00:00:00 2001 From: lclc98 Date: Sat, 15 Mar 2014 10:56:29 +1000 Subject: [PATCH 035/157] Fixed Build script --- build.xml | 219 ++++++++++-------- .../items/artifacts/ItemPtahsDecadence.java | 3 + 2 files changed, 119 insertions(+), 103 deletions(-) diff --git a/build.xml b/build.xml index 221c340..5c788e5 100644 --- a/build.xml +++ b/build.xml @@ -51,52 +51,52 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - version ${project.complete.version} (${project.version}) - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + version ${project.complete.version} (${project.version}) + @@ -143,64 +143,77 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + \ No newline at end of file diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java b/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java index d8f1c4f..84cf5b6 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java +++ b/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java @@ -41,6 +41,7 @@ public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, int bl return super.onBlockDestroyed(par1ItemStack, par2World, blockID, x, y, z, par7EntityLivingBase); } + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if(Keyboard.isKeyDown(42)) { @@ -52,11 +53,13 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; } + @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.itemID == Item.diamond.itemID; } From c5115a2d359530de55b664131b8b078d3c722298 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Sat, 15 Mar 2014 11:01:51 +1000 Subject: [PATCH 036/157] Fixed Formatting --- build.xml | 418 +++++++++++++++++++++++++++--------------------------- 1 file changed, 209 insertions(+), 209 deletions(-) diff --git a/build.xml b/build.xml index 5c788e5..68bf27a 100644 --- a/build.xml +++ b/build.xml @@ -1,219 +1,219 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + version ${project.complete.version} (${project.version}) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - version ${project.complete.version} (${project.version}) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - + + + + + + \ No newline at end of file From 547864005fa96e36f20df834daf1f1eade2e83d6 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Tue, 18 Mar 2014 18:25:32 +1000 Subject: [PATCH 037/157] Switched to inbuild language translation --- build.xml | 2 + resources/assets/atum/lang/en_US.lang | 146 ++++++ resources/assets/atum/lang/en_US.properties | 141 ------ src/com/teammetallurgy/atum/AtumConfig.java | 10 +- .../teammetallurgy/atum/AtumCreativeTab.java | 5 - .../atum/LocalizationHelper.java | 55 --- .../atum/blocks/AtumBlocks.java | 61 ++- .../atum/blocks/BlockAtumRedstone.java | 2 +- .../atum/blocks/BlockBurningTrap.java | 2 +- .../atum/blocks/BlockChestSpawner.java | 2 +- .../teammetallurgy/atum/blocks/BlockDate.java | 2 +- .../atum/blocks/BlockFertileSoil.java | 2 +- .../atum/blocks/BlockFertileSoilTilled.java | 2 +- .../teammetallurgy/atum/blocks/BlockFlax.java | 2 +- .../atum/blocks/BlockLeave.java | 2 +- .../atum/blocks/BlockPalmLog.java | 2 +- .../atum/blocks/BlockPalmSapling.java | 2 +- .../atum/blocks/BlockPapyrus.java | 2 +- .../atum/blocks/BlockPharaohChest.java | 2 +- .../atum/blocks/BlockPortal.java | 2 +- .../atum/blocks/BlockSandLayered.java | 2 +- .../atum/blocks/BlockSands.java | 2 +- .../teammetallurgy/atum/blocks/BlockSlab.java | 14 +- .../atum/blocks/BlockStones.java | 2 +- .../atum/blocks/BlockWalls.java | 12 +- .../atum/blocks/ItemBlockSlab.java | 12 +- .../atum/blocks/ItemBlockWall.java | 10 +- .../atum/entity/AtumEntities.java | 21 - .../teammetallurgy/atum/items/AtumItems.java | 150 +++---- .../teammetallurgy/atum/items/ItemFish.java | 2 +- .../teammetallurgy/atum/items/ItemLoot.java | 16 +- .../atum/worldgen/AtumChunkProvider.java | 414 ++++++++---------- .../atum/worldgen/AtumMapGenCaves.java | 180 +++++--- .../atum/worldgen/AtumWorldProvider.java | 4 +- .../worldgen/biome/BiomeGenAtumDesert.java | 115 +++-- 35 files changed, 623 insertions(+), 779 deletions(-) create mode 100644 resources/assets/atum/lang/en_US.lang delete mode 100644 resources/assets/atum/lang/en_US.properties delete mode 100644 src/com/teammetallurgy/atum/LocalizationHelper.java diff --git a/build.xml b/build.xml index 68bf27a..16aee10 100644 --- a/build.xml +++ b/build.xml @@ -139,6 +139,8 @@ + + diff --git a/resources/assets/atum/lang/en_US.lang b/resources/assets/atum/lang/en_US.lang new file mode 100644 index 0000000..7f2631e --- /dev/null +++ b/resources/assets/atum/lang/en_US.lang @@ -0,0 +1,146 @@ +# Misc +itemGroup.Atum=Atum +biome.desert.name=Desert + +# Blocks +block.portal.name=Atum Portal +tile.chestSpawner.name=Atum Chest +block.sand.name=Strange Sand +block.stone.name=Limestone +tile.cobble.name=Cracked Limestone +tile.largeBrick.name=Limestone Large Bricks +tile.smallBrick.name=Limestone Small Bricks +tile.carvedBrick.name=Limestone Carved Bricks +tile.smoothSlab.name=Smooth-Limestone Slab +tile.crackedSlab.name=Cracked-Limestone Slab +tile.largeBrickSlab.name=Large Limestone Brick Slab +tile.smallBrickSlab.name=Small Limestone Brick Slab +tile.doubleSlab.name=Limestone Double Slab +tile.smoothStairs.name=Limestone Stairs +tile.cobbleStairs.name=Limestone Cobble Stairs +tile.largeStairs.name=Limestone Large Brick Stairs +tile.smallStairs.name=Limestone Small Brick Stairs +tile.sandLayer.name=Sand Layer +tile.crackedLargeBrick.name=Limestone Cracked Large Bricks +tile.smoothWall.name=Smooth-Limestone Wall +tile.crackedWall.name=Cracked-Limestone Wall +tile.largeBrickWall.name=Large Limestone Brick Wall +tile.smallBrickWall.name=Small Limestone Brick Wall +tile.crystalGlass.name=Crystal Glass +tile.framedGlass.name=Framed Glass +tile.palmSapling.name=Palm Sapling +tile.date.name=Date +tile.shrub.name=Shrub +tile.weed.name=Weed +tile.papyrus.name=Papyrus +tile.flax.name=Flax +tile.fertileSoil.name=Fertile Soil +tile.fertileSoilTilled.name=Tilled Fertile Soil +tile.palmLog.name=Palm Log +tile.palmLeaves.name=Palm Leaves +tile.palmPlanks.name=Palm Planks +tile.thinCrystalGlass.name=Thin Crystal Glass +tile.thinFramedGlass.name=Thin Framed Glass +tile.burningTrap.name=Burning Trap +tile.pharaohChest.name=Pharaoh's Chest +tile.redstoneOre.name=Redstone Ore +tile.coalOre.name=Coal Ore +tile.ironOre.name=Iron Ore +tile.goldOre.name=Gold Ore +tile.lapisOre.name=Lapis Ore +tile.diamondOre.name=Diamond Ore +tile.furnaceIdle.name=Limestone Furnace +tile.furnaceBurning.name=Limestone Furnace Burning + +# Item +item.scarab.name=Scarab +item.loot.name=Loot +item.scimitar.name=Scimitar +item.greatsword.name=Greatsword +item.scepter.name=Scepter +item.stoneSoldierSword.name=Stone Soldier Sword +item.bow.name=Shortbow + +item.ptahsDecadence.name=Ptahs' Decadence +item.soteksRage.name=Soteks' Rage +item.osirisWill.name=Osiris' Will +item.akersToil.name=Akers' Toil +item.gebsBlessing.name=Gebs' Blessing +item.atensFury.name=Atens' Fury +item.rasGlory.name=Ras' Glory +item.sekhmetsWrath.name=Sekhmets' Wrath +item.nutsAgility.name=Nuts' Agility +item.horusFlight.name=Horus' Flight +item.monthusStrike.name=Monthus' Strike +item.anhursMight.name=Anhurs' Might +item.hedetetsSting.name=Hedetets' Sting +item.horusSoaring.name=Horus' Soaring +item.shusBreath.name=Shus' Breath +item.ptahsDestruction.name=Ptahs' Destruction +item.monthusBlast.name=Monthus' Blast +item.nusFlux.name=Nus' Flux +item.mnevisHorns.name=Mnevis' Horns +item.isisEmbrace.name=Isis' Embrace +item.maatsBalance.name=Maats' Balance +item.hedetetsVenom.name=Hedetets' Venom +item.gebsSolidarity.name=Gebs' Solidarity +item.nutsCall.name=Nuts' Call +item.anuketsBounty.name=Anukets' Bounty +item.mafdetsQuickness.name=Mafdets' Quickness +item.isisHealing.name=Isis' Healing +item.amunetsHomecoming.name=Amunets' Homecoming +item.anubisMercy.name=Anubis's Mercy + +item.limestoneShovel.name=Limestone Shovel +item.limestonePickaxe.name=Limestone Pickaxe +item.limestoneAxe.name=Limestone Axe +item.limestoneSword.name=Limestone Sword +item.limestoneHoe.name=Limestone Hoe +item.mummyHelmet.name=Mummy Helmet +item.mummyChest.name=Mummy Chestplate +item.mummyLegs.name=Mummy Leggings +item.mummyBoots.name=Mummy Boots +item.wandererHelmet.name=Wanderer Helmet +item.wandererChest.name=Wanderer Chestplate +item.wandererLegs.name=Wanderer Leggings +item.wandererBoots.name=Wanderer Boots +item.desertHelmet.name=Desert Helmet +item.desertChest.name=Desert Chestplate +item.desertLegs.name=Desert Leggings +item.desertBoots.name=Desert Boots +item.papyrusPlant.name=Papyrus +item.ectoplasm.name=Ectoplasm +item.stoneChunk.name=Stone Chunk +item.clothScrap.name=Cloth Scrap +item.scroll.name=Scroll +item.wolfPelt.name=Wolf Pelt +item.date.name=Date +item.linen.name=Linen +item.flax.name=Flax +item.flaxSeeds.name=Flax Seed +item.fish.0.name=Forsaken Fish +item.fish.1.name=Mummified Fish +item.fish.2.name=Jeweled Fish +item.fish.3.name=Skeletal Fish +item.neithsAudacity.name=Neiths Audacity + +# Loot +item.loot.Dirty.name=Dirty +item.loot.Silver.name=Silver +item.loot.Gold.name=Gold +item.loot.Sapphire.name=Sapphire +item.loot.Ruby.name=Ruby +item.loot.Emerald.name=Emerald +item.loot.Diamond.name=Diamond + +# Entity +entity.AtumMummy.name=Mummy +entity.AtumBanditWarrior.name=Bandit Warrior +entity.AtumBanditArcher.name=Bandit Archer +entity.AtumPharaoh.name=Pharaoh +entity.AtumDustySkeleton.name=Dusty Skeleton +entity.AtumDesertGhost.name=Desert Ghost +entity.AtumStoneSoldier.name=Stone Soldier +entity.AtumDesertWolf.name=Desert Wolf +entity.AtumBanditWarlord.name=Bandit Warlord +entity.AtumBarbarian.name=Barbarian \ No newline at end of file diff --git a/resources/assets/atum/lang/en_US.properties b/resources/assets/atum/lang/en_US.properties deleted file mode 100644 index 11b9c3f..0000000 --- a/resources/assets/atum/lang/en_US.properties +++ /dev/null @@ -1,141 +0,0 @@ -# Misc -itemGroup.Atum=Atum -biome.desert.name=Desert - -# Blocks -block.portal.name=Atum Portal -block.chestSpawner.name=Atum Chest -block.sand.name=Strange Sand -block.stone.name=Limestone -block.cobble.name=Cracked Limestone -block.largeBrick.name=Limestone Large Bricks -block.smallBrick.name=Limestone Small Bricks -block.carvedBrick.name=Limestone Carved Bricks -block.slab.name=Limestone Slab -block.slab0.name=Smooth-Limestone Slab -block.slab1.name=Cracked-Limestone Slab -block.slab2.name=Large Limestone Brick Slab -block.slab3.name=Small Limestone Brick Slab -block.doubleSlab.name=Limestone Double Slab -block.smoothStairs.name=Limestone Stairs -block.cobbleStairs.name=Limestone Cobble Stairs -block.largeStairs.name=Limestone Large Brick Stairs -block.smallStairs.name=Limestone Small Brick Stairs -block.sandLayer.name=Sand Layer -block.crackedLargeBrick.name=Limestone Cracked Large Bricks -block.walls.name=Limestone Wall -block.walls0.name=Smooth-Limestone Wall -block.walls1.name=Cracked-Limestone Wall -block.walls2.name=Large Limestone Brick Wall -block.walls3.name=Small Limestone Brick Wall -block.crystalGlass.name=Crystal Glass -block.framedGlass.name=Framed Glass -block.palmSapling.name=Palm Sapling -block.date.name=Date -block.shrub.name=Shrub -block.weed.name=Weed -block.papyrus.name=Papyrus -block.flax.name=Flax -block.fertileSoil.name=Fertile Soil -block.fertileSoilTilled.name=Tilled Fertile Soil -block.palmLog.name=Palm Log -block.palmLeaves.name=Palm Leaves -block.palmPlanks.name=Palm Planks -block.thinCrystalGlass.name=Thin Crystal Glass -block.thinFramedGlass.name=Thin Framed Glass -block.burningTrap.name=Burning Trap -block.pharaohChest.name=Pharaoh's Chest -block.redstoneOre.name=Redstone Ore -block.coalOre.name=Coal Ore -block.ironOre.name=Iron Ore -block.goldOre.name=Gold Ore -block.lapisOre.name=Lapis Ore -block.diamondOre.name=Diamond Ore -block.furnaceIdle.name=Limestone Furnace -block.furnaceBurning.name=Limestone Furnace Burning - -# Item -item.scarab.name=Scarab -item.loot.name=Loot -item.scimitar.name=Scimitar -item.greatsword.name=Greatsword -item.scepter.name=Scepter -item.stoneSoldierSword.name=Stone Soldier Sword -item.bow.name=Shortbow - -item.ptahsDecadence.name=Ptahs' Decadence -item.soteksRage.name=Soteks' Rage -item.osirisWill.name=Osiris' Will -item.akersToil.name=Akers' Toil -item.gebsBlessing.name=Gebs' Blessing -item.atensFury.name=Atens' Fury -item.rasGlory.name=Ras' Glory -item.sekhmetsWrath.name=Sekhmets' Wrath -item.nutsAgility.name=Nuts' Agility -item.horusFlight.name=Horus' Flight -item.monthusStrike.name=Monthus' Strike -item.anhursMight.name=Anhurs' Might -item.hedetetsSting.name=Hedetets' Sting -item.horusSoaring.name=Horus' Soaring -item.shusBreath.name=Shus' Breath -item.ptahsDestruction.name=Ptahs' Destruction -item.monthusBlast.name=Monthus' Blast -item.nusFlux.name=Nus' Flux -item.mnevisHorns.name=Mnevis' Horns -item.isisEmbrace.name=Isis' Embrace -item.maatsBalance.name=Maats' Balance -item.hedetetsVenom.name=Hedetets' Venom -item.gebsSolidarity.name=Gebs' Solidarity -item.nutsCall.name=Nuts' Call -item.anuketsBounty.name=Anukets' Bounty -item.mafdetsQuickness.name=Mafdets' Quickness -item.isisHealing.name=Isis' Healing -item.amunetsHomecoming.name=Amunets' Homecoming -item.anubisMercy.name=Anubis's Mercy - -item.limestoneShovel.name=Limestone Shovel -item.limestonePickaxe.name=Limestone Pickaxe -item.limestoneAxe.name=Limestone Axe -item.limestoneSword.name=Limestone Sword -item.limestoneHoe.name=Limestone Hoe -item.mummyHelmet.name=Mummy Helmet -item.mummyChest.name=Mummy Chestplate -item.mummyLegs.name=Mummy Leggings -item.mummyBoots.name=Mummy Boots -item.wandererHelmet.name=Wanderer Helmet -item.wandererChest.name=Wanderer Chestplate -item.wandererLegs.name=Wanderer Leggings -item.wandererBoots.name=Wanderer Boots -item.desertHelmet.name=Desert Helmet -item.desertChest.name=Desert Chestplate -item.desertLegs.name=Desert Leggings -item.desertBoots.name=Desert Boots -item.papyrusPlantItem.name=Papyrus -item.ectoplasm.name=Ectoplasm -item.stoneChunk.name=Stone Chunk -item.clothScrap.name=Cloth Scrap -item.scroll.name=Scroll -item.wolfPelt.name=Wolf Pelt -item.date.name=Date -item.linen.name=Linen -item.flaxItem.name=Flax -item.flaxSeeds.name=Flax Seed -item.fish.name=Fish -item.fish1.name=Forsaken Fish -item.fish2.name=Mummified Fish -item.fish3.name=Jeweled Fish -item.fish4.name=Skeletal Fish -item.neithsAudacity.name=Neiths Audacity -item.spear.name=Spear - -# Entity -entity.mummy.name=Mummy -entity.banditWarrior.name=Bandit Warrior -entity.banditArcher.name=Bandit Archer -entity.pharaoh.name=Pharaoh -entity.dustySkeleton.name=Dusty Skeleton -entity.desertGhost.name=Desert Ghost -entity.stoneSoldier.name=Stone Soldier -entity.desertWolf.name=Desert Wolf -entity.banditWarlord.name=Bandit Warlord -entity.barbarian.name=Barbarian \ No newline at end of file diff --git a/src/com/teammetallurgy/atum/AtumConfig.java b/src/com/teammetallurgy/atum/AtumConfig.java index f4cba0a..baea4ac 100644 --- a/src/com/teammetallurgy/atum/AtumConfig.java +++ b/src/com/teammetallurgy/atum/AtumConfig.java @@ -16,8 +16,8 @@ public void load() { this.CONFIG.load(); AtumIDS.BLOCK_PORTAL_ID = getBlock("Portal Block", 1024); AtumIDS.BLOCK_CURSEDCHEST_ID = getBlock("CursedChest", 1025); - AtumIDS.BLOCK_SAND_ID = getBlock("Strange Sand", 1026); - AtumIDS.BLOCK_STONE_ID = getBlock("Limestone", 1027); + AtumIDS.BLOCK_SAND_ID = getBlockTerrain("Strange Sand", 241); + AtumIDS.BLOCK_STONE_ID = getBlockTerrain("Limestone", 242); AtumIDS.BLOCK_COBBLE_ID = getBlock("Cracked Limestone", 1028); AtumIDS.BLOCK_LARGEBRICK_ID = getBlock("Large Brick", 1029); AtumIDS.BLOCK_SMALLBRICK_ID = getBlock("Small Brick", 1030); @@ -125,7 +125,7 @@ public void load() { AtumIDS.ITEM_SPEAR_ID = getItem("Spear", 5064); AtumIDS.DIMENSION_ID = get("Dimension", "Atum", 17); - + AtumIDS.BIOME_DESERT_ID = get("Biome", "Desert", 200); this.CONFIG.save(); } @@ -134,6 +134,10 @@ private int getItem(String name, int defaultId) { return this.CONFIG.getItem(name, defaultId).getInt(); } + private int getBlockTerrain(String name, int defaultId) { + return this.CONFIG.getTerrainBlock("block", name, defaultId, "").getInt(); + } + private int getBlock(String name, int defaultId) { return this.CONFIG.getBlock(name, defaultId).getInt(); } diff --git a/src/com/teammetallurgy/atum/AtumCreativeTab.java b/src/com/teammetallurgy/atum/AtumCreativeTab.java index 6142eb3..6f31be5 100644 --- a/src/com/teammetallurgy/atum/AtumCreativeTab.java +++ b/src/com/teammetallurgy/atum/AtumCreativeTab.java @@ -11,11 +11,6 @@ public AtumCreativeTab() { super("Atum"); } - @Override - public String getTranslatedTabLabel() { - return LocalizationHelper.localize("itemGroup.Atum"); - } - @Override public String getBackgroundImageName() { return super.getBackgroundImageName().replace("s.png", "_search.png"); diff --git a/src/com/teammetallurgy/atum/LocalizationHelper.java b/src/com/teammetallurgy/atum/LocalizationHelper.java deleted file mode 100644 index 794ae58..0000000 --- a/src/com/teammetallurgy/atum/LocalizationHelper.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.teammetallurgy.atum; - -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.Reader; -import java.util.HashMap; -import java.util.Properties; - -public enum LocalizationHelper { - INSTANCE; - - private final String LANG_DIR = "/assets/atum/lang"; - private final HashMap LANG_MAP = new HashMap(); - - private LocalizationHelper() { - this.loadLanguage("en_US"); - } - - private void loadLanguage(String lang) { - InputStream stream = this.getClass().getResourceAsStream(String.format("%s/%s.properties", this.LANG_DIR, lang)); - - try { - if(stream != null) { - Reader reader = new InputStreamReader(stream); - Properties props = new Properties(); - - props.load(reader); - this.LANG_MAP.put(lang, props); - reader.close(); - } else { - throw new NullPointerException("Cannot build stream for language: " + lang); - } - } catch(Exception ex) { - throw new RuntimeException(ex); - } - } - - public static String localize(String tag) { - return INSTANCE.translate(tag, "en_US"); - } - - public String translate(String tag, String lang) { - if(this.LANG_MAP.containsKey(lang)) { - Properties props = this.LANG_MAP.get(lang); - - if(props.containsKey(tag)) { - return props.getProperty(tag); - } else { - throw new NullPointerException("Cannot find tag: " + tag + " in language: " + lang); - } - } else { - throw new NullPointerException("Cannot find language: " + lang); - } - } -} diff --git a/src/com/teammetallurgy/atum/blocks/AtumBlocks.java b/src/com/teammetallurgy/atum/blocks/AtumBlocks.java index 3f91c5d..6682c99 100644 --- a/src/com/teammetallurgy/atum/blocks/AtumBlocks.java +++ b/src/com/teammetallurgy/atum/blocks/AtumBlocks.java @@ -10,14 +10,12 @@ import com.teammetallurgy.atum.Atum; import com.teammetallurgy.atum.AtumIDS; -import com.teammetallurgy.atum.LocalizationHelper; import com.teammetallurgy.atum.blocks.tileentity.TileEntityBurningTrap; import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityChestSpawner; import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityPharaohChest; import com.teammetallurgy.atum.blocks.tileentity.furnace.TileEntityLimestoneFurnace; import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.common.registry.LanguageRegistry; public enum AtumBlocks { INSTANCE; @@ -26,44 +24,44 @@ public enum AtumBlocks { public static final Block BLOCK_CURSEDCHEST = new BlockChestSpawner(AtumIDS.BLOCK_CURSEDCHEST_ID); public static final Block BLOCK_SAND = new BlockSands(AtumIDS.BLOCK_SAND_ID); public static final Block BLOCK_STONE = new BlockStones(AtumIDS.BLOCK_STONE_ID); - public static final Block BLOCK_LIMESTONECOBBLE = new BlockAtum(AtumIDS.BLOCK_COBBLE_ID, "atum:cobble").setTextureName("atum:AtumCobble"); - public static final Block BLOCK_LARGEBRICK = new BlockAtum(AtumIDS.BLOCK_LARGEBRICK_ID, "atum:largeBrick").setTextureName("atum:AtumBrickLarge"); - public static final Block BLOCK_SMALLBRICK = new BlockAtum(AtumIDS.BLOCK_SMALLBRICK_ID, "atum:smallBrick").setTextureName("atum:AtumBrickSmall"); - public static final Block BLOCK_CARVEDBRICK = new BlockAtum(AtumIDS.BLOCK_CARVEDBRICK_ID, "atum:carvedBrick").setTextureName("atum:AtumBrickCarved"); - public static final Block BLOCK_SLABS = new BlockSlab(AtumIDS.BLOCK_SLABS_ID, false).setUnlocalizedName("atum:slab"); - public static final Block BLOCK_DOUBLESLAB = new BlockSlab(AtumIDS.BLOCK_DOUBLE_SLAB_ID, true).setUnlocalizedName("atum:doubleSlab"); - public static final Block BLOCK_SMOOTHSTAIRS = new BlockStair(AtumIDS.BLOCK_SMOOTHSTAIRS_ID, BLOCK_STONE, 0).setUnlocalizedName("atum:smoothStairs"); - public static final Block BLOCK_COBBLESTAIRS = new BlockStair(AtumIDS.BLOCK_COBBLESTAIRS_ID, BLOCK_LIMESTONECOBBLE, 0).setUnlocalizedName("atum:cobbleStairs"); - public static final Block BLOCK_LARGESTONESTAIRS = new BlockStair(AtumIDS.BLOCK_LARGESTONESTAIRS_ID, BLOCK_LARGEBRICK, 0).setUnlocalizedName("atum:largeStairs"); - public static final Block BLOCK_SMALLSTONESTAIRS = new BlockStair(AtumIDS.BLOCK_SMALLSTONESTAIRS_ID, BLOCK_SMALLBRICK, 0).setUnlocalizedName("atum:smallStairs"); + public static final Block BLOCK_LIMESTONECOBBLE = new BlockAtum(AtumIDS.BLOCK_COBBLE_ID, "cobble").setTextureName("atum:AtumCobble"); + public static final Block BLOCK_LARGEBRICK = new BlockAtum(AtumIDS.BLOCK_LARGEBRICK_ID, "largeBrick").setTextureName("atum:AtumBrickLarge"); + public static final Block BLOCK_SMALLBRICK = new BlockAtum(AtumIDS.BLOCK_SMALLBRICK_ID, "smallBrick").setTextureName("atum:AtumBrickSmall"); + public static final Block BLOCK_CARVEDBRICK = new BlockAtum(AtumIDS.BLOCK_CARVEDBRICK_ID, "carvedBrick").setTextureName("atum:AtumBrickCarved"); + public static final Block BLOCK_SLABS = new BlockSlab(AtumIDS.BLOCK_SLABS_ID, false).setUnlocalizedName("slab"); + public static final Block BLOCK_DOUBLESLAB = new BlockSlab(AtumIDS.BLOCK_DOUBLE_SLAB_ID, true).setUnlocalizedName("doubleSlab"); + public static final Block BLOCK_SMOOTHSTAIRS = new BlockStair(AtumIDS.BLOCK_SMOOTHSTAIRS_ID, BLOCK_STONE, 0).setUnlocalizedName("smoothStairs"); + public static final Block BLOCK_COBBLESTAIRS = new BlockStair(AtumIDS.BLOCK_COBBLESTAIRS_ID, BLOCK_LIMESTONECOBBLE, 0).setUnlocalizedName("cobbleStairs"); + public static final Block BLOCK_LARGESTONESTAIRS = new BlockStair(AtumIDS.BLOCK_LARGESTONESTAIRS_ID, BLOCK_LARGEBRICK, 0).setUnlocalizedName("largeStairs"); + public static final Block BLOCK_SMALLSTONESTAIRS = new BlockStair(AtumIDS.BLOCK_SMALLSTONESTAIRS_ID, BLOCK_SMALLBRICK, 0).setUnlocalizedName("smallStairs"); public static final Block BLOCK_SANDLAYERED = new BlockSandLayered(AtumIDS.BLOCK_SANDLAYERED_ID); - public static final Block BLOCK_CRACKEDLARGEBRICK = new BlockAtum(AtumIDS.BLOCK_CRACKEDLARGEBRICK_ID, "atum:crackedLargeBrick").setTextureName("atum:AtumCrackedLargeBrick"); + public static final Block BLOCK_CRACKEDLARGEBRICK = new BlockAtum(AtumIDS.BLOCK_CRACKEDLARGEBRICK_ID, "crackedLargeBrick").setTextureName("atum:AtumCrackedLargeBrick"); public static final Block BLOCK_WALL = new BlockWalls(AtumIDS.BLOCK_WALL_ID, BLOCK_STONE); - public static final Block BLOCK_CRYSTALGLASS = new BlockAtumGlass(AtumIDS.BLOCK_CRYSTALGLASS_ID, "atum:AtumCrystalGlass").setUnlocalizedName("atum:crystalGlass"); - public static final Block BLOCK_FRAMEDGLASS = new BlockAtumGlass(AtumIDS.BLOCK_FRAMEDGLASS_ID, "atum:AtumFramedGlass").setUnlocalizedName("atum:framedGlass"); + public static final Block BLOCK_CRYSTALGLASS = new BlockAtumGlass(AtumIDS.BLOCK_CRYSTALGLASS_ID, "atum:AtumCrystalGlass").setUnlocalizedName("crystalGlass"); + public static final Block BLOCK_FRAMEDGLASS = new BlockAtumGlass(AtumIDS.BLOCK_FRAMEDGLASS_ID, "atum:AtumFramedGlass").setUnlocalizedName("framedGlass"); public static final Block BLOCK_PALMSAPLING = new BlockPalmSapling(AtumIDS.BLOCK_PALMSAPLING_ID); public static final Block BLOCK_DATEBLOCK = new BlockDate(AtumIDS.BLOCK_DATEBLOCK_ID); - public static final Block BLOCK_SHRUB = new BlockShrub(AtumIDS.BLOCK_SHRUB_ID).setUnlocalizedName("atum:shrub").setTextureName("atum:shrub"); - public static final Block BLOCK_WEED = new BlockShrub(AtumIDS.BLOCK_WEED_ID).setUnlocalizedName("atum:weed").setTextureName("atum:DeadBush"); + public static final Block BLOCK_SHRUB = new BlockShrub(AtumIDS.BLOCK_SHRUB_ID).setUnlocalizedName("shrub").setTextureName("atum:shrub"); + public static final Block BLOCK_WEED = new BlockShrub(AtumIDS.BLOCK_WEED_ID).setUnlocalizedName("weed").setTextureName("atum:DeadBush"); public static final Block BLOCK_PAPYRUS = new BlockPapyrus(AtumIDS.BLOCK_PAPYRUS_ID); public static final Block BLOCK_FLAX = new BlockFlax(AtumIDS.BLOCK_FLAX_ID); public static final Block BLOCK_FERTILESOIL = new BlockFertileSoil(AtumIDS.BLOCK_FERTILESOIL_ID); public static final Block BLOCK_FERTILESOILTILLED = new BlockFertileSoilTilled(AtumIDS.BLOCK_FERTILESOILTILLED_ID); public static final Block BLOCK_LOG = new BlockPalmLog(AtumIDS.BLOCK_LOG_ID); public static final Block BLOCK_LEAVES = new BlockLeave(AtumIDS.BLOCK_LEAVES_ID); - public static final Block BLOCK_PLANKS = new Block(AtumIDS.BLOCK_PLANKS_ID, Material.wood).setUnlocalizedName("atum:palmPlanks").setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setTextureName("atum:Planks"); - public static final Block BLOCK_THINCRYSTALGLASS = new BlockAtumPane(AtumIDS.BLOCK_THINCRYSTALGLASS_ID, "atum:AtumCrystalGlass", "thinglass_top").setUnlocalizedName("atum:thinCrystalGlass"); - public static final Block BLOCK_THINFRAMEDGLASS = new BlockAtumPane(AtumIDS.BLOCK_THINFRAMEDGLASS_ID, "atum:AtumFramedGlass", "thinglass_top").setUnlocalizedName("atum:thinFramedGlass"); + public static final Block BLOCK_PLANKS = new Block(AtumIDS.BLOCK_PLANKS_ID, Material.wood).setUnlocalizedName("palmPlanks").setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setTextureName("atum:Planks"); + public static final Block BLOCK_THINCRYSTALGLASS = new BlockAtumPane(AtumIDS.BLOCK_THINCRYSTALGLASS_ID, "atum:AtumCrystalGlass", "atum:thinglass_top").setUnlocalizedName("thinCrystalGlass"); + public static final Block BLOCK_THINFRAMEDGLASS = new BlockAtumPane(AtumIDS.BLOCK_THINFRAMEDGLASS_ID, "atum:AtumFramedGlass", "atum:thinglass_top").setUnlocalizedName("thinFramedGlass"); public static final Block BLOCK_TRAPARROW = new BlockBurningTrap(AtumIDS.BLOCK_TRAPARROW_ID); public static final Block BLOCK_PHARAOHCHEST = new BlockPharaohChest(AtumIDS.BLOCK_PHARAOHCHEST_ID); public static final Block BLOCK_REDSTONEORE = new BlockAtumRedstone(AtumIDS.BLOCK_REDSTONEORE_ID); - public static final Block BLOCK_COALORE = new BlockAtumOres(AtumIDS.BLOCK_COALORE_ID).setUnlocalizedName("atum:coalOre").setTextureName("atum:AtumCoal"); - public static final Block BLOCK_IRONORE = new BlockAtumOres(AtumIDS.BLOCK_IRONORE_ID).setUnlocalizedName("atum:ironOre").setTextureName("atum:AtumIron"); - public static final Block BLOCK_GOLDORE = new BlockAtumOres(AtumIDS.BLOCK_GOLDORE_ID).setUnlocalizedName("atum:goldOre").setTextureName("atum:AtumGold"); - public static final Block BLOCK_LAPISORE = new BlockAtumOres(AtumIDS.BLOCK_LAPISORE_ID).setUnlocalizedName("atum:lapisOre").setTextureName("atum:AtumLapis"); - public static final Block BLOCK_DIAMONDORE = new BlockAtumOres(AtumIDS.BLOCK_DIAMONDORE_ID).setUnlocalizedName("atum:diamondOre").setTextureName("atum:AtumDiamond"); - public static final Block BLOCK_FURNACEIDLE = new BlockLimeStoneFurnace(AtumIDS.BLOCK_FURNACEIDLE_ID, false).setUnlocalizedName("atum:furnaceIdle"); - public static final Block BLOCK_FURNACEBURNING = new BlockLimeStoneFurnace(AtumIDS.BLOCK_FURNACEBURNING_ID, true).setUnlocalizedName("atum:furnaceBurning"); + public static final Block BLOCK_COALORE = new BlockAtumOres(AtumIDS.BLOCK_COALORE_ID).setUnlocalizedName("coalOre").setTextureName("atum:AtumCoal"); + public static final Block BLOCK_IRONORE = new BlockAtumOres(AtumIDS.BLOCK_IRONORE_ID).setUnlocalizedName("ironOre").setTextureName("atum:AtumIron"); + public static final Block BLOCK_GOLDORE = new BlockAtumOres(AtumIDS.BLOCK_GOLDORE_ID).setUnlocalizedName("goldOre").setTextureName("atum:AtumGold"); + public static final Block BLOCK_LAPISORE = new BlockAtumOres(AtumIDS.BLOCK_LAPISORE_ID).setUnlocalizedName("lapisOre").setTextureName("atum:AtumLapis"); + public static final Block BLOCK_DIAMONDORE = new BlockAtumOres(AtumIDS.BLOCK_DIAMONDORE_ID).setUnlocalizedName("diamondOre").setTextureName("atum:AtumDiamond"); + public static final Block BLOCK_FURNACEIDLE = new BlockLimeStoneFurnace(AtumIDS.BLOCK_FURNACEIDLE_ID, false).setUnlocalizedName("furnaceIdle"); + public static final Block BLOCK_FURNACEBURNING = new BlockLimeStoneFurnace(AtumIDS.BLOCK_FURNACEBURNING_ID, true).setUnlocalizedName("furnaceBurning"); public void registerBlocks() { this.register(BLOCK_PORTAL); @@ -136,14 +134,5 @@ private void register(Block b) { b.setCreativeTab(Atum.creativeTab); } GameRegistry.registerBlock(b, b.getUnlocalizedName()); - name(b, "block.", b.getUnlocalizedName().split(":")[1]); - } - - private void name(Block b, String type, String tag) { - LanguageRegistry.addName(b, LocalizationHelper.localize(type + tag + ".name")); - } - - private void name(ItemStack b, String tag) { - LanguageRegistry.addName(b, LocalizationHelper.localize("block." + tag + ".name")); } } diff --git a/src/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java b/src/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java index 0034898..475fdb4 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java +++ b/src/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java @@ -16,7 +16,7 @@ public class BlockAtumRedstone extends Block { public BlockAtumRedstone(int par1) { super(par1, Material.rock); - this.setUnlocalizedName("atum:redstoneOre"); + this.setUnlocalizedName("redstoneOre"); this.setTextureName("atum:AtumRedstone"); } diff --git a/src/com/teammetallurgy/atum/blocks/BlockBurningTrap.java b/src/com/teammetallurgy/atum/blocks/BlockBurningTrap.java index ed17338..83fac21 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockBurningTrap.java +++ b/src/com/teammetallurgy/atum/blocks/BlockBurningTrap.java @@ -34,7 +34,7 @@ public class BlockBurningTrap extends BlockContainer { public BlockBurningTrap(int par1) { super(par1, Material.rock); - this.setUnlocalizedName("atum:burningTrap"); + this.setUnlocalizedName("burningTrap"); this.setCreativeTab(CreativeTabs.tabRedstone); this.setHardness(-1.0F); } diff --git a/src/com/teammetallurgy/atum/blocks/BlockChestSpawner.java b/src/com/teammetallurgy/atum/blocks/BlockChestSpawner.java index a0cecbd..8a2efc6 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockChestSpawner.java +++ b/src/com/teammetallurgy/atum/blocks/BlockChestSpawner.java @@ -29,7 +29,7 @@ public class BlockChestSpawner extends BlockContainer { protected BlockChestSpawner(int par1) { super(par1, Material.wood); - this.setUnlocalizedName("atum:chestSpawner"); + this.setUnlocalizedName("chestSpawner"); this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); } diff --git a/src/com/teammetallurgy/atum/blocks/BlockDate.java b/src/com/teammetallurgy/atum/blocks/BlockDate.java index e226f1f..5fd0964 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockDate.java +++ b/src/com/teammetallurgy/atum/blocks/BlockDate.java @@ -20,7 +20,7 @@ public class BlockDate extends Block { public BlockDate(int par1) { super(par1, Material.plants); - this.setUnlocalizedName("atum:date"); + this.setUnlocalizedName("date"); } @Override diff --git a/src/com/teammetallurgy/atum/blocks/BlockFertileSoil.java b/src/com/teammetallurgy/atum/blocks/BlockFertileSoil.java index baa359a..8e565fe 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockFertileSoil.java +++ b/src/com/teammetallurgy/atum/blocks/BlockFertileSoil.java @@ -28,7 +28,7 @@ public class BlockFertileSoil extends BlockFarmland { public BlockFertileSoil(int par1) { super(par1); - this.setUnlocalizedName("atum:fertileSoil"); + this.setUnlocalizedName("fertileSoil"); this.setHardness(0.5F); this.setStepSound(Block.soundGrassFootstep); setTickRandomly(true); diff --git a/src/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java b/src/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java index 282387d..f9ce4c4 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java +++ b/src/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java @@ -25,7 +25,7 @@ public class BlockFertileSoilTilled extends Block { public BlockFertileSoilTilled(int par1) { super(par1, Material.ground); this.setHardness(0.5F); - this.setUnlocalizedName("atum:fertileSoilTilled"); + this.setUnlocalizedName("fertileSoilTilled"); this.setTickRandomly(true); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.9375F, 1.0F); this.setLightOpacity(255); diff --git a/src/com/teammetallurgy/atum/blocks/BlockFlax.java b/src/com/teammetallurgy/atum/blocks/BlockFlax.java index 3f4b52a..6545054 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockFlax.java +++ b/src/com/teammetallurgy/atum/blocks/BlockFlax.java @@ -25,7 +25,7 @@ public class BlockFlax extends BlockFlower { protected BlockFlax(int par1) { super(par1); - this.setUnlocalizedName("atum:flax"); + this.setUnlocalizedName("flax"); this.setTickRandomly(true); float f = 0.5F; this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 0.25F, 0.5F + f); diff --git a/src/com/teammetallurgy/atum/blocks/BlockLeave.java b/src/com/teammetallurgy/atum/blocks/BlockLeave.java index 646809a..b50d5a2 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockLeave.java +++ b/src/com/teammetallurgy/atum/blocks/BlockLeave.java @@ -24,7 +24,7 @@ public class BlockLeave extends BlockLeavesBase implements IShearable { protected BlockLeave(int par1) { super(par1, Material.leaves, false); - this.setUnlocalizedName("atum:palmLeaves"); + this.setUnlocalizedName("palmLeaves"); this.setHardness(0.2F); this.setLightOpacity(1); this.setStepSound(Block.soundGrassFootstep); diff --git a/src/com/teammetallurgy/atum/blocks/BlockPalmLog.java b/src/com/teammetallurgy/atum/blocks/BlockPalmLog.java index ad4b6de..75449ae 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockPalmLog.java +++ b/src/com/teammetallurgy/atum/blocks/BlockPalmLog.java @@ -18,7 +18,7 @@ public class BlockPalmLog extends Block { protected BlockPalmLog(int par1) { super(par1, Material.wood); - this.setUnlocalizedName("atum:palmLog"); + this.setUnlocalizedName("palmLog"); this.setHardness(2.0F); this.setStepSound(Block.soundWoodFootstep); setBurnProperties(super.blockID, 5, 5); diff --git a/src/com/teammetallurgy/atum/blocks/BlockPalmSapling.java b/src/com/teammetallurgy/atum/blocks/BlockPalmSapling.java index 76fdcfc..bb1e87d 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockPalmSapling.java +++ b/src/com/teammetallurgy/atum/blocks/BlockPalmSapling.java @@ -11,7 +11,7 @@ public class BlockPalmSapling extends BlockFlower { protected BlockPalmSapling(int par1) { super(par1); - this.setUnlocalizedName("atum:palmSapling"); + this.setUnlocalizedName("palmSapling"); float f = 0.4F; this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, f * 2.0F, 0.5F + f); } diff --git a/src/com/teammetallurgy/atum/blocks/BlockPapyrus.java b/src/com/teammetallurgy/atum/blocks/BlockPapyrus.java index 3b04d81..34f0901 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockPapyrus.java +++ b/src/com/teammetallurgy/atum/blocks/BlockPapyrus.java @@ -27,7 +27,7 @@ public class BlockPapyrus extends Block implements IPlantable { public BlockPapyrus(int par1) { super(par1, Material.plants); - this.setUnlocalizedName("atum:papyrus"); + this.setUnlocalizedName("papyrus"); this.setHardness(0.0F); this.setStepSound(Block.soundGrassFootstep); float f = 0.375F; diff --git a/src/com/teammetallurgy/atum/blocks/BlockPharaohChest.java b/src/com/teammetallurgy/atum/blocks/BlockPharaohChest.java index 5c5adc7..e01b79a 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockPharaohChest.java +++ b/src/com/teammetallurgy/atum/blocks/BlockPharaohChest.java @@ -30,7 +30,7 @@ public class BlockPharaohChest extends BlockContainer { protected BlockPharaohChest(int par1) { super(par1, Material.wood); - this.setUnlocalizedName("atum:pharaohChest"); + this.setUnlocalizedName("pharaohChest"); this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); } diff --git a/src/com/teammetallurgy/atum/blocks/BlockPortal.java b/src/com/teammetallurgy/atum/blocks/BlockPortal.java index 4250dd0..8a640c5 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockPortal.java +++ b/src/com/teammetallurgy/atum/blocks/BlockPortal.java @@ -28,7 +28,7 @@ public BlockPortal(int par1) { super(par1, "atum:portal", Material.portal, true); this.setTickRandomly(true); this.setHardness(-1.0F); - this.setUnlocalizedName("atum:portal"); + this.setUnlocalizedName("portal"); } @Override diff --git a/src/com/teammetallurgy/atum/blocks/BlockSandLayered.java b/src/com/teammetallurgy/atum/blocks/BlockSandLayered.java index 94eed7e..af22640 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockSandLayered.java +++ b/src/com/teammetallurgy/atum/blocks/BlockSandLayered.java @@ -17,7 +17,7 @@ public class BlockSandLayered extends Block { public BlockSandLayered(int par1) { super(par1, Material.sand); - this.setUnlocalizedName("atum:sandLayer"); + this.setUnlocalizedName("sandLayer"); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.125F, 1.0F); this.setTickRandomly(true); this.func_96478_d(0); diff --git a/src/com/teammetallurgy/atum/blocks/BlockSands.java b/src/com/teammetallurgy/atum/blocks/BlockSands.java index ce9d7ef..c26302c 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockSands.java +++ b/src/com/teammetallurgy/atum/blocks/BlockSands.java @@ -8,7 +8,7 @@ public class BlockSands extends BlockSand { public BlockSands(int par1) { super(par1); - this.setUnlocalizedName("atum:sand"); + this.setUnlocalizedName("sand"); this.setStepSound(Block.soundSandFootstep); this.setHardness(0.5F); } diff --git a/src/com/teammetallurgy/atum/blocks/BlockSlab.java b/src/com/teammetallurgy/atum/blocks/BlockSlab.java index eedf7fd..4e8be40 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockSlab.java +++ b/src/com/teammetallurgy/atum/blocks/BlockSlab.java @@ -3,7 +3,7 @@ import java.util.List; import java.util.Random; -import com.teammetallurgy.atum.LocalizationHelper; +import com.teammetallurgy.atum.Atum; import net.minecraft.block.BlockHalfSlab; import net.minecraft.block.material.Material; @@ -19,10 +19,8 @@ public class BlockSlab extends BlockHalfSlab { public BlockSlab(int par1, boolean par2) { super(par1, par2, Material.rock); this.setHardness(2.0F); - } - - public String getLocalizedName(ItemStack stack) { - return LocalizationHelper.localize("block.slab" + stack.getItemDamage() + ".name"); + this.setCreativeTab(Atum.creativeTab); + this.setCreativeTab(Atum.creativeTab); } @Override @@ -51,11 +49,7 @@ protected ItemStack createStackedBlock(int par1) { @Override public String getFullSlabName(int par1) { - if((par1 < 0) || (par1 >= slabType.length)) { - par1 = 0; - } - - return super.getUnlocalizedName() + "." + slabType[par1]; + return this.getUnlocalizedName(); } @Override diff --git a/src/com/teammetallurgy/atum/blocks/BlockStones.java b/src/com/teammetallurgy/atum/blocks/BlockStones.java index fbb90e1..47fc87b 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockStones.java +++ b/src/com/teammetallurgy/atum/blocks/BlockStones.java @@ -10,7 +10,7 @@ public class BlockStones extends BlockStone { public BlockStones(int par1) { super(par1); - this.setUnlocalizedName("atum:stone"); + this.setUnlocalizedName("stone"); this.setStepSound(Block.soundSandFootstep); this.setHardness(0.5F); } diff --git a/src/com/teammetallurgy/atum/blocks/BlockWalls.java b/src/com/teammetallurgy/atum/blocks/BlockWalls.java index fc927f8..fa52fa2 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockWalls.java +++ b/src/com/teammetallurgy/atum/blocks/BlockWalls.java @@ -2,6 +2,8 @@ import java.util.List; +import com.teammetallurgy.atum.Atum; + import net.minecraft.block.Block; import net.minecraft.block.BlockWall; import net.minecraft.client.renderer.texture.IconRegister; @@ -10,9 +12,6 @@ import net.minecraft.util.Icon; import net.minecraft.world.World; import net.minecraftforge.common.ForgeDirection; - -import com.teammetallurgy.atum.LocalizationHelper; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -22,11 +21,8 @@ public class BlockWalls extends BlockWall { public BlockWalls(int par1, Block par2Block) { super(par1, par2Block); - this.setUnlocalizedName("atum:walls"); - } - - public String getLocalizedName(ItemStack stack) { - return LocalizationHelper.localize("block.walls" + stack.getItemDamage() + ".name"); + this.setUnlocalizedName("walls"); + this.setCreativeTab(Atum.creativeTab); } @Override diff --git a/src/com/teammetallurgy/atum/blocks/ItemBlockSlab.java b/src/com/teammetallurgy/atum/blocks/ItemBlockSlab.java index eeec639..b3da481 100644 --- a/src/com/teammetallurgy/atum/blocks/ItemBlockSlab.java +++ b/src/com/teammetallurgy/atum/blocks/ItemBlockSlab.java @@ -5,18 +5,12 @@ import net.minecraft.item.ItemStack; public class ItemBlockSlab extends ItemBlock { - + public static final String[] types = {"smooth", "cracked", "largeBrick", "smallBrick"}; public ItemBlockSlab(int par1) { super(par1); } - - @Override - public String getItemDisplayName(ItemStack stack) { - return getItemStackDisplayName(stack); - } - @Override - public String getItemStackDisplayName(ItemStack stack) { - return ((BlockSlab) Block.blocksList[getBlockID()]).getLocalizedName(stack); + public String getUnlocalizedName(ItemStack par1ItemStack) { + return "tile." + types[par1ItemStack.getItemDamage()] + "Slab"; } } diff --git a/src/com/teammetallurgy/atum/blocks/ItemBlockWall.java b/src/com/teammetallurgy/atum/blocks/ItemBlockWall.java index 4df785a..23e2307 100644 --- a/src/com/teammetallurgy/atum/blocks/ItemBlockWall.java +++ b/src/com/teammetallurgy/atum/blocks/ItemBlockWall.java @@ -5,19 +5,15 @@ import net.minecraft.item.ItemStack; public class ItemBlockWall extends ItemBlock { + public static final String[] types = {"smooth", "cracked", "largeBrick", "smallBrick"}; public ItemBlockWall(int par1) { super(par1); } @Override - public String getItemDisplayName(ItemStack stack) { - return getItemStackDisplayName(stack); - } - - @Override - public String getItemStackDisplayName(ItemStack stack) { - return ((BlockWalls) Block.blocksList[getBlockID()]).getLocalizedName(stack); + public String getUnlocalizedName(ItemStack par1ItemStack) { + return "tile." + types[par1ItemStack.getItemDamage()] + "Wall"; } } diff --git a/src/com/teammetallurgy/atum/entity/AtumEntities.java b/src/com/teammetallurgy/atum/entity/AtumEntities.java index ff6492e..e8d2522 100644 --- a/src/com/teammetallurgy/atum/entity/AtumEntities.java +++ b/src/com/teammetallurgy/atum/entity/AtumEntities.java @@ -3,7 +3,6 @@ import net.minecraft.entity.EntityList; import com.teammetallurgy.atum.Atum; -import com.teammetallurgy.atum.LocalizationHelper; import com.teammetallurgy.atum.entity.arrow.EntityArrowDoubleShot; import com.teammetallurgy.atum.entity.arrow.EntityArrowExplosive; import com.teammetallurgy.atum.entity.arrow.EntityArrowFire; @@ -14,7 +13,6 @@ import com.teammetallurgy.atum.entity.arrow.EntityNutsCall; import cpw.mods.fml.common.registry.EntityRegistry; -import cpw.mods.fml.common.registry.LanguageRegistry; public enum AtumEntities { INSTANCE; @@ -71,25 +69,6 @@ public void register() { EntityRegistry.registerModEntity(EntityNutsCall.class, "EntityNutsCall", 6, Atum.instance, 64, 1, true); EntityRegistry.registerModEntity(EntityAtumFishHook.class, "EntityAtumFishHook", 7, Atum.instance, 64, 1, false); - addNames(); - } - - private void addNames() { - name("entity.AtumMummy.name", "mummy"); - name("entity.AtumBanditWarrior.name", "banditWarrior"); - name("entity.AtumBanditArcher.name", "banditArcher"); - name("entity.AtumPharaoh.name", "pharaoh"); - name("entity.AtumDustySkeleton.name", "dustySkeleton"); - name("entity.AtumDesertGhost.name", "desertGhost"); - - name("entity.AtumStoneSoldier.name", "stoneSoldier"); - name("entity.AtumDesertWolf.name", "desertWolf"); - name("entity.AtumBanditWarlord.name", "banditWarlord"); - name("entity.AtumBarbarian.name", "barbarian"); - } - - private void name(String name, String tag) { - LanguageRegistry.instance().addStringLocalization(name, LocalizationHelper.localize("entity." + tag + ".name")); } } diff --git a/src/com/teammetallurgy/atum/items/AtumItems.java b/src/com/teammetallurgy/atum/items/AtumItems.java index bcb8e3f..d86c2eb 100644 --- a/src/com/teammetallurgy/atum/items/AtumItems.java +++ b/src/com/teammetallurgy/atum/items/AtumItems.java @@ -11,7 +11,6 @@ import com.teammetallurgy.atum.Atum; import com.teammetallurgy.atum.AtumIDS; -import com.teammetallurgy.atum.LocalizationHelper; import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.items.artifacts.IsisEmbrace; import com.teammetallurgy.atum.items.artifacts.ItemAkersToil; @@ -45,79 +44,78 @@ import com.teammetallurgy.atum.items.artifacts.ItemSobeksRage; import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.common.registry.LanguageRegistry; public enum AtumItems { INSTANCE; - public static final Item ITEM_SCARAB = new ItemScarab(AtumIDS.ITEM_SCARAB_ID).setUnlocalizedName("atum:scarab"); - public static final Item ITEM_LOOT = new ItemLoot(AtumIDS.ITEM_LOOT_ID).setUnlocalizedName("atum:loot"); - public static final Item ITEM_DATE = new ItemFood(AtumIDS.ITEM_DATE_ID, 5, 1.5F, false).setTextureName("atum:date").setUnlocalizedName("atum:date"); - public static final Item ITEM_SCIMITAR = new ItemScimitar(AtumIDS.ITEM_SCIMITAR_ID, EnumToolMaterial.IRON).setUnlocalizedName("atum:scimitar"); - public static final Item ITEM_GREATSWORD = new ItemGreatsword(AtumIDS.ITEM_GREATSWORD_ID, EnumToolMaterial.IRON).setUnlocalizedName("atum:greatsword").setTextureName("atum:Greatsword"); - public static final Item ITEM_BOW = new ItemAtumBow(AtumIDS.ITEM_BOW_ID).setUnlocalizedName("atum:bow"); - public static final Item ITEM_STONESOLDIER_SWORD = new ItemStoneSoldierSword(AtumIDS.ITEM_STONESOLDIERSWORD_ID, EnumToolMaterial.IRON).setUnlocalizedName("atum:stoneSoldierSword"); - public static final Item ITEM_SCEPTER = new ItemScepter(AtumIDS.ITEM_SCEPTER_ID, EnumToolMaterial.GOLD).setUnlocalizedName("atum:scepter"); - public static final Item ptahsPick = new ItemPtahsDecadence(AtumIDS.ITEM_PTAHSPICK_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:ptahsDecadence"); - public static final Item sobeksRage = new ItemSobeksRage(AtumIDS.ITEM_SOBEKSRAGE_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:soteksRage"); - public static final Item osirisWill = new ItemOsirisWill(AtumIDS.ITEM_OSIRISWILL_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:osirisWill"); - public static final Item akersToil = new ItemAkersToil(AtumIDS.ITEM_AKERSTOIL_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:akersToil"); - public static final Item gebsBlessing = new ItemGebsBlessing(AtumIDS.ITEM_GEBSBLESSING_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:gebsBlessing"); - public static final Item atensFury = new ItemAtensFury(AtumIDS.ITEM_ATENSFURY_ID).setUnlocalizedName("atum:atensFury"); - public static final Item rasGlory = new ItemRasGlory(AtumIDS.ITEM_RASGLORY_ID, EnumArmorMaterial.DIAMOND, 0, 0).setTextureFile("EgyptianArmor_1").setUnlocalizedName("atum:rasGlory"); - public static final Item sekhmetsWrath = new ItemSekhmetsWrath(AtumIDS.ITEM_SEKHMETSWRATH_ID, 1, 1).setTextureFile("EgyptianArmor_1").setUnlocalizedName("atum:sekhmetsWrath"); - public static final Item nutsAgility = new ItemNutsAgility(AtumIDS.ITEM_NUTSAGILITY_ID, EnumArmorMaterial.DIAMOND, 2, 2).setTextureFile("EgyptianArmor_2").setUnlocalizedName("atum:nutsAgility"); - public static final Item horusFlight = new ItemHorusFlight(AtumIDS.ITEM_HORUSFLIGHT_ID, EnumArmorMaterial.DIAMOND, 3, 3).setTextureFile("EgyptianArmor_1").setUnlocalizedName("atum:horusFlight"); - public static final Item monthusStrike = new ItemMonthusStrike(AtumIDS.ITEM_MONTHUSSTRIKE_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:monthusStrike"); - public static final Item anhursMight = new ItemAnhursMight(AtumIDS.ITEM_ANHURSMIGHT_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:anhursMight"); - public static final Item hedetetsSting = new ItemHedetetsSting(AtumIDS.ITEM_HEDETETSSTING_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:hedetetsSting"); - public static final Item horusSoaring = new ItemHorusSoaring(AtumIDS.ITEM_HORUSSOARING_ID).setUnlocalizedName("atum:horusSoaring"); - public static final Item shusBreath = new ItemShusBreath(AtumIDS.ITEM_SHUSBREATH_ID).setUnlocalizedName("atum:shusBreath"); - public static final Item ptahsDestruction = new ItemPtahsDestruction(AtumIDS.ITEM_PTAHSDESTRUCTION_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:ptahsDestruction"); - public static final Item monthusBlast = new ItemMonthusBlast(AtumIDS.ITEM_MONTHUSBLAST_ID).setUnlocalizedName("atum:monthusBlast"); - public static final Item nusFlux = new ItemNusFlux(AtumIDS.ITEM_NUSFLUX_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("atum:nusFlux"); - public static final Item mnevisHorns = new ItemMnevisHorns(AtumIDS.ITEM_MNEVISHORNS_ID, EnumArmorMaterial.DIAMOND, 0, 0).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("atum:mnevisHorns"); - public static final Item isisEmbrace = new IsisEmbrace(AtumIDS.ITEM_ISISEMBRACE_ID, EnumArmorMaterial.DIAMOND, 1, 1).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("atum:isisEmbrace"); - public static final Item maatsBalance = new ItemMaatsBalance(AtumIDS.ITEM_MAATSBALANCE_ID, EnumArmorMaterial.DIAMOND, 2, 2).setTextureFile("RubyArtifactArmor_2").setUnlocalizedName("atum:maatsBalance"); - public static final Item hedetetsVenom = new ItemHedetetsVenom(AtumIDS.ITEM_HEDETETSVENOM_ID).setUnlocalizedName("atum:hedetetsVenom"); - public static final Item gebsSolidarity = new ItemGebsSolidarity(AtumIDS.ITEM_GEBSSOLIDARITY_ID, EnumArmorMaterial.DIAMOND, 3, 3).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("atum:gebsSolidarity"); - public static final Item nutsCall = new ItemNutsCall(AtumIDS.ITEM_NUTSCALL_ID).setUnlocalizedName("atum:nutsCall"); - public static final Item anuketsBounty = new ItemAnuketsBounty(AtumIDS.ITEM_ANUKETSBOUNTY_ID).setUnlocalizedName("atum:anuketsBounty"); - public static final Item mafdetsQuickness = new ItemMafdetsQuickness(AtumIDS.ITEM_MAFDETSQUICKNESS_ID).setUnlocalizedName("atum:mafdetsQuickness"); - public static final Item isisHealing = new ItemIsisHealing(AtumIDS.ITEM_ISISHEALING_ID).setUnlocalizedName("atum:isisHealing"); - public static final Item amunetsHomecoming = new ItemAmunetsHomecoming(AtumIDS.ITEM_AMUNETSHOMECOMING_ID).setUnlocalizedName("atum:amunetsHomecoming"); - public static final Item anubisMercy = new ItemAnubisMercy(AtumIDS.ITEM_ANUBISMERCY_ID).setUnlocalizedName("atum:anubisMercy"); - public static final Item limestoneShovel = new LimestoneShovel(AtumIDS.ITEM_LIMESTONESHOVEL_ID, EnumToolMaterial.STONE).setUnlocalizedName("atum:limestoneShovel"); - public static final Item limestonePickaxe = new LimestonePickaxe(AtumIDS.ITEM_LIMESTONEPICKAXE_ID, EnumToolMaterial.STONE).setUnlocalizedName("atum:limestonePickaxe"); - public static final Item limestoneAxe = new LimestoneAxe(AtumIDS.ITEM_LIMESTONEAXE_ID, EnumToolMaterial.STONE).setUnlocalizedName("atum:limestoneAxe"); - public static final Item limestoneSword = new LimestoneSword(AtumIDS.ITEM_LIMESTONESWORD_ID, EnumToolMaterial.STONE).setUnlocalizedName("atum:limestoneSword"); - public static final Item limestoneHoe = new LimestoneHoe(AtumIDS.ITEM_LIMESTONEHOE_ID, EnumToolMaterial.STONE).setUnlocalizedName("atum:limestoneHoe"); + public static final Item ITEM_SCARAB = new ItemScarab(AtumIDS.ITEM_SCARAB_ID).setUnlocalizedName("scarab"); + public static final Item ITEM_LOOT = new ItemLoot(AtumIDS.ITEM_LOOT_ID).setUnlocalizedName("loot"); + public static final Item ITEM_DATE = new ItemFood(AtumIDS.ITEM_DATE_ID, 5, 1.5F, false).setTextureName("atum:date").setUnlocalizedName("date"); + public static final Item ITEM_SCIMITAR = new ItemScimitar(AtumIDS.ITEM_SCIMITAR_ID, EnumToolMaterial.IRON).setUnlocalizedName("scimitar"); + public static final Item ITEM_GREATSWORD = new ItemGreatsword(AtumIDS.ITEM_GREATSWORD_ID, EnumToolMaterial.IRON).setUnlocalizedName("greatsword").setTextureName("atum:Greatsword"); + public static final Item ITEM_BOW = new ItemAtumBow(AtumIDS.ITEM_BOW_ID).setUnlocalizedName("bow"); + public static final Item ITEM_STONESOLDIER_SWORD = new ItemStoneSoldierSword(AtumIDS.ITEM_STONESOLDIERSWORD_ID, EnumToolMaterial.IRON).setUnlocalizedName("stoneSoldierSword"); + public static final Item ITEM_SCEPTER = new ItemScepter(AtumIDS.ITEM_SCEPTER_ID, EnumToolMaterial.GOLD).setUnlocalizedName("scepter"); + public static final Item ptahsPick = new ItemPtahsDecadence(AtumIDS.ITEM_PTAHSPICK_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("ptahsDecadence"); + public static final Item sobeksRage = new ItemSobeksRage(AtumIDS.ITEM_SOBEKSRAGE_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("soteksRage"); + public static final Item osirisWill = new ItemOsirisWill(AtumIDS.ITEM_OSIRISWILL_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("osirisWill"); + public static final Item akersToil = new ItemAkersToil(AtumIDS.ITEM_AKERSTOIL_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("akersToil"); + public static final Item gebsBlessing = new ItemGebsBlessing(AtumIDS.ITEM_GEBSBLESSING_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("gebsBlessing"); + public static final Item atensFury = new ItemAtensFury(AtumIDS.ITEM_ATENSFURY_ID).setUnlocalizedName("atensFury"); + public static final Item rasGlory = new ItemRasGlory(AtumIDS.ITEM_RASGLORY_ID, EnumArmorMaterial.DIAMOND, 0, 0).setTextureFile("EgyptianArmor_1").setUnlocalizedName("rasGlory"); + public static final Item sekhmetsWrath = new ItemSekhmetsWrath(AtumIDS.ITEM_SEKHMETSWRATH_ID, 1, 1).setTextureFile("EgyptianArmor_1").setUnlocalizedName("sekhmetsWrath"); + public static final Item nutsAgility = new ItemNutsAgility(AtumIDS.ITEM_NUTSAGILITY_ID, EnumArmorMaterial.DIAMOND, 2, 2).setTextureFile("EgyptianArmor_2").setUnlocalizedName("nutsAgility"); + public static final Item horusFlight = new ItemHorusFlight(AtumIDS.ITEM_HORUSFLIGHT_ID, EnumArmorMaterial.DIAMOND, 3, 3).setTextureFile("EgyptianArmor_1").setUnlocalizedName("horusFlight"); + public static final Item monthusStrike = new ItemMonthusStrike(AtumIDS.ITEM_MONTHUSSTRIKE_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("monthusStrike"); + public static final Item anhursMight = new ItemAnhursMight(AtumIDS.ITEM_ANHURSMIGHT_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("anhursMight"); + public static final Item hedetetsSting = new ItemHedetetsSting(AtumIDS.ITEM_HEDETETSSTING_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("hedetetsSting"); + public static final Item horusSoaring = new ItemHorusSoaring(AtumIDS.ITEM_HORUSSOARING_ID).setUnlocalizedName("horusSoaring"); + public static final Item shusBreath = new ItemShusBreath(AtumIDS.ITEM_SHUSBREATH_ID).setUnlocalizedName("shusBreath"); + public static final Item ptahsDestruction = new ItemPtahsDestruction(AtumIDS.ITEM_PTAHSDESTRUCTION_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("ptahsDestruction"); + public static final Item monthusBlast = new ItemMonthusBlast(AtumIDS.ITEM_MONTHUSBLAST_ID).setUnlocalizedName("monthusBlast"); + public static final Item nusFlux = new ItemNusFlux(AtumIDS.ITEM_NUSFLUX_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("nusFlux"); + public static final Item mnevisHorns = new ItemMnevisHorns(AtumIDS.ITEM_MNEVISHORNS_ID, EnumArmorMaterial.DIAMOND, 0, 0).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("mnevisHorns"); + public static final Item isisEmbrace = new IsisEmbrace(AtumIDS.ITEM_ISISEMBRACE_ID, EnumArmorMaterial.DIAMOND, 1, 1).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("isisEmbrace"); + public static final Item maatsBalance = new ItemMaatsBalance(AtumIDS.ITEM_MAATSBALANCE_ID, EnumArmorMaterial.DIAMOND, 2, 2).setTextureFile("RubyArtifactArmor_2").setUnlocalizedName("maatsBalance"); + public static final Item hedetetsVenom = new ItemHedetetsVenom(AtumIDS.ITEM_HEDETETSVENOM_ID).setUnlocalizedName("hedetetsVenom"); + public static final Item gebsSolidarity = new ItemGebsSolidarity(AtumIDS.ITEM_GEBSSOLIDARITY_ID, EnumArmorMaterial.DIAMOND, 3, 3).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("gebsSolidarity"); + public static final Item nutsCall = new ItemNutsCall(AtumIDS.ITEM_NUTSCALL_ID).setUnlocalizedName("nutsCall"); + public static final Item anuketsBounty = new ItemAnuketsBounty(AtumIDS.ITEM_ANUKETSBOUNTY_ID).setUnlocalizedName("anuketsBounty"); + public static final Item mafdetsQuickness = new ItemMafdetsQuickness(AtumIDS.ITEM_MAFDETSQUICKNESS_ID).setUnlocalizedName("mafdetsQuickness"); + public static final Item isisHealing = new ItemIsisHealing(AtumIDS.ITEM_ISISHEALING_ID).setUnlocalizedName("isisHealing"); + public static final Item amunetsHomecoming = new ItemAmunetsHomecoming(AtumIDS.ITEM_AMUNETSHOMECOMING_ID).setUnlocalizedName("amunetsHomecoming"); + public static final Item anubisMercy = new ItemAnubisMercy(AtumIDS.ITEM_ANUBISMERCY_ID).setUnlocalizedName("anubisMercy"); + public static final Item limestoneShovel = new LimestoneShovel(AtumIDS.ITEM_LIMESTONESHOVEL_ID, EnumToolMaterial.STONE).setUnlocalizedName("limestoneShovel"); + public static final Item limestonePickaxe = new LimestonePickaxe(AtumIDS.ITEM_LIMESTONEPICKAXE_ID, EnumToolMaterial.STONE).setUnlocalizedName("limestonePickaxe"); + public static final Item limestoneAxe = new LimestoneAxe(AtumIDS.ITEM_LIMESTONEAXE_ID, EnumToolMaterial.STONE).setUnlocalizedName("limestoneAxe"); + public static final Item limestoneSword = new LimestoneSword(AtumIDS.ITEM_LIMESTONESWORD_ID, EnumToolMaterial.STONE).setUnlocalizedName("limestoneSword"); + public static final Item limestoneHoe = new LimestoneHoe(AtumIDS.ITEM_LIMESTONEHOE_ID, EnumToolMaterial.STONE).setUnlocalizedName("limestoneHoe"); private static EnumArmorMaterial mummyEnum = EnumHelper.addArmorMaterial("Mummy", 5, new int[]{1, 3, 2, 1}, 15); - public static final Item mummyHelmet = new ItemTexturedArmor(AtumIDS.ITEM_MUMMYHELMET_ID, mummyEnum, 0, 0).setRepairItem(AtumIDS.ITEM_SCRAP_ID).setTextureFile("MummyArmor_1").setUnlocalizedName("atum:mummyHelmet").setTextureName("atum:MummyHelmet"); - public static final Item mummyChest = new ItemTexturedArmor(AtumIDS.ITEM_MUMMYCHEST_ID, mummyEnum, 0, 1).setRepairItem(AtumIDS.ITEM_SCRAP_ID).setTextureFile("MummyArmor_1").setUnlocalizedName("atum:mummyChest").setTextureName("atum:MummyChest"); - public static final Item mummyLegs = new ItemTexturedArmor(AtumIDS.ITEM_MUMMYLEGS_ID, mummyEnum, 0, 2).setRepairItem(AtumIDS.ITEM_SCRAP_ID).setTextureFile("MummyArmor_2").setUnlocalizedName("atum:mummyLegs").setTextureName("atum:MummyLegs"); - public static final Item mummyBoots = new ItemTexturedArmor(AtumIDS.ITEM_MUMMYBOOTS_ID, mummyEnum, 0, 3).setRepairItem(AtumIDS.ITEM_SCRAP_ID).setTextureFile("MummyArmor_1").setUnlocalizedName("atum:mummyBoots").setTextureName("atum:MummyBoots"); + public static final Item mummyHelmet = new ItemTexturedArmor(AtumIDS.ITEM_MUMMYHELMET_ID, mummyEnum, 0, 0).setRepairItem(AtumIDS.ITEM_SCRAP_ID).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyHelmet").setTextureName("atum:MummyHelmet"); + public static final Item mummyChest = new ItemTexturedArmor(AtumIDS.ITEM_MUMMYCHEST_ID, mummyEnum, 0, 1).setRepairItem(AtumIDS.ITEM_SCRAP_ID).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyChest").setTextureName("atum:MummyChest"); + public static final Item mummyLegs = new ItemTexturedArmor(AtumIDS.ITEM_MUMMYLEGS_ID, mummyEnum, 0, 2).setRepairItem(AtumIDS.ITEM_SCRAP_ID).setTextureFile("MummyArmor_2").setUnlocalizedName("mummyLegs").setTextureName("atum:MummyLegs"); + public static final Item mummyBoots = new ItemTexturedArmor(AtumIDS.ITEM_MUMMYBOOTS_ID, mummyEnum, 0, 3).setRepairItem(AtumIDS.ITEM_SCRAP_ID).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyBoots").setTextureName("atum:MummyBoots"); private static EnumArmorMaterial wandererEnum = EnumHelper.addArmorMaterial("Wanderer", 10, new int[]{2, 3, 3, 2}, 15); - public static final Item wandererHelmet = new ItemTexturedArmor(AtumIDS.ITEM_WANDERERHELMET_ID, wandererEnum, 0, 0).setRepairItem(AtumIDS.ITEM_LINEN_ID).setTextureFile("WandererArmor_1").setUnlocalizedName("atum:wandererHelmet").setTextureName("atum:WandererHelmet"); - public static final Item wandererChest = new ItemTexturedArmor(AtumIDS.ITEM_WANDERERCHEST_ID, wandererEnum, 0, 1).setRepairItem(AtumIDS.ITEM_LINEN_ID).setTextureFile("WandererArmor_1").setUnlocalizedName("atum:wandererChest").setTextureName("atum:WandererChest"); - public static final Item wandererLegs = new ItemTexturedArmor(AtumIDS.ITEM_WANDERERLEGS_ID, wandererEnum, 0, 2).setRepairItem(AtumIDS.ITEM_LINEN_ID).setTextureFile("WandererArmor_2").setUnlocalizedName("atum:wandererLegs").setTextureName("atum:WandererLegs"); - public static final Item wandererBoots = new ItemTexturedArmor(AtumIDS.ITEM_WANDERERBOOTS_ID, wandererEnum, 0, 3).setRepairItem(AtumIDS.ITEM_LINEN_ID).setTextureFile("WandererArmor_1").setUnlocalizedName("atum:wandererBoots").setTextureName("atum:WandererBoots"); + public static final Item wandererHelmet = new ItemTexturedArmor(AtumIDS.ITEM_WANDERERHELMET_ID, wandererEnum, 0, 0).setRepairItem(AtumIDS.ITEM_LINEN_ID).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererHelmet").setTextureName("atum:WandererHelmet"); + public static final Item wandererChest = new ItemTexturedArmor(AtumIDS.ITEM_WANDERERCHEST_ID, wandererEnum, 0, 1).setRepairItem(AtumIDS.ITEM_LINEN_ID).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererChest").setTextureName("atum:WandererChest"); + public static final Item wandererLegs = new ItemTexturedArmor(AtumIDS.ITEM_WANDERERLEGS_ID, wandererEnum, 0, 2).setRepairItem(AtumIDS.ITEM_LINEN_ID).setTextureFile("WandererArmor_2").setUnlocalizedName("wandererLegs").setTextureName("atum:WandererLegs"); + public static final Item wandererBoots = new ItemTexturedArmor(AtumIDS.ITEM_WANDERERBOOTS_ID, wandererEnum, 0, 3).setRepairItem(AtumIDS.ITEM_LINEN_ID).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererBoots").setTextureName("atum:WandererBoots"); private static EnumArmorMaterial desertEnum = EnumHelper.addArmorMaterial("Desert", 20, new int[]{3, 6, 5, 3}, 15); - public static final Item desertHelmet = new ItemTexturedArmor(AtumIDS.ITEM_DESERTHELMET_ID, desertEnum, 0, 0).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("atum:desertHelmet").setTextureName("atum:DesertHelmet"); - public static final Item desertChest = new ItemTexturedArmor(AtumIDS.ITEM_DESERTCHEST_ID, desertEnum, 0, 1).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("atum:desertChest").setTextureName("atum:DesertChest"); - public static final Item desertLegs = new ItemTexturedArmor(AtumIDS.ITEM_DESERTLEGS_ID, desertEnum, 0, 2).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_2").setUnlocalizedName("atum:desertLegs").setTextureName("atum:DesertLegs"); - public static final Item desertBoots = new ItemTexturedArmor(AtumIDS.ITEM_DESERTBOOTS_ID, desertEnum, 0, 3).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("atum:desertBoots").setTextureName("atum:DesertBoots"); - public static final Item papyrusPlant = new ItemPapyrusPlant(AtumIDS.ITEM_PAPYRUSPLANT_ID, AtumBlocks.BLOCK_PAPYRUS).setUnlocalizedName("atum:papyrusPlantItem"); - public static final Item ectoplasm = new Item(AtumIDS.ITEM_ECTOPLASM_ID).setUnlocalizedName("atum:ectoplasm").setTextureName("atum:Ectoplasm"); - public static final Item stoneChunk = new Item(AtumIDS.ITEM_STONECHUNK_ID).setUnlocalizedName("atum:stoneChunk").setTextureName("atum:StoneChunk"); - public static final Item scrap = new Item(AtumIDS.ITEM_SCRAP_ID).setUnlocalizedName("atum:clothScrap").setTextureName("atum:ClothScrap"); - public static final Item scroll = new Item(AtumIDS.ITEM_SCROLL_ID).setUnlocalizedName("atum:scroll").setTextureName("atum:Scroll"); - public static final Item pelt = new Item(AtumIDS.ITEM_PELT_ID).setUnlocalizedName("atum:wolfPelt").setTextureName("atum:WolfPelt"); - public static final Item linen = new Item(AtumIDS.ITEM_LINEN_ID).setUnlocalizedName("atum:linen").setTextureName("atum:Linen"); - public static final Item flax = new Item(AtumIDS.ITEM_FLAX_ID).setUnlocalizedName("atum:flaxItem").setTextureName("atum:FlaxItem"); - public static final Item flaxSeeds = new ItemSeeds(AtumIDS.ITEM_FLAXSEEDS_ID, AtumBlocks.BLOCK_FLAX.blockID, Block.tilledField.blockID).setUnlocalizedName("atum:flaxSeeds").setTextureName("atum:FlaxSeeds"); - public static final Item fish = new ItemFish(AtumIDS.ITEM_FISH_ID).setUnlocalizedName("atum:fish"); - public static final Item neithsAudacity = new ItemNeithsAudacity(AtumIDS.ITEM_NEITHSAUDACITY_ID).setUnlocalizedName("atum:neithsAudacity"); + public static final Item desertHelmet = new ItemTexturedArmor(AtumIDS.ITEM_DESERTHELMET_ID, desertEnum, 0, 0).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("desertHelmet").setTextureName("atum:DesertHelmet"); + public static final Item desertChest = new ItemTexturedArmor(AtumIDS.ITEM_DESERTCHEST_ID, desertEnum, 0, 1).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("desertChest").setTextureName("atum:DesertChest"); + public static final Item desertLegs = new ItemTexturedArmor(AtumIDS.ITEM_DESERTLEGS_ID, desertEnum, 0, 2).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_2").setUnlocalizedName("desertLegs").setTextureName("atum:DesertLegs"); + public static final Item desertBoots = new ItemTexturedArmor(AtumIDS.ITEM_DESERTBOOTS_ID, desertEnum, 0, 3).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("desertBoots").setTextureName("atum:DesertBoots"); + public static final Item papyrusPlant = new ItemPapyrusPlant(AtumIDS.ITEM_PAPYRUSPLANT_ID, AtumBlocks.BLOCK_PAPYRUS).setUnlocalizedName("papyrusPlant"); + public static final Item ectoplasm = new Item(AtumIDS.ITEM_ECTOPLASM_ID).setUnlocalizedName("ectoplasm").setTextureName("atum:Ectoplasm"); + public static final Item stoneChunk = new Item(AtumIDS.ITEM_STONECHUNK_ID).setUnlocalizedName("stoneChunk").setTextureName("atum:StoneChunk"); + public static final Item scrap = new Item(AtumIDS.ITEM_SCRAP_ID).setUnlocalizedName("clothScrap").setTextureName("atum:ClothScrap"); + public static final Item scroll = new Item(AtumIDS.ITEM_SCROLL_ID).setUnlocalizedName("scroll").setTextureName("atum:Scroll"); + public static final Item pelt = new Item(AtumIDS.ITEM_PELT_ID).setUnlocalizedName("wolfPelt").setTextureName("atum:WolfPelt"); + public static final Item linen = new Item(AtumIDS.ITEM_LINEN_ID).setUnlocalizedName("linen").setTextureName("atum:Linen"); + public static final Item flax = new Item(AtumIDS.ITEM_FLAX_ID).setUnlocalizedName("flax").setTextureName("atum:FlaxItem"); + public static final Item flaxSeeds = new ItemSeeds(AtumIDS.ITEM_FLAXSEEDS_ID, AtumBlocks.BLOCK_FLAX.blockID, Block.tilledField.blockID).setUnlocalizedName("flaxSeeds").setTextureName("atum:FlaxSeeds"); + public static final Item fish = new ItemFish(AtumIDS.ITEM_FISH_ID).setUnlocalizedName("fish"); + public static final Item neithsAudacity = new ItemNeithsAudacity(AtumIDS.ITEM_NEITHSAUDACITY_ID).setUnlocalizedName("neithsAudacity"); public void registerItems() { this.register(ITEM_SCARAB); @@ -185,29 +183,11 @@ public void registerItems() { this.register(flaxSeeds); this.register(fish); this.register(neithsAudacity); - - this.addLanguages(); } private void register(Item item) { GameRegistry.registerItem(item, item.getUnlocalizedName()); - this.name(item, item.getUnlocalizedName().split(":")[1]); item.setCreativeTab(Atum.creativeTab); } - private void name(Item item, String tag) { - LanguageRegistry.addName(item, LocalizationHelper.localize("item." + tag + ".name")); - } - - private void name(ItemStack item, String tag) { - LanguageRegistry.addName(item, LocalizationHelper.localize("item." + tag + ".name")); - } - - private void addLanguages() { - name(new ItemStack(fish, 1, 0), "fish1"); - name(new ItemStack(fish, 1, 1), "fish2"); - name(new ItemStack(fish, 1, 2), "fish3"); - name(new ItemStack(fish, 1, 3), "fish4"); - } - } diff --git a/src/com/teammetallurgy/atum/items/ItemFish.java b/src/com/teammetallurgy/atum/items/ItemFish.java index e730371..85556b5 100644 --- a/src/com/teammetallurgy/atum/items/ItemFish.java +++ b/src/com/teammetallurgy/atum/items/ItemFish.java @@ -30,7 +30,7 @@ public Icon getIconFromDamage(int par1) { @Override public String getUnlocalizedName(ItemStack par1ItemStack) { - return super.getUnlocalizedName() + "." + par1ItemStack.getItemDamage(); + return this.getUnlocalizedName() + "." + par1ItemStack.getItemDamage(); } @Override diff --git a/src/com/teammetallurgy/atum/items/ItemLoot.java b/src/com/teammetallurgy/atum/items/ItemLoot.java index d36e1e6..0743c65 100644 --- a/src/com/teammetallurgy/atum/items/ItemLoot.java +++ b/src/com/teammetallurgy/atum/items/ItemLoot.java @@ -11,10 +11,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.Icon; import net.minecraft.util.MathHelper; - -import com.teammetallurgy.atum.Atum; -import com.teammetallurgy.atum.LocalizationHelper; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -37,19 +33,15 @@ public static ItemStack getRandomLoot(Random rand, boolean isDirty) { } @Override - public String getItemDisplayName(ItemStack par1ItemStack) { - int dirty = par1ItemStack.getItemDamage() & 1; + public String getUnlocalizedName(ItemStack par1ItemStack) { int quality = par1ItemStack.getItemDamage() >> 1 & 15; - int type = par1ItemStack.getItemDamage() >> 5 & 15; - return dirty == 1 ? "Dirty " + typeArray[type] : qualityArray[quality] + " " + typeArray[type]; + return super.getUnlocalizedName() + "." + qualityArray[quality]; } @Override - public String getUnlocalizedName(ItemStack par1ItemStack) { - int dirty = par1ItemStack.getItemDamage() & 1; - int quality = par1ItemStack.getItemDamage() >> 1 & 15; + public String getItemDisplayName(ItemStack par1ItemStack) { int type = par1ItemStack.getItemDamage() >> 5 & 15; - return dirty == 1 ? LocalizationHelper.localize(this.getUnlocalizedName().split(":")[1] + ".dirty" + typeArray[type]) : LocalizationHelper.localize(this.getUnlocalizedName().split(":")[1] + "." + qualityArray[quality] + typeArray[type]); + return super.getItemDisplayName(par1ItemStack) + " " + typeArray[type]; } @Override diff --git a/src/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java b/src/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java index 43182bf..f8b10ce 100644 --- a/src/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java +++ b/src/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java @@ -1,7 +1,5 @@ package com.teammetallurgy.atum.worldgen; -import java.nio.ByteBuffer; -import java.nio.ByteOrder; import java.util.List; import java.util.Random; @@ -19,24 +17,15 @@ import net.minecraft.world.gen.MapGenBase; import net.minecraft.world.gen.MapGenRavine; import net.minecraft.world.gen.NoiseGeneratorOctaves; -import net.minecraft.world.gen.feature.MapGenScatteredFeature; -import net.minecraft.world.gen.feature.WorldGenLakes; -import net.minecraft.world.gen.structure.MapGenMineshaft; -import net.minecraft.world.gen.structure.MapGenStronghold; -import net.minecraft.world.gen.structure.MapGenVillage; import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.Event; import net.minecraftforge.event.Event.Result; -import net.minecraftforge.event.terraingen.ChunkProviderEvent.InitNoiseField; +import net.minecraftforge.event.terraingen.ChunkProviderEvent; import net.minecraftforge.event.terraingen.InitMapGenEvent.EventType; -import net.minecraftforge.event.terraingen.PopulateChunkEvent.Post; -import net.minecraftforge.event.terraingen.PopulateChunkEvent.Pre; +import net.minecraftforge.event.terraingen.PopulateChunkEvent; import net.minecraftforge.event.terraingen.TerrainGen; -import com.teammetallurgy.atum.blocks.AtumBlocks; -import com.teammetallurgy.atum.worldgen.biome.BiomeGenAtumDesert; - public class AtumChunkProvider implements IChunkProvider { - private Random rand; private NoiseGeneratorOctaves noiseGen1; private NoiseGeneratorOctaves noiseGen2; @@ -46,11 +35,10 @@ public class AtumChunkProvider implements IChunkProvider { public NoiseGeneratorOctaves noiseGen6; public NoiseGeneratorOctaves mobSpawnerNoise; private World worldObj; - private final boolean mapFeaturesEnabled; private double[] noiseArray; private double[] stoneNoise = new double[256]; private MapGenBase caveGenerator = new AtumMapGenCaves(); - private MapGenScatteredFeature scatteredFeatureGenerator = new MapGenScatteredFeature(); + private MapGenBase ravineGenerator = new MapGenRavine(); private BiomeGenBase[] biomesForGeneration; double[] noise3; double[] noise1; @@ -59,11 +47,9 @@ public class AtumChunkProvider implements IChunkProvider { double[] noise6; float[] parabolicField; - public AtumChunkProvider(World par1World, long par2, boolean par4) { + public AtumChunkProvider(World par1World, long par2) { this.caveGenerator = TerrainGen.getModdedMapGen(this.caveGenerator, EventType.CAVE); - this.scatteredFeatureGenerator = (MapGenScatteredFeature) TerrainGen.getModdedMapGen(this.scatteredFeatureGenerator, EventType.SCATTERED_FEATURE); this.worldObj = par1World; - this.mapFeaturesEnabled = par4; this.rand = new Random(par2); this.noiseGen1 = new NoiseGeneratorOctaves(this.rand, 16); this.noiseGen2 = new NoiseGeneratorOctaves(this.rand, 16); @@ -83,7 +69,7 @@ public AtumChunkProvider(World par1World, long par2, boolean par4) { this.mobSpawnerNoise = noiseGens[6]; } - public void generateTerrain(int par1, int par2, short[] par3ArrayOfByte) { + public void generateTerrain(int par1, int par2, byte[] par3ArrayOfByte) { byte b0 = 4; byte b1 = 16; byte b2 = 63; @@ -91,45 +77,49 @@ public void generateTerrain(int par1, int par2, short[] par3ArrayOfByte) { byte b3 = 17; int l = b0 + 1; this.biomesForGeneration = this.worldObj.getWorldChunkManager().getBiomesForGeneration(this.biomesForGeneration, par1 * 4 - 2, par2 * 4 - 2, k + 5, l + 5); - this.noiseArray = this.initializeNoiseField(this.noiseArray, par1 * b0, 0, par2 * b0, k, b3, l); + this.noiseArray = initializeNoiseField(this.noiseArray, par1 * b0, 0, par2 * b0, k, b3, l); - for(int x1 = 0; x1 < b0; ++x1) { - for(int z1 = 0; z1 < b0; ++z1) { - for(int y1 = 0; y1 < b1; ++y1) { + for(int i1 = 0; i1 < b0; i1++) { + for(int j1 = 0; j1 < b0; j1++) { + for(int k1 = 0; k1 < b1; k1++) { double d0 = 0.125D; - double d1 = this.noiseArray[((x1 + 0) * l + z1 + 0) * b3 + y1 + 0]; - double d2 = this.noiseArray[((x1 + 0) * l + z1 + 1) * b3 + y1 + 0]; - double d3 = this.noiseArray[((x1 + 1) * l + z1 + 0) * b3 + y1 + 0]; - double d4 = this.noiseArray[((x1 + 1) * l + z1 + 1) * b3 + y1 + 0]; - double d5 = (this.noiseArray[((x1 + 0) * l + z1 + 0) * b3 + y1 + 1] - d1) * d0; - double d6 = (this.noiseArray[((x1 + 0) * l + z1 + 1) * b3 + y1 + 1] - d2) * d0; - double d7 = (this.noiseArray[((x1 + 1) * l + z1 + 0) * b3 + y1 + 1] - d3) * d0; - double d8 = (this.noiseArray[((x1 + 1) * l + z1 + 1) * b3 + y1 + 1] - d4) * d0; - - for(int y2 = 0; y2 < 8; ++y2) { + double d1 = this.noiseArray[(((i1 + 0) * l + j1 + 0) * b3 + k1 + 0)]; + double d2 = this.noiseArray[(((i1 + 0) * l + j1 + 1) * b3 + k1 + 0)]; + double d3 = this.noiseArray[(((i1 + 1) * l + j1 + 0) * b3 + k1 + 0)]; + double d4 = this.noiseArray[(((i1 + 1) * l + j1 + 1) * b3 + k1 + 0)]; + double d5 = (this.noiseArray[(((i1 + 0) * l + j1 + 0) * b3 + k1 + 1)] - d1) * d0; + double d6 = (this.noiseArray[(((i1 + 0) * l + j1 + 1) * b3 + k1 + 1)] - d2) * d0; + double d7 = (this.noiseArray[(((i1 + 1) * l + j1 + 0) * b3 + k1 + 1)] - d3) * d0; + double d8 = (this.noiseArray[(((i1 + 1) * l + j1 + 1) * b3 + k1 + 1)] - d4) * d0; + + for(int l1 = 0; l1 < 8; l1++) { + double d9 = 0.25D; double d10 = d1; double d11 = d2; - double d12 = (d3 - d1) * 0.25D; - double d13 = (d4 - d2) * 0.25D; - - for(int x2 = 0; x2 < 4; ++x2) { - int index = y1 * 8 + y2 << 8 | 0 + z1 * 4 << 4 | x2 + x1 * 4; - byte dy = 16; - index -= dy; - double d15 = (d11 - d10) * 0.25D; + double d12 = (d3 - d1) * d9; + double d13 = (d4 - d2) * d9; + + for(int i2 = 0; i2 < 4; i2++) { + int j2 = i2 + i1 * 4 << 11 | 0 + j1 * 4 << 7 | k1 * 8 + l1; + short short1 = 128; + j2 -= short1; + double d14 = 0.25D; + double d15 = (d11 - d10) * d14; double d16 = d10 - d15; - for(int n = 0; n < 4; ++n) { + for(int k2 = 0; k2 < 4; k2++) { if((d16 += d15) > 0.0D) { - if(index + dy < par3ArrayOfByte.length) { - par3ArrayOfByte[index += dy] = (short) AtumBlocks.BLOCK_STONE.blockID; - } - } else if(y1 * 8 + y2 < b2) { - if(index + dy < par3ArrayOfByte.length) { - par3ArrayOfByte[index += dy] = (short) AtumBlocks.BLOCK_STONE.blockID; - } - } else if(index + dy < par3ArrayOfByte.length) { - par3ArrayOfByte[index += dy] = 0; + int temp = (j2 + short1); + j2 = temp; + par3ArrayOfByte[temp] = (byte) Block.stone.blockID; + } else if(k1 * 8 + l1 < b2) { + int temp = (j2 + short1); + j2 = temp; + par3ArrayOfByte[temp] = 3; + } else { + int temp = (j2 + short1); + j2 = temp; + par3ArrayOfByte[temp] = 0; } } @@ -145,53 +135,61 @@ public void generateTerrain(int par1, int par2, short[] par3ArrayOfByte) { } } } - } - public void replaceBlocksForBiome(int par1, int par2, short[] par3ArrayOfByte, BiomeGenBase[] par4ArrayOfBiomeGenBase) { + public void replaceBlocksForBiome(int par1, int par2, byte[] par3ArrayOfByte, BiomeGenBase[] par4ArrayOfBiomeGenBase) { + ChunkProviderEvent.ReplaceBiomeBlocks event = new ChunkProviderEvent.ReplaceBiomeBlocks(this, par1, par2, par3ArrayOfByte, par4ArrayOfBiomeGenBase); + MinecraftForge.EVENT_BUS.post(event); + if(event.getResult() == Event.Result.DENY) + return; + byte b0 = 63; double d0 = 0.03125D; this.stoneNoise = this.noiseGen4.generateNoiseOctaves(this.stoneNoise, par1 * 16, par2 * 16, 0, 16, 16, 1, d0 * 2.0D, d0 * 2.0D, d0 * 2.0D); - for(int z = 0; z < 16; ++z) { - for(int x = 0; x < 16; ++x) { - BiomeGenBase biomegenbase = par4ArrayOfBiomeGenBase[x + z * 16]; + for(int k = 0; k < 16; k++) { + for(int l = 0; l < 16; l++) { + BiomeGenBase biomegenbase = par4ArrayOfBiomeGenBase[(l + k * 16)]; float f = biomegenbase.getFloatTemperature(); - int i1 = (int) (this.stoneNoise[z + x * 16] / 3.0D + 3.0D + this.rand.nextDouble() * 0.25D); + int i1 = (int) (this.stoneNoise[(k + l * 16)] / 3.0D + 3.0D + this.rand.nextDouble() * 0.25D); int j1 = -1; - short b1 = ((BiomeGenAtumDesert) biomegenbase).sTopBlock; - short b2 = ((BiomeGenAtumDesert) biomegenbase).sFillerBlock; + byte b1 = biomegenbase.topBlock; + byte b2 = biomegenbase.fillerBlock; + + for(int k1 = 127; k1 >= 0; k1--) { + int l1 = (l * 16 + k) * 128 + k1; - for(int y = 127; y >= 0; --y) { - int l1 = y << 8 | z << 4 | x; - if(y <= 0 + this.rand.nextInt(5)) { - par3ArrayOfByte[l1] = (short) ((byte) Block.bedrock.blockID); + if(k1 <= 0) { + par3ArrayOfByte[l1] = ((byte) Block.bedrock.blockID); } else { - short b3 = par3ArrayOfByte[l1]; + byte b3 = par3ArrayOfByte[l1]; + if(b3 == 0) { j1 = -1; - } else if(b3 == AtumBlocks.BLOCK_STONE.blockID) { + } else if(b3 == Block.stone.blockID) { if(j1 == -1) { if(i1 <= 0) { b1 = 0; - b2 = (short) AtumBlocks.BLOCK_STONE.blockID; - } else if(y >= b0 - 4 && y <= b0 + 1) { - b1 = ((BiomeGenAtumDesert) biomegenbase).sTopBlock; - b2 = ((BiomeGenAtumDesert) biomegenbase).sFillerBlock; + b2 = (byte) Block.stone.blockID; + } else if((k1 >= b0 - 4) && (k1 <= b0 + 1)) { + b1 = biomegenbase.topBlock; + b2 = biomegenbase.fillerBlock; } j1 = i1; - if(y >= b0 - 1) { + + if(k1 >= b0 - 1) { par3ArrayOfByte[l1] = b1; } else { par3ArrayOfByte[l1] = b2; } } else if(j1 > 0) { - --j1; + j1--; par3ArrayOfByte[l1] = b2; - if(j1 == 0 && b2 == AtumBlocks.BLOCK_SAND.blockID) { + + if((j1 == 0) && (b2 == Block.sand.blockID)) { j1 = this.rand.nextInt(4); - b2 = (short) AtumBlocks.BLOCK_STONE.blockID; + b2 = (byte) Block.sandStone.blockID; } } } @@ -199,169 +197,138 @@ public void replaceBlocksForBiome(int par1, int par2, short[] par3ArrayOfByte, B } } } - } - @Override public Chunk loadChunk(int par1, int par2) { - return this.provideChunk(par1, par2); + return provideChunk(par1, par2); } - @Override - public Chunk provideChunk(int x, int z) { - this.rand.setSeed((long) x * 341873128712L + (long) z * 132897987541L); - short[] abyte = new short['\u8000']; - this.generateTerrain(x, z, abyte); - this.biomesForGeneration = this.worldObj.getWorldChunkManager().loadBlockGeneratorData(this.biomesForGeneration, x * 16, z * 16, 16, 16); - this.replaceBlocksForBiome(x, z, abyte, this.biomesForGeneration); - - ByteBuffer buffer = ByteBuffer.allocate(abyte.length * 2); - buffer.order(ByteOrder.LITTLE_ENDIAN); - buffer.asShortBuffer().put(abyte); - - caveGenerator.generate(this, worldObj, x, z, buffer.array()); - - Chunk chunk = new Chunk(this.worldObj, abyte, new byte['\u8000'], x, z); + public Chunk provideChunk(int par1, int par2) { + this.rand.setSeed(par1 * 341873128712L + par2 * 132897987541L); + byte[] abyte = new byte[32768]; + generateTerrain(par1, par2, abyte); + this.biomesForGeneration = this.worldObj.getWorldChunkManager().loadBlockGeneratorData(this.biomesForGeneration, par1 * 16, par2 * 16, 16, 16); + replaceBlocksForBiome(par1, par2, abyte, this.biomesForGeneration); + this.caveGenerator.generate(this, this.worldObj, par1, par2, abyte); + this.ravineGenerator.generate(this, this.worldObj, par1, par2, abyte); + Chunk chunk = new Chunk(this.worldObj, abyte, par1, par2); byte[] abyte1 = chunk.getBiomeArray(); - for(int k = 0; k < abyte1.length; ++k) { - abyte1[k] = (byte) this.biomesForGeneration[k].biomeID; + abyte1[k] = ((byte) this.biomesForGeneration[k].biomeID); } - chunk.generateSkylightMap(); return chunk; } private double[] initializeNoiseField(double[] par1ArrayOfDouble, int par2, int par3, int par4, int par5, int par6, int par7) { - InitNoiseField event = new InitNoiseField(this, par1ArrayOfDouble, par2, par3, par4, par5, par6, par7); + ChunkProviderEvent.InitNoiseField event = new ChunkProviderEvent.InitNoiseField(this, par1ArrayOfDouble, par2, par3, par4, par5, par6, par7); MinecraftForge.EVENT_BUS.post(event); - if(event.getResult() == Result.DENY) { + if(event.getResult() == Result.DENY) return event.noisefield; - } else { - if(par1ArrayOfDouble == null) { - par1ArrayOfDouble = new double[par5 * par6 * par7]; - } - - if(this.parabolicField == null) { - this.parabolicField = new float[25]; - - for(int d0 = -2; d0 <= 2; ++d0) { - for(int l1 = -2; l1 <= 2; ++l1) { - float d1 = 10.0F / MathHelper.sqrt_float((float) (d0 * d0 + l1 * l1) + 0.2F); - this.parabolicField[d0 + 2 + (l1 + 2) * 5] = d1; - } + if(par1ArrayOfDouble == null) { + par1ArrayOfDouble = new double[par5 * par6 * par7]; + } + if(this.parabolicField == null) { + this.parabolicField = new float[25]; + for(int d0 = -2; d0 <= 2; ++d0) { + for(int l1 = -2; l1 <= 2; ++l1) { + float d1 = 10.0F / MathHelper.sqrt_float((float) (d0 * d0 + l1 * l1) + 0.2F); + this.parabolicField[d0 + 2 + (l1 + 2) * 5] = d1; } } - - double var45 = 684.412D; - double var46 = 684.412D; - this.noise5 = this.noiseGen5.generateNoiseOctaves(this.noise5, par2, par4, par5, par7, 1.121D, 1.121D, 0.5D); - this.noise6 = this.noiseGen6.generateNoiseOctaves(this.noise6, par2, par4, par5, par7, 200.0D, 200.0D, 0.5D); - this.noise3 = this.noiseGen3.generateNoiseOctaves(this.noise3, par2, par3, par4, par5, par6, par7, var45 / 80.0D, var46 / 160.0D, var45 / 80.0D); - this.noise1 = this.noiseGen1.generateNoiseOctaves(this.noise1, par2, par3, par4, par5, par6, par7, var45, var46, var45); - this.noise2 = this.noiseGen2.generateNoiseOctaves(this.noise2, par2, par3, par4, par5, par6, par7, var45, var46, var45); - boolean flag = false; - boolean flag1 = false; - int i2 = 0; - int j2 = 0; - - for(int k2 = 0; k2 < par5; ++k2) { - for(int l2 = 0; l2 < par7; ++l2) { - float f1 = 0.0F; - float f2 = 0.0F; - float f3 = 0.0F; - byte b0 = 2; - BiomeGenBase biomegenbase = this.biomesForGeneration[k2 + 2 + (l2 + 2) * (par5 + 5)]; - - for(int d2 = -b0; d2 <= b0; ++d2) { - for(int j3 = -b0; j3 <= b0; ++j3) { - BiomeGenBase k3 = this.biomesForGeneration[k2 + d2 + 2 + (l2 + j3 + 2) * (par5 + 5)]; - float d3 = this.parabolicField[d2 + 2 + (j3 + 2) * 5] / (k3.minHeight + 2.0F); - if(k3.minHeight > biomegenbase.minHeight) { - d3 /= 2.0F; - } - - f1 += k3.maxHeight * d3; - f2 += k3.minHeight * d3; - f3 += d3; + } + double var45 = 684.412D; + double var46 = 684.412D; + this.noise5 = this.noiseGen5.generateNoiseOctaves(this.noise5, par2, par4, par5, par7, 1.121D, 1.121D, 0.5D); + this.noise6 = this.noiseGen6.generateNoiseOctaves(this.noise6, par2, par4, par5, par7, 200.0D, 200.0D, 0.5D); + this.noise3 = this.noiseGen3.generateNoiseOctaves(this.noise3, par2, par3, par4, par5, par6, par7, var45 / 80.0D, var46 / 160.0D, var45 / 80.0D); + this.noise1 = this.noiseGen1.generateNoiseOctaves(this.noise1, par2, par3, par4, par5, par6, par7, var45, var46, var45); + this.noise2 = this.noiseGen2.generateNoiseOctaves(this.noise2, par2, par3, par4, par5, par6, par7, var45, var46, var45); + boolean flag = false; + boolean flag1 = false; + int i2 = 0; + int j2 = 0; + for(int k2 = 0; k2 < par5; ++k2) { + for(int l2 = 0; l2 < par7; ++l2) { + float f1 = 0.0F; + float f2 = 0.0F; + float f3 = 0.0F; + byte b0 = 2; + BiomeGenBase biomegenbase = this.biomesForGeneration[k2 + 2 + (l2 + 2) * (par5 + 5)]; + for(int d2 = -b0; d2 <= b0; ++d2) { + for(int j3 = -b0; j3 <= b0; ++j3) { + BiomeGenBase k3 = this.biomesForGeneration[k2 + d2 + 2 + (l2 + j3 + 2) * (par5 + 5)]; + float d3 = this.parabolicField[d2 + 2 + (j3 + 2) * 5] / (k3.minHeight + 2.0F); + if(k3.minHeight > biomegenbase.minHeight) { + d3 /= 2.0F; } + f1 += k3.maxHeight * d3; + f2 += k3.minHeight * d3; + f3 += d3; } - - f1 /= f3; - f2 /= f3; - f1 = f1 * 0.9F + 0.1F; - f2 = (f2 * 4.0F - 1.0F) / 8.0F; - double var47 = this.noise6[j2] / 8000.0D; - if(var47 < 0.0D) { - var47 = -var47 * 0.3D; + } + f1 /= f3; + f2 /= f3; + f1 = f1 * 0.9F + 0.1F; + f2 = (f2 * 4.0F - 1.0F) / 8.0F; + double var47 = this.noise6[j2] / 8000.0D; + if(var47 < 0.0D) { + var47 = -var47 * 0.3D; + } + var47 = var47 * 3.0D - 2.0D; + if(var47 < 0.0D) { + var47 /= 2.0D; + if(var47 < -1.0D) { + var47 = -1.0D; } - - var47 = var47 * 3.0D - 2.0D; - if(var47 < 0.0D) { - var47 /= 2.0D; - if(var47 < -1.0D) { - var47 = -1.0D; - } - - var47 /= 1.4D; - var47 /= 2.0D; + var47 /= 1.4D; + var47 /= 2.0D; + } else { + if(var47 > 1.0D) { + var47 = 1.0D; + } + var47 /= 8.0D; + } + ++j2; + for(int var49 = 0; var49 < par6; ++var49) { + double var48 = (double) f2; + double d4 = (double) f1; + var48 += var47 * 0.2D; + var48 = var48 * (double) par6 / 16.0D; + double d5 = (double) par6 / 2.0D + var48 * 4.0D; + double d6 = 0.0D; + double d7 = ((double) var49 - d5) * 12.0D * 128.0D / 128.0D / d4; + if(d7 < 0.0D) { + d7 *= 4.0D; + } + double d8 = this.noise1[i2] / 512.0D; + double d9 = this.noise2[i2] / 512.0D; + double d10 = (this.noise3[i2] / 10.0D + 1.0D) / 2.0D; + if(d10 < 0.0D) { + d6 = d8; + } else if(d10 > 1.0D) { + d6 = d9; } else { - if(var47 > 1.0D) { - var47 = 1.0D; - } - - var47 /= 8.0D; + d6 = d8 + (d9 - d8) * d10; } - - ++j2; - - for(int var49 = 0; var49 < par6; ++var49) { - double var48 = (double) f2; - double d4 = (double) f1; - var48 += var47 * 0.2D; - var48 = var48 * (double) par6 / 16.0D; - double d5 = (double) par6 / 2.0D + var48 * 4.0D; - double d6 = 0.0D; - double d7 = ((double) var49 - d5) * 12.0D * 128.0D / 128.0D / d4; - if(d7 < 0.0D) { - d7 *= 4.0D; - } - - double d8 = this.noise1[i2] / 512.0D; - double d9 = this.noise2[i2] / 512.0D; - double d10 = (this.noise3[i2] / 10.0D + 1.0D) / 2.0D; - if(d10 < 0.0D) { - d6 = d8; - } else if(d10 > 1.0D) { - d6 = d9; - } else { - d6 = d8 + (d9 - d8) * d10; - } - - d6 -= d7; - if(var49 > par6 - 4) { - double d11 = (double) ((float) (var49 - (par6 - 4)) / 3.0F); - d6 = d6 * (1.0D - d11) + -10.0D * d11; - } - - par1ArrayOfDouble[i2] = d6; - ++i2; + d6 -= d7; + if(var49 > par6 - 4) { + double d11 = (double) ((float) (var49 - (par6 - 4)) / 3.0F); + d6 = d6 * (1.0D - d11) + -10.0D * d11; } + par1ArrayOfDouble[i2] = d6; + ++i2; } } - - return par1ArrayOfDouble; } + return par1ArrayOfDouble; } - @Override public boolean chunkExists(int par1, int par2) { return true; } - @Override public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) { - long time = System.currentTimeMillis(); BlockSand.fallInstantly = true; int k = par2 * 16; int l = par3 * 16; @@ -369,72 +336,49 @@ public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) { this.rand.setSeed(this.worldObj.getSeed()); long i1 = this.rand.nextLong() / 2L * 2L + 1L; long j1 = this.rand.nextLong() / 2L * 2L + 1L; - this.rand.setSeed((long) par2 * i1 + (long) par3 * j1 ^ this.worldObj.getSeed()); + this.rand.setSeed(par2 * i1 + par3 * j1 ^ this.worldObj.getSeed()); boolean flag = false; - MinecraftForge.EVENT_BUS.post(new Pre(par1IChunkProvider, this.worldObj, this.rand, par2, par3, flag)); - if(TerrainGen.populate(par1IChunkProvider, this.worldObj, this.rand, par2, par3, flag, net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.LAVA) && !flag && this.rand.nextInt(8) == 0) { - int k1 = k + this.rand.nextInt(16) + 8; - int l1 = this.rand.nextInt(this.rand.nextInt(120) + 8); - int i2 = l + this.rand.nextInt(16) + 8; - if(l1 < 63 || this.rand.nextInt(10) == 0) { - (new WorldGenLakes(Block.lavaStill.blockID)).generate(this.worldObj, this.rand, k1, l1, i2); - } - } - + MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Pre(par1IChunkProvider, this.worldObj, this.rand, par2, par3, flag)); biomegenbase.decorate(this.worldObj, this.rand, k, l); SpawnerAnimals.performWorldGenSpawning(this.worldObj, biomegenbase, k + 8, l + 8, 16, 16, this.rand); k += 8; l += 8; - MinecraftForge.EVENT_BUS.post(new Post(par1IChunkProvider, this.worldObj, this.rand, par2, par3, flag)); + MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Post(par1IChunkProvider, this.worldObj, this.rand, par2, par3, flag)); BlockSand.fallInstantly = false; } - @Override public boolean saveChunks(boolean par1, IProgressUpdate par2IProgressUpdate) { return true; } - @Override + public void saveExtraData() { + } + public boolean unloadQueuedChunks() { return false; } - @Override public boolean canSave() { return true; } - @Override public String makeString() { return "RandomLevelSource"; } - @Override public List getPossibleCreatures(EnumCreatureType par1EnumCreatureType, int par2, int par3, int par4) { BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(par2, par4); - return biomegenbase == null ? null : (biomegenbase == BiomeGenBase.swampland && par1EnumCreatureType == EnumCreatureType.monster && this.scatteredFeatureGenerator.hasStructureAt(par2, par3, par4) ? this.scatteredFeatureGenerator.getScatteredFeatureSpawnList() : biomegenbase.getSpawnableList(par1EnumCreatureType)); + return biomegenbase.getSpawnableList(par1EnumCreatureType); } - @Override public ChunkPosition findClosestStructure(World par1World, String par2Str, int par3, int par4, int par5) { return null; } - @Override public int getLoadedChunkCount() { return 0; } - @Override public void recreateStructures(int par1, int par2) { - if(this.mapFeaturesEnabled) { - this.scatteredFeatureGenerator.generate(this, this.worldObj, par1, par2, (byte[]) null); - } - - } - - @Override - public void saveExtraData() { - } -} +} \ No newline at end of file diff --git a/src/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java b/src/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java index a82e622..8d007ff 100644 --- a/src/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java +++ b/src/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java @@ -5,43 +5,46 @@ import net.minecraft.block.Block; import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import net.minecraft.world.gen.MapGenBase; +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.gen.MapGenCaves; import com.teammetallurgy.atum.blocks.AtumBlocks; -public class AtumMapGenCaves extends MapGenBase { - +public class AtumMapGenCaves extends MapGenCaves { protected void generateLargeCaveNode(long par1, int par3, int par4, byte[] par5ArrayOfByte, double par6, double par8, double par10) { - this.generateCaveNode(par1, par3, par4, par5ArrayOfByte, par6, par8, par10, 1.0F + super.rand.nextFloat() * 6.0F, 0.0F, 0.0F, -1, -1, 0.5D); + generateCaveNode(par1, par3, par4, par5ArrayOfByte, par6, par8, par10, 1.0F + this.rand.nextFloat() * 6.0F, 0.0F, 0.0F, -1, -1, 0.5D); } protected void generateCaveNode(long par1, int par3, int par4, byte[] par5ArrayOfByte, double par6, double par8, double par10, float par12, float par13, float par14, int par15, int par16, double par17) { - double d4 = (double) (par3 * 16 + 8); - double d5 = (double) (par4 * 16 + 8); + double d4 = par3 * 16 + 8; + double d5 = par4 * 16 + 8; float f3 = 0.0F; float f4 = 0.0F; Random random = new Random(par1); + if(par16 <= 0) { - int flag = super.range * 16 - 16; - par16 = flag - random.nextInt(flag / 4); + int j1 = this.range * 16 - 16; + par16 = j1 - random.nextInt(j1 / 4); } - boolean var62 = false; + boolean flag = false; + if(par15 == -1) { par15 = par16 / 2; - var62 = true; + flag = true; } int k1 = random.nextInt(par16 / 2) + par16 / 4; - for(boolean flag1 = random.nextInt(6) == 0; par15 < par16; ++par15) { - double d6 = 1.5D + (double) (MathHelper.sin((float) par15 * 3.1415927F / (float) par16) * par12 * 1.0F); + for(boolean flag1 = random.nextInt(6) == 0; par15 < par16; par15++) { + double d6 = 1.5D + MathHelper.sin(par15 * 3.141593F / par16) * par12 * 1.0F; double d7 = d6 * par17; float f5 = MathHelper.cos(par14); float f6 = MathHelper.sin(par14); - par6 += (double) (MathHelper.cos(par13) * f5); - par8 += (double) f6; - par10 += (double) (MathHelper.sin(par13) * f5); + par6 += MathHelper.cos(par13) * f5; + par8 += f6; + par10 += MathHelper.sin(par13) * f5; + if(flag1) { par14 *= 0.92F; } else { @@ -54,28 +57,31 @@ protected void generateCaveNode(long par1, int par3, int par4, byte[] par5ArrayO f3 *= 0.75F; f4 += (random.nextFloat() - random.nextFloat()) * random.nextFloat() * 2.0F; f3 += (random.nextFloat() - random.nextFloat()) * random.nextFloat() * 4.0F; - if(!var62 && par15 == k1 && par12 > 1.0F && par16 > 0) { - this.generateCaveNode(random.nextLong(), par3, par4, par5ArrayOfByte, par6, par8, par10, random.nextFloat() * 0.5F + 0.5F, par13 - 1.5707964F, par14 / 3.0F, par15, par16, 1.0D); - this.generateCaveNode(random.nextLong(), par3, par4, par5ArrayOfByte, par6, par8, par10, random.nextFloat() * 0.5F + 0.5F, par13 + 1.5707964F, par14 / 3.0F, par15, par16, 1.0D); + + if((!flag) && (par15 == k1) && (par12 > 1.0F) && (par16 > 0)) { + generateCaveNode(random.nextLong(), par3, par4, par5ArrayOfByte, par6, par8, par10, random.nextFloat() * 0.5F + 0.5F, par13 - 1.570796F, par14 / 3.0F, par15, par16, 1.0D); + generateCaveNode(random.nextLong(), par3, par4, par5ArrayOfByte, par6, par8, par10, random.nextFloat() * 0.5F + 0.5F, par13 + 1.570796F, par14 / 3.0F, par15, par16, 1.0D); return; } - if(var62 || random.nextInt(4) != 0) { + if((flag) || (random.nextInt(4) != 0)) { double d8 = par6 - d4; double d9 = par10 - d5; - double d10 = (double) (par16 - par15); - double d11 = (double) (par12 + 2.0F + 16.0F); + double d10 = par16 - par15; + double d11 = par12 + 2.0F + 16.0F; + if(d8 * d8 + d9 * d9 - d10 * d10 > d11 * d11) { return; } - if(par6 >= d4 - 16.0D - d6 * 2.0D && par10 >= d5 - 16.0D - d6 * 2.0D && par6 <= d4 + 16.0D + d6 * 2.0D && par10 <= d5 + 16.0D + d6 * 2.0D) { + if((par6 >= d4 - 16.0D - d6 * 2.0D) && (par10 >= d5 - 16.0D - d6 * 2.0D) && (par6 <= d4 + 16.0D + d6 * 2.0D) && (par10 <= d5 + 16.0D + d6 * 2.0D)) { int l1 = MathHelper.floor_double(par6 - d6) - par3 * 16 - 1; int i2 = MathHelper.floor_double(par6 + d6) - par3 * 16 + 1; int j2 = MathHelper.floor_double(par8 - d7) - 1; int k2 = MathHelper.floor_double(par8 + d7) + 1; int l2 = MathHelper.floor_double(par10 - d6) - par4 * 16 - 1; int i3 = MathHelper.floor_double(par10 + d6) - par4 * 16 + 1; + if(l1 < 0) { l1 = 0; } @@ -102,18 +108,17 @@ protected void generateCaveNode(long par1, int par3, int par4, byte[] par5ArrayO boolean flag2 = false; - int k3; - int j3; - for(j3 = l1; !flag2 && j3 < i2; ++j3) { - for(int d12 = l2; !flag2 && d12 < i3; ++d12) { - for(int i4 = k2 + 1; !flag2 && i4 >= j2 - 1; --i4) { - k3 = (j3 * 16 + d12) * 128 + i4; - if(i4 >= 0 && i4 < 128) { - if(par5ArrayOfByte[k3] == Block.waterMoving.blockID || par5ArrayOfByte[k3] == Block.waterStill.blockID) { + for(int j3 = l1; (!flag2) && (j3 < i2); j3++) { + for(int l3 = l2; (!flag2) && (l3 < i3); l3++) { + for(int i4 = k2 + 1; (!flag2) && (i4 >= j2 - 1); i4--) { + int k3 = (j3 * 16 + l3) * 128 + i4; + + if((i4 >= 0) && (i4 < 128)) { + if(isOceanBlock(par5ArrayOfByte, k3, j3, i4, l3, par3, par4)) { flag2 = true; } - if(i4 != j2 - 1 && j3 != l1 && j3 != i2 - 1 && d12 != l2 && d12 != i3 - 1) { + if((i4 != j2 - 1) && (j3 != l1) && (j3 != i2 - 1) && (l3 != l2) && (l3 != i3 - 1)) { i4 = j2; } } @@ -122,78 +127,107 @@ protected void generateCaveNode(long par1, int par3, int par4, byte[] par5ArrayO } if(!flag2) { - for(j3 = l1; j3 < i2; ++j3) { - double var63 = ((double) (j3 + par3 * 16) + 0.5D - par6) / d6; + for(int j3 = l1; j3 < i2; j3++) { + double d12 = (j3 + par3 * 16 + 0.5D - par6) / d6; - for(k3 = l2; k3 < i3; ++k3) { - double d13 = ((double) (k3 + par4 * 16) + 0.5D - par10) / d6; + for(int k3 = l2; k3 < i3; k3++) { + double d13 = (k3 + par4 * 16 + 0.5D - par10) / d6; int j4 = (j3 * 16 + k3) * 128 + k2; boolean flag3 = false; - if(var63 * var63 + d13 * d13 < 1.0D) { - for(int k4 = k2 - 1; k4 >= j2; --k4) { - double d14 = ((double) k4 + 0.5D - par8) / d7; - if(d14 > -0.7D && var63 * var63 + d14 * d14 + d13 * d13 < 1.0D) { - byte b0 = par5ArrayOfByte[j4]; - if(b0 == Block.grass.blockID) { + + if(d12 * d12 + d13 * d13 < 1.0D) { + for(int k4 = k2 - 1; k4 >= j2; k4--) { + double d14 = (k4 + 0.5D - par8) / d7; + + if((d14 > -0.7D) && (d12 * d12 + d14 * d14 + d13 * d13 < 1.0D)) { + if(isTopBlock(par5ArrayOfByte, j4, j3, k4, k3, par3, par4)) { flag3 = true; } - if(b0 == AtumBlocks.BLOCK_STONE.blockID || b0 == AtumBlocks.BLOCK_SAND.blockID) { - if(k4 < 10) { - par5ArrayOfByte[j4] = (byte) Block.lavaMoving.blockID; - } else { - par5ArrayOfByte[j4] = 0; - if(flag3 && par5ArrayOfByte[j4 - 1] == AtumBlocks.BLOCK_SAND.blockID) { - par5ArrayOfByte[j4 - 1] = super.worldObj.getBiomeGenForCoords(j3 + par3 * 16, k3 + par4 * 16).topBlock; - } - } - } + digBlock(par5ArrayOfByte, j4, j3, k4, k3, par3, par4, flag3); } - --j4; + j4--; } } } } - if(var62) { + if(flag) break; - } } } } } - } - @Override protected void recursiveGenerate(World par1World, int par2, int par3, int par4, int par5, byte[] par6ArrayOfByte) { - int i1 = super.rand.nextInt(super.rand.nextInt(super.rand.nextInt(40) + 1) + 1); - if(super.rand.nextInt(15) != 0) { + int i1 = this.rand.nextInt(this.rand.nextInt(this.rand.nextInt(40) + 1) + 1); + + if(this.rand.nextInt(15) != 0) { i1 = 0; } - for(int j1 = 0; j1 < i1; ++j1) { - double d0 = (double) (par2 * 16 + super.rand.nextInt(16)); - double d1 = (double) super.rand.nextInt(super.rand.nextInt(120) + 8); - double d2 = (double) (par3 * 16 + super.rand.nextInt(16)); + for(int j1 = 0; j1 < i1; j1++) { + double d0 = par2 * 16 + this.rand.nextInt(16); + double d1 = this.rand.nextInt(this.rand.nextInt(120) + 8); + double d2 = par3 * 16 + this.rand.nextInt(16); int k1 = 1; - if(super.rand.nextInt(4) == 0) { - this.generateLargeCaveNode(super.rand.nextLong(), par4, par5, par6ArrayOfByte, d0, d1, d2); - k1 += super.rand.nextInt(4); + + if(this.rand.nextInt(4) == 0) { + generateLargeCaveNode(this.rand.nextLong(), par4, par5, par6ArrayOfByte, d0, d1, d2); + k1 += this.rand.nextInt(4); } - for(int l1 = 0; l1 < k1; ++l1) { - float f = super.rand.nextFloat() * 3.1415927F * 2.0F; - float f1 = (super.rand.nextFloat() - 0.5F) * 2.0F / 8.0F; - float f2 = super.rand.nextFloat() * 2.0F + super.rand.nextFloat(); - if(super.rand.nextInt(10) == 0) { - f2 *= super.rand.nextFloat() * super.rand.nextFloat() * 3.0F + 1.0F; + for(int l1 = 0; l1 < k1; l1++) { + float f = this.rand.nextFloat() * 3.141593F * 2.0F; + float f1 = (this.rand.nextFloat() - 0.5F) * 2.0F / 8.0F; + float f2 = this.rand.nextFloat() * 2.0F + this.rand.nextFloat(); + + if(this.rand.nextInt(10) == 0) { + f2 *= (this.rand.nextFloat() * this.rand.nextFloat() * 3.0F + 1.0F); } - this.generateCaveNode(super.rand.nextLong(), par4, par5, par6ArrayOfByte, d0, d1, d2, f2, f, f1, 0, 0, 1.0D); + generateCaveNode(this.rand.nextLong(), par4, par5, par6ArrayOfByte, d0, d1, d2, f2, f, f1, 0, 0, 1.0D); } } + } + + protected boolean isOceanBlock(byte[] data, int index, int x, int y, int z, int chunkX, int chunkZ) { + return (data[index] == Block.waterMoving.blockID) || (data[index] == Block.waterStill.blockID); + } + + private boolean isExceptionBiome(BiomeGenBase biome) { + if(biome == BiomeGenBase.mushroomIsland) + return true; + if(biome == BiomeGenBase.beach) + return true; + if(biome == BiomeGenBase.desert) + return true; + return false; + } + + private boolean isTopBlock(byte[] data, int index, int x, int y, int z, int chunkX, int chunkZ) { + BiomeGenBase biome = this.worldObj.getBiomeGenForCoords(x + chunkX * 16, z + chunkZ * 16); + return data[index] == Block.grass.blockID; + } + + protected void digBlock(byte[] data, int index, int x, int y, int z, int chunkX, int chunkZ, boolean foundTop) { + BiomeGenBase biome = this.worldObj.getBiomeGenForCoords(x + chunkX * 16, z + chunkZ * 16); + int top = isExceptionBiome(biome) ? Block.grass.blockID : biome.topBlock; + int filler = isExceptionBiome(biome) ? Block.dirt.blockID : biome.fillerBlock; + int block = data[index]; + + if((block == AtumBlocks.BLOCK_STONE.blockID) || (block == filler) || (block == top)) { + if(y < 10) { + data[index] = ((byte) Block.lavaMoving.blockID); + } else { + data[index] = 0; + if((foundTop) && (data[(index - 1)] == filler)) { + data[(index - 1)] = ((byte) top); + } + } + } } -} +} \ No newline at end of file diff --git a/src/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java b/src/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java index 9c29f6d..a0088eb 100644 --- a/src/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java +++ b/src/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java @@ -25,7 +25,7 @@ protected void registerWorldChunkManager() { @Override public IChunkProvider createChunkGenerator() { - return new AtumChunkProvider(super.worldObj, super.worldObj.getSeed(), true); + return new AtumChunkProvider(super.worldObj, super.worldObj.getSeed()); } @Override @@ -41,7 +41,6 @@ protected void generateLightBrightnessTable() { super.lightBrightnessTable[i] = scaledBrightness / (f1 * 3.0F + 1.0F) * (1.0F - f) + f; } } - } @Override @@ -83,6 +82,7 @@ public Vec3 getFogColor(float par1, float par2) { f3 = 0.9F * f2; f4 = 0.75F * f2; f5 = 0.6F * f2; + return super.worldObj.getWorldVec3Pool().getVecFromPool((double) f3, (double) f4, (double) f5); } diff --git a/src/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java b/src/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java index 73614b3..576ed3a 100644 --- a/src/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java +++ b/src/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java @@ -8,7 +8,6 @@ import net.minecraft.world.biome.SpawnListEntry; import net.minecraft.world.gen.feature.WorldGenerator; -import com.teammetallurgy.atum.LocalizationHelper; import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.entity.EntityBanditArcher; import com.teammetallurgy.atum.entity.EntityBanditWarlord; @@ -20,10 +19,7 @@ import com.teammetallurgy.atum.entity.EntityMummy; import com.teammetallurgy.atum.entity.EntityStoneSoldier; import com.teammetallurgy.atum.worldgen.decorators.WorldGenAtumTrees; -import com.teammetallurgy.atum.worldgen.decorators.WorldGenOasis; -import com.teammetallurgy.atum.worldgen.decorators.WorldGenPalace; import com.teammetallurgy.atum.worldgen.decorators.WorldGenPalm; -import com.teammetallurgy.atum.worldgen.decorators.WorldGenPyramid; import com.teammetallurgy.atum.worldgen.decorators.WorldGenRuins; public class BiomeGenAtumDesert extends BiomeGenBase { @@ -31,14 +27,13 @@ public class BiomeGenAtumDesert extends BiomeGenBase { public WorldGenerator treeGenerator; public WorldGenerator palmGenerator; public WorldGenerator ruinsGenerator; - public short sTopBlock; - public short sFillerBlock; public BiomeGenAtumDesert(int par1) { super(par1); super.spawnableCreatureList.clear(); - this.sTopBlock = (short) AtumBlocks.BLOCK_SAND.blockID; - this.sFillerBlock = (short) AtumBlocks.BLOCK_SAND.blockID; + this.topBlock = (byte) AtumBlocks.BLOCK_SAND.blockID; + this.fillerBlock = (byte) AtumBlocks.BLOCK_STONE.blockID; + super.theBiomeDecorator.treesPerChunk = 1; super.theBiomeDecorator.deadBushPerChunk = 5; super.theBiomeDecorator.reedsPerChunk = 0; @@ -51,7 +46,7 @@ public BiomeGenAtumDesert(int par1) { super.spawnableWaterCreatureList.clear(); super.spawnableCaveCreatureList.clear(); this.setColor(16421912); - this.setBiomeName(LocalizationHelper.localize("biome.desert.name")); + this.setBiomeName("biome.desert.name"); this.setDisableRain(); this.setTemperatureRainfall(2.0F, 0.0F); this.setMinMaxHeight(0.1F, 0.2F); @@ -79,57 +74,57 @@ public WorldGenerator getRandomWorldGenForTrees(Random par1Random) { @Override public void decorate(World par1World, Random par2Random, int par3, int par4) { super.decorate(par1World, par2Random, par3, par4); - long time; - int k; - int l; - if(par2Random.nextInt(100) == 0) { - k = par3 + par2Random.nextInt(16) + 8; - l = par4 + par2Random.nextInt(16) + 8; - time = System.nanoTime(); - (new WorldGenOasis(false)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); - } - - if(par2Random.nextInt(20) == 0) { - k = par3 + par2Random.nextInt(16) + 8; - l = par4 + par2Random.nextInt(16) + 8; - time = System.nanoTime(); - this.ruinsGenerator.generate(par1World, par2Random, k, par1World.getHeightValue(k, l) + 1, l); - } - - int height; - if(par2Random.nextInt(5) == 0) { - k = par3 + par2Random.nextInt(16) + 8; - l = par4 + par2Random.nextInt(16) + 8; - height = par2Random.nextInt(4) + 5; - time = System.nanoTime(); - (new WorldGenPalm(true, height, 0, 0)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); - } - - if(par2Random.nextInt(7) == 0) { - k = par3 + par2Random.nextInt(16) + 8; - l = par4 + par2Random.nextInt(16) + 8; - height = par2Random.nextInt(4) + 4; - time = System.nanoTime(); - (new WorldGenAtumTrees(true)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); - } - - if(par2Random.nextInt(120) == 0) { - k = par3 + par2Random.nextInt(16) + 8; - l = par4 + par2Random.nextInt(16) + 8; - time = System.nanoTime(); - (new WorldGenPyramid()).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); - } - - if(par2Random.nextInt(160) == 0) { - k = par3 + par2Random.nextInt(16) + 8; - l = par4 + par2Random.nextInt(16) + 8; - height = par2Random.nextInt(10); - if(height <= 20) { - height += 30; - } - - (new WorldGenPalace()).generate(par1World, par2Random, k, height, l); - } +// long time; +// int k; +// int l; +// if(par2Random.nextInt(100) == 0) { +// k = par3 + par2Random.nextInt(16) + 8; +// l = par4 + par2Random.nextInt(16) + 8; +// time = System.nanoTime(); +// (new WorldGenOasis(false)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); +// } +// +// if(par2Random.nextInt(20) == 0) { +// k = par3 + par2Random.nextInt(16) + 8; +// l = par4 + par2Random.nextInt(16) + 8; +// time = System.nanoTime(); +// this.ruinsGenerator.generate(par1World, par2Random, k, par1World.getHeightValue(k, l) + 1, l); +// } +// +// int height; +// if(par2Random.nextInt(5) == 0) { +// k = par3 + par2Random.nextInt(16) + 8; +// l = par4 + par2Random.nextInt(16) + 8; +// height = par2Random.nextInt(4) + 5; +// time = System.nanoTime(); +// (new WorldGenPalm(true, height, 0, 0)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); +// } +// +// if(par2Random.nextInt(7) == 0) { +// k = par3 + par2Random.nextInt(16) + 8; +// l = par4 + par2Random.nextInt(16) + 8; +// height = par2Random.nextInt(4) + 4; +// time = System.nanoTime(); +// (new WorldGenAtumTrees(true)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); +// } + +// if(par2Random.nextInt(120) == 0) { +// k = par3 + par2Random.nextInt(16) + 8; +// l = par4 + par2Random.nextInt(16) + 8; +// time = System.nanoTime(); +// (new WorldGenPyramid()).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); +// } + +// if(par2Random.nextInt(160) == 0) { +// k = par3 + par2Random.nextInt(16) + 8; +// l = par4 + par2Random.nextInt(16) + 8; +// height = par2Random.nextInt(10); +// if(height <= 20) { +// height += 30; +// } +// +// (new WorldGenPalace()).generate(par1World, par2Random, k, height, l); +// } } } From c3599d1451910454b4898594cc10471f86edb479 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Tue, 18 Mar 2014 18:33:07 +1000 Subject: [PATCH 038/157] Fixed worldgen --- .../atum/worldgen/AtumChunkProvider.java | 414 ++++++++++-------- .../atum/worldgen/AtumMapGenCaves.java | 180 +++----- .../atum/worldgen/AtumWorldProvider.java | 4 +- 3 files changed, 310 insertions(+), 288 deletions(-) diff --git a/src/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java b/src/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java index f8b10ce..eccabcd 100644 --- a/src/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java +++ b/src/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java @@ -1,5 +1,7 @@ package com.teammetallurgy.atum.worldgen; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; import java.util.List; import java.util.Random; @@ -17,15 +19,24 @@ import net.minecraft.world.gen.MapGenBase; import net.minecraft.world.gen.MapGenRavine; import net.minecraft.world.gen.NoiseGeneratorOctaves; +import net.minecraft.world.gen.feature.MapGenScatteredFeature; +import net.minecraft.world.gen.feature.WorldGenLakes; +import net.minecraft.world.gen.structure.MapGenMineshaft; +import net.minecraft.world.gen.structure.MapGenStronghold; +import net.minecraft.world.gen.structure.MapGenVillage; import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.Event; import net.minecraftforge.event.Event.Result; -import net.minecraftforge.event.terraingen.ChunkProviderEvent; +import net.minecraftforge.event.terraingen.ChunkProviderEvent.InitNoiseField; import net.minecraftforge.event.terraingen.InitMapGenEvent.EventType; -import net.minecraftforge.event.terraingen.PopulateChunkEvent; +import net.minecraftforge.event.terraingen.PopulateChunkEvent.Post; +import net.minecraftforge.event.terraingen.PopulateChunkEvent.Pre; import net.minecraftforge.event.terraingen.TerrainGen; +import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.worldgen.biome.BiomeGenAtumDesert; + public class AtumChunkProvider implements IChunkProvider { + private Random rand; private NoiseGeneratorOctaves noiseGen1; private NoiseGeneratorOctaves noiseGen2; @@ -35,10 +46,11 @@ public class AtumChunkProvider implements IChunkProvider { public NoiseGeneratorOctaves noiseGen6; public NoiseGeneratorOctaves mobSpawnerNoise; private World worldObj; + private final boolean mapFeaturesEnabled; private double[] noiseArray; private double[] stoneNoise = new double[256]; private MapGenBase caveGenerator = new AtumMapGenCaves(); - private MapGenBase ravineGenerator = new MapGenRavine(); + private MapGenScatteredFeature scatteredFeatureGenerator = new MapGenScatteredFeature(); private BiomeGenBase[] biomesForGeneration; double[] noise3; double[] noise1; @@ -47,9 +59,11 @@ public class AtumChunkProvider implements IChunkProvider { double[] noise6; float[] parabolicField; - public AtumChunkProvider(World par1World, long par2) { + public AtumChunkProvider(World par1World, long par2, boolean par4) { this.caveGenerator = TerrainGen.getModdedMapGen(this.caveGenerator, EventType.CAVE); + this.scatteredFeatureGenerator = (MapGenScatteredFeature) TerrainGen.getModdedMapGen(this.scatteredFeatureGenerator, EventType.SCATTERED_FEATURE); this.worldObj = par1World; + this.mapFeaturesEnabled = par4; this.rand = new Random(par2); this.noiseGen1 = new NoiseGeneratorOctaves(this.rand, 16); this.noiseGen2 = new NoiseGeneratorOctaves(this.rand, 16); @@ -69,7 +83,7 @@ public AtumChunkProvider(World par1World, long par2) { this.mobSpawnerNoise = noiseGens[6]; } - public void generateTerrain(int par1, int par2, byte[] par3ArrayOfByte) { + public void generateTerrain(int par1, int par2, short[] par3ArrayOfByte) { byte b0 = 4; byte b1 = 16; byte b2 = 63; @@ -77,49 +91,45 @@ public void generateTerrain(int par1, int par2, byte[] par3ArrayOfByte) { byte b3 = 17; int l = b0 + 1; this.biomesForGeneration = this.worldObj.getWorldChunkManager().getBiomesForGeneration(this.biomesForGeneration, par1 * 4 - 2, par2 * 4 - 2, k + 5, l + 5); - this.noiseArray = initializeNoiseField(this.noiseArray, par1 * b0, 0, par2 * b0, k, b3, l); + this.noiseArray = this.initializeNoiseField(this.noiseArray, par1 * b0, 0, par2 * b0, k, b3, l); - for(int i1 = 0; i1 < b0; i1++) { - for(int j1 = 0; j1 < b0; j1++) { - for(int k1 = 0; k1 < b1; k1++) { + for(int x1 = 0; x1 < b0; ++x1) { + for(int z1 = 0; z1 < b0; ++z1) { + for(int y1 = 0; y1 < b1; ++y1) { double d0 = 0.125D; - double d1 = this.noiseArray[(((i1 + 0) * l + j1 + 0) * b3 + k1 + 0)]; - double d2 = this.noiseArray[(((i1 + 0) * l + j1 + 1) * b3 + k1 + 0)]; - double d3 = this.noiseArray[(((i1 + 1) * l + j1 + 0) * b3 + k1 + 0)]; - double d4 = this.noiseArray[(((i1 + 1) * l + j1 + 1) * b3 + k1 + 0)]; - double d5 = (this.noiseArray[(((i1 + 0) * l + j1 + 0) * b3 + k1 + 1)] - d1) * d0; - double d6 = (this.noiseArray[(((i1 + 0) * l + j1 + 1) * b3 + k1 + 1)] - d2) * d0; - double d7 = (this.noiseArray[(((i1 + 1) * l + j1 + 0) * b3 + k1 + 1)] - d3) * d0; - double d8 = (this.noiseArray[(((i1 + 1) * l + j1 + 1) * b3 + k1 + 1)] - d4) * d0; - - for(int l1 = 0; l1 < 8; l1++) { - double d9 = 0.25D; + double d1 = this.noiseArray[((x1 + 0) * l + z1 + 0) * b3 + y1 + 0]; + double d2 = this.noiseArray[((x1 + 0) * l + z1 + 1) * b3 + y1 + 0]; + double d3 = this.noiseArray[((x1 + 1) * l + z1 + 0) * b3 + y1 + 0]; + double d4 = this.noiseArray[((x1 + 1) * l + z1 + 1) * b3 + y1 + 0]; + double d5 = (this.noiseArray[((x1 + 0) * l + z1 + 0) * b3 + y1 + 1] - d1) * d0; + double d6 = (this.noiseArray[((x1 + 0) * l + z1 + 1) * b3 + y1 + 1] - d2) * d0; + double d7 = (this.noiseArray[((x1 + 1) * l + z1 + 0) * b3 + y1 + 1] - d3) * d0; + double d8 = (this.noiseArray[((x1 + 1) * l + z1 + 1) * b3 + y1 + 1] - d4) * d0; + + for(int y2 = 0; y2 < 8; ++y2) { double d10 = d1; double d11 = d2; - double d12 = (d3 - d1) * d9; - double d13 = (d4 - d2) * d9; - - for(int i2 = 0; i2 < 4; i2++) { - int j2 = i2 + i1 * 4 << 11 | 0 + j1 * 4 << 7 | k1 * 8 + l1; - short short1 = 128; - j2 -= short1; - double d14 = 0.25D; - double d15 = (d11 - d10) * d14; + double d12 = (d3 - d1) * 0.25D; + double d13 = (d4 - d2) * 0.25D; + + for(int x2 = 0; x2 < 4; ++x2) { + int index = y1 * 8 + y2 << 8 | 0 + z1 * 4 << 4 | x2 + x1 * 4; + byte dy = 16; + index -= dy; + double d15 = (d11 - d10) * 0.25D; double d16 = d10 - d15; - for(int k2 = 0; k2 < 4; k2++) { + for(int n = 0; n < 4; ++n) { if((d16 += d15) > 0.0D) { - int temp = (j2 + short1); - j2 = temp; - par3ArrayOfByte[temp] = (byte) Block.stone.blockID; - } else if(k1 * 8 + l1 < b2) { - int temp = (j2 + short1); - j2 = temp; - par3ArrayOfByte[temp] = 3; - } else { - int temp = (j2 + short1); - j2 = temp; - par3ArrayOfByte[temp] = 0; + if(index + dy < par3ArrayOfByte.length) { + par3ArrayOfByte[index += dy] = (short) AtumBlocks.BLOCK_STONE.blockID; + } + } else if(y1 * 8 + y2 < b2) { + if(index + dy < par3ArrayOfByte.length) { + par3ArrayOfByte[index += dy] = (short) AtumBlocks.BLOCK_STONE.blockID; + } + } else if(index + dy < par3ArrayOfByte.length) { + par3ArrayOfByte[index += dy] = 0; } } @@ -135,61 +145,53 @@ public void generateTerrain(int par1, int par2, byte[] par3ArrayOfByte) { } } } - } - public void replaceBlocksForBiome(int par1, int par2, byte[] par3ArrayOfByte, BiomeGenBase[] par4ArrayOfBiomeGenBase) { - ChunkProviderEvent.ReplaceBiomeBlocks event = new ChunkProviderEvent.ReplaceBiomeBlocks(this, par1, par2, par3ArrayOfByte, par4ArrayOfBiomeGenBase); - MinecraftForge.EVENT_BUS.post(event); - if(event.getResult() == Event.Result.DENY) - return; + } + public void replaceBlocksForBiome(int par1, int par2, short[] par3ArrayOfByte, BiomeGenBase[] par4ArrayOfBiomeGenBase) { byte b0 = 63; double d0 = 0.03125D; this.stoneNoise = this.noiseGen4.generateNoiseOctaves(this.stoneNoise, par1 * 16, par2 * 16, 0, 16, 16, 1, d0 * 2.0D, d0 * 2.0D, d0 * 2.0D); - for(int k = 0; k < 16; k++) { - for(int l = 0; l < 16; l++) { - BiomeGenBase biomegenbase = par4ArrayOfBiomeGenBase[(l + k * 16)]; + for(int z = 0; z < 16; ++z) { + for(int x = 0; x < 16; ++x) { + BiomeGenBase biomegenbase = par4ArrayOfBiomeGenBase[x + z * 16]; float f = biomegenbase.getFloatTemperature(); - int i1 = (int) (this.stoneNoise[(k + l * 16)] / 3.0D + 3.0D + this.rand.nextDouble() * 0.25D); + int i1 = (int) (this.stoneNoise[z + x * 16] / 3.0D + 3.0D + this.rand.nextDouble() * 0.25D); int j1 = -1; - byte b1 = biomegenbase.topBlock; - byte b2 = biomegenbase.fillerBlock; - - for(int k1 = 127; k1 >= 0; k1--) { - int l1 = (l * 16 + k) * 128 + k1; + short b1 = ((BiomeGenAtumDesert) biomegenbase).topBlock; + short b2 = ((BiomeGenAtumDesert) biomegenbase).fillerBlock; - if(k1 <= 0) { - par3ArrayOfByte[l1] = ((byte) Block.bedrock.blockID); + for(int y = 127; y >= 0; --y) { + int l1 = y << 8 | z << 4 | x; + if(y <= 0 + this.rand.nextInt(5)) { + par3ArrayOfByte[l1] = (short) ((byte) Block.bedrock.blockID); } else { - byte b3 = par3ArrayOfByte[l1]; - + short b3 = par3ArrayOfByte[l1]; if(b3 == 0) { j1 = -1; - } else if(b3 == Block.stone.blockID) { + } else if(b3 == AtumBlocks.BLOCK_STONE.blockID) { if(j1 == -1) { if(i1 <= 0) { b1 = 0; - b2 = (byte) Block.stone.blockID; - } else if((k1 >= b0 - 4) && (k1 <= b0 + 1)) { - b1 = biomegenbase.topBlock; - b2 = biomegenbase.fillerBlock; + b2 = (short) AtumBlocks.BLOCK_STONE.blockID; + } else if(y >= b0 - 4 && y <= b0 + 1) { + b1 = ((BiomeGenAtumDesert) biomegenbase).topBlock; + b2 = ((BiomeGenAtumDesert) biomegenbase).fillerBlock; } j1 = i1; - - if(k1 >= b0 - 1) { + if(y >= b0 - 1) { par3ArrayOfByte[l1] = b1; } else { par3ArrayOfByte[l1] = b2; } } else if(j1 > 0) { - j1--; + --j1; par3ArrayOfByte[l1] = b2; - - if((j1 == 0) && (b2 == Block.sand.blockID)) { + if(j1 == 0 && b2 == AtumBlocks.BLOCK_SAND.blockID) { j1 = this.rand.nextInt(4); - b2 = (byte) Block.sandStone.blockID; + b2 = (short) AtumBlocks.BLOCK_STONE.blockID; } } } @@ -197,138 +199,169 @@ public void replaceBlocksForBiome(int par1, int par2, byte[] par3ArrayOfByte, Bi } } } + } + @Override public Chunk loadChunk(int par1, int par2) { - return provideChunk(par1, par2); + return this.provideChunk(par1, par2); } - public Chunk provideChunk(int par1, int par2) { - this.rand.setSeed(par1 * 341873128712L + par2 * 132897987541L); - byte[] abyte = new byte[32768]; - generateTerrain(par1, par2, abyte); - this.biomesForGeneration = this.worldObj.getWorldChunkManager().loadBlockGeneratorData(this.biomesForGeneration, par1 * 16, par2 * 16, 16, 16); - replaceBlocksForBiome(par1, par2, abyte, this.biomesForGeneration); - this.caveGenerator.generate(this, this.worldObj, par1, par2, abyte); - this.ravineGenerator.generate(this, this.worldObj, par1, par2, abyte); - Chunk chunk = new Chunk(this.worldObj, abyte, par1, par2); + @Override + public Chunk provideChunk(int x, int z) { + this.rand.setSeed((long) x * 341873128712L + (long) z * 132897987541L); + short[] abyte = new short['\u8000']; + this.generateTerrain(x, z, abyte); + this.biomesForGeneration = this.worldObj.getWorldChunkManager().loadBlockGeneratorData(this.biomesForGeneration, x * 16, z * 16, 16, 16); + this.replaceBlocksForBiome(x, z, abyte, this.biomesForGeneration); + + ByteBuffer buffer = ByteBuffer.allocate(abyte.length * 2); + buffer.order(ByteOrder.LITTLE_ENDIAN); + buffer.asShortBuffer().put(abyte); + + caveGenerator.generate(this, worldObj, x, z, buffer.array()); + + Chunk chunk = new Chunk(this.worldObj, abyte, new byte['\u8000'], x, z); byte[] abyte1 = chunk.getBiomeArray(); + for(int k = 0; k < abyte1.length; ++k) { - abyte1[k] = ((byte) this.biomesForGeneration[k].biomeID); + abyte1[k] = (byte) this.biomesForGeneration[k].biomeID; } + chunk.generateSkylightMap(); return chunk; } private double[] initializeNoiseField(double[] par1ArrayOfDouble, int par2, int par3, int par4, int par5, int par6, int par7) { - ChunkProviderEvent.InitNoiseField event = new ChunkProviderEvent.InitNoiseField(this, par1ArrayOfDouble, par2, par3, par4, par5, par6, par7); + InitNoiseField event = new InitNoiseField(this, par1ArrayOfDouble, par2, par3, par4, par5, par6, par7); MinecraftForge.EVENT_BUS.post(event); - if(event.getResult() == Result.DENY) + if(event.getResult() == Result.DENY) { return event.noisefield; - if(par1ArrayOfDouble == null) { - par1ArrayOfDouble = new double[par5 * par6 * par7]; - } - if(this.parabolicField == null) { - this.parabolicField = new float[25]; - for(int d0 = -2; d0 <= 2; ++d0) { - for(int l1 = -2; l1 <= 2; ++l1) { - float d1 = 10.0F / MathHelper.sqrt_float((float) (d0 * d0 + l1 * l1) + 0.2F); - this.parabolicField[d0 + 2 + (l1 + 2) * 5] = d1; - } + } else { + if(par1ArrayOfDouble == null) { + par1ArrayOfDouble = new double[par5 * par6 * par7]; } - } - double var45 = 684.412D; - double var46 = 684.412D; - this.noise5 = this.noiseGen5.generateNoiseOctaves(this.noise5, par2, par4, par5, par7, 1.121D, 1.121D, 0.5D); - this.noise6 = this.noiseGen6.generateNoiseOctaves(this.noise6, par2, par4, par5, par7, 200.0D, 200.0D, 0.5D); - this.noise3 = this.noiseGen3.generateNoiseOctaves(this.noise3, par2, par3, par4, par5, par6, par7, var45 / 80.0D, var46 / 160.0D, var45 / 80.0D); - this.noise1 = this.noiseGen1.generateNoiseOctaves(this.noise1, par2, par3, par4, par5, par6, par7, var45, var46, var45); - this.noise2 = this.noiseGen2.generateNoiseOctaves(this.noise2, par2, par3, par4, par5, par6, par7, var45, var46, var45); - boolean flag = false; - boolean flag1 = false; - int i2 = 0; - int j2 = 0; - for(int k2 = 0; k2 < par5; ++k2) { - for(int l2 = 0; l2 < par7; ++l2) { - float f1 = 0.0F; - float f2 = 0.0F; - float f3 = 0.0F; - byte b0 = 2; - BiomeGenBase biomegenbase = this.biomesForGeneration[k2 + 2 + (l2 + 2) * (par5 + 5)]; - for(int d2 = -b0; d2 <= b0; ++d2) { - for(int j3 = -b0; j3 <= b0; ++j3) { - BiomeGenBase k3 = this.biomesForGeneration[k2 + d2 + 2 + (l2 + j3 + 2) * (par5 + 5)]; - float d3 = this.parabolicField[d2 + 2 + (j3 + 2) * 5] / (k3.minHeight + 2.0F); - if(k3.minHeight > biomegenbase.minHeight) { - d3 /= 2.0F; - } - f1 += k3.maxHeight * d3; - f2 += k3.minHeight * d3; - f3 += d3; + + if(this.parabolicField == null) { + this.parabolicField = new float[25]; + + for(int d0 = -2; d0 <= 2; ++d0) { + for(int l1 = -2; l1 <= 2; ++l1) { + float d1 = 10.0F / MathHelper.sqrt_float((float) (d0 * d0 + l1 * l1) + 0.2F); + this.parabolicField[d0 + 2 + (l1 + 2) * 5] = d1; } } - f1 /= f3; - f2 /= f3; - f1 = f1 * 0.9F + 0.1F; - f2 = (f2 * 4.0F - 1.0F) / 8.0F; - double var47 = this.noise6[j2] / 8000.0D; - if(var47 < 0.0D) { - var47 = -var47 * 0.3D; - } - var47 = var47 * 3.0D - 2.0D; - if(var47 < 0.0D) { - var47 /= 2.0D; - if(var47 < -1.0D) { - var47 = -1.0D; - } - var47 /= 1.4D; - var47 /= 2.0D; - } else { - if(var47 > 1.0D) { - var47 = 1.0D; + } + + double var45 = 684.412D; + double var46 = 684.412D; + this.noise5 = this.noiseGen5.generateNoiseOctaves(this.noise5, par2, par4, par5, par7, 1.121D, 1.121D, 0.5D); + this.noise6 = this.noiseGen6.generateNoiseOctaves(this.noise6, par2, par4, par5, par7, 200.0D, 200.0D, 0.5D); + this.noise3 = this.noiseGen3.generateNoiseOctaves(this.noise3, par2, par3, par4, par5, par6, par7, var45 / 80.0D, var46 / 160.0D, var45 / 80.0D); + this.noise1 = this.noiseGen1.generateNoiseOctaves(this.noise1, par2, par3, par4, par5, par6, par7, var45, var46, var45); + this.noise2 = this.noiseGen2.generateNoiseOctaves(this.noise2, par2, par3, par4, par5, par6, par7, var45, var46, var45); + boolean flag = false; + boolean flag1 = false; + int i2 = 0; + int j2 = 0; + + for(int k2 = 0; k2 < par5; ++k2) { + for(int l2 = 0; l2 < par7; ++l2) { + float f1 = 0.0F; + float f2 = 0.0F; + float f3 = 0.0F; + byte b0 = 2; + BiomeGenBase biomegenbase = this.biomesForGeneration[k2 + 2 + (l2 + 2) * (par5 + 5)]; + + for(int d2 = -b0; d2 <= b0; ++d2) { + for(int j3 = -b0; j3 <= b0; ++j3) { + BiomeGenBase k3 = this.biomesForGeneration[k2 + d2 + 2 + (l2 + j3 + 2) * (par5 + 5)]; + float d3 = this.parabolicField[d2 + 2 + (j3 + 2) * 5] / (k3.minHeight + 2.0F); + if(k3.minHeight > biomegenbase.minHeight) { + d3 /= 2.0F; + } + + f1 += k3.maxHeight * d3; + f2 += k3.minHeight * d3; + f3 += d3; + } } - var47 /= 8.0D; - } - ++j2; - for(int var49 = 0; var49 < par6; ++var49) { - double var48 = (double) f2; - double d4 = (double) f1; - var48 += var47 * 0.2D; - var48 = var48 * (double) par6 / 16.0D; - double d5 = (double) par6 / 2.0D + var48 * 4.0D; - double d6 = 0.0D; - double d7 = ((double) var49 - d5) * 12.0D * 128.0D / 128.0D / d4; - if(d7 < 0.0D) { - d7 *= 4.0D; + + f1 /= f3; + f2 /= f3; + f1 = f1 * 0.9F + 0.1F; + f2 = (f2 * 4.0F - 1.0F) / 8.0F; + double var47 = this.noise6[j2] / 8000.0D; + if(var47 < 0.0D) { + var47 = -var47 * 0.3D; } - double d8 = this.noise1[i2] / 512.0D; - double d9 = this.noise2[i2] / 512.0D; - double d10 = (this.noise3[i2] / 10.0D + 1.0D) / 2.0D; - if(d10 < 0.0D) { - d6 = d8; - } else if(d10 > 1.0D) { - d6 = d9; + + var47 = var47 * 3.0D - 2.0D; + if(var47 < 0.0D) { + var47 /= 2.0D; + if(var47 < -1.0D) { + var47 = -1.0D; + } + + var47 /= 1.4D; + var47 /= 2.0D; } else { - d6 = d8 + (d9 - d8) * d10; + if(var47 > 1.0D) { + var47 = 1.0D; + } + + var47 /= 8.0D; } - d6 -= d7; - if(var49 > par6 - 4) { - double d11 = (double) ((float) (var49 - (par6 - 4)) / 3.0F); - d6 = d6 * (1.0D - d11) + -10.0D * d11; + + ++j2; + + for(int var49 = 0; var49 < par6; ++var49) { + double var48 = (double) f2; + double d4 = (double) f1; + var48 += var47 * 0.2D; + var48 = var48 * (double) par6 / 16.0D; + double d5 = (double) par6 / 2.0D + var48 * 4.0D; + double d6 = 0.0D; + double d7 = ((double) var49 - d5) * 12.0D * 128.0D / 128.0D / d4; + if(d7 < 0.0D) { + d7 *= 4.0D; + } + + double d8 = this.noise1[i2] / 512.0D; + double d9 = this.noise2[i2] / 512.0D; + double d10 = (this.noise3[i2] / 10.0D + 1.0D) / 2.0D; + if(d10 < 0.0D) { + d6 = d8; + } else if(d10 > 1.0D) { + d6 = d9; + } else { + d6 = d8 + (d9 - d8) * d10; + } + + d6 -= d7; + if(var49 > par6 - 4) { + double d11 = (double) ((float) (var49 - (par6 - 4)) / 3.0F); + d6 = d6 * (1.0D - d11) + -10.0D * d11; + } + + par1ArrayOfDouble[i2] = d6; + ++i2; } - par1ArrayOfDouble[i2] = d6; - ++i2; } } + + return par1ArrayOfDouble; } - return par1ArrayOfDouble; } + @Override public boolean chunkExists(int par1, int par2) { return true; } + @Override public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) { + long time = System.currentTimeMillis(); BlockSand.fallInstantly = true; int k = par2 * 16; int l = par3 * 16; @@ -336,49 +369,72 @@ public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) { this.rand.setSeed(this.worldObj.getSeed()); long i1 = this.rand.nextLong() / 2L * 2L + 1L; long j1 = this.rand.nextLong() / 2L * 2L + 1L; - this.rand.setSeed(par2 * i1 + par3 * j1 ^ this.worldObj.getSeed()); + this.rand.setSeed((long) par2 * i1 + (long) par3 * j1 ^ this.worldObj.getSeed()); boolean flag = false; - MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Pre(par1IChunkProvider, this.worldObj, this.rand, par2, par3, flag)); + MinecraftForge.EVENT_BUS.post(new Pre(par1IChunkProvider, this.worldObj, this.rand, par2, par3, flag)); + if(TerrainGen.populate(par1IChunkProvider, this.worldObj, this.rand, par2, par3, flag, net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.LAVA) && !flag && this.rand.nextInt(8) == 0) { + int k1 = k + this.rand.nextInt(16) + 8; + int l1 = this.rand.nextInt(this.rand.nextInt(120) + 8); + int i2 = l + this.rand.nextInt(16) + 8; + if(l1 < 63 || this.rand.nextInt(10) == 0) { + (new WorldGenLakes(Block.lavaStill.blockID)).generate(this.worldObj, this.rand, k1, l1, i2); + } + } + biomegenbase.decorate(this.worldObj, this.rand, k, l); SpawnerAnimals.performWorldGenSpawning(this.worldObj, biomegenbase, k + 8, l + 8, 16, 16, this.rand); k += 8; l += 8; - MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Post(par1IChunkProvider, this.worldObj, this.rand, par2, par3, flag)); + MinecraftForge.EVENT_BUS.post(new Post(par1IChunkProvider, this.worldObj, this.rand, par2, par3, flag)); BlockSand.fallInstantly = false; } + @Override public boolean saveChunks(boolean par1, IProgressUpdate par2IProgressUpdate) { return true; } - public void saveExtraData() { - } - + @Override public boolean unloadQueuedChunks() { return false; } + @Override public boolean canSave() { return true; } + @Override public String makeString() { return "RandomLevelSource"; } + @Override public List getPossibleCreatures(EnumCreatureType par1EnumCreatureType, int par2, int par3, int par4) { BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(par2, par4); - return biomegenbase.getSpawnableList(par1EnumCreatureType); + return biomegenbase == null ? null : (biomegenbase == BiomeGenBase.swampland && par1EnumCreatureType == EnumCreatureType.monster && this.scatteredFeatureGenerator.hasStructureAt(par2, par3, par4) ? this.scatteredFeatureGenerator.getScatteredFeatureSpawnList() : biomegenbase.getSpawnableList(par1EnumCreatureType)); } + @Override public ChunkPosition findClosestStructure(World par1World, String par2Str, int par3, int par4, int par5) { return null; } + @Override public int getLoadedChunkCount() { return 0; } + @Override public void recreateStructures(int par1, int par2) { + if(this.mapFeaturesEnabled) { + this.scatteredFeatureGenerator.generate(this, this.worldObj, par1, par2, (byte[]) null); + } + + } + + @Override + public void saveExtraData() { + } -} \ No newline at end of file +} diff --git a/src/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java b/src/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java index 8d007ff..a82e622 100644 --- a/src/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java +++ b/src/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java @@ -5,46 +5,43 @@ import net.minecraft.block.Block; import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.gen.MapGenCaves; +import net.minecraft.world.gen.MapGenBase; import com.teammetallurgy.atum.blocks.AtumBlocks; -public class AtumMapGenCaves extends MapGenCaves { +public class AtumMapGenCaves extends MapGenBase { + protected void generateLargeCaveNode(long par1, int par3, int par4, byte[] par5ArrayOfByte, double par6, double par8, double par10) { - generateCaveNode(par1, par3, par4, par5ArrayOfByte, par6, par8, par10, 1.0F + this.rand.nextFloat() * 6.0F, 0.0F, 0.0F, -1, -1, 0.5D); + this.generateCaveNode(par1, par3, par4, par5ArrayOfByte, par6, par8, par10, 1.0F + super.rand.nextFloat() * 6.0F, 0.0F, 0.0F, -1, -1, 0.5D); } protected void generateCaveNode(long par1, int par3, int par4, byte[] par5ArrayOfByte, double par6, double par8, double par10, float par12, float par13, float par14, int par15, int par16, double par17) { - double d4 = par3 * 16 + 8; - double d5 = par4 * 16 + 8; + double d4 = (double) (par3 * 16 + 8); + double d5 = (double) (par4 * 16 + 8); float f3 = 0.0F; float f4 = 0.0F; Random random = new Random(par1); - if(par16 <= 0) { - int j1 = this.range * 16 - 16; - par16 = j1 - random.nextInt(j1 / 4); + int flag = super.range * 16 - 16; + par16 = flag - random.nextInt(flag / 4); } - boolean flag = false; - + boolean var62 = false; if(par15 == -1) { par15 = par16 / 2; - flag = true; + var62 = true; } int k1 = random.nextInt(par16 / 2) + par16 / 4; - for(boolean flag1 = random.nextInt(6) == 0; par15 < par16; par15++) { - double d6 = 1.5D + MathHelper.sin(par15 * 3.141593F / par16) * par12 * 1.0F; + for(boolean flag1 = random.nextInt(6) == 0; par15 < par16; ++par15) { + double d6 = 1.5D + (double) (MathHelper.sin((float) par15 * 3.1415927F / (float) par16) * par12 * 1.0F); double d7 = d6 * par17; float f5 = MathHelper.cos(par14); float f6 = MathHelper.sin(par14); - par6 += MathHelper.cos(par13) * f5; - par8 += f6; - par10 += MathHelper.sin(par13) * f5; - + par6 += (double) (MathHelper.cos(par13) * f5); + par8 += (double) f6; + par10 += (double) (MathHelper.sin(par13) * f5); if(flag1) { par14 *= 0.92F; } else { @@ -57,31 +54,28 @@ protected void generateCaveNode(long par1, int par3, int par4, byte[] par5ArrayO f3 *= 0.75F; f4 += (random.nextFloat() - random.nextFloat()) * random.nextFloat() * 2.0F; f3 += (random.nextFloat() - random.nextFloat()) * random.nextFloat() * 4.0F; - - if((!flag) && (par15 == k1) && (par12 > 1.0F) && (par16 > 0)) { - generateCaveNode(random.nextLong(), par3, par4, par5ArrayOfByte, par6, par8, par10, random.nextFloat() * 0.5F + 0.5F, par13 - 1.570796F, par14 / 3.0F, par15, par16, 1.0D); - generateCaveNode(random.nextLong(), par3, par4, par5ArrayOfByte, par6, par8, par10, random.nextFloat() * 0.5F + 0.5F, par13 + 1.570796F, par14 / 3.0F, par15, par16, 1.0D); + if(!var62 && par15 == k1 && par12 > 1.0F && par16 > 0) { + this.generateCaveNode(random.nextLong(), par3, par4, par5ArrayOfByte, par6, par8, par10, random.nextFloat() * 0.5F + 0.5F, par13 - 1.5707964F, par14 / 3.0F, par15, par16, 1.0D); + this.generateCaveNode(random.nextLong(), par3, par4, par5ArrayOfByte, par6, par8, par10, random.nextFloat() * 0.5F + 0.5F, par13 + 1.5707964F, par14 / 3.0F, par15, par16, 1.0D); return; } - if((flag) || (random.nextInt(4) != 0)) { + if(var62 || random.nextInt(4) != 0) { double d8 = par6 - d4; double d9 = par10 - d5; - double d10 = par16 - par15; - double d11 = par12 + 2.0F + 16.0F; - + double d10 = (double) (par16 - par15); + double d11 = (double) (par12 + 2.0F + 16.0F); if(d8 * d8 + d9 * d9 - d10 * d10 > d11 * d11) { return; } - if((par6 >= d4 - 16.0D - d6 * 2.0D) && (par10 >= d5 - 16.0D - d6 * 2.0D) && (par6 <= d4 + 16.0D + d6 * 2.0D) && (par10 <= d5 + 16.0D + d6 * 2.0D)) { + if(par6 >= d4 - 16.0D - d6 * 2.0D && par10 >= d5 - 16.0D - d6 * 2.0D && par6 <= d4 + 16.0D + d6 * 2.0D && par10 <= d5 + 16.0D + d6 * 2.0D) { int l1 = MathHelper.floor_double(par6 - d6) - par3 * 16 - 1; int i2 = MathHelper.floor_double(par6 + d6) - par3 * 16 + 1; int j2 = MathHelper.floor_double(par8 - d7) - 1; int k2 = MathHelper.floor_double(par8 + d7) + 1; int l2 = MathHelper.floor_double(par10 - d6) - par4 * 16 - 1; int i3 = MathHelper.floor_double(par10 + d6) - par4 * 16 + 1; - if(l1 < 0) { l1 = 0; } @@ -108,17 +102,18 @@ protected void generateCaveNode(long par1, int par3, int par4, byte[] par5ArrayO boolean flag2 = false; - for(int j3 = l1; (!flag2) && (j3 < i2); j3++) { - for(int l3 = l2; (!flag2) && (l3 < i3); l3++) { - for(int i4 = k2 + 1; (!flag2) && (i4 >= j2 - 1); i4--) { - int k3 = (j3 * 16 + l3) * 128 + i4; - - if((i4 >= 0) && (i4 < 128)) { - if(isOceanBlock(par5ArrayOfByte, k3, j3, i4, l3, par3, par4)) { + int k3; + int j3; + for(j3 = l1; !flag2 && j3 < i2; ++j3) { + for(int d12 = l2; !flag2 && d12 < i3; ++d12) { + for(int i4 = k2 + 1; !flag2 && i4 >= j2 - 1; --i4) { + k3 = (j3 * 16 + d12) * 128 + i4; + if(i4 >= 0 && i4 < 128) { + if(par5ArrayOfByte[k3] == Block.waterMoving.blockID || par5ArrayOfByte[k3] == Block.waterStill.blockID) { flag2 = true; } - if((i4 != j2 - 1) && (j3 != l1) && (j3 != i2 - 1) && (l3 != l2) && (l3 != i3 - 1)) { + if(i4 != j2 - 1 && j3 != l1 && j3 != i2 - 1 && d12 != l2 && d12 != i3 - 1) { i4 = j2; } } @@ -127,107 +122,78 @@ protected void generateCaveNode(long par1, int par3, int par4, byte[] par5ArrayO } if(!flag2) { - for(int j3 = l1; j3 < i2; j3++) { - double d12 = (j3 + par3 * 16 + 0.5D - par6) / d6; + for(j3 = l1; j3 < i2; ++j3) { + double var63 = ((double) (j3 + par3 * 16) + 0.5D - par6) / d6; - for(int k3 = l2; k3 < i3; k3++) { - double d13 = (k3 + par4 * 16 + 0.5D - par10) / d6; + for(k3 = l2; k3 < i3; ++k3) { + double d13 = ((double) (k3 + par4 * 16) + 0.5D - par10) / d6; int j4 = (j3 * 16 + k3) * 128 + k2; boolean flag3 = false; - - if(d12 * d12 + d13 * d13 < 1.0D) { - for(int k4 = k2 - 1; k4 >= j2; k4--) { - double d14 = (k4 + 0.5D - par8) / d7; - - if((d14 > -0.7D) && (d12 * d12 + d14 * d14 + d13 * d13 < 1.0D)) { - if(isTopBlock(par5ArrayOfByte, j4, j3, k4, k3, par3, par4)) { + if(var63 * var63 + d13 * d13 < 1.0D) { + for(int k4 = k2 - 1; k4 >= j2; --k4) { + double d14 = ((double) k4 + 0.5D - par8) / d7; + if(d14 > -0.7D && var63 * var63 + d14 * d14 + d13 * d13 < 1.0D) { + byte b0 = par5ArrayOfByte[j4]; + if(b0 == Block.grass.blockID) { flag3 = true; } - digBlock(par5ArrayOfByte, j4, j3, k4, k3, par3, par4, flag3); + if(b0 == AtumBlocks.BLOCK_STONE.blockID || b0 == AtumBlocks.BLOCK_SAND.blockID) { + if(k4 < 10) { + par5ArrayOfByte[j4] = (byte) Block.lavaMoving.blockID; + } else { + par5ArrayOfByte[j4] = 0; + if(flag3 && par5ArrayOfByte[j4 - 1] == AtumBlocks.BLOCK_SAND.blockID) { + par5ArrayOfByte[j4 - 1] = super.worldObj.getBiomeGenForCoords(j3 + par3 * 16, k3 + par4 * 16).topBlock; + } + } + } } - j4--; + --j4; } } } } - if(flag) + if(var62) { break; + } } } } } + } + @Override protected void recursiveGenerate(World par1World, int par2, int par3, int par4, int par5, byte[] par6ArrayOfByte) { - int i1 = this.rand.nextInt(this.rand.nextInt(this.rand.nextInt(40) + 1) + 1); - - if(this.rand.nextInt(15) != 0) { + int i1 = super.rand.nextInt(super.rand.nextInt(super.rand.nextInt(40) + 1) + 1); + if(super.rand.nextInt(15) != 0) { i1 = 0; } - for(int j1 = 0; j1 < i1; j1++) { - double d0 = par2 * 16 + this.rand.nextInt(16); - double d1 = this.rand.nextInt(this.rand.nextInt(120) + 8); - double d2 = par3 * 16 + this.rand.nextInt(16); + for(int j1 = 0; j1 < i1; ++j1) { + double d0 = (double) (par2 * 16 + super.rand.nextInt(16)); + double d1 = (double) super.rand.nextInt(super.rand.nextInt(120) + 8); + double d2 = (double) (par3 * 16 + super.rand.nextInt(16)); int k1 = 1; - - if(this.rand.nextInt(4) == 0) { - generateLargeCaveNode(this.rand.nextLong(), par4, par5, par6ArrayOfByte, d0, d1, d2); - k1 += this.rand.nextInt(4); + if(super.rand.nextInt(4) == 0) { + this.generateLargeCaveNode(super.rand.nextLong(), par4, par5, par6ArrayOfByte, d0, d1, d2); + k1 += super.rand.nextInt(4); } - for(int l1 = 0; l1 < k1; l1++) { - float f = this.rand.nextFloat() * 3.141593F * 2.0F; - float f1 = (this.rand.nextFloat() - 0.5F) * 2.0F / 8.0F; - float f2 = this.rand.nextFloat() * 2.0F + this.rand.nextFloat(); - - if(this.rand.nextInt(10) == 0) { - f2 *= (this.rand.nextFloat() * this.rand.nextFloat() * 3.0F + 1.0F); + for(int l1 = 0; l1 < k1; ++l1) { + float f = super.rand.nextFloat() * 3.1415927F * 2.0F; + float f1 = (super.rand.nextFloat() - 0.5F) * 2.0F / 8.0F; + float f2 = super.rand.nextFloat() * 2.0F + super.rand.nextFloat(); + if(super.rand.nextInt(10) == 0) { + f2 *= super.rand.nextFloat() * super.rand.nextFloat() * 3.0F + 1.0F; } - generateCaveNode(this.rand.nextLong(), par4, par5, par6ArrayOfByte, d0, d1, d2, f2, f, f1, 0, 0, 1.0D); + this.generateCaveNode(super.rand.nextLong(), par4, par5, par6ArrayOfByte, d0, d1, d2, f2, f, f1, 0, 0, 1.0D); } } - } - - protected boolean isOceanBlock(byte[] data, int index, int x, int y, int z, int chunkX, int chunkZ) { - return (data[index] == Block.waterMoving.blockID) || (data[index] == Block.waterStill.blockID); - } - - private boolean isExceptionBiome(BiomeGenBase biome) { - if(biome == BiomeGenBase.mushroomIsland) - return true; - if(biome == BiomeGenBase.beach) - return true; - if(biome == BiomeGenBase.desert) - return true; - return false; - } - - private boolean isTopBlock(byte[] data, int index, int x, int y, int z, int chunkX, int chunkZ) { - BiomeGenBase biome = this.worldObj.getBiomeGenForCoords(x + chunkX * 16, z + chunkZ * 16); - return data[index] == Block.grass.blockID; - } - - protected void digBlock(byte[] data, int index, int x, int y, int z, int chunkX, int chunkZ, boolean foundTop) { - BiomeGenBase biome = this.worldObj.getBiomeGenForCoords(x + chunkX * 16, z + chunkZ * 16); - int top = isExceptionBiome(biome) ? Block.grass.blockID : biome.topBlock; - int filler = isExceptionBiome(biome) ? Block.dirt.blockID : biome.fillerBlock; - int block = data[index]; - - if((block == AtumBlocks.BLOCK_STONE.blockID) || (block == filler) || (block == top)) { - if(y < 10) { - data[index] = ((byte) Block.lavaMoving.blockID); - } else { - data[index] = 0; - if((foundTop) && (data[(index - 1)] == filler)) { - data[(index - 1)] = ((byte) top); - } - } - } } -} \ No newline at end of file +} diff --git a/src/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java b/src/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java index a0088eb..9c29f6d 100644 --- a/src/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java +++ b/src/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java @@ -25,7 +25,7 @@ protected void registerWorldChunkManager() { @Override public IChunkProvider createChunkGenerator() { - return new AtumChunkProvider(super.worldObj, super.worldObj.getSeed()); + return new AtumChunkProvider(super.worldObj, super.worldObj.getSeed(), true); } @Override @@ -41,6 +41,7 @@ protected void generateLightBrightnessTable() { super.lightBrightnessTable[i] = scaledBrightness / (f1 * 3.0F + 1.0F) * (1.0F - f) + f; } } + } @Override @@ -82,7 +83,6 @@ public Vec3 getFogColor(float par1, float par2) { f3 = 0.9F * f2; f4 = 0.75F * f2; f5 = 0.6F * f2; - return super.worldObj.getWorldVec3Pool().getVecFromPool((double) f3, (double) f4, (double) f5); } From e36519cd93bbad3629febb9c8e56c2d7ac42377f Mon Sep 17 00:00:00 2001 From: lclc98 Date: Tue, 18 Mar 2014 18:35:03 +1000 Subject: [PATCH 039/157] Re-enabled structures --- .../worldgen/biome/BiomeGenAtumDesert.java | 98 +++++++++---------- 1 file changed, 47 insertions(+), 51 deletions(-) diff --git a/src/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java b/src/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java index 576ed3a..18cf32a 100644 --- a/src/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java +++ b/src/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java @@ -19,7 +19,10 @@ import com.teammetallurgy.atum.entity.EntityMummy; import com.teammetallurgy.atum.entity.EntityStoneSoldier; import com.teammetallurgy.atum.worldgen.decorators.WorldGenAtumTrees; +import com.teammetallurgy.atum.worldgen.decorators.WorldGenOasis; +import com.teammetallurgy.atum.worldgen.decorators.WorldGenPalace; import com.teammetallurgy.atum.worldgen.decorators.WorldGenPalm; +import com.teammetallurgy.atum.worldgen.decorators.WorldGenPyramid; import com.teammetallurgy.atum.worldgen.decorators.WorldGenRuins; public class BiomeGenAtumDesert extends BiomeGenBase { @@ -74,57 +77,50 @@ public WorldGenerator getRandomWorldGenForTrees(Random par1Random) { @Override public void decorate(World par1World, Random par2Random, int par3, int par4) { super.decorate(par1World, par2Random, par3, par4); -// long time; -// int k; -// int l; -// if(par2Random.nextInt(100) == 0) { -// k = par3 + par2Random.nextInt(16) + 8; -// l = par4 + par2Random.nextInt(16) + 8; -// time = System.nanoTime(); -// (new WorldGenOasis(false)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); -// } -// -// if(par2Random.nextInt(20) == 0) { -// k = par3 + par2Random.nextInt(16) + 8; -// l = par4 + par2Random.nextInt(16) + 8; -// time = System.nanoTime(); -// this.ruinsGenerator.generate(par1World, par2Random, k, par1World.getHeightValue(k, l) + 1, l); -// } -// -// int height; -// if(par2Random.nextInt(5) == 0) { -// k = par3 + par2Random.nextInt(16) + 8; -// l = par4 + par2Random.nextInt(16) + 8; -// height = par2Random.nextInt(4) + 5; -// time = System.nanoTime(); -// (new WorldGenPalm(true, height, 0, 0)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); -// } -// -// if(par2Random.nextInt(7) == 0) { -// k = par3 + par2Random.nextInt(16) + 8; -// l = par4 + par2Random.nextInt(16) + 8; -// height = par2Random.nextInt(4) + 4; -// time = System.nanoTime(); -// (new WorldGenAtumTrees(true)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); -// } - -// if(par2Random.nextInt(120) == 0) { -// k = par3 + par2Random.nextInt(16) + 8; -// l = par4 + par2Random.nextInt(16) + 8; -// time = System.nanoTime(); -// (new WorldGenPyramid()).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); -// } - -// if(par2Random.nextInt(160) == 0) { -// k = par3 + par2Random.nextInt(16) + 8; -// l = par4 + par2Random.nextInt(16) + 8; -// height = par2Random.nextInt(10); -// if(height <= 20) { -// height += 30; -// } -// -// (new WorldGenPalace()).generate(par1World, par2Random, k, height, l); -// } + int k; + int l; + if(par2Random.nextInt(100) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + (new WorldGenOasis(false)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); + } + + if(par2Random.nextInt(20) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + this.ruinsGenerator.generate(par1World, par2Random, k, par1World.getHeightValue(k, l) + 1, l); + } + + int height; + if(par2Random.nextInt(5) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + height = par2Random.nextInt(4) + 5; + (new WorldGenPalm(true, height, 0, 0)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); + } + + if(par2Random.nextInt(7) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + height = par2Random.nextInt(4) + 4; + (new WorldGenAtumTrees(true)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); + } + + if(par2Random.nextInt(120) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + (new WorldGenPyramid()).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); + } + + if(par2Random.nextInt(160) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + height = par2Random.nextInt(10); + if(height <= 20) { + height += 30; + } + (new WorldGenPalace()).generate(par1World, par2Random, k, height, l); + } } } From be88833bea584fac02d0b3e35c39017651c9f653 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Fri, 21 Mar 2014 20:31:42 +1000 Subject: [PATCH 040/157] Fixed typo --- build.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/build.xml b/build.xml index 16aee10..68bf27a 100644 --- a/build.xml +++ b/build.xml @@ -139,8 +139,6 @@ - - From 5e7123b85eacc0058db967b4d84c2a88595ccb84 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Wed, 26 Mar 2014 16:23:02 +1000 Subject: [PATCH 041/157] Fixed npe --- .../worldgen/decorators/WorldGenPyramid.java | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java index 546c947..f3a3481 100644 --- a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java +++ b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java @@ -69,14 +69,23 @@ public boolean generate(World world, Random random, int i, int j, int k) { if(!maze[x][z]) { if(random.nextFloat() > 0.1F) { world.setBlock(x + i, j, z + k, AtumBlocks.BLOCK_LARGEBRICK.blockID, 1, 0); - Block.blocksList[world.getBlockId(x + i, j + 1, z + k)].setBlockUnbreakable(); + Block temp = Block.blocksList[world.getBlockId(x + i, j + 1, z + k)]; + if(temp != null) { + temp.setBlockUnbreakable(); + } } else placeTrap(world, x + i, j, z + k); world.setBlock(x + i, j + 1, z + k, AtumBlocks.BLOCK_LARGEBRICK.blockID, 1, 0); - Block.blocksList[world.getBlockId(x + i, j + 1, z + k)].setBlockUnbreakable(); + Block temp = Block.blocksList[world.getBlockId(x + i, j + 1, z + k)]; + if(temp != null) { + temp.setBlockUnbreakable(); + } world.setBlock(x + i, j + 2, z + k, AtumBlocks.BLOCK_LARGEBRICK.blockID, 1, 0); - Block.blocksList[world.getBlockId(x + i, j + 2, z + k)].setBlockUnbreakable(); + temp = Block.blocksList[world.getBlockId(x + i, j + 2, z + k)]; + if(temp != null) { + temp.setBlockUnbreakable(); + } } else { int meta = random.nextInt(5); world.setBlock(x + i, j, z + k, AtumBlocks.BLOCK_SANDLAYERED.blockID, meta, 0); @@ -84,7 +93,10 @@ public boolean generate(World world, Random random, int i, int j, int k) { world.setBlockToAir(x + i, j + 2, z + k); } world.setBlock(x + i, j + 3, z + k, AtumBlocks.BLOCK_LARGEBRICK.blockID, 1, 0); - Block.blocksList[world.getBlockId(x + i, j + 3, z + k)].setBlockUnbreakable(); + Block temp = Block.blocksList[world.getBlockId(x + i, j + 3, z + k)]; + if(temp != null) { + temp.setBlockUnbreakable(); + } } } } From 1a72c8ea88497308dc6b322ede5785311bd34e80 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Tue, 3 Jun 2014 18:51:50 +1000 Subject: [PATCH 042/157] Not a secret 1.7 update :P --- .gitattributes | 22 + .gitignore | 230 +- build.gradle | 108 + build.properties | 3 + build.xml | 219 - gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 50514 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 164 + gradlew.bat | 90 + src/com/teammetallurgy/atum/AtumConfig.java | 149 - src/com/teammetallurgy/atum/AtumIDS.java | 118 - .../atum/blocks/AtumBlocks.java | 138 - .../atum/blocks/BlockFertileSoil.java | 131 - .../teammetallurgy/atum/blocks/BlockFlax.java | 191 - .../atum/blocks/BlockSands.java | 21 - .../atum/blocks/BlockStair.java | 12 - .../atum/blocks/BlockStones.java | 27 - .../atum/blocks/BlockWalls.java | 56 - .../atum/entity/EntityBonestorm.java | 220 - .../teammetallurgy/atum/items/AtumItems.java | 193 - .../atum/items/ItemAtumBow.java | 58 - .../atum/items/ItemPapyrusPlant.java | 79 - .../atum/items/ItemScepter.java | 17 - .../atum/items/ItemScimitar.java | 17 - .../atum/items/ItemStoneSoldierSword.java | 17 - .../atum/items/ItemTexturedArmor.java | 40 - .../atum/items/LimestoneAxe.java | 25 - .../atum/items/LimestoneHoe.java | 25 - .../atum/items/LimestonePickaxe.java | 25 - .../atum/items/LimestoneShovel.java | 25 - .../atum/items/LimestoneSword.java | 23 - .../atum/items/artifacts/ItemShusBreath.java | 158 - .../atum/lib/proxy/CommonProxy.java | 21 - .../lib/tickhandler/ClientTickHandler.java | 130 - .../lib/tickhandler/ServerTickHandler.java | 80 - .../atum/worldgen/AtumChunkProvider.java | 440 -- .../atum/worldgen/AtumMapGenCaves.java | 199 - .../worldgen/decorators/WorldGenPalace.java | 6215 ---------------- .../java}/com/teammetallurgy/atum/Atum.java | 4 +- .../com/teammetallurgy/atum/AtumConfig.java | 29 + .../teammetallurgy/atum/AtumCreativeTab.java | 0 .../atum/AtumEventListener.java | 50 +- .../com/teammetallurgy/atum/AtumFish.java | 12 +- .../teammetallurgy/atum/AtumGuiHandler.java | 4 +- .../java/com/teammetallurgy/atum/AtumIDS.java | 8 + .../com/teammetallurgy/atum/AtumLoot.java | 32 +- .../atum/AtumWeightedLootSet.java | 3 +- .../atum/blocks/AtumBlocks.java | 141 + .../teammetallurgy/atum/blocks/BlockAtum.java | 12 +- .../atum/blocks/BlockAtumGlass.java | 11 +- .../atum/blocks/BlockAtumOres.java | 27 +- .../atum/blocks/BlockAtumPane.java | 6 +- .../atum/blocks/BlockAtumPlank.java | 17 + .../atum/blocks/BlockAtumRedstone.java | 25 +- .../atum/blocks/BlockAtumSlab.java} | 46 +- .../atum/blocks/BlockAtumStairs.java | 12 + .../atum/blocks/BlockBurningTrap.java | 70 +- .../atum/blocks/BlockChestSpawner.java | 72 +- .../teammetallurgy/atum/blocks/BlockDate.java | 26 +- .../atum/blocks/BlockFertileSoil.java | 132 + .../atum/blocks/BlockFertileSoilTilled.java | 93 +- .../teammetallurgy/atum/blocks/BlockFlax.java | 194 + .../atum/blocks/BlockLeave.java | 70 +- .../atum/blocks/BlockLimeStoneFurnace.java | 150 +- .../atum/blocks/BlockPalmLog.java | 52 +- .../atum/blocks/BlockPalmSapling.java | 77 +- .../atum/blocks/BlockPapyrus.java | 93 +- .../atum/blocks/BlockPharaohChest.java | 95 +- .../atum/blocks/BlockPortal.java | 85 +- .../atum/blocks/BlockSandLayered.java | 28 +- .../atum/blocks/BlockSands.java | 22 + .../atum/blocks/BlockShrub.java | 26 +- .../atum/blocks/BlockStones.java | 29 + .../atum/blocks/BlockWalls.java | 53 + .../atum/blocks/ItemBlockSlab.java | 8 +- .../atum/blocks/ItemBlockWall.java | 6 +- .../tileentity/TileEntityBurningTrap.java | 0 .../chests/CursedChestBaseLogic.java | 126 +- .../chests/CursedChestSpawnerLogic.java | 14 +- .../chests/TileEntityChestSpawner.java | 148 +- .../chests/TileEntityPharaohChest.java | 110 +- .../furnace/ContainerLimestoneFurnace.java | 0 .../furnace/GuiLimestoneFurnace.java | 14 +- .../furnace/TileEntityLimestoneFurnace.java | 161 +- .../client/model/entity/ModelDesertWolf.java | 0 .../model/entity/ModelDustySkeleton.java | 0 .../client/model/tileentity/ModelDate.java | 0 .../client/render/entity/RenderBandit.java | 17 +- .../render/entity/RenderDesertWolf.java | 0 .../client/render/entity/RenderGhost.java | 95 +- .../client/render/entity/RenderPharaoh.java | 40 +- .../entity/arrow/RenderCustomArrow.java | 5 +- .../render/entity/arrow/RenderNutsCall.java | 0 .../client/render/item/RendererItemBow.java | 19 +- .../client/render/tileentity/RenderDate.java | 18 +- .../render/tileentity/RenderPapyrus.java | 13 +- .../atum/entity/AtumEntities.java | 44 +- .../atum/entity/EntityBanditArcher.java | 44 +- .../atum/entity/EntityBanditWarlord.java | 53 +- .../atum/entity/EntityBanditWarrior.java | 27 +- .../atum/entity/EntityBarbarian.java | 34 +- .../atum/entity/EntityDesertWolf.java | 128 +- .../atum/entity/EntityDustySkeleton.java | 25 +- .../atum/entity/EntityGhost.java | 33 +- .../atum/entity/EntityMummy.java | 33 +- .../atum/entity/EntityPharaoh.java | 133 +- .../atum/entity/EntityStone.java | 0 .../atum/entity/EntityStoneSoldier.java | 10 +- .../atum/entity/IAtumDayMob.java | 0 .../atum/entity/IAtumNightMob.java | 0 .../atum/entity/arrow/CustomArrow.java | 11 +- .../entity/arrow/EntityArrowDoubleShot.java | 148 +- .../entity/arrow/EntityArrowExplosive.java | 148 +- .../atum/entity/arrow/EntityArrowFire.java | 153 +- .../atum/entity/arrow/EntityArrowPoison.java | 148 +- .../entity/arrow/EntityArrowQuickdraw.java | 148 +- .../entity/arrow/EntityArrowVelocity.java | 148 +- .../atum/entity/arrow/EntityAtumFishHook.java | 103 +- .../atum/entity/arrow/EntityNutsCall.java | 138 +- .../teammetallurgy/atum/items/AtumItems.java | 197 + .../atum/items/ItemAtumBow.java | 58 + .../teammetallurgy/atum/items/ItemFish.java | 25 +- .../atum/items/ItemGreatsword.java | 5 +- .../teammetallurgy/atum/items/ItemLoot.java | 47 +- .../atum/items/ItemPapyrusPlant.java | 80 + .../teammetallurgy/atum/items/ItemScarab.java | 35 +- .../atum/items/ItemScepter.java | 16 + .../atum/items/ItemScimitar.java | 16 + .../atum/items/ItemStoneSoldierSword.java | 16 + .../atum/items/ItemTexturedArmor.java | 39 + .../atum/items/LimestoneAxe.java | 25 + .../atum/items/LimestoneHoe.java | 25 + .../atum/items/LimestonePickaxe.java | 25 + .../atum/items/LimestoneShovel.java | 25 + .../atum/items/LimestoneSword.java | 25 + .../atum/items/artifacts/IsisEmbrace.java | 23 +- .../atum/items/artifacts/ItemAkersToil.java | 30 +- .../artifacts/ItemAmunetsHomecoming.java | 24 +- .../atum/items/artifacts/ItemAnhursMight.java | 23 +- .../atum/items/artifacts/ItemAnubisMercy.java | 31 +- .../items/artifacts/ItemAnuketsBounty.java | 29 +- .../atum/items/artifacts/ItemAtensFury.java | 29 +- .../items/artifacts/ItemGebsBlessing.java | 20 +- .../items/artifacts/ItemGebsSolidarity.java | 38 +- .../items/artifacts/ItemHedetetsSting.java | 19 +- .../items/artifacts/ItemHedetetsVenom.java | 63 +- .../atum/items/artifacts/ItemHorusFlight.java | 31 +- .../items/artifacts/ItemHorusSoaring.java | 61 +- .../atum/items/artifacts/ItemIsisHealing.java | 15 +- .../items/artifacts/ItemMaatsBalance.java | 33 +- .../items/artifacts/ItemMafdetsQuickness.java | 24 +- .../atum/items/artifacts/ItemMnevisHorns.java | 26 +- .../items/artifacts/ItemMonthusBlast.java | 70 +- .../items/artifacts/ItemMonthusStrike.java | 37 +- .../items/artifacts/ItemNeithsAudacity.java | 33 +- .../atum/items/artifacts/ItemNusFlux.java | 25 +- .../atum/items/artifacts/ItemNutsAgility.java | 22 +- .../atum/items/artifacts/ItemNutsCall.java | 16 +- .../atum/items/artifacts/ItemOsirisWill.java | 39 +- .../items/artifacts/ItemPtahsDecadence.java | 27 +- .../items/artifacts/ItemPtahsDestruction.java | 25 +- .../atum/items/artifacts/ItemRasGlory.java | 17 +- .../items/artifacts/ItemSekhmetsWrath.java | 31 +- .../atum/items/artifacts/ItemShusBreath.java | 166 + .../atum/items/artifacts/ItemSobeksRage.java | 27 +- .../atum/lib/handler/CraftingHandler.java | 72 +- .../atum/lib/proxy/ClientProxy.java | 27 +- .../atum/lib/proxy/CommonProxy.java | 23 + .../lib/tickhandler/ClientTickHandler.java | 92 + .../lib/tickhandler/ServerTickHandler.java | 63 + .../atum/world/AtumPortalPosition.java | 0 .../atum/world/AtumTeleporter.java | 34 +- .../teammetallurgy/atum/world/AtumWorlds.java | 0 .../atum/worldgen/AtumChunkProvider.java | 491 ++ .../atum/worldgen/AtumWorldProvider.java | 14 +- .../atum/worldgen/AtumWorldServer.java | 5 +- .../worldgen/biome/BiomeDecoratorAtum.java | 90 +- .../worldgen/biome/BiomeGenAtumDesert.java | 28 +- .../worldgen/biome/MobSpawnController.java | 7 +- .../decorators/WorldGenAtumTrees.java | 36 +- .../worldgen/decorators/WorldGenOasis.java | 57 +- .../worldgen/decorators/WorldGenPalace.java | 6216 +++++++++++++++++ .../worldgen/decorators/WorldGenPalm.java | 71 +- .../worldgen/decorators/WorldGenPyramid.java | 123 +- .../worldgen/decorators/WorldGenRuins.java | 42 +- .../worldgen/decorators/WorldGenShrub.java | 13 +- {resources => src/main/resources}/README.md | 0 .../resources}/assets/atum/lang/en_US.lang | 2 +- .../assets/atum/music/ALongJourney.ogg | Bin .../resources}/assets/atum/music/Hostiles.ogg | Bin .../assets/atum/music/ScorchingSand.ogg | Bin .../assets/atum/music/TempleTales.ogg | Bin .../assets/atum/music/TheWanderer.ogg | Bin .../assets/atum/sound/pharaohspawn.ogg | Bin .../atum/textures/armor/DesertArmor_1.png | Bin .../atum/textures/armor/DesertArmor_2.png | Bin .../atum/textures/armor/EgyptianArmor_1.png | Bin .../atum/textures/armor/EgyptianArmor_2.png | Bin .../atum/textures/armor/MummyArmor_1.png | Bin .../atum/textures/armor/MummyArmor_2.png | Bin .../textures/armor/RubyArtifactArmor_1.png | Bin .../textures/armor/RubyArtifactArmor_2.png | Bin .../atum/textures/armor/WandererArmor_1.png | Bin .../textures/armor/WandererArmor_1_old.png | Bin .../atum/textures/armor/WandererArmor_2.png | Bin .../atum/textures/blocks/AtumBrickCarved.png | Bin .../atum/textures/blocks/AtumBrickLarge.png | Bin .../atum/textures/blocks/AtumBrickSmall.png | Bin .../assets/atum/textures/blocks/AtumCoal.png | Bin .../atum/textures/blocks/AtumCobble.png | Bin .../textures/blocks/AtumCrackedLargeBrick.png | Bin .../atum/textures/blocks/AtumCrystalGlass.png | Bin .../assets/atum/textures/blocks/AtumDate.png | Bin .../atum/textures/blocks/AtumDiamond.png | Bin .../atum/textures/blocks/AtumFramedGlass.png | Bin .../assets/atum/textures/blocks/AtumGold.png | Bin .../assets/atum/textures/blocks/AtumIron.png | Bin .../assets/atum/textures/blocks/AtumLapis.png | Bin .../atum/textures/blocks/AtumLeaves.png | Bin .../atum/textures/blocks/AtumPalmSapling.png | Bin .../atum/textures/blocks/AtumPapyrus.png | Bin .../atum/textures/blocks/AtumPapyrusTop.png | Bin .../atum/textures/blocks/AtumRedstone.png | Bin .../assets/atum/textures/blocks/AtumSand.png | Bin .../assets/atum/textures/blocks/AtumStone.png | Bin .../atum/textures/blocks/AtumiteOre.png | Bin .../assets/atum/textures/blocks/DeadBush.png | Bin .../atum/textures/blocks/FertileSoil.png | Bin .../atum/textures/blocks/FertileSoilSide.png | Bin .../atum/textures/blocks/FertileSoilTop.png | Bin .../assets/atum/textures/blocks/Flax_0.png | Bin .../assets/atum/textures/blocks/Flax_1.png | Bin .../assets/atum/textures/blocks/Flax_2.png | Bin .../assets/atum/textures/blocks/Flax_3.png | Bin .../assets/atum/textures/blocks/Flax_4.png | Bin .../assets/atum/textures/blocks/Flax_5.png | Bin .../atum/textures/blocks/FurnaceBurning.png | Bin .../atum/textures/blocks/FurnaceFront.png | Bin .../atum/textures/blocks/FurnaceTop.png | Bin .../atum/textures/blocks/PapyrusPlantItem.png | Bin .../assets/atum/textures/blocks/Planks.png | Bin .../assets/atum/textures/blocks/Shrub.png | Bin .../assets/atum/textures/blocks/TrapFire.png | Bin .../assets/atum/textures/blocks/TrapSide.png | Bin .../assets/atum/textures/blocks/Weed.png | Bin .../assets/atum/textures/blocks/portal.png | Bin .../atum/textures/blocks/portal.png.mcmeta | 0 .../blocks/stonebricksmooth_mossy.png | Bin .../atum/textures/blocks/thinglass_top.png | Bin .../assets/atum/textures/blocks/tree_side.png | Bin .../assets/atum/textures/blocks/tree_top.png | Bin .../atum/textures/entities/BanditArcher.png | Bin .../atum/textures/entities/BanditWarlord.png | Bin .../atum/textures/entities/BanditWarrior.png | Bin .../atum/textures/entities/Barbarian.png | Bin .../atum/textures/entities/Bonestorm.png | Bin .../atum/textures/entities/DesertGhost.png | Bin .../atum/textures/entities/DesertWolf.png | Bin .../textures/entities/DesertWolf_angry.png | Bin .../textures/entities/DesertWolf_tame.png | Bin .../atum/textures/entities/DustySkeleton.png | Bin .../assets/atum/textures/entities/Mummy.png | Bin .../atum/textures/entities/PharaohBlue.png | Bin .../textures/entities/PharaohBlue_old.png | Bin .../atum/textures/entities/PharaohGreen.png | Bin .../atum/textures/entities/PharaohRed.png | Bin .../atum/textures/entities/StoneSoldier.png | Bin .../assets/atum/textures/hud/mummyblur.png | Bin .../assets/atum/textures/items/AkersToil.png | Bin .../atum/textures/items/AmunetsHomecoming.png | Bin .../atum/textures/items/Anhur's Might.png | Bin .../atum/textures/items/AnhursMight.png | Bin .../atum/textures/items/AnubisMercy.png | Bin .../atum/textures/items/AnuketsBounty.png | Bin .../assets/atum/textures/items/Arrow.png | Bin .../atum/textures/items/ArrowEntity.png | Bin .../assets/atum/textures/items/AtensFury.png | Bin .../assets/atum/textures/items/Bow.png | Bin .../assets/atum/textures/items/ClothScrap.png | Bin .../assets/atum/textures/items/Date.png | Bin .../atum/textures/items/DesertBoots.png | Bin .../atum/textures/items/DesertChest.png | Bin .../atum/textures/items/DesertHelmet.png | Bin .../assets/atum/textures/items/DesertLegs.png | Bin .../atum/textures/items/DiamondBroach.png | Bin .../atum/textures/items/DiamondIdol.png | Bin .../atum/textures/items/DiamondNecklace.png | Bin .../atum/textures/items/DiamondRing.png | Bin .../atum/textures/items/DiamondScepter.png | Bin .../atum/textures/items/DirtyBroach.png | Bin .../assets/atum/textures/items/DirtyIdol.png | Bin .../atum/textures/items/DirtyNecklace.png | Bin .../assets/atum/textures/items/DirtyRing.png | Bin .../atum/textures/items/DirtyScepter.png | Bin .../assets/atum/textures/items/Ectoplasm.png | Bin .../atum/textures/items/EmeraldBroach.png | Bin .../atum/textures/items/EmeraldIdol.png | Bin .../atum/textures/items/EmeraldNecklace.png | Bin .../atum/textures/items/EmeraldRing.png | Bin .../atum/textures/items/EmeraldScepter.png | Bin .../assets/atum/textures/items/Fish0.png | Bin .../assets/atum/textures/items/Fish1.png | Bin .../assets/atum/textures/items/Fish2.png | Bin .../assets/atum/textures/items/Fish3.png | Bin .../assets/atum/textures/items/Fish4.png | Bin .../assets/atum/textures/items/FlaxItem.png | Bin .../assets/atum/textures/items/FlaxSeeds.png | Bin .../atum/textures/items/GebsBlessing.png | Bin .../atum/textures/items/GebsSolidarity.png | Bin .../assets/atum/textures/items/GoldBroach.png | Bin .../assets/atum/textures/items/GoldIdol.png | Bin .../atum/textures/items/GoldNecklace.png | Bin .../assets/atum/textures/items/GoldRing.png | Bin .../atum/textures/items/GoldScepter.png | Bin .../assets/atum/textures/items/Greatsword.png | Bin .../atum/textures/items/HedetetsSting.png | Bin .../atum/textures/items/HedetetsVenom.png | Bin .../textures/items/HedetetsVenom_pull_0.png | Bin .../textures/items/HedetetsVenom_pull_1.png | Bin .../textures/items/HedetetsVenom_pull_2.png | Bin .../atum/textures/items/HorusFlight.png | Bin .../atum/textures/items/HorusSoaring.png | Bin .../textures/items/HorusSoaring_pull_0.png | Bin .../textures/items/HorusSoaring_pull_1.png | Bin .../textures/items/HorusSoaring_pull_2.png | Bin .../atum/textures/items/IsisEmbrace.png | Bin .../atum/textures/items/IsisHealing.png | Bin .../atum/textures/items/LimestoneAxe.png | Bin .../atum/textures/items/LimestoneHoe.png | Bin .../atum/textures/items/LimestonePickaxe.png | Bin .../atum/textures/items/LimestoneShovel.png | Bin .../atum/textures/items/LimestoneSword.png | Bin .../assets/atum/textures/items/Linen.png | Bin .../atum/textures/items/MaatsBalance.png | Bin .../atum/textures/items/MafdetsQuickness.png | Bin .../atum/textures/items/MnevisHorns.png | Bin .../atum/textures/items/MonthusBlast.png | Bin .../textures/items/MonthusBlast_pull_0.png | Bin .../textures/items/MonthusBlast_pull_1.png | Bin .../textures/items/MonthusBlast_pull_2.png | Bin .../atum/textures/items/MonthusStrike.png | Bin .../assets/atum/textures/items/MummyBoots.png | Bin .../assets/atum/textures/items/MummyChest.png | Bin .../atum/textures/items/MummyHelmet.png | Bin .../assets/atum/textures/items/MummyLegs.png | Bin .../atum/textures/items/NeithsAudacity.png | Bin .../assets/atum/textures/items/NusFlux.png | Bin .../atum/textures/items/NutsAgility.png | Bin .../assets/atum/textures/items/NutsCall.png | Bin .../assets/atum/textures/items/OsirisWill.png | Bin .../atum/textures/items/PapyrusPlantItem.png | Bin .../atum/textures/items/PtahsDecadence.png | Bin .../atum/textures/items/PtahsDestruction.png | Bin .../assets/atum/textures/items/RasGlory.png | Bin .../assets/atum/textures/items/RubyBroach.png | Bin .../assets/atum/textures/items/RubyIdol.png | Bin .../atum/textures/items/RubyNecklace.png | Bin .../assets/atum/textures/items/RubyRing.png | Bin .../atum/textures/items/RubyScepter.png | Bin .../atum/textures/items/SapphireBroach.png | Bin .../atum/textures/items/SapphireIdol.png | Bin .../atum/textures/items/SapphireNecklace.png | Bin .../atum/textures/items/SapphireRing.png | Bin .../atum/textures/items/SapphireScepter.png | Bin .../assets/atum/textures/items/Scarab.png | Bin .../assets/atum/textures/items/Scepter.png | Bin .../assets/atum/textures/items/Scimitar.png | Bin .../assets/atum/textures/items/Scroll.png | Bin .../atum/textures/items/SekhmetsWrath.png | Bin .../assets/atum/textures/items/ShusBreath.png | Bin .../atum/textures/items/ShusBreath_pull_0.png | Bin .../atum/textures/items/ShusBreath_pull_1.png | Bin .../atum/textures/items/ShusBreath_pull_2.png | Bin .../atum/textures/items/SilverBroach.png | Bin .../assets/atum/textures/items/SilverIdol.png | Bin .../atum/textures/items/SilverNecklace.png | Bin .../assets/atum/textures/items/SilverRing.png | Bin .../atum/textures/items/SilverScepter.png | Bin .../assets/atum/textures/items/SobeksRage.png | Bin .../assets/atum/textures/items/StoneChunk.png | Bin .../atum/textures/items/StoneSoldierSword.png | Bin .../atum/textures/items/WandererBoots.png | Bin .../atum/textures/items/WandererChest.png | Bin .../atum/textures/items/WandererHelmet.png | Bin .../atum/textures/items/WandererLegs.png | Bin .../assets/atum/textures/items/WolfPelt.png | Bin .../atum/textures/items/atens_pull_0.png | Bin .../atum/textures/items/atens_pull_1.png | Bin .../atum/textures/items/atens_pull_2.png | Bin .../assets/atum/textures/items/bow_pull_0.png | Bin .../assets/atum/textures/items/bow_pull_1.png | Bin .../assets/atum/textures/items/bow_pull_2.png | Bin .../atum/textures/items/neiths_pull_0.png | Bin .../atum/textures/items/neiths_pull_1.png | Bin .../atum/textures/items/neiths_pull_2.png | Bin .../assets/atum/textures/particles/Sand.png | Bin .../textures/projectiles/arrows_double.png | Bin .../textures/projectiles/arrows_exploding.png | Bin .../atum/textures/projectiles/arrows_fire.png | Bin .../textures/projectiles/arrows_poison.png | Bin .../textures/projectiles/arrows_quickdraw.png | Bin .../textures/projectiles/arrows_velocity.png | Bin .../atum/textures/projectiles/nutscall.png | Bin 403 files changed, 11540 insertions(+), 11680 deletions(-) create mode 100644 .gitattributes create mode 100644 build.gradle create mode 100644 build.properties delete mode 100644 build.xml create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat delete mode 100644 src/com/teammetallurgy/atum/AtumConfig.java delete mode 100644 src/com/teammetallurgy/atum/AtumIDS.java delete mode 100644 src/com/teammetallurgy/atum/blocks/AtumBlocks.java delete mode 100644 src/com/teammetallurgy/atum/blocks/BlockFertileSoil.java delete mode 100644 src/com/teammetallurgy/atum/blocks/BlockFlax.java delete mode 100644 src/com/teammetallurgy/atum/blocks/BlockSands.java delete mode 100644 src/com/teammetallurgy/atum/blocks/BlockStair.java delete mode 100644 src/com/teammetallurgy/atum/blocks/BlockStones.java delete mode 100644 src/com/teammetallurgy/atum/blocks/BlockWalls.java delete mode 100644 src/com/teammetallurgy/atum/entity/EntityBonestorm.java delete mode 100644 src/com/teammetallurgy/atum/items/AtumItems.java delete mode 100644 src/com/teammetallurgy/atum/items/ItemAtumBow.java delete mode 100644 src/com/teammetallurgy/atum/items/ItemPapyrusPlant.java delete mode 100644 src/com/teammetallurgy/atum/items/ItemScepter.java delete mode 100644 src/com/teammetallurgy/atum/items/ItemScimitar.java delete mode 100644 src/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java delete mode 100644 src/com/teammetallurgy/atum/items/ItemTexturedArmor.java delete mode 100644 src/com/teammetallurgy/atum/items/LimestoneAxe.java delete mode 100644 src/com/teammetallurgy/atum/items/LimestoneHoe.java delete mode 100644 src/com/teammetallurgy/atum/items/LimestonePickaxe.java delete mode 100644 src/com/teammetallurgy/atum/items/LimestoneShovel.java delete mode 100644 src/com/teammetallurgy/atum/items/LimestoneSword.java delete mode 100644 src/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java delete mode 100644 src/com/teammetallurgy/atum/lib/proxy/CommonProxy.java delete mode 100644 src/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java delete mode 100644 src/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java delete mode 100644 src/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java delete mode 100644 src/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java delete mode 100644 src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java rename src/{ => main/java}/com/teammetallurgy/atum/Atum.java (92%) create mode 100644 src/main/java/com/teammetallurgy/atum/AtumConfig.java rename src/{ => main/java}/com/teammetallurgy/atum/AtumCreativeTab.java (100%) rename src/{ => main/java}/com/teammetallurgy/atum/AtumEventListener.java (55%) rename src/{ => main/java}/com/teammetallurgy/atum/AtumFish.java (55%) rename src/{ => main/java}/com/teammetallurgy/atum/AtumGuiHandler.java (94%) create mode 100644 src/main/java/com/teammetallurgy/atum/AtumIDS.java rename src/{ => main/java}/com/teammetallurgy/atum/AtumLoot.java (81%) rename src/{ => main/java}/com/teammetallurgy/atum/AtumWeightedLootSet.java (95%) create mode 100644 src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockAtum.java (56%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockAtumGlass.java (78%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockAtumOres.java (58%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockAtumPane.java (58%) create mode 100644 src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPlank.java rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java (81%) rename src/{com/teammetallurgy/atum/blocks/BlockSlab.java => main/java/com/teammetallurgy/atum/blocks/BlockAtumSlab.java} (56%) create mode 100644 src/main/java/com/teammetallurgy/atum/blocks/BlockAtumStairs.java rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockBurningTrap.java (65%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockChestSpawner.java (69%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockDate.java (60%) create mode 100644 src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java (55%) create mode 100644 src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockLeave.java (80%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java (69%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockPalmLog.java (51%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockPalmSapling.java (56%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockPapyrus.java (56%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockPharaohChest.java (62%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockPortal.java (63%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockSandLayered.java (73%) create mode 100644 src/main/java/com/teammetallurgy/atum/blocks/BlockSands.java rename src/{ => main/java}/com/teammetallurgy/atum/blocks/BlockShrub.java (52%) create mode 100644 src/main/java/com/teammetallurgy/atum/blocks/BlockStones.java create mode 100644 src/main/java/com/teammetallurgy/atum/blocks/BlockWalls.java rename src/{ => main/java}/com/teammetallurgy/atum/blocks/ItemBlockSlab.java (70%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/ItemBlockWall.java (70%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java (100%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java (70%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestSpawnerLogic.java (63%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java (63%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java (71%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/tileentity/furnace/ContainerLimestoneFurnace.java (100%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java (78%) rename src/{ => main/java}/com/teammetallurgy/atum/blocks/tileentity/furnace/TileEntityLimestoneFurnace.java (69%) rename src/{ => main/java}/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java (100%) rename src/{ => main/java}/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java (100%) rename src/{ => main/java}/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java (100%) rename src/{ => main/java}/com/teammetallurgy/atum/client/render/entity/RenderBandit.java (86%) rename src/{ => main/java}/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java (100%) rename src/{ => main/java}/com/teammetallurgy/atum/client/render/entity/RenderGhost.java (86%) rename src/{ => main/java}/com/teammetallurgy/atum/client/render/entity/RenderPharaoh.java (73%) rename src/{ => main/java}/com/teammetallurgy/atum/client/render/entity/arrow/RenderCustomArrow.java (96%) rename src/{ => main/java}/com/teammetallurgy/atum/client/render/entity/arrow/RenderNutsCall.java (100%) rename src/{ => main/java}/com/teammetallurgy/atum/client/render/item/RendererItemBow.java (81%) rename src/{ => main/java}/com/teammetallurgy/atum/client/render/tileentity/RenderDate.java (96%) rename src/{ => main/java}/com/teammetallurgy/atum/client/render/tileentity/RenderPapyrus.java (89%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/AtumEntities.java (61%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/EntityBanditArcher.java (86%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/EntityBanditWarlord.java (69%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/EntityBanditWarrior.java (82%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/EntityBarbarian.java (79%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/EntityDesertWolf.java (81%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/EntityDustySkeleton.java (84%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/EntityGhost.java (81%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/EntityMummy.java (74%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/EntityPharaoh.java (69%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/EntityStone.java (100%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/EntityStoneSoldier.java (95%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/IAtumDayMob.java (100%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/IAtumNightMob.java (100%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/arrow/CustomArrow.java (61%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java (78%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java (79%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java (78%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java (78%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java (78%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java (78%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java (84%) rename src/{ => main/java}/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java (79%) create mode 100644 src/main/java/com/teammetallurgy/atum/items/AtumItems.java create mode 100644 src/main/java/com/teammetallurgy/atum/items/ItemAtumBow.java rename src/{ => main/java}/com/teammetallurgy/atum/items/ItemFish.java (57%) rename src/{ => main/java}/com/teammetallurgy/atum/items/ItemGreatsword.java (84%) rename src/{ => main/java}/com/teammetallurgy/atum/items/ItemLoot.java (55%) create mode 100644 src/main/java/com/teammetallurgy/atum/items/ItemPapyrusPlant.java rename src/{ => main/java}/com/teammetallurgy/atum/items/ItemScarab.java (67%) create mode 100644 src/main/java/com/teammetallurgy/atum/items/ItemScepter.java create mode 100644 src/main/java/com/teammetallurgy/atum/items/ItemScimitar.java create mode 100644 src/main/java/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java create mode 100644 src/main/java/com/teammetallurgy/atum/items/ItemTexturedArmor.java create mode 100644 src/main/java/com/teammetallurgy/atum/items/LimestoneAxe.java create mode 100644 src/main/java/com/teammetallurgy/atum/items/LimestoneHoe.java create mode 100644 src/main/java/com/teammetallurgy/atum/items/LimestonePickaxe.java create mode 100644 src/main/java/com/teammetallurgy/atum/items/LimestoneShovel.java create mode 100644 src/main/java/com/teammetallurgy/atum/items/LimestoneSword.java rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java (63%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java (63%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java (82%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java (75%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java (84%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java (77%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java (82%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java (71%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java (75%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java (73%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java (71%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java (64%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java (70%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java (85%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java (66%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java (75%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java (66%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java (70%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java (76%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java (86%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java (75%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java (65%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java (88%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java (63%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java (64%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java (66%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java (71%) rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java (62%) create mode 100644 src/main/java/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java rename src/{ => main/java}/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java (72%) rename src/{ => main/java}/com/teammetallurgy/atum/lib/handler/CraftingHandler.java (66%) rename src/{ => main/java}/com/teammetallurgy/atum/lib/proxy/ClientProxy.java (91%) create mode 100644 src/main/java/com/teammetallurgy/atum/lib/proxy/CommonProxy.java create mode 100644 src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java create mode 100644 src/main/java/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java rename src/{ => main/java}/com/teammetallurgy/atum/world/AtumPortalPosition.java (100%) rename src/{ => main/java}/com/teammetallurgy/atum/world/AtumTeleporter.java (89%) rename src/{ => main/java}/com/teammetallurgy/atum/world/AtumWorlds.java (100%) create mode 100644 src/main/java/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java rename src/{ => main/java}/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java (94%) rename src/{ => main/java}/com/teammetallurgy/atum/worldgen/AtumWorldServer.java (81%) rename src/{ => main/java}/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java (62%) rename src/{ => main/java}/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java (88%) rename src/{ => main/java}/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java (85%) rename src/{ => main/java}/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java (89%) rename src/{ => main/java}/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java (70%) create mode 100644 src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java rename src/{ => main/java}/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java (56%) rename src/{ => main/java}/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java (56%) rename src/{ => main/java}/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java (63%) rename src/{ => main/java}/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java (82%) rename {resources => src/main/resources}/README.md (100%) rename {resources => src/main/resources}/assets/atum/lang/en_US.lang (99%) rename {resources => src/main/resources}/assets/atum/music/ALongJourney.ogg (100%) rename {resources => src/main/resources}/assets/atum/music/Hostiles.ogg (100%) rename {resources => src/main/resources}/assets/atum/music/ScorchingSand.ogg (100%) rename {resources => src/main/resources}/assets/atum/music/TempleTales.ogg (100%) rename {resources => src/main/resources}/assets/atum/music/TheWanderer.ogg (100%) rename {resources => src/main/resources}/assets/atum/sound/pharaohspawn.ogg (100%) rename {resources => src/main/resources}/assets/atum/textures/armor/DesertArmor_1.png (100%) rename {resources => src/main/resources}/assets/atum/textures/armor/DesertArmor_2.png (100%) rename {resources => src/main/resources}/assets/atum/textures/armor/EgyptianArmor_1.png (100%) rename {resources => src/main/resources}/assets/atum/textures/armor/EgyptianArmor_2.png (100%) rename {resources => src/main/resources}/assets/atum/textures/armor/MummyArmor_1.png (100%) rename {resources => src/main/resources}/assets/atum/textures/armor/MummyArmor_2.png (100%) rename {resources => src/main/resources}/assets/atum/textures/armor/RubyArtifactArmor_1.png (100%) rename {resources => src/main/resources}/assets/atum/textures/armor/RubyArtifactArmor_2.png (100%) rename {resources => src/main/resources}/assets/atum/textures/armor/WandererArmor_1.png (100%) rename {resources => src/main/resources}/assets/atum/textures/armor/WandererArmor_1_old.png (100%) rename {resources => src/main/resources}/assets/atum/textures/armor/WandererArmor_2.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumBrickCarved.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumBrickLarge.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumBrickSmall.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumCoal.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumCobble.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumCrackedLargeBrick.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumCrystalGlass.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumDate.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumDiamond.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumFramedGlass.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumGold.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumIron.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumLapis.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumLeaves.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumPalmSapling.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumPapyrus.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumPapyrusTop.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumRedstone.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumSand.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumStone.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/AtumiteOre.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/DeadBush.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/FertileSoil.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/FertileSoilSide.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/FertileSoilTop.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/Flax_0.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/Flax_1.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/Flax_2.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/Flax_3.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/Flax_4.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/Flax_5.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/FurnaceBurning.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/FurnaceFront.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/FurnaceTop.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/PapyrusPlantItem.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/Planks.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/Shrub.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/TrapFire.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/TrapSide.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/Weed.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/portal.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/portal.png.mcmeta (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/stonebricksmooth_mossy.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/thinglass_top.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/tree_side.png (100%) rename {resources => src/main/resources}/assets/atum/textures/blocks/tree_top.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/BanditArcher.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/BanditWarlord.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/BanditWarrior.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/Barbarian.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/Bonestorm.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/DesertGhost.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/DesertWolf.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/DesertWolf_angry.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/DesertWolf_tame.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/DustySkeleton.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/Mummy.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/PharaohBlue.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/PharaohBlue_old.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/PharaohGreen.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/PharaohRed.png (100%) rename {resources => src/main/resources}/assets/atum/textures/entities/StoneSoldier.png (100%) rename {resources => src/main/resources}/assets/atum/textures/hud/mummyblur.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/AkersToil.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/AmunetsHomecoming.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Anhur's Might.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/AnhursMight.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/AnubisMercy.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/AnuketsBounty.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Arrow.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/ArrowEntity.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/AtensFury.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Bow.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/ClothScrap.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Date.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/DesertBoots.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/DesertChest.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/DesertHelmet.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/DesertLegs.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/DiamondBroach.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/DiamondIdol.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/DiamondNecklace.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/DiamondRing.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/DiamondScepter.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/DirtyBroach.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/DirtyIdol.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/DirtyNecklace.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/DirtyRing.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/DirtyScepter.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Ectoplasm.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/EmeraldBroach.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/EmeraldIdol.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/EmeraldNecklace.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/EmeraldRing.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/EmeraldScepter.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Fish0.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Fish1.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Fish2.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Fish3.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Fish4.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/FlaxItem.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/FlaxSeeds.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/GebsBlessing.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/GebsSolidarity.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/GoldBroach.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/GoldIdol.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/GoldNecklace.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/GoldRing.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/GoldScepter.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Greatsword.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/HedetetsSting.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/HedetetsVenom.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/HedetetsVenom_pull_0.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/HedetetsVenom_pull_1.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/HedetetsVenom_pull_2.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/HorusFlight.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/HorusSoaring.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/HorusSoaring_pull_0.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/HorusSoaring_pull_1.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/HorusSoaring_pull_2.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/IsisEmbrace.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/IsisHealing.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/LimestoneAxe.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/LimestoneHoe.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/LimestonePickaxe.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/LimestoneShovel.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/LimestoneSword.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Linen.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/MaatsBalance.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/MafdetsQuickness.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/MnevisHorns.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/MonthusBlast.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/MonthusBlast_pull_0.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/MonthusBlast_pull_1.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/MonthusBlast_pull_2.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/MonthusStrike.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/MummyBoots.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/MummyChest.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/MummyHelmet.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/MummyLegs.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/NeithsAudacity.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/NusFlux.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/NutsAgility.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/NutsCall.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/OsirisWill.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/PapyrusPlantItem.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/PtahsDecadence.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/PtahsDestruction.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/RasGlory.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/RubyBroach.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/RubyIdol.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/RubyNecklace.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/RubyRing.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/RubyScepter.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/SapphireBroach.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/SapphireIdol.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/SapphireNecklace.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/SapphireRing.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/SapphireScepter.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Scarab.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Scepter.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Scimitar.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/Scroll.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/SekhmetsWrath.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/ShusBreath.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/ShusBreath_pull_0.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/ShusBreath_pull_1.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/ShusBreath_pull_2.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/SilverBroach.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/SilverIdol.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/SilverNecklace.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/SilverRing.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/SilverScepter.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/SobeksRage.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/StoneChunk.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/StoneSoldierSword.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/WandererBoots.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/WandererChest.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/WandererHelmet.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/WandererLegs.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/WolfPelt.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/atens_pull_0.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/atens_pull_1.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/atens_pull_2.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/bow_pull_0.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/bow_pull_1.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/bow_pull_2.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/neiths_pull_0.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/neiths_pull_1.png (100%) rename {resources => src/main/resources}/assets/atum/textures/items/neiths_pull_2.png (100%) rename {resources => src/main/resources}/assets/atum/textures/particles/Sand.png (100%) rename {resources => src/main/resources}/assets/atum/textures/projectiles/arrows_double.png (100%) rename {resources => src/main/resources}/assets/atum/textures/projectiles/arrows_exploding.png (100%) rename {resources => src/main/resources}/assets/atum/textures/projectiles/arrows_fire.png (100%) rename {resources => src/main/resources}/assets/atum/textures/projectiles/arrows_poison.png (100%) rename {resources => src/main/resources}/assets/atum/textures/projectiles/arrows_quickdraw.png (100%) rename {resources => src/main/resources}/assets/atum/textures/projectiles/arrows_velocity.png (100%) rename {resources => src/main/resources}/assets/atum/textures/projectiles/nutscall.png (100%) diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..412eeda --- /dev/null +++ b/.gitattributes @@ -0,0 +1,22 @@ +# Auto detect text files and perform LF normalization +* text=auto + +# Custom for Visual Studio +*.cs diff=csharp +*.sln merge=union +*.csproj merge=union +*.vbproj merge=union +*.fsproj merge=union +*.dbproj merge=union + +# Standard to msysgit +*.doc diff=astextplain +*.DOC diff=astextplain +*.docx diff=astextplain +*.DOCX diff=astextplain +*.dot diff=astextplain +*.DOT diff=astextplain +*.pdf diff=astextplain +*.PDF diff=astextplain +*.rtf diff=astextplain +*.RTF diff=astextplain diff --git a/.gitignore b/.gitignore index 123687d..99a3c77 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,227 @@ +################# +## Eclipse +################# -/releases/ -/download/ -/build/ -/bin/ +*.pydevproject +.project +.metadata +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.classpath +.settings/ +.loadpath + +# External tool builders +.externalToolBuilders/ + +# Locally stored "Eclipse launch configurations" +*.launch + +# CDT-specific +.cproject + +# PDT-specific +.buildpath + + +################# +## Visual Studio +################# + +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.sln.docstates + +# Build results + +[Dd]ebug/ +[Rr]elease/ +x64/ +build/ +[Bb]in/ +[Oo]bj/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +*_i.c +*_p.c +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.log +*.scc + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf +*.cachefile + +# Visual Studio profiler +*.psess +*.vsp +*.vspx + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +*.ncrunch* +.*crunch*.local.xml + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.Publish.xml +*.pubxml + +# NuGet Packages Directory +## TODO: If you have NuGet Package Restore enabled, uncomment the next line +#packages/ + +# Windows Azure Build Output +csx +*.build.csdef + +# Windows Store app package directory +AppPackages/ + +# Others +sql/ +*.Cache +ClientBin/ +[Ss]tyle[Cc]op.* +~$* +*~ +*.dbmdl +*.[Pp]ublish.xml +*.pfx +*.publishsettings + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file to a newer +# Visual Studio version. Backup files are not needed, because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +App_Data/*.mdf +App_Data/*.ldf + +############# +## Windows detritus +############# + +# Windows image file caches +Thumbs.db +ehthumbs.db + +# Folder config file +Desktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Mac crap +.DS_Store + + +############# +## Python +############# + +*.py[co] + +# Packages +*.egg +*.egg-info +dist/ +build/ +eggs/ +parts/ +var/ +sdist/ +develop-eggs/ +.installed.cfg + +# Installer logs +pip-log.txt + +# Unit test / coverage reports +.coverage +.tox + +#Translations +*.mo + +#Mr Developer +.mr.developer.cfg + +############# +## ForgeGradle +############# +.gradle/ +build/ +eclipse/ +CREDITS-fml.txt +forge-*-*-changelog.txt +LICENSE-fml.txt +MinecraftForge-Credits.txt +MinecraftForge-License.txt \ No newline at end of file diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..9e40bdd --- /dev/null +++ b/build.gradle @@ -0,0 +1,108 @@ +buildscript { + repositories { + mavenCentral() + mavenLocal() + maven { + name = "forge" + url = "http://files.minecraftforge.net/maven" + } + maven { + name = "sonatype" + url = "https://oss.sonatype.org/content/repositories/snapshots/" + } + } + dependencies { + classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT' + } +} + +repositories { + maven { + name = "Team Metallurgy Maven" + url = "http://mc.aesireanempire.com/maven" + } +} + +apply plugin: 'forge' + +version = "4.0" +group= "com.teammetallurgy.atum" // http://maven.apache.org/guides/mini/guide-naming-conventions.html +archivesBaseName = "Atum" + +ext.configFile = file "build.properties" + +configFile.withReader { + def prop = new Properties() + prop.load(it) + project.ext.config = new ConfigSlurper().parse prop +} + +minecraft { + version = config.minecraft_version + "-" + config.forge_version + assetDir = "eclipse/assets" +} + +task buildInfo() { + def cmd = "git rev-parse --short HEAD" + def proc = cmd.execute() + proc.waitFor() + if (proc.exitValue() == 0) { + ext.revision = proc.text.trim() + } else { + ext.revision = "GITBORK" + } + + if (System.getenv().BUILD_NUMBER != null) { + ext.buildNum = "${System.getenv().BUILD_NUMBER}" + } else { + ext.buildNum = "${project.buildInfo.revision}" + } +} + +ext.artifact_version = 'NFG' +if (System.getenv().ARTIFACT_VERSION == null) { + artifact_version = "${config.mod_version}.${project.buildInfo.buildNum}" +} + +if(System.getenv().ARTIFACT_VERSION != null) { + artifact_version = "${system.getenv().ARTIFACT_VERSION}" +} + +version = "${config.minecraft_version}-${artifact_version}" + +processResources +{ + // this will ensure that this task is redone when the versions change. + inputs.property "version", project.version + inputs.property "mcversion", project.minecraft.version + + // replace stuff in mcmod.info, nothing else + from(sourceSets.main.resources.srcDirs) { + include 'mcmod.info' + + // replace version and mcversion + expand 'version':project.version, 'mcversion':project.minecraft.version + } + + // copy everything else, thats not the mcmod.info + from(sourceSets.main.resources.srcDirs) { + exclude 'mcmod.info' + } +} + +task deobfJar(type: Jar) { + from sourceSets.main.output + classifier = 'deobf' +} + +artifacts { + archives deobfJar +} + +uploadArchives { + repositories { + mavenDeployer { + repository(url : "file:///var/www/html/maven") + } + } +} \ No newline at end of file diff --git a/build.properties b/build.properties new file mode 100644 index 0000000..bbe932a --- /dev/null +++ b/build.properties @@ -0,0 +1,3 @@ +minecraft_version=1.7.2 +forge_version=10.12.1.1060 +mod_version=1.2.5 \ No newline at end of file diff --git a/build.xml b/build.xml deleted file mode 100644 index 68bf27a..0000000 --- a/build.xml +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - version ${project.complete.version} (${project.version}) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..667288ad6c2b3b87c990ece1267e56f0bcbf3622 GIT binary patch literal 50514 zcmagFbChSz(k5EAZQHhOS9NvSwr&2(Rb94i+qSxF+w8*h%sKPjdA~XL-o1A2m48I8 z#Ey)JC!a_qSx_(-ARs6xAQ?F>QJ}vM$p8HOeW3pqd2uyidT9j-Mo=K7e+XW0&Y<)E z6;S(I(Ed+Bd0_=<32{|526>4G`Kd`cS$c+fcv*UynW@=E6{aQD-J|;{`Z4Kg`Dt2d zI$)UdFq4$SA}#7RO!AV$BBL=9%jVsq{Ueb7*4^J8{%c%df9v*6=Kt4_{!ba$f6JIV z8JgIb{(p+1{!`T5$U)an0fVi9CwR`^$R`EMcp&rQVa-R*4b4Nb_H8H{ZVot=H7 z#(J{{DW4ze_Ck|1(EbPiGfXTO}v^zl-H!Y3ls9=HV&q>SAGP=VEDW z=wk2muSF2y_lb}fJxZ}al~$+3RF^U!k9x5x zWyl(8dbQ0`AG$%Y?*M0m+cp^Qa}1udZW_Tm3>qdzZv!1x+<_Uf(p@M@ymKp>OX9|F z#L1je z9d6SUXxx2fS*7N*e<;=+3&t4*d+M`}GIPJUbTo-OSVjvF3WrfXg7*_H3ct9cxJKZ9 zLrMzth3?nx0{#c^OdHM`vr>x#A)-roI0OOn<=2h_wo|XV0&wMtLI5!@**l*_XQ2R` zrLSV49cUPRsX#(O5oQzZaIYwwq8Zs2DLXGdDKbr!Yg?7fxU|>+HHQ`48#X--yYCk5 z2_CBTW9rX2eLQC0%EyQli<87+%+Sy))FFW+RMC{*hfJ$|;#$?pAT~P0nL-F}%M*RxwBh)JT4trq7rR7dHloLmiM^IC{>usB=4fXXH9NMyWznFd(bffDK zE@*_maXO?|$?M^W>jXtsnk2}7g8b8%oLp);SNzqtjlYHDKkJ?J|K42x(kk(o{=Zub zF6?{i>=+HX3r6qB=&q|022@z-QLmMSLx%Up}FGL44Gk+C_QL5BU+!i2(vEvNf8Z)-btUdpVY9ovODm+#V7jjU7Y!AWEnY5L4 zy;^;=x#{x<{pUJOVPj)cXJ>gsJ418R ze{ZN{4Os^?bu@m)^eIMs5MU5c;IIG|=#WSfkfeyP1R(>Iv2Y(9if76Ptu~dWzdSmPFUp;6Ezs&WmP-Mn-9ah*g8e8 znAxyrWhx~~tuF4fFyFI)v-S3=C$HmPHmqv%hb3*;ljbj9zaA_}QvfU@RJCGH%&3Mc=GR}sQDh$UWT-8|{1QwhXWO-dM z3?^C@cbP^-hfFljgacs|7mE%a1FSMK5?o1{VuaVB3iP=LvFEL@C0pfwirZ4SXxMUy zrMG05M!9CU@G7-}bgjI%x$|_B9Z@Hc86jXlPhZpJfk@$BToMpqU8Y zS7rRkdp>e0{86ZjFbE^zkdwV*R|JV3EhCJcqjJlZ1HJnbe0I+>a5?HpHLs6A`4&VE zZkHUK@cLRF?y^Gi~ zzERBcPdAs0R^=N{aeUhK(Oc+@?mb~Y)__*Dt{8Wawz6H_)v6niTA_*_%)UP`0`WBL zFONOa&+T9+RMF!QsgKq(%Ib;a-!w+*&V)Y#Xz0(87=H{^VBk3UVeed$SFCL{IJMl-`1FQ@Es zq)F=J+jn(WH_*lNW;=>)d5ZFyL~O+t;)Rex`&~h0ZJ`wg7K@*lu0E7;tx>KLWPduY zB{4G}TQLJE$Fp^?*3raESC`NSpmv`$M^ zR?`+VFj;fQu`)I4O1dHwa_R-0y`qHjG*yT1*ta##G_W-;1ira)uP6}+r|OX64}vD7 zCfB#p>H^?YEyF6K(H( zcSh4u5_|{iq)=K{S8Z{@n?&h}u!l2^EP#?v?Obp5kDl`o9~up%2*s>1Ix5~kT~M3` zo9Mg;n$TcwaN!PHHbuUUw3tRqYfjpz$rm9)1|S{rtPnG|3qao}1W27Wig_4j-(rTjVi`D@Hu z`P>h7i$K>zzc1rQ!~L?29sG(`4ewg^)@Jc)II0KI)@q=D4CEaX%j&RlZ>Dhv0p=|f zDJPQ~ioTP^ju2_j2(V9haP$r!cTNIK`eUF|-}43c=4*G09&bROE80IECDekrK%+jW zBayIlJSDqrri?dj#ZGRQI45{XfBLkOiWIkGb#Tk>GU0NMA&{q`1jQe9jlfJZSTNF_ z5nD5A=Z=a%6uCagCu3np^0R1ibyV8p>-XWfFJK2Gb#o`L=pCm3Bz0F-w`5gv7zJaA z)RS8mWR&`<;DgOxA@S6FQ*5HVF=Pi6>}viGQ3jbA1*0gz7vev?ig9gVhr!>t4e76E zq5scb<;TCmT2XsDGfQ(RVj)A|h<&2OW-AJrbhweQvr{uOf)AdTJN|xO zAOSplNX(IEhc4?4!HsA&Vy7Ayn|y;{2-yn=}+S<{JboP z+O;`IR0`XIjUt&s+%;#~ImRt_GtRFatr{*eLSOp`M&L2~I&K?Jn-<|hTDADdW0!CI zT`L(i=DpZ{m#h7}m5b)AA2rK@4IrsGNhTCLuA(5#C4^ihsG8k9wtfgz{e1{i2dg)4 z+mI{R5E#Qkbkp^PpXHo%=j>nj&GC#hXN&B=ng^Nz`nHCfc3$|&N@`tY-`ccR_&0zX zWOMW?UqQVp6a|9)%p$rhzNSyZx#rwXmnhl-bz2n%^a-VY_->1Rq3M@UM*B73Rbh3KcNU|sUv}tj}yqehs%OmelPMB0M zliOnQ$*!7!%0vXViN+eRgc?|(1-`Kgq(g{Uq<|t%Bz*Q}Y@)~Dxqfxxh@oH`C}F!u zVKM>}SoSAuA}tUnZK%W}VFDOojbWmn1c%601hYWY6h!VJL@bC6^kD6@5DA{~rDbc` zz$!9AztbeXVgISB%D(uPM}Of3_Fv4&^q*DrzatANL%Y8i?%&Z*jK+mCsyf=YZKlbf z+hn1Vj7%sLh~;}k0J;qf&74dzBAF6hP=~yIQm6^14M!6?dhV;l=Kx&n;12=r;6bdu znKAcoswa2O{OPE5Gq3CJ6W7_dZ0Fg_o$rq~%z)3=pMwn1WgeoUs1j^hLuCL?_E++U zUl8cV_e>1#s5BJnSsHgKVH(k3juJJ{(latn3c<1EL^IYNxQh#yBCy;2!x%aPorztP zjJ%Y^H`Yu{q|z#bbRlXv*1|BB=p}$j7!c7C(+){=Hpz}swAa{;Mv?w7=0z0L(939t z85~w@r}dG`qJ(r7Jk^{@x!g>S2N}H{+N(b&vsMA1Z#qSh8<*eRxUKlI&Oa;*Luox`bScaqq#hN!IK3bgB zB`i9szi)5mm7=-Sfccdew3}(DLGfBO@@O!zHa3jAA@asvg`6x7z?j<@r!?HkxDGl; zA4MQQdP?iygX<&#Pt&fZ>4)tZ`4;uBW9N{x=T%*k!S#nf$>KRy}>6yQy?^(R#_fv9|9gTaH7IwKpOb=Xo?gi;akww64+&sf$z|_oI zuZahhq^LF60F>Rc%fkD!7@rigV#kVa^+@?Px~$YsNR3)QPBOZ(f96@IYTBerb(63c zz>}2iX36tDclpTaec;b}1pAap^JYHW{v(X;O)ygVC?+2IJ<4~lV|hQY9F&fz1UDoX5607wu*7FLP=u_rpZVqb zT#DD($Gu8`ZL1j?)6BP@h^#Ro?+wo>lacs#^O^h3c%lrP#Tk&f76F66$)uko$~U{i zFxE>!FOr^ZN46l7O(fh3ODY*ED*fGB+br75!b zD9RQm9(DT(;y?RI{yGj7%_y8*a2V>LYb1M$e5qJezC!U zR-eGYfjYJ!gD34F6x`2&w_<7T-E^D#yUo<&OS zc1dmXr~k)`Uat3yd(Xob>E|E8mmLrXobN;jv|@g)D0OHYJ1I8rlyDYAbYvcT+%8Sj zyDTth@@-~MGjYR*#RQ^#3j3XXL*1dUkl@#l5XF0c^E)53T$DRY=-htu!q=>j*#p?F zSCUz~s8xl*&iOy(^Ngfv-XmA*;GBW zd)}`C2W_ashy}02xm~3DH36VWBLJ10Il7Id6nt$~7hora6?Ils4LaFoFuZm?UJmAT z-3&$(^VAx-lSbLl_O;C=Q{eh>+zEMdU5!VT4k3ic1#w_+)-by@fE^>1sU&)xy_ws4 zq>WjPpOyZ&8o<pKeHD!`!)ch6}P=2?*1GiR*lYgDdHl?x-o7`hcV{KiLo}+xZ%sf#cl0pH_6K{bq zJ^!4l)|nnxEEZo|+C^#VtxL;YGSGqvxx;)O*@`@qRekwLLNq6DAOt*bI;>KPM!}** z*1Fv^$Ob1f_^3hhEllh0rml_3l0gYu~zep zi*ck$)DHOCTC>mzKw9~QfB`qEqwJY9v`tosEI@3GmTICiWK7~mMjAyp`O1}(QXfHS z>I0_glIrf2a);VQV~kDfQmL&R&8yX3mcimT!67&}8=24)t$%BU*8A&@Hs=$k7KZC# zTYN^qk95D4#q5?W`MM}sK)U$CCNE8|C%e3CXNafxch(eEGL_+Piz|4%*V5)8zAF*P8JmMUCYz%v(Y>ssFWfrj)^We?D7Hx)U#H`)OGH2IiptVS z2*zF^F)h%($!r@~7>1<19H#-i?~NUfQGG)@kw(C!+efD4E|L8jmIO9uP6su+9Vme) z_Ut*1ruchGUdny9ogKS9J#EHo68*jLp!D!uee*%?fo0~NSf8QchIDo8oULzpP`tQ3 zT}c@f(sqT>I-GJSSpkR;CSJA;>Vy5h`}yCCQ(YrT&O4d3zYfl}u(z6VCE6!F;F*76 z9j0J8{ssW#uLmNn53($aP9>wroVI83#TbxmSWb`TR@1fFW3)dyT%j-X7{NjG)mBPt z8z+G-hb{;ve{Nq7hNHIcwvmwURm%F#C{Jia_1Xs2a;#VmHY@`q_oFT2!7gKT1L$_S ze4X%%XFJ_o4wSPX)sr=BrRLuUVxO2k%NiH>WW1LwEI*K{3Gz#YW*r(J_Sjb*2iasE z!QPPy6q}ec#&eKI67nf|({Azk6jE$x>w`_s;hWgIE=e_ovbyj_2_8Fh5WIi)Q06ex zK_rmt=gfYqkR{}_CY95yTSFZsiL!^3CJvV4kYI{vBVoSPTEKg^5Yhjh6Q*qkbl3Z` zxrAGk8TrF!V-9SzKxWt&%eP$HlsQs0ga${AUpu%Lh1E=Z@$g5?rRAwX)DueM5vQtCS;kk&S~>Q(zA}iXj?uYPSN2g;`3 zr)tMR>iS6fS{Bt4(+lHMq?p7GTTP4Z-3CxC>~=?1uq|2lu9RZ)h-_brR*o4NcMfZt z>9{-CUh@iJ&~YV=FmZ$@bUu>LCHA9Bs#;S-ykkxyG&;)aSds(|=LmlnnN>@$5#y6f z52PWa7ov;Cg&4n9^e8SUIxgmgdaGopW=?jeS>5hOHimVi!ixB z&L3V_Y{(6VZK+dE@^d&Lp5biwj+@@G6Y|R6E7bpetG}Z6lodOa3o-q%rZKdO?53uHjV=~>M>LX0e}LqA0#;Wi z>Fi99*d>>vgM$sFrG?jSll(bPvE3F0SBr`E-F%7bVw3zL1%G0T0xl)LpRL!9rRcZ4 znW820$m!^d?*snLNAF9IeeeBXsy=xE{l^`V_?cqSTM64v;<2La{6~897oU{tV~NPl zGm`(o6A}0+qsbLx@tZ>YcEJtAnfK!lVXycvt&CpfQ~O{wVSh^PZ@v7R)Oo=a~+pMUfd_P;?MMbq0W zn5d_K8KCPRQ7_>a%$}tW5E}*pRTz%)226#|i#S263Qo`)>UAV&gS!BZJCB^* zD)9KKv*&q?w2V58r&^+i9tld&yUj=}t)c(aVaT2V_ry>mvCmQ%m0*}^30i0^;xDFP z#GK)q)7zR!wDLf_FI+hJNHi+CQYLx%kd$c4;YQ(OP45JYT0gFhYtmR|&A;F>cY8aj zC{lzsg>cZL@c@)hdyj$RA8y!D!n)(iTko!hyL)Wp!_&LE&D6}bxGl&Y_tbnuS`jQY z(f*_-X`iYEoxr&a*76lkZCe-a5AIOXCY># zbiVD(DT$0EI=U*Yf6Sl8f6>23pKEMNQ4Ajg^{ZHghmvEQH$3o{ms4*o6hgYvpNE+( z#AZ;x7E{DM`7Hvh|Bml=1j#gyl{K&_{-jEI@)yyKG&XZ8%52}!B`ZE?EL7#WtMBKol?Mvj2saaE<61>mL%<6)IXN}3^`@*!@} z341EQrH}dRV~Fjv>F3@mjwCOV$Y%oyGr0LwkxkuPb6X#ms0o?9o+d9{x3cbiGKmX3 z^!+;D#Al?M&g?P9kq(7|b*i(XsOwP?H!ElS*uhTDBDKArqGP#E7dcE;HWkvkaEAW? zF!3|NMZb>RCGHa5#)`X}8w)%}Ey|gW@8DUXNsDR*{esPO{W?k2a}RxGK|616o0)}e zw?Os9aROYmtw`mSga!UI{x(DS%Vyo@y>JF`^Fi2A{GhSfM8=YCUiq2tRfBwSZeFh1 z8SG=1Ot08%#iR0jnhZp?#@V2YFnQ7qP$zE3&#`>FhsO>}OG$enmf?*FVG@qB!C+bO{M}K?d?H2@pq=}!TIg&Q z<|^+Ey(ErEeOf1wvGI?LX+DEA>A4Ka7Q!%PAW&4a-t8+>1M9b(T0qACQ=f;57D`tu0g(=;a7O*h_Jc4JEypx1gs; zCDX69d|g$NsXEuD1H|$3$ZHE}u3HP4b!9=Q%rqHBgCfvK3>j?XLQkgDUg`93gF?}s zS4$rqaDE(s2IL!2Y@kw=(NL~wa24NU3sm0I71mIjZ>?9}bNl5^Al?Sk^y(`qsW$ER z@g$;Pyb*^A=G{Yrb0a>4vvBBZ5U2|)}iX;AAo6X<=K0YOtm49s4edp~uvJxx$&=o-&rGttC2~o83 zfuN5-wJBS(4plr-Qmhz$`*di+<4KB`>;9BgrbANhj6VsJNxLq5IoU%8vF$2M+Z2ek zTw84Kxg}m}jc^*zK>s;O8dE$R&kkO5>*Y75eKaR2>i5fb7o!D~D0P;E`CzLz<48 zBzH@erfNN`nS4Uy3@n#r)*^n}uKHeJxygl)GV-F`w49%s`cYMPYi5Gahg$5e??^in2I<7 zUKZDwHf#riMrllW@f~Nsm&l0q?KJzSfp9hXd2pb;UnzJj^xc9bqY2zVLk%GU)}?}} zB7(TNFqdZnN}qRsHgj1;xcwQt^<58f3wN(P=y%mH3&}An)2M$}(>TF|q1;N5^ZX`t zd&q8vtB(q@FPC>=6)%sC=t3jOE{U+j(IShmITq`TXA`_QKhoBZ7GXEN9MCEV z+~@7gbqUElkbsjU7o$HOfy49&nNHI)#@Dt#fvePViP1MzItEa|goh@hCZ273Hd#4Xdhb+D?L0E87T>DawyVvc3J#zePjBG zaZj%zUc`L}>#2=d=9E*RS9(6nm|%{&E`OI4~x8fs!0ZZ3b-$x(I3NCjCbUBu$h&4 zvkoaim?yiSh1?-2osDeuCf;fbpe3>H#44}rDb%z#W=Jf-*l&-c4uk{yAX)0;9gvX= z#)Ov%5_L%}8e9yEMI=PVh2w~CbgO6&n#>WB?TO?1h+5Yitr3i}=1JW98CC66#>33g zXG+Th=cRh7?7HQYiRy+vd{ov@)w1~xg@TuyK2?xGWXu88_2%M2@eaFd&c-wqqNP26!WU&USZ z8lIHzv`SrJIVF=z2amJL`aB8>O7!d0X?{4zEM+hWKZDaY!_ekJhvtHd^7?hm>;4d@ zeK2Evnj=*zE(YguNX`-&354G{M`WHLvobFJIa9yg@YweQb2NV_p4&_KA0#<1V4d`|3w~@!Wda7`st< zYW?_t6&a=_{Uf&^ zGZWvYxn={#fj-{6v~}bU*&E+%&Wlu@!G)AUL<|!YF&;Wt5x}BM0*{RdB?B3}`gI!y zj553FXs}D9SFRVNei9isSJcMC!3@^b=ePm!`OM}?eK*P2HgZK{1j$CJKRVD)>81IkA@&{z~;ow^HGAt9aw-uE=tusp@Din2k-hBfMQG|V1erRt^^#(kf zQgupM_mjXiJP~C9gG88#+vMpN>pP3tsvec=R=AjpK6(QH<hWIpOCT{1tvWALW6Lfn1W{#(itOApM^OhR99D@A%6#OSz-s+Q!9QsS& zCI3wh{eNMaMeOZeoL&CX&GLqpcB(FhPA>lsclT3!Lj#F_paHxBrO$>L%mD-~b67!D z1~-olI4)rvJ!SWC8`+8~*2V+>RkNnOb#`h)vdAAyqV9xtx zMECS`Ugw#qZsX6lS$js{u0TT5SH~X`jAmqAjD{K#w8ti!gI&?!boYkRVUWz&lbU;j zpI&^siQ!M0$w;Y8f6pGRQGT1+7^n_FK1n%n#=X`JhmStJDve0KY7S67DZM#qOJF9V zsDSvWX5_Ceg7D?vh5F&(%8r5@;-NmtUM&Z~CdhPHI<~GF>GNyiKPMbBbs?{JaFpUQsE*gVRbs zEv49jG95i*$&=}FTc(jg(zL{cLDWfnG7V?guH&aE6kMsRMlX`f2A_$)&f1YNJtD_G zEQRHuh&2^kQ#&G~_Tdnw#7hD^OP={T-S`-#7hL-v%-Yo+CsrqZStHFQd`|C z8@mVz18m8%DgMB0My7%LL@iHak7P4Ah^U6z1F{v&MJJvISf*T}A7KH-4c%fj=~gT- zHX0-tQ8*3d8Qlj)Rv5#D((4pQe6vFQ5#(Tu-+Z>7YHTlH?qLbF8gNPN0T2b2KiU7Y z;jIP@EeRtqcp`2R$~G6e(rg>M4-2lpPYXVK%YNrH7>6+!ClN+~>M1+G3DYy|u6FqV zRLMQ~o8_{~0L09EDk}#Drv!hg{E`E9y_4=#1q#C#0`sN{g1wMR!Sa`_E$=8l7$jsv zFf#b;9e?<9a6td}ThnPw7AURoVe|BpI*p4em5$dICdDLevr=8O`p=QEhH8?PVXfAZ zbbP^ybvo6rIsgHUB3EtV8lqYhw%UzDJtP{bt^XjXYH_o^OqFd@!kwVvTk2 zBG|Ahenv*#WTt1SAkrj_V~5HSuQ~GpT{->!jrjE-v`Zf|a?upEKsR@Z&l7eVgyDKx zIDZ1gJEvHlP8FUycaZm|AJ9DkFDoYnx0Aj8*#)$Fy;@{GLD$BQAC4M>u!Elq_c1vzSH@#&FR16q3Cxx4oLvwP=f+<@S8~wy}z=stlxT|jUJ$d z7cJ6nZF=Hr*d-9e8FDv5WjBhiytFq%g|TaZWe+eyM);j@Kh4r59@aW>%dyuZ8`c?m zc!k_0dh9+i(|LHI1a_11#?R8l8T2y#;fF1N)DLO;6%Q9a*hU$I7&Q|Ib5;cq%!c5DCI5wVr|1{4;5WVk%7rjfIP8hpujO@b~BuVlr29_JWtJ>hp z7A;x0N@bFp^2W-7ryDSO`!nIbok@UDoUw;UrUz>{_12X6idNYNT|a97;#C4{N3E`_ zl#!ihVWru$$=`n=h^UoGhbts>^OIOi!t9sJYex zcWq{GLBO_(QPq~CfvsV?m~BeoXB4J48?9t`7{IN^B2|pL#%|)|Nk;&(8 zd*p6;RXJJ*U8;8rG}ClE(=G}neQYM7w-S%n4>B$Z>5;c zaaFy_anPH*Iff?(4tOo)x{j(uWciGp(pj(CdQ#uE`^6Y1ad1*oFh&s7K9B@aLIusr zvrQ%{S7R&HqK%>e)vG1@Ygnp=g=GVM4CsRWisf_%v<(c^d6lo&1V8SaHp});3TlFk zG#e?^KSZefsKd{jB?QFNTvMNZINe?VKvNGmoo=CYRU?nvmJz#3kon4YoO}Y15~ii< zw`0%`p{>o+EQ~{}#TW!D&T8Tn7_+A-&mOYP^~>Hl#q^H!spWjs+8YbVgxO25UOsUN z(<7r#ZN-Y|o#k}~8SSyJ4jSgG2g5<;8IK%#EcoU}Wcs;K2RA|6f@+&2uZ&Na1+{y! zT;JvU`mgR--^zFT-XJi$H?~ClDYfY6LhB!_Ny7nx=U(#ANjOQ9v`?>wfw~{iF z7iy``+ne+ZHHI(z9M$i67}3t^eaKrOdU~_qpt*>I&Z?*lwH-fFVF%MF>aY0Bvhf7h zAlI1y-Ljs7H*OPTr(#w$4n^uB3aSI_pVg&-Ocy-|^KzFz4#@0e(^$H9Rh3J`ozlWFj&MQyrIxnfkda8;6m}LjSsPrxErj|osSsJ z&jo8TaWE!yAfCfv2+(<<2A-cY#~I^>HZ4vgd5Ba%XU?;u7MVy?F>|NMPNIp0#2YwiZTB<_ip#a=5n+UbTCvk^-;PCb06bq2hu{kC=ala6;aYD60)q3&7JGDnwT;z^yce=7daJ|-puuzal;!BAu=ok#ta0d{S zOY92%j^NNEC64@f_q2YOc@2K3Ht#+bkWS6Y!U$76?$E(tBS1TRu+X`T2%Hm}5 z$G}vhy#EjY|0ga-lGVSw`WuMSVgUis{O3Sa@_${0{C7C|Ke73L@!2|fe?!sUI;Ke` zG81Cx%rq0!BnNN}RAaayDqtfhT%j2wn*)>dzVn9Q#zt;0E5$3rjmJ8z%IBu%=ye9Q ziu%-+=bG-DKXos@+J71BpU-J{y9vdy@$Ie-Mo?j#JCH#6j@d_NnDSN{J$ImxhG4K1-AAJTfTm@y zkwzeV_Rk%-=W&#uk92?P(Z!F$V^pVyN|aM*!5)ghp6gLgG#}M-ClQ35`vbGLj~2om z#_4u1a$ZU2izx8ddYMF z#gRInDsFTHdYY+T9h!q^ZnfOxy2;G4E6k)B4e~PG{ge2GZ)yuUx}yanU0KWTuO9hM zAl4TT(^-N^1gg3mHB{CxW4JKcO>Cs{3~?3jBrL*J%hyH&b%TSTTfw8KEq-*gOqL&x zBZWS*BO+mH>r{hgLv@J=;?sO_9}yLN`zURJ3d(e(mL*kX^EqTO`HIkVlM}zQ(-hXO zS>mk1Rq9_~1CZH`7Tr>&0%wz*WIxwF^^1D^DWSKD)FAOaHzV})eyPyk7lnyNSfvfX zvTsJ$<&E_C92MF>*AHiq@?)`Dn%#|_Qh za(?Iz3f?M$e=pqHe@G7c-=TfhAzl1=vV{LG^mW8*weTRwsf8xSpe_(Y6;P(BTOe)e zH0_Qa1=sMjam$cIbyOuZ*XZDtWbcCGoVO~V+mU;qe0TM3;7?~O(LA7&E*(98L|$`0)graBHY!{tsoLS4* zluf$Jxt+S9_sS4?5D}yUJ0nggbdNR+!=$b!h6pOJ7%i+~+c5ZwSf+{kbP-D&0%eUX zQ~3L__Ams-qVs8?shPyVRnFEI9Fp(D@&g=u6(gt~b2;Tkb>z~ogt}P@EsP&6uY>iG zzr;6e=_=-iC&naxoa>OxsN>Eu*q=F0tZ$tHiNTJTSD&^~LgBrI>2_Q$j5HW}XAx^ym9D&~X_ zZ_d}T$`AcZkQ>;eg#ldX6`u3%Hka9#NRHaAu9V$8sxVSSb>3ZcO(KQ%An>4%cDST>@~&74Zl{1mEkXEVt7jfO7|_C#=ks<~N1E3-dd z9qn~MPSEoiE>UWqUA(KL#Q-MurE7nxH_S+FA25TbvWkZ}*8HNVj^tZ7R=h-$QaqQY zlM;O5?N+dZ=cPqE@}}AZibpMLO`nEc^Y&;^n3PLhyv)PH-4Q&p?wn>>;u;mqxC{*y zJFao4I#f74vU#W3H%_)UtuFXq$XfxSC|+6m1*M}im_6&DaXAqq@;?u8XYrceVyP}w z#Fx`%3{x|1G;_=f72Ui5ejJxJiW@F=zijT=G>-*gO?}u=Bwq`7*){XtvMy8Gg~t@p zH(XNd5Dc4usl=7Gd0#PxSl`e*Fm^EWvmS!Eo!@E;teuWOvo5$FfOC-UC&Lc7ehm1) zMDB2bI_8QRInX&{{5W8eoF?xBqj;l}gj-1jgb%adCJ{Tl&|!#Ym?<~p2G_bH6dSWr zSwDgMT2d7X>z|3<#wCMIK#uwVyE4T9*qY|K)e@~7tu5=+7U-ehaTd$0=re~GG|0;w zn(1QtNXrxoDaMvftH1JkJuxOZcjC|+%WUZpQ#facxj4d;jRVyix$Ge-PwLF*PILR$ zu|tmQV&Q(5I(`M|bt(@#lKQNQ$)DF@!D|LeSgnUd%|*-32PxWHB={GuvWjv}CbLOcpbin3wj(wkwzN9OC2jsj2K+KWXr)1Uw7lIYfp4DU}iJ|6y zWsYq>Dkcq~r+WFGO&6ZR&t0p$tqB&~%nUc3ou{)6oh1SGfeR-8W88{uGPelX-T-ke zk`7;RfYs4s#!&gfZyvhXNf;LkP)iG5@iIpnJ?xcdtgxUc&Kg_BR}ZJ3XWAinV$R) zekh20+d^x|)cdR~bO$Lwyi`YnOZOBa7# zzs9L-LwYI;h*DF2&7Ld$QSF)^U*^T6`wCZjm~2fVFHI~TnVO4YWA>)R+=Zm2?6A6%&V+igaN5`0 zQ?mRv#Ul$=hdpMH$oOb7jIGKWM3f~!?3-=X_7kpT{GtHDzk=oqAJ10Y z&yvY$`2V}@z(1s)|Ly4Usd3Uk(?I{=XCY>ej-=AApsK77rRr~}45R|pwibhcXlQhk z$~JOMk4Su2yTlDUL7g9Cm09`lbuZ!6l02mU)YRuXA%yi{Db|l zi;hHuv<0(K38!#VRt(yIZAFxQy{$!*jYdT@7p>hFX+1#9U#rJi*qt@RY^Ml!s-Aur z18QcAHkMGt^2-^xM@bI?m2rOM z;Wg#_KPzwfXjRk8K)~k^XOrE_^T?AD$z&}IRog;`Xu%~W(x6UZO)woHQPEKD`?(y+ zy(_yx7vn)Kf_d?+Y+}vop1+$Dr8U|JtR}Oh+SY~2_01TA?jSR}REUWo$^F_~ zugzs8%a_p4A^^_N8pbR~8jFsDb*Po)3YQw!)kk7w7QNWJ(A`eaVbebZcD zD$|h|OFU5+OI_a=$}~f~F%Z^*Yqfzq?Q+m6oQh7knGl%rzs~@@?7OSVttd&2ks4QJ zk&9P6W~DtmRXgyLi`xho4m%Z*P0e1JW|v!fUmQe5>Ig6{w=0k?%b!4qWOe2w!#)U%&09pluOgJ?^0+fb$YofO zg=R=-YjIBzBK4bmMU5M;4aL^>$ zDbnQ7!@GBME=7F{8t3qrCEO@#YLA95++Nj3`N{@WT#=z0oL0DRz&{lQv9cC%1NCbp z*VFAPc<~|RCkLqx7y}%~XLC@+<;B%Q>R|MDys5OPnuK)j<9lCF8d&(3Q%BW983-1X z`Hye1WchSn5>peL_Xx+2i@PnSOXOyN%|ELKhU^Ty#MjcJ)vTgVB@gzSeYlQ?zL1y~ zQK6-v$vz+liwY^@S<;0oKVVOy7d?v`QqjU>Rlh^8Mh|)u2+-u?n?(Mj>)AJw8UC1Y$A?R3sfBfV?JK#4=l@63iu=1w;Qdlhdme* zzj61I%uOB2h7+EoD2|LiKR}f@3_aX^)@FF)9)XREew@~1S8z_1Adp`vcX8D_!;{oo z!;|N|FnfxqjbJBFVR$koHiADY>B!g!9X+a)n-4@?gW&e$K)VhmVi2dEk+mzMA{a;> z_e_~37jCy9e)Q0$?@xeQC99Rp6*9lV`VlA0B@L{hs8-7r_=3Ypf7LvqIfyARp3~Fv zM-_n|NWvywevkTPQImE*(;qHbK!Ubb`9%jHOAPHvk$Vo#^HA z`nbpq)D|YG&Vyzq)9llv!bTgC#-+l%#m>lYP(QH;8|;(sFoc{zs%rCquMVlv%!JG<{Hy}VO!`K#* zge&eKsU*h6Kd=>D!xvqGT2&dL*(-uNuYktS9g5ctv!z|uz+>0m{ZmeG;~D|=k?p! z#GOwKXThlmC&U-%cr^l+fRBGOv^fK)bJl$U0Z|770pa?e>6m{h*&~y4Ffp*^9>t$q7<%)Yo}wk3F6$Az+Vv_p0n_=5Njw6W;vUtT zX&TZr?7QuHDWy9EM%Bz-zPhe_t9+!*uUaBB>ZUF8NRBn zF-pCG=L9u=m5IW6H_^zxLoB6_Dm^oNH}3fjF#%Ffc1Dtz0cmI6G%@3CZM3)e4)dm2 zS$kmXiA~a66gMkdpvl)?g}!Tl$B~1&Vm>eUw)7qlcQ&9cExr&DmngeT16>rVW#)#8 zXZ>d3`8Ju1jEjUHGJvdDiXGM1m)TF3@jt|XC?98IzUN*fuy^$j? z6A2mJ2Aun4;H^(LV(Qs*@_OLrw>7QZv?+&wg&3N~O|7KV&*@JE2vcn|0osoE8M(cQ|KEZb427Yj^-JTRpYLrd=ZtRBvVCO6=|EIB%9K-;{+q z*m%nKd9e9v^gXiq8uXpg_~-71d5QuvY5WU!24Qo%rL)$StgZju)I+YA|erFq502iPAbdAQX=C4R@p58(LWAzS zP*10IYwDH6p}ESu>g~f(sju*pRhc=%A#_@8fld=@UzTG>yV^a$x^=lwPJ1E-d8w<~ zo0#yc`BL&e%peQgSn(NpBX@SbS^XL8VSi$YvVx#fIRzSRXVgbk`!0a9lo7%_Ec1kop#JdZixt!qcH@W&xl~?IuM>}jGZpm$ zujoC~QHWVImrO01BbhtSa*SW#^VVW%cn2XVNhvF>wIyXdCuQE!%NG(D61GiBp1s2i zvsx<*yjsM0<{=L1-Qjm8Un88rBpv6v(VV%y1Y+tvw9iOMtA~u~02L74-~}}t-@afp ze0&h`;Mj=+8R6SQn$+HAx~s2jz`A-I5V8iOF}hf<5Uc9gIJfa1ThLo1w523X?%B#r zzi*CiBhkEDZt1-ZcWY&lg5U6m`hlvxEq5C@j&&P2i2~)pF1H;Z^}FfS`@ObaXN4QWsG+?$kOG2?I$+$$E*wIy#cl!03YFHAw-U&e z-Wp0ZK04v_1jTJFq3fYbW07eiXZ3FS`M&3&fWoc3(8rCHN}kN{Wl(}Hzfjb}fmfB7 zO8d}Y4rY7g*)lSXdTVt8@ceQdF}Aj|J$~mx7E7A_0Bv7Mh)y#qof^H`1`@xpJ%?%c zNQyrGX|lDJ(sQUXEx#R<4c!;7B5V=lHZN}P=-a;bI`Au{D#3*se|+X;F7CMDjbV%M zRr8{QPt5^#CwG0+?{bjvSA+g~2p*AbMOCzztwC4(VvD)v$!eA!$fbi(F9Jj%p?~h2 zr{YX(m(+Ht(z~TEQUwm1buJw6%7m(O?}0yh^3Hv>9H zzDR8*{1|7~;yd92_>0=^5;RLbf4UwEFScPHfTEANKv9f4#7)r;M~FCGNrM^7GW8-J zdtc9_OVnQWiYtEgrxcx1Vza!kT`CQeH7D%KiekbA6{1rrVdFumBc+)awo{8N&#|eK zq<&V}VewDn4euDKP7yi-(%5P=AZNrDtl6dF1A`eSRh#%SZuVma6|)TO<&lbR7|y=9 z9Bb$at4k;fn>FGtTE#JRhhT_SVV*3c^;+d(vre@$R=1u%t(no?^*1Jk9O2GM8kg~_ zO!8>`b6!=KRtk$~n7WH|q0Diu)9}V%HK|k==n_u6)v%>SqLeCr-&a|aJ z2mpNJrIB8@0<{HePvF9?sNeT+Z1y`9UM(tu^ac8~;LcUJCbi=A2d=dyMDE<87bIaW znPBv;wh`jlG9+VNM-Py5?U5}POYr(7b3gt~nB~e%Bc$}X-zt1wf4O!3qoR}kpB0_- z|7FkV_-UHJ;P}4{ELA4P6{yFh)ug25N5@9#hQ}s%l@Y1s)u6x8D>AVtG1b(waMZG} zC_1_$ASyAjFtHubP>oE=$TLtk$}`Hy4NK3Ky^oe)uKR+@2pnoWa_(o;o7kQPFp@J&h# z3Z{e1xAqgH7v&`@*+3rG%8gF+27UHl$Q`Bfa{ebWGMU+v)3*{*BZsr0{9+Wz$qe7^Mm_Hae|{Qj4R>pv@PO>C|H#c=hn z+ruwz3=cm|t>Qo76Z3!GE^Pdl$k@bH)WOc~(;!IB%HHhL+{*pajP$?d#wluc3TU6s zqpA7^T%%E%dHEt=5*}8Rg~SURV2E+0X;7`C-aI?94-+0_sx*=Xw;g&I$*22?w&GYO zE`BxKeWN03W##2$on)=6TQ%tF`T(zq{SA*(u7qwHZKyUtwb0x+(SXp&w>>&bl`US2 z19St zwk^6LTv8;knrD)kO58kB-D&v}VbWOPj;;e=5C$+R{Wb{LxfMMeR@{frJQj8iRO*N` zc0BLQe{+JT?K8#VYXob%fI{3ubvpX$8aAoXy%-OoiPy@!cj4S>cAWEA(O963>&B6Q z*pFDOclcOz()i)C?9ghA?W;mf)X38a=;CrAFN>$^YTv@s3urFVsjfkM&L%^(wm3_5JUPdb1J{D_HX9a zH2cBpe6&o6%3Wp>13XG#QZSD?l7-R4FKyDv2+%5b>sN_~o7GxCUL|Cp(ds3FonVvd z2lSxU0Q`=JiR8kG)5G#A_zE5pEMm?FP!a;VU+>h1-H54MY_YZ(NDleGJ8h>5MF$R2 zWq}o~DI$g2uu3VvV2iKy(fxsNys}EH(#St_%V{T!XGri3=bn*ZVhk_hGlnAb%BnC; zVaV6(pMZ+|g@M0z<{TF!w~Tf4+V$HE$qU&*X^Y;=(?D8=EJ>gAA%)LDESr{czCxnDg6_xQp5TzXc;ZtfX;hoW z(V?~0Uhvq*m;aM+{1r7U24-=9&uBUNy#7s*`d5(sEm{3+b-U?Lu-jRXtdl;&UZmXlftss&4#_1nV&>`e7Xi>4? zBU}5%ExXF}nj!gB8NCaeaY`$KRX5VhM5fIn5gd)vlkWBTWMcE+qS};_3ObA^k@=lN zuM`xaa1ZUe@f6os0^;KY5ox`M-J41IJ6T{xHca7Bkf+41$p<1R(lfT^>nbzY*HvtJ^EW(qWBf50$&{qp zufU%2q7SV`mkfsut!A=s@3J<%lf_&Yyf?k zh)d!U@0HG{2VaY++89*l%5jmoi!Xge7GdW4YfubC4<=WJp(||Ykwf8!?uh~ce$lv+ z;}c&KjuwL6kKMq_hWw)n?Q0Nr^Jb;d`{{@ZBCk;Jc`D z+!ApjU9NlB4x+o~__NKJxv6~oLQ1jKNUOy%9uFAI5957Soq2JxKLAVwLWGHCOAbo{ zOBV^I8y>1l%QdI^yG5>Gtoq_OldQ7rU@GBLjxtjuH!R3Vt(`cnj|F)mT zsIv+ud`|x$2oR9Jtl0l;KmE_?|BrdE^2ssTTYUcNX!L0V`QJ9(zf^@kH%s()^HwvX zb&*m=UDdTMvUozPyEHSSRCXy1|Y*Wq< zu9oDr=Fur3j8HM+?zPjjGi~8zX%e+)FVU8+y##fg86^{OJbEVHURpKC+_#Bww~_o! znA%2Kh7!=^+8~*wf}`x6@80+=t?k}A%wzV&Q*|TV|eQ-sqCjKNir%#+s^@-+7Mk75R$c} ze{0d1b+%v{XmBC(qV=d+Voo zsko{QpR#VVl9Tdka^xjxiQ(OIB54YQStIx6-gAoMqwkRKcVWK9N|uh7AIItvHptzC zfYjmd@-IU;W0OSz4wq;}Iwx&e6-~M7dIr(O?VEP&k2QYz6(~)UUhE4RNAd=5PO8%_ z{~HaRNCXAvhA>{-JKnw~d@%h9=3lq9BT|GL$xq}g`#InL2Qc`zx&FDVyV-qu(0|%! zoBh{1|Bv-OC1G3!j2S&d;f1xJp;6n8_N4csUJYt7B``dYskx@;)fE?zkRisxdScT; z(|q;Cmx@_h7K1)eYi%!k?R6dP=KcBwatnSO6?TcmXjOb&JgA%dFtC_E@Fg!mfv6Nq z3B~)5suPNPTqt;mEVnthS`M6hCXf^W>56VubTIl|LbR-T_|Ta6*H!RVe;Uo5i1;AN zZD6=h8cS>`Hr`MOY+ZW9-3hlL5_MX>?A8FCw54Tfmo9RBn&&G3oF>nIC zU-z!rvu(2%a>Dv&e>7*y56KhRDFdh93pw3?5!z3kqUPW@N0}{?4@TRrv6A>Ad~5 z>S4dR+;O#uWdJ!9+cmlrxT-#t7(X4s3U_@kOm@OuY4r3Z{;{_k_Ljcv#4W2(FK8aky{|ypVOp@IvMQ0XU-qISJ z)PJ7I)D8V3b*J%Qs;+cbn*`WYamHH_V^c}JC{_P}^Lcnj3mJ`~;-bOEqDKD$ZD z=2FPs?12^KB8gB8IN#xXq&GbI6>8P22YPrCmBh#j3*b`8H`M7VlYa4 zpIahc7sw@$L8h3o0M_^Cn&Y)2#S=fIcDJ6&+w|U5{=^zT2O?07$#kaB*R2vt#~cG_ zYsv)#brDA8Q)*IEu!cX+bRzw#m+ia!`^o1)?e0exYOTdQ9xW%b_KWTjIK9${Crm{w zs*}B_X%&s);F+{^AhhwGM5j?b@caw;1jM2LBQYte8gu1 zOIJJ48MtQ#WO*40+HJRslF};Ipi;kvf^rxZou&I%_E>c?!~sHr0ES537`joX*e@~N zKU);tR~y}vU*U=Piwv>6(QSe55E>?7fxn*W0~uUtvHRnNc6T_;Sgals(g}kDWF6PC za$V*f=B@QARf-4b*OlZ))%4Ce^ycN*ldkFKhz?o&H}m?uqv?EbCu_VWX*>}p;m*!D z)coj<3CDkzqWvtOu(MeUKXtlSA5}MrDzQ&+l9Ozm4V5Lj5Ty`Hki5Nc%d97INv0HG`G3JRjS4r!yi#jEpiRI-O?`P^ZrJrK@Q*6@!=q#iXX%A(y# zEtG_tTF>ee8e;(FQoND{m$k0Kig&axszzqS5kXekRaM}l=99ryXK)v636Msu2kI%a zTaBnr1J0GM)@{s0TMuNhy@HTzsy+)+#KHS|2CIa2gEmM)wDQ-2^GGOj49}kjP=~pm z&JZ=pN%bGa#br~k1HEXi+&i(}t=`9O8G?Pt+EIg8juvxMCAeeIh|Npz}Uw2`$03zq>JX}1}5wZj8Gw1Ymc zsG*5M(MAmylsFghwzMhuEX~FmleZt=CpL7rk%Z|Q1Yx!6 z3T$EbrvcPb(+AYS1@n2-72)b=>H_D|?b!>m#M9x=Urn7r)pm$&(UEppuA!}g1(xV> zd2yCJN&`2wSg#;R#%;2E;q;96UmN-Ngl+wBw3>)=CReDu?*2@((GYe6w5a+LQu5Mj ztee@qA!oX^bXj6XG;n7%e{sj|5uxdBa0RiGW0MHmD403aCh&j#CW5Mvc&}ho=ZUMg zqjeW~*p63m+hE}^6~}1!-4>1OJ02)r*pN4Flaj1J!F)n0P(< zN}tO#uJ3_xVs4OSQa&f>28y}gu9C5-j<1pf^S5ceC}@kbu8ldu1he+Lm`w_s)9|Ig zVVa!{Nzd(T9{E(Z<}RvVz0+~LXmj2_+vem>v&SfScc+QQS=jqqQGljl#CF54qxoc- zJ93v-l5D{W*Da>}i5a(=%X&L9=uBU6Ir>_%N5?UlA3IYkFcUA4TvRlTZFOTrK}LnJ zV|V>n$!a;OR6|^l+mYiS;z~d%_(J*PMi;pXz$DZj$-curva(41;IM`1gow5ykB@c8 zOwF(r>Ckx! z=cj}-;Qitc^`@}O{KiA}cM|rm{CpSZUS#GIu&sXP=bZol3Ch2xCV%mGvx?~c7Yox$ zJlGB@R}f-j92+Ab!c-(&Ksp9P7SWwSmY-TP4Tb07f_+52SY6)}`mdG^Oy{sC?J~KS z3ZL>i4zq8w4%dA2R~)*!d?6IO8-vl!$?tA7kPgJgWRYvW8llLN5JqXH#_zq7Wru6- zU$LWVzn)|T#RFrytNGzX3$E#K$jnPa}%LUwJQe9;h%TUrIcAw1y|ZEd_lUE zaM4}QXdlUA30Dh{{Gq>JMGVb1ZzwK35Fqe=*eJ#~1lb9Zsnn6~h~T4p;;d|sRJ9NoCh zRdniy+gzwc`p70rg`|a5P)Skbx?|Z(W6vtdET(^~%BWO;->#-Z96#odc;>(~_+2Hf-DaiG-hfG9 zQ4~aq3HFI9kM;FYWA4nnD&`Qo|Q@ybGA-&hQ9w=t$_QDfD+5+}yhYdUVLANET z!{sw(znM5$)%Uj8Ebhss7hmcyA}A2~5kT~Nj!xTucZaQH(~y$;Mf?yEj176b4oo@Y z4V6j-0||A)^93yx%e$2%k)3Mg^NW1q4)!>MkC;4a{oc$v3(!WJNZ5P5SVq}KpOI$O zX50~b0}DE%{C$>2m$i2ZDSY`jYbb4<^(9(3heJuK2L zB`An9PVp2pai1B%Ep(8G1X9B%GwENDW;(nab{wY3NV6 zWP>XMT`7z>8Z7_sf?ETNy)k&4t&Q#c8L%iK|#2v{CO2 zBV(XbOxE^Ie$gRpYKD%x47oj)hMZ3Ij>O5mswhd3m^Usf%*un*8;0jGELTSDY1CUtqr4B$fGATyOge-FL6 zVM0&kEXZ)l$2w68OyTUX@pi_)c|RlePg)jzvLkAG_NLjDktRel8&$J!(9$yD#YmWl|cMH<0N)aLF` zU=}n3nI0!+dzj|YS3%}xzoyzrn!apvU_~0Sty{B({zUj9O38?MY45{eaHt;g@F!-V z;mdq2EwdO=FXD@4XgoSXo|_;`}cKsnZT6qZ-;5I+gd*Fb>>jN&7?a#TYQ3y=VE2Ge&LUFv6ACAsi?3nzwV z9$9@;>Fvb^9}<$@&gXXPd$uhzuDBkM47m8;jd4Snq+6G6hAohtLL;g@E_+2u-GaW3 zWj_^t5~8EtqtdZ2zndpG_hZ1=rOmB~TM{Wb-w+p&Xf7%AFITrFqN=H%NHH=%>EacB zJ&sD}NF@*iS>;xqhawVG8821C=t~hg#Fha2Wg_*;6QwqA86C`=Lm&0+rVl;B1k+mc z&17PSP0cHU57pS#+=;*9?cbv3Ep2SZ0b3^WjslAez4yX zQYM(o5}t!?@zE*$I>t2w@Eij@hIoO2wP;AnlJGd@$5}W!Ny`+@CU^%JL zDELdM`I8VO?%i2VRi(=)xo)=jz23DvX4^mQUK#{|U9oh+m@wLxHDgHN*}EGene#A3 zaTc*thPi?}7zqTfYR2~wV0e&v;$4y} zB>Bj5SCrJKF2SnuUg9>YDNeDsRBSG)h%Yj!u=WxtPcfV9(XG?-i1g&G%x}*Wm+G|4 zMW14;+aG~?Shgn7RzZ*c@=HDhWS5mFsW75r|L)k}%!=nF)lwSb3YC-)u1Cq9s2JiU zDHx5fztFs+fyPq@G)v{YDcUEwPSi#{*KadWb7?88xI33-63_vC%vz%58dZZ0x3-qKm^MkhAAeUm(sx zySNMe?!5zsfXbtMY2##TD$N-Ew4&sg-o~K>S!sw1B zLY|#(MD$SZX%G}7iilPipwdxdyrl+W{6XHsxWOMBPj*BWnPadmfv_&kSkhL@<~EK&J4Om9+zsJ{!0 z8Cdt$#XYmOO>omRXvWGK)1L2Q7y1QeZ%)U89NI(_E22(LaeSbkmqU~J52UJr(-N|` z#Ks4n4lYjTZ85vgLes7hWyrh*c5m_2a}?&h-7YGK*+@q23I}stkov>x9f>l!a0@Yr z?m34nfRpMQiv^;HhF|4G6|CVLj?i*R`yR}Nb$n0O5Ig4EALAJSI+-b>i_rDRY4 z%js1Qx~?tk?*^P9n83oHf$gy7;H(obnkvq*=6Cqpo-x0in7p>fv!7KU^9_DRjXtdes@WZ8? zdP3}WFCSreoVmp{YA^PA7&t1!bDpG(_Cu{7w;L1My*M&X`@p5LqTs{^rLqh2@ux0a zP4)OivUV5u>diNKZ>+agB$Bttello-WIbQj!VJwp`=2RI1xc(m{Te-nZmH#E=(H|T z&y2?V^6}ZG&+_T{?B`mX?|&;${wo)lT_l4q{v>b#|EY-mpU)-#FDzk-vff{cSpGV# zI(K>b`ky-<(bN*u_UHy=B$h(xfv^dDPaM*r=R@Y|=9J_C`GNq25P>JKmx4$SjxQ*1 zR_=rozuFG7NBKS8-~Rl8-$FLyjFm`%%k>>!&^9>GOBsZ%~{ zCwN6RZ@-CU0L|C-l`?ItE_VxUI){UewjYLvG}oPeL9er{O;xWoD2s5CWRnF_4UTJu z372>=q6%{+3X@(uwwx>r6ts@;Ch+w6R#43yNWhP`Ao3^U9BkZ`sy$N3c46F`h-(LR zDu!<7ulVk5dLcVuK++c!!JewnPK5R9Uhk=;jQL98DebF}MPJqQfrPG~n4b5wt_QPL zFsr_Y$;W743wZ#G>Sd`rck!2CT+)RXL_@YMU(}e;_4QiM`63w*p51WMut$<4ji}^F zTFAY78P3u|Oe{z=_*)@@O_|Lf0(zdMe*`TjoBDnHKtey10DpRdZm#E`D{Kx|pk^@Q z2Ih}r(Yct>`HLJy1DCsiQKY?6d@<^^si~F4ZwS^%BW6doMici5lyu1c6kPs(27pHkS>@J|Fa@LSxtg3B0jatC8lGQ3K!@V;jVRb~;Rx8|h zytsaq^kT&QjAX}Pv^*O49m=44+|PrL!RWqY^5lunSn8=&uuREz)g20k zkrT07XY40#*-k?zxEL|nhqB5D4P~Hut&Lx8gWa9Rb8Y4;e&nmhx1o3q2(na@v+wGQ1l5etudXvwSZ^#F! zQpewnmq!GxxYX)AXY{q0X@Jz_#@R_IaJzSF4JYYpbvxdY^9x&b0NIpR9R*NO8OZ~T zMP`aDWxJ4zBTJ8@dT6BN5&+}@2yuv%+x*hwHO(XgT5!+MU}HzrX$A!gQ5l{&)ab|~GZ%YjAS zBGS-in+6zTuUl*GA2u|DSnkGJ&E>!YPUHfO6CA6%4YVhe`gvn{UM8$2G3 zf7NafSM@H|6ZxRaY{y{;70$jlWN{VUPl1C!gn+v#LpLhD+I83IcDX_zic&fRM%RoJ z0v?Zl3>=St5Zt*~V{PHrER=nP`bmNb_0bRAT2k!`iCGJ}Y5$QgL&U72ghd`3TT_ik`PVo%J6&>8X`jzHF1baJMqqSCWfdA6Tws4+(k!y2)amaGvfIWy(>-n#Cl-W7R`k6QqflR(a)9``;#-m z82pYO**a2G*fD_oPJL}DWv59?x>p}DXg_JCX+RD&&=ST(^?4oMNPZxf(m%DM(F( z)%6!{^mi^lha8?V`eA&u*6nrgij7U5>|?c*B4T~}SmCj18}Zs?N+IcXc^ zAR-QNfS2b2szPPN3JzVsY+tMV{M~Bqe zVVRm3+I0x(IeGmsr*+<;l=(FL%cPu+j^7kz?v9Zq&3{SA)9{VB4wxBBPv$0wAw}ut z@l!y=5+(k&W{%T>vud39epi>m-vkZ@|W~;z+tU8||3mK>g?Q&^Py+z_vv!p82k&rv# z0fAEhJ^QG64Y#z}I~siymzBki6Ux<^;gANdx6?{?DBhucHx)k1Xc0m}&Wt58w?R*h z(wJs-4)kA>oTYD5lE6a*sTaAGLCd|6$hAM#ziK73tN45I(O*z2N|@c&_Y-QteL^js z|ICO#8?{@TnYey_{IhfW-!|TVQ&9d&lvU^zLJygQ02lKWRP4(?>juX~bK50Vil)sc z!+sRyO=Y$Vg9n58kkO!Ec>D5BwToWHyd<_ucX6D>y?N&jaJXcw26?E}5yHgtvOTCx zk)#eg$9IQbMni%1laSJ|@d%bvY0auxLnZDagw(6D*IMM9(3a&H>oSoMyImSP%Em^H z)mHXuEKWalS-lQfSHJneyCRiCOaGKh9rQiKzTQS9l+?u8O-}Rv$->fic2OiWIL5m2 zzFT7KLF;Ilpi=B8<7gu8hYC^*S~r7M~`}AfjZyL-2kfoQH}ejPJ)v zuyKIQe9Qw37C}|zQl#sR`KdmQ>|^sh0qkZ206|l2;|f>3gCM$K&5DVTIbg^Jp|>Xh zF~*TA=$8kScI_sYDwD;9ATEyLoe^LnGs7-9dg7cvD0@s47DA;C&4mCCfLZ*dAPUVF zW|UbsZu?IA#0iq#PjuGcNCxz0w)kkoku~Vg3~^eRl4lRf()+*Zng1G7x$Y;MtiHBUQQ|8*l#v+p z2JW)=K%sCMV-YfIk=e&DkXh!-cJ65dT{{6=z_g!FhQ1GyIG1#Ia&VAnqUk<|6D@}m z{2mX7)ef6q=C1i5z!a31rer~1y{U1iP91?lRX33Y8fv(BjrLQkgYJ0X|_^gjCV*Tw6`x^ z`|*t>p_d&ktR#~QlscnD#>^Ox7c!f<{cV%kz&MAqzoxE?G_>R1n%Pz|?qKOWnqV=h zRiN)85~>iYwMB>(ePKF@4ARd&S)9laU-wjuH_07S3s(R&rFzR?Xj^Lb=bSL2F6Cwx zSWO7s9V;-nGs9H2tNF_tWj7`V&i#bR1H#!9Mweolg= zKC(mMl`PC|zs+Hsp`m*FP4$-E_zr9)u85o zs9U3efQ)?#Q2*bQ+&?DkKPfqFA46TU6hRApkAs6odC^&SSUXW7wm9ioOx%^bj8xDN ziXupD5wAOn7U|+&W5F#+0AYO~Xk@!?(FzF?O37EM$zWt*B{6Yij1)Z$r)j+fJu?q+ zb<8REfWtP{B(Jr^9zo|WpRP;aLqGq`XMo@J(Cj4Yw6Q;lSjU~<%~KNJM(SV=yEmoS zhit&~u)^g@`m^A#m1F*xjYa9SYp`GN8E>?I?=qW#CTEP>Wnf>@DMJ9M1_|LOhE_^GOoAm<{rIjbTAj!fZm^l!RtabpB+i z+UM~CXOBIqk3419FPX))pYlu?h;q{&ly$W}ND4VZk4Zam}1;w~3NvRX>?AblQ&MtaYeJvJ{?^7W{ z0&uqQxafpS2jpOF5-7m;{{p&<721)nDw~hYc=D2E`$advWl*%q8T6|zqc+%uyQ^m= z@ms?*vUwC&6tddb_%hF;v%7e+SrxCm@aAe%<6MFUxv6`QSYeFW_)0H)83!|;8A)mb zi^$^q>|s>Zlukj8KYa>W$C~M$;WHNcuFAGBW&BWS2-_g;vtwQ+2;;}OS6$^QU}D~0 z++$Q@tU|IpJC(%NW~?r1LAMgW;HtuA&z-MP0XaErPM3;p8FA6jIy1l;u^Xpy>$Nc` zBc3*&R?j29uO;;(XbVNsoozZ7&`4g84tctJAZ<)Gzc8EMxQtS_)zv*>$@f!xe6O-< zd1Ox~=jit*2{^y9xoSi{i6Iicl6=HwqVvBx`wFNkx3y~l0V(P3?gkO1yQLdt)0=MT zmhSG7?(XhT8j&tZrMu+ce#djwt@qqB{+F@GhA~)ku6S2H>sj-8Z=l>Z8Phg3LNk?k zLR!b|fps*k(K4U&o0!v(4G&A4u#bsXmjb7x45}1(4zl^glQ;rQ zSkI{@s#^1`4@I`JUfQxL&idlLj7l5fLU*1~Gf9+IUksg@?z5j}B3M3kdz-&$JgxhR zs(K-NRZ&@yEk!Dikv6%ypAN+-dW52xn@=_3q$mWZk+P)>$3o2cbwctxOLI3Pwjk?k zJynA4Pa{GfFAtBUg{7ZpJmd&g|9G|i!6>(4_0w%qT<&VZ5_O_oy2Uw3;OfEv$Hf_G zcUqCqDt-`8OIoyqqsE{NDtC1@)=H_?8!~pK^tT`K3K)}JUTgV!h4C7d5DVR@^2Eg+ zAdRReMZ7zis`(;ynoj|t!zlv2ro6+c)EHQ#o|>Kn^S*~CH!GDN#!C0}JlQpA6U$|c z(|rpQ#~!f?)6%GckiD!qA>5OvasOmbN+b$EUu<_?{-Q@uH9xpPORCu`j=10NAvgBm zlh!ifCMbK9R>St`7M}?vcSnyE3mRVXzO-Yt)+cBrKzLq&DiADxaR{Jl` z&hl53hQBz7m@ELth8GOS_$%JP62|r$Lj>x>qyy)k11RL&un9T$pELx##y-jZvUmN++zJ7GNwmcz9*>1e@(>G{8(U z;ouYW*+PyXX@N|L^p}~weW5i4NdZ2C!@b+y&@>=o#6ewCRil$>&^rVxU6|$0*PBTb zsWQpFwn8Ru*wLhlph}zI$91cJdMND{(fMlgIcM8UrrH&s?*a42bY2cbJ_e1=6sysQ zEy@(AK^V_B7dW7O`6JR3mDsl6$axi&s?L>woZY-8-|{|Wgu9usm`^nZ4`zti{g>+6 zv5oEO4#bK#5?|KpwzX!`nW`nRVz|xds$h@YHcZ#b*IYI=T%r0B$HALuTJ^05DaXxD ztHce=n(0~buutxceWYbiD#8oQb5vz4cvW#IT-_h!*B60%`;?q~GZdeLW6`Xi67M3q z)lD0#zsV{gT7AFXCXbT%&O;G?gm9gzy@sQNuIXcf=F>Mbu6YCEjefC^c~|^MQ-mo? zAge&9+nAh2t0=bpR-zW`2PSL+uMytH2e4zz&@x(M0-Aw)yqJP7uC*!`jBd8bOp-N)Z>#F!%CAka2Fv!V_EFDg_G5cL& zrQqqwxkR~LwAOwjrQ>7u0;<6fcI?5a7@5-xi;&=jU~QAgWkiYttk73iJBW+|@$a$< zK0u;;AP8}PbepMdj}zPK{9>foW(zws=<3n-(^HP&eHk%!{)DqZs|Ul{Zi?9nkjnf8~ZcTQr;<&zX*EHI(2y zpSLGFQ+$qkHAs#vsn-PYis+i-t98Ee0atOQP+6+T#^lCh-vi0aUQDRb(N#0dt3&_U zIfdhTelc&rgg@*{o$aiS>2uMt2HfEIm;Q57xQpOAD7g|-dm2w z)^oVyaCzuS7D6r=B~7uys@5l6-5j;GmVS9z^cQd3$vM(?NZKi^0C`s9p;VskANfW4 zi9ZE&e+@?WH`x@VBhJ;>t8#Gs3}}OzR1vmc6HJB}svz#M^Ea_nA|b%Zb|z^cczA-@ z*;Uc*HjR=tg=0-aFIXvHQd@!5mtYkzrxhk^tg93@XP=#Yb~Tx!i+>JVWnWGFc1~Cs zZuglyadwqLFp2!xat{^?Cv?vjYh6Dq7nIq;F8av$f||D(xz1d`U`1)A{bJ%=7#29xOiIVGUk! z=93k#eV>aEnKQq`kaOK=kD6r9x|b(y66rXma@iF1tRg>V|1Fb?4}(j1(@y`CaC>&z zDSq%ob4^J2gk`z_Yr0q~Pt2OOC|p^V^p&!dE&gmvnqo`HxivA;A!bd2RiGk90 zP1r8bhg_2Hfn)EiRkK2b^9AP!nle_9>lBh-K{!0pbSRi6`Q$%g#d+%P^1vR?-ufH{ zFgt%rvI#l$?!~0q(PsWLk2s?2fZQqGHW|XTy~o#hrdH4HquS&mGNrbT@lR>o_Hz5# zQQj7$4-~7yu6mJGSUyF1Ce2EYSw4N8PVs6F2jyvl1Agq&NM9{Yta?jF<5gNcn@0?m zuK|@2>Dj0O&^MWlR46nJtTMw|yPBUfEKZ&A@8Z5nE%VY0O5I222~a3$$r73CtY%r< z+zl+xkdxO$7uGI8peL(l^hK-qutbq+x?gUm)ar9{!!A*6oVWt9^lBdIli#*Nqt5#` zXnQ>+koO|!auIz-ciaw_4)fI+Vq=;k*qtv~<^(n4Mt2oU-px0?bAc|oP;XO(fbF9* zDQ|HFd*Hi!D&-Rc@{M;q`Kgx{*Wv4^2S$fb$;ZQQYs5M{8CR-tE1Jp(X&O8d<;+S) z*FHb8@S+#nv2WN9rFzwREQZd)uonReD6kjl)x9YLs75u%K+9em9b)0emwA#^#Tg(? zLm*{0OJ@ZP`~WS2=l*&!)p`s`U#tN7-Q&qGl^f{62@y-gk5y~I(OyE{~#uPuxf4U7I0IIKnK1YY1T&BMiPYqU0$kH;F)N6>(ph)aT0oroRN3^GG<+;R1E-r6exBGbn_*b>IRlYLa zrMAClUrE@mWoRMHoa}(p6;*=@r8E?dynFD}6QTF17uFW^HPOV0Y%*-av(V}K$T@!b z=Of-8$U@~0IHRBxJO-X%TmpHd<9fTj`iKN>Lr&2)>%873$K;H}LNC3{BPQJtzU66! zlsF?Hc`^1P(>o#laPL&9#)wb-95F{CNpd{ZXMFs`ScBK|vAl!99i-jkh^;D~m% zLW{FELpf>H2b>0m*ecNypVQIED>JX&&t5@X4~W{K$8H}BoLFstSjurYJ*e^aD9^6M zn-dwcyhC%n9SD$sIki##3eO|a+WL4IUc00lK!dftass0{K`^Fv+TOb@aCh*a3VEVE zPtcK)hg_Ao$SjDbd2W8Y`1E~Cz#Lgz8>Otro06~g%xFZp`{%*w_7Ioz>Dg)B7@`5> zqHXlmZOzv1?Z~>fhcu<833axKdW@*h42>Uoiutti_$Vi_2bC|Z$n?bn)_d!L@OQY@ zcaIt0ws-8m9+zkdqiK&2TY;+C^Mu}8j+7LyvgU>6zRP^}jQ0|&;e4f4r?VEjZN6w_ zE}#`%x$K(e&6kmmvn&Q}VyW&krXHE&1tlVpg(aB`CnTKS`8CdEVd&PAiPY+m2ohh? zC->=JyA7-BD~=qOZ!^lGd2=PdLfwrUvL}$>es!UD9WPX&Z+J~0-YSd%%XhQFcd)K} zQ?Ltb%k8|~j&X6HCyn_*Hv3_jR`$CjoEQ#Y^HAE*&n)Nq3%)iFa9gq0NgQALAFcDH zG4(q^ZyEzy(AHIO%KKa>``mHLJ1^lf0?zeYuuf+HEkyQONjm}FWA{+MT5Htgf#EqI z(;_YCfR_E=m=*<%Kv(SlI-a-t%XCv3=lNn%0H?owCd|R!7YUq(H9!af)O>PrsNO$H)=yID ze?n|i4xCm!caO(WtTzYT)Z_M1uP^2gAr4~JiyfwNlvr`m#a|?<5mX_@FVMXnTByz? z!i)JT-8>lCdeT+j5@6*vkEy7G-gT@>uw<^8lMG8Pt_LIOq(6QZ>(JJ@tX6`Q;p#Cw zz`~*7(z|RsxteWhd6~|*E3Kr32)93NXiFG_=w22`qO1+TF&Qi^;Mh?@($X2w(d)$? z?~K1W@V_$FuG|mipEme9q}!-vadea&rL1lEpnDEAoI70`QB!a>DW;sP`=dfUiwXXI zom%bwY!#>fb2lTyC=G+ixNZQz!iV9e?Fo*DF-v@jF3QYUx|0|i%HIZz zW>#(uL|HU!g!9Nf@TRB?O^?BW&qCmkVx~N*d@m*VvP;S@s|FWdLk>C=H5CaL*#uft zeE)fLivL$!xFo=6K2(Rx1BM#y`3~(zu@l_U7}2BadVwz=n|+{|z6_3Sdole9(Js;` zOrl6LrKEPiS>w`VK#P(Xmp>QZRks5XgB4(2tOb$d(`4SMNQLH6{2_0s?KzW-%L|L&fk zv?uq?&vvq0C%(31LmET2lWs4*3gZY}L@z8T$_oz0_uk);QM#`A{l4C*f*a($6j`Ln z8WbqR-1AAyEDOk6kS13e_eHv$@#aMaar*=1%4c5mG(ZCxB#l_nr^VUXfXDGZ&Peb> zUCM7XL?!ybPD@ZASWX>*7AOh(qg(u{$Pah^rc-8>3ThR|HXiYBM-GEAd&Vw z{qy_SIvhpLb^tqKDR+8n+wxqcZ@pW8ttfT-$RZ=rQ?l@wLX#Od+*7343MKz8wRB@x z&V+z0+2#+)#2lqY9r$Gy(>nb{SEX1Nc-g)9M1GF)Ps6AoX7dPJt-I=m`O8nR&Twht zui;e4+t=xxdLH=CU{5&nWfY}~u1&VEr~t5V;ITVd5szIKA9o8m*rc!2u2D{d0;5`7 z-v};x>;z^-oGB-wqY$bAwg&*}iT%&~bx}^FKzaj&(&|Py2TXTv%QpCqnd`Kw_6t1} zP{rE~-jdLxICKfwBf7Wc?UmKWGvxj|C&pq{jWm50_SNKzfF55Ow=I!o#JBED^{44C zxvlCg$_4Fj2)8ABlYvE7Ck>=8_?e{JIR(*kZK4y(7J$@rY-phug3tuJEi?eY;h|_077@2O;okNXBIgmdeIPVt8T4C-X zPM5$Zw246FDKyLHPuB%8#I6~h>E7GZ9@fc@zbyCEP=xUbjq`R|6Du-Ry3oR8w#t{> z_vG7)y6YHE7a{P4%=uufB6-jr_cDwUk=u+x8>3k|hNr$0=v3x`f}XU6>1qyxjP?(H z-Z0-C+T*~kZ=5JQI05%gLaWEGCHmpwzPq-szgA6`Joqu-U85*@B`8!QDabMQ`S0WU z-})*4<{Yq8bx{pp6ysjD3ea7(LH>kB&F2*g8fuVj#gb;F4_WP{ZuI^7CK?kK2(nTBUjG)H#hXB+z7f+ zbOw}?@L38Y6CHYYrC97!Fp_oW(&>qd#Ag|*PI9`2cM{|37^7^4g$|8HP1!r-Re-8nv=~Te>P*J~FK(VtHyS@Kp)cB`#+sq!@;PkLubEU~@gSpSFI`S5x z!-cs1Z7_DKb5q(8r9k23@ha#T5@hk+PE|oIC7BRw8#2vfxeUNz@410RgBI^-Q)p<( zy#1MiP`$b63-s)=bti ztdv5iRp^aT{8;n&%>*@i6D2Su z&f}~SS3|%x*cu|8*Lx7W?}&*f2GOgi8L=i!akBz-{109xcT?3r1G<1t&P$ z1-(8Bwjttb_9NLooO2PL*r@KdPypZC?o8J!#Di$PJv1X!XUn^wM@s(CS|Wmd5JW*V zLr;71+4zK0EeDWrGu9Dc1}@Pe4Bg(8JD-Gw(lD{67Lf||8KQK?P}61g^h@V-nCTc| za#g=^SE;AZPY0}s#zkP~yDrs)JyCj?v3`3=8TlIXGY;0`RhEQO_&iWW_9`Rz_5}*> zMIfLKcRAf5j!-PQItSMK<-AaCRiUZ#apPHT z)0@E)XV^}GSuI@e$q?Px^IbvM=@c7H#={B0=mU>93UPv4q|%fZBzMZ#)4D3kf-_rw z`rU(>rozoO{GJLJj1={K++We=q#`4%g8>^8sB^e&{bUZ$aMHV8>uh5RrBT|;LU(x+ zk74ElwjY&WRvwX$Obie|jGx4!k13nRmw;J<|&OYd}kO9oC0*kvQvC39usYe*K`w>N-Y6Yd5SwAJ5;WU7hYD8rq4YtDt<> zTtUg8TM3gh`osZBAEu=Bf4UfT z^^ALDx!M?lG}u{;L&4ZB^2HBXNr62%Fuqp8&o%tbU#BcGqI$xQQng)X21!MVxPy+# zN53%TVo16rrE%Y+9k?xXv$x;7-9zZ2($gBq%PWBVf`pK-Su(OW{DV^@8FC`M()$=0 zsBE-6K(_+u+b=#<<*c;@!@{GvzB9K`6U?g`K2Kaa_A6BL`^-qcT?pT;_i}g@-l)kV z!KZqVLAcx{ydrdiEtf*73+<(bAjhkZ$|zd3pJNx)P_aD6P0j7LFz27pMwfo%G_qt9 zAF#s-b$;#>`-#3zf7`!%muki=Z|oIY|Hhe0^SG|6j-mwzFF;F~321GlgeT9E$efxW zLL`SGlFI9CpPb5z-O{0%JpGwIeB9J}ScxT;KO#CjrUYs5tMm)ofW|C6({X(0!lFf6 z)7!>KLY(G~T_1x97C!(qRKBSiLBO8$Al`M`BuZ6sGK2co+62)UZwZZmatWML7s<+}%M`CJI#7C^4NaheQFS<>+jnALTva4Q=^nYG88GFOCgoGVQxO+QQ)jf$#L+ER@} zP`dVDA)7ap;CIbkrT%TtSe0DXzn zAHblsv|jGix#n0cf8+<`QnP!3+ojE6*zGQf7o>mi^c>`)p|%s2hT9C12ep(7R4l&+aQd=bbTN zVPX@sk_cN$BMlwGgjJ+%JjH+`7joqgis2Q1nS=tUqIGv9mN9;XI&pII$n)4tur}6s zQhpXOnjwTWIG0wO(|{Q=jk*w(Y(yI8B1vr^p`d{82098^r;X;5=7y_NwoWnYH zZkb*eDEhQKtjYvGxs0-~!7P`^GO7CmLp2vR;k5oGa%Zp0vV$Vx=Hwy+UC|!(Lh<^k zX~wH2Qtg8&nKej_v{>|0cWz?1ag9xDMzVG`?oV*2)LJA%(M zI1P|19PRHT|4(jHV4iPb(K^!IEExVTjOv@NINOgjdsN4F!>~W&49H`^!!s@!TOi_E z&}lrowRm|6b*rEkFGS1ad!9GweA4#fF*SettK|pQ2>nk8K3WHMgxm2^3z1o;>IQFp zlxEFes-}Q^p}5vuyEbefrME-A&Fj|pNw_L?)cmQ?7!vM=I+hPf16wbmS*<*LUm^eT zB8{R36uD!PY0H4DexhDn%X8`h=(B_GaQBX0{;T(P~c7`(&AIcdrg3@-Am&X?hGrSUIvkQ0`n8;J5ypb`r*0+I9w&t=b zWZjgkO(;5cA0c4fIOoJ{5{1fCoG>Hkl?feEZb7OJCA~LiYFy|7YhG*G*`(S8lbauh z^{RQ+xU|5Bt)$k52j)=&&+YiFsU;pHNoTU3|qm{xr@e=^-Z zmNDiDFrE_}uDLE{zni!pCtf{WSj6#xGq+CNNw~4yw;Ofduii>;^=$uo_u>JNC(;@% zNq@?K(k}`%Du!gm$B$AQQ5QEsM0+y^6SbJYQPjt;nCyeUwQP?A9M|C+KR`(cjl?5> zu!uqrqrcz{Y%6M-ej-hxDyK?q>|S!bqL~Yw)rZf)l{#Zcd+~alpjg4%2u)e@!-z9^ zt*ch#1SgKLOkCB2B%j_}gsnd0GUxb=`M#-G+0+0IQ%0rGf-Zh!i}7v84x67^Eo@$H z>5ghQ6DK`m2I4VN_gIOWERci4$B;)-%=KAz49pa-39?PoXcvn)9;H_0mop@y-#uWH{rj*$%&q= zQIZ}<$Nl&AM*JpZE=CQqE%uIfhl%Tg@b)l z48qpT{2_4x$)+KfFa3SsBMR6UT!?^oUQnP&k}DpCd<-pGyxReh__iBCdcYev!WtIO zQv|t-q31ftAUTDeiX}DF-3vv@;3Cs7F%EX|gwNW<7tVcQ(=}(ByLrcn*rV<+bfBPI zMo;G@C*Q|%xjvV5MXXBgG~h?96NyascHjLvB^`Gm@AAydzC9Uc*+>X8Rk6A(l3|vJ z=YY6Oxmh#7^~=W5SN8z6FGpsefbX}j)~LeQFi~CP-|P_f`3SyT0)7gJP;IVkRXSVnPX&W_`QcT$IKKZ@f_lz8ig~MyN(p7 z8}66LoHHg`l37Fzc70|Wt9W1+@=TacokOmtB(=h;Lm>lUz6P4`xryduc31$(cq{sX zI4LfS&VJJrzIcdZBbO3cFgheBzM&qxmHS|Wc;@(rn+SU`*#MV1?noc!x~e)4bypf% zJ8KzTE<>h@htjGHNSDg$PJ`LOXYH{@BGAg24@4nz#4`zc3h720X zUaP`OqC=0fyI~ecS22c@qTAH3d~AqGZ|6Hi&)Nn*{cxYcIrZX06_fpHVtq(zyeVYyl`Lrjp-?3x6hbhjgst%VZFRWKYHUz%(Xp9GY*wHyX?jZ1 z;%kC1^aj(D7L&LR_DVeOudWa}ND1&YzRV2(xFVXusGUr+fLWpgt%wFF?PLbYrRYAh zA!0;;R$_^RZ9SgTDOgrS=iG@1ZPfHfnA=WGCVj@8e)3MtQ$0$)>OC#$Zq&K?E?J2( zJWF3r$v2+2p}ifmTVSzv8Fym%B=K6}^Dg^_ju4Qc4Usoo+3l9~F`48?lk?GD>Qz6X z>k$%F@6+Z|B_X~O>UIsXmw zM?57ByWVMBzFB%c4IUvzTG!N12P;qJEexFUy*Vd0gJJfo+&i#xZ^5?tupZCqpMzE! zLvVjIc>exM{og^>e_3dJmP1!S`6{QS{*g%@1?3bQKjsS4<_1eeQYgL ztWK3qj~YlT5Lt$!fTGWniZ2)$kXo&ksqW$(dAap2HHmvUDJd<9xBaWz&0~^aL)7$0sVICXRs-?f)7n#!B5+Og`K-VQK*XdhaU#KET% zM!;s+w=6H-ls4oQkFLv!Qm`!!E=VN|+e5Vl^=$azibaC;cHj+YyxHc~`Ve7Z-NlIUfOsQa-g7Wox# zOMwnS*=y7`kt?==mGTV&-^3@5??a#E9tH0(RN}7eM2-2=qq&)29%^@C1?Q_og#psTqs4oi?W>0jekGCLWW;n+15 zy>a*MRBG&^Pr}Yyx|h<~<|)|DYj;Cvg-smohsCq8Y`AoL>%1t}j62sHB;~zg+yL1* z2C+a4JP?8{eXrfWsn8#NSOsk#T@qt&5K-Ll_#=TVRW$2D_B_E9vWZuK3C|&18S|lE zTlUBs;(}L*_agJ8ezhb(JjgE(!fpakW*QbrTg*C9f^rU{s(|+&hXTE8qX$8vJ!^b$`;}-}ps&9|95s z3KS0e(W3`apxZMb;{Pbmg9eB156Xi*!Ee9HiYf~-O3H~b%S->7Y=2<{^P8na8T7&U z_MhLM9Pe*?$^Rsi6_k?{6ID`Xk`)6-_?7@P$^G90n&`ei--r`Izkd_#{ihV59n()K zTE3_FE}8#N2|;q4KPBAyHR1Od2){9#_!tY_>nCyHzXARZ zT=chuICzdCv`)jZK&7_^m0aW(z_0%U5PU%gTG}}|3p&`FfOK7f`aeXA!5O!{sM{5R znC3wrvR@b-L3#K?5hVXE!(aPLaJ+d5Q95XlxlA6^65mdV|9*13bwQ@&Kj48xXU!e# zK=-Z0faZpR`uc`;cCr9VfbriU3BU>T%e|X)K~;nTB4PX+9rT^!T?eB41A&??z#4RI z4`i({0vbDj^qWCK=6}w+f;%B_15|2UP&Z)t1sd@9kI>+iE&+n8$d3#01@Mvj>=){~2wuLnf#P zRQ@2G=6EwR z{}K9otBE=p>O1^LaT^>JMf%m3JrF8AC^`rzhyQtUycwI0)u0Miy8gE)NuSK% zm&FgF>CE4VetTX2sk?!nT>n6x2W?pXWgY$b92>k4;0K03s7CYtiRypMrQnBPKVTIL z{t5Q`fbkDUV&DY;H+2uJK5$#! z5B!#je}VtsEqmbg1#Y1DK_p-EpM~LnGgrt \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >&- +APP_HOME="`pwd -P`" +cd "$SAVED" >&- + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..8a0b282 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/src/com/teammetallurgy/atum/AtumConfig.java b/src/com/teammetallurgy/atum/AtumConfig.java deleted file mode 100644 index baea4ac..0000000 --- a/src/com/teammetallurgy/atum/AtumConfig.java +++ /dev/null @@ -1,149 +0,0 @@ -package com.teammetallurgy.atum; - -import java.io.File; - -import net.minecraftforge.common.Configuration; - -public class AtumConfig { - - private final Configuration CONFIG; - - public AtumConfig(File file) { - this.CONFIG = new Configuration(file); - } - - public void load() { - this.CONFIG.load(); - AtumIDS.BLOCK_PORTAL_ID = getBlock("Portal Block", 1024); - AtumIDS.BLOCK_CURSEDCHEST_ID = getBlock("CursedChest", 1025); - AtumIDS.BLOCK_SAND_ID = getBlockTerrain("Strange Sand", 241); - AtumIDS.BLOCK_STONE_ID = getBlockTerrain("Limestone", 242); - AtumIDS.BLOCK_COBBLE_ID = getBlock("Cracked Limestone", 1028); - AtumIDS.BLOCK_LARGEBRICK_ID = getBlock("Large Brick", 1029); - AtumIDS.BLOCK_SMALLBRICK_ID = getBlock("Small Brick", 1030); - AtumIDS.BLOCK_CARVEDBRICK_ID = getBlock("Carved Limestone", 1031); - AtumIDS.BLOCK_SLABS_ID = getBlock("Limestone Slabs", 1032); - AtumIDS.BLOCK_DOUBLE_SLAB_ID = getBlock("Double Limestone Slabs", 1033); - AtumIDS.BLOCK_SMOOTHSTAIRS_ID = getBlock("Limestone Stairs", 1034); - AtumIDS.BLOCK_COBBLESTAIRS_ID = getBlock("Cracked Stairs", 1035); - AtumIDS.BLOCK_LARGESTONESTAIRS_ID = getBlock("Large Brick Stairs", 1036); - AtumIDS.BLOCK_SMALLSTONESTAIRS_ID = getBlock("Small Brick Stairs", 1037); - AtumIDS.BLOCK_SANDLAYERED_ID = getBlock("Sand Layer", 1038); - AtumIDS.BLOCK_CRACKEDLARGEBRICK_ID = getBlock("Cracked Large Brick", 1039); - AtumIDS.BLOCK_WALL_ID = getBlock("Limestone Wall", 1040); - AtumIDS.BLOCK_CRYSTALGLASS_ID = getBlock("Crystal Glass", 1041); - AtumIDS.BLOCK_FRAMEDGLASS_ID = getBlock("Framed Glass", 1042); - AtumIDS.BLOCK_PALMSAPLING_ID = getBlock("Palm Sapling", 1043); - AtumIDS.BLOCK_DATEBLOCK_ID = getBlock("Date Block", 1044); - AtumIDS.BLOCK_SHRUB_ID = getBlock("Shrub", 1045); - AtumIDS.BLOCK_WEED_ID = getBlock("Weed", 1046); - AtumIDS.BLOCK_PAPYRUS_ID = getBlock("Papyrus", 1047); - AtumIDS.BLOCK_FLAX_ID = getBlock("Flax", 1048); - AtumIDS.BLOCK_FERTILESOIL_ID = getBlock("Fertile Soil", 1049); - AtumIDS.BLOCK_FERTILESOILTILLED_ID = getBlock("Fertile Soil Tilled", 1050); - AtumIDS.BLOCK_LOG_ID = getBlock("Palm Log", 1051); - AtumIDS.BLOCK_LEAVES_ID = getBlock("Palm Leaves", 1052); - AtumIDS.BLOCK_PLANKS_ID = getBlock("Palm Planks", 1053); - AtumIDS.BLOCK_THINCRYSTALGLASS_ID = getBlock("Thin Crystal Glass", 1054); - AtumIDS.BLOCK_THINFRAMEDGLASS_ID = getBlock("Thin Framed Glass", 1055); - AtumIDS.BLOCK_TRAPARROW_ID = getBlock("Trap Arrows", 1056); - AtumIDS.BLOCK_PHARAOHCHEST_ID = getBlock("Pharaoh Chest", 1057); - AtumIDS.BLOCK_REDSTONEORE_ID = getBlock("Atum Redstone Ore", 1058); - AtumIDS.BLOCK_COALORE_ID = getBlock("Atum Coal Ore", 1059); - AtumIDS.BLOCK_IRONORE_ID = getBlock("Atum Iron Ore", 1060); - AtumIDS.BLOCK_GOLDORE_ID = getBlock("Atum Gold Ore", 1061); - AtumIDS.BLOCK_LAPISORE_ID = getBlock("Atum Lapis Ore", 1062); - AtumIDS.BLOCK_DIAMONDORE_ID = getBlock("Atum Diamond Ore", 1063); - AtumIDS.BLOCK_FURNACEIDLE_ID = getBlock("Atum Furnace Idle", 1064); - AtumIDS.BLOCK_FURNACEBURNING_ID = getBlock("Atum Furnace Burning", 1065); - - AtumIDS.ITEM_SCARAB_ID = getItem("Scarab", 5000); - AtumIDS.ITEM_SCIMITAR_ID = getItem("Scimitar", 5001); - AtumIDS.ITEM_GREATSWORD_ID = getItem("Great Sword", 5002); - AtumIDS.ITEM_SCEPTER_ID = getItem("Scepter", 5003); - AtumIDS.ITEM_STONESOLDIERSWORD_ID = getItem("Stone Soldier Sword", 5004); - AtumIDS.ITEM_BOW_ID = getItem("Bow", 5005); - AtumIDS.ITEM_LOOT_ID = getItem("Loot", 5006); - AtumIDS.ITEM_PTAHSPICK_ID = getItem("Ptahs Pickaxe", 5007); - AtumIDS.ITEM_SOBEKSRAGE_ID = getItem("Sobeks Rage", 5008); - AtumIDS.ITEM_OSIRISWILL_ID = getItem("Osiris Will", 5009); - AtumIDS.ITEM_AKERSTOIL_ID = getItem("AkerStoil", 5010); - AtumIDS.ITEM_GEBSBLESSING_ID = getItem("Gebs Blessing", 5010); - AtumIDS.ITEM_ATENSFURY_ID = getItem("Atens Fury", 5011); - AtumIDS.ITEM_RASGLORY_ID = getItem("Ras Glory", 5012); - AtumIDS.ITEM_SEKHMETSWRATH_ID = getItem("Sekhmets Wrath", 5013); - AtumIDS.ITEM_NUTSAGILITY_ID = getItem("Nuts Agility", 5014); - AtumIDS.ITEM_HORUSFLIGHT_ID = getItem("Horus Flight", 5015); - AtumIDS.ITEM_MONTHUSSTRIKE_ID = getItem("Monthus Strike", 5016); - AtumIDS.ITEM_ANHURSMIGHT_ID = getItem("Anhurs Might", 5017); - AtumIDS.ITEM_HEDETETSSTING_ID = getItem("Hedetet Sting", 5018); - AtumIDS.ITEM_HORUSSOARING_ID = getItem("Horus Soaring", 5019); - AtumIDS.ITEM_SHUSBREATH_ID = getItem("Shus Breath", 5020); - AtumIDS.ITEM_PTAHSDESTRUCTION_ID = getItem("Ptahs Destruction", 5021); - AtumIDS.ITEM_MONTHUSBLAST_ID = getItem("Monthus Blast", 5022); - AtumIDS.ITEM_NUSFLUX_ID = getItem("Nus Flux", 5023); - AtumIDS.ITEM_MNEVISHORNS_ID = getItem("Mnevis Horns", 5024); - AtumIDS.ITEM_ISISEMBRACE_ID = getItem("Isis Brace", 5025); - AtumIDS.ITEM_MAATSBALANCE_ID = getItem("Maats Balance", 5026); - AtumIDS.ITEM_HEDETETSVENOM_ID = getItem("Hedetets Venom", 5027); - AtumIDS.ITEM_GEBSSOLIDARITY_ID = getItem("Gevs Solidarity", 5028); - AtumIDS.ITEM_NUTSCALL_ID = getItem("Nuts Call", 5029); - AtumIDS.ITEM_ANUKETSBOUNTY_ID = getItem("Anukets Bounty", 5030); - AtumIDS.ITEM_MAFDETSQUICKNESS_ID = getItem("Mafdets Quickness", 5031); - AtumIDS.ITEM_ISISHEALING_ID = getItem("Isis Healing", 5032); - AtumIDS.ITEM_AMUNETSHOMECOMING_ID = getItem("Amunets Home Coming", 5033); - AtumIDS.ITEM_ANUBISMERCY_ID = getItem("Anubis Mercy", 5034); - AtumIDS.ITEM_LIMESTONESHOVEL_ID = getItem("Limestone Shovel", 5035); - AtumIDS.ITEM_LIMESTONEPICKAXE_ID = getItem("Limestone Pickaxe", 5036); - AtumIDS.ITEM_LIMESTONEAXE_ID = getItem("Limestone Axe", 5037); - AtumIDS.ITEM_LIMESTONESWORD_ID = getItem("Limestone Sword", 5038); - AtumIDS.ITEM_LIMESTONEHOE_ID = getItem("Limestone Hoe", 5039); - AtumIDS.ITEM_MUMMYHELMET_ID = getItem("Mummy Helmet", 5040); - AtumIDS.ITEM_MUMMYCHEST_ID = getItem("Mummy Chestplate", 5041); - AtumIDS.ITEM_MUMMYLEGS_ID = getItem("Mummy Leggings", 5042); - AtumIDS.ITEM_MUMMYBOOTS_ID = getItem("Mummy Boots", 5043); - AtumIDS.ITEM_WANDERERHELMET_ID = getItem("Wanderer Helmet", 5044); - AtumIDS.ITEM_WANDERERCHEST_ID = getItem("Wanderer Chestplate", 5045); - AtumIDS.ITEM_WANDERERLEGS_ID = getItem("Wanderer Leggings", 5046); - AtumIDS.ITEM_WANDERERBOOTS_ID = getItem("Wanderer Boots", 5047); - AtumIDS.ITEM_DESERTHELMET_ID = getItem("Desert Helmet", 5048); - AtumIDS.ITEM_DESERTCHEST_ID = getItem("Desert Chestplate", 5049); - AtumIDS.ITEM_DESERTLEGS_ID = getItem("Desert Leggings", 5050); - AtumIDS.ITEM_DESERTBOOTS_ID = getItem("Desert Boots", 5051); - AtumIDS.ITEM_PAPYRUSPLANT_ID = getItem("Papyris Plant", 5052); - AtumIDS.ITEM_ECTOPLASM_ID = getItem("Ectoplasm", 5053); - AtumIDS.ITEM_STONECHUNK_ID = getItem("Stone Chunk", 5054); - AtumIDS.ITEM_SCRAP_ID = getItem("Scrap", 5055); - AtumIDS.ITEM_SCROLL_ID = getItem("Scroll", 5056); - AtumIDS.ITEM_PELT_ID = getItem("Pelt", 5057); - AtumIDS.ITEM_DATE_ID = getItem("Date", 5058); - AtumIDS.ITEM_LINEN_ID = getItem("Linen", 5059); - AtumIDS.ITEM_FLAX_ID = getItem("Flax", 5060); - AtumIDS.ITEM_FLAXSEEDS_ID = getItem("Flax Seed", 5061); - AtumIDS.ITEM_FISH_ID = getItem("Fish", 5062); - AtumIDS.ITEM_NEITHSAUDACITY_ID = getItem("Neiths Audacity", 5063); - AtumIDS.ITEM_SPEAR_ID = getItem("Spear", 5064); - - AtumIDS.DIMENSION_ID = get("Dimension", "Atum", 17); - - AtumIDS.BIOME_DESERT_ID = get("Biome", "Desert", 200); - this.CONFIG.save(); - } - - private int getItem(String name, int defaultId) { - return this.CONFIG.getItem(name, defaultId).getInt(); - } - - private int getBlockTerrain(String name, int defaultId) { - return this.CONFIG.getTerrainBlock("block", name, defaultId, "").getInt(); - } - - private int getBlock(String name, int defaultId) { - return this.CONFIG.getBlock(name, defaultId).getInt(); - } - - private int get(String category, String name, int defaultId) { - return this.CONFIG.get(category, name, defaultId).getInt(); - } - -} diff --git a/src/com/teammetallurgy/atum/AtumIDS.java b/src/com/teammetallurgy/atum/AtumIDS.java deleted file mode 100644 index 5e7603d..0000000 --- a/src/com/teammetallurgy/atum/AtumIDS.java +++ /dev/null @@ -1,118 +0,0 @@ -package com.teammetallurgy.atum; - -public class AtumIDS { - - public static int BLOCK_PORTAL_ID; - public static int BLOCK_CURSEDCHEST_ID; - public static int BLOCK_SAND_ID; - public static int BLOCK_STONE_ID; - public static int BLOCK_COBBLE_ID; - public static int BLOCK_LARGEBRICK_ID; - public static int BLOCK_SMALLBRICK_ID; - public static int BLOCK_CARVEDBRICK_ID; - public static int BLOCK_SLABS_ID; - public static int BLOCK_DOUBLE_SLAB_ID; - public static int BLOCK_SMOOTHSTAIRS_ID; - public static int BLOCK_COBBLESTAIRS_ID; - public static int BLOCK_LARGESTONESTAIRS_ID; - public static int BLOCK_SMALLSTONESTAIRS_ID; - public static int BLOCK_SANDLAYERED_ID; - public static int BLOCK_CRACKEDLARGEBRICK_ID; - public static int BLOCK_WALL_ID; - public static int BLOCK_CRYSTALGLASS_ID; - public static int BLOCK_FRAMEDGLASS_ID; - public static int BLOCK_PALMSAPLING_ID; - public static int BLOCK_DATEBLOCK_ID; - public static int BLOCK_SHRUB_ID; - public static int BLOCK_WEED_ID; - public static int BLOCK_PAPYRUS_ID; - public static int BLOCK_FLAX_ID; - public static int BLOCK_FERTILESOIL_ID; - public static int BLOCK_FERTILESOILTILLED_ID; - public static int BLOCK_LOG_ID; - public static int BLOCK_LEAVES_ID; - public static int BLOCK_PLANKS_ID; - public static int BLOCK_THINCRYSTALGLASS_ID; - public static int BLOCK_THINFRAMEDGLASS_ID; - public static int BLOCK_TRAPARROW_ID; - public static int BLOCK_PHARAOHCHEST_ID; - public static int BLOCK_REDSTONEORE_ID; - public static int BLOCK_COALORE_ID; - public static int BLOCK_IRONORE_ID; - public static int BLOCK_GOLDORE_ID; - public static int BLOCK_LAPISORE_ID; - public static int BLOCK_DIAMONDORE_ID; - public static int BLOCK_FURNACEIDLE_ID; - public static int BLOCK_FURNACEBURNING_ID; - - public static int ITEM_SCARAB_ID; - public static int ITEM_SCIMITAR_ID; - public static int ITEM_GREATSWORD_ID; - public static int ITEM_SCEPTER_ID; - public static int ITEM_STONESOLDIERSWORD_ID; - public static int ITEM_BOW_ID; - public static int ITEM_LOOT_ID; - public static int ITEM_PTAHSPICK_ID; - public static int ITEM_SOBEKSRAGE_ID; - public static int ITEM_OSIRISWILL_ID; - public static int ITEM_AKERSTOIL_ID; - public static int ITEM_GEBSBLESSING_ID; - public static int ITEM_ATENSFURY_ID; - public static int ITEM_RASGLORY_ID; - public static int ITEM_SEKHMETSWRATH_ID; - public static int ITEM_NUTSAGILITY_ID; - public static int ITEM_HORUSFLIGHT_ID; - public static int ITEM_MONTHUSSTRIKE_ID; - public static int ITEM_ANHURSMIGHT_ID; - public static int ITEM_HEDETETSSTING_ID; - public static int ITEM_HORUSSOARING_ID; - public static int ITEM_SHUSBREATH_ID; - public static int ITEM_PTAHSDESTRUCTION_ID; - public static int ITEM_MONTHUSBLAST_ID; - public static int ITEM_NUSFLUX_ID; - public static int ITEM_MNEVISHORNS_ID; - public static int ITEM_ISISEMBRACE_ID; - public static int ITEM_MAATSBALANCE_ID; - public static int ITEM_HEDETETSVENOM_ID; - public static int ITEM_GEBSSOLIDARITY_ID; - public static int ITEM_NUTSCALL_ID; - public static int ITEM_ANUKETSBOUNTY_ID; - public static int ITEM_MAFDETSQUICKNESS_ID; - public static int ITEM_ISISHEALING_ID; - public static int ITEM_AMUNETSHOMECOMING_ID; - public static int ITEM_ANUBISMERCY_ID; - public static int ITEM_LIMESTONESHOVEL_ID; - public static int ITEM_LIMESTONEPICKAXE_ID; - public static int ITEM_LIMESTONEAXE_ID; - public static int ITEM_LIMESTONESWORD_ID; - public static int ITEM_LIMESTONEHOE_ID; - public static int ITEM_MUMMYHELMET_ID; - public static int ITEM_MUMMYCHEST_ID; - public static int ITEM_MUMMYLEGS_ID; - public static int ITEM_MUMMYBOOTS_ID; - public static int ITEM_WANDERERHELMET_ID; - public static int ITEM_WANDERERCHEST_ID; - public static int ITEM_WANDERERLEGS_ID; - public static int ITEM_WANDERERBOOTS_ID; - public static int ITEM_DESERTHELMET_ID; - public static int ITEM_DESERTCHEST_ID; - public static int ITEM_DESERTLEGS_ID; - public static int ITEM_DESERTBOOTS_ID; - public static int ITEM_PAPYRUSPLANT_ID; - public static int ITEM_ECTOPLASM_ID; - public static int ITEM_STONECHUNK_ID; - public static int ITEM_SCRAP_ID; - public static int ITEM_SCROLL_ID; - public static int ITEM_PELT_ID; - public static int ITEM_DATE_ID; - public static int ITEM_LINEN_ID; - public static int ITEM_FLAX_ID; - public static int ITEM_FLAXSEEDS_ID; - public static int ITEM_FISH_ID; - public static int ITEM_NEITHSAUDACITY_ID; - public static int ITEM_SPEAR_ID; - - public static int DIMENSION_ID; - - public static int BIOME_DESERT_ID; -} diff --git a/src/com/teammetallurgy/atum/blocks/AtumBlocks.java b/src/com/teammetallurgy/atum/blocks/AtumBlocks.java deleted file mode 100644 index 6682c99..0000000 --- a/src/com/teammetallurgy/atum/blocks/AtumBlocks.java +++ /dev/null @@ -1,138 +0,0 @@ -package com.teammetallurgy.atum.blocks; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.ForgeHooks; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.oredict.OreDictionary; - -import com.teammetallurgy.atum.Atum; -import com.teammetallurgy.atum.AtumIDS; -import com.teammetallurgy.atum.blocks.tileentity.TileEntityBurningTrap; -import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityChestSpawner; -import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityPharaohChest; -import com.teammetallurgy.atum.blocks.tileentity.furnace.TileEntityLimestoneFurnace; - -import cpw.mods.fml.common.registry.GameRegistry; - -public enum AtumBlocks { - INSTANCE; - - public static final BlockPortal BLOCK_PORTAL = new BlockPortal(AtumIDS.BLOCK_PORTAL_ID); - public static final Block BLOCK_CURSEDCHEST = new BlockChestSpawner(AtumIDS.BLOCK_CURSEDCHEST_ID); - public static final Block BLOCK_SAND = new BlockSands(AtumIDS.BLOCK_SAND_ID); - public static final Block BLOCK_STONE = new BlockStones(AtumIDS.BLOCK_STONE_ID); - public static final Block BLOCK_LIMESTONECOBBLE = new BlockAtum(AtumIDS.BLOCK_COBBLE_ID, "cobble").setTextureName("atum:AtumCobble"); - public static final Block BLOCK_LARGEBRICK = new BlockAtum(AtumIDS.BLOCK_LARGEBRICK_ID, "largeBrick").setTextureName("atum:AtumBrickLarge"); - public static final Block BLOCK_SMALLBRICK = new BlockAtum(AtumIDS.BLOCK_SMALLBRICK_ID, "smallBrick").setTextureName("atum:AtumBrickSmall"); - public static final Block BLOCK_CARVEDBRICK = new BlockAtum(AtumIDS.BLOCK_CARVEDBRICK_ID, "carvedBrick").setTextureName("atum:AtumBrickCarved"); - public static final Block BLOCK_SLABS = new BlockSlab(AtumIDS.BLOCK_SLABS_ID, false).setUnlocalizedName("slab"); - public static final Block BLOCK_DOUBLESLAB = new BlockSlab(AtumIDS.BLOCK_DOUBLE_SLAB_ID, true).setUnlocalizedName("doubleSlab"); - public static final Block BLOCK_SMOOTHSTAIRS = new BlockStair(AtumIDS.BLOCK_SMOOTHSTAIRS_ID, BLOCK_STONE, 0).setUnlocalizedName("smoothStairs"); - public static final Block BLOCK_COBBLESTAIRS = new BlockStair(AtumIDS.BLOCK_COBBLESTAIRS_ID, BLOCK_LIMESTONECOBBLE, 0).setUnlocalizedName("cobbleStairs"); - public static final Block BLOCK_LARGESTONESTAIRS = new BlockStair(AtumIDS.BLOCK_LARGESTONESTAIRS_ID, BLOCK_LARGEBRICK, 0).setUnlocalizedName("largeStairs"); - public static final Block BLOCK_SMALLSTONESTAIRS = new BlockStair(AtumIDS.BLOCK_SMALLSTONESTAIRS_ID, BLOCK_SMALLBRICK, 0).setUnlocalizedName("smallStairs"); - public static final Block BLOCK_SANDLAYERED = new BlockSandLayered(AtumIDS.BLOCK_SANDLAYERED_ID); - public static final Block BLOCK_CRACKEDLARGEBRICK = new BlockAtum(AtumIDS.BLOCK_CRACKEDLARGEBRICK_ID, "crackedLargeBrick").setTextureName("atum:AtumCrackedLargeBrick"); - public static final Block BLOCK_WALL = new BlockWalls(AtumIDS.BLOCK_WALL_ID, BLOCK_STONE); - public static final Block BLOCK_CRYSTALGLASS = new BlockAtumGlass(AtumIDS.BLOCK_CRYSTALGLASS_ID, "atum:AtumCrystalGlass").setUnlocalizedName("crystalGlass"); - public static final Block BLOCK_FRAMEDGLASS = new BlockAtumGlass(AtumIDS.BLOCK_FRAMEDGLASS_ID, "atum:AtumFramedGlass").setUnlocalizedName("framedGlass"); - public static final Block BLOCK_PALMSAPLING = new BlockPalmSapling(AtumIDS.BLOCK_PALMSAPLING_ID); - public static final Block BLOCK_DATEBLOCK = new BlockDate(AtumIDS.BLOCK_DATEBLOCK_ID); - public static final Block BLOCK_SHRUB = new BlockShrub(AtumIDS.BLOCK_SHRUB_ID).setUnlocalizedName("shrub").setTextureName("atum:shrub"); - public static final Block BLOCK_WEED = new BlockShrub(AtumIDS.BLOCK_WEED_ID).setUnlocalizedName("weed").setTextureName("atum:DeadBush"); - public static final Block BLOCK_PAPYRUS = new BlockPapyrus(AtumIDS.BLOCK_PAPYRUS_ID); - public static final Block BLOCK_FLAX = new BlockFlax(AtumIDS.BLOCK_FLAX_ID); - public static final Block BLOCK_FERTILESOIL = new BlockFertileSoil(AtumIDS.BLOCK_FERTILESOIL_ID); - public static final Block BLOCK_FERTILESOILTILLED = new BlockFertileSoilTilled(AtumIDS.BLOCK_FERTILESOILTILLED_ID); - public static final Block BLOCK_LOG = new BlockPalmLog(AtumIDS.BLOCK_LOG_ID); - public static final Block BLOCK_LEAVES = new BlockLeave(AtumIDS.BLOCK_LEAVES_ID); - public static final Block BLOCK_PLANKS = new Block(AtumIDS.BLOCK_PLANKS_ID, Material.wood).setUnlocalizedName("palmPlanks").setHardness(2.0F).setResistance(5.0F).setStepSound(Block.soundWoodFootstep).setTextureName("atum:Planks"); - public static final Block BLOCK_THINCRYSTALGLASS = new BlockAtumPane(AtumIDS.BLOCK_THINCRYSTALGLASS_ID, "atum:AtumCrystalGlass", "atum:thinglass_top").setUnlocalizedName("thinCrystalGlass"); - public static final Block BLOCK_THINFRAMEDGLASS = new BlockAtumPane(AtumIDS.BLOCK_THINFRAMEDGLASS_ID, "atum:AtumFramedGlass", "atum:thinglass_top").setUnlocalizedName("thinFramedGlass"); - public static final Block BLOCK_TRAPARROW = new BlockBurningTrap(AtumIDS.BLOCK_TRAPARROW_ID); - public static final Block BLOCK_PHARAOHCHEST = new BlockPharaohChest(AtumIDS.BLOCK_PHARAOHCHEST_ID); - public static final Block BLOCK_REDSTONEORE = new BlockAtumRedstone(AtumIDS.BLOCK_REDSTONEORE_ID); - public static final Block BLOCK_COALORE = new BlockAtumOres(AtumIDS.BLOCK_COALORE_ID).setUnlocalizedName("coalOre").setTextureName("atum:AtumCoal"); - public static final Block BLOCK_IRONORE = new BlockAtumOres(AtumIDS.BLOCK_IRONORE_ID).setUnlocalizedName("ironOre").setTextureName("atum:AtumIron"); - public static final Block BLOCK_GOLDORE = new BlockAtumOres(AtumIDS.BLOCK_GOLDORE_ID).setUnlocalizedName("goldOre").setTextureName("atum:AtumGold"); - public static final Block BLOCK_LAPISORE = new BlockAtumOres(AtumIDS.BLOCK_LAPISORE_ID).setUnlocalizedName("lapisOre").setTextureName("atum:AtumLapis"); - public static final Block BLOCK_DIAMONDORE = new BlockAtumOres(AtumIDS.BLOCK_DIAMONDORE_ID).setUnlocalizedName("diamondOre").setTextureName("atum:AtumDiamond"); - public static final Block BLOCK_FURNACEIDLE = new BlockLimeStoneFurnace(AtumIDS.BLOCK_FURNACEIDLE_ID, false).setUnlocalizedName("furnaceIdle"); - public static final Block BLOCK_FURNACEBURNING = new BlockLimeStoneFurnace(AtumIDS.BLOCK_FURNACEBURNING_ID, true).setUnlocalizedName("furnaceBurning"); - - public void registerBlocks() { - this.register(BLOCK_PORTAL); - this.register(BLOCK_CURSEDCHEST); - this.register(BLOCK_SAND); - this.register(BLOCK_STONE); - this.register(BLOCK_LIMESTONECOBBLE); - this.register(BLOCK_LARGEBRICK); - this.register(BLOCK_SMALLBRICK); - this.register(BLOCK_CARVEDBRICK); - this.register(BLOCK_SMOOTHSTAIRS); - this.register(BLOCK_COBBLESTAIRS); - this.register(BLOCK_LARGESTONESTAIRS); - this.register(BLOCK_SMALLSTONESTAIRS); - this.register(BLOCK_SANDLAYERED); - this.register(BLOCK_CRACKEDLARGEBRICK); - this.register(BLOCK_CRYSTALGLASS); - this.register(BLOCK_FRAMEDGLASS); - this.register(BLOCK_PALMSAPLING); - this.register(BLOCK_DATEBLOCK); - this.register(BLOCK_SHRUB); - this.register(BLOCK_WEED); - this.register(BLOCK_PAPYRUS); - this.register(BLOCK_FLAX); - this.register(BLOCK_FERTILESOIL); - this.register(BLOCK_FERTILESOILTILLED); - this.register(BLOCK_LOG); - this.register(BLOCK_LEAVES); - this.register(BLOCK_PLANKS); - this.register(BLOCK_THINCRYSTALGLASS); - this.register(BLOCK_THINFRAMEDGLASS); - this.register(BLOCK_TRAPARROW); - this.register(BLOCK_PHARAOHCHEST); - this.register(BLOCK_REDSTONEORE); - this.register(BLOCK_COALORE); - this.register(BLOCK_IRONORE); - this.register(BLOCK_GOLDORE); - this.register(BLOCK_LAPISORE); - this.register(BLOCK_DIAMONDORE); - this.register(BLOCK_FURNACEIDLE); - this.register(BLOCK_FURNACEBURNING); - - ForgeHooks.canToolHarvestBlock(BLOCK_SAND, 0, new ItemStack(Item.shovelIron)); - MinecraftForge.setBlockHarvestLevel(BLOCK_SAND, "shovel", 0); - MinecraftForge.setBlockHarvestLevel(BLOCK_COALORE, "pickaxe", 0); - MinecraftForge.setBlockHarvestLevel(BLOCK_IRONORE, "pickaxe", 1); - MinecraftForge.setBlockHarvestLevel(BLOCK_GOLDORE, "pickaxe", 2); - MinecraftForge.setBlockHarvestLevel(BLOCK_LAPISORE, "pickaxe", 1); - MinecraftForge.setBlockHarvestLevel(BLOCK_DIAMONDORE, "pickaxe", 2); - MinecraftForge.setBlockHarvestLevel(BLOCK_REDSTONEORE, "pickaxe", 2); - Block.setBurnProperties(BLOCK_PLANKS.blockID, 5, 20); - Block.setBurnProperties(BLOCK_LEAVES.blockID, 30, 60); - - GameRegistry.registerTileEntity(TileEntityChestSpawner.class, "CursedChest"); - GameRegistry.registerTileEntity(TileEntityPharaohChest.class, "PharaohChest"); - GameRegistry.registerTileEntity(TileEntityBurningTrap.class, "BurningTrap"); - GameRegistry.registerTileEntity(TileEntityLimestoneFurnace.class, "LimestoneFurnace"); - - OreDictionary.registerOre("logWood", BLOCK_LOG); - OreDictionary.registerOre("plankWood", BLOCK_PLANKS); - - GameRegistry.registerBlock(BLOCK_SLABS, ItemBlockSlab.class, BLOCK_SLABS.getUnlocalizedName()); - GameRegistry.registerBlock(BLOCK_DOUBLESLAB, ItemBlockSlab.class, BLOCK_DOUBLESLAB.getUnlocalizedName()); - - GameRegistry.registerBlock(BLOCK_WALL, ItemBlockWall.class, BLOCK_WALL.getUnlocalizedName()); - } - - private void register(Block b) { - if(!(b instanceof BlockDate)) { - b.setCreativeTab(Atum.creativeTab); - } - GameRegistry.registerBlock(b, b.getUnlocalizedName()); - } -} diff --git a/src/com/teammetallurgy/atum/blocks/BlockFertileSoil.java b/src/com/teammetallurgy/atum/blocks/BlockFertileSoil.java deleted file mode 100644 index 8e565fe..0000000 --- a/src/com/teammetallurgy/atum/blocks/BlockFertileSoil.java +++ /dev/null @@ -1,131 +0,0 @@ -package com.teammetallurgy.atum.blocks; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockFarmland; -import net.minecraft.block.BlockFlower; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.util.Icon; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.common.EnumPlantType; -import net.minecraftforge.common.ForgeDirection; -import net.minecraftforge.common.IPlantable; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockFertileSoil extends BlockFarmland { - @SideOnly(Side.CLIENT) - private Icon iconGrassTop; - - @SideOnly(Side.CLIENT) - private Icon iconGrassSideOverlay; - - @SideOnly(Side.CLIENT) - private Icon iconDirt; - - public BlockFertileSoil(int par1) { - super(par1); - this.setUnlocalizedName("fertileSoil"); - this.setHardness(0.5F); - this.setStepSound(Block.soundGrassFootstep); - setTickRandomly(true); - } - - @Override - @SideOnly(Side.CLIENT) - public Icon getIcon(int par1, int par2) { - if(par2 == 1) { - return this.iconDirt; - } - return par1 == 0 ? Block.dirt.getBlockTextureFromSide(par1) : par1 == 1 ? this.iconGrassTop : this.blockIcon; - } - - @Override - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if(!par1World.isRemote) { - if((par1World.getBlockLightValue(par2, par3 + 1, par4) < 4) && (par1World.getBlockLightOpacity(par2, par3 + 1, par4) > 2)) { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 1, 2); - } else if(par1World.getBlockLightValue(par2, par3 + 1, par4) >= 9) { - for(int l = 0; l < 4; l++) { - int i1 = par2 + par5Random.nextInt(3) - 1; - int j1 = par3 + par5Random.nextInt(5) - 3; - int k1 = par4 + par5Random.nextInt(3) - 1; - int l1 = par1World.getBlockId(i1, j1 + 1, k1); - - if((par1World.getBlockId(i1, j1, k1) == this.blockID) && (par1World.getBlockMetadata(i1, j1, k1) == 1) && (par1World.getBlockLightValue(i1, j1 + 1, k1) >= 4) && (par1World.getBlockLightOpacity(i1, j1 + 1, k1) <= 2)) { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 2); - } - } - } - } - } - - @Override - public boolean canSustainPlant(World world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { - EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); - - if((plant instanceof BlockFlower)) { - return true; - } - - switch(plantType.ordinal()) { - case 1: - return false; - case 2: - return false; - case 3: - return false; - case 4: - return isBlockSolidOnSide(world, x, y, z, ForgeDirection.UP); - case 5: - return true; - case 6: - return false; - case 7: - boolean hasWater = (world.getBlockMaterial(x - 1, y, z) == Material.water) || (world.getBlockMaterial(x + 1, y, z) == Material.water) || (world.getBlockMaterial(x, y, z - 1) == Material.water) || (world.getBlockMaterial(x, y, z + 1) == Material.water); - - return hasWater; - } - - return false; - } - - @Override - public int idDropped(int par1, Random par2Random, int par3) { - return AtumBlocks.BLOCK_SAND.blockID; - } - - @Override - @SideOnly(Side.CLIENT) - public Icon getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { - if(par1IBlockAccess.getBlockMetadata(par2, par3, par4) == 1) { - return this.iconDirt; - } - - if(par5 == 1) { - return this.iconGrassTop; - } - if(par5 == 0) { - return AtumBlocks.BLOCK_SAND.getBlockTextureFromSide(par5); - } - - return this.blockIcon; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - this.blockIcon = par1IconRegister.registerIcon("atum:FertileSoilSide"); - this.iconDirt = par1IconRegister.registerIcon("atum:FertileSoil"); - this.iconGrassTop = par1IconRegister.registerIcon("atum:FertileSoilTop"); - this.iconGrassSideOverlay = par1IconRegister.registerIcon("grass_side_overlay"); - } - - @SideOnly(Side.CLIENT) - public Icon getIconSideOverlay() { - return this.iconGrassSideOverlay; - } -} \ No newline at end of file diff --git a/src/com/teammetallurgy/atum/blocks/BlockFlax.java b/src/com/teammetallurgy/atum/blocks/BlockFlax.java deleted file mode 100644 index 6545054..0000000 --- a/src/com/teammetallurgy/atum/blocks/BlockFlax.java +++ /dev/null @@ -1,191 +0,0 @@ -package com.teammetallurgy.atum.blocks; - -import java.util.ArrayList; -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockFlower; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import net.minecraftforge.common.EnumPlantType; -import net.minecraftforge.common.ForgeDirection; - -import com.teammetallurgy.atum.items.AtumItems; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockFlax extends BlockFlower { - @SideOnly(Side.CLIENT) - private Icon[] iconArray; - - protected BlockFlax(int par1) { - super(par1); - this.setUnlocalizedName("flax"); - this.setTickRandomly(true); - float f = 0.5F; - this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 0.25F, 0.5F + f); - this.setCreativeTab((CreativeTabs) null); - this.setHardness(0.0F); - this.setStepSound(Block.soundGrassFootstep); - this.disableStats(); - } - - @Override - public EnumPlantType getPlantType(World world, int x, int y, int z) { - return EnumPlantType.Crop; - } - - @Override - public boolean canBlockStay(World par1World, int par2, int par3, int par4) { - if(par1World.getBlockMetadata(par2, par3, par4) >> 3 == 1) { - return par1World.getBlockId(par2, par3 - 1, par4) == AtumBlocks.BLOCK_FERTILESOIL.blockID; - } else { - Block soil = Block.blocksList[par1World.getBlockId(par2, par3 - 1, par4)]; - return (par1World.getFullBlockLightValue(par2, par3, par4) >= 8 || par1World.canBlockSeeTheSky(par2, par3, par4)) && soil != null && soil.canSustainPlant(par1World, par2, par3 - 1, par4, ForgeDirection.UP, this); - } - } - - @Override - protected boolean canThisPlantGrowOnThisBlockID(int par1) { - return par1 == Block.tilledField.blockID || par1 == AtumBlocks.BLOCK_FERTILESOILTILLED.blockID; - } - - @Override - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { - super.updateTick(par1World, par2, par3, par4, par5Random); - if((par1World.getBlockLightValue(par2, par3 + 1, par4) & 273) >= 9) { - int l = par1World.getBlockMetadata(par2, par3, par4); - if((l & 7) < 5) { - float f = this.getGrowthRate(par1World, par2, par3, par4); - if(par5Random.nextInt((int) (25.0F / f) + 1) == 0) { - ++l; - par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); - } - } - } - - } - - public void fertilize(World par1World, int par2, int par3, int par4) { - int l = par1World.getBlockMetadata(par2, par3, par4) + MathHelper.getRandomIntegerInRange(par1World.rand, 2, 3); - if((l & 7) > 5) { - l -= (l & 7) - 5; - } - - par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); - } - - private float getGrowthRate(World par1World, int par2, int par3, int par4) { - float f = 1.0F; - int l = par1World.getBlockId(par2, par3, par4 - 1); - int i1 = par1World.getBlockId(par2, par3, par4 + 1); - int j1 = par1World.getBlockId(par2 - 1, par3, par4); - int k1 = par1World.getBlockId(par2 + 1, par3, par4); - int l1 = par1World.getBlockId(par2 - 1, par3, par4 - 1); - int i2 = par1World.getBlockId(par2 + 1, par3, par4 - 1); - int j2 = par1World.getBlockId(par2 + 1, par3, par4 + 1); - int k2 = par1World.getBlockId(par2 - 1, par3, par4 + 1); - boolean flag = j1 == super.blockID || k1 == super.blockID; - boolean flag1 = l == super.blockID || i1 == super.blockID; - boolean flag2 = l1 == super.blockID || i2 == super.blockID || j2 == super.blockID || k2 == super.blockID; - - for(int l2 = par2 - 1; l2 <= par2 + 1; ++l2) { - for(int i3 = par4 - 1; i3 <= par4 + 1; ++i3) { - int j3 = par1World.getBlockId(l2, par3 - 1, i3); - float f1 = 0.0F; - if(Block.blocksList[j3] != null && Block.blocksList[j3].canSustainPlant(par1World, l2, par3 - 1, i3, ForgeDirection.UP, this)) { - f1 = 1.0F; - if(Block.blocksList[j3].isFertile(par1World, l2, par3 - 1, i3)) { - f1 = 3.0F; - } - } - - if(l2 != par2 || i3 != par4) { - f1 /= 4.0F; - } - - f += f1; - } - } - - if(flag2 || flag && flag1) { - f /= 2.0F; - } - - return f; - } - - @SideOnly(Side.CLIENT) - public Icon getIcon(int par1, int par2) { - int meta = par2 & 7; - if(meta < 0 || meta > 5) { - meta = 5; - } - - return this.iconArray[meta]; - } - - @Override - public int getRenderType() { - return 1; - } - - protected int getSeedItem() { - return AtumItems.flaxSeeds.itemID; - } - - protected int getCropItem() { - return AtumItems.flax.itemID; - } - - @Override - public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int par4, int par5, float par6, int par7) { - super.dropBlockAsItemWithChance(par1World, par2, par3, par4, par5, par6, 0); - } - - @Override - public ArrayList getBlockDropped(World world, int x, int y, int z, int metadata, int fortune) { - ArrayList ret = super.getBlockDropped(world, x, y, z, metadata, fortune); - if((metadata & 7) >= 5) { - for(int n = 0; n < 3 + fortune; ++n) { - if(world.rand.nextInt(15) <= (metadata & 7)) { - ret.add(new ItemStack(this.getSeedItem(), 1, 0)); - } - } - } - - return ret; - } - - @Override - public int idDropped(int par1, Random par2Random, int par3) { - return par1 == 5 ? this.getCropItem() : this.getSeedItem(); - } - - @Override - public int quantityDropped(Random par1Random) { - return 1; - } - - @Override - @SideOnly(Side.CLIENT) - public int idPicked(World par1World, int par2, int par3, int par4) { - return this.getSeedItem(); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - this.iconArray = new Icon[6]; - - for(int i = 0; i < this.iconArray.length; ++i) { - this.iconArray[i] = par1IconRegister.registerIcon("atum:Flax_" + i); - } - - } -} \ No newline at end of file diff --git a/src/com/teammetallurgy/atum/blocks/BlockSands.java b/src/com/teammetallurgy/atum/blocks/BlockSands.java deleted file mode 100644 index c26302c..0000000 --- a/src/com/teammetallurgy/atum/blocks/BlockSands.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.teammetallurgy.atum.blocks; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockSand; -import net.minecraft.client.renderer.texture.IconRegister; - -public class BlockSands extends BlockSand { - - public BlockSands(int par1) { - super(par1); - this.setUnlocalizedName("sand"); - this.setStepSound(Block.soundSandFootstep); - this.setHardness(0.5F); - } - - @Override - public void registerIcons(IconRegister par1IconRegister) { - this.blockIcon = par1IconRegister.registerIcon("atum:AtumSand"); - } - -} diff --git a/src/com/teammetallurgy/atum/blocks/BlockStair.java b/src/com/teammetallurgy/atum/blocks/BlockStair.java deleted file mode 100644 index b00c8d1..0000000 --- a/src/com/teammetallurgy/atum/blocks/BlockStair.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.teammetallurgy.atum.blocks; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockStairs; - -public class BlockStair extends BlockStairs { - - protected BlockStair(int par1, Block par2Block, int par3) { - super(par1, par2Block, par3); - } - -} diff --git a/src/com/teammetallurgy/atum/blocks/BlockStones.java b/src/com/teammetallurgy/atum/blocks/BlockStones.java deleted file mode 100644 index 47fc87b..0000000 --- a/src/com/teammetallurgy/atum/blocks/BlockStones.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.teammetallurgy.atum.blocks; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockStone; -import net.minecraft.client.renderer.texture.IconRegister; - -public class BlockStones extends BlockStone { - - public BlockStones(int par1) { - super(par1); - this.setUnlocalizedName("stone"); - this.setStepSound(Block.soundSandFootstep); - this.setHardness(0.5F); - } - - public int idDropped(int par1, Random par2Random, int par3) { - return AtumBlocks.BLOCK_LIMESTONECOBBLE.blockID; - } - - @Override - public void registerIcons(IconRegister par1IconRegister) { - this.blockIcon = par1IconRegister.registerIcon("atum:AtumStone"); - } - -} diff --git a/src/com/teammetallurgy/atum/blocks/BlockWalls.java b/src/com/teammetallurgy/atum/blocks/BlockWalls.java deleted file mode 100644 index fa52fa2..0000000 --- a/src/com/teammetallurgy/atum/blocks/BlockWalls.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.teammetallurgy.atum.blocks; - -import java.util.List; - -import com.teammetallurgy.atum.Atum; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockWall; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; -import net.minecraft.world.World; -import net.minecraftforge.common.ForgeDirection; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class BlockWalls extends BlockWall { - @SideOnly(Side.CLIENT) - private Icon[] icon; - - public BlockWalls(int par1, Block par2Block) { - super(par1, par2Block); - this.setUnlocalizedName("walls"); - this.setCreativeTab(Atum.creativeTab); - } - - @Override - public Icon getIcon(int side, int meta) { - return this.icon[meta]; - } - - @Override - public boolean isBlockSolidOnSide(World world, int x, int y, int z, ForgeDirection side) { - return side == ForgeDirection.UP; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister iconRegister) { - this.icon = new Icon[4]; - this.icon[0] = iconRegister.registerIcon("atum:AtumStone"); - this.icon[1] = iconRegister.registerIcon("atum:AtumCobble"); - this.icon[2] = iconRegister.registerIcon("atum:AtumBrickLarge"); - this.icon[3] = iconRegister.registerIcon("atum:AtumBrickSmall"); - } - - @Override - public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List) { - par3List.add(new ItemStack(par1, 1, 0)); - par3List.add(new ItemStack(par1, 1, 1)); - par3List.add(new ItemStack(par1, 1, 2)); - par3List.add(new ItemStack(par1, 1, 3)); - } - -} diff --git a/src/com/teammetallurgy/atum/entity/EntityBonestorm.java b/src/com/teammetallurgy/atum/entity/EntityBonestorm.java deleted file mode 100644 index 3a8b151..0000000 --- a/src/com/teammetallurgy/atum/entity/EntityBonestorm.java +++ /dev/null @@ -1,220 +0,0 @@ -package com.teammetallurgy.atum.entity; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntitySmallFireball; -import net.minecraft.item.Item; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class EntityBonestorm extends EntityMob { - /** Random offset used in floating behaviour */ - private float heightOffset = 0.5F; - - /** ticks until heightOffset is randomized */ - private int heightOffsetUpdateTime; - private int field_70846_g; - - public EntityBonestorm(World par1World) { - super(par1World); - // this.texture = "/mob/fire.png"; - this.isImmuneToFire = true; - this.experienceValue = 10; - - } - - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(20.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(2.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); - } - - @Override - protected void entityInit() { - super.entityInit(); - this.dataWatcher.addObject(16, new Byte((byte) 0)); - } - - /** - * Returns the sound this mob makes while it's alive. - */ - protected String getLivingSound() { - return "mob.blaze.breathe"; - } - - /** - * Returns the sound this mob makes when it is hurt. - */ - protected String getHurtSound() { - return "mob.blaze.hit"; - } - - /** - * Returns the sound this mob makes on death. - */ - protected String getDeathSound() { - return "mob.blaze.death"; - } - - @SideOnly(Side.CLIENT) - public int getBrightnessForRender(float par1) { - return 15728880; - } - - /** - * Gets how bright this entity is. - */ - public float getBrightness(float par1) { - return 1.0F; - } - - /** - * Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons use this to react to sunlight and start to burn. - */ - public void onLivingUpdate() { - if(!this.worldObj.isRemote) { - if(this.isWet()) { - this.attackEntityFrom(DamageSource.drown, 1); - } - - --this.heightOffsetUpdateTime; - - if(this.heightOffsetUpdateTime <= 0) { - this.heightOffsetUpdateTime = 100; - this.heightOffset = 0.5F + (float) this.rand.nextGaussian() * 3.0F; - } - - if(this.getEntityToAttack() != null && this.getEntityToAttack().posY + (double) this.getEntityToAttack().getEyeHeight() > this.posY + (double) this.getEyeHeight() + (double) this.heightOffset) { - this.motionY += (0.30000001192092896D - this.motionY) * 0.30000001192092896D; - } - } - - if(this.rand.nextInt(24) == 0) { - this.worldObj.playSoundEffect(this.posX + 0.5D, this.posY + 0.5D, this.posZ + 0.5D, "fire.fire", 1.0F + this.rand.nextFloat(), this.rand.nextFloat() * 0.7F + 0.3F); - } - - if(!this.onGround && this.motionY < 0.0D) { - this.motionY *= 0.6D; - } - - for(int i = 0; i < 2; ++i) { - this.worldObj.spawnParticle("largesmoke", this.posX + (this.rand.nextDouble() - 0.5D) * (double) this.width, this.posY + this.rand.nextDouble() * (double) this.height, this.posZ + (this.rand.nextDouble() - 0.5D) * (double) this.width, 0.0D, 0.0D, 0.0D); - } - - super.onLivingUpdate(); - } - - /** - * Basic mob attack. Default to touch of death in EntityCreature. Overridden by each mob to define their attack. - */ - protected void attackEntity(Entity par1Entity, float par2) { - if(this.attackTime <= 0 && par2 < 2.0F && par1Entity.boundingBox.maxY > this.boundingBox.minY && par1Entity.boundingBox.minY < this.boundingBox.maxY) { - this.attackTime = 20; - this.attackEntityAsMob(par1Entity); - } else if(par2 < 30.0F) { - double d0 = par1Entity.posX - this.posX; - double d1 = par1Entity.boundingBox.minY + (double) (par1Entity.height / 2.0F) - (this.posY + (double) (this.height / 2.0F)); - double d2 = par1Entity.posZ - this.posZ; - - if(this.attackTime == 0) { - ++this.field_70846_g; - - if(this.field_70846_g == 1) { - this.attackTime = 60; - this.func_70844_e(true); - } else if(this.field_70846_g <= 4) { - this.attackTime = 6; - } else { - this.attackTime = 100; - this.field_70846_g = 0; - this.func_70844_e(false); - } - - if(this.field_70846_g > 1) { - float f1 = MathHelper.sqrt_float(par2) * 0.5F; - this.worldObj.playAuxSFXAtEntity((EntityPlayer) null, 1009, (int) this.posX, (int) this.posY, (int) this.posZ, 0); - - for(int i = 0; i < 1; ++i) { - EntitySmallFireball entitysmallfireball = new EntitySmallFireball(this.worldObj, this, d0 + this.rand.nextGaussian() * (double) f1, d1, d2 + this.rand.nextGaussian() * (double) f1); - entitysmallfireball.posY = this.posY + (double) (this.height / 2.0F) + 0.5D; - this.worldObj.spawnEntityInWorld(entitysmallfireball); - } - } - } - - this.rotationYaw = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - this.hasAttacked = true; - } - } - - /** - * Called when the mob is falling. Calculates and applies fall damage. - */ - protected void fall(float par1) { - } - - /** - * Returns the item ID for the item the mob drops on death. - */ - protected int getDropItemId() { - return Item.blazeRod.itemID; - } - - /** - * Returns true if the entity is on fire. Used by render to add the fire effect on rendering. - */ - public boolean isBurning() { - return this.func_70845_n(); - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. - */ - protected void dropFewItems(boolean par1, int par2) { - if(par1) { - int j = this.rand.nextInt(2 + par2); - - for(int k = 0; k < j; ++k) { - this.dropItem(Item.blazeRod.itemID, 1); - } - } - } - - public boolean func_70845_n() { - return (this.dataWatcher.getWatchableObjectByte(16) & 1) != 0; - } - - public void func_70844_e(boolean par1) { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if(par1) { - b0 = (byte) (b0 | 1); - } else { - b0 &= -2; - } - - this.dataWatcher.updateObject(16, Byte.valueOf(b0)); - } - - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - protected boolean isValidLightLevel() { - return true; - } - - /** - * Returns the amount of damage a mob should deal. - */ - public int getAttackStrength(Entity par1Entity) { - return 6; - } -} diff --git a/src/com/teammetallurgy/atum/items/AtumItems.java b/src/com/teammetallurgy/atum/items/AtumItems.java deleted file mode 100644 index d86c2eb..0000000 --- a/src/com/teammetallurgy/atum/items/AtumItems.java +++ /dev/null @@ -1,193 +0,0 @@ -package com.teammetallurgy.atum.items; - -import net.minecraft.block.Block; -import net.minecraft.item.EnumArmorMaterial; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.Item; -import net.minecraft.item.ItemFood; -import net.minecraft.item.ItemSeeds; -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.EnumHelper; - -import com.teammetallurgy.atum.Atum; -import com.teammetallurgy.atum.AtumIDS; -import com.teammetallurgy.atum.blocks.AtumBlocks; -import com.teammetallurgy.atum.items.artifacts.IsisEmbrace; -import com.teammetallurgy.atum.items.artifacts.ItemAkersToil; -import com.teammetallurgy.atum.items.artifacts.ItemAmunetsHomecoming; -import com.teammetallurgy.atum.items.artifacts.ItemAnhursMight; -import com.teammetallurgy.atum.items.artifacts.ItemAnubisMercy; -import com.teammetallurgy.atum.items.artifacts.ItemAnuketsBounty; -import com.teammetallurgy.atum.items.artifacts.ItemAtensFury; -import com.teammetallurgy.atum.items.artifacts.ItemGebsBlessing; -import com.teammetallurgy.atum.items.artifacts.ItemGebsSolidarity; -import com.teammetallurgy.atum.items.artifacts.ItemHedetetsSting; -import com.teammetallurgy.atum.items.artifacts.ItemHedetetsVenom; -import com.teammetallurgy.atum.items.artifacts.ItemHorusFlight; -import com.teammetallurgy.atum.items.artifacts.ItemHorusSoaring; -import com.teammetallurgy.atum.items.artifacts.ItemIsisHealing; -import com.teammetallurgy.atum.items.artifacts.ItemMaatsBalance; -import com.teammetallurgy.atum.items.artifacts.ItemMafdetsQuickness; -import com.teammetallurgy.atum.items.artifacts.ItemMnevisHorns; -import com.teammetallurgy.atum.items.artifacts.ItemMonthusBlast; -import com.teammetallurgy.atum.items.artifacts.ItemMonthusStrike; -import com.teammetallurgy.atum.items.artifacts.ItemNeithsAudacity; -import com.teammetallurgy.atum.items.artifacts.ItemNusFlux; -import com.teammetallurgy.atum.items.artifacts.ItemNutsAgility; -import com.teammetallurgy.atum.items.artifacts.ItemNutsCall; -import com.teammetallurgy.atum.items.artifacts.ItemOsirisWill; -import com.teammetallurgy.atum.items.artifacts.ItemPtahsDecadence; -import com.teammetallurgy.atum.items.artifacts.ItemPtahsDestruction; -import com.teammetallurgy.atum.items.artifacts.ItemRasGlory; -import com.teammetallurgy.atum.items.artifacts.ItemSekhmetsWrath; -import com.teammetallurgy.atum.items.artifacts.ItemShusBreath; -import com.teammetallurgy.atum.items.artifacts.ItemSobeksRage; - -import cpw.mods.fml.common.registry.GameRegistry; - -public enum AtumItems { - INSTANCE; - - public static final Item ITEM_SCARAB = new ItemScarab(AtumIDS.ITEM_SCARAB_ID).setUnlocalizedName("scarab"); - public static final Item ITEM_LOOT = new ItemLoot(AtumIDS.ITEM_LOOT_ID).setUnlocalizedName("loot"); - public static final Item ITEM_DATE = new ItemFood(AtumIDS.ITEM_DATE_ID, 5, 1.5F, false).setTextureName("atum:date").setUnlocalizedName("date"); - public static final Item ITEM_SCIMITAR = new ItemScimitar(AtumIDS.ITEM_SCIMITAR_ID, EnumToolMaterial.IRON).setUnlocalizedName("scimitar"); - public static final Item ITEM_GREATSWORD = new ItemGreatsword(AtumIDS.ITEM_GREATSWORD_ID, EnumToolMaterial.IRON).setUnlocalizedName("greatsword").setTextureName("atum:Greatsword"); - public static final Item ITEM_BOW = new ItemAtumBow(AtumIDS.ITEM_BOW_ID).setUnlocalizedName("bow"); - public static final Item ITEM_STONESOLDIER_SWORD = new ItemStoneSoldierSword(AtumIDS.ITEM_STONESOLDIERSWORD_ID, EnumToolMaterial.IRON).setUnlocalizedName("stoneSoldierSword"); - public static final Item ITEM_SCEPTER = new ItemScepter(AtumIDS.ITEM_SCEPTER_ID, EnumToolMaterial.GOLD).setUnlocalizedName("scepter"); - public static final Item ptahsPick = new ItemPtahsDecadence(AtumIDS.ITEM_PTAHSPICK_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("ptahsDecadence"); - public static final Item sobeksRage = new ItemSobeksRage(AtumIDS.ITEM_SOBEKSRAGE_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("soteksRage"); - public static final Item osirisWill = new ItemOsirisWill(AtumIDS.ITEM_OSIRISWILL_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("osirisWill"); - public static final Item akersToil = new ItemAkersToil(AtumIDS.ITEM_AKERSTOIL_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("akersToil"); - public static final Item gebsBlessing = new ItemGebsBlessing(AtumIDS.ITEM_GEBSBLESSING_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("gebsBlessing"); - public static final Item atensFury = new ItemAtensFury(AtumIDS.ITEM_ATENSFURY_ID).setUnlocalizedName("atensFury"); - public static final Item rasGlory = new ItemRasGlory(AtumIDS.ITEM_RASGLORY_ID, EnumArmorMaterial.DIAMOND, 0, 0).setTextureFile("EgyptianArmor_1").setUnlocalizedName("rasGlory"); - public static final Item sekhmetsWrath = new ItemSekhmetsWrath(AtumIDS.ITEM_SEKHMETSWRATH_ID, 1, 1).setTextureFile("EgyptianArmor_1").setUnlocalizedName("sekhmetsWrath"); - public static final Item nutsAgility = new ItemNutsAgility(AtumIDS.ITEM_NUTSAGILITY_ID, EnumArmorMaterial.DIAMOND, 2, 2).setTextureFile("EgyptianArmor_2").setUnlocalizedName("nutsAgility"); - public static final Item horusFlight = new ItemHorusFlight(AtumIDS.ITEM_HORUSFLIGHT_ID, EnumArmorMaterial.DIAMOND, 3, 3).setTextureFile("EgyptianArmor_1").setUnlocalizedName("horusFlight"); - public static final Item monthusStrike = new ItemMonthusStrike(AtumIDS.ITEM_MONTHUSSTRIKE_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("monthusStrike"); - public static final Item anhursMight = new ItemAnhursMight(AtumIDS.ITEM_ANHURSMIGHT_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("anhursMight"); - public static final Item hedetetsSting = new ItemHedetetsSting(AtumIDS.ITEM_HEDETETSSTING_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("hedetetsSting"); - public static final Item horusSoaring = new ItemHorusSoaring(AtumIDS.ITEM_HORUSSOARING_ID).setUnlocalizedName("horusSoaring"); - public static final Item shusBreath = new ItemShusBreath(AtumIDS.ITEM_SHUSBREATH_ID).setUnlocalizedName("shusBreath"); - public static final Item ptahsDestruction = new ItemPtahsDestruction(AtumIDS.ITEM_PTAHSDESTRUCTION_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("ptahsDestruction"); - public static final Item monthusBlast = new ItemMonthusBlast(AtumIDS.ITEM_MONTHUSBLAST_ID).setUnlocalizedName("monthusBlast"); - public static final Item nusFlux = new ItemNusFlux(AtumIDS.ITEM_NUSFLUX_ID, EnumToolMaterial.EMERALD).setUnlocalizedName("nusFlux"); - public static final Item mnevisHorns = new ItemMnevisHorns(AtumIDS.ITEM_MNEVISHORNS_ID, EnumArmorMaterial.DIAMOND, 0, 0).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("mnevisHorns"); - public static final Item isisEmbrace = new IsisEmbrace(AtumIDS.ITEM_ISISEMBRACE_ID, EnumArmorMaterial.DIAMOND, 1, 1).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("isisEmbrace"); - public static final Item maatsBalance = new ItemMaatsBalance(AtumIDS.ITEM_MAATSBALANCE_ID, EnumArmorMaterial.DIAMOND, 2, 2).setTextureFile("RubyArtifactArmor_2").setUnlocalizedName("maatsBalance"); - public static final Item hedetetsVenom = new ItemHedetetsVenom(AtumIDS.ITEM_HEDETETSVENOM_ID).setUnlocalizedName("hedetetsVenom"); - public static final Item gebsSolidarity = new ItemGebsSolidarity(AtumIDS.ITEM_GEBSSOLIDARITY_ID, EnumArmorMaterial.DIAMOND, 3, 3).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("gebsSolidarity"); - public static final Item nutsCall = new ItemNutsCall(AtumIDS.ITEM_NUTSCALL_ID).setUnlocalizedName("nutsCall"); - public static final Item anuketsBounty = new ItemAnuketsBounty(AtumIDS.ITEM_ANUKETSBOUNTY_ID).setUnlocalizedName("anuketsBounty"); - public static final Item mafdetsQuickness = new ItemMafdetsQuickness(AtumIDS.ITEM_MAFDETSQUICKNESS_ID).setUnlocalizedName("mafdetsQuickness"); - public static final Item isisHealing = new ItemIsisHealing(AtumIDS.ITEM_ISISHEALING_ID).setUnlocalizedName("isisHealing"); - public static final Item amunetsHomecoming = new ItemAmunetsHomecoming(AtumIDS.ITEM_AMUNETSHOMECOMING_ID).setUnlocalizedName("amunetsHomecoming"); - public static final Item anubisMercy = new ItemAnubisMercy(AtumIDS.ITEM_ANUBISMERCY_ID).setUnlocalizedName("anubisMercy"); - public static final Item limestoneShovel = new LimestoneShovel(AtumIDS.ITEM_LIMESTONESHOVEL_ID, EnumToolMaterial.STONE).setUnlocalizedName("limestoneShovel"); - public static final Item limestonePickaxe = new LimestonePickaxe(AtumIDS.ITEM_LIMESTONEPICKAXE_ID, EnumToolMaterial.STONE).setUnlocalizedName("limestonePickaxe"); - public static final Item limestoneAxe = new LimestoneAxe(AtumIDS.ITEM_LIMESTONEAXE_ID, EnumToolMaterial.STONE).setUnlocalizedName("limestoneAxe"); - public static final Item limestoneSword = new LimestoneSword(AtumIDS.ITEM_LIMESTONESWORD_ID, EnumToolMaterial.STONE).setUnlocalizedName("limestoneSword"); - public static final Item limestoneHoe = new LimestoneHoe(AtumIDS.ITEM_LIMESTONEHOE_ID, EnumToolMaterial.STONE).setUnlocalizedName("limestoneHoe"); - private static EnumArmorMaterial mummyEnum = EnumHelper.addArmorMaterial("Mummy", 5, new int[]{1, 3, 2, 1}, 15); - public static final Item mummyHelmet = new ItemTexturedArmor(AtumIDS.ITEM_MUMMYHELMET_ID, mummyEnum, 0, 0).setRepairItem(AtumIDS.ITEM_SCRAP_ID).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyHelmet").setTextureName("atum:MummyHelmet"); - public static final Item mummyChest = new ItemTexturedArmor(AtumIDS.ITEM_MUMMYCHEST_ID, mummyEnum, 0, 1).setRepairItem(AtumIDS.ITEM_SCRAP_ID).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyChest").setTextureName("atum:MummyChest"); - public static final Item mummyLegs = new ItemTexturedArmor(AtumIDS.ITEM_MUMMYLEGS_ID, mummyEnum, 0, 2).setRepairItem(AtumIDS.ITEM_SCRAP_ID).setTextureFile("MummyArmor_2").setUnlocalizedName("mummyLegs").setTextureName("atum:MummyLegs"); - public static final Item mummyBoots = new ItemTexturedArmor(AtumIDS.ITEM_MUMMYBOOTS_ID, mummyEnum, 0, 3).setRepairItem(AtumIDS.ITEM_SCRAP_ID).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyBoots").setTextureName("atum:MummyBoots"); - private static EnumArmorMaterial wandererEnum = EnumHelper.addArmorMaterial("Wanderer", 10, new int[]{2, 3, 3, 2}, 15); - public static final Item wandererHelmet = new ItemTexturedArmor(AtumIDS.ITEM_WANDERERHELMET_ID, wandererEnum, 0, 0).setRepairItem(AtumIDS.ITEM_LINEN_ID).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererHelmet").setTextureName("atum:WandererHelmet"); - public static final Item wandererChest = new ItemTexturedArmor(AtumIDS.ITEM_WANDERERCHEST_ID, wandererEnum, 0, 1).setRepairItem(AtumIDS.ITEM_LINEN_ID).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererChest").setTextureName("atum:WandererChest"); - public static final Item wandererLegs = new ItemTexturedArmor(AtumIDS.ITEM_WANDERERLEGS_ID, wandererEnum, 0, 2).setRepairItem(AtumIDS.ITEM_LINEN_ID).setTextureFile("WandererArmor_2").setUnlocalizedName("wandererLegs").setTextureName("atum:WandererLegs"); - public static final Item wandererBoots = new ItemTexturedArmor(AtumIDS.ITEM_WANDERERBOOTS_ID, wandererEnum, 0, 3).setRepairItem(AtumIDS.ITEM_LINEN_ID).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererBoots").setTextureName("atum:WandererBoots"); - private static EnumArmorMaterial desertEnum = EnumHelper.addArmorMaterial("Desert", 20, new int[]{3, 6, 5, 3}, 15); - public static final Item desertHelmet = new ItemTexturedArmor(AtumIDS.ITEM_DESERTHELMET_ID, desertEnum, 0, 0).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("desertHelmet").setTextureName("atum:DesertHelmet"); - public static final Item desertChest = new ItemTexturedArmor(AtumIDS.ITEM_DESERTCHEST_ID, desertEnum, 0, 1).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("desertChest").setTextureName("atum:DesertChest"); - public static final Item desertLegs = new ItemTexturedArmor(AtumIDS.ITEM_DESERTLEGS_ID, desertEnum, 0, 2).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_2").setUnlocalizedName("desertLegs").setTextureName("atum:DesertLegs"); - public static final Item desertBoots = new ItemTexturedArmor(AtumIDS.ITEM_DESERTBOOTS_ID, desertEnum, 0, 3).setRepairItem(Item.ingotIron.itemID).setTextureFile("DesertArmor_1").setUnlocalizedName("desertBoots").setTextureName("atum:DesertBoots"); - public static final Item papyrusPlant = new ItemPapyrusPlant(AtumIDS.ITEM_PAPYRUSPLANT_ID, AtumBlocks.BLOCK_PAPYRUS).setUnlocalizedName("papyrusPlant"); - public static final Item ectoplasm = new Item(AtumIDS.ITEM_ECTOPLASM_ID).setUnlocalizedName("ectoplasm").setTextureName("atum:Ectoplasm"); - public static final Item stoneChunk = new Item(AtumIDS.ITEM_STONECHUNK_ID).setUnlocalizedName("stoneChunk").setTextureName("atum:StoneChunk"); - public static final Item scrap = new Item(AtumIDS.ITEM_SCRAP_ID).setUnlocalizedName("clothScrap").setTextureName("atum:ClothScrap"); - public static final Item scroll = new Item(AtumIDS.ITEM_SCROLL_ID).setUnlocalizedName("scroll").setTextureName("atum:Scroll"); - public static final Item pelt = new Item(AtumIDS.ITEM_PELT_ID).setUnlocalizedName("wolfPelt").setTextureName("atum:WolfPelt"); - public static final Item linen = new Item(AtumIDS.ITEM_LINEN_ID).setUnlocalizedName("linen").setTextureName("atum:Linen"); - public static final Item flax = new Item(AtumIDS.ITEM_FLAX_ID).setUnlocalizedName("flax").setTextureName("atum:FlaxItem"); - public static final Item flaxSeeds = new ItemSeeds(AtumIDS.ITEM_FLAXSEEDS_ID, AtumBlocks.BLOCK_FLAX.blockID, Block.tilledField.blockID).setUnlocalizedName("flaxSeeds").setTextureName("atum:FlaxSeeds"); - public static final Item fish = new ItemFish(AtumIDS.ITEM_FISH_ID).setUnlocalizedName("fish"); - public static final Item neithsAudacity = new ItemNeithsAudacity(AtumIDS.ITEM_NEITHSAUDACITY_ID).setUnlocalizedName("neithsAudacity"); - - public void registerItems() { - this.register(ITEM_SCARAB); - this.register(ITEM_LOOT); - this.register(ITEM_DATE); - this.register(ITEM_SCIMITAR); - this.register(ITEM_GREATSWORD); - this.register(ITEM_SCEPTER); - this.register(ITEM_STONESOLDIER_SWORD); - this.register(ITEM_BOW); - this.register(ptahsPick); - this.register(sobeksRage); - this.register(osirisWill); - this.register(akersToil); - this.register(gebsBlessing); - this.register(atensFury); - this.register(rasGlory); - this.register(sekhmetsWrath); - this.register(nutsAgility); - this.register(horusFlight); - this.register(monthusStrike); - this.register(anhursMight); - this.register(hedetetsSting); - this.register(horusSoaring); - this.register(shusBreath); - this.register(ptahsDestruction); - this.register(monthusBlast); - this.register(nusFlux); - this.register(mnevisHorns); - this.register(isisEmbrace); - this.register(maatsBalance); - this.register(hedetetsVenom); - this.register(gebsSolidarity); - this.register(nutsCall); - this.register(anuketsBounty); - this.register(mafdetsQuickness); - this.register(isisHealing); - this.register(amunetsHomecoming); - this.register(anubisMercy); - this.register(limestoneShovel); - this.register(limestonePickaxe); - this.register(limestoneAxe); - this.register(limestoneSword); - this.register(limestoneHoe); - this.register(mummyHelmet); - this.register(mummyChest); - this.register(mummyLegs); - this.register(mummyBoots); - this.register(wandererHelmet); - this.register(wandererChest); - this.register(wandererLegs); - this.register(wandererBoots); - this.register(desertHelmet); - this.register(desertChest); - this.register(desertLegs); - this.register(desertBoots); - this.register(papyrusPlant); - this.register(ectoplasm); - this.register(stoneChunk); - this.register(scrap); - this.register(scroll); - this.register(pelt); - this.register(linen); - this.register(flax); - this.register(flaxSeeds); - this.register(fish); - this.register(neithsAudacity); - } - - private void register(Item item) { - GameRegistry.registerItem(item, item.getUnlocalizedName()); - item.setCreativeTab(Atum.creativeTab); - } - -} diff --git a/src/com/teammetallurgy/atum/items/ItemAtumBow.java b/src/com/teammetallurgy/atum/items/ItemAtumBow.java deleted file mode 100644 index 70a3d6f..0000000 --- a/src/com/teammetallurgy/atum/items/ItemAtumBow.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.teammetallurgy.atum.items; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemBow; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemAtumBow extends ItemBow { - - public static final String[] bowPullIconNameArray = new String[]{"bow_pull_0", "bow_pull_1", "bow_pull_2"}; - Icon[] iconArray; - - public ItemAtumBow(int par1) { - super(par1); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - this.iconArray = new Icon[bowPullIconNameArray.length]; - - this.itemIcon = par1IconRegister.registerIcon("atum:Bow"); - for(int i = 0; i < this.iconArray.length; ++i) { - this.iconArray[i] = par1IconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); - } - - } - - @Override - public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { - if(usingItem != null) { - int j = this.getMaxItemUseDuration(stack) - useRemaining; - if(j >= 18) { - return this.getItemIconForUseDuration(2); - } - - if(j > 13) { - return this.getItemIconForUseDuration(1); - } - - if(j > 0) { - return this.getItemIconForUseDuration(0); - } - } - - return this.getIcon(stack, renderPass); - } - - @Override - @SideOnly(Side.CLIENT) - public Icon getItemIconForUseDuration(int par1) { - return this.iconArray[par1]; - } - -} diff --git a/src/com/teammetallurgy/atum/items/ItemPapyrusPlant.java b/src/com/teammetallurgy/atum/items/ItemPapyrusPlant.java deleted file mode 100644 index 72ae8b3..0000000 --- a/src/com/teammetallurgy/atum/items/ItemPapyrusPlant.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.teammetallurgy.atum.items; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -public class ItemPapyrusPlant extends Item { - - private int spawnID; - - public ItemPapyrusPlant(int par1, Block par2Block) { - super(par1); - this.spawnID = par2Block.blockID; - } - - @Override - public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) { - int i1 = par3World.getBlockId(par4, par5, par6); - if(i1 == Block.snow.blockID && (par3World.getBlockMetadata(par4, par5, par6) & 7) < 1) { - par7 = 1; - } else if(i1 != Block.vine.blockID && i1 != Block.tallGrass.blockID && i1 != Block.deadBush.blockID) { - if(par7 == 0) { - --par5; - } - - if(par7 == 1) { - ++par5; - } - - if(par7 == 2) { - --par6; - } - - if(par7 == 3) { - ++par6; - } - - if(par7 == 4) { - --par4; - } - - if(par7 == 5) { - ++par4; - } - } - - if(!par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack)) { - return false; - } else if(par1ItemStack.stackSize == 0) { - return false; - } else { - if(par3World.canPlaceEntityOnSide(this.spawnID, par4, par5, par6, false, par7, (Entity) null, par1ItemStack)) { - Block block = Block.blocksList[this.spawnID]; - int j1 = block.onBlockPlaced(par3World, par4, par5, par6, par7, par8, par9, par10, 0); - if(par3World.setBlock(par4, par5, par6, this.spawnID, j1, 3)) { - if(par3World.getBlockId(par4, par5, par6) == this.spawnID) { - Block.blocksList[this.spawnID].onBlockPlacedBy(par3World, par4, par5, par6, par2EntityPlayer, par1ItemStack); - Block.blocksList[this.spawnID].onPostBlockPlaced(par3World, par4, par5, par6, j1); - } - - par3World.playSoundEffect((double) ((float) par4 + 0.5F), (double) ((float) par5 + 0.5F), (double) ((float) par6 + 0.5F), block.stepSound.getPlaceSound(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); - --par1ItemStack.stackSize; - } - } - - return true; - } - } - - @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:PapyrusPlantItem"); - } - -} diff --git a/src/com/teammetallurgy/atum/items/ItemScepter.java b/src/com/teammetallurgy/atum/items/ItemScepter.java deleted file mode 100644 index 569176c..0000000 --- a/src/com/teammetallurgy/atum/items/ItemScepter.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.teammetallurgy.atum.items; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.ItemSword; - -public class ItemScepter extends ItemSword { - - public ItemScepter(int par1, EnumToolMaterial par2EnumToolMaterial) { - super(par1, par2EnumToolMaterial); - } - - @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:Scepter"); - } -} diff --git a/src/com/teammetallurgy/atum/items/ItemScimitar.java b/src/com/teammetallurgy/atum/items/ItemScimitar.java deleted file mode 100644 index 5884c9a..0000000 --- a/src/com/teammetallurgy/atum/items/ItemScimitar.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.teammetallurgy.atum.items; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.ItemSword; - -public class ItemScimitar extends ItemSword { - - public ItemScimitar(int par1, EnumToolMaterial par2EnumToolMaterial) { - super(par1, par2EnumToolMaterial); - } - - @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:Scimitar"); - } -} diff --git a/src/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java b/src/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java deleted file mode 100644 index 70ae056..0000000 --- a/src/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.teammetallurgy.atum.items; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.ItemSword; - -public class ItemStoneSoldierSword extends ItemSword { - - public ItemStoneSoldierSword(int par1, EnumToolMaterial par2EnumToolMaterial) { - super(par1, par2EnumToolMaterial); - } - - @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:StoneSoldierSword"); - } -} diff --git a/src/com/teammetallurgy/atum/items/ItemTexturedArmor.java b/src/com/teammetallurgy/atum/items/ItemTexturedArmor.java deleted file mode 100644 index c22aaf6..0000000 --- a/src/com/teammetallurgy/atum/items/ItemTexturedArmor.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.teammetallurgy.atum.items; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.item.EnumArmorMaterial; -import net.minecraft.item.ItemArmor; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; - -public class ItemTexturedArmor extends ItemArmor { - - private String textureFile; - private int repairItemID = 0; - private Icon[] armour; - - public ItemTexturedArmor(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { - super(par1, par2EnumArmorMaterial, par3, par4); - } - - public ItemTexturedArmor setRepairItem(int id) { - this.repairItemID = id; - return this; - } - - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == this.repairItemID; - } - - public ItemTexturedArmor setTextureFile(String filename) { - this.textureFile = filename; - return this; - } - - @Override - public String getArmorTexture(ItemStack itemstack, Entity entity, int slot, int layer) { - return "atum:textures/armor/" + this.textureFile + ".png"; - } - -} diff --git a/src/com/teammetallurgy/atum/items/LimestoneAxe.java b/src/com/teammetallurgy/atum/items/LimestoneAxe.java deleted file mode 100644 index e31a778..0000000 --- a/src/com/teammetallurgy/atum/items/LimestoneAxe.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.teammetallurgy.atum.items; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.ItemAxe; -import net.minecraft.item.ItemStack; - -import com.teammetallurgy.atum.blocks.AtumBlocks; - -public class LimestoneAxe extends ItemAxe { - - public LimestoneAxe(int par1, EnumToolMaterial par2EnumToolMaterial) { - super(par1, par2EnumToolMaterial); - } - - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == AtumBlocks.BLOCK_LIMESTONECOBBLE.blockID; - } - - @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:LimestoneAxe"); - } -} diff --git a/src/com/teammetallurgy/atum/items/LimestoneHoe.java b/src/com/teammetallurgy/atum/items/LimestoneHoe.java deleted file mode 100644 index ddbffb5..0000000 --- a/src/com/teammetallurgy/atum/items/LimestoneHoe.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.teammetallurgy.atum.items; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.ItemHoe; -import net.minecraft.item.ItemStack; - -import com.teammetallurgy.atum.blocks.AtumBlocks; - -public class LimestoneHoe extends ItemHoe { - - public LimestoneHoe(int par1, EnumToolMaterial par2EnumToolMaterial) { - super(par1, par2EnumToolMaterial); - } - - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == AtumBlocks.BLOCK_LIMESTONECOBBLE.blockID; - } - - @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:LimestoneHoe"); - } -} diff --git a/src/com/teammetallurgy/atum/items/LimestonePickaxe.java b/src/com/teammetallurgy/atum/items/LimestonePickaxe.java deleted file mode 100644 index 7486582..0000000 --- a/src/com/teammetallurgy/atum/items/LimestonePickaxe.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.teammetallurgy.atum.items; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.ItemPickaxe; -import net.minecraft.item.ItemStack; - -import com.teammetallurgy.atum.blocks.AtumBlocks; - -public class LimestonePickaxe extends ItemPickaxe { - - public LimestonePickaxe(int par1, EnumToolMaterial par2EnumToolMaterial) { - super(par1, par2EnumToolMaterial); - } - - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == AtumBlocks.BLOCK_LIMESTONECOBBLE.blockID; - } - - @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:LimestonePickaxe"); - } -} diff --git a/src/com/teammetallurgy/atum/items/LimestoneShovel.java b/src/com/teammetallurgy/atum/items/LimestoneShovel.java deleted file mode 100644 index 0ede58e..0000000 --- a/src/com/teammetallurgy/atum/items/LimestoneShovel.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.teammetallurgy.atum.items; - -import com.teammetallurgy.atum.blocks.AtumBlocks; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.ItemSpade; -import net.minecraft.item.ItemStack; - -public class LimestoneShovel extends ItemSpade { - - public LimestoneShovel(int par1, EnumToolMaterial par2EnumToolMaterial) { - super(par1, par2EnumToolMaterial); - } - - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == AtumBlocks.BLOCK_LIMESTONECOBBLE.blockID; - } - - @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:LimestoneShovel"); - } -} diff --git a/src/com/teammetallurgy/atum/items/LimestoneSword.java b/src/com/teammetallurgy/atum/items/LimestoneSword.java deleted file mode 100644 index ce95889..0000000 --- a/src/com/teammetallurgy/atum/items/LimestoneSword.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.teammetallurgy.atum.items; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemSword; - -import com.teammetallurgy.atum.blocks.AtumBlocks; - -public class LimestoneSword extends ItemSword { - - public LimestoneSword(int par1, EnumToolMaterial par2EnumToolMaterial) { - super(par1, par2EnumToolMaterial); - } - - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == AtumBlocks.BLOCK_LIMESTONECOBBLE.blockID; - } - - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:LimestoneSword"); - } -} diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java b/src/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java deleted file mode 100644 index d2f94aa..0000000 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java +++ /dev/null @@ -1,158 +0,0 @@ -package com.teammetallurgy.atum.items.artifacts; - -import java.util.List; - -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBow; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.Icon; -import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.player.ArrowLooseEvent; - -import org.lwjgl.input.Keyboard; - -import com.teammetallurgy.atum.entity.arrow.EntityArrowQuickdraw; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ItemShusBreath extends ItemBow { - - public static final String[] bowPullIconNameArray = new String[]{"ShusBreath_pull_0", "ShusBreath_pull_1", "ShusBreath_pull_2"}; - Icon[] iconArray; - - public ItemShusBreath(int par1) { - super(par1); - this.setMaxDamage(650); - } - - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } - - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; - } - - @Override - public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { - int j = this.getMaxItemUseDuration(par1ItemStack) - par4; - j *= 2; - ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); - MinecraftForge.EVENT_BUS.post(event); - if(!event.isCanceled()) { - j = event.charge; - boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - if(flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) { - float f = (float) j / 20.0F; - f = (f * f + f * 2.0F) / 3.0F; - if((double) f < 0.1D) { - return; - } - - if(f > 1.0F) { - f = 1.0F; - } - - EntityArrowQuickdraw entityarrow = new EntityArrowQuickdraw(par2World, par3EntityPlayer, f * 2.0F); - entityarrow.setDamage(entityarrow.getDamage() * 1.5D); - if(f == 1.0F) { - entityarrow.setIsCritical(true); - } - - int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - if(k > 0) { - entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); - } - - int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - if(l > 0) { - entityarrow.setKnockbackStrength(l); - } - - if(EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { - entityarrow.setFire(100); - } - - par1ItemStack.damageItem(1, par3EntityPlayer); - par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - if(flag) { - entityarrow.canBePickedUp = 2; - } else { - par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); - } - - if(!par2World.isRemote) { - par2World.spawnEntityInWorld(entityarrow); - } - } - - } - } - - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } - - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Quickdraw I: Reduced"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "drawback speed"); - } else { - par3List.add("Quickdraw I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - super.registerIcons(par1IconRegister); - this.iconArray = new Icon[bowPullIconNameArray.length]; - this.itemIcon = par1IconRegister.registerIcon("atum:ShusBreath"); - for(int i = 0; i < this.iconArray.length; ++i) { - this.iconArray[i] = par1IconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); - } - - } - - @Override - public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { - if(usingItem != null) { - int j = this.getMaxItemUseDuration(stack) - useRemaining; - if(j >= 9) { - return this.getItemIconForUseDuration(2); - } - - if(j > 5) { - return this.getItemIconForUseDuration(1); - } - - if(j > 0) { - return this.getItemIconForUseDuration(0); - } - } - - return this.getIcon(stack, renderPass); - } - - @Override - @SideOnly(Side.CLIENT) - public Icon getItemIconForUseDuration(int par1) { - return this.iconArray[par1]; - } - -} diff --git a/src/com/teammetallurgy/atum/lib/proxy/CommonProxy.java b/src/com/teammetallurgy/atum/lib/proxy/CommonProxy.java deleted file mode 100644 index edfe09b..0000000 --- a/src/com/teammetallurgy/atum/lib/proxy/CommonProxy.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.teammetallurgy.atum.lib.proxy; - -import com.teammetallurgy.atum.lib.tickhandler.ClientTickHandler; -import com.teammetallurgy.atum.lib.tickhandler.ServerTickHandler; - -import cpw.mods.fml.common.registry.TickRegistry; -import cpw.mods.fml.relauncher.Side; - -public class CommonProxy { - - public void init() { - TickRegistry.registerTickHandler(new ServerTickHandler(), Side.SERVER); - } - - public void initRenders() { - } - - public void initTiles() { - } - -} diff --git a/src/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java b/src/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java deleted file mode 100644 index f8ac9a4..0000000 --- a/src/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java +++ /dev/null @@ -1,130 +0,0 @@ -package com.teammetallurgy.atum.lib.tickhandler; - -import java.util.EnumSet; -import java.util.Random; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.ScaledResolution; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; - -import com.teammetallurgy.atum.AtumIDS; -import com.teammetallurgy.atum.items.AtumItems; - -import cpw.mods.fml.client.FMLClientHandler; -import cpw.mods.fml.common.ITickHandler; -import cpw.mods.fml.common.TickType; - -public class ClientTickHandler implements ITickHandler { - private boolean raining; - private boolean overlay; - public static int defaultFog; - - @Override - public void tickStart(EnumSet type, Object... tickData) { - - if(type.equals(EnumSet.of(TickType.RENDER))) { - } - - if(type.equals(EnumSet.of(TickType.PLAYER))) { - // if(Minecraft.getMinecraft().theWorld != null && Minecraft.getMinecraft().theWorld.loadedEntityList.size() > 0) { - // List players = Minecraft.getMinecraft().theWorld.playerEntities; - // for(EntityPlayer player : players) { - // if(player != null && player.getEntityName() == "RebelKeithy" || player.getEntityName() == "Shadowclaimer") { - // String cloakURL = "http://images.mccapes.com/capes/standardmc/RebelKeithy.png"; - // if(player.cloakUrl != cloakURL) - // player.cloakUrl = cloakURL; - // - // Minecraft.getMinecraft().renderEngine.obtainImageData(player.cloakUrl, new ImageBufferDownload()); - // } - // } - // } - - EntityPlayer player = (EntityPlayer) tickData[0]; - - boolean nightvision = false; - - if(player.getCurrentArmor(3) != null) { - if(player.getCurrentArmor(3).itemID == AtumItems.rasGlory.itemID) { - nightvision = true; - } - - } - - if(player.dimension == AtumIDS.DIMENSION_ID) { - if(Minecraft.getMinecraft().gameSettings.renderDistance < (nightvision ? 1 : 2)) { - defaultFog = Minecraft.getMinecraft().gameSettings.renderDistance; - Minecraft.getMinecraft().gameSettings.renderDistance = nightvision ? 1 : 2; - } - - if(player.worldObj.isRaining()) { - raining = true; - if(Minecraft.getMinecraft().gameSettings.renderDistance < (nightvision ? 2 : 3)) { - Minecraft.getMinecraft().gameSettings.renderDistance = nightvision ? 2 : 3; - } - - Random random = new Random(); - int particlesPerTick = (3 - Minecraft.getMinecraft().gameSettings.particleSetting) * 6; - for(int i = 0; i < particlesPerTick; i++) { - float x = random.nextInt(4) - 2; - float z = random.nextInt(4) - 2; - float y = (random.nextFloat() - 0.7F) * 2F; - - float vx = 0.1F + random.nextFloat() * 0.1F; - float vz = 0.1F + random.nextFloat() * 0.1F; - - player.worldObj.spawnParticle("sand", player.posX + x, player.posY + y, player.posZ + z, vx + player.motionX, 0.0D, vz + player.motionZ); - } - } else { - if(raining == true && defaultFog < (nightvision ? 1 : 2)) { - raining = false; - Minecraft.getMinecraft().gameSettings.renderDistance = nightvision ? 1 : 2; - - } - } - } - - } - } - - @Override - public void tickEnd(EnumSet type, Object... tickData) { - - Minecraft minecraft = FMLClientHandler.instance().getClient(); - EntityPlayer player = minecraft.thePlayer; - ItemStack currentItemStack = null; - - if(type.contains(TickType.RENDER)) { - if(player != null && player.getCurrentArmor(3) != null) { - if(player.getCurrentArmor(3).itemID == AtumItems.mummyHelmet.itemID) { - ScaledResolution scaledresolution = new ScaledResolution(Minecraft.getMinecraft().gameSettings, Minecraft.getMinecraft().displayWidth, Minecraft.getMinecraft().displayHeight); - int par1 = scaledresolution.getScaledWidth(); - int par2 = scaledresolution.getScaledHeight(); - - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation("atum", "textures/hud/mummyblur.png")); - Tessellator tessellator = Tessellator.instance; - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(0.0D, par2, -100, 0.0D, 1.0D); - tessellator.addVertexWithUV(par1, par2, -100, 1.0D, 1.0D); - tessellator.addVertexWithUV(par1, 0.0D, -100, 1.0D, 0.0D); - tessellator.addVertexWithUV(0.0D, 0.0D, -100, 0.0D, 0.0D); - tessellator.draw(); - } - - } - } - } - - @Override - public EnumSet ticks() { - return EnumSet.of(TickType.PLAYER, TickType.RENDER); - } - - @Override - public String getLabel() { - return "Atum.TickHandler.Player"; - } - -} diff --git a/src/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java b/src/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java deleted file mode 100644 index 04e79c4..0000000 --- a/src/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.teammetallurgy.atum.lib.tickhandler; - -import java.util.EnumSet; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; - -import com.teammetallurgy.atum.items.AtumItems; - -import cpw.mods.fml.common.ITickHandler; -import cpw.mods.fml.common.TickType; - -public class ServerTickHandler implements ITickHandler { - - private boolean raining; - - @Override - public void tickStart(EnumSet type, Object... tickData) { - if(type.equals(EnumSet.of(TickType.PLAYER))) { - EntityPlayer player = (EntityPlayer) tickData[0]; - - if(player.worldObj.getTotalWorldTime() % 60L == 0L) { - - if(player.getCurrentArmor(2) != null) { - if(player.getCurrentArmor(2).itemID == AtumItems.isisEmbrace.itemID) { - player.heal(1); - } - } - } - - if(player.worldObj.getTotalWorldTime() % 10L == 0L) { - if(player.getCurrentArmor(3) != null) { - if(player.getCurrentArmor(3).itemID == AtumItems.rasGlory.itemID) { - player.addPotionEffect(new PotionEffect(16, 340, 0, true)); - } else { - if(player.isPotionActive(16)) { - player.clearActivePotions(); - } - } - } - - if(player.getCurrentArmor(2) != null) { - if(player.getCurrentArmor(2).itemID == AtumItems.sekhmetsWrath.itemID) { - // player.addPotionEffect(new PotionEffect(12, 240, 0, true)); - } - } - - if(player.getCurrentArmor(1) != null) { - if(player.getCurrentArmor(1).itemID == AtumItems.nutsAgility.itemID) { - // player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 240, 1, true)); - player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 240, 1, true)); - } - } - - if(player.getCurrentArmor(0) != null) { - if(player.getCurrentArmor(0).itemID == AtumItems.horusFlight.itemID) { - // player.addPotionEffect(new PotionEffect(8, 240, 1, true)); - } - } - } - } - } - - @Override - public void tickEnd(EnumSet type, Object... tickData) { - - } - - @Override - public EnumSet ticks() { - return EnumSet.of(TickType.PLAYER); - } - - @Override - public String getLabel() { - return "AtumServerHandler"; - } - -} \ No newline at end of file diff --git a/src/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java b/src/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java deleted file mode 100644 index eccabcd..0000000 --- a/src/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java +++ /dev/null @@ -1,440 +0,0 @@ -package com.teammetallurgy.atum.worldgen; - -import java.nio.ByteBuffer; -import java.nio.ByteOrder; -import java.util.List; -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockSand; -import net.minecraft.entity.EnumCreatureType; -import net.minecraft.util.IProgressUpdate; -import net.minecraft.util.MathHelper; -import net.minecraft.world.ChunkPosition; -import net.minecraft.world.SpawnerAnimals; -import net.minecraft.world.World; -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.chunk.Chunk; -import net.minecraft.world.chunk.IChunkProvider; -import net.minecraft.world.gen.MapGenBase; -import net.minecraft.world.gen.MapGenRavine; -import net.minecraft.world.gen.NoiseGeneratorOctaves; -import net.minecraft.world.gen.feature.MapGenScatteredFeature; -import net.minecraft.world.gen.feature.WorldGenLakes; -import net.minecraft.world.gen.structure.MapGenMineshaft; -import net.minecraft.world.gen.structure.MapGenStronghold; -import net.minecraft.world.gen.structure.MapGenVillage; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.Event.Result; -import net.minecraftforge.event.terraingen.ChunkProviderEvent.InitNoiseField; -import net.minecraftforge.event.terraingen.InitMapGenEvent.EventType; -import net.minecraftforge.event.terraingen.PopulateChunkEvent.Post; -import net.minecraftforge.event.terraingen.PopulateChunkEvent.Pre; -import net.minecraftforge.event.terraingen.TerrainGen; - -import com.teammetallurgy.atum.blocks.AtumBlocks; -import com.teammetallurgy.atum.worldgen.biome.BiomeGenAtumDesert; - -public class AtumChunkProvider implements IChunkProvider { - - private Random rand; - private NoiseGeneratorOctaves noiseGen1; - private NoiseGeneratorOctaves noiseGen2; - private NoiseGeneratorOctaves noiseGen3; - private NoiseGeneratorOctaves noiseGen4; - public NoiseGeneratorOctaves noiseGen5; - public NoiseGeneratorOctaves noiseGen6; - public NoiseGeneratorOctaves mobSpawnerNoise; - private World worldObj; - private final boolean mapFeaturesEnabled; - private double[] noiseArray; - private double[] stoneNoise = new double[256]; - private MapGenBase caveGenerator = new AtumMapGenCaves(); - private MapGenScatteredFeature scatteredFeatureGenerator = new MapGenScatteredFeature(); - private BiomeGenBase[] biomesForGeneration; - double[] noise3; - double[] noise1; - double[] noise2; - double[] noise5; - double[] noise6; - float[] parabolicField; - - public AtumChunkProvider(World par1World, long par2, boolean par4) { - this.caveGenerator = TerrainGen.getModdedMapGen(this.caveGenerator, EventType.CAVE); - this.scatteredFeatureGenerator = (MapGenScatteredFeature) TerrainGen.getModdedMapGen(this.scatteredFeatureGenerator, EventType.SCATTERED_FEATURE); - this.worldObj = par1World; - this.mapFeaturesEnabled = par4; - this.rand = new Random(par2); - this.noiseGen1 = new NoiseGeneratorOctaves(this.rand, 16); - this.noiseGen2 = new NoiseGeneratorOctaves(this.rand, 16); - this.noiseGen3 = new NoiseGeneratorOctaves(this.rand, 8); - this.noiseGen4 = new NoiseGeneratorOctaves(this.rand, 4); - this.noiseGen5 = new NoiseGeneratorOctaves(this.rand, 10); - this.noiseGen6 = new NoiseGeneratorOctaves(this.rand, 16); - this.mobSpawnerNoise = new NoiseGeneratorOctaves(this.rand, 8); - NoiseGeneratorOctaves[] noiseGens = new NoiseGeneratorOctaves[]{this.noiseGen1, this.noiseGen2, this.noiseGen3, this.noiseGen4, this.noiseGen5, this.noiseGen6, this.mobSpawnerNoise}; - noiseGens = TerrainGen.getModdedNoiseGenerators(par1World, this.rand, noiseGens); - this.noiseGen1 = noiseGens[0]; - this.noiseGen2 = noiseGens[1]; - this.noiseGen3 = noiseGens[2]; - this.noiseGen4 = noiseGens[3]; - this.noiseGen5 = noiseGens[4]; - this.noiseGen6 = noiseGens[5]; - this.mobSpawnerNoise = noiseGens[6]; - } - - public void generateTerrain(int par1, int par2, short[] par3ArrayOfByte) { - byte b0 = 4; - byte b1 = 16; - byte b2 = 63; - int k = b0 + 1; - byte b3 = 17; - int l = b0 + 1; - this.biomesForGeneration = this.worldObj.getWorldChunkManager().getBiomesForGeneration(this.biomesForGeneration, par1 * 4 - 2, par2 * 4 - 2, k + 5, l + 5); - this.noiseArray = this.initializeNoiseField(this.noiseArray, par1 * b0, 0, par2 * b0, k, b3, l); - - for(int x1 = 0; x1 < b0; ++x1) { - for(int z1 = 0; z1 < b0; ++z1) { - for(int y1 = 0; y1 < b1; ++y1) { - double d0 = 0.125D; - double d1 = this.noiseArray[((x1 + 0) * l + z1 + 0) * b3 + y1 + 0]; - double d2 = this.noiseArray[((x1 + 0) * l + z1 + 1) * b3 + y1 + 0]; - double d3 = this.noiseArray[((x1 + 1) * l + z1 + 0) * b3 + y1 + 0]; - double d4 = this.noiseArray[((x1 + 1) * l + z1 + 1) * b3 + y1 + 0]; - double d5 = (this.noiseArray[((x1 + 0) * l + z1 + 0) * b3 + y1 + 1] - d1) * d0; - double d6 = (this.noiseArray[((x1 + 0) * l + z1 + 1) * b3 + y1 + 1] - d2) * d0; - double d7 = (this.noiseArray[((x1 + 1) * l + z1 + 0) * b3 + y1 + 1] - d3) * d0; - double d8 = (this.noiseArray[((x1 + 1) * l + z1 + 1) * b3 + y1 + 1] - d4) * d0; - - for(int y2 = 0; y2 < 8; ++y2) { - double d10 = d1; - double d11 = d2; - double d12 = (d3 - d1) * 0.25D; - double d13 = (d4 - d2) * 0.25D; - - for(int x2 = 0; x2 < 4; ++x2) { - int index = y1 * 8 + y2 << 8 | 0 + z1 * 4 << 4 | x2 + x1 * 4; - byte dy = 16; - index -= dy; - double d15 = (d11 - d10) * 0.25D; - double d16 = d10 - d15; - - for(int n = 0; n < 4; ++n) { - if((d16 += d15) > 0.0D) { - if(index + dy < par3ArrayOfByte.length) { - par3ArrayOfByte[index += dy] = (short) AtumBlocks.BLOCK_STONE.blockID; - } - } else if(y1 * 8 + y2 < b2) { - if(index + dy < par3ArrayOfByte.length) { - par3ArrayOfByte[index += dy] = (short) AtumBlocks.BLOCK_STONE.blockID; - } - } else if(index + dy < par3ArrayOfByte.length) { - par3ArrayOfByte[index += dy] = 0; - } - } - - d10 += d12; - d11 += d13; - } - - d1 += d5; - d2 += d6; - d3 += d7; - d4 += d8; - } - } - } - } - - } - - public void replaceBlocksForBiome(int par1, int par2, short[] par3ArrayOfByte, BiomeGenBase[] par4ArrayOfBiomeGenBase) { - byte b0 = 63; - double d0 = 0.03125D; - this.stoneNoise = this.noiseGen4.generateNoiseOctaves(this.stoneNoise, par1 * 16, par2 * 16, 0, 16, 16, 1, d0 * 2.0D, d0 * 2.0D, d0 * 2.0D); - - for(int z = 0; z < 16; ++z) { - for(int x = 0; x < 16; ++x) { - BiomeGenBase biomegenbase = par4ArrayOfBiomeGenBase[x + z * 16]; - float f = biomegenbase.getFloatTemperature(); - int i1 = (int) (this.stoneNoise[z + x * 16] / 3.0D + 3.0D + this.rand.nextDouble() * 0.25D); - int j1 = -1; - short b1 = ((BiomeGenAtumDesert) biomegenbase).topBlock; - short b2 = ((BiomeGenAtumDesert) biomegenbase).fillerBlock; - - for(int y = 127; y >= 0; --y) { - int l1 = y << 8 | z << 4 | x; - if(y <= 0 + this.rand.nextInt(5)) { - par3ArrayOfByte[l1] = (short) ((byte) Block.bedrock.blockID); - } else { - short b3 = par3ArrayOfByte[l1]; - if(b3 == 0) { - j1 = -1; - } else if(b3 == AtumBlocks.BLOCK_STONE.blockID) { - if(j1 == -1) { - if(i1 <= 0) { - b1 = 0; - b2 = (short) AtumBlocks.BLOCK_STONE.blockID; - } else if(y >= b0 - 4 && y <= b0 + 1) { - b1 = ((BiomeGenAtumDesert) biomegenbase).topBlock; - b2 = ((BiomeGenAtumDesert) biomegenbase).fillerBlock; - } - - j1 = i1; - if(y >= b0 - 1) { - par3ArrayOfByte[l1] = b1; - } else { - par3ArrayOfByte[l1] = b2; - } - } else if(j1 > 0) { - --j1; - par3ArrayOfByte[l1] = b2; - if(j1 == 0 && b2 == AtumBlocks.BLOCK_SAND.blockID) { - j1 = this.rand.nextInt(4); - b2 = (short) AtumBlocks.BLOCK_STONE.blockID; - } - } - } - } - } - } - } - - } - - @Override - public Chunk loadChunk(int par1, int par2) { - return this.provideChunk(par1, par2); - } - - @Override - public Chunk provideChunk(int x, int z) { - this.rand.setSeed((long) x * 341873128712L + (long) z * 132897987541L); - short[] abyte = new short['\u8000']; - this.generateTerrain(x, z, abyte); - this.biomesForGeneration = this.worldObj.getWorldChunkManager().loadBlockGeneratorData(this.biomesForGeneration, x * 16, z * 16, 16, 16); - this.replaceBlocksForBiome(x, z, abyte, this.biomesForGeneration); - - ByteBuffer buffer = ByteBuffer.allocate(abyte.length * 2); - buffer.order(ByteOrder.LITTLE_ENDIAN); - buffer.asShortBuffer().put(abyte); - - caveGenerator.generate(this, worldObj, x, z, buffer.array()); - - Chunk chunk = new Chunk(this.worldObj, abyte, new byte['\u8000'], x, z); - byte[] abyte1 = chunk.getBiomeArray(); - - for(int k = 0; k < abyte1.length; ++k) { - abyte1[k] = (byte) this.biomesForGeneration[k].biomeID; - } - - chunk.generateSkylightMap(); - return chunk; - } - - private double[] initializeNoiseField(double[] par1ArrayOfDouble, int par2, int par3, int par4, int par5, int par6, int par7) { - InitNoiseField event = new InitNoiseField(this, par1ArrayOfDouble, par2, par3, par4, par5, par6, par7); - MinecraftForge.EVENT_BUS.post(event); - if(event.getResult() == Result.DENY) { - return event.noisefield; - } else { - if(par1ArrayOfDouble == null) { - par1ArrayOfDouble = new double[par5 * par6 * par7]; - } - - if(this.parabolicField == null) { - this.parabolicField = new float[25]; - - for(int d0 = -2; d0 <= 2; ++d0) { - for(int l1 = -2; l1 <= 2; ++l1) { - float d1 = 10.0F / MathHelper.sqrt_float((float) (d0 * d0 + l1 * l1) + 0.2F); - this.parabolicField[d0 + 2 + (l1 + 2) * 5] = d1; - } - } - } - - double var45 = 684.412D; - double var46 = 684.412D; - this.noise5 = this.noiseGen5.generateNoiseOctaves(this.noise5, par2, par4, par5, par7, 1.121D, 1.121D, 0.5D); - this.noise6 = this.noiseGen6.generateNoiseOctaves(this.noise6, par2, par4, par5, par7, 200.0D, 200.0D, 0.5D); - this.noise3 = this.noiseGen3.generateNoiseOctaves(this.noise3, par2, par3, par4, par5, par6, par7, var45 / 80.0D, var46 / 160.0D, var45 / 80.0D); - this.noise1 = this.noiseGen1.generateNoiseOctaves(this.noise1, par2, par3, par4, par5, par6, par7, var45, var46, var45); - this.noise2 = this.noiseGen2.generateNoiseOctaves(this.noise2, par2, par3, par4, par5, par6, par7, var45, var46, var45); - boolean flag = false; - boolean flag1 = false; - int i2 = 0; - int j2 = 0; - - for(int k2 = 0; k2 < par5; ++k2) { - for(int l2 = 0; l2 < par7; ++l2) { - float f1 = 0.0F; - float f2 = 0.0F; - float f3 = 0.0F; - byte b0 = 2; - BiomeGenBase biomegenbase = this.biomesForGeneration[k2 + 2 + (l2 + 2) * (par5 + 5)]; - - for(int d2 = -b0; d2 <= b0; ++d2) { - for(int j3 = -b0; j3 <= b0; ++j3) { - BiomeGenBase k3 = this.biomesForGeneration[k2 + d2 + 2 + (l2 + j3 + 2) * (par5 + 5)]; - float d3 = this.parabolicField[d2 + 2 + (j3 + 2) * 5] / (k3.minHeight + 2.0F); - if(k3.minHeight > biomegenbase.minHeight) { - d3 /= 2.0F; - } - - f1 += k3.maxHeight * d3; - f2 += k3.minHeight * d3; - f3 += d3; - } - } - - f1 /= f3; - f2 /= f3; - f1 = f1 * 0.9F + 0.1F; - f2 = (f2 * 4.0F - 1.0F) / 8.0F; - double var47 = this.noise6[j2] / 8000.0D; - if(var47 < 0.0D) { - var47 = -var47 * 0.3D; - } - - var47 = var47 * 3.0D - 2.0D; - if(var47 < 0.0D) { - var47 /= 2.0D; - if(var47 < -1.0D) { - var47 = -1.0D; - } - - var47 /= 1.4D; - var47 /= 2.0D; - } else { - if(var47 > 1.0D) { - var47 = 1.0D; - } - - var47 /= 8.0D; - } - - ++j2; - - for(int var49 = 0; var49 < par6; ++var49) { - double var48 = (double) f2; - double d4 = (double) f1; - var48 += var47 * 0.2D; - var48 = var48 * (double) par6 / 16.0D; - double d5 = (double) par6 / 2.0D + var48 * 4.0D; - double d6 = 0.0D; - double d7 = ((double) var49 - d5) * 12.0D * 128.0D / 128.0D / d4; - if(d7 < 0.0D) { - d7 *= 4.0D; - } - - double d8 = this.noise1[i2] / 512.0D; - double d9 = this.noise2[i2] / 512.0D; - double d10 = (this.noise3[i2] / 10.0D + 1.0D) / 2.0D; - if(d10 < 0.0D) { - d6 = d8; - } else if(d10 > 1.0D) { - d6 = d9; - } else { - d6 = d8 + (d9 - d8) * d10; - } - - d6 -= d7; - if(var49 > par6 - 4) { - double d11 = (double) ((float) (var49 - (par6 - 4)) / 3.0F); - d6 = d6 * (1.0D - d11) + -10.0D * d11; - } - - par1ArrayOfDouble[i2] = d6; - ++i2; - } - } - } - - return par1ArrayOfDouble; - } - } - - @Override - public boolean chunkExists(int par1, int par2) { - return true; - } - - @Override - public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) { - long time = System.currentTimeMillis(); - BlockSand.fallInstantly = true; - int k = par2 * 16; - int l = par3 * 16; - BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(k + 16, l + 16); - this.rand.setSeed(this.worldObj.getSeed()); - long i1 = this.rand.nextLong() / 2L * 2L + 1L; - long j1 = this.rand.nextLong() / 2L * 2L + 1L; - this.rand.setSeed((long) par2 * i1 + (long) par3 * j1 ^ this.worldObj.getSeed()); - boolean flag = false; - MinecraftForge.EVENT_BUS.post(new Pre(par1IChunkProvider, this.worldObj, this.rand, par2, par3, flag)); - if(TerrainGen.populate(par1IChunkProvider, this.worldObj, this.rand, par2, par3, flag, net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.LAVA) && !flag && this.rand.nextInt(8) == 0) { - int k1 = k + this.rand.nextInt(16) + 8; - int l1 = this.rand.nextInt(this.rand.nextInt(120) + 8); - int i2 = l + this.rand.nextInt(16) + 8; - if(l1 < 63 || this.rand.nextInt(10) == 0) { - (new WorldGenLakes(Block.lavaStill.blockID)).generate(this.worldObj, this.rand, k1, l1, i2); - } - } - - biomegenbase.decorate(this.worldObj, this.rand, k, l); - SpawnerAnimals.performWorldGenSpawning(this.worldObj, biomegenbase, k + 8, l + 8, 16, 16, this.rand); - k += 8; - l += 8; - MinecraftForge.EVENT_BUS.post(new Post(par1IChunkProvider, this.worldObj, this.rand, par2, par3, flag)); - BlockSand.fallInstantly = false; - } - - @Override - public boolean saveChunks(boolean par1, IProgressUpdate par2IProgressUpdate) { - return true; - } - - @Override - public boolean unloadQueuedChunks() { - return false; - } - - @Override - public boolean canSave() { - return true; - } - - @Override - public String makeString() { - return "RandomLevelSource"; - } - - @Override - public List getPossibleCreatures(EnumCreatureType par1EnumCreatureType, int par2, int par3, int par4) { - BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(par2, par4); - return biomegenbase == null ? null : (biomegenbase == BiomeGenBase.swampland && par1EnumCreatureType == EnumCreatureType.monster && this.scatteredFeatureGenerator.hasStructureAt(par2, par3, par4) ? this.scatteredFeatureGenerator.getScatteredFeatureSpawnList() : biomegenbase.getSpawnableList(par1EnumCreatureType)); - } - - @Override - public ChunkPosition findClosestStructure(World par1World, String par2Str, int par3, int par4, int par5) { - return null; - } - - @Override - public int getLoadedChunkCount() { - return 0; - } - - @Override - public void recreateStructures(int par1, int par2) { - if(this.mapFeaturesEnabled) { - this.scatteredFeatureGenerator.generate(this, this.worldObj, par1, par2, (byte[]) null); - } - - } - - @Override - public void saveExtraData() { - - } -} diff --git a/src/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java b/src/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java deleted file mode 100644 index a82e622..0000000 --- a/src/com/teammetallurgy/atum/worldgen/AtumMapGenCaves.java +++ /dev/null @@ -1,199 +0,0 @@ -package com.teammetallurgy.atum.worldgen; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import net.minecraft.world.gen.MapGenBase; - -import com.teammetallurgy.atum.blocks.AtumBlocks; - -public class AtumMapGenCaves extends MapGenBase { - - protected void generateLargeCaveNode(long par1, int par3, int par4, byte[] par5ArrayOfByte, double par6, double par8, double par10) { - this.generateCaveNode(par1, par3, par4, par5ArrayOfByte, par6, par8, par10, 1.0F + super.rand.nextFloat() * 6.0F, 0.0F, 0.0F, -1, -1, 0.5D); - } - - protected void generateCaveNode(long par1, int par3, int par4, byte[] par5ArrayOfByte, double par6, double par8, double par10, float par12, float par13, float par14, int par15, int par16, double par17) { - double d4 = (double) (par3 * 16 + 8); - double d5 = (double) (par4 * 16 + 8); - float f3 = 0.0F; - float f4 = 0.0F; - Random random = new Random(par1); - if(par16 <= 0) { - int flag = super.range * 16 - 16; - par16 = flag - random.nextInt(flag / 4); - } - - boolean var62 = false; - if(par15 == -1) { - par15 = par16 / 2; - var62 = true; - } - - int k1 = random.nextInt(par16 / 2) + par16 / 4; - - for(boolean flag1 = random.nextInt(6) == 0; par15 < par16; ++par15) { - double d6 = 1.5D + (double) (MathHelper.sin((float) par15 * 3.1415927F / (float) par16) * par12 * 1.0F); - double d7 = d6 * par17; - float f5 = MathHelper.cos(par14); - float f6 = MathHelper.sin(par14); - par6 += (double) (MathHelper.cos(par13) * f5); - par8 += (double) f6; - par10 += (double) (MathHelper.sin(par13) * f5); - if(flag1) { - par14 *= 0.92F; - } else { - par14 *= 0.7F; - } - - par14 += f4 * 0.1F; - par13 += f3 * 0.1F; - f4 *= 0.9F; - f3 *= 0.75F; - f4 += (random.nextFloat() - random.nextFloat()) * random.nextFloat() * 2.0F; - f3 += (random.nextFloat() - random.nextFloat()) * random.nextFloat() * 4.0F; - if(!var62 && par15 == k1 && par12 > 1.0F && par16 > 0) { - this.generateCaveNode(random.nextLong(), par3, par4, par5ArrayOfByte, par6, par8, par10, random.nextFloat() * 0.5F + 0.5F, par13 - 1.5707964F, par14 / 3.0F, par15, par16, 1.0D); - this.generateCaveNode(random.nextLong(), par3, par4, par5ArrayOfByte, par6, par8, par10, random.nextFloat() * 0.5F + 0.5F, par13 + 1.5707964F, par14 / 3.0F, par15, par16, 1.0D); - return; - } - - if(var62 || random.nextInt(4) != 0) { - double d8 = par6 - d4; - double d9 = par10 - d5; - double d10 = (double) (par16 - par15); - double d11 = (double) (par12 + 2.0F + 16.0F); - if(d8 * d8 + d9 * d9 - d10 * d10 > d11 * d11) { - return; - } - - if(par6 >= d4 - 16.0D - d6 * 2.0D && par10 >= d5 - 16.0D - d6 * 2.0D && par6 <= d4 + 16.0D + d6 * 2.0D && par10 <= d5 + 16.0D + d6 * 2.0D) { - int l1 = MathHelper.floor_double(par6 - d6) - par3 * 16 - 1; - int i2 = MathHelper.floor_double(par6 + d6) - par3 * 16 + 1; - int j2 = MathHelper.floor_double(par8 - d7) - 1; - int k2 = MathHelper.floor_double(par8 + d7) + 1; - int l2 = MathHelper.floor_double(par10 - d6) - par4 * 16 - 1; - int i3 = MathHelper.floor_double(par10 + d6) - par4 * 16 + 1; - if(l1 < 0) { - l1 = 0; - } - - if(i2 > 16) { - i2 = 16; - } - - if(j2 < 1) { - j2 = 1; - } - - if(k2 > 120) { - k2 = 120; - } - - if(l2 < 0) { - l2 = 0; - } - - if(i3 > 16) { - i3 = 16; - } - - boolean flag2 = false; - - int k3; - int j3; - for(j3 = l1; !flag2 && j3 < i2; ++j3) { - for(int d12 = l2; !flag2 && d12 < i3; ++d12) { - for(int i4 = k2 + 1; !flag2 && i4 >= j2 - 1; --i4) { - k3 = (j3 * 16 + d12) * 128 + i4; - if(i4 >= 0 && i4 < 128) { - if(par5ArrayOfByte[k3] == Block.waterMoving.blockID || par5ArrayOfByte[k3] == Block.waterStill.blockID) { - flag2 = true; - } - - if(i4 != j2 - 1 && j3 != l1 && j3 != i2 - 1 && d12 != l2 && d12 != i3 - 1) { - i4 = j2; - } - } - } - } - } - - if(!flag2) { - for(j3 = l1; j3 < i2; ++j3) { - double var63 = ((double) (j3 + par3 * 16) + 0.5D - par6) / d6; - - for(k3 = l2; k3 < i3; ++k3) { - double d13 = ((double) (k3 + par4 * 16) + 0.5D - par10) / d6; - int j4 = (j3 * 16 + k3) * 128 + k2; - boolean flag3 = false; - if(var63 * var63 + d13 * d13 < 1.0D) { - for(int k4 = k2 - 1; k4 >= j2; --k4) { - double d14 = ((double) k4 + 0.5D - par8) / d7; - if(d14 > -0.7D && var63 * var63 + d14 * d14 + d13 * d13 < 1.0D) { - byte b0 = par5ArrayOfByte[j4]; - if(b0 == Block.grass.blockID) { - flag3 = true; - } - - if(b0 == AtumBlocks.BLOCK_STONE.blockID || b0 == AtumBlocks.BLOCK_SAND.blockID) { - if(k4 < 10) { - par5ArrayOfByte[j4] = (byte) Block.lavaMoving.blockID; - } else { - par5ArrayOfByte[j4] = 0; - if(flag3 && par5ArrayOfByte[j4 - 1] == AtumBlocks.BLOCK_SAND.blockID) { - par5ArrayOfByte[j4 - 1] = super.worldObj.getBiomeGenForCoords(j3 + par3 * 16, k3 + par4 * 16).topBlock; - } - } - } - } - - --j4; - } - } - } - } - - if(var62) { - break; - } - } - } - } - } - - } - - @Override - protected void recursiveGenerate(World par1World, int par2, int par3, int par4, int par5, byte[] par6ArrayOfByte) { - int i1 = super.rand.nextInt(super.rand.nextInt(super.rand.nextInt(40) + 1) + 1); - if(super.rand.nextInt(15) != 0) { - i1 = 0; - } - - for(int j1 = 0; j1 < i1; ++j1) { - double d0 = (double) (par2 * 16 + super.rand.nextInt(16)); - double d1 = (double) super.rand.nextInt(super.rand.nextInt(120) + 8); - double d2 = (double) (par3 * 16 + super.rand.nextInt(16)); - int k1 = 1; - if(super.rand.nextInt(4) == 0) { - this.generateLargeCaveNode(super.rand.nextLong(), par4, par5, par6ArrayOfByte, d0, d1, d2); - k1 += super.rand.nextInt(4); - } - - for(int l1 = 0; l1 < k1; ++l1) { - float f = super.rand.nextFloat() * 3.1415927F * 2.0F; - float f1 = (super.rand.nextFloat() - 0.5F) * 2.0F / 8.0F; - float f2 = super.rand.nextFloat() * 2.0F + super.rand.nextFloat(); - if(super.rand.nextInt(10) == 0) { - f2 *= super.rand.nextFloat() * super.rand.nextFloat() * 3.0F + 1.0F; - } - - this.generateCaveNode(super.rand.nextLong(), par4, par5, par6ArrayOfByte, d0, d1, d2, f2, f, f1, 0, 0, 1.0D); - } - } - - } -} diff --git a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java b/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java deleted file mode 100644 index 60d7095..0000000 --- a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java +++ /dev/null @@ -1,6215 +0,0 @@ -package com.teammetallurgy.atum.worldgen.decorators; - -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenerator; - -import com.teammetallurgy.atum.blocks.AtumBlocks; - -public class WorldGenPalace extends WorldGenerator { - - public int largeLimestoneBricks; - public int smallLimestoneBricks; - public int carvedLimestone; - public int largeLimestoneBricksStairs; - - public WorldGenPalace() { - this.largeLimestoneBricks = AtumBlocks.BLOCK_LARGEBRICK.blockID; - this.smallLimestoneBricks = AtumBlocks.BLOCK_SMALLBRICK.blockID; - this.carvedLimestone = AtumBlocks.BLOCK_CARVEDBRICK.blockID; - this.largeLimestoneBricksStairs = AtumBlocks.BLOCK_LARGESTONESTAIRS.blockID; - } - - @Override - public boolean generate(World world, Random random, int i, int j, int k) { - world.setBlock(i + 0, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 2, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 5, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 1, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 2, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 3, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 2, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 2, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 5, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 5, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 4, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 5, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 6, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 2, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 5, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 7, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 10, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 7, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 2, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 2, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 2, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 2, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 3, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 3, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 3, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 3, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 4, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 4, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 4, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 5, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 5, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 16, Block.netherrack.blockID); - world.setBlock(i + 8, j + 7, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 8, k + 16, Block.fire.blockID); - world.setBlock(i + 8, j + 8, k + 19, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 20, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 21, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 27, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 28, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 29, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 9, k + 19, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 20, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 21, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 27, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 28, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 29, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 8, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 8, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 2, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 2, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 2, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 2, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 3, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 3, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 3, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 3, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 4, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 4, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 4, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 5, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 5, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 7, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 10, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 9, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 2, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 3, k + 22, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 26, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 30, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 34, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 4, k + 22, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 26, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 30, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 34, Block.bookShelf.blockID); - world.setBlock(i + 10, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 5, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 34, this.largeLimestoneBricks); - this.generate2(world, random, i, j, k); - return true; - } - - public boolean generate2(World world, Random rand, int i, int j, int k) { - world.setBlock(i + 10, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 7, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 7, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 10, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 10, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 10, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 2, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 2, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 5, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 5, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 7, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 7, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 11, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 11, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 10, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 10, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 11, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 12, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 12, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 12, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 0, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 1, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 2, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 3, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 4, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 5, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 6, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 1, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 2, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 3, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 4, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 5, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 6, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 2, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 2, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 2, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 2, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 5, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 5, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 5, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 7, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 7, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 13, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 13, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 10, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 10, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 13, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 0, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 1, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 2, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 3, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 4, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 5, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 6, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 1, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 2, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 3, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 4, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 5, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 6, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 2, k + 4, Block.netherrack.blockID); - world.setBlock(i + 14, j + 2, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 3, k + 4, Block.fire.blockID); - world.setBlock(i + 14, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 7, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 14, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 14, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 10, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 14, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 0, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 1, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 2, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 3, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 4, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 5, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 6, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 1, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 2, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 3, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 4, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 5, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 6, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 2, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 2, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 2, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 2, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 2, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 3, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 3, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 4, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 4, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 5, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 7, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 15, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 10, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 15, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 0, k + 6, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 0, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 2, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 2, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 3, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 3, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 3, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 3, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 4, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 4, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 5, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 7, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 7, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 7, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 16, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 10, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 10, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 10, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 16, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 0, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 3, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 3, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 3, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 3, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 17, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 4, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 4, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 4, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 4, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 17, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 5, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 5, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 5, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 17, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 17, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 17, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 0, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 2, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 2, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 2, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 2, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 5, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 5, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 7, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 7, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 7, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 8, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 18, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 9, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 9, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 18, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 10, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 10, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 18, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 0, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 2, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 3, k + 14, this.carvedLimestone); - world.setBlock(i + 19, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 5, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 5, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 5, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 5, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 7, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 7, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 19, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 9, k + 13, this.carvedLimestone); - world.setBlock(i + 19, j + 9, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 19, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 10, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 10, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 10, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 10, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 19, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 0, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 2, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 2, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 2, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 2, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 5, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 5, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 7, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 7, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 7, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 8, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 20, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 9, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 9, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 20, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 10, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 10, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 20, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 0, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 3, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 3, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 3, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 3, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 21, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 4, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 4, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 4, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 4, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 21, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 5, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 5, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 5, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 9, this.largeLimestoneBricks); - this.generate3(world, rand, i, j, k); - return true; - } - - public boolean generate3(World world, Random rand, int i, int j, int k) { - world.setBlock(i + 21, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 21, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 21, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 21, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 0, k + 6, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 0, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 2, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 2, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 3, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 3, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 3, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 3, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 4, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 4, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 5, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 7, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 7, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 7, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 22, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 10, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 10, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 10, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 22, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 0, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 1, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 2, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 3, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 4, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 5, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 6, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 1, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 2, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 3, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 4, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 5, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 6, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 2, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 2, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 2, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 2, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 2, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 3, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 4, k + 39, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 5, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 7, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 23, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 10, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 23, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 0, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 1, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 2, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 3, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 4, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 5, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 6, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 1, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 2, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 3, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 4, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 5, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 6, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 2, k + 4, Block.netherrack.blockID); - world.setBlock(i + 24, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 3, k + 4, Block.fire.blockID); - world.setBlock(i + 24, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 7, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 8, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 24, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 9, k + 41, Block.bookShelf.blockID); - world.setBlock(i + 24, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 10, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 24, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 0, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 1, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 2, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 3, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 4, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 5, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 6, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 1, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 2, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 3, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 4, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 5, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 6, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 7, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 2, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 2, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 2, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 2, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 5, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 5, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 5, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 7, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 7, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 25, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 25, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 10, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 10, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 25, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 26, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 26, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 26, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 2, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 2, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 5, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 5, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 7, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 7, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 8, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 27, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 9, k + 16, Block.bookShelf.blockID); - world.setBlock(i + 27, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 10, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 10, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 27, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 2, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 3, k + 22, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 26, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 30, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 34, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 4, k + 22, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 26, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 30, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 34, Block.bookShelf.blockID); - world.setBlock(i + 28, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 5, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 7, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 7, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 10, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 10, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 28, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 2, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 2, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 2, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 2, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 3, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 3, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 3, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 3, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 4, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 4, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 4, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 5, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 5, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 29, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 2, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 2, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 2, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 2, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 3, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 3, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 3, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 3, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 4, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 4, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 4, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 5, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 5, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 16, Block.netherrack.blockID); - world.setBlock(i + 30, j + 7, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 8, k + 16, Block.fire.blockID); - world.setBlock(i + 30, j + 8, k + 19, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 20, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 21, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 27, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 28, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 29, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 9, k + 19, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 20, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 21, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 23, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 24, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 25, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 27, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 28, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 29, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 31, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 32, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 33, Block.bookShelf.blockID); - world.setBlock(i + 30, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 30, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 2, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 30, this.largeLimestoneBricks); - this.generate4(world, rand, i, j, k); - return true; - } - - public boolean generate4(World world, Random rand, int i, int j, int k) { - world.setBlock(i + 31, j + 3, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 5, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 7, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 10, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 31, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 7, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 10, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 32, j + 11, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 33, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 2, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 2, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 5, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 5, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 34, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 35, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 36, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 2, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 5, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 37, j + 6, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 0, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 8, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 9, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 10, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 11, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 12, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 13, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 14, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 15, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 16, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 17, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 18, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 19, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 20, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 21, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 22, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 23, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 24, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 25, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 26, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 27, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 28, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 29, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 30, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 31, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 32, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 33, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 34, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 35, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 36, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 37, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 38, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 39, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 40, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 41, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 42, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 43, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 44, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 45, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 46, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 47, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 48, this.largeLimestoneBricks); - world.setBlock(i + 38, j + 1, k + 49, this.largeLimestoneBricks); - world.setBlock(i + 0, j + 6, k + 8, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 9, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 10, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 11, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 12, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 13, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 14, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 15, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 16, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 17, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 18, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 19, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 20, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 21, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 22, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 23, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 24, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 25, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 26, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 27, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 28, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 29, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 30, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 31, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 32, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 33, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 34, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 35, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 36, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 37, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 38, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 39, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 40, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 41, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 42, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 43, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 44, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 45, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 46, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 47, this.largeLimestoneBricksStairs); - world.setBlock(i + 0, j + 6, k + 48, this.largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 0, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 1, j + 3, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 12, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 15, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 18, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 21, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 24, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 27, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 30, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 33, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 36, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 39, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 42, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 45, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 3, k + 48, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 12, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 15, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 18, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 21, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 24, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 27, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 30, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 33, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 36, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 39, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 42, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 45, this.smallLimestoneBricks); - world.setBlock(i + 1, j + 4, k + 48, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 1, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 1, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 1, j + 7, k + 9, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 10, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 11, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 12, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 13, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 14, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 15, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 16, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 17, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 18, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 19, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 20, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 21, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 22, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 23, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 24, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 25, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 26, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 27, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 28, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 29, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 30, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 31, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 32, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 33, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 34, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 35, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 36, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 37, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 38, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 39, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 40, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 41, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 42, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 43, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 44, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 45, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 46, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 47, this.largeLimestoneBricksStairs); - world.setBlock(i + 1, j + 7, k + 48, this.largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 2, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 2, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 2, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 2, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 3, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 3, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 3, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 3, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 4, j + 3, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 4, j + 3, k + 48, this.smallLimestoneBricks); - world.setBlock(i + 4, j + 4, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 4, j + 4, k + 48, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 4, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 4, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 4, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 4, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 5, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 5, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 5, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 5, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 6, j + 3, k + 15, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 18, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 21, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 24, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 27, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 30, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 33, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 36, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 39, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 3, k + 42, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 15, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 18, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 21, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 24, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 27, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 30, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 33, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 36, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 39, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 4, k + 42, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 6, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 6, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 6, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 6, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 6, j + 8, k + 15, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 18, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 21, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 24, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 27, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 30, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 33, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 36, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 39, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 8, k + 42, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 15, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 18, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 21, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 24, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 27, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 30, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 33, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 36, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 39, this.smallLimestoneBricks); - world.setBlock(i + 6, j + 9, k + 42, this.smallLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 7, j + 3, k + 48, this.smallLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 7, j + 4, k + 48, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 7, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 7, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 7, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 7, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 7, j + 8, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 7, j + 8, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 7, j + 9, k + 43, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 8, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 8, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 8, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 8, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 8, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 8, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 8, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 8, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 8, j + 7, k + 18, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 8, j + 7, k + 22, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 8, j + 7, k + 26, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 8, j + 7, k + 30, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 8, j + 7, k + 34, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 8, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 8, j + 10, k + 18, this.largeLimestoneBricksStairs, 5); - world.setBlockMetadataWithNotify(i + 8, j + 10, k + 22, this.largeLimestoneBricksStairs, 5); - world.setBlockMetadataWithNotify(i + 8, j + 10, k + 26, this.largeLimestoneBricksStairs, 5); - world.setBlockMetadataWithNotify(i + 8, j + 10, k + 30, this.largeLimestoneBricksStairs, 5); - world.setBlockMetadataWithNotify(i + 8, j + 10, k + 34, this.largeLimestoneBricksStairs, 5); - world.setBlockMetadataWithNotify(i + 9, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 9, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 9, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 9, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 9, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 9, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 9, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 9, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 9, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 10, j + 2, k + 21, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 10, j + 2, k + 35, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 10, j + 3, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 10, j + 3, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 10, j + 3, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 10, j + 3, k + 48, this.smallLimestoneBricks); - world.setBlock(i + 10, j + 4, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 10, j + 4, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 10, j + 4, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 10, j + 4, k + 48, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 10, j + 5, k + 21, this.largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 10, j + 5, k + 27, this.largeLimestoneBricksStairs, 7); - world.setBlockMetadataWithNotify(i + 10, j + 5, k + 29, this.largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 10, j + 5, k + 35, this.largeLimestoneBricksStairs, 7); - world.setBlockMetadataWithNotify(i + 10, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 10, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 10, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 10, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 10, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 10, j + 8, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 10, j + 8, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 10, j + 9, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 10, j + 9, k + 43, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 10, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); - world.setBlock(i + 11, j + 3, k + 19, this.smallLimestoneBricks); - world.setBlock(i + 11, j + 3, k + 38, this.smallLimestoneBricks); - world.setBlock(i + 11, j + 4, k + 19, this.smallLimestoneBricks); - world.setBlock(i + 11, j + 4, k + 38, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 11, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 11, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 11, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 11, j + 7, k + 28, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 11, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 11, j + 8, k + 19, this.smallLimestoneBricks); - world.setBlock(i + 11, j + 8, k + 38, this.smallLimestoneBricks); - world.setBlock(i + 11, j + 9, k + 19, this.smallLimestoneBricks); - world.setBlock(i + 11, j + 9, k + 38, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 12, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 12, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 12, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 12, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 13, j + 2, k + 4, this.largeLimestoneBricksStairs); - world.setBlock(i + 13, j + 3, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 13, j + 3, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 13, j + 3, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 13, j + 3, k + 48, this.smallLimestoneBricks); - world.setBlock(i + 13, j + 4, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 13, j + 4, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 13, j + 4, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 13, j + 4, k + 48, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 13, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 13, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 13, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlock(i + 13, j + 7, k + 41, this.largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 13, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 13, j + 8, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 13, j + 8, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 13, j + 9, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 13, j + 9, k + 43, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 13, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 14, j + 2, k + 3, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 14, j + 2, k + 5, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 14, j + 2, k + 39, this.largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 14, j + 5, k + 39, this.largeLimestoneBricksStairs, 4); - world.setBlockMetadataWithNotify(i + 14, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 14, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 14, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 14, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 14, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 14, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); - world.setBlockMetadataWithNotify(i + 15, j + 2, k + 4, this.largeLimestoneBricksStairs, 1); - world.setBlock(i + 15, j + 2, k + 26, this.largeLimestoneBricksStairs); - world.setBlock(i + 15, j + 2, k + 30, this.largeLimestoneBricksStairs); - world.setBlock(i + 15, j + 3, k + 24, this.largeLimestoneBricksStairs); - world.setBlock(i + 15, j + 3, k + 25, this.largeLimestoneBricksStairs); - world.setBlock(i + 15, j + 3, k + 31, this.largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 15, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 15, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 15, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 15, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 15, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 16, j + 2, k + 27, this.largeLimestoneBricksStairs); - world.setBlock(i + 16, j + 2, k + 28, this.largeLimestoneBricksStairs); - world.setBlock(i + 16, j + 2, k + 29, this.largeLimestoneBricksStairs); - world.setBlock(i + 16, j + 3, k + 9, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 16, j + 3, k + 24, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 16, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 16, j + 3, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 16, j + 3, k + 48, this.smallLimestoneBricks); - world.setBlock(i + 16, j + 4, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 16, j + 4, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 16, j + 4, k + 48, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 16, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 16, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 16, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 16, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 16, j + 8, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 16, j + 8, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 16, j + 9, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 16, j + 9, k + 43, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 17, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 17, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 17, j + 2, k + 24, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 17, j + 2, k + 32, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 17, j + 3, k + 12, Block.torchWood.blockID, 4); - world.setBlockMetadataWithNotify(i + 17, j + 3, k + 26, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 17, j + 3, k + 30, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 17, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 17, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 17, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 17, j + 7, k + 41, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 17, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 17, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 18, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 18, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); - world.setBlock(i + 18, j + 2, k + 14, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 18, j + 2, k + 17, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 18, j + 2, k + 25, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 18, j + 2, k + 31, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 18, j + 3, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 18, j + 4, k + 14, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 18, j + 5, k + 39, this.largeLimestoneBricksStairs, 5); - world.setBlockMetadataWithNotify(i + 18, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 18, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 18, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 18, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 18, j + 8, k + 13, this.smallLimestoneBricks); - world.setBlock(i + 18, j + 8, k + 16, this.smallLimestoneBricks); - world.setBlock(i + 18, j + 9, k + 16, this.smallLimestoneBricks); - world.setBlock(i + 18, j + 10, k + 13, this.largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 19, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 19, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); - world.setBlock(i + 19, j + 2, k + 14, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 19, j + 2, k + 25, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 19, j + 2, k + 31, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 19, j + 3, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 19, j + 3, k + 48, this.smallLimestoneBricks); - world.setBlock(i + 19, j + 4, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 19, j + 4, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 19, j + 4, k + 48, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 19, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 19, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 19, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 19, j + 7, k + 19, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 19, j + 7, k + 38, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 19, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 19, j + 8, k + 43, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 19, j + 9, k + 16, this.largeLimestoneBricksStairs, 7); - world.setBlock(i + 19, j + 9, k + 43, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 20, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 20, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); - world.setBlock(i + 20, j + 2, k + 14, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 20, j + 2, k + 25, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 20, j + 2, k + 31, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 20, j + 3, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 20, j + 4, k + 14, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 20, j + 5, k + 39, this.largeLimestoneBricksStairs, 4); - world.setBlockMetadataWithNotify(i + 20, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 20, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 20, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 20, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 20, j + 8, k + 13, this.smallLimestoneBricks); - world.setBlock(i + 20, j + 8, k + 16, this.smallLimestoneBricks); - world.setBlock(i + 20, j + 9, k + 16, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 20, j + 10, k + 13, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 21, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 21, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 21, j + 2, k + 24, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 21, j + 2, k + 32, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 21, j + 3, k + 12, Block.torchWood.blockID, 4); - world.setBlockMetadataWithNotify(i + 21, j + 3, k + 26, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 21, j + 3, k + 30, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 21, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 21, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 21, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 21, j + 7, k + 41, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 21, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 21, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 22, j + 2, k + 27, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 22, j + 2, k + 28, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 22, j + 2, k + 29, this.largeLimestoneBricksStairs, 1); - world.setBlock(i + 22, j + 3, k + 9, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 22, j + 3, k + 24, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 22, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 22, j + 3, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 22, j + 3, k + 48, this.smallLimestoneBricks); - world.setBlock(i + 22, j + 4, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 22, j + 4, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 22, j + 4, k + 48, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 22, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 22, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 22, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 22, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 22, j + 8, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 22, j + 8, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 22, j + 9, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 22, j + 9, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 23, j + 2, k + 4, this.largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 23, j + 2, k + 26, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 23, j + 2, k + 30, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 23, j + 3, k + 24, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 23, j + 3, k + 25, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 23, j + 3, k + 31, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 23, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 23, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 23, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 23, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 23, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 24, j + 2, k + 3, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 24, j + 2, k + 5, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 24, j + 2, k + 39, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 24, j + 5, k + 39, this.largeLimestoneBricksStairs, 5); - world.setBlockMetadataWithNotify(i + 24, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 24, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 24, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 24, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 24, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 24, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); - world.setBlockMetadataWithNotify(i + 25, j + 2, k + 4, this.largeLimestoneBricksStairs, 1); - world.setBlock(i + 25, j + 3, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 25, j + 3, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 25, j + 3, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 25, j + 3, k + 48, this.smallLimestoneBricks); - world.setBlock(i + 25, j + 4, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 25, j + 4, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 25, j + 4, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 25, j + 4, k + 48, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 25, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 25, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 25, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 25, j + 7, k + 41, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 25, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 25, j + 8, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 25, j + 8, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 25, j + 9, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 25, j + 9, k + 43, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 25, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 26, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 26, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 26, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 26, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 27, j + 3, k + 19, this.smallLimestoneBricks); - world.setBlock(i + 27, j + 3, k + 38, this.smallLimestoneBricks); - world.setBlock(i + 27, j + 4, k + 19, this.smallLimestoneBricks); - world.setBlock(i + 27, j + 4, k + 38, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 27, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 27, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 27, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 27, j + 7, k + 28, Block.torchWood.blockID, 5); - world.setBlockMetadataWithNotify(i + 27, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 27, j + 8, k + 19, this.smallLimestoneBricks); - world.setBlock(i + 27, j + 8, k + 38, this.smallLimestoneBricks); - world.setBlock(i + 27, j + 9, k + 19, this.smallLimestoneBricks); - world.setBlock(i + 27, j + 9, k + 38, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 28, j + 2, k + 21, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 28, j + 2, k + 35, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 28, j + 3, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 28, j + 3, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 28, j + 3, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 28, j + 3, k + 48, this.smallLimestoneBricks); - world.setBlock(i + 28, j + 4, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 28, j + 4, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 28, j + 4, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 28, j + 4, k + 48, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 28, j + 5, k + 21, this.largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 28, j + 5, k + 27, this.largeLimestoneBricksStairs, 7); - world.setBlockMetadataWithNotify(i + 28, j + 5, k + 29, this.largeLimestoneBricksStairs, 6); - world.setBlockMetadataWithNotify(i + 28, j + 5, k + 35, this.largeLimestoneBricksStairs, 7); - world.setBlockMetadataWithNotify(i + 28, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 28, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 28, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 28, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 28, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 28, j + 8, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 28, j + 8, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 28, j + 9, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 28, j + 9, k + 43, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 28, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); - world.setBlockMetadataWithNotify(i + 29, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 29, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 29, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 29, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 29, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 29, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 29, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 29, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 29, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 30, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 30, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 30, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 30, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 30, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 30, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 30, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 30, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlock(i + 30, j + 7, k + 18, this.largeLimestoneBricksStairs); - world.setBlock(i + 30, j + 7, k + 22, this.largeLimestoneBricksStairs); - world.setBlock(i + 30, j + 7, k + 26, this.largeLimestoneBricksStairs); - world.setBlock(i + 30, j + 7, k + 30, this.largeLimestoneBricksStairs); - world.setBlock(i + 30, j + 7, k + 34, this.largeLimestoneBricksStairs); - world.setBlockMetadataWithNotify(i + 30, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 30, j + 10, k + 18, this.largeLimestoneBricksStairs, 4); - world.setBlockMetadataWithNotify(i + 30, j + 10, k + 22, this.largeLimestoneBricksStairs, 4); - world.setBlockMetadataWithNotify(i + 30, j + 10, k + 26, this.largeLimestoneBricksStairs, 4); - world.setBlockMetadataWithNotify(i + 30, j + 10, k + 30, this.largeLimestoneBricksStairs, 4); - world.setBlockMetadataWithNotify(i + 30, j + 10, k + 34, this.largeLimestoneBricksStairs, 4); - world.setBlock(i + 31, j + 3, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 31, j + 3, k + 48, this.smallLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 31, j + 4, k + 48, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 31, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 31, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 31, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 31, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 31, j + 8, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 31, j + 8, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 14, this.smallLimestoneBricks); - world.setBlock(i + 31, j + 9, k + 43, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 15, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 18, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 21, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 24, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 27, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 30, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 33, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 36, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 39, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 3, k + 42, this.smallLimestoneBricks); - this.generate5(world, rand, i, j, k); - return true; - } - - public boolean generate5(World world, Random rand, int i, int j, int k) { - world.setBlock(i + 32, j + 4, k + 15, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 18, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 21, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 24, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 27, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 30, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 33, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 36, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 39, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 4, k + 42, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 32, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 32, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 32, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 32, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 32, j + 8, k + 15, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 18, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 21, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 24, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 27, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 30, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 33, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 36, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 39, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 8, k + 42, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 15, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 18, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 21, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 24, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 27, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 30, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 33, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 36, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 39, this.smallLimestoneBricks); - world.setBlock(i + 32, j + 9, k + 42, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 33, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 33, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 33, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 33, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 34, j + 3, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 34, j + 3, k + 48, this.smallLimestoneBricks); - world.setBlock(i + 34, j + 4, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 34, j + 4, k + 48, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 34, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 34, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 34, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 34, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 35, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 35, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 35, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 35, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 36, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 36, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 36, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 36, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); - world.setBlock(i + 37, j + 3, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 12, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 15, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 18, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 21, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 24, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 27, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 30, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 33, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 36, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 39, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 42, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 45, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 3, k + 48, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 9, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 12, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 15, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 18, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 21, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 24, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 27, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 30, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 33, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 36, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 39, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 42, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 45, this.smallLimestoneBricks); - world.setBlock(i + 37, j + 4, k + 48, this.smallLimestoneBricks); - world.setBlockMetadataWithNotify(i + 37, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 37, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 10, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 11, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 12, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 13, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 14, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 15, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 16, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 17, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 18, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 19, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 20, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 21, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 22, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 23, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 24, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 25, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 26, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 27, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 28, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 29, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 30, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 31, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 32, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 33, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 34, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 35, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 36, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 37, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 38, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 39, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 40, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 41, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 42, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 43, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 44, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 45, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 46, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 47, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 37, j + 7, k + 48, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 9, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 10, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 11, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 12, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 13, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 14, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 15, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 16, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 17, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 18, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 19, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 20, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 21, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 22, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 23, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 24, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 25, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 26, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 27, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 28, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 29, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 30, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 31, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 32, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 33, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 34, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 35, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 36, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 37, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 38, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 39, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 40, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 41, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 42, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 43, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 44, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 45, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 46, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 47, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 48, this.largeLimestoneBricksStairs, 1); - world.setBlockMetadataWithNotify(i + 38, j + 6, k + 49, this.largeLimestoneBricksStairs, 1); - return true; - } -} diff --git a/src/com/teammetallurgy/atum/Atum.java b/src/main/java/com/teammetallurgy/atum/Atum.java similarity index 92% rename from src/com/teammetallurgy/atum/Atum.java rename to src/main/java/com/teammetallurgy/atum/Atum.java index bcbc8d1..a80b02b 100644 --- a/src/com/teammetallurgy/atum/Atum.java +++ b/src/main/java/com/teammetallurgy/atum/Atum.java @@ -19,11 +19,9 @@ import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.network.NetworkMod; import cpw.mods.fml.common.network.NetworkRegistry; @Mod(modid = Atum.MODID, name = Atum.NAME, version = Atum.VERSION) -@NetworkMod(clientSideRequired = true, serverSideRequired = false) public class Atum { public static final String MODID = "Atum"; public static final String NAME = "Atum"; @@ -74,7 +72,7 @@ public void init(FMLInitializationEvent event) { MinecraftForge.EVENT_BUS.register(new AtumEventListener()); - NetworkRegistry.instance().registerGuiHandler(this, new AtumGuiHandler()); + NetworkRegistry.INSTANCE.registerGuiHandler(this, new AtumGuiHandler()); } @EventHandler diff --git a/src/main/java/com/teammetallurgy/atum/AtumConfig.java b/src/main/java/com/teammetallurgy/atum/AtumConfig.java new file mode 100644 index 0000000..6fd18bc --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/AtumConfig.java @@ -0,0 +1,29 @@ +package com.teammetallurgy.atum; + +import java.io.File; + +import net.minecraftforge.common.config.Configuration; + +public class AtumConfig { + + private final Configuration CONFIG; + + public AtumConfig(File file) { + this.CONFIG = new Configuration(file); + } + + public void load() { + this.CONFIG.load(); + + AtumIDS.DIMENSION_ID = get("Dimension", "Atum", 17); + + AtumIDS.BIOME_DESERT_ID = get("Biome", "Desert", 200); + this.CONFIG.save(); + } + + + private int get(String category, String name, int defaultId) { + return this.CONFIG.get(category, name, defaultId).getInt(); + } + +} diff --git a/src/com/teammetallurgy/atum/AtumCreativeTab.java b/src/main/java/com/teammetallurgy/atum/AtumCreativeTab.java similarity index 100% rename from src/com/teammetallurgy/atum/AtumCreativeTab.java rename to src/main/java/com/teammetallurgy/atum/AtumCreativeTab.java diff --git a/src/com/teammetallurgy/atum/AtumEventListener.java b/src/main/java/com/teammetallurgy/atum/AtumEventListener.java similarity index 55% rename from src/com/teammetallurgy/atum/AtumEventListener.java rename to src/main/java/com/teammetallurgy/atum/AtumEventListener.java index 626e39b..ffec42d 100644 --- a/src/com/teammetallurgy/atum/AtumEventListener.java +++ b/src/main/java/com/teammetallurgy/atum/AtumEventListener.java @@ -3,16 +3,15 @@ import java.util.Random; import net.minecraft.block.Block; -import net.minecraftforge.event.Event.Result; -import net.minecraftforge.event.ForgeSubscribe; +import net.minecraft.init.Blocks; import net.minecraftforge.event.entity.living.LivingFallEvent; import net.minecraftforge.event.entity.living.LivingHurtEvent; import net.minecraftforge.event.entity.player.BonemealEvent; import net.minecraftforge.event.entity.player.UseHoeEvent; +import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.blocks.BlockFlax; import com.teammetallurgy.atum.blocks.BlockPalmSapling; -import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.entity.EntityDustySkeleton; import com.teammetallurgy.atum.entity.EntityGhost; import com.teammetallurgy.atum.entity.EntityMummy; @@ -20,36 +19,39 @@ import com.teammetallurgy.atum.entity.EntityStoneSoldier; import com.teammetallurgy.atum.items.AtumItems; +import cpw.mods.fml.common.eventhandler.Event.Result; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; + public class AtumEventListener { - @ForgeSubscribe + @SubscribeEvent public void onFallDamage(LivingFallEvent event) { - if(event.entity instanceof EntityGhost || event.entity instanceof EntityPharaoh) { + if (event.entity instanceof EntityGhost || event.entity instanceof EntityPharaoh) { event.distance = 0.0F; } } - @ForgeSubscribe + @SubscribeEvent public void onLivingHurt(LivingHurtEvent event) { - if(event.source.getDamageType().equals("drown") && (event.entity instanceof EntityPharaoh || event.entity instanceof EntityGhost || event.entity instanceof EntityMummy || event.entity instanceof EntityDustySkeleton || event.entity instanceof EntityStoneSoldier)) { + if (event.source.getDamageType().equals("drown") && (event.entity instanceof EntityPharaoh || event.entity instanceof EntityGhost || event.entity instanceof EntityMummy || event.entity instanceof EntityDustySkeleton || event.entity instanceof EntityStoneSoldier)) { event.setCanceled(true); } } - @ForgeSubscribe + @SubscribeEvent public boolean onBonemeal(BonemealEvent event) { - if(event.world.isRemote) { + if (event.world.isRemote) { return true; } else { - int id = event.world.getBlockId(event.X, event.Y, event.Z); - if(id == AtumBlocks.BLOCK_PALMSAPLING.blockID) { - ((BlockPalmSapling) ((BlockPalmSapling) AtumBlocks.BLOCK_PALMSAPLING)).growTree(event.world, event.X, event.Y, event.Z, new Random()); + Block block = event.world.getBlock(event.x, event.y, event.z); + if (block == AtumBlocks.BLOCK_PALMSAPLING) { + ((BlockPalmSapling) ((BlockPalmSapling) AtumBlocks.BLOCK_PALMSAPLING)).growTree(event.world, event.x, event.y, event.z, new Random()); event.setResult(Result.ALLOW); } - if(id == AtumBlocks.BLOCK_FLAX.blockID && event.world.getBlockMetadata(event.X, event.Y, event.Z) < 5) { - ((BlockFlax) ((BlockFlax) AtumBlocks.BLOCK_FLAX)).fertilize(event.world, event.X, event.Y, event.Z); + if (block == AtumBlocks.BLOCK_FLAX && event.world.getBlockMetadata(event.x, event.y, event.z) < 5) { + ((BlockFlax) ((BlockFlax) AtumBlocks.BLOCK_FLAX)).fertilize(event.world, event.x, event.y, event.z); event.setResult(Result.ALLOW); } @@ -57,27 +59,25 @@ public boolean onBonemeal(BonemealEvent event) { } } - @ForgeSubscribe + @SubscribeEvent public boolean onHoeEvent(UseHoeEvent event) { - int id = event.world.getBlockId(event.x, event.y, event.z); - if(id == AtumBlocks.BLOCK_FERTILESOIL.blockID) { + Block block = event.world.getBlock(event.x, event.y, event.z); + if (block == AtumBlocks.BLOCK_FERTILESOIL) { byte block2 = 0; - if(event.current.itemID == AtumItems.gebsBlessing.itemID) { + if (event.current.getItem() == AtumItems.gebsBlessing) { block2 = 4; } - event.world.setBlock(event.x, event.y, event.z, AtumBlocks.BLOCK_FERTILESOILTILLED.blockID); + event.world.setBlock(event.x, event.y, event.z, AtumBlocks.BLOCK_FERTILESOILTILLED); event.world.setBlockMetadataWithNotify(event.x, event.y, event.z, block2, 2); event.setResult(Result.ALLOW); - Block block1 = Block.blocksList[id]; - event.world.playSoundEffect((double) event.x, (double) event.y, (double) event.z, block1.stepSound.getStepSound(), (block1.stepSound.getVolume() + 1.0F) / 2.0F, block1.stepSound.getPitch() * 0.8F); + event.world.playSoundEffect((double) event.x, (double) event.y, (double) event.z, block.stepSound.getStepResourcePath(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); return true; - } else if((id == Block.dirt.blockID || id == Block.grass.blockID) && event.current.itemID == AtumItems.gebsBlessing.itemID) { - event.world.setBlock(event.x, event.y, event.z, AtumBlocks.BLOCK_FERTILESOILTILLED.blockID); + } else if ((block == Blocks.dirt || block == Blocks.grass) && event.current.getItem() == AtumItems.gebsBlessing) { + event.world.setBlock(event.x, event.y, event.z, AtumBlocks.BLOCK_FERTILESOILTILLED); event.world.setBlockMetadataWithNotify(event.x, event.y, event.z, 12, 2); event.setResult(Result.ALLOW); - Block block = Block.blocksList[id]; - event.world.playSoundEffect((double) event.x, (double) event.y, (double) event.z, block.stepSound.getStepSound(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); + event.world.playSoundEffect((double) event.x, (double) event.y, (double) event.z, block.stepSound.getStepResourcePath(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); return true; } else { return false; diff --git a/src/com/teammetallurgy/atum/AtumFish.java b/src/main/java/com/teammetallurgy/atum/AtumFish.java similarity index 55% rename from src/com/teammetallurgy/atum/AtumFish.java rename to src/main/java/com/teammetallurgy/atum/AtumFish.java index 45bafde..8c6ecb5 100644 --- a/src/com/teammetallurgy/atum/AtumFish.java +++ b/src/main/java/com/teammetallurgy/atum/AtumFish.java @@ -1,6 +1,6 @@ package com.teammetallurgy.atum; -import net.minecraft.item.Item; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import com.teammetallurgy.atum.items.AtumItems; @@ -11,11 +11,11 @@ public class AtumFish { static { fish = new AtumWeightedLootSet(); - AtumFish.addFish(new ItemStack(Item.fishRaw, 1, 0), 100); - AtumFish.addFish(new ItemStack(AtumItems.fish, 1, 0), 30); - AtumFish.addFish(new ItemStack(AtumItems.fish, 1, 1), 5); - AtumFish.addFish(new ItemStack(AtumItems.fish, 1, 2), 50); - AtumFish.addFish(new ItemStack(AtumItems.fish, 1, 3), 50); + AtumFish.addFish(new ItemStack(Items.fish, 1, 0), 100); + AtumFish.addFish(new ItemStack(AtumItems.ITEM_FISH, 1, 0), 30); + AtumFish.addFish(new ItemStack(AtumItems.ITEM_FISH, 1, 1), 5); + AtumFish.addFish(new ItemStack(AtumItems.ITEM_FISH, 1, 2), 50); + AtumFish.addFish(new ItemStack(AtumItems.ITEM_FISH, 1, 3), 50); } public static void addFish(ItemStack fishStack, int probability) { diff --git a/src/com/teammetallurgy/atum/AtumGuiHandler.java b/src/main/java/com/teammetallurgy/atum/AtumGuiHandler.java similarity index 94% rename from src/com/teammetallurgy/atum/AtumGuiHandler.java rename to src/main/java/com/teammetallurgy/atum/AtumGuiHandler.java index e2f678b..f6a8c07 100644 --- a/src/com/teammetallurgy/atum/AtumGuiHandler.java +++ b/src/main/java/com/teammetallurgy/atum/AtumGuiHandler.java @@ -13,7 +13,7 @@ public class AtumGuiHandler implements IGuiHandler { @Override public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { - TileEntityLimestoneFurnace te = (TileEntityLimestoneFurnace) world.getBlockTileEntity(x, y, z); + TileEntityLimestoneFurnace te = (TileEntityLimestoneFurnace) world.getTileEntity(x, y, z); if(te != null) { if(te instanceof TileEntityLimestoneFurnace) { @@ -25,7 +25,7 @@ public Object getServerGuiElement(int ID, EntityPlayer player, World world, int @Override public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { - TileEntityLimestoneFurnace te = (TileEntityLimestoneFurnace) world.getBlockTileEntity(x, y, z); + TileEntityLimestoneFurnace te = (TileEntityLimestoneFurnace) world.getTileEntity(x, y, z); if(te != null) { if(te instanceof TileEntityLimestoneFurnace) { diff --git a/src/main/java/com/teammetallurgy/atum/AtumIDS.java b/src/main/java/com/teammetallurgy/atum/AtumIDS.java new file mode 100644 index 0000000..3ebb738 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/AtumIDS.java @@ -0,0 +1,8 @@ +package com.teammetallurgy.atum; + +public class AtumIDS { + + public static int DIMENSION_ID; + + public static int BIOME_DESERT_ID; +} diff --git a/src/com/teammetallurgy/atum/AtumLoot.java b/src/main/java/com/teammetallurgy/atum/AtumLoot.java similarity index 81% rename from src/com/teammetallurgy/atum/AtumLoot.java rename to src/main/java/com/teammetallurgy/atum/AtumLoot.java index cd0fea7..9a19e14 100644 --- a/src/com/teammetallurgy/atum/AtumLoot.java +++ b/src/main/java/com/teammetallurgy/atum/AtumLoot.java @@ -4,13 +4,13 @@ import java.util.List; import java.util.Random; +import net.minecraft.init.Items; import net.minecraft.inventory.IInventory; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import com.teammetallurgy.atum.blocks.AtumBlocks; -import com.teammetallurgy.atum.items.ItemLoot; import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.items.ItemLoot; public enum AtumLoot { INSTANCE; @@ -58,24 +58,24 @@ public void register() { // Junk Loot Stuff junkLoot.addLoot(new ItemStack(AtumItems.flaxSeeds), 5, 1, 2); - junkLoot.addLoot(new ItemStack(Item.stick), 5, 1, 5); + junkLoot.addLoot(new ItemStack(Items.stick), 5, 1, 5); junkLoot.addLoot(new ItemStack(AtumItems.ITEM_DATE), 5, 1, 2); - junkLoot.addLoot(new ItemStack(Item.bone), 10, 1, 3); - junkLoot.addLoot(new ItemStack(Item.bread), 10, 1, 4); + junkLoot.addLoot(new ItemStack(Items.bone), 10, 1, 3); + junkLoot.addLoot(new ItemStack(Items.bread), 10, 1, 4); junkLoot.addLoot(new ItemStack(AtumBlocks.BLOCK_SAND), 20, 1, 64); junkLoot.addLoot(new ItemStack(AtumItems.ITEM_SCIMITAR), 5, 1, 1); - junkLoot.addLoot(new ItemStack(Item.seeds), 5, 1, 3); - junkLoot.addLoot(new ItemStack(Item.leather), 5, 1, 5); - junkLoot.addLoot(new ItemStack(Item.dyePowder, 1, 3), 5, 1, 3); - junkLoot.addLoot(new ItemStack(Item.saddle), 5, 1, 1); + junkLoot.addLoot(new ItemStack(Items.wheat_seeds), 5, 1, 3); + junkLoot.addLoot(new ItemStack(Items.leather), 5, 1, 5); + junkLoot.addLoot(new ItemStack(Items.dye, 1, 3), 5, 1, 3); + junkLoot.addLoot(new ItemStack(Items.saddle), 5, 1, 1); // Good Loot - goodLoot.addLoot(new ItemStack(Item.ingotIron), 38, 1, 3); - goodLoot.addLoot(new ItemStack(Item.ingotGold), 20, 1, 3); - goodLoot.addLoot(new ItemStack(Item.diamond), 4, 1, 2); - goodLoot.addLoot(new ItemStack(Item.enchantedBook, 1, 1), 5, 1, 1); - ItemStack stick = new ItemStack(Item.stick); - stick.setItemName("Amazing Stick"); + goodLoot.addLoot(new ItemStack(Items.iron_ingot), 38, 1, 3); + goodLoot.addLoot(new ItemStack(Items.gold_ingot), 20, 1, 3); + goodLoot.addLoot(new ItemStack(Items.diamond), 4, 1, 2); + goodLoot.addLoot(new ItemStack(Items.enchanted_book, 1, 1), 5, 1, 1); + ItemStack stick = new ItemStack(Items.stick); + stick.setStackDisplayName("Amazing Stick"); goodLoot.addLoot(stick, 1, 1, 1); } @@ -103,7 +103,7 @@ public static void fillChest(IInventory inventory, int multiplier, float quality for(int i = 0; i < multiplier; i++) { int slot = rand.nextInt(inventory.getSizeInventory()); float roll = rand.nextFloat(); - ItemStack stack = new ItemStack(0, 0, 0); + ItemStack stack = null; if(rand.nextFloat() < quality) { if(roll > 0.20) { stack = goodLoot.getRandomLoot(); diff --git a/src/com/teammetallurgy/atum/AtumWeightedLootSet.java b/src/main/java/com/teammetallurgy/atum/AtumWeightedLootSet.java similarity index 95% rename from src/com/teammetallurgy/atum/AtumWeightedLootSet.java rename to src/main/java/com/teammetallurgy/atum/AtumWeightedLootSet.java index 4917866..6e72b87 100644 --- a/src/com/teammetallurgy/atum/AtumWeightedLootSet.java +++ b/src/main/java/com/teammetallurgy/atum/AtumWeightedLootSet.java @@ -8,6 +8,7 @@ import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentData; +import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemEnchantedBook; import net.minecraft.item.ItemStack; @@ -53,7 +54,7 @@ public ItemStack getRandomLoot() { int max = lootMax.get(key); int amount = rand.nextInt(max - min + 1) + min; stack.stackSize = amount; - if(stack.itemID == Item.enchantedBook.itemID) { + if(stack.getItem() == Items.enchanted_book) { Enchantment enchantment = Enchantment.enchantmentsBookList[rand.nextInt(Enchantment.enchantmentsBookList.length)]; int l = MathHelper.getRandomIntegerInRange(rand, enchantment.getMinLevel(), enchantment.getMaxLevel()); ((ItemEnchantedBook) stack.getItem()).addEnchantment(stack, new EnchantmentData(enchantment, l)); diff --git a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java new file mode 100644 index 0000000..f12341a --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java @@ -0,0 +1,141 @@ +package com.teammetallurgy.atum.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraftforge.common.ForgeHooks; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.oredict.OreDictionary; + +import com.teammetallurgy.atum.Atum; +import com.teammetallurgy.atum.AtumIDS; +import com.teammetallurgy.atum.blocks.tileentity.TileEntityBurningTrap; +import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityChestSpawner; +import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityPharaohChest; +import com.teammetallurgy.atum.blocks.tileentity.furnace.TileEntityLimestoneFurnace; + +import cpw.mods.fml.common.registry.GameRegistry; + +public enum AtumBlocks { + INSTANCE; + + public static final BlockPortal BLOCK_PORTAL = new BlockPortal(); + public static final Block BLOCK_CURSEDCHEST = new BlockChestSpawner(); + public static final Block BLOCK_SAND = new BlockSands(); + public static final Block BLOCK_STONE = new BlockStones(); + public static final Block BLOCK_LIMESTONECOBBLE = new BlockAtum("cobble").setBlockTextureName("atum:AtumCobble"); + public static final Block BLOCK_LARGEBRICK = new BlockAtum("largeBrick").setBlockTextureName("atum:AtumBrickLarge"); + public static final Block BLOCK_SMALLBRICK = new BlockAtum("smallBrick").setBlockTextureName("atum:AtumBrickSmall"); + public static final Block BLOCK_CARVEDBRICK = new BlockAtum("carvedBrick").setBlockTextureName("atum:AtumBrickCarved"); + public static final Block BLOCK_SLABS = new BlockAtumSlab(false).setBlockName("slab"); + public static final Block BLOCK_DOUBLESLAB = new BlockAtumSlab(true).setBlockName("doubleSlab"); + public static final Block BLOCK_SMOOTHSTAIRS = new BlockAtumStairs(BLOCK_STONE, 0).setBlockName("smoothStairs"); + public static final Block BLOCK_COBBLESTAIRS = new BlockAtumStairs(BLOCK_LIMESTONECOBBLE, 0).setBlockName("cobbleStairs"); + public static final Block BLOCK_LARGESTONESTAIRS = new BlockAtumStairs(BLOCK_LARGEBRICK, 0).setBlockName("largeStairs"); + public static final Block BLOCK_SMALLSTONESTAIRS = new BlockAtumStairs(BLOCK_SMALLBRICK, 0).setBlockName("smallStairs"); + public static final Block BLOCK_SANDLAYERED = new BlockSandLayered(); + public static final Block BLOCK_CRACKEDLARGEBRICK = new BlockAtum("crackedLargeBrick").setBlockTextureName("atum:AtumCrackedLargeBrick"); + public static final Block BLOCK_WALL = new BlockWalls(BLOCK_STONE); + public static final Block BLOCK_CRYSTALGLASS = new BlockAtumGlass("atum:AtumCrystalGlass").setBlockName("crystalGlass"); + public static final Block BLOCK_FRAMEDGLASS = new BlockAtumGlass("atum:AtumFramedGlass").setBlockName("framedGlass"); + public static final Block BLOCK_PALMSAPLING = new BlockPalmSapling(); + public static final Block BLOCK_DATEBLOCK = new BlockDate(); + public static final Block BLOCK_SHRUB = new BlockShrub().setBlockName("shrub").setBlockTextureName("atum:shrub"); + public static final Block BLOCK_WEED = new BlockShrub().setBlockName("weed").setBlockTextureName("atum:DeadBush"); + public static final Block BLOCK_PAPYRUS = new BlockPapyrus(); + public static final Block BLOCK_FLAX = new BlockFlax(); + public static final Block BLOCK_FERTILESOIL = new BlockFertileSoil(); + public static final Block BLOCK_FERTILESOILTILLED = new BlockFertileSoilTilled(); + public static final Block BLOCK_LOG = new BlockPalmLog(); + public static final Block BLOCK_LEAVES = new BlockLeave(); + public static final Block BLOCK_PLANKS = new BlockAtumPlank(); + public static final Block BLOCK_THINCRYSTALGLASS = new BlockAtumPane("atum:AtumCrystalGlass", "atum:thinglass_top").setBlockName("thinCrystalGlass"); + public static final Block BLOCK_THINFRAMEDGLASS = new BlockAtumPane("atum:AtumFramedGlass", "atum:thinglass_top").setBlockName("thinFramedGlass"); + public static final Block BLOCK_TRAPARROW = new BlockBurningTrap(); + public static final Block BLOCK_PHARAOHCHEST = new BlockPharaohChest(); + public static final Block BLOCK_REDSTONEORE = new BlockAtumRedstone(); + public static final Block BLOCK_COALORE = new BlockAtumOres().setBlockName("coalOre").setBlockTextureName("atum:AtumCoal"); + public static final Block BLOCK_IRONORE = new BlockAtumOres().setBlockName("ironOre").setBlockTextureName("atum:AtumIron"); + public static final Block BLOCK_GOLDORE = new BlockAtumOres().setBlockName("goldOre").setBlockTextureName("atum:AtumGold"); + public static final Block BLOCK_LAPISORE = new BlockAtumOres().setBlockName("lapisOre").setBlockTextureName("atum:AtumLapis"); + public static final Block BLOCK_DIAMONDORE = new BlockAtumOres().setBlockName("diamondOre").setBlockTextureName("atum:AtumDiamond"); + public static final Block BLOCK_FURNACEIDLE = new BlockLimeStoneFurnace(false).setBlockName("furnaceIdle"); + public static final Block BLOCK_FURNACEBURNING = new BlockLimeStoneFurnace(true).setBlockName("furnaceBurning"); + + public void registerBlocks() { + this.register(BLOCK_PORTAL); + this.register(BLOCK_CURSEDCHEST); + this.register(BLOCK_SAND); + this.register(BLOCK_STONE); + this.register(BLOCK_LIMESTONECOBBLE); + this.register(BLOCK_LARGEBRICK); + this.register(BLOCK_SMALLBRICK); + this.register(BLOCK_CARVEDBRICK); + this.register(BLOCK_SMOOTHSTAIRS); + this.register(BLOCK_COBBLESTAIRS); + this.register(BLOCK_LARGESTONESTAIRS); + this.register(BLOCK_SMALLSTONESTAIRS); + this.register(BLOCK_SANDLAYERED); + this.register(BLOCK_CRACKEDLARGEBRICK); + this.register(BLOCK_CRYSTALGLASS); + this.register(BLOCK_FRAMEDGLASS); + //this.register(BLOCK_PALMSAPLING); + this.register(BLOCK_DATEBLOCK); + //this.register(BLOCK_SHRUB); + this.register(BLOCK_WEED); + this.register(BLOCK_PAPYRUS); + //this.register(BLOCK_FLAX); + this.register(BLOCK_FERTILESOIL); + this.register(BLOCK_FERTILESOILTILLED); + this.register(BLOCK_LOG); + this.register(BLOCK_LEAVES); + this.register(BLOCK_PLANKS); + this.register(BLOCK_THINCRYSTALGLASS); + this.register(BLOCK_THINFRAMEDGLASS); + this.register(BLOCK_TRAPARROW); + this.register(BLOCK_PHARAOHCHEST); + this.register(BLOCK_REDSTONEORE); + this.register(BLOCK_COALORE); + this.register(BLOCK_IRONORE); + this.register(BLOCK_GOLDORE); + this.register(BLOCK_LAPISORE); + this.register(BLOCK_DIAMONDORE); + this.register(BLOCK_FURNACEIDLE); + this.register(BLOCK_FURNACEBURNING); + + ForgeHooks.canToolHarvestBlock(BLOCK_SAND, 0, new ItemStack(Items.iron_shovel)); + BLOCK_SAND.setHarvestLevel("shovel", 0); + BLOCK_COALORE.setHarvestLevel("pickaxe", 0); + BLOCK_IRONORE.setHarvestLevel("pickaxe", 1); + BLOCK_GOLDORE.setHarvestLevel("pickaxe", 2); + BLOCK_LAPISORE.setHarvestLevel("pickaxe", 1); + BLOCK_DIAMONDORE.setHarvestLevel("pickaxe", 2); + BLOCK_REDSTONEORE.setHarvestLevel("pickaxe", 2); + + Blocks.fire.setFireInfo(BLOCK_PLANKS, 5, 20); + Blocks.fire.setFireInfo(BLOCK_LEAVES, 30, 60); + Blocks.fire.setFireInfo(BLOCK_LOG, 5, 5); + + GameRegistry.registerTileEntity(TileEntityChestSpawner.class, "CursedChest"); + GameRegistry.registerTileEntity(TileEntityPharaohChest.class, "PharaohChest"); + GameRegistry.registerTileEntity(TileEntityBurningTrap.class, "BurningTrap"); + GameRegistry.registerTileEntity(TileEntityLimestoneFurnace.class, "LimestoneFurnace"); + + OreDictionary.registerOre("logWood", BLOCK_LOG); + OreDictionary.registerOre("plankWood", BLOCK_PLANKS); + + GameRegistry.registerBlock(BLOCK_SLABS, ItemBlockSlab.class, BLOCK_SLABS.getUnlocalizedName()); + GameRegistry.registerBlock(BLOCK_DOUBLESLAB, ItemBlockSlab.class, BLOCK_DOUBLESLAB.getUnlocalizedName()); + + GameRegistry.registerBlock(BLOCK_WALL, ItemBlockWall.class, BLOCK_WALL.getUnlocalizedName()); + } + + private void register(Block b) { + if (!(b instanceof BlockDate)) { + b.setCreativeTab(Atum.creativeTab); + } + GameRegistry.registerBlock(b, b.getUnlocalizedName()); + } +} diff --git a/src/com/teammetallurgy/atum/blocks/BlockAtum.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtum.java similarity index 56% rename from src/com/teammetallurgy/atum/blocks/BlockAtum.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockAtum.java index ad96db8..5ebcff8 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockAtum.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtum.java @@ -5,19 +5,15 @@ import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; import net.minecraft.world.World; public class BlockAtum extends Block { - public BlockAtum(int par1, String unlocalisedName) { - super(par1, Material.rock); - this.setUnlocalizedName(unlocalisedName); + public BlockAtum(String unlocalisedName) { + super(Material.rock); + this.setBlockName(unlocalisedName); this.setHardness(2.0F); } - @Override - public int idDropped(int par1, Random par2Random, int par3) { - return this.blockID; - } - } diff --git a/src/com/teammetallurgy/atum/blocks/BlockAtumGlass.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumGlass.java similarity index 78% rename from src/com/teammetallurgy/atum/blocks/BlockAtumGlass.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockAtumGlass.java index ef0a0f7..ecb95f5 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockAtumGlass.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumGlass.java @@ -10,29 +10,34 @@ public class BlockAtumGlass extends BlockBreakable { - public BlockAtumGlass(int par1, String texture) { - super(par1, texture, Material.glass, false); - this.setStepSound(Block.soundGlassFootstep); + public BlockAtumGlass(String texture) { + super(texture, Material.glass, false); + this.setStepSound(Block.soundTypeGrass); this.setHardness(0.3F); } + @Override public int quantityDropped(Random rand) { return 0; } + @Override @SideOnly(Side.CLIENT) public int getRenderBlockPass() { return 0; } + @Override public boolean isOpaqueCube() { return false; } + @Override public boolean renderAsNormalBlock() { return false; } + @Override protected boolean canSilkHarvest() { return true; } diff --git a/src/com/teammetallurgy/atum/blocks/BlockAtumOres.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumOres.java similarity index 58% rename from src/com/teammetallurgy/atum/blocks/BlockAtumOres.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockAtumOres.java index 7fd8946..06235d1 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockAtumOres.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumOres.java @@ -4,6 +4,7 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockOre; +import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.util.MathHelper; @@ -11,28 +12,28 @@ public class BlockAtumOres extends BlockOre { - public BlockAtumOres(int par1) { - super(par1); + public BlockAtumOres() { + super(); this.setHardness(3.0F); this.setResistance(5.0F); - this.setStepSound(Block.soundStoneFootstep); + this.setStepSound(Block.soundTypeStone); } @Override - public int idDropped(int par1, Random par2Random, int par3) { - return this.blockID == AtumBlocks.BLOCK_COALORE.blockID ? Item.coal.itemID : (this.blockID == AtumBlocks.BLOCK_DIAMONDORE.blockID ? Item.diamond.itemID : (this.blockID == AtumBlocks.BLOCK_LAPISORE.blockID ? Item.dyePowder.itemID : this.blockID)); + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return this == AtumBlocks.BLOCK_COALORE ? Items.coal : (this == AtumBlocks.BLOCK_DIAMONDORE ? Items.diamond : (this == AtumBlocks.BLOCK_LAPISORE ? Items.dye : Item.getItemFromBlock(this))); } @Override public int quantityDropped(Random par1Random) { - return this.blockID == AtumBlocks.BLOCK_LAPISORE.blockID ? 4 + par1Random.nextInt(5) : 1; + return this == AtumBlocks.BLOCK_LAPISORE ? 4 + par1Random.nextInt(5) : 1; } @Override public int quantityDroppedWithBonus(int par1, Random par2Random) { - if(par1 > 0 && this.blockID != this.idDropped(0, par2Random, par1)) { + if (par1 > 0 && Item.getItemFromBlock(this) != this.getItemDropped(0, par2Random, par1)) { int j = par2Random.nextInt(par1 + 2) - 1; - if(j < 0) { + if (j < 0) { j = 0; } @@ -46,13 +47,13 @@ public int quantityDroppedWithBonus(int par1, Random par2Random) { public void dropBlockAsItemWithChance(net.minecraft.world.World par1World, int par2, int par3, int par4, int par5, float par6, int par7) { super.dropBlockAsItemWithChance(par1World, par2, par3, par4, par5, par6, par7); - if(this.idDropped(par5, par1World.rand, par7) != super.blockID) { + if (this.getItemDropped(par5, par1World.rand, par7) != Item.getItemFromBlock(this)) { int j1 = 0; - if(this.blockID == AtumBlocks.BLOCK_COALORE.blockID) { + if (this == AtumBlocks.BLOCK_COALORE) { j1 = MathHelper.getRandomIntegerInRange(par1World.rand, 0, 2); - } else if(this.blockID == AtumBlocks.BLOCK_DIAMONDORE.blockID) { + } else if (this == AtumBlocks.BLOCK_DIAMONDORE) { j1 = MathHelper.getRandomIntegerInRange(par1World.rand, 3, 7); - } else if(this.blockID == AtumBlocks.BLOCK_LAPISORE.blockID) { + } else if (this == AtumBlocks.BLOCK_LAPISORE) { j1 = MathHelper.getRandomIntegerInRange(par1World.rand, 2, 5); } @@ -63,6 +64,6 @@ public void dropBlockAsItemWithChance(net.minecraft.world.World par1World, int p @Override public int damageDropped(int par1) { - return this.blockID == AtumBlocks.BLOCK_LAPISORE.blockID ? 4 : 0; + return this == AtumBlocks.BLOCK_LAPISORE ? 4 : 0; } } diff --git a/src/com/teammetallurgy/atum/blocks/BlockAtumPane.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPane.java similarity index 58% rename from src/com/teammetallurgy/atum/blocks/BlockAtumPane.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPane.java index e32f748..73e8a31 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockAtumPane.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPane.java @@ -6,10 +6,10 @@ public class BlockAtumPane extends BlockPane { - protected BlockAtumPane(int par1, String par2Str, String par3Str) { - super(par1, par2Str, par3Str, Material.glass, false); + protected BlockAtumPane(String par2Str, String par3Str) { + super(par2Str, par3Str, Material.glass, false); this.setHardness(0.3F); - this.setStepSound(Block.soundGlassFootstep); + this.setStepSound(Block.soundTypeGrass); } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPlank.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPlank.java new file mode 100644 index 0000000..81a64f4 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPlank.java @@ -0,0 +1,17 @@ +package com.teammetallurgy.atum.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; + +public class BlockAtumPlank extends Block { + + protected BlockAtumPlank() { + super(Material.wood); + this.setBlockName("palmPlanks"); + this.setHardness(2.0F); + this.setResistance(5.0F); + this.setStepSound(Block.soundTypeWood); + this.setBlockTextureName("atum:Planks"); + } + +} diff --git a/src/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java similarity index 81% rename from src/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java index 475fdb4..1ae96bf 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java @@ -6,6 +6,7 @@ import net.minecraft.block.material.Material; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; @@ -14,10 +15,10 @@ public class BlockAtumRedstone extends Block { - public BlockAtumRedstone(int par1) { - super(par1, Material.rock); - this.setUnlocalizedName("redstoneOre"); - this.setTextureName("atum:AtumRedstone"); + public BlockAtumRedstone() { + super(Material.rock); + this.setBlockName("redstoneOre"); + this.setBlockTextureName("atum:AtumRedstone"); } @Override @@ -45,8 +46,8 @@ public boolean onBlockActivated(World par1World, int par2, int par3, int par4, E private void glow(World par1World, int par2, int par3, int par4) { this.sparkle(par1World, par2, par3, par4); - int meta = par1World.getBlockId(par2, par3, par4); - if(meta != 1) { + Block meta = par1World.getBlock(par2, par3, par4); + if(meta != Blocks.stone) { par1World.setBlockMetadataWithNotify(par2, par3, par4, 1, 2); } @@ -79,27 +80,27 @@ private void sparkle(World par1World, int par2, int par3, int par4) { double d1 = (double) ((float) par2 + random.nextFloat()); double d2 = (double) ((float) par3 + random.nextFloat()); double d3 = (double) ((float) par4 + random.nextFloat()); - if(l == 0 && !par1World.isBlockOpaqueCube(par2, par3 + 1, par4)) { + if(l == 0 && !par1World.getBlock(par2, par3 + 1, par4).isOpaqueCube()) { d2 = (double) (par3 + 1) + d0; } - if(l == 1 && !par1World.isBlockOpaqueCube(par2, par3 - 1, par4)) { + if(l == 1 && !par1World.getBlock(par2, par3 - 1, par4).isOpaqueCube()) { d2 = (double) (par3 + 0) - d0; } - if(l == 2 && !par1World.isBlockOpaqueCube(par2, par3, par4 + 1)) { + if(l == 2 && !par1World.getBlock(par2, par3, par4 + 1).isOpaqueCube()) { d3 = (double) (par4 + 1) + d0; } - if(l == 3 && !par1World.isBlockOpaqueCube(par2, par3, par4 - 1)) { + if(l == 3 && !par1World.getBlock(par2, par3, par4 - 1).isOpaqueCube()) { d3 = (double) (par4 + 0) - d0; } - if(l == 4 && !par1World.isBlockOpaqueCube(par2 + 1, par3, par4)) { + if(l == 4 && !par1World.getBlock(par2 + 1, par3, par4).isOpaqueCube()) { d1 = (double) (par2 + 1) + d0; } - if(l == 5 && !par1World.isBlockOpaqueCube(par2 - 1, par3, par4)) { + if(l == 5 && !par1World.getBlock(par2 - 1, par3, par4).isOpaqueCube()) { d1 = (double) (par2 + 0) - d0; } diff --git a/src/com/teammetallurgy/atum/blocks/BlockSlab.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumSlab.java similarity index 56% rename from src/com/teammetallurgy/atum/blocks/BlockSlab.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockAtumSlab.java index 4e8be40..46d6fb1 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockSlab.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumSlab.java @@ -3,60 +3,56 @@ import java.util.List; import java.util.Random; -import com.teammetallurgy.atum.Atum; - -import net.minecraft.block.BlockHalfSlab; +import net.minecraft.block.BlockSlab; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; +import net.minecraft.util.IIcon; + +import com.teammetallurgy.atum.Atum; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class BlockSlab extends BlockHalfSlab { - public static final String[] slabType = {"smooth", "cracked", "largeBrick", "smallBrick"}; +public class BlockAtumSlab extends BlockSlab { + public static final String[] slabType = { "smooth", "cracked", "largeBrick", "smallBrick" }; - public BlockSlab(int par1, boolean par2) { - super(par1, par2, Material.rock); + public BlockAtumSlab(boolean par2) { + super(par2, Material.rock); this.setHardness(2.0F); this.setCreativeTab(Atum.creativeTab); - this.setCreativeTab(Atum.creativeTab); } @Override @SideOnly(Side.CLIENT) - public Icon getIcon(int par1, int par2) { + public IIcon getIcon(int par1, int par2) { par2 %= 4; - if(par2 == 0) + if (par2 == 0) return AtumBlocks.BLOCK_STONE.getIcon(par1, par2 & 0x7); - if(par2 == 1) + if (par2 == 1) return AtumBlocks.BLOCK_LIMESTONECOBBLE.getIcon(par1, par2 & 0x7); - if(par2 == 2) { + if (par2 == 2) { return AtumBlocks.BLOCK_LARGEBRICK.getIcon(par1, par2 & 0x7); } return AtumBlocks.BLOCK_SMALLBRICK.getIcon(par1, par2 & 0x7); } - @Override - public int idDropped(int par1, Random par2Random, int par3) { - return this.blockID; - } - @Override protected ItemStack createStackedBlock(int par1) { - return new ItemStack(this.blockID, 2, par1 & 0x7); + return new ItemStack(this, 2, par1 & 0x7); } @Override - public String getFullSlabName(int par1) { - return this.getUnlocalizedName(); + @SideOnly(Side.CLIENT) + public void getSubBlocks(Item par1, CreativeTabs tab, List subItems) { + for (int i = 0; i < 4; i++) + subItems.add(new ItemStack(this, 1, i)); } @Override - @SideOnly(Side.CLIENT) - public void getSubBlocks(int par1, CreativeTabs tab, List subItems) { - for(int i = 0; i < 4; i++) - subItems.add(new ItemStack(this, 1, i)); + public String func_150002_b(int var1) { + return this.getUnlocalizedName(); } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumStairs.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumStairs.java new file mode 100644 index 0000000..1e353fa --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumStairs.java @@ -0,0 +1,12 @@ +package com.teammetallurgy.atum.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockStairs; + +public class BlockAtumStairs extends BlockStairs { + + protected BlockAtumStairs(Block par2Block, int par3) { + super(par2Block, par3); + } + +} diff --git a/src/com/teammetallurgy/atum/blocks/BlockBurningTrap.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockBurningTrap.java similarity index 65% rename from src/com/teammetallurgy/atum/blocks/BlockBurningTrap.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockBurningTrap.java index 83fac21..1f905e5 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockBurningTrap.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockBurningTrap.java @@ -6,20 +6,19 @@ import net.minecraft.block.BlockContainer; import net.minecraft.block.BlockPistonBase; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.dispenser.BehaviorDefaultDispenseItem; -import net.minecraft.dispenser.IRegistry; -import net.minecraft.dispenser.RegistryDefaulted; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumFacing; -import net.minecraft.util.Icon; +import net.minecraft.util.IIcon; +import net.minecraft.util.IRegistry; +import net.minecraft.util.RegistryDefaulted; import net.minecraft.world.World; -import com.teammetallurgy.atum.Atum; import com.teammetallurgy.atum.blocks.tileentity.TileEntityBurningTrap; import cpw.mods.fml.relauncher.Side; @@ -30,18 +29,18 @@ public class BlockBurningTrap extends BlockContainer { public static final IRegistry dispenseBehaviorRegistry = new RegistryDefaulted(new BehaviorDefaultDispenseItem()); protected Random random = new Random(); @SideOnly(Side.CLIENT) - protected Icon fireTrap; + protected IIcon fireTrap; - public BlockBurningTrap(int par1) { - super(par1, Material.rock); - this.setUnlocalizedName("burningTrap"); + public BlockBurningTrap() { + super(Material.rock); + this.setBlockName("burningTrap"); this.setCreativeTab(CreativeTabs.tabRedstone); this.setHardness(-1.0F); } @Override public float getBlockHardness(World par1World, int par2, int par3, int par4) { - return par1World.getBlockId(par2, par3 + 1, par4) == AtumBlocks.BLOCK_LARGEBRICK.blockID && par1World.getBlockMetadata(par2, par3 + 1, par4) == 1 ? -1.0F : super.blockHardness; + return par1World.getBlock(par2, par3 + 1, par4) == AtumBlocks.BLOCK_LARGEBRICK && par1World.getBlockMetadata(par2, par3 + 1, par4) == 1 ? -1.0F : super.blockHardness; } @Override @@ -56,25 +55,25 @@ public void onBlockAdded(World par1World, int par2, int par3, int par4) { } private void setDispenserDefaultDirection(World par1World, int par2, int par3, int par4) { - if(!par1World.isRemote) { - int l = par1World.getBlockId(par2, par3, par4 - 1); - int i1 = par1World.getBlockId(par2, par3, par4 + 1); - int j1 = par1World.getBlockId(par2 - 1, par3, par4); - int k1 = par1World.getBlockId(par2 + 1, par3, par4); + if (!par1World.isRemote) { + Block l = par1World.getBlock(par2, par3, par4 - 1); + Block i1 = par1World.getBlock(par2, par3, par4 + 1); + Block j1 = par1World.getBlock(par2 - 1, par3, par4); + Block k1 = par1World.getBlock(par2 + 1, par3, par4); byte b0 = 3; - if(Block.opaqueCubeLookup[l] && !Block.opaqueCubeLookup[i1]) { + if (l.isOpaqueCube() && !i1.isOpaqueCube()) { b0 = 3; } - if(Block.opaqueCubeLookup[i1] && !Block.opaqueCubeLookup[l]) { + if (i1.isOpaqueCube() && !l.isOpaqueCube()) { b0 = 2; } - if(Block.opaqueCubeLookup[j1] && !Block.opaqueCubeLookup[k1]) { + if (j1.isOpaqueCube() && !k1.isOpaqueCube()) { b0 = 5; } - if(Block.opaqueCubeLookup[k1] && !Block.opaqueCubeLookup[j1]) { + if (k1.isOpaqueCube() && !j1.isOpaqueCube()) { b0 = 4; } @@ -85,8 +84,8 @@ private void setDispenserDefaultDirection(World par1World, int par2, int par3, i @SideOnly(Side.CLIENT) @Override - public Icon getIcon(int par1, int par2) { - if(par2 == 0) { + public IIcon getIcon(int par1, int par2) { + if (par2 == 0) { par2 = 3; } @@ -96,18 +95,18 @@ public Icon getIcon(int par1, int par2) { @Override @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - this.blockIcon = par1IconRegister.registerIcon("atum:TrapSide"); - this.fireTrap = par1IconRegister.registerIcon("atum:TrapFire"); + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("atum:TrapSide"); + this.fireTrap = par1IIconRegister.registerIcon("atum:TrapFire"); } @Override public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { - if(par1World.isRemote) { + if (par1World.isRemote) { return true; } else { - TileEntityBurningTrap tileEntityBurningTrap = (TileEntityBurningTrap) par1World.getBlockTileEntity(par2, par3, par4); - if(tileEntityBurningTrap != null) { + TileEntityBurningTrap tileEntityBurningTrap = (TileEntityBurningTrap) par1World.getTileEntity(par2, par3, par4); + if (tileEntityBurningTrap != null) { ; } @@ -116,23 +115,19 @@ public boolean onBlockActivated(World par1World, int par2, int par3, int par4, E } @Override - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) { + public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, Block par5) { boolean flag = par1World.isBlockIndirectlyGettingPowered(par2, par3, par4) || par1World.isBlockIndirectlyGettingPowered(par2, par3 + 1, par4); int i1 = par1World.getBlockMetadata(par2, par3, par4); boolean flag1 = (i1 & 8) != 0; - if(flag && !flag1) { - par1World.scheduleBlockUpdate(par2, par3, par4, super.blockID, this.tickRate(par1World)); + if (flag && !flag1) { + par1World.scheduleBlockUpdate(par2, par3, par4, this, this.tickRate(par1World)); par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 | 8, 4); - } else if(!flag && flag1) { + } else if (!flag && flag1) { par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 & -9, 4); } } - public TileEntity createNewTileEntity(World par1World) { - return new TileEntityBurningTrap(); - } - @Override public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLivingBase par5EntityLiving, ItemStack par6ItemStack) { int l = BlockPistonBase.determineOrientation(par1World, par2, par3, par4, par5EntityLiving); @@ -143,4 +138,9 @@ public static EnumFacing getFacing(int par0) { return EnumFacing.getFront(par0 & 7); } + @Override + public TileEntity createNewTileEntity(World var1, int var2) { + return new TileEntityBurningTrap(); + } + } diff --git a/src/com/teammetallurgy/atum/blocks/BlockChestSpawner.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java similarity index 69% rename from src/com/teammetallurgy/atum/blocks/BlockChestSpawner.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java index 8a2efc6..35a9731 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockChestSpawner.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java @@ -6,19 +6,21 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.passive.EntityOcelot; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -import net.minecraftforge.common.ForgeDirection; +import net.minecraftforge.common.util.ForgeDirection; import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityChestSpawner; @@ -27,15 +29,15 @@ public class BlockChestSpawner extends BlockContainer { - protected BlockChestSpawner(int par1) { - super(par1, Material.wood); - this.setUnlocalizedName("chestSpawner"); + protected BlockChestSpawner() { + super(Material.wood); + this.setBlockName("chestSpawner"); this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); } @Override - public int idDropped(int par1, Random par2Random, int par3) { - return Block.chest.blockID; + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return Item.getItemFromBlock(Blocks.chest); } @Override @@ -60,33 +62,33 @@ public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, @Override public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLivingBase par5EntityLiving, ItemStack par6ItemStack) { - int l = par1World.getBlockId(par2, par3, par4 - 1); - int i1 = par1World.getBlockId(par2, par3, par4 + 1); - int j1 = par1World.getBlockId(par2 - 1, par3, par4); - int k1 = par1World.getBlockId(par2 + 1, par3, par4); + Block l = par1World.getBlock(par2, par3, par4 - 1); + Block i1 = par1World.getBlock(par2, par3, par4 + 1); + Block j1 = par1World.getBlock(par2 - 1, par3, par4); + Block k1 = par1World.getBlock(par2 + 1, par3, par4); byte b0 = 0; int l1 = MathHelper.floor_double((double) (par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; - if(l1 == 0) { + if (l1 == 0) { b0 = 2; } - if(l1 == 1) { + if (l1 == 1) { b0 = 5; } - if(l1 == 2) { + if (l1 == 2) { b0 = 3; } - if(l1 == 3) { + if (l1 == 3) { b0 = 4; } - if(l != blockID && i1 != blockID && j1 != blockID && k1 != blockID) { + if (l != this && i1 != this && j1 != this && k1 != this) { par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); } else { - if((l == blockID || i1 == blockID) && (b0 == 4 || b0 == 5)) { - if(l == blockID) { + if ((l == this || i1 == this) && (b0 == 4 || b0 == 5)) { + if (l == this) { par1World.setBlockMetadataWithNotify(par2, par3, par4 - 1, b0, 3); } else { par1World.setBlockMetadataWithNotify(par2, par3, par4 + 1, b0, 3); @@ -95,8 +97,8 @@ public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, Entit par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); } - if((j1 == blockID || k1 == blockID) && (b0 == 2 || b0 == 3)) { - if(j1 == blockID) { + if ((j1 == this || k1 == this) && (b0 == 2 || b0 == 3)) { + if (j1 == this) { par1World.setBlockMetadataWithNotify(par2 - 1, par3, par4, b0, 3); } else { par1World.setBlockMetadataWithNotify(par2 + 1, par3, par4, b0, 3); @@ -106,25 +108,25 @@ public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, Entit } } - if(par6ItemStack.hasDisplayName()) { - ((TileEntityChestSpawner) par1World.getBlockTileEntity(par2, par3, par4)).setChestGuiName(par6ItemStack.getDisplayName()); + if (par6ItemStack.hasDisplayName()) { + ((TileEntityChestSpawner) par1World.getTileEntity(par2, par3, par4)).func_145976_a(par6ItemStack.getDisplayName()); } } @Override - public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) { - par1World.func_96440_m(par2, par3, par4, par5); + public void breakBlock(World par1World, int par2, int par3, int par4, Block par5, int par6) { + par1World.func_147453_f(par2, par3, par4, par5); super.breakBlock(par1World, par2, par3, par4, par5, par6); } @Override public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { - if(par1World.isRemote) { + if (par1World.isRemote) { return true; } else { IInventory iinventory = this.getInventory(par1World, par2, par3, par4); - if(iinventory != null) { + if (iinventory != null) { par5EntityPlayer.displayGUIChest(iinventory); } @@ -133,12 +135,12 @@ public boolean onBlockActivated(World par1World, int par2, int par3, int par4, E } public IInventory getInventory(World par1World, int par2, int par3, int par4) { - TileEntityChestSpawner object = (TileEntityChestSpawner) par1World.getBlockTileEntity(par2, par3, par4); - return object == null ? null : (par1World.isBlockSolidOnSide(par2, par3 + 1, par4, ForgeDirection.DOWN) ? null : (isOcelotBlockingChest(par1World, par2, par3, par4) ? null : (IInventory) object)); + TileEntityChestSpawner object = (TileEntityChestSpawner) par1World.getTileEntity(par2, par3, par4); + return object == null ? null : (par1World.isSideSolid(par2, par3 + 1, par4, ForgeDirection.DOWN) ? null : (isOcelotBlockingChest(par1World, par2, par3, par4) ? null : (IInventory) object)); } @Override - public TileEntity createNewTileEntity(World par1World) { + public TileEntity createNewTileEntity(World par1World, int par2) { TileEntityChestSpawner TileEntityChestSpawner = new TileEntityChestSpawner(); return TileEntityChestSpawner; } @@ -150,10 +152,10 @@ public boolean canProvidePower() { @Override public int isProvidingWeakPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { - if(!this.canProvidePower()) { + if (!this.canProvidePower()) { return 0; } else { - int i1 = ((TileEntityChestSpawner) par1IBlockAccess.getBlockTileEntity(par2, par3, par4)).numUsingPlayers; + int i1 = ((TileEntityChestSpawner) par1IBlockAccess.getTileEntity(par2, par3, par4)).numPlayersUsing; return MathHelper.clamp_int(i1, 0, 15); } } @@ -166,9 +168,9 @@ public int isProvidingStrongPower(IBlockAccess par1IBlockAccess, int par2, int p public static boolean isOcelotBlockingChest(World par0World, int par1, int par2, int par3) { Iterator iterator = par0World.getEntitiesWithinAABB(EntityOcelot.class, AxisAlignedBB.getAABBPool().getAABB((double) par1, (double) (par2 + 1), (double) par3, (double) (par1 + 1), (double) (par2 + 2), (double) (par3 + 1))).iterator(); - while(iterator.hasNext()) { + while (iterator.hasNext()) { EntityOcelot entityocelot1 = (EntityOcelot) iterator.next(); - if(entityocelot1.isSitting()) { + if (entityocelot1.isSitting()) { return true; } } @@ -188,7 +190,7 @@ public int getComparatorInputOverride(World par1World, int par2, int par3, int p @Override @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - this.blockIcon = par1IconRegister.registerIcon("wood"); + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("wood"); } } \ No newline at end of file diff --git a/src/com/teammetallurgy/atum/blocks/BlockDate.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java similarity index 60% rename from src/com/teammetallurgy/atum/blocks/BlockDate.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java index 5fd0964..9f1dffa 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockDate.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java @@ -5,7 +5,9 @@ import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.entity.item.EntityItem; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; import com.teammetallurgy.atum.items.AtumItems; @@ -18,9 +20,9 @@ public class BlockDate extends Block { public int renderID = RenderingRegistry.getNextAvailableRenderId(); - public BlockDate(int par1) { - super(par1, Material.plants); - this.setUnlocalizedName("date"); + public BlockDate() { + super(Material.plants); + this.setBlockName("date"); } @Override @@ -39,18 +41,17 @@ public int getRenderType() { } @Override - public void onNeighborBlockChange(World world, int x, int y, int z, int neighborID) { - if(world.getBlockId(x, y + 1, z) != AtumBlocks.BLOCK_LEAVES.blockID && !world.isRemote) { - EntityItem entityItem = new EntityItem(world, (double) x, (double) y, (double) z, new ItemStack(AtumItems.ITEM_DATE.itemID, 0, this.quantityDropped(new Random()))); - entityItem.dropItem(AtumItems.ITEM_DATE.itemID, this.quantityDropped(new Random())); + public void onNeighborBlockChange(World world, int x, int y, int z, Block p_149695_5_) { + if (world.getBlock(x, y + 1, z) != AtumBlocks.BLOCK_LEAVES && !world.isRemote) { + EntityItem entityItem = new EntityItem(world, (double) x, (double) y, (double) z, new ItemStack(AtumItems.ITEM_DATE, 0, this.quantityDropped(new Random()))); + entityItem.dropItem(AtumItems.ITEM_DATE, this.quantityDropped(new Random())); world.setBlockToAir(x, y, z); } - } @Override - public int idDropped(int par1, Random rand, int par3) { - return AtumItems.ITEM_DATE.itemID; + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return AtumItems.ITEM_DATE; } @Override @@ -59,9 +60,8 @@ public int quantityDropped(Random rand) { } @Override - @SideOnly(Side.CLIENT) - public int idPicked(World par1World, int par2, int par3, int par4) { - return AtumItems.ITEM_DATE.itemID; + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) { + return new ItemStack(AtumItems.ITEM_DATE); } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java new file mode 100644 index 0000000..8cf053c --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java @@ -0,0 +1,132 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockFarmland; +import net.minecraft.block.BlockFlower; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.EnumPlantType; +import net.minecraftforge.common.IPlantable; +import net.minecraftforge.common.util.ForgeDirection; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockFertileSoil extends BlockFarmland { + @SideOnly(Side.CLIENT) + private IIcon iconGrassTop; + + @SideOnly(Side.CLIENT) + private IIcon iconGrassSideOverlay; + + @SideOnly(Side.CLIENT) + private IIcon iconDirt; + + public BlockFertileSoil() { + super(); + this.setBlockName("fertileSoil"); + this.setHardness(0.5F); + this.setStepSound(Block.soundTypeGrass); + setTickRandomly(true); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int par1, int par2) { + if (par2 == 1) { + return this.iconDirt; + } + return par1 == 0 ? Blocks.dirt.getBlockTextureFromSide(par1) : par1 == 1 ? this.iconGrassTop : this.blockIcon; + } + + @Override + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + if (!par1World.isRemote) { + if ((par1World.getBlockLightValue(par2, par3 + 1, par4) < 4) && (par1World.getBlockLightOpacity(par2, par3 + 1, par4) > 2)) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 1, 2); + } else if (par1World.getBlockLightValue(par2, par3 + 1, par4) >= 9) { + for (int l = 0; l < 4; l++) { + int i1 = par2 + par5Random.nextInt(3) - 1; + int j1 = par3 + par5Random.nextInt(5) - 3; + int k1 = par4 + par5Random.nextInt(3) - 1; + Block l1 = par1World.getBlock(i1, j1 + 1, k1); + + if ((par1World.getBlock(i1, j1, k1) == this) && (par1World.getBlockMetadata(i1, j1, k1) == 1) && (par1World.getBlockLightValue(i1, j1 + 1, k1) >= 4) && (par1World.getBlockLightOpacity(i1, j1 + 1, k1) <= 2)) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 2); + } + } + } + } + } + + @Override + public boolean canSustainPlant(IBlockAccess world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { + EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); + + if ((plant instanceof BlockFlower)) { + return true; + } + + switch (plantType.ordinal()) { + case 1: + return false; + case 2: + return false; + case 3: + return false; + case 4: + return isSideSolid(world, x, y, z, ForgeDirection.UP); + case 5: + return true; + case 6: + return false; + case 7: + boolean hasWater = (world.getBlock(x - 1, y, z).getMaterial() == Material.water) || (world.getBlock(x + 1, y, z).getMaterial() == Material.water) || (world.getBlock(x, y, z - 1).getMaterial() == Material.water) || (world.getBlock(x, y, z + 1).getMaterial() == Material.water); + + return hasWater; + } + + return false; + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return Item.getItemFromBlock(AtumBlocks.BLOCK_SAND); + } + + @Override + public IIcon getIcon(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + if (par1IBlockAccess.getBlockMetadata(par2, par3, par4) == 1) { + return this.iconDirt; + } + + if (par5 == 1) { + return this.iconGrassTop; + } + if (par5 == 0) { + return AtumBlocks.BLOCK_SAND.getBlockTextureFromSide(par5); + } + + return this.blockIcon; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("atum:FertileSoilSide"); + this.iconDirt = par1IIconRegister.registerIcon("atum:FertileSoil"); + this.iconGrassTop = par1IIconRegister.registerIcon("atum:FertileSoilTop"); + this.iconGrassSideOverlay = par1IIconRegister.registerIcon("grass_side_overlay"); + } + + @SideOnly(Side.CLIENT) + public IIcon getIconSideOverlay() { + return this.iconGrassSideOverlay; + } +} \ No newline at end of file diff --git a/src/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java similarity index 55% rename from src/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java index f9ce4c4..ff2e469 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java @@ -4,28 +4,33 @@ import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.Icon; +import net.minecraft.util.IIcon; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.EnumPlantType; -import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.IPlantable; +import net.minecraftforge.common.util.ForgeDirection; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class BlockFertileSoilTilled extends Block { @SideOnly(Side.CLIENT) - private Icon farmlandWet; + private IIcon farmlandWet; @SideOnly(Side.CLIENT) - private Icon farmlandDry; + private IIcon farmlandDry; - public BlockFertileSoilTilled(int par1) { - super(par1, Material.ground); + public BlockFertileSoilTilled() { + super(Material.ground); this.setHardness(0.5F); - this.setUnlocalizedName("fertileSoilTilled"); + this.setBlockName("fertileSoilTilled"); this.setTickRandomly(true); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.9375F, 1.0F); this.setLightOpacity(255); @@ -35,7 +40,7 @@ public BlockFertileSoilTilled(int par1) { @SideOnly(Side.CLIENT) public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { int enchanted = (par1World.getBlockMetadata(par2, par3, par4) & 4 & 4) >> 2; - if(enchanted == 1 && par5Random.nextDouble() > 0.6D) { + if (enchanted == 1 && par5Random.nextDouble() > 0.6D) { double d0 = par5Random.nextGaussian() * 0.02D; double d1 = par5Random.nextGaussian() * 0.02D; double d2 = par5Random.nextGaussian() * 0.02D; @@ -61,27 +66,27 @@ public boolean renderAsNormalBlock() { @Override @SideOnly(Side.CLIENT) - public Icon getIcon(int par1, int par2) { - return par2 >> 3 == 0 ? (par1 == 1 ? (par2 > 0 ? this.farmlandWet : this.farmlandDry) : AtumBlocks.BLOCK_FERTILESOIL.getIcon(par1, 1)) : Block.tilledField.getIcon(par1, par2); + public IIcon getIcon(int par1, int par2) { + return par2 >> 3 == 0 ? (par1 == 1 ? (par2 > 0 ? this.farmlandWet : this.farmlandDry) : AtumBlocks.BLOCK_FERTILESOIL.getIcon(par1, 1)) : Blocks.farmland.getIcon(par1, par2); } @Override public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { int meta = par1World.getBlockMetadata(par2, par3, par4); - if(!this.isWaterNearby(par1World, par2, par3, par4) && !par1World.canLightningStrikeAt(par2, par3 + 1, par4)) { - if((meta & 3) > 0 && Math.random() > 0.5D) { + if (!this.isWaterNearby(par1World, par2, par3, par4) && !par1World.canLightningStrikeAt(par2, par3 + 1, par4)) { + if ((meta & 3) > 0 && Math.random() > 0.5D) { par1World.setBlockMetadataWithNotify(par2, par3, par4, meta - 1, 2); - } else if(!this.isCropsNearby(par1World, par2, par3, par4)) { + } else if (!this.isCropsNearby(par1World, par2, par3, par4)) { this.revertToDirt(par1World, par2, par3, par4); } } else { par1World.setBlockMetadataWithNotify(par2, par3, par4, meta | 3, 2); } - int cropID = par1World.getBlockId(par2, par3 + 1, par4); - if(cropID != 0) { - for(int i = 0; i < 2; ++i) { - Block.blocksList[cropID].updateTick(par1World, par2, par3 + 1, par4, par5Random); + Block block = par1World.getBlock(par2, par3 + 1, par4); + if (block != null) { + for (int i = 0; i < 2; ++i) { + block.updateTick(par1World, par2, par3 + 1, par4, par5Random); } } @@ -89,8 +94,8 @@ public void updateTick(World par1World, int par2, int par3, int par4, Random par @Override public void onFallenUpon(World par1World, int par2, int par3, int par4, Entity par5Entity, float par6) { - if(!par1World.isRemote && par1World.rand.nextFloat() < par6 - 0.5F) { - if(!(par5Entity instanceof EntityPlayer) && !par1World.getGameRules().getGameRuleBooleanValue("mobGriefing")) { + if (!par1World.isRemote && par1World.rand.nextFloat() < par6 - 0.5F) { + if (!(par5Entity instanceof EntityPlayer) && !par1World.getGameRules().getGameRuleBooleanValue("mobGriefing")) { return; } @@ -102,11 +107,10 @@ public void onFallenUpon(World par1World, int par2, int par3, int par4, Entity p private boolean isCropsNearby(World par1World, int par2, int par3, int par4) { byte b0 = 0; - for(int l = par2 - b0; l <= par2 + b0; ++l) { - for(int i1 = par4 - b0; i1 <= par4 + b0; ++i1) { - int j1 = par1World.getBlockId(l, par3 + 1, i1); - Block plant = Block.blocksList[j1]; - if(plant instanceof IPlantable && this.canSustainPlant(par1World, par2, par3, par4, ForgeDirection.UP, (IPlantable) plant)) { + for (int l = par2 - b0; l <= par2 + b0; ++l) { + for (int i1 = par4 - b0; i1 <= par4 + b0; ++i1) { + Block j1 = par1World.getBlock(l, par3 + 1, i1); + if (j1 instanceof IPlantable && this.canSustainPlant(par1World, par2, par3, par4, ForgeDirection.UP, (IPlantable) j1)) { return true; } } @@ -116,10 +120,10 @@ private boolean isCropsNearby(World par1World, int par2, int par3, int par4) { } private boolean isWaterNearby(World par1World, int par2, int par3, int par4) { - for(int l = par2 - 4; l <= par2 + 4; ++l) { - for(int i1 = par3; i1 <= par3 + 1; ++i1) { - for(int j1 = par4 - 4; j1 <= par4 + 4; ++j1) { - if(par1World.getBlockMaterial(l, i1, j1) == Material.water) { + for (int l = par2 - 4; l <= par2 + 4; ++l) { + for (int i1 = par3; i1 <= par3 + 1; ++i1) { + for (int j1 = par4 - 4; j1 <= par4 + 4; ++j1) { + if (par1World.getBlock(l, i1, j1).getMaterial() == Material.water) { return true; } } @@ -130,48 +134,47 @@ private boolean isWaterNearby(World par1World, int par2, int par3, int par4) { } @Override - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) { + public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, Block par5) { super.onNeighborBlockChange(par1World, par2, par3, par4, par5); - Material material = par1World.getBlockMaterial(par2, par3 + 1, par4); - if(material.isSolid()) { + Material material = par1World.getBlock(par2, par3 + 1, par4).getMaterial(); + if (material.isSolid()) { this.revertToDirt(par1World, par2, par3, par4); } } @Override - public boolean canSustainPlant(World world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { + public boolean canSustainPlant(IBlockAccess world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); return plantType == EnumPlantType.Crop; } @Override - public int idDropped(int par1, Random par2Random, int par3) { - return par1 >> 3 == 0 ? AtumBlocks.BLOCK_SAND.blockID : Block.dirt.blockID; + public Item getItemDropped(int par1, Random p_149650_2_, int p_149650_3_) { + return par1 >> 3 == 0 ? Item.getItemFromBlock(AtumBlocks.BLOCK_SAND) : Item.getItemFromBlock(Blocks.dirt); } public void revertToDirt(World world, int x, int y, int z) { int type = world.getBlockMetadata(x, y, z) >> 3; - if(type == 0) { - world.setBlock(x, y, z, AtumBlocks.BLOCK_FERTILESOIL.blockID); + if (type == 0) { + world.setBlock(x, y, z, AtumBlocks.BLOCK_FERTILESOIL); world.setBlockMetadataWithNotify(x, y, z, 1, 2); } else { - world.setBlock(x, y, z, Block.dirt.blockID); + world.setBlock(x, y, z, Blocks.dirt); } } @Override - @SideOnly(Side.CLIENT) - public int idPicked(World par1World, int par2, int par3, int par4) { - int type = par1World.getBlockMetadata(par2, par3, par4) >> 3; - return type == 0 ? AtumBlocks.BLOCK_SAND.blockID : Block.dirt.blockID; + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) { + int type = world.getBlockMetadata(x, y, z) >> 3; + return type == 0 ? new ItemStack(AtumBlocks.BLOCK_SAND) : new ItemStack(Blocks.dirt); } @Override @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - this.farmlandWet = par1IconRegister.registerIcon("farmland_wet"); - this.farmlandDry = par1IconRegister.registerIcon("farmland_dry"); + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.farmlandWet = par1IIconRegister.registerIcon("farmland_wet"); + this.farmlandDry = par1IIconRegister.registerIcon("farmland_dry"); } } \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java new file mode 100644 index 0000000..d867364 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java @@ -0,0 +1,194 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.ArrayList; +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockFlower; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.EnumPlantType; +import net.minecraftforge.common.util.ForgeDirection; + +import com.teammetallurgy.atum.items.AtumItems; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockFlax extends BlockFlower { + @SideOnly(Side.CLIENT) + private IIcon[] iconArray; + + protected BlockFlax() { + super(0); + this.setBlockName("flax"); + this.setTickRandomly(true); + float f = 0.5F; + this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 0.25F, 0.5F + f); + this.setCreativeTab((CreativeTabs) null); + this.setHardness(0.0F); + this.setStepSound(Block.soundTypeGrass); + this.disableStats(); + } + + @Override + public EnumPlantType getPlantType(IBlockAccess world, int x, int y, int z) { + return EnumPlantType.Crop; + } + + @Override + public boolean canBlockStay(World par1World, int par2, int par3, int par4) { + if (par1World.getBlockMetadata(par2, par3, par4) >> 3 == 1) { + return par1World.getBlock(par2, par3 - 1, par4) == AtumBlocks.BLOCK_FERTILESOIL; + } else { + Block soil = par1World.getBlock(par2, par3 - 1, par4); + return (par1World.getFullBlockLightValue(par2, par3, par4) >= 8 || par1World.canBlockSeeTheSky(par2, par3, par4)) && soil != null && soil.canSustainPlant(par1World, par2, par3 - 1, par4, ForgeDirection.UP, this); + } + } + + @Override + protected boolean canPlaceBlockOn(Block par1) { + return par1 == Blocks.farmland || par1 == AtumBlocks.BLOCK_FERTILESOILTILLED; + } + + @Override + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + super.updateTick(par1World, par2, par3, par4, par5Random); + if ((par1World.getBlockLightValue(par2, par3 + 1, par4) & 273) >= 9) { + int l = par1World.getBlockMetadata(par2, par3, par4); + if ((l & 7) < 5) { + float f = this.getGrowthRate(par1World, par2, par3, par4); + if (par5Random.nextInt((int) (25.0F / f) + 1) == 0) { + ++l; + par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); + } + } + } + + } + + public void fertilize(World par1World, int par2, int par3, int par4) { + int l = par1World.getBlockMetadata(par2, par3, par4) + MathHelper.getRandomIntegerInRange(par1World.rand, 2, 3); + if ((l & 7) > 5) { + l -= (l & 7) - 5; + } + + par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); + } + + private float getGrowthRate(World par1World, int par2, int par3, int par4) { + float f = 1.0F; + Block l = par1World.getBlock(par2, par3, par4 - 1); + Block i1 = par1World.getBlock(par2, par3, par4 + 1); + Block j1 = par1World.getBlock(par2 - 1, par3, par4); + Block k1 = par1World.getBlock(par2 + 1, par3, par4); + Block l1 = par1World.getBlock(par2 - 1, par3, par4 - 1); + Block i2 = par1World.getBlock(par2 + 1, par3, par4 - 1); + Block j2 = par1World.getBlock(par2 + 1, par3, par4 + 1); + Block k2 = par1World.getBlock(par2 - 1, par3, par4 + 1); + boolean flag = j1 == this || k1 == this; + boolean flag1 = l == this || i1 == this; + boolean flag2 = l1 == this || i2 == this || j2 == this || k2 == this; + + for (int l2 = par2 - 1; l2 <= par2 + 1; ++l2) { + for (int i3 = par4 - 1; i3 <= par4 + 1; ++i3) { + Block j3 = par1World.getBlock(l2, par3 - 1, i3); + float f1 = 0.0F; + if (j3 != null && j3.canSustainPlant(par1World, l2, par3 - 1, i3, ForgeDirection.UP, this)) { + f1 = 1.0F; + if (j3.isFertile(par1World, l2, par3 - 1, i3)) { + f1 = 3.0F; + } + } + + if (l2 != par2 || i3 != par4) { + f1 /= 4.0F; + } + + f += f1; + } + } + + if (flag2 || flag && flag1) { + f /= 2.0F; + } + + return f; + } + + @SideOnly(Side.CLIENT) + public IIcon getIcon(int par1, int par2) { + int meta = par2 & 7; + if (meta < 0 || meta > 5) { + meta = 5; + } + + return this.iconArray[meta]; + } + + @Override + public int getRenderType() { + return 1; + } + + protected Item getSeedItem() { + return AtumItems.flaxSeeds; + } + + protected Item getCropItem() { + return AtumItems.flax; + } + + @Override + public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int par4, int par5, float par6, int par7) { + super.dropBlockAsItemWithChance(par1World, par2, par3, par4, par5, par6, 0); + } + + @Override + public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) { + ArrayList ret = super.getDrops(world, x, y, z, metadata, fortune); + if ((metadata & 7) >= 5) { + for (int n = 0; n < 3 + fortune; ++n) { + if (world.rand.nextInt(15) <= (metadata & 7)) { + ret.add(new ItemStack(this.getSeedItem(), 1, 0)); + } + } + } + + return ret; + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return p_149650_1_ == 5 ? this.getCropItem() : this.getSeedItem(); + } + + @Override + public int quantityDropped(Random par1Random) { + return 1; + } + + @Override + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) { + return new ItemStack(this.getSeedItem()); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.iconArray = new IIcon[6]; + + for (int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IIconRegister.registerIcon("atum:Flax_" + i); + } + + } +} \ No newline at end of file diff --git a/src/com/teammetallurgy/atum/blocks/BlockLeave.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockLeave.java similarity index 80% rename from src/com/teammetallurgy/atum/blocks/BlockLeave.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockLeave.java index b50d5a2..43413c3 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockLeave.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockLeave.java @@ -4,13 +4,13 @@ import java.util.Random; import net.minecraft.block.Block; -import net.minecraft.block.BlockLeaves; import net.minecraft.block.BlockLeavesBase; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; +import net.minecraft.util.IIcon; import net.minecraft.world.ColorizerFoliage; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; @@ -22,12 +22,12 @@ public class BlockLeave extends BlockLeavesBase implements IShearable { int[] adjacentTreeBlocks; - protected BlockLeave(int par1) { - super(par1, Material.leaves, false); - this.setUnlocalizedName("palmLeaves"); + protected BlockLeave() { + super(Material.leaves, false); + this.setBlockName("palmLeaves"); this.setHardness(0.2F); this.setLightOpacity(1); - this.setStepSound(Block.soundGrassFootstep); + this.setStepSound(Block.soundTypeGrass); this.setTickRandomly(true); } @@ -54,7 +54,7 @@ public int colorMultiplier(IBlockAccess par1IBlockAccess, int par2, int par3, in for(int l1 = -1; l1 <= 1; ++l1) { for(int i2 = -1; i2 <= 1; ++i2) { - int j2 = BiomeGenBase.desert.getBiomeFoliageColor(); + int j2 = BiomeGenBase.desert.getBiomeFoliageColor(par2, par3, par4); i1 += (j2 & 16711680) >> 16; j1 += (j2 & '\uff00') >> 8; k1 += j2 & 255; @@ -65,16 +65,16 @@ public int colorMultiplier(IBlockAccess par1IBlockAccess, int par2, int par3, in } @Override - public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) { + public void breakBlock(World par1World, int par2, int par3, int par4, Block par5, int par6) { byte b0 = 1; int j1 = b0 + 1; if(par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1)) { for(int k1 = -b0; k1 <= b0; ++k1) { for(int l1 = -b0; l1 <= b0; ++l1) { for(int i2 = -b0; i2 <= b0; ++i2) { - int j2 = par1World.getBlockId(par2 + k1, par3 + l1, par4 + i2); - if(Block.blocksList[j2] != null) { - Block.blocksList[j2].beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2); + Block j2 = par1World.getBlock(par2 + k1, par3 + l1, par4 + i2); + if(j2 != null) { + j2.beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2); } } } @@ -105,8 +105,7 @@ public void updateTick(World par1World, int par2, int par3, int par4, Random par for(l1 = -b0; l1 <= b0; ++l1) { for(i2 = -b0; i2 <= b0; ++i2) { for(j2 = -b0; j2 <= b0; ++j2) { - k2 = par1World.getBlockId(par2 + l1, par3 + i2, par4 + j2); - Block block = Block.blocksList[k2]; + Block block = par1World.getBlock(par2 + l1, par3 + i2, par4 + j2); if(block != null && block.canSustainLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) { this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = 0; } else if(block != null && block.isLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) { @@ -167,7 +166,7 @@ public void updateTick(World par1World, int par2, int par3, int par4, Random par @Override @SideOnly(Side.CLIENT) public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if(par1World.canLightningStrikeAt(par2, par3 + 1, par4) && !par1World.doesBlockHaveSolidTopSurface(par2, par3 - 1, par4) && par5Random.nextInt(15) == 1) { + if(par1World.canLightningStrikeAt(par2, par3 + 1, par4) && !par1World.doesBlockHaveSolidTopSurface(par1World, par2, par3 - 1, par4) && par5Random.nextInt(15) == 1) { double d0 = (double) ((float) par2 + par5Random.nextFloat()); double d1 = (double) par3 - 0.05D; double d2 = (double) ((float) par4 + par5Random.nextFloat()); @@ -186,8 +185,9 @@ public int quantityDropped(Random par1Random) { return par1Random.nextInt(20) == 0 ? 1 : 0; } - public int idDropped(int par1, Random par2Random, int par3) { - return AtumBlocks.BLOCK_PALMSAPLING.blockID; + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return Item.getItemFromBlock(AtumBlocks.BLOCK_PALMSAPLING); } @Override @@ -206,8 +206,8 @@ public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int p } if(par1World.rand.nextInt(j1) == 0) { - int k1 = this.idDropped(par5, par1World.rand, par7); - this.dropBlockAsItem_do(par1World, par2, par3, par4, new ItemStack(k1, 1, this.damageDropped(par5))); + Item k1 = this.getItemDropped(par5, par1World.rand, par7); + this.dropBlockAsItem(par1World, par2, par3, par4, new ItemStack(k1, 1, this.damageDropped(par5))); } } @@ -230,40 +230,42 @@ public boolean isOpaqueCube() { @Override @SideOnly(Side.CLIENT) - public Icon getIcon(int par1, int par2) { + public IIcon getIcon(int par1, int par2) { return this.blockIcon; } @Override protected ItemStack createStackedBlock(int par1) { - return new ItemStack(this.blockID, 1, par1 & 3); + return new ItemStack(this, 1, par1 & 3); } @Override @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - this.blockIcon = par1IconRegister.registerIcon("atum:AtumLeaves"); + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("atum:AtumLeaves"); } - @Override - public boolean isShearable(ItemStack item, World world, int x, int y, int z) { - return true; - } - @Override - public ArrayList onSheared(ItemStack item, World world, int x, int y, int z, int fortune) { - ArrayList ret = new ArrayList(); - ret.add(new ItemStack(this, 1, world.getBlockMetadata(x, y, z) & 3)); - return ret; - } @Override public void beginLeavesDecay(World world, int x, int y, int z) { world.setBlockMetadataWithNotify(x, y, z, world.getBlockMetadata(x, y, z) | 8, 4); } +// @Override +// public boolean isLeaves(World world, int x, int y, int z) { +// return true; +// } + @Override - public boolean isLeaves(World world, int x, int y, int z) { + public boolean isShearable(ItemStack arg0, IBlockAccess arg1, int arg2, int arg3, int arg4) { return true; } + + @Override + public ArrayList onSheared(ItemStack arg0, IBlockAccess arg1, int x, int y, int z, int arg5) { + ArrayList ret = new ArrayList(); + ret.add(new ItemStack(this, 1, arg1.getBlockMetadata(x, y, z) & 3)); + return ret; + } } diff --git a/src/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java similarity index 69% rename from src/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java index df561ed..fe61fc6 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java @@ -5,16 +5,17 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.Icon; +import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; import net.minecraft.world.World; @@ -27,7 +28,8 @@ public class BlockLimeStoneFurnace extends BlockContainer { /** - * Is the random generator used by furnace to drop the inventory contents in random directions. + * Is the random generator used by furnace to drop the inventory contents in + * random directions. */ private final Random furnaceRand = new Random(); @@ -35,25 +37,24 @@ public class BlockLimeStoneFurnace extends BlockContainer { private final boolean isActive; /** - * This flag is used to prevent the furnace inventory to be dropped upon block removal, is used internally when the furnace block changes from idle to active and vice-versa. + * This flag is used to prevent the furnace inventory to be dropped upon + * block removal, is used internally when the furnace block changes from + * idle to active and vice-versa. */ private static boolean keepFurnaceInventory = false; @SideOnly(Side.CLIENT) - private Icon field_94458_cO; + private IIcon field_94458_cO; @SideOnly(Side.CLIENT) - private Icon field_94459_cP; + private IIcon field_94459_cP; - public BlockLimeStoneFurnace(int par1, boolean par2) { - super(par1, Material.rock); + public BlockLimeStoneFurnace(boolean par2) { + super(Material.rock); isActive = par2; } - /** - * Returns the ID of the items to drop on destruction. - */ @Override - public int idDropped(int par1, Random par2Random, int par3) { - return AtumBlocks.BLOCK_FURNACEIDLE.blockID; + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return Item.getItemFromBlock(AtumBlocks.BLOCK_FURNACEIDLE); } /** @@ -69,26 +70,26 @@ public void onBlockAdded(World par1World, int par2, int par3, int par4) { * set a blocks direction */ private void setDefaultDirection(World par1World, int par2, int par3, int par4) { - if(!par1World.isRemote) { - int l = par1World.getBlockId(par2, par3, par4 - 1); - int i1 = par1World.getBlockId(par2, par3, par4 + 1); - int j1 = par1World.getBlockId(par2 - 1, par3, par4); - int k1 = par1World.getBlockId(par2 + 1, par3, par4); + if (!par1World.isRemote) { + Block l = par1World.getBlock(par2, par3, par4 - 1); + Block i1 = par1World.getBlock(par2, par3, par4 + 1); + Block j1 = par1World.getBlock(par2 - 1, par3, par4); + Block k1 = par1World.getBlock(par2 + 1, par3, par4); byte b0 = 3; - if(Block.opaqueCubeLookup[l] && !Block.opaqueCubeLookup[i1]) { + if (l.isOpaqueCube() && !i1.isOpaqueCube()) { b0 = 3; } - if(Block.opaqueCubeLookup[i1] && !Block.opaqueCubeLookup[l]) { + if (i1.isOpaqueCube() && !l.isOpaqueCube()) { b0 = 2; } - if(Block.opaqueCubeLookup[j1] && !Block.opaqueCubeLookup[k1]) { + if (j1.isOpaqueCube() && !k1.isOpaqueCube()) { b0 = 5; } - if(Block.opaqueCubeLookup[k1] && !Block.opaqueCubeLookup[j1]) { + if (k1.isOpaqueCube() && !j1.isOpaqueCube()) { b0 = 4; } @@ -101,8 +102,8 @@ private void setDefaultDirection(World par1World, int par2, int par3, int par4) * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata */ @Override - public Icon getIcon(int par1, int par2) { - if(par2 == 0) + public IIcon getIcon(int par1, int par2) { + if (par2 == 0) par2 = 3; return par1 == 1 ? this.field_94458_cO : (par1 == 0 ? this.field_94458_cO : (par1 != par2 ? this.blockIcon : this.field_94459_cP)); @@ -110,14 +111,14 @@ public Icon getIcon(int par1, int par2) { @SideOnly(Side.CLIENT) /** - * When this method is called, your block should register all the icons it needs with the given IconRegister. This + * When this method is called, your block should register all the icons it needs with the given IIconRegister. This * is the only chance you get to register icons. */ @Override - public void registerIcons(IconRegister par1IconRegister) { - this.blockIcon = par1IconRegister.registerIcon("Atum:FurnaceTop"); - this.field_94459_cP = par1IconRegister.registerIcon(this.isActive ? "Atum:FurnaceBurning" : "Atum:FurnaceFront"); - this.field_94458_cO = par1IconRegister.registerIcon("Atum:FurnaceTop"); + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("Atum:FurnaceTop"); + this.field_94459_cP = par1IIconRegister.registerIcon(this.isActive ? "Atum:FurnaceBurning" : "Atum:FurnaceFront"); + this.field_94458_cO = par1IIconRegister.registerIcon("Atum:FurnaceTop"); } /** @@ -125,12 +126,12 @@ public void registerIcons(IconRegister par1IconRegister) { */ @Override public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { - if(par1World.isRemote) { + if (par1World.isRemote) { return true; } else { - TileEntityLimestoneFurnace TileEntityLimestoneFurnace = (TileEntityLimestoneFurnace) par1World.getBlockTileEntity(par2, par3, par4); + TileEntityLimestoneFurnace TileEntityLimestoneFurnace = (TileEntityLimestoneFurnace) par1World.getTileEntity(par2, par3, par4); - if(TileEntityLimestoneFurnace != null) { + if (TileEntityLimestoneFurnace != null) { // par5EntityPlayer.displayGUIFurnace(TileEntityLimestoneFurnace); par5EntityPlayer.openGui(Atum.instance, 0, par1World, par2, par3, par4); } @@ -140,25 +141,26 @@ public boolean onBlockActivated(World par1World, int par2, int par3, int par4, E } /** - * Update which block ID the furnace is using depending on whether or not it is burning + * Update which block ID the furnace is using depending on whether or not it + * is burning */ public static void updateFurnaceBlockState(boolean par0, World par1World, int par2, int par3, int par4) { int l = par1World.getBlockMetadata(par2, par3, par4); - TileEntity tileentity = par1World.getBlockTileEntity(par2, par3, par4); + TileEntity tileentity = par1World.getTileEntity(par2, par3, par4); keepFurnaceInventory = true; - if(par0) { - par1World.setBlock(par2, par3, par4, AtumBlocks.BLOCK_FURNACEBURNING.blockID); + if (par0) { + par1World.setBlock(par2, par3, par4, AtumBlocks.BLOCK_FURNACEBURNING); } else { - par1World.setBlock(par2, par3, par4, AtumBlocks.BLOCK_FURNACEIDLE.blockID); + par1World.setBlock(par2, par3, par4, AtumBlocks.BLOCK_FURNACEIDLE); } keepFurnaceInventory = false; par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); - if(tileentity != null) { + if (tileentity != null) { tileentity.validate(); - par1World.setBlockTileEntity(par2, par3, par4, tileentity); + par1World.setTileEntity(par2, par3, par4, tileentity); } } @@ -168,7 +170,7 @@ public static void updateFurnaceBlockState(boolean par0, World par1World, int pa */ @Override public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if(this.isActive) { + if (this.isActive) { int l = par1World.getBlockMetadata(par2, par3, par4); float f = (float) par2 + 0.5F; float f1 = (float) par3 + 0.0F + par5Random.nextFloat() * 6.0F / 16.0F; @@ -176,30 +178,22 @@ public void randomDisplayTick(World par1World, int par2, int par3, int par4, Ran float f3 = 0.52F; float f4 = par5Random.nextFloat() * 0.6F - 0.3F; - if(l == 4) { + if (l == 4) { par1World.spawnParticle("smoke", (double) (f - f3), (double) f1, (double) (f2 + f4), 0.0D, 0.0D, 0.0D); par1World.spawnParticle("flame", (double) (f - f3), (double) f1, (double) (f2 + f4), 0.0D, 0.0D, 0.0D); - } else if(l == 5) { + } else if (l == 5) { par1World.spawnParticle("smoke", (double) (f + f3), (double) f1, (double) (f2 + f4), 0.0D, 0.0D, 0.0D); par1World.spawnParticle("flame", (double) (f + f3), (double) f1, (double) (f2 + f4), 0.0D, 0.0D, 0.0D); - } else if(l == 2) { + } else if (l == 2) { par1World.spawnParticle("smoke", (double) (f + f4), (double) f1, (double) (f2 - f3), 0.0D, 0.0D, 0.0D); par1World.spawnParticle("flame", (double) (f + f4), (double) f1, (double) (f2 - f3), 0.0D, 0.0D, 0.0D); - } else if(l == 3) { + } else if (l == 3) { par1World.spawnParticle("smoke", (double) (f + f4), (double) f1, (double) (f2 + f3), 0.0D, 0.0D, 0.0D); par1World.spawnParticle("flame", (double) (f + f4), (double) f1, (double) (f2 + f3), 0.0D, 0.0D, 0.0D); } } } - /** - * Returns a new instance of a block's tile entity class. Called on placing the block. - */ - @Override - public TileEntity createNewTileEntity(World par1World) { - return new TileEntityLimestoneFurnace(); - } - /** * Called when the block is placed in the world. */ @@ -207,55 +201,56 @@ public TileEntity createNewTileEntity(World par1World) { public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLivingBase par5EntityLiving, ItemStack par6ItemStack) { int l = MathHelper.floor_double((double) (par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; - if(l == 0) { + if (l == 0) { par1World.setBlockMetadataWithNotify(par2, par3, par4, 2, 2); } - if(l == 1) { + if (l == 1) { par1World.setBlockMetadataWithNotify(par2, par3, par4, 5, 2); } - if(l == 2) { + if (l == 2) { par1World.setBlockMetadataWithNotify(par2, par3, par4, 3, 2); } - if(l == 3) { + if (l == 3) { par1World.setBlockMetadataWithNotify(par2, par3, par4, 4, 2); } - if(par6ItemStack.hasDisplayName()) { - ((TileEntityLimestoneFurnace) par1World.getBlockTileEntity(par2, par3, par4)).setGuiDisplayName(par6ItemStack.getDisplayName()); + if (par6ItemStack.hasDisplayName()) { + ((TileEntityLimestoneFurnace) par1World.getTileEntity(par2, par3, par4)).func_94129_a(par6ItemStack.getDisplayName()); } } /** - * ejects contained items into the world, and notifies neighbours of an update, as appropriate + * ejects contained items into the world, and notifies neighbours of an + * update, as appropriate */ @Override - public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) { - if(!keepFurnaceInventory) { - TileEntityLimestoneFurnace TileEntityLimestoneFurnace = (TileEntityLimestoneFurnace) par1World.getBlockTileEntity(par2, par3, par4); + public void breakBlock(World par1World, int par2, int par3, int par4, Block par5, int par6) { + if (!keepFurnaceInventory) { + TileEntityLimestoneFurnace TileEntityLimestoneFurnace = (TileEntityLimestoneFurnace) par1World.getTileEntity(par2, par3, par4); - if(TileEntityLimestoneFurnace != null) { - for(int j1 = 0; j1 < TileEntityLimestoneFurnace.getSizeInventory(); ++j1) { + if (TileEntityLimestoneFurnace != null) { + for (int j1 = 0; j1 < TileEntityLimestoneFurnace.getSizeInventory(); ++j1) { ItemStack itemstack = TileEntityLimestoneFurnace.getStackInSlot(j1); - if(itemstack != null) { + if (itemstack != null) { float f = this.furnaceRand.nextFloat() * 0.8F + 0.1F; float f1 = this.furnaceRand.nextFloat() * 0.8F + 0.1F; float f2 = this.furnaceRand.nextFloat() * 0.8F + 0.1F; - while(itemstack.stackSize > 0) { + while (itemstack.stackSize > 0) { int k1 = this.furnaceRand.nextInt(21) + 10; - if(k1 > itemstack.stackSize) { + if (k1 > itemstack.stackSize) { k1 = itemstack.stackSize; } itemstack.stackSize -= k1; - EntityItem entityitem = new EntityItem(par1World, (double) ((float) par2 + f), (double) ((float) par3 + f1), (double) ((float) par4 + f2), new ItemStack(itemstack.itemID, k1, itemstack.getItemDamage())); + EntityItem entityitem = new EntityItem(par1World, (double) ((float) par2 + f), (double) ((float) par3 + f1), (double) ((float) par4 + f2), new ItemStack(itemstack.getItem(), k1, itemstack.getItemDamage())); - if(itemstack.hasTagCompound()) { + if (itemstack.hasTagCompound()) { entityitem.getEntityItem().setTagCompound((NBTTagCompound) itemstack.getTagCompound().copy()); } @@ -268,7 +263,7 @@ public void breakBlock(World par1World, int par2, int par3, int par4, int par5, } } - par1World.func_96440_m(par2, par3, par4, par5); + par1World.func_147453_f(par2, par3, par4, par5); } } @@ -276,7 +271,9 @@ public void breakBlock(World par1World, int par2, int par3, int par4, int par5, } /** - * If this returns true, then comparators facing away from this block will use the value from getComparatorInputOverride instead of the actual redstone signal strength. + * If this returns true, then comparators facing away from this block will + * use the value from getComparatorInputOverride instead of the actual + * redstone signal strength. */ @Override public boolean hasComparatorInputOverride() { @@ -284,10 +281,17 @@ public boolean hasComparatorInputOverride() { } /** - * If hasComparatorInputOverride returns true, the return value from this is used instead of the redstone signal strength when this block inputs to a comparator. + * If hasComparatorInputOverride returns true, the return value from this is + * used instead of the redstone signal strength when this block inputs to a + * comparator. */ @Override public int getComparatorInputOverride(World par1World, int par2, int par3, int par4, int par5) { - return Container.calcRedstoneFromInventory((IInventory) par1World.getBlockTileEntity(par2, par3, par4)); + return Container.calcRedstoneFromInventory((IInventory) par1World.getTileEntity(par2, par3, par4)); + } + + @Override + public TileEntity createNewTileEntity(World var1, int var2) { + return new TileEntityLimestoneFurnace(); } } diff --git a/src/com/teammetallurgy/atum/blocks/BlockPalmLog.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmLog.java similarity index 51% rename from src/com/teammetallurgy/atum/blocks/BlockPalmLog.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockPalmLog.java index 75449ae..52827ac 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockPalmLog.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmLog.java @@ -4,24 +4,24 @@ import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.init.Blocks; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class BlockPalmLog extends Block { - @SideOnly(Side.CLIENT) - private Icon tree_top; - private Icon tree_side; - protected BlockPalmLog(int par1) { - super(par1, Material.wood); - this.setUnlocalizedName("palmLog"); + private IIcon tree_top; + private IIcon tree_side; + + protected BlockPalmLog() { + super(Material.wood); + this.setBlockName("palmLog"); this.setHardness(2.0F); - this.setStepSound(Block.soundWoodFootstep); - setBurnProperties(super.blockID, 5, 5); + this.setStepSound(Block.soundTypeWood); } @Override @@ -35,16 +35,16 @@ public int quantityDropped(Random par1Random) { } @Override - public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) { + public void breakBlock(World par1World, int par2, int par3, int par4, Block par5, int par6) { byte b0 = 4; int j1 = b0 + 1; - if(par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1)) { - for(int k1 = -b0; k1 <= b0; ++k1) { - for(int l1 = -b0; l1 <= b0; ++l1) { - for(int i2 = -b0; i2 <= b0; ++i2) { - int j2 = par1World.getBlockId(par2 + k1, par3 + l1, par4 + i2); - if(Block.blocksList[j2] != null) { - Block.blocksList[j2].beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2); + if (par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1)) { + for (int k1 = -b0; k1 <= b0; ++k1) { + for (int l1 = -b0; l1 <= b0; ++l1) { + for (int i2 = -b0; i2 <= b0; ++i2) { + Block j2 = par1World.getBlock(par2 + k1, par3 + l1, par4 + i2); + if (j2 != null) { + j2.beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2); } } } @@ -57,7 +57,7 @@ public void breakBlock(World par1World, int par2, int par3, int par4, int par5, public int onBlockPlaced(World par1World, int par2, int par3, int par4, int par5, float par6, float par7, float par8, int par9) { int j1 = par9 & 3; byte b0 = 0; - switch(par5) { + switch (par5) { case 0: case 1: b0 = 0; @@ -76,7 +76,7 @@ public int onBlockPlaced(World par1World, int par2, int par3, int par4, int par5 @Override @SideOnly(Side.CLIENT) - public Icon getIcon(int par1, int par2) { + public IIcon getIcon(int par1, int par2) { int k = par2 & 12; int l = par2 & 3; return k == 0 && (par1 == 1 || par1 == 0) ? this.tree_top : (k == 4 && (par1 == 5 || par1 == 4) ? this.tree_top : (k == 8 && (par1 == 2 || par1 == 3) ? this.tree_top : this.tree_side)); @@ -84,18 +84,18 @@ public Icon getIcon(int par1, int par2) { @Override @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - this.tree_top = par1IconRegister.registerIcon("atum:tree_top"); - this.tree_side = par1IconRegister.registerIcon("atum:tree_side"); + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.tree_top = par1IIconRegister.registerIcon("atum:tree_top"); + this.tree_side = par1IIconRegister.registerIcon("atum:tree_side"); } @Override - public boolean canSustainLeaves(World world, int x, int y, int z) { + public boolean canSustainLeaves(IBlockAccess world, int x, int y, int z) { return true; } @Override - public boolean isWood(World world, int x, int y, int z) { + public boolean isWood(IBlockAccess world, int x, int y, int z) { return true; } diff --git a/src/com/teammetallurgy/atum/blocks/BlockPalmSapling.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmSapling.java similarity index 56% rename from src/com/teammetallurgy/atum/blocks/BlockPalmSapling.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockPalmSapling.java index bb1e87d..e7be6e3 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockPalmSapling.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmSapling.java @@ -4,23 +4,24 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockFlower; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.init.Blocks; import net.minecraft.world.World; public class BlockPalmSapling extends BlockFlower { - protected BlockPalmSapling(int par1) { - super(par1); - this.setUnlocalizedName("palmSapling"); + protected BlockPalmSapling() { + super(0); + this.setBlockName("palmSapling"); float f = 0.4F; this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, f * 2.0F, 0.5F + f); } @Override public void updateTick(World world, int x, int y, int z, Random rand) { - if(!world.isRemote) { + if (!world.isRemote) { super.updateTick(world, x, y, z, rand); - if(world.getBlockLightValue(x, y + 1, z) > 9 && rand.nextInt(20) == 0) { + if (world.getBlockLightValue(x, y + 1, z) > 9 && rand.nextInt(20) == 0) { this.growTree(world, x, y, z, rand); } } @@ -31,62 +32,62 @@ public void growTree(World world, int x, int y, int z, Random rand) { int height = rand.nextInt(4) + 5; int i; - for(i = 0; i < height; ++i) { - world.setBlock(x, y + i, z, AtumBlocks.BLOCK_LOG.blockID, 0, 2); + for (i = 0; i < height; ++i) { + world.setBlock(x, y + i, z, AtumBlocks.BLOCK_LOG, 0, 2); } - world.setBlock(x, y + height, z, AtumBlocks.BLOCK_LEAVES.blockID, 0, 2); + world.setBlock(x, y + height, z, AtumBlocks.BLOCK_LEAVES, 0, 2); - for(i = -1; i < 2; ++i) { - for(int j = -1; j < 2; ++j) { - if(i != 0 || j != 0) { - world.setBlock(x + i, y + height - 1, z + j, AtumBlocks.BLOCK_LEAVES.blockID, 0, 2); + for (i = -1; i < 2; ++i) { + for (int j = -1; j < 2; ++j) { + if (i != 0 || j != 0) { + world.setBlock(x + i, y + height - 1, z + j, AtumBlocks.BLOCK_LEAVES, 0, 2); } } } - world.setBlock(x + 2, y + height - 1, z, AtumBlocks.BLOCK_LEAVES.blockID, 0, 2); - world.setBlock(x + 2, y + height - 2, z, AtumBlocks.BLOCK_LEAVES.blockID, 0, 2); - world.setBlock(x + 3, y + height - 2, z, AtumBlocks.BLOCK_LEAVES.blockID, 0, 2); - if(rand.nextInt(100) < 15) { - world.setBlock(x + 1, y + height - 2, z, AtumBlocks.BLOCK_DATEBLOCK.blockID, 0, 2); + world.setBlock(x + 2, y + height - 1, z, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x + 2, y + height - 2, z, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x + 3, y + height - 2, z, AtumBlocks.BLOCK_LEAVES, 0, 2); + if (rand.nextInt(100) < 15) { + world.setBlock(x + 1, y + height - 2, z, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); } - world.setBlock(x - 2, y + height - 1, z, AtumBlocks.BLOCK_LEAVES.blockID, 0, 2); - world.setBlock(x - 2, y + height - 2, z, AtumBlocks.BLOCK_LEAVES.blockID, 0, 2); - world.setBlock(x - 3, y + height - 2, z, AtumBlocks.BLOCK_LEAVES.blockID, 0, 2); - if(rand.nextInt(100) < 15) { - world.setBlock(x - 1, y + height - 2, z, AtumBlocks.BLOCK_DATEBLOCK.blockID, 0, 2); + world.setBlock(x - 2, y + height - 1, z, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x - 2, y + height - 2, z, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x - 3, y + height - 2, z, AtumBlocks.BLOCK_LEAVES, 0, 2); + if (rand.nextInt(100) < 15) { + world.setBlock(x - 1, y + height - 2, z, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); } - world.setBlock(x, y + height - 1, z + 2, AtumBlocks.BLOCK_LEAVES.blockID, 0, 2); - world.setBlock(x, y + height - 2, z + 2, AtumBlocks.BLOCK_LEAVES.blockID, 0, 2); - world.setBlock(x, y + height - 2, z + 3, AtumBlocks.BLOCK_LEAVES.blockID, 0, 2); - if(rand.nextInt(100) < 15) { - world.setBlock(x, y + height - 2, z + 1, AtumBlocks.BLOCK_DATEBLOCK.blockID, 0, 2); + world.setBlock(x, y + height - 1, z + 2, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x, y + height - 2, z + 2, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x, y + height - 2, z + 3, AtumBlocks.BLOCK_LEAVES, 0, 2); + if (rand.nextInt(100) < 15) { + world.setBlock(x, y + height - 2, z + 1, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); } - world.setBlock(x, y + height - 1, z - 2, AtumBlocks.BLOCK_LEAVES.blockID, 0, 2); - world.setBlock(x, y + height - 2, z - 2, AtumBlocks.BLOCK_LEAVES.blockID, 0, 2); - world.setBlock(x, y + height - 2, z - 3, AtumBlocks.BLOCK_LEAVES.blockID, 0, 2); - if(rand.nextInt(100) < 15) { - world.setBlock(x, y + height - 2, z - 1, AtumBlocks.BLOCK_DATEBLOCK.blockID, 0, 2); + world.setBlock(x, y + height - 1, z - 2, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x, y + height - 2, z - 2, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x, y + height - 2, z - 3, AtumBlocks.BLOCK_LEAVES, 0, 2); + if (rand.nextInt(100) < 15) { + world.setBlock(x, y + height - 2, z - 1, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); } } @Override - protected boolean canThisPlantGrowOnThisBlockID(int id) { - return id == AtumBlocks.BLOCK_SAND.blockID || id == Block.grass.blockID || id == Block.dirt.blockID; + protected boolean canPlaceBlockOn(Block id) { + return id == AtumBlocks.BLOCK_SAND || id == Blocks.grass || id == Blocks.dirt; } @Override public boolean canBlockStay(World world, int x, int y, int z) { - return world.getBlockId(x, y - 1, z) == AtumBlocks.BLOCK_SAND.blockID || world.getBlockId(x, y - 1, z) == Block.grass.blockID || world.getBlockId(x, y - 1, z) == Block.dirt.blockID; + return world.getBlock(x, y - 1, z) == AtumBlocks.BLOCK_SAND || world.getBlock(x, y - 1, z) == Blocks.grass || world.getBlock(x, y - 1, z) == Blocks.dirt; } @Override - public void registerIcons(IconRegister par1IconRegister) { - this.blockIcon = par1IconRegister.registerIcon("atum:AtumPalmSapling"); + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("atum:AtumPalmSapling"); } } diff --git a/src/com/teammetallurgy/atum/blocks/BlockPapyrus.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPapyrus.java similarity index 56% rename from src/com/teammetallurgy/atum/blocks/BlockPapyrus.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockPapyrus.java index 34f0901..009711e 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockPapyrus.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPapyrus.java @@ -4,15 +4,17 @@ import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.Icon; +import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.EnumPlantType; -import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.IPlantable; +import net.minecraftforge.common.util.ForgeDirection; import com.teammetallurgy.atum.items.AtumItems; @@ -21,15 +23,15 @@ import cpw.mods.fml.relauncher.SideOnly; public class BlockPapyrus extends Block implements IPlantable { - Icon iconPapyrus; - Icon iconPapyrusTop; + IIcon iconPapyrus; + IIcon iconPapyrusTop; public int renderID = RenderingRegistry.getNextAvailableRenderId(); - public BlockPapyrus(int par1) { - super(par1, Material.plants); - this.setUnlocalizedName("papyrus"); + public BlockPapyrus() { + super(Material.plants); + this.setBlockName("papyrus"); this.setHardness(0.0F); - this.setStepSound(Block.soundGrassFootstep); + this.setStepSound(Block.soundTypeGrass); float f = 0.375F; this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 1.0F, 0.5F + f); this.setTickRandomly(true); @@ -37,7 +39,7 @@ public BlockPapyrus(int par1) { @Override public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { - if(par5EntityPlayer.capabilities.isCreativeMode) { + if (par5EntityPlayer.capabilities.isCreativeMode) { this.updateTick(par1World, par2, par3, par4, new Random()); } @@ -46,28 +48,28 @@ public boolean onBlockActivated(World par1World, int par2, int par3, int par4, E @Override public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if((double) par5Random.nextFloat() <= 0.75D) { - if(par1World.isAirBlock(par2, par3 + 1, par4)) { + if ((double) par5Random.nextFloat() <= 0.75D) { + if (par1World.isAirBlock(par2, par3 + 1, par4)) { int l; - for(l = 1; par1World.getBlockId(par2, par3 - l, par4) == super.blockID; ++l) { + for (l = 1; par1World.getBlock(par2, par3 - l, par4) == this; ++l) { ; } - if(l < 5) { + if (l < 5) { int i1 = par1World.getBlockMetadata(par2, par3, par4); byte reqHeight = 0; - if(l == 1) { + if (l == 1) { reqHeight = 2; - } else if(l == 2) { + } else if (l == 2) { reqHeight = 4; - } else if(l == 3) { + } else if (l == 3) { reqHeight = 8; - } else if(l == 4) { + } else if (l == 4) { reqHeight = 15; } - if(i1 >= reqHeight) { - par1World.setBlock(par2, par3 + 1, par4, super.blockID); + if (i1 >= reqHeight) { + par1World.setBlock(par2, par3 + 1, par4, this); par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 4); } else { par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 + 1, 4); @@ -79,30 +81,30 @@ public void updateTick(World par1World, int par2, int par3, int par4, Random par } @Override - public Icon getIcon(int par1, int par2) { + public IIcon getIcon(int par1, int par2) { return this.iconPapyrus; } @Override @SideOnly(Side.CLIENT) - public Icon getBlockTexture(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { - boolean top = par1IBlockAccess.getBlockId(par2, par3 + 1, par4) != super.blockID; + public IIcon getIcon(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + boolean top = par1IBlockAccess.getBlock(par2, par3 + 1, par4) != this; return top ? this.iconPapyrusTop : this.iconPapyrus; } @Override public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4) { - Block block = Block.blocksList[par1World.getBlockId(par2, par3 - 1, par4)]; + Block block = par1World.getBlock(par2, par3 - 1, par4); return block != null && block.canSustainPlant(par1World, par2, par3 - 1, par4, ForgeDirection.UP, this); } @Override - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) { + public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, Block par5) { this.checkBlockCoordValid(par1World, par2, par3, par4); } protected final void checkBlockCoordValid(World par1World, int par2, int par3, int par4) { - if(!this.canBlockStay(par1World, par2, par3, par4)) { + if (!this.canBlockStay(par1World, par2, par3, par4)) { this.dropBlockAsItem(par1World, par2, par3, par4, par1World.getBlockMetadata(par2, par3, par4), 0); par1World.setBlockToAir(par2, par3, par4); } @@ -115,16 +117,15 @@ public boolean canBlockStay(World par1World, int par2, int par3, int par4) { } @Override - public boolean canSustainPlant(World world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { - int plantID = plant.getPlantID(world, x, y + 1, z); + public boolean canSustainPlant(IBlockAccess world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); - if(plantID == this.blockID) { + if (plant.getPlant(world, x, y + 1, z) == this) { return true; - } else if(plantType != EnumPlantType.Beach) { + } else if (plantType != EnumPlantType.Beach) { return false; } else { - boolean isBeach = super.blockID == Block.grass.blockID || super.blockID == Block.dirt.blockID || super.blockID == Block.sand.blockID; - boolean hasWater = world.getBlockMaterial(x - 1, y, z) == Material.water || world.getBlockMaterial(x + 1, y, z) == Material.water || world.getBlockMaterial(x, y, z - 1) == Material.water || world.getBlockMaterial(x, y, z + 1) == Material.water; + boolean isBeach = this == Blocks.dirt || this == Blocks.sand; + boolean hasWater = world.getBlock(x - 1, y, z).getMaterial() == Material.water || world.getBlock(x + 1, y, z).getMaterial() == Material.water || world.getBlock(x, y, z - 1).getMaterial() == Material.water || world.getBlock(x, y, z + 1).getMaterial() == Material.water; return isBeach && hasWater; } } @@ -134,11 +135,6 @@ public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, return null; } - @Override - public int idDropped(int par1, Random par2Random, int par3) { - return AtumItems.papyrusPlant.itemID; - } - @Override public boolean isOpaqueCube() { return false; @@ -155,30 +151,29 @@ public int getRenderType() { } @Override - @SideOnly(Side.CLIENT) - public int idPicked(World par1World, int par2, int par3, int par4) { - return AtumItems.papyrusPlant.itemID; + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return AtumItems.papyrusPlant; } @Override - public EnumPlantType getPlantType(World world, int x, int y, int z) { - return EnumPlantType.Beach; + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.iconPapyrus = par1IIconRegister.registerIcon("atum:AtumPapyrus"); + this.iconPapyrusTop = par1IIconRegister.registerIcon("atum:AtumPapyrusTop"); } @Override - public int getPlantID(World world, int x, int y, int z) { - return this.blockID; + public Block getPlant(IBlockAccess arg0, int arg1, int arg2, int arg3) { + return this; } @Override - public int getPlantMetadata(World world, int x, int y, int z) { + public int getPlantMetadata(IBlockAccess world, int x, int y, int z) { return world.getBlockMetadata(x, y, z); } @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - this.iconPapyrus = par1IconRegister.registerIcon("atum:AtumPapyrus"); - this.iconPapyrusTop = par1IconRegister.registerIcon("atum:AtumPapyrusTop"); + public EnumPlantType getPlantType(IBlockAccess arg0, int arg1, int arg2, int arg3) { + return EnumPlantType.Beach; } } \ No newline at end of file diff --git a/src/com/teammetallurgy/atum/blocks/BlockPharaohChest.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java similarity index 62% rename from src/com/teammetallurgy/atum/blocks/BlockPharaohChest.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java index e01b79a..f02c6ad 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockPharaohChest.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java @@ -6,19 +6,21 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.passive.EntityOcelot; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -import net.minecraftforge.common.ForgeDirection; +import net.minecraftforge.common.util.ForgeDirection; import com.teammetallurgy.atum.AtumLoot; import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityPharaohChest; @@ -28,15 +30,15 @@ public class BlockPharaohChest extends BlockContainer { - protected BlockPharaohChest(int par1) { - super(par1, Material.wood); - this.setUnlocalizedName("pharaohChest"); + protected BlockPharaohChest() { + super(Material.wood); + this.setBlockName("pharaohChest"); this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); } @Override - public int idDropped(int par1, Random par2Random, int par3) { - return Block.chest.blockID; + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return Item.getItemFromBlock(Blocks.chest); } @Override @@ -60,33 +62,33 @@ public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, @Override public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLivingBase par5EntityLiving, ItemStack par6ItemStack) { - int l = par1World.getBlockId(par2, par3, par4 - 1); - int i1 = par1World.getBlockId(par2, par3, par4 + 1); - int j1 = par1World.getBlockId(par2 - 1, par3, par4); - int k1 = par1World.getBlockId(par2 + 1, par3, par4); + Block l = par1World.getBlock(par2, par3, par4 - 1); + Block i1 = par1World.getBlock(par2, par3, par4 + 1); + Block j1 = par1World.getBlock(par2 - 1, par3, par4); + Block k1 = par1World.getBlock(par2 + 1, par3, par4); byte b0 = 0; int l1 = MathHelper.floor_double((double) (par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; - if(l1 == 0) { + if (l1 == 0) { b0 = 2; } - if(l1 == 1) { + if (l1 == 1) { b0 = 5; } - if(l1 == 2) { + if (l1 == 2) { b0 = 3; } - if(l1 == 3) { + if (l1 == 3) { b0 = 4; } - if(l != super.blockID && i1 != super.blockID && j1 != super.blockID && k1 != super.blockID) { + if (l != this && i1 != this && j1 != this && k1 != this) { par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); } else { - if((l == super.blockID || i1 == super.blockID) && (b0 == 4 || b0 == 5)) { - if(l == super.blockID) { + if ((l == this || i1 == this) && (b0 == 4 || b0 == 5)) { + if (l == this) { par1World.setBlockMetadataWithNotify(par2, par3, par4 - 1, b0, 3); } else { par1World.setBlockMetadataWithNotify(par2, par3, par4 + 1, b0, 3); @@ -95,8 +97,8 @@ public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, Entit par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); } - if((j1 == super.blockID || k1 == super.blockID) && (b0 == 2 || b0 == 3)) { - if(j1 == super.blockID) { + if ((j1 == this || k1 == this) && (b0 == 2 || b0 == 3)) { + if (j1 == this) { par1World.setBlockMetadataWithNotify(par2 - 1, par3, par4, b0, 3); } else { par1World.setBlockMetadataWithNotify(par2 + 1, par3, par4, b0, 3); @@ -106,38 +108,38 @@ public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, Entit } } - if(par6ItemStack.hasDisplayName()) { - ((TileEntityPharaohChest) par1World.getBlockTileEntity(par2, par3, par4)).func_94043_a(par6ItemStack.getDisplayName()); + if (par6ItemStack.hasDisplayName()) { + ((TileEntityPharaohChest) par1World.getTileEntity(par2, par3, par4)).func_94043_a(par6ItemStack.getDisplayName()); } - AtumLoot.fillChest((TileEntityPharaohChest) par1World.getBlockTileEntity(par2, par3, par4), 15, 0.9F); + AtumLoot.fillChest((TileEntityPharaohChest) par1World.getTileEntity(par2, par3, par4), 15, 0.9F); } @Override - public void breakBlock(World par1World, int par2, int par3, int par4, int par5, int par6) { - TileEntityPharaohChest TileEntityPharaohChest = (TileEntityPharaohChest) par1World.getBlockTileEntity(par2, par3, par4); - if(TileEntityPharaohChest != null) { - par1World.func_96440_m(par2, par3, par4, par5); + public void breakBlock(World world, int x, int y, int z, Block block, int p_149749_6_) { + TileEntityPharaohChest tileEntityPharaohChest = (TileEntityPharaohChest) world.getTileEntity(x, y, z); + if (tileEntityPharaohChest != null) { + world.func_147453_f(x, y, z, block); } - super.breakBlock(par1World, par2, par3, par4, par5, par6); + super.breakBlock(world, x, y, z, block, p_149749_6_); } @Override public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { - TileEntity te = par1World.getBlockTileEntity(par2, par3, par4); - if(te instanceof TileEntityPharaohChest) { + TileEntity te = par1World.getTileEntity(par2, par3, par4); + if (te instanceof TileEntityPharaohChest) { TileEntityPharaohChest iinventory = (TileEntityPharaohChest) te; - if(!iinventory.hasSpawned()) { + if (!iinventory.hasSpawned()) { iinventory.spawn(par5EntityPlayer); } } - if(par1World.isRemote) { + if (par1World.isRemote) { return true; } else { IInventory iinventory1 = this.getInventory(par1World, par2, par3, par4); - if(iinventory1 != null) { + if (iinventory1 != null) { par5EntityPlayer.displayGUIChest(iinventory1); } @@ -146,22 +148,16 @@ public boolean onBlockActivated(World par1World, int par2, int par3, int par4, E } public IInventory getInventory(World par1World, int par2, int par3, int par4) { - TileEntityPharaohChest object = (TileEntityPharaohChest) par1World.getBlockTileEntity(par2, par3, par4); - return object == null ? null : (par1World.isBlockSolidOnSide(par2, par3 + 1, par4, ForgeDirection.DOWN) ? null : (isOcelotBlockingChest(par1World, par2, par3, par4) ? null : (IInventory) object)); - } - - @Override - public TileEntity createNewTileEntity(World par1World) { - TileEntityPharaohChest tileEntityPharaoh = new TileEntityPharaohChest(); - return tileEntityPharaoh; + TileEntityPharaohChest object = (TileEntityPharaohChest) par1World.getTileEntity(par2, par3, par4); + return object == null ? null : (par1World.isSideSolid(par2, par3 + 1, par4, ForgeDirection.DOWN) ? null : (isOcelotBlockingChest(par1World, par2, par3, par4) ? null : (IInventory) object)); } @Override public int isProvidingWeakPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { - if(!this.canProvidePower()) { + if (!this.canProvidePower()) { return 0; } else { - int i1 = ((TileEntityPharaohChest) par1IBlockAccess.getBlockTileEntity(par2, par3, par4)).numUsingPlayers; + int i1 = ((TileEntityPharaohChest) par1IBlockAccess.getTileEntity(par2, par3, par4)).numPlayersUsing; return MathHelper.clamp_int(i1, 0, 15); } } @@ -174,9 +170,9 @@ public int isProvidingStrongPower(IBlockAccess par1IBlockAccess, int par2, int p public static boolean isOcelotBlockingChest(World par0World, int par1, int par2, int par3) { Iterator iterator = par0World.getEntitiesWithinAABB(EntityOcelot.class, AxisAlignedBB.getAABBPool().getAABB((double) par1, (double) (par2 + 1), (double) par3, (double) (par1 + 1), (double) (par2 + 2), (double) (par3 + 1))).iterator(); - while(iterator.hasNext()) { + while (iterator.hasNext()) { EntityOcelot entityocelot1 = (EntityOcelot) iterator.next(); - if(entityocelot1.isSitting()) { + if (entityocelot1.isSitting()) { return true; } } @@ -196,7 +192,12 @@ public int getComparatorInputOverride(World par1World, int par2, int par3, int p @Override @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - this.blockIcon = par1IconRegister.registerIcon("wood"); + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("wood"); + } + + @Override + public TileEntity createNewTileEntity(World var1, int var2) { + return new TileEntityPharaohChest(); } } diff --git a/src/com/teammetallurgy/atum/blocks/BlockPortal.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java similarity index 63% rename from src/com/teammetallurgy/atum/blocks/BlockPortal.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java index 8a640c5..4f023bf 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockPortal.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java @@ -8,6 +8,8 @@ import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; import net.minecraft.server.MinecraftServer; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.IBlockAccess; @@ -24,17 +26,17 @@ public class BlockPortal extends BlockBreakable { - public BlockPortal(int par1) { - super(par1, "atum:portal", Material.portal, true); + public BlockPortal() { + super("atum:portal", Material.portal, true); this.setTickRandomly(true); this.setHardness(-1.0F); - this.setUnlocalizedName("portal"); + this.setBlockName("portal"); } @Override public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { super.updateTick(par1World, par2, par3, par4, par5Random); - if(par1World.provider.isSurfaceWorld() && par5Random.nextInt(2000) < par1World.difficultySetting) { + if (par1World.provider.isSurfaceWorld() && par5Random.nextInt(2000) < par1World.difficultySetting.getDifficultyId()) { ; } @@ -50,11 +52,11 @@ public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, } @Override - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) { - for(int x = -1; x < 2; x++) { - for(int z = -1; z < 2; z++) { - for(int y = -1; y < 1; y++) { - if(par1World.getBlockId(par2 + x, par3 + y, par4 + z) != Block.sandStone.blockID && par1World.getBlockId(par2 + x, par3 + y, par4 + z) != this.blockID && par1World.getBlockId(par2 + x, par3 + y, par4 + z) != AtumBlocks.BLOCK_LARGEBRICK.blockID) { + public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, Block par5) { + for (int x = -1; x < 2; x++) { + for (int z = -1; z < 2; z++) { + for (int y = -1; y < 1; y++) { + if (par1World.getBlock(par2 + x, par3 + y, par4 + z) != Blocks.sandstone && par1World.getBlock(par2 + x, par3 + y, par4 + z) != this && par1World.getBlock(par2 + x, par3 + y, par4 + z) != AtumBlocks.BLOCK_LARGEBRICK) { par1World.setBlockToAir(par2, par3, par4); } } @@ -68,39 +70,39 @@ public boolean isOpaqueCube() { } public boolean tryToCreatePortal(World par1World, int x, int y, int z, Block block) { - for(int x1 = -2; x1 < 3; x1++) { - for(int z1 = -2; z1 < 3; z1++) { - int id = par1World.getBlockId(x + x1, y, z + z1); - if(id != block.blockID) { + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + Block blocks = par1World.getBlock(x + x1, y, z + z1); + if (blocks != block) { return false; } } } - for(int x1 = -2; x1 < 3; x1++) { - for(int z1 = -2; z1 < 3; z1++) { - if(x1 + x == x + 2 || z1 + z == z + 2 || x1 + x == x - 2 || z1 + z == z - 2) { - int id = par1World.getBlockId(x + x1, y + 1, z + z1); - if(id != block.blockID) { + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + if (x1 + x == x + 2 || z1 + z == z + 2 || x1 + x == x - 2 || z1 + z == z - 2) { + Block blocks = par1World.getBlock(x + x1, y + 1, z + z1); + if (blocks != block) { return false; } } } } - for(int y1 = 2; y1 < 4; y1++) { - for(int x1 = -2; x1 < 3; x1++) { - for(int z1 = -2; z1 < 3; z1++) { - if((x1 + x == x + 2 && z1 + z == z + 2) || (x1 + x == x - 2 && z1 + z == z + 2) || (x1 + x == x + 2 && z1 + z == z - 2) || (x1 + x == x - 2 && z1 + z == z - 2)) { - int id = par1World.getBlockId(x + x1, y + y1, z + z1); - if(id != block.blockID) { + for (int y1 = 2; y1 < 4; y1++) { + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + if ((x1 + x == x + 2 && z1 + z == z + 2) || (x1 + x == x - 2 && z1 + z == z + 2) || (x1 + x == x + 2 && z1 + z == z - 2) || (x1 + x == x - 2 && z1 + z == z - 2)) { + Block blocks = par1World.getBlock(x + x1, y + y1, z + z1); + if (blocks != block) { return false; } } } } } - for(int x1 = -1; x1 < 2; x1++) { - for(int z1 = -1; z1 < 2; z1++) { - par1World.setBlock(x + x1, y + 1, z + z1, AtumBlocks.BLOCK_PORTAL.blockID, 0, 2); + for (int x1 = -1; x1 < 2; x1++) { + for (int z1 = -1; z1 < 2; z1++) { + par1World.setBlock(x + x1, y + 1, z + z1, AtumBlocks.BLOCK_PORTAL, 0, 2); } } return true; @@ -113,18 +115,18 @@ public int quantityDropped(Random par1Random) { @Override public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int par4, Entity par5Entity) { - if(par5Entity.ridingEntity == null && par5Entity.riddenByEntity == null && par5Entity instanceof EntityPlayerMP) { + if (par5Entity.ridingEntity == null && par5Entity.riddenByEntity == null && par5Entity instanceof EntityPlayerMP) { EntityPlayerMP player = (EntityPlayerMP) par5Entity; - if(par5Entity.timeUntilPortal == 0 && par5Entity instanceof EntityPlayerMP) { + if (par5Entity.timeUntilPortal == 0 && par5Entity instanceof EntityPlayerMP) { par5Entity.timeUntilPortal = 100; MinecraftServer minecraftserver = MinecraftServer.getServer(); int dimID = par5Entity.dimension; WorldServer worldserver = minecraftserver.worldServerForDimension(0); WorldServer worldserver1 = minecraftserver.worldServerForDimension(AtumIDS.DIMENSION_ID); - if(dimID == AtumIDS.DIMENSION_ID) { + if (dimID == AtumIDS.DIMENSION_ID) { minecraftserver.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP) par5Entity, 0, new AtumTeleporter(worldserver)); - if(par1World.isRemote) { - Minecraft.getMinecraft().gameSettings.renderDistance = ClientTickHandler.defaultFog; + if (par1World.isRemote) { + Minecraft.getMinecraft().gameSettings.renderDistanceChunks = ClientTickHandler.defaultFog; } } else { minecraftserver.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP) par5Entity, AtumIDS.DIMENSION_ID, new AtumTeleporter(worldserver1)); @@ -132,10 +134,10 @@ public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int p try { EntityPlayerMP e = (EntityPlayerMP) player; - ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[]{"lastExperience", "cp", "field_71144_ck"}); - ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[]{"lastHealth", "cm", "field_71149_ch"}); - ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[]{"lastFoodLevel", "cn", "field_71146_ci"}); - } catch(Exception var12) { + ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[] { "lastExperience", "cp", "field_71144_ck" }); + ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[] { "lastHealth", "cm", "field_71149_ch" }); + ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[] { "lastFoodLevel", "cn", "field_71146_ci" }); + } catch (Exception var12) { var12.printStackTrace(); } } @@ -146,11 +148,11 @@ public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int p @Override @SideOnly(Side.CLIENT) public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if(par5Random.nextInt(100) == 0) { + if (par5Random.nextInt(100) == 0) { par1World.playSound((double) par2 + 0.5D, (double) par3 + 0.5D, (double) par4 + 0.5D, "portal.portal", 0.5F, par5Random.nextFloat() * 0.4F + 0.8F, false); } - for(int l = 0; l < 8; ++l) { + for (int l = 0; l < 8; ++l) { double d0 = (double) ((float) par2 + par5Random.nextFloat()); double d1 = (double) ((float) par3 + par5Random.nextFloat()); double d2 = (double) ((float) par4 + par5Random.nextFloat()); @@ -161,7 +163,7 @@ public void randomDisplayTick(World par1World, int par2, int par3, int par4, Ran d3 = ((double) par5Random.nextFloat() - 0.5D) * 0.5D; d4 = ((double) par5Random.nextFloat() - 0.5D) * 0.5D; d5 = ((double) par5Random.nextFloat() - 0.5D) * 0.5D; - if(par5Random.nextDouble() > 0.5D) { + if (par5Random.nextDouble() > 0.5D) { d0 = (double) par2 + 0.5D + 0.25D * (double) i1; d3 = (double) (par5Random.nextFloat() * 2.0F * (float) i1); } else { @@ -175,9 +177,8 @@ public void randomDisplayTick(World par1World, int par2, int par3, int par4, Ran } @Override - @SideOnly(Side.CLIENT) - public int idPicked(World par1World, int par2, int par3, int par4) { - return 0; + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return null; } } diff --git a/src/com/teammetallurgy/atum/blocks/BlockSandLayered.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockSandLayered.java similarity index 73% rename from src/com/teammetallurgy/atum/blocks/BlockSandLayered.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockSandLayered.java index af22640..f7f3d25 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockSandLayered.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockSandLayered.java @@ -4,8 +4,9 @@ import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.EnumSkyBlock; import net.minecraft.world.IBlockAccess; @@ -15,17 +16,17 @@ public class BlockSandLayered extends Block { - public BlockSandLayered(int par1) { - super(par1, Material.sand); - this.setUnlocalizedName("sandLayer"); + public BlockSandLayered() { + super(Material.sand); + this.setBlockName("sandLayer"); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.125F, 1.0F); this.setTickRandomly(true); this.func_96478_d(0); } @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - this.blockIcon = par1IconRegister.registerIcon("atum:AtumSand"); + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("atum:AtumSand"); } @Override @@ -61,18 +62,17 @@ protected void func_96478_d(int par1) { @Override public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4) { - int l = par1World.getBlockId(par2, par3 - 1, par4); - Block block = Block.blocksList[l]; - return block == null ? false : (block.blockID == this.blockID ? true : (block == this && (par1World.getBlockMetadata(par2, par3 - 1, par4) & 7) == 7 ? true : (!block.isLeaves(par1World, par2, par3 - 1, par4) && !Block.blocksList[l].isOpaqueCube() ? false : par1World.getBlockMaterial(par2, par3 - 1, par4).blocksMovement()))); + Block block = par1World.getBlock(par2, par3 - 1, par4); + return block == null ? false : (block == this ? true : (block == this && (par1World.getBlockMetadata(par2, par3 - 1, par4) & 7) == 7 ? true : (!block.isLeaves(par1World, par2, par3 - 1, par4) && !block.isOpaqueCube() ? false : par1World.getBlock(par2, par3 - 1, par4).getMaterial().blocksMovement()))); } @Override - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) { + public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, Block par5) { this.canSnowStay(par1World, par2, par3, par4); } private boolean canSnowStay(World par1World, int par2, int par3, int par4) { - if(!this.canPlaceBlockAt(par1World, par2, par3, par4)) { + if (!this.canPlaceBlockAt(par1World, par2, par3, par4)) { par1World.setBlockToAir(par2, par3, par4); return false; } else { @@ -87,8 +87,8 @@ public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par } @Override - public int idDropped(int par1, Random par2Random, int par3) { - return 0; + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return null; } @Override @@ -98,7 +98,7 @@ public int quantityDropped(Random par1Random) { @Override public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if(par1World.getSavedLightValue(EnumSkyBlock.Block, par2, par3, par4) > 11) { + if (par1World.getSavedLightValue(EnumSkyBlock.Block, par2, par3, par4) > 11) { par1World.setBlockToAir(par2, par3, par4); } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockSands.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockSands.java new file mode 100644 index 0000000..b9fdb83 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockSands.java @@ -0,0 +1,22 @@ +package com.teammetallurgy.atum.blocks; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockSand; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; + +public class BlockSands extends Block { + + public BlockSands() { + super(Material.sand); + this.setBlockName("sand"); + this.setStepSound(Block.soundTypeSand); + this.setHardness(0.5F); + } + + @Override + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("atum:AtumSand"); + } + +} diff --git a/src/com/teammetallurgy/atum/blocks/BlockShrub.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockShrub.java similarity index 52% rename from src/com/teammetallurgy/atum/blocks/BlockShrub.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockShrub.java index 3af7a6a..afa4549 100644 --- a/src/com/teammetallurgy/atum/blocks/BlockShrub.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockShrub.java @@ -4,38 +4,36 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockDeadBush; -import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.stats.StatList; import net.minecraft.world.World; -import com.teammetallurgy.atum.Atum; - public class BlockShrub extends BlockDeadBush { - protected BlockShrub(int par1) { - super(par1); + protected BlockShrub() { + super(); this.setHardness(0.0F); - this.setStepSound(Block.soundGrassFootstep); + this.setStepSound(Block.soundTypeGrass); } - + @Override - public boolean canThisPlantGrowOnThisBlockID(int par1) { - return par1 == AtumBlocks.BLOCK_SAND.blockID; + public boolean canPlaceBlockOn(Block par1) { + return par1 == AtumBlocks.BLOCK_SAND; } @Override - public int idDropped(int par1, Random par2Random, int par3) { - return -1; + public Item getItemDropped(int par1, Random par2Random, int par3) { + return null; } @Override public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6) { - if(!par1World.isRemote && par2EntityPlayer.getCurrentEquippedItem() != null && par2EntityPlayer.getCurrentEquippedItem().itemID == Item.shears.itemID) { - par2EntityPlayer.addStat(StatList.mineBlockStatArray[super.blockID], 1); - this.dropBlockAsItem_do(par1World, par3, par4, par5, new ItemStack(AtumBlocks.BLOCK_SHRUB, 1, par6)); + if(!par1World.isRemote && par2EntityPlayer.getCurrentEquippedItem() != null && par2EntityPlayer.getCurrentEquippedItem().getItem() == Items.shears) { + //par2EntityPlayer.addStat(StatList.mineBlockStatArray[this], 1); + this.dropBlockAsItem(par1World, par3, par4, par5, new ItemStack(AtumBlocks.BLOCK_SHRUB, 1, par6)); } else { super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6); } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockStones.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockStones.java new file mode 100644 index 0000000..b1c77f1 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockStones.java @@ -0,0 +1,29 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockStone; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.Item; + +public class BlockStones extends BlockStone { + + public BlockStones() { + super(); + this.setBlockName("stone"); + this.setStepSound(Block.soundTypeSand); + this.setHardness(0.5F); + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return Item.getItemFromBlock(AtumBlocks.BLOCK_LIMESTONECOBBLE); + } + + @Override + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("atum:AtumStone"); + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockWalls.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockWalls.java new file mode 100644 index 0000000..42221c1 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockWalls.java @@ -0,0 +1,53 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.List; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockWall; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +import com.teammetallurgy.atum.Atum; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockWalls extends BlockWall { + @SideOnly(Side.CLIENT) + private IIcon[] icon; + + public BlockWalls(Block par2Block) { + super(par2Block); + this.setBlockName("walls"); + this.setCreativeTab(Atum.creativeTab); + } + + @Override + public IIcon getIcon(int side, int meta) { + return this.icon[meta]; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister IIconRegister) { + this.icon = new IIcon[4]; + this.icon[0] = IIconRegister.registerIcon("atum:AtumStone"); + this.icon[1] = IIconRegister.registerIcon("atum:AtumCobble"); + this.icon[2] = IIconRegister.registerIcon("atum:AtumBrickLarge"); + this.icon[3] = IIconRegister.registerIcon("atum:AtumBrickSmall"); + } + + @Override + public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List) { + par3List.add(new ItemStack(par1, 1, 0)); + par3List.add(new ItemStack(par1, 1, 1)); + par3List.add(new ItemStack(par1, 1, 2)); + par3List.add(new ItemStack(par1, 1, 3)); + } + +} diff --git a/src/com/teammetallurgy/atum/blocks/ItemBlockSlab.java b/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockSlab.java similarity index 70% rename from src/com/teammetallurgy/atum/blocks/ItemBlockSlab.java rename to src/main/java/com/teammetallurgy/atum/blocks/ItemBlockSlab.java index b3da481..5336648 100644 --- a/src/com/teammetallurgy/atum/blocks/ItemBlockSlab.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockSlab.java @@ -5,10 +5,12 @@ import net.minecraft.item.ItemStack; public class ItemBlockSlab extends ItemBlock { - public static final String[] types = {"smooth", "cracked", "largeBrick", "smallBrick"}; - public ItemBlockSlab(int par1) { - super(par1); + public static final String[] types = { "smooth", "cracked", "largeBrick", "smallBrick" }; + + public ItemBlockSlab(Block block) { + super(block); } + @Override public String getUnlocalizedName(ItemStack par1ItemStack) { return "tile." + types[par1ItemStack.getItemDamage()] + "Slab"; diff --git a/src/com/teammetallurgy/atum/blocks/ItemBlockWall.java b/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockWall.java similarity index 70% rename from src/com/teammetallurgy/atum/blocks/ItemBlockWall.java rename to src/main/java/com/teammetallurgy/atum/blocks/ItemBlockWall.java index 23e2307..19bcf11 100644 --- a/src/com/teammetallurgy/atum/blocks/ItemBlockWall.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockWall.java @@ -5,10 +5,10 @@ import net.minecraft.item.ItemStack; public class ItemBlockWall extends ItemBlock { - public static final String[] types = {"smooth", "cracked", "largeBrick", "smallBrick"}; + public static final String[] types = { "smooth", "cracked", "largeBrick", "smallBrick" }; - public ItemBlockWall(int par1) { - super(par1); + public ItemBlockWall(Block block) { + super(block); } @Override diff --git a/src/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java similarity index 100% rename from src/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java rename to src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java diff --git a/src/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java similarity index 70% rename from src/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java rename to src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java index 5e8ae9d..16794a9 100644 --- a/src/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java @@ -8,12 +8,11 @@ import net.minecraft.entity.EntityList; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.EntityLivingData; +import net.minecraft.entity.IEntityLivingData; import net.minecraft.nbt.NBTBase; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.MobSpawnerBaseLogic; -import net.minecraft.tileentity.WeightedRandomMinecart; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.WeightedRandom; import net.minecraft.world.World; @@ -23,7 +22,7 @@ public abstract class CursedChestBaseLogic extends MobSpawnerBaseLogic { /** The delay to spawn. */ public int spawnDelay = 20; - private String mobID = "Pig"; + private String entityTypeName = "Pig"; /** List of minecart to spawn. */ private List minecartToSpawn; @@ -49,74 +48,71 @@ public abstract class CursedChestBaseLogic extends MobSpawnerBaseLogic { */ @Override public String getEntityNameToSpawn() { - if(this.getRandomMinecart() == null) { - if(this.mobID.equals("Minecart")) { - this.mobID = "MinecartRideable"; + if (this.getRandomEntity() == null) { + if (this.entityTypeName.equals("Minecart")) { + this.entityTypeName = "MinecartRideable"; } - return this.mobID; + return this.entityTypeName; } else { - return this.getRandomMinecart().minecartName; + return this.getRandomEntity().entityTypeName; } } @Override - public void setMobID(String par1Str) { - this.mobID = par1Str; + public void setEntityName(String par1Str) { + this.entityTypeName = par1Str; } - /** - * Returns true if there's a player close enough to this mob spawner to activate it. - */ @Override - public boolean canRun() { + public boolean isActivated() { return this.getSpawnerWorld().getClosestPlayer((double) this.getSpawnerX() + 0.5D, (double) this.getSpawnerY() + 0.5D, (double) this.getSpawnerZ() + 0.5D, (double) this.activatingRangeFromPlayer) != null; } @Override public void updateSpawner() { - if(this.canRun()) { + if (this.isActivated()) { double d0; - if(this.getSpawnerWorld().isRemote) { + if (this.getSpawnerWorld().isRemote) { double d1 = (double) ((float) this.getSpawnerX() + this.getSpawnerWorld().rand.nextFloat()); double d2 = (double) ((float) this.getSpawnerY() + this.getSpawnerWorld().rand.nextFloat()); d0 = (double) ((float) this.getSpawnerZ() + this.getSpawnerWorld().rand.nextFloat()); this.getSpawnerWorld().spawnParticle("smoke", d1, d2, d0, 0.0D, 0.0D, 0.0D); this.getSpawnerWorld().spawnParticle("flame", d1, d2, d0, 0.0D, 0.0D, 0.0D); - if(this.spawnDelay > 0) { + if (this.spawnDelay > 0) { --this.spawnDelay; } this.field_98284_d = this.field_98287_c; this.field_98287_c = (this.field_98287_c + (double) (1000.0F / ((float) this.spawnDelay + 200.0F))) % 360.0D; } else { - if(this.spawnDelay == -1) { + if (this.spawnDelay == -1) { this.func_98273_j(); } - if(this.spawnDelay > 0) { + if (this.spawnDelay > 0) { --this.spawnDelay; return; } boolean flag = false; - for(int i = 0; i < this.spawnCount; ++i) { - if(this.getSpawnerWorld().difficultySetting == 0){ + for (int i = 0; i < this.spawnCount; ++i) { + if (this.getSpawnerWorld().difficultySetting.getDifficultyId() == 0) { return; } - + Entity entity = EntityList.createEntityByName(this.getEntityNameToSpawn(), this.getSpawnerWorld()); - if(entity == null) { + if (entity == null) { return; } int j = this.getSpawnerWorld().getEntitiesWithinAABB(entity.getClass(), AxisAlignedBB.getAABBPool().getAABB((double) this.getSpawnerX(), (double) this.getSpawnerY(), (double) this.getSpawnerZ(), (double) (this.getSpawnerX() + 1), (double) (this.getSpawnerY() + 1), (double) (this.getSpawnerZ() + 1)).expand((double) (this.spawnRange * 2), 4.0D, (double) (this.spawnRange * 2))).size(); - if(j >= this.maxNearbyEntities) { + if (j >= this.maxNearbyEntities) { this.func_98273_j(); return; } @@ -127,11 +123,11 @@ public void updateSpawner() { EntityLiving entityliving = entity instanceof EntityLiving ? (EntityLiving) entity : null; entity.setLocationAndAngles(d0, d3, d4, this.getSpawnerWorld().rand.nextFloat() * 360.0F, 0.0F); - if(entityliving == null || entityliving.getCanSpawnHere()) { + if (entityliving == null || entityliving.getCanSpawnHere()) { this.func_98265_a(entity); this.getSpawnerWorld().playAuxSFX(2004, this.getSpawnerX(), this.getSpawnerY(), this.getSpawnerZ(), 0); - if(entityliving != null) { + if (entityliving != null) { entityliving.spawnExplosionParticle(); } @@ -139,7 +135,7 @@ public void updateSpawner() { } } - if(flag) { + if (flag) { this.func_98273_j(); } } @@ -148,42 +144,42 @@ public void updateSpawner() { @Override public Entity func_98265_a(Entity par1Entity) { - if(this.getRandomMinecart() != null) { + if (this.getRandomEntity() != null) { NBTTagCompound nbttagcompound = new NBTTagCompound(); par1Entity.writeToNBTOptional(nbttagcompound); - Iterator iterator = this.getRandomMinecart().field_98222_b.getTags().iterator(); + Iterator iterator = this.getRandomEntity().field_98222_b.func_150296_c().iterator(); - while(iterator.hasNext()) { + while (iterator.hasNext()) { NBTBase nbtbase = (NBTBase) iterator.next(); - nbttagcompound.setTag(nbtbase.getName(), nbtbase.copy()); + nbttagcompound.setTag(nbtbase.toString(), nbtbase.copy()); } par1Entity.readFromNBT(nbttagcompound); - if(par1Entity.worldObj != null) { + if (par1Entity.worldObj != null) { par1Entity.worldObj.spawnEntityInWorld(par1Entity); } NBTTagCompound nbttagcompound1; - for(Entity entity1 = par1Entity; nbttagcompound.hasKey("Riding"); nbttagcompound = nbttagcompound1) { + for (Entity entity1 = par1Entity; nbttagcompound.hasKey("Riding"); nbttagcompound = nbttagcompound1) { nbttagcompound1 = nbttagcompound.getCompoundTag("Riding"); Entity entity2 = EntityList.createEntityByName(nbttagcompound1.getString("id"), par1Entity.worldObj); - if(entity2 != null) { + if (entity2 != null) { NBTTagCompound nbttagcompound2 = new NBTTagCompound(); entity2.writeToNBTOptional(nbttagcompound2); - Iterator iterator1 = nbttagcompound1.getTags().iterator(); + Iterator iterator1 = nbttagcompound1.func_150296_c().iterator(); - while(iterator1.hasNext()) { + while (iterator1.hasNext()) { NBTBase nbtbase1 = (NBTBase) iterator1.next(); - nbttagcompound2.setTag(nbtbase1.getName(), nbtbase1.copy()); + nbttagcompound2.setTag(nbtbase1.toString(), nbtbase1.copy()); } entity2.readFromNBT(nbttagcompound2); entity2.setLocationAndAngles(entity1.posX, entity1.posY, entity1.posZ, entity1.rotationYaw, entity1.rotationPitch); - if(par1Entity.worldObj != null) { + if (par1Entity.worldObj != null) { par1Entity.worldObj.spawnEntityInWorld(entity2); } @@ -192,8 +188,8 @@ public Entity func_98265_a(Entity par1Entity) { entity1 = entity2; } - } else if(par1Entity instanceof EntityLivingBase && par1Entity.worldObj != null) { - ((EntityLiving) par1Entity).onSpawnWithEgg((EntityLivingData) null); + } else if (par1Entity instanceof EntityLivingBase && par1Entity.worldObj != null) { + ((EntityLiving) par1Entity).onSpawnWithEgg((IEntityLivingData) null); this.getSpawnerWorld().spawnEntityInWorld(par1Entity); } @@ -201,15 +197,15 @@ public Entity func_98265_a(Entity par1Entity) { } private void func_98273_j() { - if(this.maxSpawnDelay <= this.minSpawnDelay) { + if (this.maxSpawnDelay <= this.minSpawnDelay) { this.spawnDelay = this.minSpawnDelay; } else { int i = this.maxSpawnDelay - this.minSpawnDelay; this.spawnDelay = this.minSpawnDelay + this.getSpawnerWorld().rand.nextInt(i); } - if(this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { - this.setRandomMinecart((WeightedRandomMinecart) WeightedRandom.getRandomItem(this.getSpawnerWorld().rand, this.minecartToSpawn)); + if (this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { + this.setRandomEntity((WeightedRandomMinecart) WeightedRandom.getRandomItem(this.getSpawnerWorld().rand, this.minecartToSpawn)); } this.func_98267_a(1); @@ -217,42 +213,42 @@ private void func_98273_j() { @Override public void readFromNBT(NBTTagCompound par1NBTTagCompound) { - this.mobID = par1NBTTagCompound.getString("EntityId"); + this.entityTypeName = par1NBTTagCompound.getString("EntityId"); this.spawnDelay = par1NBTTagCompound.getShort("Delay"); - if(par1NBTTagCompound.hasKey("SpawnPotentials")) { + if (par1NBTTagCompound.hasKey("SpawnPotentials")) { this.minecartToSpawn = new ArrayList(); - NBTTagList nbttaglist = par1NBTTagCompound.getTagList("SpawnPotentials"); + NBTTagList nbttaglist = par1NBTTagCompound.getTagList("SpawnPotentials", 0); - for(int i = 0; i < nbttaglist.tagCount(); ++i) { - this.minecartToSpawn.add(new WeightedRandomMinecart(this, (NBTTagCompound) nbttaglist.tagAt(i))); + for (int i = 0; i < nbttaglist.tagCount(); ++i) { + this.minecartToSpawn.add(new WeightedRandomMinecart((NBTTagCompound) nbttaglist.getCompoundTagAt(i))); } } else { this.minecartToSpawn = null; } - if(par1NBTTagCompound.hasKey("SpawnData")) { - this.setRandomMinecart(new WeightedRandomMinecart(this, par1NBTTagCompound.getCompoundTag("SpawnData"), this.mobID)); + if (par1NBTTagCompound.hasKey("SpawnData")) { + this.setRandomEntity(new WeightedRandomMinecart(par1NBTTagCompound.getCompoundTag("SpawnData"), this.entityTypeName)); } else { - this.setRandomMinecart((WeightedRandomMinecart) null); + this.setRandomEntity((WeightedRandomMinecart) null); } - if(par1NBTTagCompound.hasKey("MinSpawnDelay")) { + if (par1NBTTagCompound.hasKey("MinSpawnDelay")) { this.minSpawnDelay = par1NBTTagCompound.getShort("MinSpawnDelay"); this.maxSpawnDelay = par1NBTTagCompound.getShort("MaxSpawnDelay"); this.spawnCount = par1NBTTagCompound.getShort("SpawnCount"); } - if(par1NBTTagCompound.hasKey("MaxNearbyEntities")) { + if (par1NBTTagCompound.hasKey("MaxNearbyEntities")) { this.maxNearbyEntities = par1NBTTagCompound.getShort("MaxNearbyEntities"); this.activatingRangeFromPlayer = par1NBTTagCompound.getShort("RequiredPlayerRange"); } - if(par1NBTTagCompound.hasKey("SpawnRange")) { + if (par1NBTTagCompound.hasKey("SpawnRange")) { this.spawnRange = par1NBTTagCompound.getShort("SpawnRange"); } - if(this.getSpawnerWorld() != null && this.getSpawnerWorld().isRemote) { + if (this.getSpawnerWorld() != null && this.getSpawnerWorld().isRemote) { this.field_98291_j = null; } } @@ -268,22 +264,22 @@ public void writeToNBT(NBTTagCompound par1NBTTagCompound) { par1NBTTagCompound.setShort("RequiredPlayerRange", (short) this.activatingRangeFromPlayer); par1NBTTagCompound.setShort("SpawnRange", (short) this.spawnRange); - if(this.getRandomMinecart() != null) { - par1NBTTagCompound.setCompoundTag("SpawnData", (NBTTagCompound) this.getRandomMinecart().field_98222_b.copy()); + if (this.getRandomEntity() != null) { + par1NBTTagCompound.setTag("SpawnData", (NBTTagCompound) this.getRandomEntity().field_98222_b.copy()); } - if(this.getRandomMinecart() != null || this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { + if (this.getRandomEntity() != null || this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { NBTTagList nbttaglist = new NBTTagList(); - if(this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { + if (this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { Iterator iterator = this.minecartToSpawn.iterator(); - while(iterator.hasNext()) { + while (iterator.hasNext()) { WeightedRandomMinecart weightedrandomminecart = (WeightedRandomMinecart) iterator.next(); nbttaglist.appendTag(weightedrandomminecart.func_98220_a()); } } else { - nbttaglist.appendTag(this.getRandomMinecart().func_98220_a()); + nbttaglist.appendTag(this.getRandomEntity().func_98220_a()); } par1NBTTagCompound.setTag("SpawnPotentials", nbttaglist); @@ -295,7 +291,7 @@ public void writeToNBT(NBTTagCompound par1NBTTagCompound) { */ @Override public boolean setDelayToMin(int par1) { - if(par1 == 1 && this.getSpawnerWorld().isRemote) { + if (par1 == 1 && this.getSpawnerWorld().isRemote) { this.spawnDelay = this.minSpawnDelay; return true; } else { @@ -306,7 +302,7 @@ public boolean setDelayToMin(int par1) { @Override @SideOnly(Side.CLIENT) public Entity func_98281_h() { - if(this.field_98291_j == null) { + if (this.field_98291_j == null) { Entity entity = EntityList.createEntityByName(this.getEntityNameToSpawn(), (World) null); entity = this.func_98265_a(entity); this.field_98291_j = entity; @@ -316,12 +312,12 @@ public Entity func_98281_h() { } @Override - public WeightedRandomMinecart getRandomMinecart() { + public WeightedRandomMinecart getRandomEntity() { return this.randomMinecart; } @Override - public void setRandomMinecart(WeightedRandomMinecart par1WeightedRandomMinecart) { + public void setRandomEntity(WeightedRandomMinecart par1WeightedRandomMinecart) { this.randomMinecart = par1WeightedRandomMinecart; } diff --git a/src/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestSpawnerLogic.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestSpawnerLogic.java similarity index 63% rename from src/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestSpawnerLogic.java rename to src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestSpawnerLogic.java index 5c81799..9836711 100644 --- a/src/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestSpawnerLogic.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestSpawnerLogic.java @@ -1,7 +1,6 @@ package com.teammetallurgy.atum.blocks.tileentity.chests; -import net.minecraft.block.Block; -import net.minecraft.tileentity.WeightedRandomMinecart; +import net.minecraft.init.Blocks; import net.minecraft.world.World; class CursedChestSpawnerLogic extends CursedChestBaseLogic { @@ -14,12 +13,12 @@ class CursedChestSpawnerLogic extends CursedChestBaseLogic { @Override public void func_98267_a(int par1) { - this.field_98295_a.worldObj.addBlockEvent(this.field_98295_a.xCoord, this.field_98295_a.yCoord, this.field_98295_a.zCoord, Block.mobSpawner.blockID, par1, 0); + this.field_98295_a.getWorldObj().addBlockEvent(this.field_98295_a.xCoord, this.field_98295_a.yCoord, this.field_98295_a.zCoord, Blocks.mob_spawner, par1, 0); } @Override public World getSpawnerWorld() { - return this.field_98295_a.worldObj; + return this.field_98295_a.getWorldObj(); } @Override @@ -38,11 +37,10 @@ public int getSpawnerZ() { } @Override - public void setRandomMinecart(WeightedRandomMinecart par1WeightedRandomMinecart) { - super.setRandomMinecart(par1WeightedRandomMinecart); - if(this.getSpawnerWorld() != null) { + public void setRandomEntity(WeightedRandomMinecart par1WeightedRandomMinecart) { + super.setRandomEntity(par1WeightedRandomMinecart); + if (this.getSpawnerWorld() != null) { this.getSpawnerWorld().markBlockForUpdate(this.field_98295_a.xCoord, this.field_98295_a.yCoord, this.field_98295_a.zCoord); } - } } diff --git a/src/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java similarity index 63% rename from src/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java rename to src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java index 645bf21..a58e95b 100644 --- a/src/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java @@ -15,6 +15,7 @@ import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntityChest; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; public class TileEntityChestSpawner extends TileEntityChest implements IInventory { @@ -29,39 +30,39 @@ public class TileEntityChestSpawner extends TileEntityChest implements IInventor public TileEntityChestSpawner() { int entityID = (int) (Math.random() * 6.0D); - if(entityID == 0) { - this.chestSpawner.setMobID("AtumMummy"); + if (entityID == 0) { + this.chestSpawner.setEntityName("AtumMummy"); } - if(entityID == 1) { - this.chestSpawner.setMobID("AtumBanditWarrior"); + if (entityID == 1) { + this.chestSpawner.setEntityName("AtumBanditWarrior"); } - if(entityID == 2) { - this.chestSpawner.setMobID("AtumBanditArcher"); + if (entityID == 2) { + this.chestSpawner.setEntityName("AtumBanditArcher"); } - if(entityID == 3) { - this.chestSpawner.setMobID("AtumDustySkeleton"); + if (entityID == 3) { + this.chestSpawner.setEntityName("AtumDustySkeleton"); } - if(entityID == 4) { - this.chestSpawner.setMobID("AtumDesertGhost"); + if (entityID == 4) { + this.chestSpawner.setEntityName("AtumDesertGhost"); } - if(entityID == 5) { - this.chestSpawner.setMobID("AtumStoneSoldier"); + if (entityID == 5) { + this.chestSpawner.setEntityName("AtumStoneSoldier"); } - if(entityID == 6) { - this.chestSpawner.setMobID("AtumDesertWolf"); + if (entityID == 6) { + this.chestSpawner.setEntityName("AtumDesertWolf"); } this.chestSpawner.minSpawnDelay = 0; } public void setSpawnerEntity(String name) { - this.chestSpawner.setMobID(name); + this.chestSpawner.setEntityName(name); } public void setMaxEntities(int max) { @@ -89,20 +90,20 @@ public ItemStack getStackInSlot(int par1) { @Override public ItemStack decrStackSize(int par1, int par2) { - if(this.chestContents[par1] != null) { + if (this.chestContents[par1] != null) { ItemStack itemstack; - if(this.chestContents[par1].stackSize <= par2) { + if (this.chestContents[par1].stackSize <= par2) { itemstack = this.chestContents[par1]; this.chestContents[par1] = null; - this.onInventoryChanged(); + this.markDirty(); return itemstack; } else { itemstack = this.chestContents[par1].splitStack(par2); - if(this.chestContents[par1].stackSize == 0) { + if (this.chestContents[par1].stackSize == 0) { this.chestContents[par1] = null; } - this.onInventoryChanged(); + this.markDirty(); return itemstack; } } else { @@ -112,7 +113,7 @@ public ItemStack decrStackSize(int par1, int par2) { @Override public ItemStack getStackInSlotOnClosing(int par1) { - if(this.chestContents[par1] != null) { + if (this.chestContents[par1] != null) { ItemStack itemstack = this.chestContents[par1]; this.chestContents[par1] = null; return itemstack; @@ -124,41 +125,41 @@ public ItemStack getStackInSlotOnClosing(int par1) { @Override public void setInventorySlotContents(int par1, ItemStack par2ItemStack) { this.chestContents[par1] = par2ItemStack; - if(par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) { + if (par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) { par2ItemStack.stackSize = this.getInventoryStackLimit(); } - this.onInventoryChanged(); + this.markDirty(); } @Override - public String getInvName() { - return this.isInvNameLocalized() ? this.field_94045_s : "container.chest"; + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.field_94045_s : "container.chest"; } @Override - public boolean isInvNameLocalized() { + public boolean hasCustomInventoryName() { return this.field_94045_s != null && this.field_94045_s.length() > 0; } @Override - public void setChestGuiName(String par1Str) { - this.field_94045_s = par1Str; + public void func_145976_a(String p_145976_1_) { + this.field_94045_s = p_145976_1_; } @Override public void readFromNBT(NBTTagCompound par1NBTTagCompound) { super.readFromNBT(par1NBTTagCompound); - NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items"); + NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items", 0); this.chestContents = new ItemStack[this.getSizeInventory()]; - if(par1NBTTagCompound.hasKey("CustomName")) { + if (par1NBTTagCompound.hasKey("CustomName")) { this.field_94045_s = par1NBTTagCompound.getString("CustomName"); } - for(int i = 0; i < nbttaglist.tagCount(); ++i) { - NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.tagAt(i); + for (int i = 0; i < nbttaglist.tagCount(); ++i) { + NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.getCompoundTagAt(i); int j = nbttagcompound1.getByte("Slot") & 255; - if(j >= 0 && j < this.chestContents.length) { + if (j >= 0 && j < this.chestContents.length) { this.chestContents[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1); } } @@ -171,8 +172,8 @@ public void writeToNBT(NBTTagCompound par1NBTTagCompound) { super.writeToNBT(par1NBTTagCompound); NBTTagList nbttaglist = new NBTTagList(); - for(int i = 0; i < this.chestContents.length; ++i) { - if(this.chestContents[i] != null) { + for (int i = 0; i < this.chestContents.length; ++i) { + if (this.chestContents[i] != null) { NBTTagCompound nbttagcompound1 = new NBTTagCompound(); nbttagcompound1.setByte("Slot", (byte) i); this.chestContents[i].writeToNBT(nbttagcompound1); @@ -181,7 +182,7 @@ public void writeToNBT(NBTTagCompound par1NBTTagCompound) { } par1NBTTagCompound.setTag("Items", nbttaglist); - if(this.isInvNameLocalized()) { + if (this.hasCustomInventoryName()) { par1NBTTagCompound.setString("CustomName", this.field_94045_s); } @@ -198,20 +199,20 @@ public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { double d0 = 4.0D; double d1 = 3.0D; List list = super.worldObj.getEntitiesWithinAABB(EntityMob.class, AxisAlignedBB.getAABBPool().getAABB((double) super.xCoord - d0, (double) super.yCoord - d1, (double) super.zCoord - d0, (double) super.xCoord + d0, (double) super.yCoord + d1, (double) super.zCoord + d0)); - if(!list.isEmpty()) { - if(!super.worldObj.isRemote) { - par1EntityPlayer.addChatMessage("There are too many enemies nearby to search this chest"); + if (!list.isEmpty()) { + if (!super.worldObj.isRemote) { + par1EntityPlayer.addChatMessage(new ChatComponentText("There are too many enemies nearby to search this chest")); } return false; } else { - return super.worldObj.getBlockTileEntity(super.xCoord, super.yCoord, super.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double) super.xCoord + 0.5D, (double) super.yCoord + 0.5D, (double) super.zCoord + 0.5D) <= 64.0D; + return super.worldObj.getTileEntity(super.xCoord, super.yCoord, super.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double) super.xCoord + 0.5D, (double) super.yCoord + 0.5D, (double) super.zCoord + 0.5D) <= 64.0D; } } private boolean func_94044_a(int par1, int par2, int par3) { - Block block = Block.blocksList[super.worldObj.getBlockId(par1, par2, par3)]; - return block != null && block instanceof BlockChest ? ((BlockChest) block).chestType == this.getChestType() : false; + Block block = super.worldObj.getBlock(par1, par2, par3); + return block != null && block instanceof BlockChest ? ((BlockChest) block).field_149956_a == this.func_145980_j() : false; } @Override @@ -220,18 +221,18 @@ public void updateEntity() { this.chestSpawner.updateSpawner(); ++this.ticksSinceSync; float f; - if(!super.worldObj.isRemote && super.numUsingPlayers != 0 && (this.ticksSinceSync + super.xCoord + super.yCoord + super.zCoord) % 200 == 0) { - super.numUsingPlayers = 0; + if (!super.worldObj.isRemote && super.numPlayersUsing != 0 && (this.ticksSinceSync + super.xCoord + super.yCoord + super.zCoord) % 200 == 0) { + super.numPlayersUsing = 0; f = 5.0F; List d0 = super.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getAABBPool().getAABB((double) ((float) super.xCoord - f), (double) ((float) super.yCoord - f), (double) ((float) super.zCoord - f), (double) ((float) (super.xCoord + 1) + f), (double) ((float) (super.yCoord + 1) + f), (double) ((float) (super.zCoord + 1) + f))); Iterator iterator = d0.iterator(); - while(iterator.hasNext()) { + while (iterator.hasNext()) { EntityPlayer f1 = (EntityPlayer) iterator.next(); - if(f1.openContainer instanceof ContainerChest) { + if (f1.openContainer instanceof ContainerChest) { IInventory f2 = ((ContainerChest) f1.openContainer).getLowerChestInventory(); - if(f2 == this || f2 instanceof InventoryLargeChest && ((InventoryLargeChest) f2).isPartOfLargeChest(this)) { - ++super.numUsingPlayers; + if (f2 == this || f2 instanceof InventoryLargeChest && ((InventoryLargeChest) f2).isPartOfLargeChest(this)) { + ++super.numPlayersUsing; } } } @@ -240,32 +241,32 @@ public void updateEntity() { super.prevLidAngle = super.lidAngle; f = 0.1F; double var8; - if(super.numUsingPlayers > 0 && super.lidAngle == 0.0F) { + if (super.numPlayersUsing > 0 && super.lidAngle == 0.0F) { double var9 = (double) super.xCoord + 0.5D; var8 = (double) super.zCoord + 0.5D; super.worldObj.playSoundEffect(var9, (double) super.yCoord + 0.5D, var8, "random.chestopen", 0.5F, super.worldObj.rand.nextFloat() * 0.1F + 0.9F); } - if(super.numUsingPlayers == 0 && super.lidAngle > 0.0F || super.numUsingPlayers > 0 && super.lidAngle < 1.0F) { + if (super.numPlayersUsing == 0 && super.lidAngle > 0.0F || super.numPlayersUsing > 0 && super.lidAngle < 1.0F) { float var10 = super.lidAngle; - if(super.numUsingPlayers > 0) { + if (super.numPlayersUsing > 0) { super.lidAngle += f; } else { super.lidAngle -= f; } - if(super.lidAngle > 1.0F) { + if (super.lidAngle > 1.0F) { super.lidAngle = 1.0F; } float var11 = 0.5F; - if(super.lidAngle < var11 && var10 >= var11) { + if (super.lidAngle < var11 && var10 >= var11) { var8 = (double) super.xCoord + 0.5D; double d2 = (double) super.zCoord + 0.5D; super.worldObj.playSoundEffect(var8, (double) super.yCoord + 0.5D, d2, "random.chestclosed", 0.5F, super.worldObj.rand.nextFloat() * 0.1F + 0.9F); } - if(super.lidAngle < 0.0F) { + if (super.lidAngle < 0.0F) { super.lidAngle = 0.0F; } } @@ -274,8 +275,8 @@ public void updateEntity() { @Override public boolean receiveClientEvent(int par1, int par2) { - if(par1 == 1) { - super.numUsingPlayers = par2; + if (par1 == 1) { + super.numPlayersUsing = par2; return true; } else { return super.receiveClientEvent(par1, par2); @@ -283,26 +284,25 @@ public boolean receiveClientEvent(int par1, int par2) { } @Override - public void openChest() { - if(super.numUsingPlayers < 0) { - super.numUsingPlayers = 0; + public void openInventory() { + if (super.numPlayersUsing < 0) { + super.numPlayersUsing = 0; } - ++super.numUsingPlayers; - super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID, 1, super.numUsingPlayers); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType().blockID); + ++super.numPlayersUsing; + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numPlayersUsing); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); } @Override - public void closeChest() { - if(this.getBlockType() != null && this.getBlockType() instanceof BlockChest) { - --super.numUsingPlayers; - super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID, 1, super.numUsingPlayers); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType().blockID); + public void closeInventory() { + if (this.getBlockType() != null && this.getBlockType() instanceof BlockChest) { + --super.numPlayersUsing; + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numPlayersUsing); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); } - } @Override @@ -312,13 +312,13 @@ public void invalidate() { } @Override - public int getChestType() { - if(this.field_94046_i == -1) { - if(super.worldObj == null || !(this.getBlockType() instanceof BlockChest)) { + public int func_145980_j() { + if (this.field_94046_i == -1) { + if (super.worldObj == null || !(this.getBlockType() instanceof BlockChest)) { return 0; } - this.field_94046_i = ((BlockChest) this.getBlockType()).chestType; + this.field_94046_i = ((BlockChest) this.getBlockType()).field_149956_a; } return this.field_94046_i; diff --git a/src/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java similarity index 71% rename from src/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java rename to src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java index b015ccc..6216c4c 100644 --- a/src/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java @@ -14,6 +14,8 @@ import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntityChest; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.IChatComponent; import com.teammetallurgy.atum.entity.EntityMummy; import com.teammetallurgy.atum.entity.EntityPharaoh; @@ -41,20 +43,20 @@ public ItemStack getStackInSlot(int par1) { } public ItemStack decrStackSize(int par1, int par2) { - if(this.chestContents[par1] != null) { + if (this.chestContents[par1] != null) { ItemStack itemstack; - if(this.chestContents[par1].stackSize <= par2) { + if (this.chestContents[par1].stackSize <= par2) { itemstack = this.chestContents[par1]; this.chestContents[par1] = null; - this.onInventoryChanged(); + this.markDirty(); return itemstack; } else { itemstack = this.chestContents[par1].splitStack(par2); - if(this.chestContents[par1].stackSize == 0) { + if (this.chestContents[par1].stackSize == 0) { this.chestContents[par1] = null; } - this.onInventoryChanged(); + this.markDirty(); return itemstack; } } else { @@ -63,7 +65,7 @@ public ItemStack decrStackSize(int par1, int par2) { } public ItemStack getStackInSlotOnClosing(int par1) { - if(this.chestContents[par1] != null) { + if (this.chestContents[par1] != null) { ItemStack itemstack = this.chestContents[par1]; this.chestContents[par1] = null; return itemstack; @@ -74,11 +76,11 @@ public ItemStack getStackInSlotOnClosing(int par1) { public void setInventorySlotContents(int par1, ItemStack par2ItemStack) { this.chestContents[par1] = par2ItemStack; - if(par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) { + if (par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) { par2ItemStack.stackSize = this.getInventoryStackLimit(); } - this.onInventoryChanged(); + this.markDirty(); } public String getInvName() { @@ -95,16 +97,16 @@ public void func_94043_a(String par1Str) { public void readFromNBT(NBTTagCompound par1NBTTagCompound) { super.readFromNBT(par1NBTTagCompound); - NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items"); + NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items", 0); this.chestContents = new ItemStack[this.getSizeInventory()]; - if(par1NBTTagCompound.hasKey("CustomName")) { + if (par1NBTTagCompound.hasKey("CustomName")) { this.field_94045_s = par1NBTTagCompound.getString("CustomName"); } - for(int i = 0; i < nbttaglist.tagCount(); ++i) { - NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.tagAt(i); + for (int i = 0; i < nbttaglist.tagCount(); ++i) { + NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.getCompoundTagAt(i); int j = nbttagcompound1.getByte("Slot") & 255; - if(j >= 0 && j < this.chestContents.length) { + if (j >= 0 && j < this.chestContents.length) { this.chestContents[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1); } } @@ -117,8 +119,8 @@ public void writeToNBT(NBTTagCompound par1NBTTagCompound) { super.writeToNBT(par1NBTTagCompound); NBTTagList nbttaglist = new NBTTagList(); - for(int i = 0; i < this.chestContents.length; ++i) { - if(this.chestContents[i] != null) { + for (int i = 0; i < this.chestContents.length; ++i) { + if (this.chestContents[i] != null) { NBTTagCompound nbttagcompound1 = new NBTTagCompound(); nbttagcompound1.setByte("Slot", (byte) i); this.chestContents[i].writeToNBT(nbttagcompound1); @@ -127,7 +129,7 @@ public void writeToNBT(NBTTagCompound par1NBTTagCompound) { } par1NBTTagCompound.setTag("Items", nbttaglist); - if(this.isInvNameLocalized()) { + if (this.isInvNameLocalized()) { par1NBTTagCompound.setString("CustomName", this.field_94045_s); } @@ -140,30 +142,30 @@ public int getInventoryStackLimit() { } public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { - return !this.isOpenable ? false : (this.isOpenable && super.worldObj.getBlockTileEntity(super.xCoord, super.yCoord, super.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double) super.xCoord + 0.5D, (double) super.yCoord + 0.5D, (double) super.zCoord + 0.5D) <= 64.0D); + return !this.isOpenable ? false : (this.isOpenable && super.worldObj.getTileEntity(super.xCoord, super.yCoord, super.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double) super.xCoord + 0.5D, (double) super.yCoord + 0.5D, (double) super.zCoord + 0.5D) <= 64.0D); } private boolean func_94044_a(int par1, int par2, int par3) { - Block block = Block.blocksList[super.worldObj.getBlockId(par1, par2, par3)]; - return block != null && block instanceof BlockChest ? ((BlockChest) block).chestType == this.func_98041_l() : false; + Block block = this.worldObj.getBlock(par1, par2, par3); + return block != null && block instanceof BlockChest ? ((BlockChest) block).field_149956_a == this.func_98041_l() : false; } public void updateEntity() { super.updateEntity(); ++this.ticksSinceSync; float f; - if(!super.worldObj.isRemote && super.numUsingPlayers != 0 && (this.ticksSinceSync + super.xCoord + super.yCoord + super.zCoord) % 200 == 0) { - super.numUsingPlayers = 0; + if (!super.worldObj.isRemote && super.numPlayersUsing != 0 && (this.ticksSinceSync + super.xCoord + super.yCoord + super.zCoord) % 200 == 0) { + super.numPlayersUsing = 0; f = 5.0F; List d0 = super.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getAABBPool().getAABB((double) ((float) super.xCoord - f), (double) ((float) super.yCoord - f), (double) ((float) super.zCoord - f), (double) ((float) (super.xCoord + 1) + f), (double) ((float) (super.yCoord + 1) + f), (double) ((float) (super.zCoord + 1) + f))); Iterator iterator = d0.iterator(); - while(iterator.hasNext()) { + while (iterator.hasNext()) { EntityPlayer f1 = (EntityPlayer) iterator.next(); - if(f1.openContainer instanceof ContainerChest) { + if (f1.openContainer instanceof ContainerChest) { IInventory f2 = ((ContainerChest) f1.openContainer).getLowerChestInventory(); - if(f2 == this || f2 instanceof InventoryLargeChest && ((InventoryLargeChest) f2).isPartOfLargeChest(this)) { - ++super.numUsingPlayers; + if (f2 == this || f2 instanceof InventoryLargeChest && ((InventoryLargeChest) f2).isPartOfLargeChest(this)) { + ++super.numPlayersUsing; } } } @@ -172,32 +174,32 @@ public void updateEntity() { super.prevLidAngle = super.lidAngle; f = 0.1F; double var8; - if(super.numUsingPlayers > 0 && super.lidAngle == 0.0F) { + if (super.numPlayersUsing > 0 && super.lidAngle == 0.0F) { double var9 = (double) super.xCoord + 0.5D; var8 = (double) super.zCoord + 0.5D; super.worldObj.playSoundEffect(var9, (double) super.yCoord + 0.5D, var8, "random.chestopen", 0.5F, super.worldObj.rand.nextFloat() * 0.1F + 0.9F); } - if(super.numUsingPlayers == 0 && super.lidAngle > 0.0F || super.numUsingPlayers > 0 && super.lidAngle < 1.0F) { + if (super.numPlayersUsing == 0 && super.lidAngle > 0.0F || super.numPlayersUsing > 0 && super.lidAngle < 1.0F) { float var10 = super.lidAngle; - if(super.numUsingPlayers > 0) { + if (super.numPlayersUsing > 0) { super.lidAngle += f; } else { super.lidAngle -= f; } - if(super.lidAngle > 1.0F) { + if (super.lidAngle > 1.0F) { super.lidAngle = 1.0F; } float var11 = 0.5F; - if(super.lidAngle < var11 && var10 >= var11) { + if (super.lidAngle < var11 && var10 >= var11) { var8 = (double) super.xCoord + 0.5D; double d2 = (double) super.zCoord + 0.5D; super.worldObj.playSoundEffect(var8, (double) super.yCoord + 0.5D, d2, "random.chestclosed", 0.5F, super.worldObj.rand.nextFloat() * 0.1F + 0.9F); } - if(super.lidAngle < 0.0F) { + if (super.lidAngle < 0.0F) { super.lidAngle = 0.0F; } } @@ -205,8 +207,8 @@ public void updateEntity() { } public boolean receiveClientEvent(int par1, int par2) { - if(par1 == 1) { - super.numUsingPlayers = par2; + if (par1 == 1) { + super.numPlayersUsing = par2; return true; } else { return super.receiveClientEvent(par1, par2); @@ -214,22 +216,22 @@ public boolean receiveClientEvent(int par1, int par2) { } public void openChest() { - if(super.numUsingPlayers < 0) { - super.numUsingPlayers = 0; + if (super.numPlayersUsing < 0) { + super.numPlayersUsing = 0; } - ++super.numUsingPlayers; - super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID, 1, super.numUsingPlayers); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType().blockID); + ++super.numPlayersUsing; + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numPlayersUsing); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); } public void closeChest() { - if(this.getBlockType() != null && this.getBlockType() instanceof BlockChest) { - --super.numUsingPlayers; - super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID, 1, super.numUsingPlayers); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType().blockID); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType().blockID); + if (this.getBlockType() != null && this.getBlockType() instanceof BlockChest) { + --super.numPlayersUsing; + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numPlayersUsing); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); } } @@ -244,12 +246,12 @@ public void invalidate() { } public int func_98041_l() { - if(this.field_94046_i == -1) { - if(super.worldObj == null || !(this.getBlockType() instanceof BlockChest)) { + if (this.field_94046_i == -1) { + if (super.worldObj == null || !(this.getBlockType() instanceof BlockChest)) { return 0; } - this.field_94046_i = ((BlockChest) this.getBlockType()).chestType; + this.field_94046_i = ((BlockChest) this.getBlockType()).field_149956_a; } return this.field_94046_i; @@ -267,7 +269,7 @@ public void spawn(EntityPlayer player) { EntityPharaoh pharaoh = new EntityPharaoh(super.worldObj); pharaoh.setPosition((double) super.xCoord + 0.5D, (double) (super.yCoord + 1), (double) super.zCoord + 0.5D); pharaoh.link(super.xCoord, super.yCoord, super.zCoord); - if(!super.worldObj.isRemote) { + if (!super.worldObj.isRemote) { super.worldObj.spawnEntityInWorld(pharaoh); } @@ -275,29 +277,29 @@ public void spawn(EntityPlayer player) { this.hasSpawned = true; EntityMummy mummy1 = new EntityMummy(super.worldObj); mummy1.setPosition((double) super.xCoord + 0.5D, (double) super.yCoord, (double) super.zCoord - 0.5D); - if(!super.worldObj.isRemote) { + if (!super.worldObj.isRemote) { super.worldObj.spawnEntityInWorld(mummy1); } mummy1.spawnExplosionParticle(); EntityMummy mummy2 = new EntityMummy(super.worldObj); mummy2.setPosition((double) super.xCoord + 0.5D, (double) super.yCoord, (double) super.zCoord + 1.5D); - if(!super.worldObj.isRemote) { + if (!super.worldObj.isRemote) { super.worldObj.spawnEntityInWorld(mummy2); } mummy2.spawnExplosionParticle(); - if(!super.worldObj.isRemote) { + if (!super.worldObj.isRemote) { List players = FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList; Iterator i = players.iterator(); - while(i.hasNext()) { + while (i.hasNext()) { EntityPlayer p = (EntityPlayer) i.next(); - p.addChatMessage(pharaoh.getEntityName() + " was summoned by " + player.getEntityName()); + p.addChatMessage(new ChatComponentText(pharaoh.getCommandSenderName() + " was summoned by " + player.getGameProfile().getName())); } } - if(!super.worldObj.isRemote) { + if (!super.worldObj.isRemote) { System.out.println("Playing Sound"); super.worldObj.playSoundAtEntity(pharaoh, "Atum.pharaohspawn", 1.0F, 1.0F); } diff --git a/src/com/teammetallurgy/atum/blocks/tileentity/furnace/ContainerLimestoneFurnace.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/ContainerLimestoneFurnace.java similarity index 100% rename from src/com/teammetallurgy/atum/blocks/tileentity/furnace/ContainerLimestoneFurnace.java rename to src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/ContainerLimestoneFurnace.java diff --git a/src/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java similarity index 78% rename from src/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java rename to src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java index 4a10398..76c56d6 100644 --- a/src/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java @@ -21,17 +21,19 @@ public GuiLimestoneFurnace(InventoryPlayer par1InventoryPlayer, TileEntity par2T } /** - * Draw the foreground layer for the GuiContainer (everything in front of the items) + * Draw the foreground layer for the GuiContainer (everything in front of + * the items) */ @Override protected void drawGuiContainerForegroundLayer(int par1, int par2) { - String s = this.furnaceInventory.isInvNameLocalized() ? this.furnaceInventory.getInvName() : StatCollector.translateToLocal(this.furnaceInventory.getInvName()); - this.fontRenderer.drawString(s, this.xSize / 2 - this.fontRenderer.getStringWidth(s) / 2, 6, 4210752); - this.fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + String s = this.furnaceInventory.getInventoryName(); + this.fontRendererObj.drawString(s, this.xSize / 2 - this.fontRendererObj.getStringWidth(s) / 2, 6, 4210752); + this.fontRendererObj.drawString(StatCollector.translateToLocal("container.inventory"), 8, this.ySize - 96 + 2, 4210752); } /** - * Draw the background layer for the GuiContainer (everything behind the items) + * Draw the background layer for the GuiContainer (everything behind the + * items) */ @Override protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) { @@ -42,7 +44,7 @@ protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) { this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize); int i1; - if(this.furnaceInventory.isBurning()) { + if (this.furnaceInventory.isBurning()) { i1 = this.furnaceInventory.getBurnTimeRemainingScaled(12); this.drawTexturedModalRect(k + 56, l + 36 + 12 - i1, 176, 12 - i1, 14, i1 + 2); } diff --git a/src/com/teammetallurgy/atum/blocks/tileentity/furnace/TileEntityLimestoneFurnace.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/TileEntityLimestoneFurnace.java similarity index 69% rename from src/com/teammetallurgy/atum/blocks/tileentity/furnace/TileEntityLimestoneFurnace.java rename to src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/TileEntityLimestoneFurnace.java index 33178da..032e7c5 100644 --- a/src/com/teammetallurgy/atum/blocks/tileentity/furnace/TileEntityLimestoneFurnace.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/TileEntityLimestoneFurnace.java @@ -3,6 +3,8 @@ import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; @@ -22,9 +24,9 @@ import cpw.mods.fml.relauncher.SideOnly; public class TileEntityLimestoneFurnace extends TileEntityFurnace implements ISidedInventory { - private static final int[] field_102010_d = new int[]{0}; - private static final int[] field_102011_e = new int[]{2, 1}; - private static final int[] field_102009_f = new int[]{1}; + private static final int[] field_102010_d = new int[] { 0 }; + private static final int[] field_102011_e = new int[] { 2, 1 }; + private static final int[] field_102009_f = new int[] { 1 }; /** * The ItemStacks that hold the items currently being used in the furnace @@ -35,7 +37,8 @@ public class TileEntityLimestoneFurnace extends TileEntityFurnace implements ISi public int furnaceBurnTime = 0; /** - * The number of ticks that a fresh copy of the currently-burning item would keep the furnace burning for + * The number of ticks that a fresh copy of the currently-burning item would + * keep the furnace burning for */ public int currentItemBurnTime = 0; @@ -60,21 +63,22 @@ public ItemStack getStackInSlot(int par1) { } /** - * Removes from an inventory slot (first arg) up to a specified number (second arg) of items and returns them in a new stack. + * Removes from an inventory slot (first arg) up to a specified number + * (second arg) of items and returns them in a new stack. */ @Override public ItemStack decrStackSize(int par1, int par2) { - if(this.furnaceItemStacks[par1] != null) { + if (this.furnaceItemStacks[par1] != null) { ItemStack itemstack; - if(this.furnaceItemStacks[par1].stackSize <= par2) { + if (this.furnaceItemStacks[par1].stackSize <= par2) { itemstack = this.furnaceItemStacks[par1]; this.furnaceItemStacks[par1] = null; return itemstack; } else { itemstack = this.furnaceItemStacks[par1].splitStack(par2); - if(this.furnaceItemStacks[par1].stackSize == 0) { + if (this.furnaceItemStacks[par1].stackSize == 0) { this.furnaceItemStacks[par1] = null; } @@ -86,11 +90,13 @@ public ItemStack decrStackSize(int par1, int par2) { } /** - * When some containers are closed they call this on each slot, then drop whatever it returns as an EntityItem - like when you close a workbench GUI. + * When some containers are closed they call this on each slot, then drop + * whatever it returns as an EntityItem - like when you close a workbench + * GUI. */ @Override public ItemStack getStackInSlotOnClosing(int par1) { - if(this.furnaceItemStacks[par1] != null) { + if (this.furnaceItemStacks[par1] != null) { ItemStack itemstack = this.furnaceItemStacks[par1]; this.furnaceItemStacks[par1] = null; return itemstack; @@ -100,13 +106,14 @@ public ItemStack getStackInSlotOnClosing(int par1) { } /** - * Sets the given item stack to the specified slot in the inventory (can be crafting or armor sections). + * Sets the given item stack to the specified slot in the inventory (can be + * crafting or armor sections). */ @Override public void setInventorySlotContents(int par1, ItemStack par2ItemStack) { this.furnaceItemStacks[par1] = par2ItemStack; - if(par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) { + if (par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) { par2ItemStack.stackSize = this.getInventoryStackLimit(); } } @@ -115,15 +122,17 @@ public void setInventorySlotContents(int par1, ItemStack par2ItemStack) { * Returns the name of the inventory. */ @Override - public String getInvName() { - return this.isInvNameLocalized() ? this.field_94130_e : "container.furnace"; + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.field_94130_e : "container.furnace"; } /** - * If this returns false, the inventory name will be used as an unlocalized name, and translated into the player's language. Otherwise it will be used directly. + * If this returns false, the inventory name will be used as an unlocalized + * name, and translated into the player's language. Otherwise it will be + * used directly. */ @Override - public boolean isInvNameLocalized() { + public boolean hasCustomInventoryName() { return this.field_94130_e != null && this.field_94130_e.length() > 0; } @@ -137,14 +146,14 @@ public void func_94129_a(String par1Str) { @Override public void readFromNBT(NBTTagCompound par1NBTTagCompound) { super.readFromNBT(par1NBTTagCompound); - NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items"); + NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items", 0); this.furnaceItemStacks = new ItemStack[this.getSizeInventory()]; - for(int i = 0; i < nbttaglist.tagCount(); ++i) { - NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.tagAt(i); + for (int i = 0; i < nbttaglist.tagCount(); ++i) { + NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.getCompoundTagAt(i); byte b0 = nbttagcompound1.getByte("Slot"); - if(b0 >= 0 && b0 < this.furnaceItemStacks.length) { + if (b0 >= 0 && b0 < this.furnaceItemStacks.length) { this.furnaceItemStacks[b0] = ItemStack.loadItemStackFromNBT(nbttagcompound1); } } @@ -153,7 +162,7 @@ public void readFromNBT(NBTTagCompound par1NBTTagCompound) { this.furnaceCookTime = par1NBTTagCompound.getShort("CookTime"); this.currentItemBurnTime = getItemBurnTime(this.furnaceItemStacks[1]); - if(par1NBTTagCompound.hasKey("CustomName")) { + if (par1NBTTagCompound.hasKey("CustomName")) { this.field_94130_e = par1NBTTagCompound.getString("CustomName"); } } @@ -168,8 +177,8 @@ public void writeToNBT(NBTTagCompound par1NBTTagCompound) { par1NBTTagCompound.setShort("CookTime", (short) this.furnaceCookTime); NBTTagList nbttaglist = new NBTTagList(); - for(int i = 0; i < this.furnaceItemStacks.length; ++i) { - if(this.furnaceItemStacks[i] != null) { + for (int i = 0; i < this.furnaceItemStacks.length; ++i) { + if (this.furnaceItemStacks[i] != null) { NBTTagCompound nbttagcompound1 = new NBTTagCompound(); nbttagcompound1.setByte("Slot", (byte) i); this.furnaceItemStacks[i].writeToNBT(nbttagcompound1); @@ -179,13 +188,14 @@ public void writeToNBT(NBTTagCompound par1NBTTagCompound) { par1NBTTagCompound.setTag("Items", nbttaglist); - if(this.isInvNameLocalized()) { + if (this.hasCustomInventoryName()) { par1NBTTagCompound.setString("CustomName", this.field_94130_e); } } /** - * Returns the maximum stack size for a inventory slot. Seems to always be 64, possibly will be extended. *Isn't this more of a set than a get?* + * Returns the maximum stack size for a inventory slot. Seems to always be + * 64, possibly will be extended. *Isn't this more of a set than a get?* */ @Override public int getInventoryStackLimit() { @@ -207,7 +217,7 @@ public int getCookProgressScaled(int par1) { * item, where 0 means that the item is exhausted and the passed value means that the item is fresh */ public int getBurnTimeRemainingScaled(int par1) { - if(this.currentItemBurnTime == 0) { + if (this.currentItemBurnTime == 0) { this.currentItemBurnTime = 200; } @@ -222,38 +232,40 @@ public boolean isBurning() { } /** - * Allows the entity to update its state. Overridden in most subclasses, e.g. the mob spawner uses this to count ticks and creates a new spawn inside its implementation. + * Allows the entity to update its state. Overridden in most subclasses, + * e.g. the mob spawner uses this to count ticks and creates a new spawn + * inside its implementation. */ @Override public void updateEntity() { boolean flag = this.furnaceBurnTime > 0; boolean flag1 = false; - if(this.furnaceBurnTime > 0) { + if (this.furnaceBurnTime > 0) { --this.furnaceBurnTime; } - if(!this.worldObj.isRemote) { - if(this.furnaceBurnTime == 0 && this.canSmelt()) { + if (!this.worldObj.isRemote) { + if (this.furnaceBurnTime == 0 && this.canSmelt()) { this.currentItemBurnTime = this.furnaceBurnTime = getItemBurnTime(this.furnaceItemStacks[1]); - if(this.furnaceBurnTime > 0) { + if (this.furnaceBurnTime > 0) { flag1 = true; - if(this.furnaceItemStacks[1] != null) { + if (this.furnaceItemStacks[1] != null) { --this.furnaceItemStacks[1].stackSize; - if(this.furnaceItemStacks[1].stackSize == 0) { - this.furnaceItemStacks[1] = this.furnaceItemStacks[1].getItem().getContainerItemStack(furnaceItemStacks[1]); + if (this.furnaceItemStacks[1].stackSize == 0) { + this.furnaceItemStacks[1] = this.furnaceItemStacks[1].getItem().getContainerItem(furnaceItemStacks[1]); } } } } - if(this.isBurning() && this.canSmelt()) { + if (this.isBurning() && this.canSmelt()) { ++this.furnaceCookTime; - if(this.furnaceCookTime == 200) { + if (this.furnaceCookTime == 200) { this.furnaceCookTime = 0; this.smeltItem(); flag1 = true; @@ -262,30 +274,31 @@ public void updateEntity() { this.furnaceCookTime = 0; } - if(flag != this.furnaceBurnTime > 0) { + if (flag != this.furnaceBurnTime > 0) { flag1 = true; BlockLimeStoneFurnace.updateFurnaceBlockState(this.furnaceBurnTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord); } } - if(flag1) { - this.onInventoryChanged(); + if (flag1) { + this.markDirty(); } } /** - * Returns true if the furnace can smelt an item, i.e. has a source item, destination stack isn't full, etc. + * Returns true if the furnace can smelt an item, i.e. has a source item, + * destination stack isn't full, etc. */ private boolean canSmelt() { - if(this.furnaceItemStacks[0] == null) { + if (this.furnaceItemStacks[0] == null) { return false; } else { ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(this.furnaceItemStacks[0]); - if(itemstack == null) + if (itemstack == null) return false; - if(this.furnaceItemStacks[2] == null) + if (this.furnaceItemStacks[2] == null) return true; - if(!this.furnaceItemStacks[2].isItemEqual(itemstack)) + if (!this.furnaceItemStacks[2].isItemEqual(itemstack)) return false; int result = furnaceItemStacks[2].stackSize + itemstack.stackSize; return (result <= getInventoryStackLimit() && result <= itemstack.getMaxStackSize()); @@ -293,63 +306,65 @@ private boolean canSmelt() { } /** - * Turn one item from the furnace source stack into the appropriate smelted item in the furnace result stack + * Turn one item from the furnace source stack into the appropriate smelted + * item in the furnace result stack */ public void smeltItem() { - if(this.canSmelt()) { + if (this.canSmelt()) { ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(this.furnaceItemStacks[0]); - if(this.furnaceItemStacks[2] == null) { + if (this.furnaceItemStacks[2] == null) { this.furnaceItemStacks[2] = itemstack.copy(); - } else if(this.furnaceItemStacks[2].isItemEqual(itemstack)) { + } else if (this.furnaceItemStacks[2].isItemEqual(itemstack)) { furnaceItemStacks[2].stackSize += itemstack.stackSize; } --this.furnaceItemStacks[0].stackSize; - if(this.furnaceItemStacks[0].stackSize <= 0) { + if (this.furnaceItemStacks[0].stackSize <= 0) { this.furnaceItemStacks[0] = null; } } } /** - * Returns the number of ticks that the supplied fuel item will keep the furnace burning, or 0 if the item isn't fuel + * Returns the number of ticks that the supplied fuel item will keep the + * furnace burning, or 0 if the item isn't fuel */ public static int getItemBurnTime(ItemStack par0ItemStack) { - if(par0ItemStack == null) { + if (par0ItemStack == null) { return 0; } else { - int i = par0ItemStack.getItem().itemID; + Item i = par0ItemStack.getItem(); Item item = par0ItemStack.getItem(); - if(par0ItemStack.getItem() instanceof ItemBlock && Block.blocksList[i] != null) { - Block block = Block.blocksList[i]; + if (par0ItemStack.getItem() instanceof ItemBlock && i != null) { + Block block = Block.getBlockFromItem(i); - if(block == Block.woodSingleSlab) { + if (block == Blocks.wooden_slab) { return 150; } - if(block.blockMaterial == Material.wood) { + if (block.getMaterial() == Material.wood) { return 300; } } - if(item instanceof ItemTool && ((ItemTool) item).getToolMaterialName().equals("WOOD")) + if (item instanceof ItemTool && ((ItemTool) item).getToolMaterialName().equals("WOOD")) return 200; - if(item instanceof ItemSword && ((ItemSword) item).getToolMaterialName().equals("WOOD")) + if (item instanceof ItemSword && ((ItemSword) item).getToolMaterialName().equals("WOOD")) return 200; - if(item instanceof ItemHoe && ((ItemHoe) item).getMaterialName().equals("WOOD")) + if (item instanceof ItemHoe && ((ItemHoe) item).getToolMaterialName().equals("WOOD")) return 200; - if(i == Item.stick.itemID) + if (i == Items.stick) return 100; - if(i == Item.coal.itemID) + if (i == Items.coal) return 1600; - if(i == Item.bucketLava.itemID) + if (i == Items.lava_bucket) return 20000; - if(i == Block.sapling.blockID) + if (Block.getBlockFromItem(i) == Blocks.sapling) return 100; - if(i == Item.blazeRod.itemID) + if (i == Items.blaze_rod) return 2400; return GameRegistry.getFuelValue(par0ItemStack); } @@ -363,23 +378,17 @@ public static boolean isItemFuel(ItemStack par0ItemStack) { } /** - * Do not make give this method the name canInteractWith because it clashes with Container + * Do not make give this method the name canInteractWith because it clashes + * with Container */ @Override public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { - return this.worldObj.getBlockTileEntity(this.xCoord, this.yCoord, this.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double) this.xCoord + 0.5D, (double) this.yCoord + 0.5D, (double) this.zCoord + 0.5D) <= 64.0D; - } - - @Override - public void openChest() { - } - - @Override - public void closeChest() { + return this.worldObj.getTileEntity(this.xCoord, this.yCoord, this.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double) this.xCoord + 0.5D, (double) this.yCoord + 0.5D, (double) this.zCoord + 0.5D) <= 64.0D; } /** - * Returns true if automation is allowed to insert the given stack (ignoring stack size) into the given slot. + * Returns true if automation is allowed to insert the given stack (ignoring + * stack size) into the given slot. */ @Override public boolean isItemValidForSlot(int par1, ItemStack par2ItemStack) { @@ -401,7 +410,7 @@ public boolean canInsertItem(int par1, ItemStack par2ItemStack, int par3) { @Override public boolean canExtractItem(int par1, ItemStack par2ItemStack, int par3) { - return par3 != 0 || par1 != 1 || par2ItemStack.itemID == Item.bucketEmpty.itemID; + return par3 != 0 || par1 != 1 || par2ItemStack.getItem() == Items.bucket; } } diff --git a/src/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java b/src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java similarity index 100% rename from src/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java rename to src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java diff --git a/src/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java b/src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java similarity index 100% rename from src/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java rename to src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java diff --git a/src/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java b/src/main/java/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java similarity index 100% rename from src/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java rename to src/main/java/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java diff --git a/src/com/teammetallurgy/atum/client/render/entity/RenderBandit.java b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderBandit.java similarity index 86% rename from src/com/teammetallurgy/atum/client/render/entity/RenderBandit.java rename to src/main/java/com/teammetallurgy/atum/client/render/entity/RenderBandit.java index ac6c3b4..41d9956 100644 --- a/src/com/teammetallurgy/atum/client/render/entity/RenderBandit.java +++ b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderBandit.java @@ -9,6 +9,7 @@ import net.minecraft.client.renderer.tileentity.TileEntitySkullRenderer; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; @@ -36,7 +37,7 @@ protected void renderEquippedItems(EntityLivingBase par1EntityLiving, float par2 float f1 = 1.0F; GL11.glColor3f(f1, f1, f1); ItemStack itemstack = par1EntityLiving.getHeldItem(); - ItemStack itemstack1 = par1EntityLiving.getCurrentItemOrArmor(3); + ItemStack itemstack1 = par1EntityLiving.getEquipmentInSlot(3); float f2; if(itemstack1 != null) { @@ -47,7 +48,7 @@ protected void renderEquippedItems(EntityLivingBase par1EntityLiving, float par2 boolean is3D = (customRenderer != null && customRenderer.shouldUseRenderHelper(EQUIPPED, itemstack1, BLOCK_3D)); if(itemstack1.getItem() instanceof ItemBlock) { - if(is3D || RenderBlocks.renderItemIn3d(Block.blocksList[itemstack1.itemID].getRenderType())) { + if(is3D || RenderBlocks.renderItemIn3d(Block.getBlockFromItem(itemstack1.getItem()).getRenderType())) { f2 = 0.625F; GL11.glTranslatef(0.0F, -0.25F, 0.0F); GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); @@ -55,7 +56,7 @@ protected void renderEquippedItems(EntityLivingBase par1EntityLiving, float par2 } this.renderManager.itemRenderer.renderItem(par1EntityLiving, itemstack1, 0); - } else if(itemstack1.getItem().itemID == Item.skull.itemID) { + } else if(itemstack1.getItem() == Items.skull) { f2 = 1.0625F; GL11.glScalef(f2, -f2, -f2); String s = ""; @@ -64,7 +65,7 @@ protected void renderEquippedItems(EntityLivingBase par1EntityLiving, float par2 s = itemstack1.getTagCompound().getString("SkullOwner"); } - TileEntitySkullRenderer.skullRenderer.func_82393_a(-0.5F, 0.0F, -0.5F, 1, 180.0F, itemstack1.getItemDamage(), s); + TileEntitySkullRenderer.field_147536_b.func_147530_a(-0.5F, 0.0F, -0.5F, 1, 180.0F, itemstack1.getItemDamage(), s); } GL11.glPopMatrix(); @@ -86,24 +87,24 @@ protected void renderEquippedItems(EntityLivingBase par1EntityLiving, float par2 IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemstack, EQUIPPED); boolean is3D = (customRenderer != null && customRenderer.shouldUseRenderHelper(EQUIPPED, itemstack, BLOCK_3D)); - if(itemstack.getItem() instanceof ItemBlock && (is3D || RenderBlocks.renderItemIn3d(Block.blocksList[itemstack.itemID].getRenderType()))) { + if(itemstack.getItem() instanceof ItemBlock && (is3D || RenderBlocks.renderItemIn3d(Block.getBlockFromItem(itemstack.getItem()).getRenderType()))) { f2 = 0.5F; GL11.glTranslatef(0.0F, 0.1875F, -0.3125F); f2 *= 0.75F; GL11.glRotatef(20.0F, 1.0F, 0.0F, 0.0F); GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); GL11.glScalef(-f2, -f2, f2); - } else if(itemstack.itemID == AtumItems.ITEM_BOW.itemID) { + } else if(itemstack.getItem() == AtumItems.ITEM_BOW) { f2 = 0.625F; GL11.glTranslatef(0.0F, 0.125F, 0.3125F); GL11.glRotatef(-20.0F, 0.0F, 1.0F, 0.0F); GL11.glScalef(f2, -f2, f2); GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F); GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); - } else if(Item.itemsList[itemstack.itemID].isFull3D()) { + } else if(itemstack.getItem().isFull3D()) { f2 = 0.625F; - if(Item.itemsList[itemstack.itemID].shouldRotateAroundWhenRendering()) { + if(itemstack.getItem().shouldRotateAroundWhenRendering()) { GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F); GL11.glTranslatef(0.0F, -0.125F, 0.0F); } diff --git a/src/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java similarity index 100% rename from src/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java rename to src/main/java/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java diff --git a/src/com/teammetallurgy/atum/client/render/entity/RenderGhost.java b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderGhost.java similarity index 86% rename from src/com/teammetallurgy/atum/client/render/entity/RenderGhost.java rename to src/main/java/com/teammetallurgy/atum/client/render/entity/RenderGhost.java index 32fb90a..1a00a3d 100644 --- a/src/com/teammetallurgy/atum/client/render/entity/RenderGhost.java +++ b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderGhost.java @@ -39,24 +39,28 @@ public RenderGhost(ModelBase par1ModelBase, float par2) { } /** - * Sets the model to be used in the current render pass (the first render pass is done after the primary model is rendered) Args: model + * Sets the model to be used in the current render pass (the first render + * pass is done after the primary model is rendered) Args: model */ public void setRenderPassModel(ModelBase par1ModelBase) { this.renderPassModel = par1ModelBase; } /** - * Returns a rotation angle that is inbetween two other rotation angles. par1 and par2 are the angles between which to interpolate, par3 is probably a float between 0.0 and 1.0 that tells us where - * "between" the two angles we are. Example: par1 = 30, par2 = 50, par3 = 0.5, then return = 40 + * Returns a rotation angle that is inbetween two other rotation angles. + * par1 and par2 are the angles between which to interpolate, par3 is + * probably a float between 0.0 and 1.0 that tells us where "between" the + * two angles we are. Example: par1 = 30, par2 = 50, par3 = 0.5, then return + * = 40 */ private float interpolateRotation(float par1, float par2, float par3) { float f3; - for(f3 = par2 - par1; f3 < -180.0F; f3 += 360.0F) { + for (f3 = par2 - par1; f3 < -180.0F; f3 += 360.0F) { ; } - while(f3 >= 180.0F) { + while (f3 >= 180.0F) { f3 -= 360.0F; } @@ -71,19 +75,19 @@ public void doRenderLiving(EntityLivingBase par1EntityLiving, double par2, doubl this.mainModel.onGround = this.renderSwingProgress(par1EntityLiving, par9); - if(this.renderPassModel != null) { + if (this.renderPassModel != null) { this.renderPassModel.onGround = this.mainModel.onGround; } this.mainModel.isRiding = par1EntityLiving.isRiding(); - if(this.renderPassModel != null) { + if (this.renderPassModel != null) { this.renderPassModel.isRiding = this.mainModel.isRiding; } this.mainModel.isChild = par1EntityLiving.isChild(); - if(this.renderPassModel != null) { + if (this.renderPassModel != null) { this.renderPassModel.isChild = this.mainModel.isChild; } @@ -102,11 +106,11 @@ public void doRenderLiving(EntityLivingBase par1EntityLiving, double par2, doubl float f7 = par1EntityLiving.prevLimbSwingAmount + (par1EntityLiving.limbSwing - par1EntityLiving.prevLimbSwingAmount) * par9; float f8 = par1EntityLiving.limbSwing - par1EntityLiving.limbSwing * (1.0F - par9); - if(par1EntityLiving.isChild()) { + if (par1EntityLiving.isChild()) { f8 *= 3.0F; } - if(f7 > 1.0F) { + if (f7 > 1.0F) { f7 = 1.0F; } @@ -118,19 +122,19 @@ public void doRenderLiving(EntityLivingBase par1EntityLiving, double par2, doubl float f10; float f11; - for(int j = 0; j < 4; ++j) { + for (int j = 0; j < 4; ++j) { i = this.shouldRenderPass(par1EntityLiving, j, par9); - if(i > 0) { + if (i > 0) { this.renderPassModel.setLivingAnimations(par1EntityLiving, f8, f7, par9); this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); - if((i & 240) == 16) { + if ((i & 240) == 16) { this.func_82408_c(par1EntityLiving, j, par9); this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); } - if((i & 15) == 15) { + if ((i & 15) == 15) { f9 = (float) par1EntityLiving.ticksExisted + par9; GL11.glEnable(GL11.GL_BLEND); f10 = 0.5F; @@ -138,7 +142,7 @@ public void doRenderLiving(EntityLivingBase par1EntityLiving, double par2, doubl GL11.glDepthFunc(GL11.GL_EQUAL); GL11.glDepthMask(false); - for(int k = 0; k < 2; ++k) { + for (int k = 0; k < 2; ++k) { GL11.glDisable(GL11.GL_LIGHTING); f11 = 0.76F; GL11.glColor4f(0.5F * f11, 0.25F * f11, 0.8F * f11, 1.0F); @@ -177,26 +181,26 @@ public void doRenderLiving(EntityLivingBase par1EntityLiving, double par2, doubl GL11.glDisable(GL11.GL_TEXTURE_2D); OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit); - if((i >> 24 & 255) > 0 || par1EntityLiving.hurtTime > 0 || par1EntityLiving.deathTime > 0) { + if ((i >> 24 & 255) > 0 || par1EntityLiving.hurtTime > 0 || par1EntityLiving.deathTime > 0) { GL11.glDisable(GL11.GL_TEXTURE_2D); GL11.glDisable(GL11.GL_ALPHA_TEST); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GL11.glDepthFunc(GL11.GL_EQUAL); - if(par1EntityLiving.hurtTime > 0 || par1EntityLiving.deathTime > 0) { + if (par1EntityLiving.hurtTime > 0 || par1EntityLiving.deathTime > 0) { GL11.glColor4f(f14, 0.0F, 0.0F, 0.4F); this.mainModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); - for(int l = 0; l < 4; ++l) { - if(this.inheritRenderPass(par1EntityLiving, l, par9) >= 0) { + for (int l = 0; l < 4; ++l) { + if (this.inheritRenderPass(par1EntityLiving, l, par9) >= 0) { GL11.glColor4f(f14, 0.0F, 0.0F, 0.4F); this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); } } } - if((i >> 24 & 255) > 0) { + if ((i >> 24 & 255) > 0) { f9 = (float) (i >> 16 & 255) / 255.0F; f10 = (float) (i >> 8 & 255) / 255.0F; float f15 = (float) (i & 255) / 255.0F; @@ -204,8 +208,8 @@ public void doRenderLiving(EntityLivingBase par1EntityLiving, double par2, doubl GL11.glColor4f(f9, f10, f15, f11); this.mainModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); - for(int i1 = 0; i1 < 4; ++i1) { - if(this.inheritRenderPass(par1EntityLiving, i1, par9) >= 0) { + for (int i1 = 0; i1 < 4; ++i1) { + if (this.inheritRenderPass(par1EntityLiving, i1, par9) >= 0) { GL11.glColor4f(f9, f10, f15, f11); this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); } @@ -219,7 +223,7 @@ public void doRenderLiving(EntityLivingBase par1EntityLiving, double par2, doubl } GL11.glDisable(GL12.GL_RESCALE_NORMAL); - } catch(Exception exception) { + } catch (Exception exception) { exception.printStackTrace(); } @@ -237,9 +241,9 @@ public void doRenderLiving(EntityLivingBase par1EntityLiving, double par2, doubl protected void renderModel(EntityLivingBase par1EntityLiving, float par2, float par3, float par4, float par5, float par6, float par7) { this.bindEntityTexture(par1EntityLiving); - if(!par1EntityLiving.isInvisible()) { + if (!par1EntityLiving.isInvisible()) { this.mainModel.render(par1EntityLiving, par2, par3, par4, par5, par6, par7); - } else if(!par1EntityLiving.isInvisibleToPlayer(Minecraft.getMinecraft().thePlayer)) { + } else if (!par1EntityLiving.isInvisibleToPlayer(Minecraft.getMinecraft().thePlayer)) { GL11.glPushMatrix(); GL11.glColor4f(1.0F, 1.0F, 1.0F, 0.15F); GL11.glDepthMask(false); @@ -266,11 +270,11 @@ protected void renderLivingAt(EntityLivingBase par1EntityLiving, double par2, do protected void rotateCorpse(EntityLivingBase par1EntityLiving, float par2, float par3, float par4) { GL11.glRotatef(180.0F - par3, 0.0F, 1.0F, 0.0F); - if(par1EntityLiving.deathTime > 0) { + if (par1EntityLiving.deathTime > 0) { float f3 = ((float) par1EntityLiving.deathTime + par4 - 1.0F) / 20.0F * 1.6F; f3 = MathHelper.sqrt_float(f3); - if(f3 > 1.0F) { + if (f3 > 1.0F) { f3 = 1.0F; } @@ -298,12 +302,12 @@ protected void renderEquippedItems(EntityLivingBase par1EntityLiving, float par2 protected void renderArrowsStuckInEntity(EntityLiving par1EntityLiving, float par2) { int i = par1EntityLiving.getArrowCountInEntity(); - if(i > 0) { + if (i > 0) { EntityArrow entityarrow = new EntityArrow(par1EntityLiving.worldObj, par1EntityLiving.posX, par1EntityLiving.posY, par1EntityLiving.posZ); - Random random = new Random((long) par1EntityLiving.entityId); + Random random = new Random((long) par1EntityLiving.getEntityId()); RenderHelper.disableStandardItemLighting(); - for(int j = 0; j < i; ++j) { + for (int j = 0; j < i; ++j) { GL11.glPushMatrix(); ModelRenderer modelrenderer = this.mainModel.getRandomModelBox(random); ModelBox modelbox = (ModelBox) modelrenderer.cubeList.get(random.nextInt(modelrenderer.cubeList.size())); @@ -355,14 +359,16 @@ protected float getDeathMaxRotation(EntityLivingBase par1EntityLiving) { } /** - * Returns an ARGB int color back. Args: entityLiving, lightBrightness, partialTickTime + * Returns an ARGB int color back. Args: entityLiving, lightBrightness, + * partialTickTime */ protected int getColorMultiplier(EntityLivingBase par1EntityLiving, float par2, float par3) { return 0; } /** - * Allows the render to do any OpenGL state modifications necessary before the model is rendered. Args: entityLiving, partialTickTime + * Allows the render to do any OpenGL state modifications necessary before + * the model is rendered. Args: entityLiving, partialTickTime */ protected void preRenderCallback(EntityLivingBase par1EntityLiving, float par2) { } @@ -371,16 +377,16 @@ protected void preRenderCallback(EntityLivingBase par1EntityLiving, float par2) * Passes the specialRender and renders it */ protected void passSpecialRender(EntityLivingBase par1EntityLiving, double par2, double par4, double par6) { - if(Minecraft.isGuiEnabled() && par1EntityLiving != this.renderManager.livingPlayer && !par1EntityLiving.isInvisibleToPlayer(Minecraft.getMinecraft().thePlayer) && (par1EntityLiving.getAlwaysRenderNameTagForRender() || ((EntityLiving) par1EntityLiving).hasCustomNameTag() && par1EntityLiving == this.renderManager.field_96451_i)) { + if (Minecraft.isGuiEnabled() && par1EntityLiving != this.renderManager.livingPlayer && !par1EntityLiving.isInvisibleToPlayer(Minecraft.getMinecraft().thePlayer) && (par1EntityLiving.getAlwaysRenderNameTagForRender() || ((EntityLiving) par1EntityLiving).hasCustomNameTag() && par1EntityLiving == this.renderManager.livingPlayer)) { float f = 1.6F; float f1 = 0.016666668F * f; double d3 = par1EntityLiving.getDistanceSqToEntity(this.renderManager.livingPlayer); float f2 = par1EntityLiving.isSneaking() ? 32.0F : 64.0F; - if(d3 < (double) (f2 * f2)) { - String s = par1EntityLiving.getTranslatedEntityName(); + if (d3 < (double) (f2 * f2)) { + String s = par1EntityLiving.getCommandSenderName(); - if(par1EntityLiving.isSneaking()) { + if (par1EntityLiving.isSneaking()) { FontRenderer fontrenderer = this.getFontRendererFromRenderManager(); GL11.glPushMatrix(); GL11.glTranslatef((float) par2 + 0.0F, (float) par4 + par1EntityLiving.height + 0.5F, (float) par6); @@ -418,7 +424,7 @@ protected void passSpecialRender(EntityLivingBase par1EntityLiving, double par2, } protected void func_96449_a(EntityLivingBase par1EntityLiving, double par2, double par4, double par6, String par8Str, float par9, double par10) { - if(par1EntityLiving.isPlayerSleeping()) { + if (par1EntityLiving.isPlayerSleeping()) { this.renderLivingLabel(par1EntityLiving, par8Str, par2, par4 - 1.5D, par6, 64); } else { this.renderLivingLabel(par1EntityLiving, par8Str, par2, par4, par6, 64); @@ -431,7 +437,7 @@ protected void func_96449_a(EntityLivingBase par1EntityLiving, double par2, doub protected void renderLivingLabel(EntityLivingBase par1EntityLiving, String par2Str, double par3, double par5, double par7, int par9) { double d3 = par1EntityLiving.getDistanceSqToEntity(this.renderManager.livingPlayer); - if(d3 <= (double) (par9 * par9)) { + if (d3 <= (double) (par9 * par9)) { FontRenderer fontrenderer = this.getFontRendererFromRenderManager(); float f = 1.6F; float f1 = 0.016666668F * f; @@ -449,7 +455,7 @@ protected void renderLivingLabel(EntityLivingBase par1EntityLiving, String par2S Tessellator tessellator = Tessellator.instance; byte b0 = 0; - if(par2Str.equals("deadmau5")) { + if (par2Str.equals("deadmau5")) { b0 = -10; } @@ -475,9 +481,12 @@ protected void renderLivingLabel(EntityLivingBase par1EntityLiving, String par2S } /** - * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then handing it off to a worker function which does the actual work. In all - * probabilty, the class Render is generic (Render> 16 & 255) / 255.0F; float f2 = (float) (l >> 8 & 255) / 255.0F; float f3 = (float) (l & 255) / 255.0F; - if(EntityRenderer.anaglyphEnable) { + if (EntityRenderer.anaglyphEnable) { float d0 = (f1 * 30.0F + f2 * 59.0F + f3 * 11.0F) / 100.0F; float f5 = (f1 * 30.0F + f2 * 70.0F) / 100.0F; float d1 = (f1 * 30.0F + f3 * 70.0F) / 100.0F; @@ -32,7 +33,7 @@ public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block b double d01 = (double) x; double d11 = (double) y; double d2 = (double) z; - if(block == Block.tallGrass) { + if (block == Blocks.tallgrass) { long icon = (long) (x * 3129871) ^ (long) z * 116129781L ^ (long) y; icon = icon * icon * 42317861L + icon * 11L; d01 += ((double) ((float) (icon >> 16 & 15L) / 15.0F) - 0.5D) * 0.5D; @@ -40,12 +41,12 @@ public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block b d2 += ((double) ((float) (icon >> 24 & 15L) / 15.0F) - 0.5D) * 0.5D; } - Icon icon1 = block.getBlockTexture(world, x, y, z, 0); + IIcon icon1 = block.getBlockTextureFromSide(0); this.drawCrossedSquares(icon1, block, world.getBlockMetadata(x, y, z), d01, d11, d2, 1.0F); return true; } - public void drawCrossedSquares(Icon icon, Block par1Block, int par2, double par3, double par5, double par7, float par9) { + public void drawCrossedSquares(IIcon icon, Block par1Block, int par2, double par3, double par5, double par7, float par9) { Tessellator tessellator = Tessellator.instance; double d3 = (double) icon.getMinU(); double d4 = (double) icon.getMinV(); @@ -84,7 +85,7 @@ public void renderInventoryBlock(Block block, int metadata, int modelID, RenderB } @Override - public boolean shouldRender3DInInventory() { + public boolean shouldRender3DInInventory(int arg0) { return false; } diff --git a/src/com/teammetallurgy/atum/entity/AtumEntities.java b/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java similarity index 61% rename from src/com/teammetallurgy/atum/entity/AtumEntities.java rename to src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java index e8d2522..6f4ccdd 100644 --- a/src/com/teammetallurgy/atum/entity/AtumEntities.java +++ b/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java @@ -21,44 +21,44 @@ public void register() { int entityID; entityID = EntityRegistry.findGlobalUniqueEntityId(); - - EntityRegistry.registerModEntity(EntityMummy.class, "AtumMummy", 20, Atum.instance, 64, 1, true); - EntityList.addMapping(EntityMummy.class, "AtumMummy", 20, 0x515838, 0x868F6B); + EntityRegistry.registerModEntity(EntityMummy.class, "AtumMummy", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityMummy.class, "AtumMummy", entityID, 0x515838, 0x868F6B); entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityBanditWarrior.class, "AtumBanditWarrior", 21, Atum.instance, 64, 1, true); - EntityList.addMapping(EntityBanditWarrior.class, "AtumBanditWarrior", 21, 0xC2C2C2, 0x040F85); + EntityRegistry.registerModEntity(EntityBanditWarrior.class, "AtumBanditWarrior", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityBanditWarrior.class, "AtumBanditWarrior", entityID, 0xC2C2C2, 0x040F85); entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityBanditArcher.class, "AtumBanditArcher", 22, Atum.instance, 64, 1, true); - EntityList.addMapping(EntityBanditArcher.class, "AtumBanditArcher", 22, 0xC2C2C2, 0x7E0C0C); + EntityRegistry.registerModEntity(EntityBanditArcher.class, "AtumBanditArcher", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityBanditArcher.class, "AtumBanditArcher", entityID, 0xC2C2C2, 0x7E0C0C); entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityPharaoh.class, "AtumPharaoh", 23, Atum.instance, 64, 1, true); - EntityList.addMapping(EntityPharaoh.class, "AtumPharaoh", 23, 0xD4BC37, 0x3A4BE0); + EntityRegistry.registerModEntity(EntityPharaoh.class, "AtumPharaoh", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityPharaoh.class, "AtumPharaoh", entityID, 0xD4BC37, 0x3A4BE0); entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityDustySkeleton.class, "AtumDustySkeleton", 24, Atum.instance, 64, 1, true); - EntityList.addMapping(EntityDustySkeleton.class, "AtumDustySkeleton", 24, 0xB59C7D, 0x6F5C43); + EntityRegistry.registerModEntity(EntityDustySkeleton.class, "AtumDustySkeleton", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityDustySkeleton.class, "AtumDustySkeleton", entityID, 0xB59C7D, 0x6F5C43); entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityGhost.class, "AtumDesertGhost", 25, Atum.instance, 64, 1, true); - EntityList.addMapping(EntityGhost.class, "AtumDesertGhost", 25, 0xE7DBC8, 0xAD9467); + EntityRegistry.registerModEntity(EntityGhost.class, "AtumDesertGhost", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityGhost.class, "AtumDesertGhost", entityID, 0xE7DBC8, 0xAD9467); entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityStoneSoldier.class, "AtumStoneSoldier", 26, Atum.instance, 64, 1, true); - EntityList.addMapping(EntityStoneSoldier.class, "AtumStoneSoldier", 26, 0x918354, 0x695D37); + EntityRegistry.registerModEntity(EntityStoneSoldier.class, "AtumStoneSoldier", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityStoneSoldier.class, "AtumStoneSoldier", entityID, 0x918354, 0x695D37); entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityDesertWolf.class, "AtumDesertWolf", 27, Atum.instance, 64, 1, true); - EntityList.addMapping(EntityDesertWolf.class, "AtumDesertWolf", 27, 0x918354, 0x695D37); + EntityRegistry.registerModEntity(EntityDesertWolf.class, "AtumDesertWolf", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityDesertWolf.class, "AtumDesertWolf", entityID, 0x918354, 0x695D37); entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityBanditWarlord.class, "AtumBanditWarlord", 28, Atum.instance, 64, 1, true); - EntityList.addMapping(EntityBanditWarlord.class, "AtumBanditWarlord", 28, 0x918354, 0x695D37); - - EntityRegistry.registerModEntity(EntityBarbarian.class, "AtumBarbarian", 29, Atum.instance, 64, 1, true); - EntityList.addMapping(EntityBarbarian.class, "AtumBarbarian", 29, 0x918354, 0x695D37); + EntityRegistry.registerModEntity(EntityBanditWarlord.class, "AtumBanditWarlord", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityBanditWarlord.class, "AtumBanditWarlord", entityID, 0x918354, 0x695D37); + + entityID = EntityRegistry.findGlobalUniqueEntityId(); + EntityRegistry.registerModEntity(EntityBarbarian.class, "AtumBarbarian", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityBarbarian.class, "AtumBarbarian", entityID, 0x918354, 0x695D37); EntityRegistry.registerModEntity(EntityArrowVelocity.class, "ArrowVeloctiy", 0, Atum.instance, 64, 1, true); EntityRegistry.registerModEntity(EntityArrowExplosive.class, "ArrowExplosive", 1, Atum.instance, 64, 1, true); diff --git a/src/com/teammetallurgy/atum/entity/EntityBanditArcher.java b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditArcher.java similarity index 86% rename from src/com/teammetallurgy/atum/entity/EntityBanditArcher.java rename to src/main/java/com/teammetallurgy/atum/entity/EntityBanditArcher.java index efcabab..41f6b94 100644 --- a/src/com/teammetallurgy/atum/entity/EntityBanditArcher.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditArcher.java @@ -8,7 +8,6 @@ import net.minecraft.entity.IRangedAttackMob; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.EntityAIArrowAttack; -import net.minecraft.entity.ai.EntityAIAttackOnCollide; import net.minecraft.entity.ai.EntityAIHurtByTarget; import net.minecraft.entity.ai.EntityAILookIdle; import net.minecraft.entity.ai.EntityAINearestAttackableTarget; @@ -19,7 +18,7 @@ import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.item.Item; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; @@ -34,7 +33,7 @@ public EntityBanditArcher(World par1World) { this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_BOW)); this.enchantEquipment(); - this.setCanPickUpLoot(this.rand.nextFloat() < equipmentDropChances[this.worldObj.difficultySetting]); + this.setCanPickUpLoot(this.rand.nextFloat() < equipmentDropChances[this.worldObj.difficultySetting.getDifficultyId()]); this.tasks.addTask(1, new EntityAISwimming(this)); this.tasks.addTask(2, new EntityAIRestrictSun(this)); this.tasks.addTask(3, new EntityAIWander(this, 0.8)); @@ -53,14 +52,15 @@ public EntityBanditArcher(World par1World) { @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(25.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.25D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(4.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(25.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.25D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); } /** - * Checks if the entity's current position is a valid location to spawn this entity. + * Checks if the entity's current position is a valid location to spawn this + * entity. */ @Override public boolean getCanSpawnHere() { @@ -85,7 +85,7 @@ public boolean isAIEnabled() { @Override public boolean attackEntityAsMob(Entity par1Entity) { - if(super.attackEntityAsMob(par1Entity)) { + if (super.attackEntityAsMob(par1Entity)) { return true; } else { return false; @@ -112,20 +112,20 @@ protected void addRandomArmor() { */ @Override public void attackEntityWithRangedAttack(EntityLivingBase par1EntityLiving, float par2) { - EntityArrow entityarrow = new EntityArrow(this.worldObj, this, par1EntityLiving, 1.6F, (float) (14 - this.worldObj.difficultySetting * 4)); + EntityArrow entityarrow = new EntityArrow(this.worldObj, this, par1EntityLiving, 1.6F, (float) (14 - this.worldObj.difficultySetting.getDifficultyId() * 4)); int i = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, this.getHeldItem()); int j = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, this.getHeldItem()); - entityarrow.setDamage((double) (par2 * 2.0F) + this.rand.nextGaussian() * 0.25D + (double) ((float) this.worldObj.difficultySetting * 0.11F)); + entityarrow.setDamage((double) (par2 * 2.0F) + this.rand.nextGaussian() * 0.25D + (double) ((float) this.worldObj.difficultySetting.getDifficultyId() * 0.11F)); - if(i > 0) { + if (i > 0) { entityarrow.setDamage(entityarrow.getDamage() + (double) i * 0.5D + 0.5D); } - if(j > 0) { + if (j > 0) { entityarrow.setKnockbackStrength(j); } - if(EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, this.getHeldItem()) > 0) { + if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, this.getHeldItem()) > 0) { entityarrow.setFire(100); } @@ -142,23 +142,25 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { } /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. */ @Override protected void dropFewItems(boolean par1, int par2) { - if(rand.nextInt(20) == 0) { + if (rand.nextInt(20) == 0) { int damage = (int) (AtumItems.ITEM_BOW.getMaxDamage() - rand.nextInt(AtumItems.ITEM_BOW.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(AtumItems.ITEM_BOW.itemID, 1, damage), 0.0F); + this.entityDropItem(new ItemStack(AtumItems.ITEM_BOW, 1, damage), 0.0F); } - if(rand.nextInt(10) == 0) { + if (rand.nextInt(10) == 0) { int amount = rand.nextInt(2) + 1; - this.dropItem(Item.goldNugget.itemID, amount); + this.dropItem(Items.gold_nugget, amount); } - if(rand.nextInt(4) == 0) { + if (rand.nextInt(4) == 0) { int amount = rand.nextInt(3) + 1; - this.dropItem(Item.arrow.itemID, amount); + this.dropItem(Items.arrow, amount); } } } \ No newline at end of file diff --git a/src/com/teammetallurgy/atum/entity/EntityBanditWarlord.java b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarlord.java similarity index 69% rename from src/com/teammetallurgy/atum/entity/EntityBanditWarlord.java rename to src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarlord.java index 998d382..1d56fbd 100644 --- a/src/com/teammetallurgy/atum/entity/EntityBanditWarlord.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarlord.java @@ -1,15 +1,13 @@ package com.teammetallurgy.atum.entity; import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.Entity; import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.monster.EntityMob; -import net.minecraft.item.Item; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.world.World; -import com.teammetallurgy.atum.AtumConfig; import com.teammetallurgy.atum.items.AtumItems; public class EntityBanditWarlord extends EntityMob implements IAtumDayMob { @@ -17,11 +15,11 @@ public class EntityBanditWarlord extends EntityMob implements IAtumDayMob { public EntityBanditWarlord(World par1World) { super(par1World); this.experienceValue = 16; - + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCIMITAR)); - EnchantmentHelper.addRandomEnchantment(this.rand, this.getHeldItem(), 5 + this.worldObj.difficultySetting * this.rand.nextInt(6)); + EnchantmentHelper.addRandomEnchantment(this.rand, this.getHeldItem(), 5 + this.worldObj.difficultySetting.getDifficultyId() * this.rand.nextInt(6)); - for(int i = 0; i < this.equipmentDropChances.length; ++i) { + for (int i = 0; i < this.equipmentDropChances.length; ++i) { this.equipmentDropChances[i] = 0.05F; } } @@ -29,19 +27,19 @@ public EntityBanditWarlord(World par1World) { @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(80.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(4.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(80.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); } - @Override protected void addRandomArmor() { } /** - * Checks if the entity's current position is a valid location to spawn this entity. + * Checks if the entity's current position is a valid location to spawn this + * entity. */ @Override public boolean getCanSpawnHere() { @@ -64,7 +62,6 @@ protected boolean isValidLightLevel() { return true; } - /** * Get this Entity's EnumCreatureAttribute */ @@ -74,30 +71,32 @@ public EnumCreatureAttribute getCreatureAttribute() { } /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. */ @Override protected void dropFewItems(boolean par1, int par2) { - if(rand.nextInt(20) == 0) { + if (rand.nextInt(20) == 0) { int damage = (int) (AtumItems.ITEM_SCIMITAR.getMaxDamage() - rand.nextInt(AtumItems.ITEM_SCIMITAR.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(AtumItems.ITEM_SCIMITAR.itemID, 1, damage), 0.0F); + this.entityDropItem(new ItemStack(AtumItems.ITEM_SCIMITAR, 1, damage), 0.0F); } - if(rand.nextInt(4) == 0) { + if (rand.nextInt(4) == 0) { int amount = rand.nextInt(3) + 3; - this.dropItem(Item.goldNugget.itemID, amount); + this.dropItem(Items.gold_nugget, amount); } - if(rand.nextInt(4) == 0) { + if (rand.nextInt(4) == 0) { int choice = rand.nextInt(4); - if(choice == 0) { - this.dropItem(AtumItems.wandererHelmet.itemID, 1); - } else if(choice == 1) { - this.dropItem(AtumItems.wandererChest.itemID, 1); - } else if(choice == 2) { - this.dropItem(AtumItems.wandererLegs.itemID, 1); - } else if(choice == 3) { - this.dropItem(AtumItems.wandererBoots.itemID, 1); + if (choice == 0) { + this.dropItem(AtumItems.wandererHelmet, 1); + } else if (choice == 1) { + this.dropItem(AtumItems.wandererChest, 1); + } else if (choice == 2) { + this.dropItem(AtumItems.wandererLegs, 1); + } else if (choice == 3) { + this.dropItem(AtumItems.wandererBoots, 1); } } } diff --git a/src/com/teammetallurgy/atum/entity/EntityBanditWarrior.java b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarrior.java similarity index 82% rename from src/com/teammetallurgy/atum/entity/EntityBanditWarrior.java rename to src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarrior.java index 67e01d9..5be158c 100644 --- a/src/com/teammetallurgy/atum/entity/EntityBanditWarrior.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarrior.java @@ -4,7 +4,7 @@ import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.monster.EntityMob; -import net.minecraft.item.Item; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.util.MathHelper; import net.minecraft.world.World; @@ -20,7 +20,7 @@ public EntityBanditWarrior(World par1World) { super.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCIMITAR)); this.enchantEquipment(); - for(int i = 0; i < this.equipmentDropChances.length; ++i) { + for (int i = 0; i < this.equipmentDropChances.length; ++i) { this.equipmentDropChances[i] = 0F; } } @@ -28,10 +28,10 @@ public EntityBanditWarrior(World par1World) { @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(30.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(3.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(30.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(3.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); } public String getTexture() { @@ -39,7 +39,8 @@ public String getTexture() { } /** - * Checks if the entity's current position is a valid location to spawn this entity. + * Checks if the entity's current position is a valid location to spawn this + * entity. */ @Override public boolean getCanSpawnHere() { @@ -74,18 +75,20 @@ public int getAttackStrength(Entity par1Entity) { } /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. */ @Override protected void dropFewItems(boolean par1, int par2) { - if(rand.nextInt(20) == 0) { + if (rand.nextInt(20) == 0) { int damage = (int) (AtumItems.ITEM_SCIMITAR.getMaxDamage() - rand.nextInt(AtumItems.ITEM_SCIMITAR.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(AtumItems.ITEM_SCIMITAR.itemID, 1, damage), 0.0F); + this.entityDropItem(new ItemStack(AtumItems.ITEM_SCIMITAR, 1, damage), 0.0F); } - if(rand.nextInt(10) == 0) { + if (rand.nextInt(10) == 0) { int amount = rand.nextInt(2) + 1; - this.dropItem(Item.goldNugget.itemID, amount); + this.dropItem(Items.gold_nugget, amount); } } } diff --git a/src/com/teammetallurgy/atum/entity/EntityBarbarian.java b/src/main/java/com/teammetallurgy/atum/entity/EntityBarbarian.java similarity index 79% rename from src/com/teammetallurgy/atum/entity/EntityBarbarian.java rename to src/main/java/com/teammetallurgy/atum/entity/EntityBarbarian.java index c0d4a05..8130dd5 100644 --- a/src/com/teammetallurgy/atum/entity/EntityBarbarian.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityBarbarian.java @@ -4,7 +4,7 @@ import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.monster.EntityMob; -import net.minecraft.item.Item; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.util.MathHelper; import net.minecraft.world.World; @@ -16,11 +16,11 @@ public class EntityBarbarian extends EntityMob implements IAtumDayMob { public EntityBarbarian(World par1World) { super(par1World); this.experienceValue = 9; - + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_GREATSWORD)); this.enchantEquipment(); - for(int i = 0; i < this.equipmentDropChances.length; ++i) { + for (int i = 0; i < this.equipmentDropChances.length; ++i) { this.equipmentDropChances[i] = 0F; } } @@ -28,10 +28,10 @@ public EntityBarbarian(World par1World) { @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(30.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(4.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(30.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); } @Override @@ -39,7 +39,8 @@ protected void addRandomArmor() { } /** - * Checks if the entity's current position is a valid location to spawn this entity. + * Checks if the entity's current position is a valid location to spawn this + * entity. */ @Override public boolean getCanSpawnHere() { @@ -63,28 +64,31 @@ public EnumCreatureAttribute getCreatureAttribute() { } /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. */ @Override protected void dropFewItems(boolean par1, int par2) { - if(rand.nextInt(20) == 0) { + if (rand.nextInt(20) == 0) { int damage = (int) (AtumItems.ITEM_GREATSWORD.getMaxDamage() - rand.nextInt(AtumItems.ITEM_GREATSWORD.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(AtumItems.ITEM_GREATSWORD.itemID, 1, damage), 0.0F); + this.entityDropItem(new ItemStack(AtumItems.ITEM_GREATSWORD, 1, damage), 0.0F); } - if(rand.nextInt(4) == 0) { + if (rand.nextInt(4) == 0) { int amount = rand.nextInt(2) + 1; - this.dropItem(Item.goldNugget.itemID, amount); + this.dropItem(Items.gold_nugget, amount); } } /** - * Basic mob attack. Default to touch of death in EntityCreature. Overridden by each mob to define their attack. + * Basic mob attack. Default to touch of death in EntityCreature. Overridden + * by each mob to define their attack. */ @Override protected void attackEntity(Entity mob, float par2) { - if(!(mob instanceof EntityStoneSoldier || mob instanceof EntityPharaoh)) { + if (!(mob instanceof EntityStoneSoldier || mob instanceof EntityPharaoh)) { float j = 1.2f; mob.addVelocity((double) (-MathHelper.sin(this.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), 0.1D, (double) (MathHelper.cos(this.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); } diff --git a/src/com/teammetallurgy/atum/entity/EntityDesertWolf.java b/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java similarity index 81% rename from src/com/teammetallurgy/atum/entity/EntityDesertWolf.java rename to src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java index 0ffd3af..b821839 100644 --- a/src/com/teammetallurgy/atum/entity/EntityDesertWolf.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java @@ -21,7 +21,7 @@ import net.minecraft.entity.passive.EntityTameable; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.item.Item; +import net.minecraft.init.Items; import net.minecraft.item.ItemFood; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -76,9 +76,9 @@ public EntityDesertWolf(World par1World) { @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(8.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.43000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(8.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.43000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); } /** @@ -90,7 +90,9 @@ public boolean isAIEnabled() { } /** - * Finds the closest player within 16 blocks to attack, or null if this Entity isn't interested in attacking (Animals, Spiders at day, peaceful PigZombies). + * Finds the closest player within 16 blocks to attack, or null if this + * Entity isn't interested in attacking (Animals, Spiders at day, peaceful + * PigZombies). */ @Override protected Entity findPlayerToAttack() { @@ -105,7 +107,7 @@ protected Entity findPlayerToAttack() { public void setAttackTarget(EntityLivingBase par1EntityLiving) { super.setAttackTarget(par1EntityLiving); - if(par1EntityLiving instanceof EntityPlayer) { + if (par1EntityLiving instanceof EntityPlayer) { this.setAngry(true); } } @@ -119,19 +121,17 @@ protected void updateAITick() { } /** - * Checks if the entity's current position is a valid location to spawn this entity. + * Checks if the entity's current position is a valid location to spawn this + * entity. */ @Override public boolean getCanSpawnHere() { return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); } - /** - * Plays step sound at given x, y, z for the entity - */ @Override - protected void playStepSound(int par1, int par2, int par3, int par4) { - this.playSound("mob.wolf.step", 0.15F, 1.0F); + public void playSound(String par1Str, float par2, float par3) { + //this.playSound("mob.wolf.step", 0.15F, 1.0F); } /** @@ -194,27 +194,31 @@ protected float getSoundVolume() { } /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. */ @Override protected void dropFewItems(boolean par1, int par2) { - if(rand.nextInt(10) == 0) { - this.dropItem(Item.bone.itemID, 1); + if (rand.nextInt(10) == 0) { + this.dropItem(Items.bone, 1); } - if(rand.nextInt(4) == 0) { + if (rand.nextInt(4) == 0) { int amount = rand.nextInt(2) + 1; - this.dropItem(AtumItems.pelt.itemID, amount); + this.dropItem(AtumItems.pelt, amount); } } /** - * Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons use this to react to sunlight and start to burn. + * Called frequently so the entity can update its state every tick as + * required. For example, zombies and skeletons use this to react to + * sunlight and start to burn. */ @Override public void onLivingUpdate() { super.onLivingUpdate(); - if(!this.worldObj.isRemote && this.isShaking && !this.field_70928_h && !this.hasPath() && this.onGround) { + if (!this.worldObj.isRemote && this.isShaking && !this.field_70928_h && !this.hasPath() && this.onGround) { this.field_70928_h = true; this.timeWolfIsShaking = 0.0F; this.prevTimeWolfIsShaking = 0.0F; @@ -229,48 +233,48 @@ public void onLivingUpdate() { public void onUpdate() { super.onUpdate(); - if(!this.worldObj.isRemote && this.worldObj.difficultySetting == 0) { + if (!this.worldObj.isRemote && this.worldObj.difficultySetting.getDifficultyId() == 0) { this.setDead(); return; } this.field_70924_f = this.field_70926_e; - if(this.func_70922_bv()) { + if (this.func_70922_bv()) { this.field_70926_e += (1.0F - this.field_70926_e) * 0.4F; } else { this.field_70926_e += (0.0F - this.field_70926_e) * 0.4F; } - if(this.func_70922_bv()) { + if (this.func_70922_bv()) { this.numTicksToChaseTarget = 10; } - if(this.isWet()) { + if (this.isWet()) { this.isShaking = true; this.field_70928_h = false; this.timeWolfIsShaking = 0.0F; this.prevTimeWolfIsShaking = 0.0F; - } else if((this.isShaking || this.field_70928_h) && this.field_70928_h) { - if(this.timeWolfIsShaking == 0.0F) { + } else if ((this.isShaking || this.field_70928_h) && this.field_70928_h) { + if (this.timeWolfIsShaking == 0.0F) { this.playSound("mob.wolf.shake", this.getSoundVolume(), (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F); } this.prevTimeWolfIsShaking = this.timeWolfIsShaking; this.timeWolfIsShaking += 0.05F; - if(this.prevTimeWolfIsShaking >= 2.0F) { + if (this.prevTimeWolfIsShaking >= 2.0F) { this.isShaking = false; this.field_70928_h = false; this.prevTimeWolfIsShaking = 0.0F; this.timeWolfIsShaking = 0.0F; } - if(this.timeWolfIsShaking > 0.4F) { + if (this.timeWolfIsShaking > 0.4F) { float f = (float) this.boundingBox.minY; int i = (int) (MathHelper.sin((this.timeWolfIsShaking - 0.4F) * (float) Math.PI) * 7.0F); - for(int j = 0; j < i; ++j) { + for (int j = 0; j < i; ++j) { float f1 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; float f2 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; this.worldObj.spawnParticle("splash", this.posX + (double) f1, (double) (f + 0.8F), this.posZ + (double) f2, this.motionX, this.motionY, this.motionZ); @@ -296,9 +300,9 @@ public float getShadingWhileShaking(float par1) { public float getShakeAngle(float par1, float par2) { float f2 = (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * par1 + par2) / 1.8F; - if(f2 < 0.0F) { + if (f2 < 0.0F) { f2 = 0.0F; - } else if(f2 > 1.0F) { + } else if (f2 > 1.0F) { f2 = 1.0F; } @@ -316,7 +320,8 @@ public float getEyeHeight() { } /** - * The speed it takes to move the entityliving's rotationPitch through the faceEntity method. This is only currently use in wolves. + * The speed it takes to move the entityliving's rotationPitch through the + * faceEntity method. This is only currently use in wolves. */ @Override public int getVerticalFaceSpeed() { @@ -328,13 +333,13 @@ public int getVerticalFaceSpeed() { */ @Override public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { - if(this.isEntityInvulnerable()) { + if (this.isEntityInvulnerable()) { return false; } else { Entity entity = par1DamageSource.getEntity(); this.aiSit.setSitting(false); - if(entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) { + if (entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) { par2 = (par2 + 1) / 2; } @@ -349,25 +354,26 @@ public boolean attackEntityAsMob(Entity par1Entity) { } /** - * Called when a player interacts with a mob. e.g. gets milk from a cow, gets into the saddle on a pig. + * Called when a player interacts with a mob. e.g. gets milk from a cow, + * gets into the saddle on a pig. */ @Override public boolean interact(EntityPlayer par1EntityPlayer) { ItemStack itemstack = par1EntityPlayer.inventory.getCurrentItem(); - if(this.isTamed()) { - if(itemstack != null) { - if(Item.itemsList[itemstack.itemID] instanceof ItemFood) { - ItemFood itemfood = (ItemFood) Item.itemsList[itemstack.itemID]; + if (this.isTamed()) { + if (itemstack != null) { + if (itemstack.getItem() instanceof ItemFood) { + ItemFood itemfood = (ItemFood) itemstack.getItem(); - if(itemfood.isWolfsFavoriteMeat() && this.dataWatcher.getWatchableObjectInt(18) < 20) { - if(!par1EntityPlayer.capabilities.isCreativeMode) { + if (itemfood.isWolfsFavoriteMeat() && this.dataWatcher.getWatchableObjectInt(18) < 20) { + if (!par1EntityPlayer.capabilities.isCreativeMode) { --itemstack.stackSize; } - this.heal(itemfood.getHealAmount()); + this.heal(itemfood.func_150905_g(itemstack)); - if(itemstack.stackSize <= 0) { + if (itemstack.stackSize <= 0) { par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); } @@ -376,27 +382,27 @@ public boolean interact(EntityPlayer par1EntityPlayer) { } } - if(par1EntityPlayer.username.equalsIgnoreCase(this.getOwnerName()) && !this.worldObj.isRemote && !this.isBreedingItem(itemstack)) { + if (par1EntityPlayer.getGameProfile().getName().equalsIgnoreCase(this.getOwnerName()) && !this.worldObj.isRemote && !this.isBreedingItem(itemstack)) { this.aiSit.setSitting(!this.isSitting()); this.isJumping = false; this.setPathToEntity((PathEntity) null); } - } else if(itemstack != null && itemstack.itemID == Item.bone.itemID && !this.isAngry()) { - if(!par1EntityPlayer.capabilities.isCreativeMode) { + } else if (itemstack != null && itemstack.getItem() == Items.bone && !this.isAngry()) { + if (!par1EntityPlayer.capabilities.isCreativeMode) { --itemstack.stackSize; } - if(itemstack.stackSize <= 0) { + if (itemstack.stackSize <= 0) { par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); } - if(!this.worldObj.isRemote) { - if(this.rand.nextInt(3) == 0) { + if (!this.worldObj.isRemote) { + if (this.rand.nextInt(3) == 0) { this.setTamed(true); this.setPathToEntity((PathEntity) null); this.setAttackTarget((EntityLiving) null); this.aiSit.setSitting(true); - this.setOwner(par1EntityPlayer.username); + this.setOwner(par1EntityPlayer.getGameProfile().getName()); this.playTameEffect(true); this.worldObj.setEntityState(this, (byte) 7); } else { @@ -414,7 +420,7 @@ public boolean interact(EntityPlayer par1EntityPlayer) { @SideOnly(Side.CLIENT) @Override public void handleHealthUpdate(byte par1) { - if(par1 == 8) { + if (par1 == 8) { this.field_70928_h = true; this.timeWolfIsShaking = 0.0F; this.prevTimeWolfIsShaking = 0.0F; @@ -429,11 +435,12 @@ public float getTailRotation() { } /** - * Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on the animal type) + * Checks if the parameter is an item which this animal can be fed to breed + * it (wheat, carrots or seeds depending on the animal type) */ @Override public boolean isBreedingItem(ItemStack par1ItemStack) { - return par1ItemStack == null ? false : (!(Item.itemsList[par1ItemStack.itemID] instanceof ItemFood) ? false : ((ItemFood) Item.itemsList[par1ItemStack.itemID]).isWolfsFavoriteMeat()); + return par1ItemStack == null ? false : (!(par1ItemStack.getItem() instanceof ItemFood) ? false : ((ItemFood) par1ItemStack.getItem()).isWolfsFavoriteMeat()); } /** @@ -457,7 +464,7 @@ public boolean isAngry() { public void setAngry(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - if(par1) { + if (par1) { this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 2))); } else { this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -3))); @@ -465,13 +472,14 @@ public void setAngry(boolean par1) { } /** - * This function is used when two same-species animals in 'love mode' breed to generate the new baby animal. + * This function is used when two same-species animals in 'love mode' breed + * to generate the new baby animal. */ public EntityDesertWolf spawnBabyAnimal(EntityAgeable par1EntityAgeable) { EntityDesertWolf entitywolf = new EntityDesertWolf(this.worldObj); String s = this.getOwnerName(); - if(s != null && s.trim().length() > 0) { + if (s != null && s.trim().length() > 0) { entitywolf.setOwner(s); entitywolf.setTamed(true); } @@ -482,7 +490,7 @@ public EntityDesertWolf spawnBabyAnimal(EntityAgeable par1EntityAgeable) { public void func_70918_i(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(19); - if(par1) { + if (par1) { this.dataWatcher.updateObject(19, Byte.valueOf((byte) 1)); } else { this.dataWatcher.updateObject(19, Byte.valueOf((byte) 0)); @@ -494,11 +502,11 @@ public void func_70918_i(boolean par1) { */ @Override public boolean canMateWith(EntityAnimal par1EntityAnimal) { - if(par1EntityAnimal == this) { + if (par1EntityAnimal == this) { return false; - } else if(!this.isTamed()) { + } else if (!this.isTamed()) { return false; - } else if(!(par1EntityAnimal instanceof EntityDesertWolf)) { + } else if (!(par1EntityAnimal instanceof EntityDesertWolf)) { return false; } else { EntityDesertWolf entitywolf = (EntityDesertWolf) par1EntityAnimal; @@ -516,7 +524,7 @@ public EntityAgeable createChild(EntityAgeable par1EntityAgeable) { } @Override - public Entity getOwner() { + public EntityLivingBase getOwner() { return null; } } diff --git a/src/com/teammetallurgy/atum/entity/EntityDustySkeleton.java b/src/main/java/com/teammetallurgy/atum/entity/EntityDustySkeleton.java similarity index 84% rename from src/com/teammetallurgy/atum/entity/EntityDustySkeleton.java rename to src/main/java/com/teammetallurgy/atum/entity/EntityDustySkeleton.java index 0d2f800..0a6cbe1 100644 --- a/src/com/teammetallurgy/atum/entity/EntityDustySkeleton.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityDustySkeleton.java @@ -3,7 +3,7 @@ import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.monster.EntityMob; -import net.minecraft.item.Item; +import net.minecraft.init.Items; import net.minecraft.util.DamageSource; import net.minecraft.world.World; @@ -20,20 +20,20 @@ public EntityDustySkeleton(World par1World) { @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(20.0D); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20.0D); double speed = 0.53000000417232513D; - if(this.onFire) { + if (this.onFire) { speed = 0.9D; } - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(speed); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(4.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(speed); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); } @Override public void onUpdate() { super.onUpdate(); - if(this.isBurning()) { + if (this.isBurning()) { this.onFire = true; this.applyEntityAttributes(); } @@ -45,7 +45,8 @@ public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { } /** - * Checks if the entity's current position is a valid location to spawn this entity. + * Checks if the entity's current position is a valid location to spawn this + * entity. */ @Override public boolean getCanSpawnHere() { @@ -69,14 +70,16 @@ public EnumCreatureAttribute getCreatureAttribute() { } /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. */ @Override protected void dropFewItems(boolean par1, int par2) { - switch(this.rand.nextInt(4)) { + switch (this.rand.nextInt(4)) { case 0: int amount = rand.nextInt(2) + 1; - this.dropItem(Item.bone.itemID, amount); + this.dropItem(Items.bone, amount); break; } } diff --git a/src/com/teammetallurgy/atum/entity/EntityGhost.java b/src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java similarity index 81% rename from src/com/teammetallurgy/atum/entity/EntityGhost.java rename to src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java index afabf3c..f1de216 100644 --- a/src/com/teammetallurgy/atum/entity/EntityGhost.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java @@ -1,5 +1,6 @@ package com.teammetallurgy.atum.entity; +import net.minecraft.block.Block; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EnumCreatureAttribute; @@ -28,10 +29,10 @@ public EntityGhost(World par1World) { @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(10.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(1.04D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(2.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(10.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(1.04D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(2.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); } /** @@ -49,7 +50,8 @@ public void onLivingUpdate() { } /** - * Checks if the entity's current position is a valid location to spawn this entity. + * Checks if the entity's current position is a valid location to spawn this + * entity. */ @Override public boolean getCanSpawnHere() { @@ -68,11 +70,11 @@ protected boolean isValidLightLevel() { protected void jump() { this.motionY = 0.56999998688697815D; - if(this.isPotionActive(Potion.jump)) { + if (this.isPotionActive(Potion.jump)) { this.motionY += (double) ((float) (this.getActivePotionEffect(Potion.jump).getAmplifier() + 1) * 0.1F); } - if(this.isSprinting()) { + if (this.isSprinting()) { float f = this.rotationYaw * 0.017453292F; this.motionX -= (double) (MathHelper.sin(f) * 0.2F); this.motionZ += (double) (MathHelper.cos(f) * 0.2F); @@ -86,7 +88,7 @@ protected void jump() { * Plays step sound at given x, y, z for the entity */ @Override - protected void playStepSound(int par1, int par2, int par3, int par4) { + protected void func_145780_a(int par1, int par2, int par3, Block par4) { } /** @@ -103,14 +105,15 @@ public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { } /** - * Basic mob attack. Default to touch of death in EntityCreature. Overridden by each mob to define their attack. + * Basic mob attack. Default to touch of death in EntityCreature. Overridden + * by each mob to define their attack. */ @Override protected void attackEntity(Entity par1Entity, float par2) { - if(this.attackTime <= 0 && par2 < 2.0F && par1Entity.boundingBox.maxY > this.boundingBox.minY && par1Entity.boundingBox.minY < this.boundingBox.maxY) { + if (this.attackTime <= 0 && par2 < 2.0F && par1Entity.boundingBox.maxY > this.boundingBox.minY && par1Entity.boundingBox.minY < this.boundingBox.maxY) { this.attackTime = 20; this.attackEntityAsMob(par1Entity); - if(Math.random() > 0.75 && par1Entity instanceof EntityLiving) { + if (Math.random() > 0.75 && par1Entity instanceof EntityLiving) { EntityLiving e = (EntityLiving) par1Entity; e.addPotionEffect(new PotionEffect(2, 100, 2)); } @@ -118,13 +121,15 @@ protected void attackEntity(Entity par1Entity, float par2) { } /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. */ @Override protected void dropFewItems(boolean par1, int par2) { - if(this.rand.nextInt(4) == 0) { + if (this.rand.nextInt(4) == 0) { int amount = rand.nextInt(3) + 1; - this.dropItem(AtumItems.ectoplasm.itemID, amount); + this.dropItem(AtumItems.ectoplasm, amount); } } diff --git a/src/com/teammetallurgy/atum/entity/EntityMummy.java b/src/main/java/com/teammetallurgy/atum/entity/EntityMummy.java similarity index 74% rename from src/com/teammetallurgy/atum/entity/EntityMummy.java rename to src/main/java/com/teammetallurgy/atum/entity/EntityMummy.java index 90ff37a..386d8be 100644 --- a/src/com/teammetallurgy/atum/entity/EntityMummy.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityMummy.java @@ -4,7 +4,7 @@ import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.monster.EntityMob; -import net.minecraft.item.Item; +import net.minecraft.init.Items; import net.minecraft.util.DamageSource; import net.minecraft.world.World; @@ -20,14 +20,15 @@ public EntityMummy(World par1World) { @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(40.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(2.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(40.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(2.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); } /** - * Checks if the entity's current position is a valid location to spawn this entity. + * Checks if the entity's current position is a valid location to spawn this + * entity. */ @Override public boolean getCanSpawnHere() { @@ -52,10 +53,10 @@ public EnumCreatureAttribute getCreatureAttribute() { @Override public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { - if(par1DamageSource.isFireDamage()) { + if (par1DamageSource.isFireDamage()) { par2 += 1; } - if(this.isBurning()) { + if (this.isBurning()) { par2 = (int) (par2 * 1.5); } @@ -66,24 +67,26 @@ public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { public boolean attackEntityAsMob(Entity par1Entity) { boolean flag = super.attackEntityAsMob(par1Entity); - if(flag && this.isBurning() && this.rand.nextFloat() < (float) this.worldObj.difficultySetting * 0.4F) { - par1Entity.setFire(2 * this.worldObj.difficultySetting); + if (flag && this.isBurning() && this.rand.nextFloat() < (float) this.worldObj.difficultySetting.getDifficultyId() * 0.4F) { + par1Entity.setFire(2 * this.worldObj.difficultySetting.getDifficultyId()); } return flag; } /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. */ @Override protected void dropFewItems(boolean par1, int par2) { - if(rand.nextInt(4) == 0) { - this.dropItem(Item.rottenFlesh.itemID, 1); + if (rand.nextInt(4) == 0) { + this.dropItem(Items.rotten_flesh, 1); } - if(rand.nextInt(4) == 0) { + if (rand.nextInt(4) == 0) { int amount = rand.nextInt(2) + 1; - this.dropItem(AtumItems.scrap.itemID, amount); + this.dropItem(AtumItems.ITEM_SCRAP, amount); } } } diff --git a/src/com/teammetallurgy/atum/entity/EntityPharaoh.java b/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java similarity index 69% rename from src/com/teammetallurgy/atum/entity/EntityPharaoh.java rename to src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java index 1d45429..90fe34c 100644 --- a/src/com/teammetallurgy/atum/entity/EntityPharaoh.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java @@ -12,11 +12,13 @@ import net.minecraft.entity.boss.IBossDisplayData; import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; import net.minecraft.world.World; @@ -35,9 +37,9 @@ public class EntityPharaoh extends EntityMob implements IBossDisplayData { int stage; - public static String[] prefix = {"Ama'", "Ata'", "Ato'", "Bak'", "Cal'", "Djet'", "Eje'", "For'", "Gol'", "Gut'", "Hop'", "Hor'", "Huni'", "Iam'", "Jor'", "Kal'", "Khas'", "Khor'", "Lat'", "Mal'", "Not'", "Oap'", "Pra'", "Qo'", "Ras'", "Shas'", "Thoth'", "Tui'", "Uld'", "Ver'", "Wot'", "Xo'", "Yat'", "Zyt'", "Khep'"}; - public static String[] suffix = {"Ahat", "Amesh", "Amon", "Anut", "Baroom", "Chanta", "Erant", "Funam", "Daresh", "Djer", "Hotesh", "Khaden", "Kron", "Gorkum", "Ialenter", "Ma'at", "Narmer", "Radeem", "Jaloom", "Lepsha", "Quor", "Oleshet", "Peput", "Talat", "Ulam", "Veresh", "Ranesh", "Snef", "Wollolo", "Hathor", "Intef", "Neferk", "Khatne", "Tepy", "Moret"}; - public static String[] numeral = {"I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII", "XIII", "XIV", "XV"}; + public static String[] prefix = { "Ama'", "Ata'", "Ato'", "Bak'", "Cal'", "Djet'", "Eje'", "For'", "Gol'", "Gut'", "Hop'", "Hor'", "Huni'", "Iam'", "Jor'", "Kal'", "Khas'", "Khor'", "Lat'", "Mal'", "Not'", "Oap'", "Pra'", "Qo'", "Ras'", "Shas'", "Thoth'", "Tui'", "Uld'", "Ver'", "Wot'", "Xo'", "Yat'", "Zyt'", "Khep'" }; + public static String[] suffix = { "Ahat", "Amesh", "Amon", "Anut", "Baroom", "Chanta", "Erant", "Funam", "Daresh", "Djer", "Hotesh", "Khaden", "Kron", "Gorkum", "Ialenter", "Ma'at", "Narmer", "Radeem", "Jaloom", "Lepsha", "Quor", "Oleshet", "Peput", "Talat", "Ulam", "Veresh", "Ranesh", "Snef", "Wollolo", "Hathor", "Intef", "Neferk", "Khatne", "Tepy", "Moret" }; + public static String[] numeral = { "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII", "XIII", "XIV", "XV" }; private int suffixID = 0; private int prefixID = 0; @@ -52,7 +54,7 @@ public EntityPharaoh(World par1World) { this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCEPTER)); - for(int i = 0; i < this.equipmentDropChances.length; ++i) { + for (int i = 0; i < this.equipmentDropChances.length; ++i) { this.equipmentDropChances[i] = 0F; } } @@ -60,10 +62,10 @@ public EntityPharaoh(World par1World) { @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(300.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(4.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(300.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); } public void setName(int par1, int par2, int par3) { @@ -92,20 +94,20 @@ protected void despawnEntity() { public void onDeath(DamageSource par1DamageSource) { super.onDeath(par1DamageSource); - if(par1DamageSource.damageType == "player") { + if (par1DamageSource.damageType == "player") { EntityPlayer slayer = (EntityPlayer) par1DamageSource.getEntity(); - if(!worldObj.isRemote) { + if (!worldObj.isRemote) { List players = FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList; - for(EntityPlayer player : players) { - player.addChatMessage(this.getEntityName() + " was slain by " + slayer.getEntityName()); + for (EntityPlayer player : players) { + player.addChatMessage(new ChatComponentText(this.getCommandSenderName() + " was slain by " + slayer.getGameProfile().getName())); } } } - if(linkedX != 0 && linkedY != 0 && linkedZ != 0) { - TileEntity te = worldObj.getBlockTileEntity(linkedX, linkedY, linkedZ); - if(te != null) { - if(te instanceof TileEntityPharaohChest) { + if (linkedX != 0 && linkedY != 0 && linkedZ != 0) { + TileEntity te = worldObj.getTileEntity(linkedX, linkedY, linkedZ); + if (te != null) { + if (te instanceof TileEntityPharaohChest) { TileEntityPharaohChest tepc = (TileEntityPharaohChest) te; tepc.setOpenable(); } @@ -114,16 +116,15 @@ public void onDeath(DamageSource par1DamageSource) { } @Override - public String getEntityName() { + public String getCommandSenderName() { try { int s = this.dataWatcher.getWatchableObjectInt(18); int p = this.dataWatcher.getWatchableObjectInt(19); int n = this.dataWatcher.getWatchableObjectInt(20); return "Pharaoh " + prefix[p] + suffix[s] + " " + numeral[n]; - } catch(Exception e) { + } catch (Exception e) { return ""; } - } /** @@ -148,25 +149,25 @@ public void knockBack(Entity par1Entity, float par2, double par3, double par5) { this.motionX -= par3 / (double) f * (double) f1; this.motionZ -= par5 / (double) f * (double) f1; - if(this.motionY > 0.4000000059604645D) { + if (this.motionY > 0.4000000059604645D) { this.motionY = 0.4000000059604645D; } } @Override public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { - if(par1DamageSource.isFireDamage()) { + if (par1DamageSource.isFireDamage()) { par2 = 0; } - if(super.attackEntityFrom(par1DamageSource, par2)) { - if(par1DamageSource.getEntity() != null) { + if (super.attackEntityFrom(par1DamageSource, par2)) { + if (par1DamageSource.getEntity() != null) { Entity par1Entity = par1DamageSource.getEntity(); int j = 0; - if(par1Entity instanceof EntityLiving) { + if (par1Entity instanceof EntityLiving) { j += EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, this); - if(j > 0) { + if (j > 0) { this.motionX /= 0.6D; this.motionZ /= 0.6D; this.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), -0.1D, (double) (-MathHelper.cos(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); @@ -175,13 +176,13 @@ public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { } - if(this.getHealth() < this.getMaxHealth() * 0.75 && stage == 0) { + if (this.getHealth() < this.getMaxHealth() * 0.75 && stage == 0) { stage++; spawnGuards(); - } else if(stage == 1 && this.getHealth() < this.getMaxHealth() * 0.5) { + } else if (stage == 1 && this.getHealth() < this.getMaxHealth() * 0.5) { stage++; spawnGuards(); - } else if(stage == 2 && this.getHealth() < this.getMaxHealth() * 0.25) { + } else if (stage == 2 && this.getHealth() < this.getMaxHealth() * 0.25) { stage++; spawnGuards(); } @@ -192,7 +193,8 @@ public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { } /** - * Destroys all blocks that aren't associated with 'The End' inside the given bounding box. + * Destroys all blocks that aren't associated with 'The End' inside the + * given bounding box. */ private boolean destroyBlocksInAABB(AxisAlignedBB par1AxisAlignedBB) { @@ -205,16 +207,15 @@ private boolean destroyBlocksInAABB(AxisAlignedBB par1AxisAlignedBB) { boolean flag = false; boolean flag1 = false; - for(int x = minX; x <= maxX; ++x) { - for(int y = minY; y <= maxY; ++y) { - for(int z = minZ; z <= maxZ; ++z) { - int id = this.worldObj.getBlockId(x, y, z); + for (int x = minX; x <= maxX; ++x) { + for (int y = minY; y <= maxY; ++y) { + for (int z = minZ; z <= maxZ; ++z) { + Block block = this.worldObj.getBlock(x, y, z); int metadata = this.worldObj.getBlockMetadata(x, y, z); - Block block = Block.blocksList[id]; - if(block != null) { - if(id != AtumBlocks.BLOCK_LARGEBRICK.blockID && id != AtumBlocks.BLOCK_PHARAOHCHEST.blockID && Block.blocksList[id].isBlockSolid(worldObj, x, y, z, 0)) { - Block.blocksList[id].dropBlockAsItem(worldObj, x, y, z, metadata, 0); + if (block != null) { + if (block != AtumBlocks.BLOCK_LARGEBRICK && block != AtumBlocks.BLOCK_PHARAOHCHEST && block.isBlockSolid(worldObj, x, y, z, 0)) { + block.dropBlockAsItem(worldObj, x, y, z, metadata, 0); flag1 = this.worldObj.setBlockToAir(x, y, z) || flag1; } @@ -224,7 +225,7 @@ private boolean destroyBlocksInAABB(AxisAlignedBB par1AxisAlignedBB) { } } - if(flag1) { + if (flag1) { double d0 = par1AxisAlignedBB.minX + (par1AxisAlignedBB.maxX - par1AxisAlignedBB.minX) * (double) this.rand.nextFloat(); double d1 = par1AxisAlignedBB.minY + (par1AxisAlignedBB.maxY - par1AxisAlignedBB.minY) * (double) this.rand.nextFloat(); double d2 = par1AxisAlignedBB.minZ + (par1AxisAlignedBB.maxZ - par1AxisAlignedBB.minZ) * (double) this.rand.nextFloat(); @@ -237,52 +238,52 @@ private boolean destroyBlocksInAABB(AxisAlignedBB par1AxisAlignedBB) { private void spawnGuards() { int numSpawned = 0; - if(trySpawnMummy((int) posX + 1, (int) posY, (int) posZ)) { + if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ)) { numSpawned++; } - if(numSpawned >= 2) + if (numSpawned >= 2) return; - if(trySpawnMummy((int) posX - 1, (int) posY, (int) posZ - 1)) { + if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ - 1)) { numSpawned++; } - if(numSpawned >= 2) + if (numSpawned >= 2) return; - if(trySpawnMummy((int) posX, (int) posY, (int) posZ + 1)) { + if (trySpawnMummy((int) posX, (int) posY, (int) posZ + 1)) { numSpawned++; } - if(numSpawned >= 2) + if (numSpawned >= 2) return; - if(trySpawnMummy((int) posX, (int) posY, (int) posZ - 1)) { + if (trySpawnMummy((int) posX, (int) posY, (int) posZ - 1)) { numSpawned++; } - if(numSpawned >= 2) + if (numSpawned >= 2) return; - if(trySpawnMummy((int) posX + 1, (int) posY, (int) posZ + 1)) { + if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ + 1)) { numSpawned++; } - if(numSpawned >= 2) + if (numSpawned >= 2) return; - if(trySpawnMummy((int) posX - 1, (int) posY, (int) posZ - 1)) { + if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ - 1)) { numSpawned++; } - if(numSpawned >= 2) + if (numSpawned >= 2) return; - if(trySpawnMummy((int) posX - 1, (int) posY, (int) posZ + 1)) { + if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ + 1)) { numSpawned++; } - if(numSpawned >= 2) + if (numSpawned >= 2) return; - if(trySpawnMummy((int) posX + 1, (int) posY, (int) posZ - 1)) { + if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ - 1)) { numSpawned++; } - if(numSpawned >= 2) + if (numSpawned >= 2) return; } @@ -290,8 +291,8 @@ private void spawnGuards() { public boolean trySpawnMummy(int x, int y, int z) { EntityMummy mummy1 = new EntityMummy(worldObj); mummy1.setPosition(x, y, z); - if(mummy1.getCanSpawnHere()) { - if(!worldObj.isRemote) + if (mummy1.getCanSpawnHere()) { + if (!worldObj.isRemote) worldObj.spawnEntityInWorld(mummy1); mummy1.spawnExplosionParticle(); return true; @@ -330,7 +331,7 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { protected void entityInit() { super.entityInit(); this.dataWatcher.addObject(16, new Float(100)); - if(suffixID == 0 && prefixID == 0 && numID == 0) { + if (suffixID == 0 && prefixID == 0 && numID == 0) { suffixID = rand.nextInt(suffix.length); prefixID = rand.nextInt(prefix.length); numID = rand.nextInt(numeral.length); @@ -346,9 +347,9 @@ protected void entityInit() { public void onUpdate() { super.onUpdate(); - if(!this.worldObj.isRemote && this.worldObj.difficultySetting == 0) { - TileEntity te = worldObj.getBlockTileEntity(linkedX, linkedY, linkedZ); - if(te instanceof TileEntityPharaohChest) { + if (!this.worldObj.isRemote && this.worldObj.difficultySetting.getDifficultyId() == 0) { + TileEntity te = worldObj.getTileEntity(linkedX, linkedY, linkedZ); + if (te instanceof TileEntityPharaohChest) { ((TileEntityPharaohChest) te).setPharaohDespawned(); } this.setDead(); @@ -357,28 +358,30 @@ public void onUpdate() { @Override public void onLivingUpdate() { - if(!this.worldObj.isRemote) { + if (!this.worldObj.isRemote) { this.dataWatcher.updateObject(16, Float.valueOf(this.prevHealth)); } - if(regenTime++ > 20) { + if (regenTime++ > 20) { regenTime = 0; this.heal(1); } super.onLivingUpdate(); - if(!worldObj.isRemote) + if (!worldObj.isRemote) this.destroyBlocksInAABB(this.boundingBox.expand(0.1, 0, 0.1)); } /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. */ @Override protected void dropFewItems(boolean par1, int par2) { int amount = rand.nextInt(2) + 1; - this.dropItem(Item.ingotGold.itemID, amount); + this.dropItem(Items.gold_ingot, amount); this.entityDropItem(AtumLoot.getRandomArtifact(), 0.0F); } diff --git a/src/com/teammetallurgy/atum/entity/EntityStone.java b/src/main/java/com/teammetallurgy/atum/entity/EntityStone.java similarity index 100% rename from src/com/teammetallurgy/atum/entity/EntityStone.java rename to src/main/java/com/teammetallurgy/atum/entity/EntityStone.java diff --git a/src/com/teammetallurgy/atum/entity/EntityStoneSoldier.java b/src/main/java/com/teammetallurgy/atum/entity/EntityStoneSoldier.java similarity index 95% rename from src/com/teammetallurgy/atum/entity/EntityStoneSoldier.java rename to src/main/java/com/teammetallurgy/atum/entity/EntityStoneSoldier.java index 250fbd8..99dc058 100644 --- a/src/com/teammetallurgy/atum/entity/EntityStoneSoldier.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityStoneSoldier.java @@ -29,10 +29,10 @@ public EntityStoneSoldier(World par1World) { @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(80.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setAttribute(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(4.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setAttribute(10.0D); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(80.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); } /** @@ -108,7 +108,7 @@ public void knockBack(Entity par1Entity, float par2, double par3, double par5) { protected void dropFewItems(boolean par1, int par2) { if(this.rand.nextInt(4) == 0) { int amount = rand.nextInt(2) + 1; - this.dropItem(AtumItems.stoneChunk.itemID, amount); + this.dropItem(AtumItems.stoneChunk, amount); } } diff --git a/src/com/teammetallurgy/atum/entity/IAtumDayMob.java b/src/main/java/com/teammetallurgy/atum/entity/IAtumDayMob.java similarity index 100% rename from src/com/teammetallurgy/atum/entity/IAtumDayMob.java rename to src/main/java/com/teammetallurgy/atum/entity/IAtumDayMob.java diff --git a/src/com/teammetallurgy/atum/entity/IAtumNightMob.java b/src/main/java/com/teammetallurgy/atum/entity/IAtumNightMob.java similarity index 100% rename from src/com/teammetallurgy/atum/entity/IAtumNightMob.java rename to src/main/java/com/teammetallurgy/atum/entity/IAtumNightMob.java diff --git a/src/com/teammetallurgy/atum/entity/arrow/CustomArrow.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java similarity index 61% rename from src/com/teammetallurgy/atum/entity/arrow/CustomArrow.java rename to src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java index 89c99f0..06d35cc 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/CustomArrow.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java @@ -1,10 +1,11 @@ package com.teammetallurgy.atum.entity.arrow; import net.minecraft.entity.Entity; +import net.minecraft.entity.projectile.EntityArrow; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; -public class CustomArrow extends Entity { +public class CustomArrow extends EntityArrow { public float arrowShake = 0; @@ -12,17 +13,13 @@ public CustomArrow(World par1World) { super(par1World); } - public String getTexture() { - return "minecraft:textures/item/arrows.png"; - } - @Override - protected void readEntityFromNBT(NBTTagCompound nbttagcompound) { + public void readEntityFromNBT(NBTTagCompound nbttagcompound) { super.readFromNBT(nbttagcompound); } @Override - protected void writeEntityToNBT(NBTTagCompound nbttagcompound) { + public void writeEntityToNBT(NBTTagCompound nbttagcompound) { super.writeToNBT(nbttagcompound); } diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java similarity index 78% rename from src/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java rename to src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java index 2ab5f3e..6292859 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java @@ -3,6 +3,7 @@ import java.util.List; import net.minecraft.block.Block; +import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.enchantment.EnchantmentThorns; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; @@ -11,10 +12,10 @@ import net.minecraft.entity.monster.EntityEnderman; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; +import net.minecraft.network.play.server.S2BPacketChangeGameState; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; @@ -29,7 +30,7 @@ public class EntityArrowDoubleShot extends CustomArrow implements IProjectile, I private int xTile = -1; private int yTile = -1; private int zTile = -1; - private int inTile = 0; + private Block inTile = null; private int inData = 0; private boolean inGround = false; @@ -67,7 +68,7 @@ public EntityArrowDoubleShot(World par1World, EntityLivingBase par2EntityLiving, this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } @@ -77,7 +78,7 @@ public EntityArrowDoubleShot(World par1World, EntityLivingBase par2EntityLiving, double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); - if(d3 >= 1.0E-7D) { + if (d3 >= 1.0E-7D) { float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); double d4 = d0 / d3; @@ -94,7 +95,7 @@ public EntityArrowDoubleShot(World par1World, EntityLivingBase par2EntityLiving, this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } @@ -116,7 +117,8 @@ protected void entityInit() { } /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z + * direction. */ public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); @@ -157,7 +159,7 @@ public void setVelocity(double par1, double par3, double par5) { this.motionY = par3; this.motionZ = par5; - if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); @@ -174,35 +176,35 @@ public void setVelocity(double par1, double par3, double par5) { public void onUpdate() { super.onUpdate(); - if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); } - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - if(i > 0) { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + if (i != null) { + i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - if(axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { + if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { this.inGround = true; } } - if(this.arrowShake > 0) { + if (this.arrowShake > 0) { --this.arrowShake; } - if(this.inGround) { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + if (this.inGround) { + Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - if(j == this.inTile && k == this.inData) { + if (j == this.inTile && k == this.inData) { ++this.ticksInGround; - if(this.ticksInGround == 1200) { + if (this.ticksInGround == 1200) { this.setDead(); } } else { @@ -217,11 +219,11 @@ public void onUpdate() { ++this.ticksInAir; Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); + MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - if(movingobjectposition != null) { + if (movingobjectposition != null) { vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); } @@ -231,18 +233,18 @@ public void onUpdate() { int l; float f1; - for(l = 0; l < list.size(); ++l) { + for (l = 0; l < list.size(); ++l) { Entity entity1 = (Entity) list.get(l); - if(entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { + if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { f1 = 0.3F; AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - if(movingobjectposition1 != null) { + if (movingobjectposition1 != null) { double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - if(d1 < d0 || d0 == 0.0D) { + if (d1 < d0 || d0 == 0.0D) { entity = entity1; d0 = d1; } @@ -250,14 +252,14 @@ public void onUpdate() { } } - if(entity != null) { + if (entity != null) { movingobjectposition = new MovingObjectPosition(entity); } - if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; - if(entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { + if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { movingobjectposition = null; } } @@ -265,55 +267,56 @@ public void onUpdate() { float f2; float f3; - if(movingobjectposition != null) { - if(movingobjectposition.entityHit != null) { + if (movingobjectposition != null) { + if (movingobjectposition.entityHit != null) { f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); - if(this.getIsCritical()) { + if (this.getIsCritical()) { i1 += this.rand.nextInt(i1 / 2 + 2); } DamageSource damagesource = null; - if(this.shootingEntity == null) { + if (this.shootingEntity == null) { damagesource = DamageSource.causeThrownDamage(this, this); } else { damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); } - if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { movingobjectposition.entityHit.setFire(5); } - if(movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { - if(movingobjectposition.entityHit instanceof EntityLiving) { + if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if (movingobjectposition.entityHit instanceof EntityLiving) { EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; - if(!this.worldObj.isRemote) { + if (!this.worldObj.isRemote) { entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); } - if(this.knockbackStrength > 0) { + if (this.knockbackStrength > 0) { f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - if(f3 > 0.0F) { + if (f3 > 0.0F) { movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); } } - if(this.shootingEntity != null) { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); + if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) { + EnchantmentHelper.func_151384_a(entityliving, this.shootingEntity); + EnchantmentHelper.func_151385_b((EntityLivingBase) this.shootingEntity, entityliving); } - if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { - ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); } } this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { + if (!(movingobjectposition.entityHit instanceof EntityEnderman)) { this.setDead(); } } else { @@ -328,7 +331,7 @@ public void onUpdate() { this.xTile = movingobjectposition.blockX; this.yTile = movingobjectposition.blockY; this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); @@ -342,14 +345,14 @@ public void onUpdate() { this.arrowShake = 7; this.setIsCritical(false); - if(this.inTile != 0) { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + if (this.inTile != null) { + this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); } } } - if(this.getIsCritical() && worldObj.isRemote) { - for(l = 0; l < 4; ++l) { + if (this.getIsCritical() && worldObj.isRemote) { + for (l = 0; l < 4; ++l) { this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); } } @@ -360,19 +363,19 @@ public void onUpdate() { f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - for(this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { ; } - while(this.rotationPitch - this.prevRotationPitch >= 180.0F) { + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { this.prevRotationPitch += 360.0F; } - while(this.rotationYaw - this.prevRotationYaw < -180.0F) { + while (this.rotationYaw - this.prevRotationYaw < -180.0F) { this.prevRotationYaw -= 360.0F; } - while(this.rotationYaw - this.prevRotationYaw >= 180.0F) { + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { this.prevRotationYaw += 360.0F; } @@ -381,8 +384,8 @@ public void onUpdate() { float f4 = 0.99F; f1 = 0.05F; - if(this.isInWater()) { - for(int j1 = 0; j1 < 4; ++j1) { + if (this.isInWater()) { + for (int j1 = 0; j1 < 4; ++j1) { f3 = 0.25F; this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); } @@ -395,7 +398,7 @@ public void onUpdate() { this.motionZ *= (double) f4; this.motionY -= (double) f1; this.setPosition(this.posX, this.posY, this.posZ); - this.doBlockCollisions(); + this.func_145775_I(); } } @@ -406,7 +409,7 @@ public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { par1NBTTagCompound.setShort("xTile", (short) this.xTile); par1NBTTagCompound.setShort("yTile", (short) this.yTile); par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setByte("inTile", (byte) this.inTile); + par1NBTTagCompound.setString("inTile", this.inTile.getUnlocalizedName()); par1NBTTagCompound.setByte("inData", (byte) this.inData); par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); @@ -421,18 +424,18 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { this.xTile = par1NBTTagCompound.getShort("xTile"); this.yTile = par1NBTTagCompound.getShort("yTile"); this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inTile = Block.getBlockFromName(par1NBTTagCompound.getString("inTile")); this.inData = par1NBTTagCompound.getByte("inData") & 255; this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - if(par1NBTTagCompound.hasKey("damage")) { + if (par1NBTTagCompound.hasKey("damage")) { this.damage = par1NBTTagCompound.getDouble("damage"); } - if(par1NBTTagCompound.hasKey("pickup")) { + if (par1NBTTagCompound.hasKey("pickup")) { this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } else if(par1NBTTagCompound.hasKey("player")) { + } else if (par1NBTTagCompound.hasKey("player")) { this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; } } @@ -441,14 +444,14 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { * Called by a player entity when they collide with an entity */ public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { - if(!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { + if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Items.arrow, 1))) { flag = false; } - if(flag) { + if (flag) { this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); par1EntityPlayer.onItemPickup(this, 1); this.setDead(); @@ -457,7 +460,8 @@ public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { } /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to prevent them from trampling crops + * returns if this entity triggers Block.onEntityWalking on the blocks they + * walk on. used for spiders and wolves to prevent them from trampling crops */ protected boolean canTriggerWalking() { return false; @@ -491,12 +495,13 @@ public boolean canAttackWithItem() { } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ public void setIsCritical(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - if(par1) { + if (par1) { this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); } else { this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); @@ -504,7 +509,8 @@ public void setIsCritical(boolean par1) { } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ public boolean getIsCritical() { byte b0 = this.dataWatcher.getWatchableObjectByte(16); @@ -521,8 +527,8 @@ public void setThrower(Entity entity) { shootingEntity = entity; } - @Override - public String getTexture() { - return "atum:textures/projectiles/arrows_double.png"; - } +// @Override +// public String getTexture() { +// return "atum:textures/projectiles/arrows_double.png"; +// } } diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java similarity index 79% rename from src/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java rename to src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java index 3afa5fb..fde8a02 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java @@ -3,6 +3,7 @@ import java.util.List; import net.minecraft.block.Block; +import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.enchantment.EnchantmentThorns; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; @@ -11,10 +12,10 @@ import net.minecraft.entity.monster.EntityEnderman; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; +import net.minecraft.network.play.server.S2BPacketChangeGameState; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; @@ -29,7 +30,7 @@ public class EntityArrowExplosive extends CustomArrow implements IProjectile, IT private int xTile = -1; private int yTile = -1; private int zTile = -1; - private int inTile = 0; + private Block inTile = null; private int inData = 0; private boolean inGround = false; @@ -67,7 +68,7 @@ public EntityArrowExplosive(World par1World, EntityLivingBase par2EntityLiving, this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } @@ -77,7 +78,7 @@ public EntityArrowExplosive(World par1World, EntityLivingBase par2EntityLiving, double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); - if(d3 >= 1.0E-7D) { + if (d3 >= 1.0E-7D) { float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); double d4 = d0 / d3; @@ -94,7 +95,7 @@ public EntityArrowExplosive(World par1World, EntityLivingBase par2EntityLiving, this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } @@ -116,7 +117,8 @@ protected void entityInit() { } /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z + * direction. */ public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); @@ -157,7 +159,7 @@ public void setVelocity(double par1, double par3, double par5) { this.motionY = par3; this.motionZ = par5; - if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); @@ -174,36 +176,36 @@ public void setVelocity(double par1, double par3, double par5) { public void onUpdate() { super.onUpdate(); - if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); } - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - if(i > 0) { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + if (i != null) { + i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - if(axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { + if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { this.worldObj.newExplosion(this, this.posX, this.posY, this.posZ, 2.0F, this.isBurning(), true); this.inGround = true; } } - if(this.arrowShake > 0) { + if (this.arrowShake > 0) { --this.arrowShake; } - if(this.inGround) { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + if (this.inGround) { + Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - if(j == this.inTile && k == this.inData) { + if (j == this.inTile && k == this.inData) { ++this.ticksInGround; - if(this.ticksInGround == 1200) { + if (this.ticksInGround == 1200) { this.setDead(); } } else { @@ -218,11 +220,11 @@ public void onUpdate() { ++this.ticksInAir; Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); + MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - if(movingobjectposition != null) { + if (movingobjectposition != null) { vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); } @@ -232,18 +234,18 @@ public void onUpdate() { int l; float f1; - for(l = 0; l < list.size(); ++l) { + for (l = 0; l < list.size(); ++l) { Entity entity1 = (Entity) list.get(l); - if(entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { + if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { f1 = 0.3F; AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - if(movingobjectposition1 != null) { + if (movingobjectposition1 != null) { double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - if(d1 < d0 || d0 == 0.0D) { + if (d1 < d0 || d0 == 0.0D) { entity = entity1; d0 = d1; } @@ -251,14 +253,14 @@ public void onUpdate() { } } - if(entity != null) { + if (entity != null) { movingobjectposition = new MovingObjectPosition(entity); } - if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; - if(entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { + if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { movingobjectposition = null; } } @@ -266,24 +268,24 @@ public void onUpdate() { float f2; float f3; - if(movingobjectposition != null) { - if(movingobjectposition.entityHit != null) { + if (movingobjectposition != null) { + if (movingobjectposition.entityHit != null) { f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); - if(this.getIsCritical()) { + if (this.getIsCritical()) { i1 += this.rand.nextInt(i1 / 2 + 2); } DamageSource damagesource = null; - if(this.shootingEntity == null) { + if (this.shootingEntity == null) { damagesource = DamageSource.causeThrownDamage(this, this); } else { damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); } - if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { movingobjectposition.entityHit.setFire(5); } @@ -291,28 +293,29 @@ public void onUpdate() { this.setDead(); - if(movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { - if(movingobjectposition.entityHit instanceof EntityLiving) { + if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if (movingobjectposition.entityHit instanceof EntityLiving) { EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; - if(!this.worldObj.isRemote) { + if (!this.worldObj.isRemote) { entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); } - if(this.knockbackStrength > 0) { + if (this.knockbackStrength > 0) { f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - if(f3 > 0.0F) { + if (f3 > 0.0F) { movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); } } - if(this.shootingEntity != null) { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); + if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) { + EnchantmentHelper.func_151384_a(entityliving, this.shootingEntity); + EnchantmentHelper.func_151385_b((EntityLivingBase) this.shootingEntity, entityliving); } - if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { - ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); } } @@ -330,7 +333,7 @@ public void onUpdate() { this.xTile = movingobjectposition.blockX; this.yTile = movingobjectposition.blockY; this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); @@ -346,19 +349,19 @@ public void onUpdate() { this.setDead(); this.setIsCritical(false); - if(this.inTile != 0) { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + if (this.inTile != null) { + this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); } } } - if(this.getIsCritical() && worldObj.isRemote) { - for(l = 0; l < 4; ++l) { + if (this.getIsCritical() && worldObj.isRemote) { + for (l = 0; l < 4; ++l) { this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); } } - if(Math.random() > 0.0) { + if (Math.random() > 0.0) { worldObj.spawnParticle("smoke", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX / 10F, (-this.motionY + 0.2D) / 10F, -this.motionZ / 10F); } @@ -368,19 +371,19 @@ public void onUpdate() { f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - for(this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { ; } - while(this.rotationPitch - this.prevRotationPitch >= 180.0F) { + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { this.prevRotationPitch += 360.0F; } - while(this.rotationYaw - this.prevRotationYaw < -180.0F) { + while (this.rotationYaw - this.prevRotationYaw < -180.0F) { this.prevRotationYaw -= 360.0F; } - while(this.rotationYaw - this.prevRotationYaw >= 180.0F) { + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { this.prevRotationYaw += 360.0F; } @@ -389,8 +392,8 @@ public void onUpdate() { float f4 = 0.99F; f1 = 0.15F; - if(this.isInWater()) { - for(int j1 = 0; j1 < 4; ++j1) { + if (this.isInWater()) { + for (int j1 = 0; j1 < 4; ++j1) { f3 = 0.25F; this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); } @@ -403,7 +406,7 @@ public void onUpdate() { this.motionZ *= (double) f4; this.motionY -= (double) f1; this.setPosition(this.posX, this.posY, this.posZ); - this.doBlockCollisions(); + this.func_145775_I(); } } @@ -414,7 +417,7 @@ public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { par1NBTTagCompound.setShort("xTile", (short) this.xTile); par1NBTTagCompound.setShort("yTile", (short) this.yTile); par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setByte("inTile", (byte) this.inTile); + par1NBTTagCompound.setString("inTile", this.inTile.getUnlocalizedName()); par1NBTTagCompound.setByte("inData", (byte) this.inData); par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); @@ -429,18 +432,18 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { this.xTile = par1NBTTagCompound.getShort("xTile"); this.yTile = par1NBTTagCompound.getShort("yTile"); this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inTile = Block.getBlockFromName(par1NBTTagCompound.getString("inTile")); this.inData = par1NBTTagCompound.getByte("inData") & 255; this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - if(par1NBTTagCompound.hasKey("damage")) { + if (par1NBTTagCompound.hasKey("damage")) { this.damage = par1NBTTagCompound.getDouble("damage"); } - if(par1NBTTagCompound.hasKey("pickup")) { + if (par1NBTTagCompound.hasKey("pickup")) { this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } else if(par1NBTTagCompound.hasKey("player")) { + } else if (par1NBTTagCompound.hasKey("player")) { this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; } } @@ -449,14 +452,14 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { * Called by a player entity when they collide with an entity */ public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { - if(!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { + if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Items.arrow, 1))) { flag = false; } - if(flag) { + if (flag) { this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); par1EntityPlayer.onItemPickup(this, 1); this.setDead(); @@ -465,7 +468,8 @@ public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { } /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to prevent them from trampling crops + * returns if this entity triggers Block.onEntityWalking on the blocks they + * walk on. used for spiders and wolves to prevent them from trampling crops */ protected boolean canTriggerWalking() { return false; @@ -499,12 +503,13 @@ public boolean canAttackWithItem() { } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ public void setIsCritical(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - if(par1) { + if (par1) { this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); } else { this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); @@ -512,7 +517,8 @@ public void setIsCritical(boolean par1) { } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ public boolean getIsCritical() { byte b0 = this.dataWatcher.getWatchableObjectByte(16); @@ -529,8 +535,8 @@ public void setThrower(Entity entity) { shootingEntity = entity; } - @Override - public String getTexture() { - return "atum:textures/projectiles/arrows_exploding.png"; - } +// @Override +// public String getTexture() { +// return "atum:textures/projectiles/arrows_exploding.png"; +// } } diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java similarity index 78% rename from src/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java rename to src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java index 0d70797..69602d1 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java @@ -3,6 +3,7 @@ import java.util.List; import net.minecraft.block.Block; +import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.enchantment.EnchantmentThorns; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; @@ -11,10 +12,11 @@ import net.minecraft.entity.monster.EntityEnderman; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; +import net.minecraft.network.play.server.S2BPacketChangeGameState; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; @@ -29,7 +31,7 @@ public class EntityArrowFire extends CustomArrow implements IProjectile, IThrowa private int xTile = -1; private int yTile = -1; private int zTile = -1; - private int inTile = 0; + private Block inTile = null; private int inData = 0; private boolean inGround = false; @@ -67,7 +69,7 @@ public EntityArrowFire(World par1World, EntityLivingBase par2EntityLiving, Entit this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } @@ -77,7 +79,7 @@ public EntityArrowFire(World par1World, EntityLivingBase par2EntityLiving, Entit double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); - if(d3 >= 1.0E-7D) { + if (d3 >= 1.0E-7D) { float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); double d4 = d0 / d3; @@ -94,7 +96,7 @@ public EntityArrowFire(World par1World, EntityLivingBase par2EntityLiving, float this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } @@ -116,7 +118,8 @@ protected void entityInit() { } /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z + * direction. */ public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); @@ -157,7 +160,7 @@ public void setVelocity(double par1, double par3, double par5) { this.motionY = par3; this.motionZ = par5; - if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); @@ -174,38 +177,38 @@ public void setVelocity(double par1, double par3, double par5) { public void onUpdate() { super.onUpdate(); - if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); } - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - if(i > 0) { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + if (i != null) { + i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - if(axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { + if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { this.inGround = true; } } - if(this.arrowShake > 0) { + if (this.arrowShake > 0) { --this.arrowShake; } - if(this.inGround) { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + if (this.inGround) { + Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - if(j == this.inTile && k == this.inData) { + if (j == this.inTile && k == this.inData) { ++this.ticksInGround; - if(worldObj.isAirBlock((int) posX, (int) posY, (int) posZ)) - worldObj.setBlock((int) posX, (int) posY, (int) posZ, Block.fire.blockID); + if (worldObj.isAirBlock((int) posX, (int) posY, (int) posZ)) + worldObj.setBlock((int) posX, (int) posY, (int) posZ, Blocks.fire); - if(this.ticksInGround == 1200) { + if (this.ticksInGround == 1200) { this.setDead(); } } else { @@ -220,11 +223,11 @@ public void onUpdate() { ++this.ticksInAir; Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); + MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - if(movingobjectposition != null) { + if (movingobjectposition != null) { vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); } @@ -234,18 +237,18 @@ public void onUpdate() { int l; float f1; - for(l = 0; l < list.size(); ++l) { + for (l = 0; l < list.size(); ++l) { Entity entity1 = (Entity) list.get(l); - if(entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { + if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { f1 = 0.3F; AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - if(movingobjectposition1 != null) { + if (movingobjectposition1 != null) { double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - if(d1 < d0 || d0 == 0.0D) { + if (d1 < d0 || d0 == 0.0D) { entity = entity1; d0 = d1; } @@ -253,14 +256,14 @@ public void onUpdate() { } } - if(entity != null) { + if (entity != null) { movingobjectposition = new MovingObjectPosition(entity); } - if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; - if(entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { + if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { movingobjectposition = null; } } @@ -268,55 +271,56 @@ public void onUpdate() { float f2; float f3; - if(movingobjectposition != null) { - if(movingobjectposition.entityHit != null) { + if (movingobjectposition != null) { + if (movingobjectposition.entityHit != null) { f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); - if(this.getIsCritical()) { + if (this.getIsCritical()) { i1 += this.rand.nextInt(i1 / 2 + 2); } DamageSource damagesource = null; - if(this.shootingEntity == null) { + if (this.shootingEntity == null) { damagesource = DamageSource.causeThrownDamage(this, this); } else { damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); } - if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { movingobjectposition.entityHit.setFire(5); } - if(movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { - if(movingobjectposition.entityHit instanceof EntityLiving) { + if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if (movingobjectposition.entityHit instanceof EntityLiving) { EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; - if(!this.worldObj.isRemote) { + if (!this.worldObj.isRemote) { entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); } - if(this.knockbackStrength > 0) { + if (this.knockbackStrength > 0) { f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - if(f3 > 0.0F) { + if (f3 > 0.0F) { movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); } } - if(this.shootingEntity != null) { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); + if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) { + EnchantmentHelper.func_151384_a(entityliving, this.shootingEntity); + EnchantmentHelper.func_151385_b((EntityLivingBase) this.shootingEntity, entityliving); } - if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { - ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); } } this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { + if (!(movingobjectposition.entityHit instanceof EntityEnderman)) { this.setDead(); } } else { @@ -331,7 +335,7 @@ public void onUpdate() { this.xTile = movingobjectposition.blockX; this.yTile = movingobjectposition.blockY; this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); @@ -345,14 +349,14 @@ public void onUpdate() { this.arrowShake = 7; this.setIsCritical(false); - if(this.inTile != 0) { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + if (this.inTile != null) { + this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); } } } - if(this.getIsCritical() && worldObj.isRemote) { - for(l = 0; l < 4; ++l) { + if (this.getIsCritical() && worldObj.isRemote) { + for (l = 0; l < 4; ++l) { this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); } } @@ -363,19 +367,19 @@ public void onUpdate() { f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - for(this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { ; } - while(this.rotationPitch - this.prevRotationPitch >= 180.0F) { + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { this.prevRotationPitch += 360.0F; } - while(this.rotationYaw - this.prevRotationYaw < -180.0F) { + while (this.rotationYaw - this.prevRotationYaw < -180.0F) { this.prevRotationYaw -= 360.0F; } - while(this.rotationYaw - this.prevRotationYaw >= 180.0F) { + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { this.prevRotationYaw += 360.0F; } @@ -384,8 +388,8 @@ public void onUpdate() { float f4 = 0.99F; f1 = 0.05F; - if(this.isInWater()) { - for(int j1 = 0; j1 < 4; ++j1) { + if (this.isInWater()) { + for (int j1 = 0; j1 < 4; ++j1) { f3 = 0.25F; this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); } @@ -398,7 +402,7 @@ public void onUpdate() { this.motionZ *= (double) f4; this.motionY -= (double) f1; this.setPosition(this.posX, this.posY, this.posZ); - this.doBlockCollisions(); + this.func_145775_I(); } } @@ -409,7 +413,7 @@ public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { par1NBTTagCompound.setShort("xTile", (short) this.xTile); par1NBTTagCompound.setShort("yTile", (short) this.yTile); par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setByte("inTile", (byte) this.inTile); + par1NBTTagCompound.setString("inTile", this.inTile.getUnlocalizedName()); par1NBTTagCompound.setByte("inData", (byte) this.inData); par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); @@ -424,18 +428,18 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { this.xTile = par1NBTTagCompound.getShort("xTile"); this.yTile = par1NBTTagCompound.getShort("yTile"); this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inTile = Block.getBlockFromName(par1NBTTagCompound.getString("inTile")); this.inData = par1NBTTagCompound.getByte("inData") & 255; this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - if(par1NBTTagCompound.hasKey("damage")) { + if (par1NBTTagCompound.hasKey("damage")) { this.damage = par1NBTTagCompound.getDouble("damage"); } - if(par1NBTTagCompound.hasKey("pickup")) { + if (par1NBTTagCompound.hasKey("pickup")) { this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } else if(par1NBTTagCompound.hasKey("player")) { + } else if (par1NBTTagCompound.hasKey("player")) { this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; } } @@ -444,14 +448,14 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { * Called by a player entity when they collide with an entity */ public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { - if(!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { + if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Items.arrow, 1))) { flag = false; } - if(flag) { + if (flag) { this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); par1EntityPlayer.onItemPickup(this, 1); this.setDead(); @@ -460,7 +464,8 @@ public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { } /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to prevent them from trampling crops + * returns if this entity triggers Block.onEntityWalking on the blocks they + * walk on. used for spiders and wolves to prevent them from trampling crops */ protected boolean canTriggerWalking() { return false; @@ -494,12 +499,13 @@ public boolean canAttackWithItem() { } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ public void setIsCritical(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - if(par1) { + if (par1) { this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); } else { this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); @@ -507,7 +513,8 @@ public void setIsCritical(boolean par1) { } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ public boolean getIsCritical() { byte b0 = this.dataWatcher.getWatchableObjectByte(16); @@ -524,8 +531,8 @@ public void setThrower(Entity entity) { shootingEntity = entity; } - @Override - public String getTexture() { - return "atum:textures/projectiles/arrows_fire.png"; - } +// @Override +// public String getTexture() { +// return "atum:textures/projectiles/arrows_fire.png"; +// } } diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java similarity index 78% rename from src/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java rename to src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java index 52d4031..8106abc 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java @@ -3,6 +3,7 @@ import java.util.List; import net.minecraft.block.Block; +import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.enchantment.EnchantmentThorns; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; @@ -11,10 +12,10 @@ import net.minecraft.entity.monster.EntityEnderman; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; +import net.minecraft.network.play.server.S2BPacketChangeGameState; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.util.AxisAlignedBB; @@ -31,7 +32,7 @@ public class EntityArrowPoison extends CustomArrow implements IProjectile, IThro private int xTile = -1; private int yTile = -1; private int zTile = -1; - private int inTile = 0; + private Block inTile = null; private int inData = 0; private boolean inGround = false; @@ -69,7 +70,7 @@ public EntityArrowPoison(World par1World, EntityLivingBase par2EntityLiving, Ent this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } @@ -79,7 +80,7 @@ public EntityArrowPoison(World par1World, EntityLivingBase par2EntityLiving, Ent double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); - if(d3 >= 1.0E-7D) { + if (d3 >= 1.0E-7D) { float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); double d4 = d0 / d3; @@ -96,7 +97,7 @@ public EntityArrowPoison(World par1World, EntityLivingBase par2EntityLiving, flo this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } @@ -118,7 +119,8 @@ protected void entityInit() { } /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z + * direction. */ public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); @@ -159,7 +161,7 @@ public void setVelocity(double par1, double par3, double par5) { this.motionY = par3; this.motionZ = par5; - if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); @@ -176,35 +178,35 @@ public void setVelocity(double par1, double par3, double par5) { public void onUpdate() { super.onUpdate(); - if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); } - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - if(i > 0) { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + if (i != null) { + i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - if(axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { + if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { this.inGround = true; } } - if(this.arrowShake > 0) { + if (this.arrowShake > 0) { --this.arrowShake; } - if(this.inGround) { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + if (this.inGround) { + Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - if(j == this.inTile && k == this.inData) { + if (j == this.inTile && k == this.inData) { ++this.ticksInGround; - if(this.ticksInGround == 1200) { + if (this.ticksInGround == 1200) { this.setDead(); } } else { @@ -219,11 +221,11 @@ public void onUpdate() { ++this.ticksInAir; Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); + MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - if(movingobjectposition != null) { + if (movingobjectposition != null) { vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); } @@ -233,18 +235,18 @@ public void onUpdate() { int l; float f1; - for(l = 0; l < list.size(); ++l) { + for (l = 0; l < list.size(); ++l) { Entity entity1 = (Entity) list.get(l); - if(entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { + if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { f1 = 0.3F; AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - if(movingobjectposition1 != null) { + if (movingobjectposition1 != null) { double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - if(d1 < d0 || d0 == 0.0D) { + if (d1 < d0 || d0 == 0.0D) { entity = entity1; d0 = d1; } @@ -252,14 +254,14 @@ public void onUpdate() { } } - if(entity != null) { + if (entity != null) { movingobjectposition = new MovingObjectPosition(entity); } - if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; - if(entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { + if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { movingobjectposition = null; } } @@ -267,57 +269,58 @@ public void onUpdate() { float f2; float f3; - if(movingobjectposition != null) { - if(movingobjectposition.entityHit != null) { + if (movingobjectposition != null) { + if (movingobjectposition.entityHit != null) { f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); - if(this.getIsCritical()) { + if (this.getIsCritical()) { i1 += this.rand.nextInt(i1 / 2 + 2); } DamageSource damagesource = null; - if(this.shootingEntity == null) { + if (this.shootingEntity == null) { damagesource = DamageSource.causeThrownDamage(this, this); } else { damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); } - if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { movingobjectposition.entityHit.setFire(5); } - if(movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { - if(movingobjectposition.entityHit instanceof EntityLiving) { + if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if (movingobjectposition.entityHit instanceof EntityLiving) { EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; entityliving.addPotionEffect(new PotionEffect(Potion.poison.id, 140, 2, false)); - if(!this.worldObj.isRemote) { + if (!this.worldObj.isRemote) { entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); } - if(this.knockbackStrength > 0) { + if (this.knockbackStrength > 0) { f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - if(f3 > 0.0F) { + if (f3 > 0.0F) { movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); } } - if(this.shootingEntity != null) { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); + if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) { + EnchantmentHelper.func_151384_a(entityliving, this.shootingEntity); + EnchantmentHelper.func_151385_b((EntityLivingBase) this.shootingEntity, entityliving); } - if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { - ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); } } this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { + if (!(movingobjectposition.entityHit instanceof EntityEnderman)) { this.setDead(); } } else { @@ -332,7 +335,7 @@ public void onUpdate() { this.xTile = movingobjectposition.blockX; this.yTile = movingobjectposition.blockY; this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); @@ -346,14 +349,14 @@ public void onUpdate() { this.arrowShake = 7; this.setIsCritical(false); - if(this.inTile != 0) { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + if (this.inTile != null) { + this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); } } } - if(this.getIsCritical() && worldObj.isRemote) { - for(l = 0; l < 4; ++l) { + if (this.getIsCritical() && worldObj.isRemote) { + for (l = 0; l < 4; ++l) { this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); } } @@ -364,19 +367,19 @@ public void onUpdate() { f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - for(this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { ; } - while(this.rotationPitch - this.prevRotationPitch >= 180.0F) { + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { this.prevRotationPitch += 360.0F; } - while(this.rotationYaw - this.prevRotationYaw < -180.0F) { + while (this.rotationYaw - this.prevRotationYaw < -180.0F) { this.prevRotationYaw -= 360.0F; } - while(this.rotationYaw - this.prevRotationYaw >= 180.0F) { + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { this.prevRotationYaw += 360.0F; } @@ -385,8 +388,8 @@ public void onUpdate() { float f4 = 0.99F; f1 = 0.05F; - if(this.isInWater()) { - for(int j1 = 0; j1 < 4; ++j1) { + if (this.isInWater()) { + for (int j1 = 0; j1 < 4; ++j1) { f3 = 0.25F; this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); } @@ -399,7 +402,7 @@ public void onUpdate() { this.motionZ *= (double) f4; this.motionY -= (double) f1; this.setPosition(this.posX, this.posY, this.posZ); - this.doBlockCollisions(); + this.func_145775_I(); } } @@ -410,7 +413,7 @@ public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { par1NBTTagCompound.setShort("xTile", (short) this.xTile); par1NBTTagCompound.setShort("yTile", (short) this.yTile); par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setByte("inTile", (byte) this.inTile); + par1NBTTagCompound.setString("inTile", this.inTile.getUnlocalizedName()); par1NBTTagCompound.setByte("inData", (byte) this.inData); par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); @@ -425,18 +428,18 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { this.xTile = par1NBTTagCompound.getShort("xTile"); this.yTile = par1NBTTagCompound.getShort("yTile"); this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inTile = Block.getBlockFromName(par1NBTTagCompound.getString("inTile")); this.inData = par1NBTTagCompound.getByte("inData") & 255; this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - if(par1NBTTagCompound.hasKey("damage")) { + if (par1NBTTagCompound.hasKey("damage")) { this.damage = par1NBTTagCompound.getDouble("damage"); } - if(par1NBTTagCompound.hasKey("pickup")) { + if (par1NBTTagCompound.hasKey("pickup")) { this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } else if(par1NBTTagCompound.hasKey("player")) { + } else if (par1NBTTagCompound.hasKey("player")) { this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; } } @@ -445,14 +448,14 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { * Called by a player entity when they collide with an entity */ public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { - if(!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { + if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Items.arrow, 1))) { flag = false; } - if(flag) { + if (flag) { this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); par1EntityPlayer.onItemPickup(this, 1); this.setDead(); @@ -461,7 +464,8 @@ public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { } /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to prevent them from trampling crops + * returns if this entity triggers Block.onEntityWalking on the blocks they + * walk on. used for spiders and wolves to prevent them from trampling crops */ protected boolean canTriggerWalking() { return false; @@ -495,12 +499,13 @@ public boolean canAttackWithItem() { } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ public void setIsCritical(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - if(par1) { + if (par1) { this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); } else { this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); @@ -508,7 +513,8 @@ public void setIsCritical(boolean par1) { } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ public boolean getIsCritical() { byte b0 = this.dataWatcher.getWatchableObjectByte(16); @@ -525,8 +531,8 @@ public void setThrower(Entity entity) { shootingEntity = entity; } - @Override - public String getTexture() { - return "atum:textures/projectiles/arrows_poison.png"; - } +// @Override +// public String getTexture() { +// return "atum:textures/projectiles/arrows_poison.png"; +// } } diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java similarity index 78% rename from src/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java rename to src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java index e651fcf..c90fce5 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java @@ -3,6 +3,7 @@ import java.util.List; import net.minecraft.block.Block; +import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.enchantment.EnchantmentThorns; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; @@ -11,10 +12,10 @@ import net.minecraft.entity.monster.EntityEnderman; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; +import net.minecraft.network.play.server.S2BPacketChangeGameState; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; @@ -29,7 +30,7 @@ public class EntityArrowQuickdraw extends CustomArrow implements IProjectile, IT private int xTile = -1; private int yTile = -1; private int zTile = -1; - private int inTile = 0; + private Block inTile = null; private int inData = 0; private boolean inGround = false; @@ -67,7 +68,7 @@ public EntityArrowQuickdraw(World par1World, EntityLivingBase par2EntityLiving, this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } @@ -77,7 +78,7 @@ public EntityArrowQuickdraw(World par1World, EntityLivingBase par2EntityLiving, double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); - if(d3 >= 1.0E-7D) { + if (d3 >= 1.0E-7D) { float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); double d4 = d0 / d3; @@ -94,7 +95,7 @@ public EntityArrowQuickdraw(World par1World, EntityLivingBase par2EntityLiving, this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } @@ -116,7 +117,8 @@ protected void entityInit() { } /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z + * direction. */ public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); @@ -157,7 +159,7 @@ public void setVelocity(double par1, double par3, double par5) { this.motionY = par3; this.motionZ = par5; - if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); @@ -174,35 +176,35 @@ public void setVelocity(double par1, double par3, double par5) { public void onUpdate() { super.onUpdate(); - if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); } - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - if(i > 0) { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + if (i != null) { + i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - if(axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { + if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { this.inGround = true; } } - if(this.arrowShake > 0) { + if (this.arrowShake > 0) { --this.arrowShake; } - if(this.inGround) { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + if (this.inGround) { + Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - if(j == this.inTile && k == this.inData) { + if (j == this.inTile && k == this.inData) { ++this.ticksInGround; - if(this.ticksInGround == 1200) { + if (this.ticksInGround == 1200) { this.setDead(); } } else { @@ -217,11 +219,11 @@ public void onUpdate() { ++this.ticksInAir; Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); + MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - if(movingobjectposition != null) { + if (movingobjectposition != null) { vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); } @@ -231,18 +233,18 @@ public void onUpdate() { int l; float f1; - for(l = 0; l < list.size(); ++l) { + for (l = 0; l < list.size(); ++l) { Entity entity1 = (Entity) list.get(l); - if(entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { + if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { f1 = 0.3F; AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - if(movingobjectposition1 != null) { + if (movingobjectposition1 != null) { double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - if(d1 < d0 || d0 == 0.0D) { + if (d1 < d0 || d0 == 0.0D) { entity = entity1; d0 = d1; } @@ -250,14 +252,14 @@ public void onUpdate() { } } - if(entity != null) { + if (entity != null) { movingobjectposition = new MovingObjectPosition(entity); } - if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; - if(entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { + if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { movingobjectposition = null; } } @@ -265,55 +267,56 @@ public void onUpdate() { float f2; float f3; - if(movingobjectposition != null) { - if(movingobjectposition.entityHit != null) { + if (movingobjectposition != null) { + if (movingobjectposition.entityHit != null) { f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); - if(this.getIsCritical()) { + if (this.getIsCritical()) { i1 += this.rand.nextInt(i1 / 2 + 2); } DamageSource damagesource = null; - if(this.shootingEntity == null) { + if (this.shootingEntity == null) { damagesource = DamageSource.causeThrownDamage(this, this); } else { damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); } - if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { movingobjectposition.entityHit.setFire(5); } - if(movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { - if(movingobjectposition.entityHit instanceof EntityLiving) { + if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if (movingobjectposition.entityHit instanceof EntityLiving) { EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; - if(!this.worldObj.isRemote) { + if (!this.worldObj.isRemote) { entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); } - if(this.knockbackStrength > 0) { + if (this.knockbackStrength > 0) { f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - if(f3 > 0.0F) { + if (f3 > 0.0F) { movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); } } - if(this.shootingEntity != null) { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); + if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) { + EnchantmentHelper.func_151384_a(entityliving, this.shootingEntity); + EnchantmentHelper.func_151385_b((EntityLivingBase) this.shootingEntity, entityliving); } - if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { - ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); } } this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { + if (!(movingobjectposition.entityHit instanceof EntityEnderman)) { this.setDead(); } } else { @@ -328,7 +331,7 @@ public void onUpdate() { this.xTile = movingobjectposition.blockX; this.yTile = movingobjectposition.blockY; this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); @@ -342,14 +345,14 @@ public void onUpdate() { this.arrowShake = 7; this.setIsCritical(false); - if(this.inTile != 0) { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + if (this.inTile != null) { + this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); } } } - if(this.getIsCritical() && worldObj.isRemote) { - for(l = 0; l < 4; ++l) { + if (this.getIsCritical() && worldObj.isRemote) { + for (l = 0; l < 4; ++l) { this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); } } @@ -360,19 +363,19 @@ public void onUpdate() { f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - for(this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { ; } - while(this.rotationPitch - this.prevRotationPitch >= 180.0F) { + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { this.prevRotationPitch += 360.0F; } - while(this.rotationYaw - this.prevRotationYaw < -180.0F) { + while (this.rotationYaw - this.prevRotationYaw < -180.0F) { this.prevRotationYaw -= 360.0F; } - while(this.rotationYaw - this.prevRotationYaw >= 180.0F) { + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { this.prevRotationYaw += 360.0F; } @@ -381,8 +384,8 @@ public void onUpdate() { float f4 = 0.99F; f1 = 0.05F; - if(this.isInWater()) { - for(int j1 = 0; j1 < 4; ++j1) { + if (this.isInWater()) { + for (int j1 = 0; j1 < 4; ++j1) { f3 = 0.25F; this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); } @@ -395,7 +398,7 @@ public void onUpdate() { this.motionZ *= (double) f4; this.motionY -= (double) f1; this.setPosition(this.posX, this.posY, this.posZ); - this.doBlockCollisions(); + this.func_145775_I(); } } @@ -406,7 +409,7 @@ public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { par1NBTTagCompound.setShort("xTile", (short) this.xTile); par1NBTTagCompound.setShort("yTile", (short) this.yTile); par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setByte("inTile", (byte) this.inTile); + par1NBTTagCompound.setString("inTile", this.inTile.getUnlocalizedName()); par1NBTTagCompound.setByte("inData", (byte) this.inData); par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); @@ -421,18 +424,18 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { this.xTile = par1NBTTagCompound.getShort("xTile"); this.yTile = par1NBTTagCompound.getShort("yTile"); this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inTile = Block.getBlockFromName(par1NBTTagCompound.getString("inTile")); this.inData = par1NBTTagCompound.getByte("inData") & 255; this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - if(par1NBTTagCompound.hasKey("damage")) { + if (par1NBTTagCompound.hasKey("damage")) { this.damage = par1NBTTagCompound.getDouble("damage"); } - if(par1NBTTagCompound.hasKey("pickup")) { + if (par1NBTTagCompound.hasKey("pickup")) { this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } else if(par1NBTTagCompound.hasKey("player")) { + } else if (par1NBTTagCompound.hasKey("player")) { this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; } } @@ -441,14 +444,14 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { * Called by a player entity when they collide with an entity */ public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { - if(!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { + if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Items.arrow, 1))) { flag = false; } - if(flag) { + if (flag) { this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); par1EntityPlayer.onItemPickup(this, 1); this.setDead(); @@ -457,7 +460,8 @@ public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { } /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to prevent them from trampling crops + * returns if this entity triggers Block.onEntityWalking on the blocks they + * walk on. used for spiders and wolves to prevent them from trampling crops */ protected boolean canTriggerWalking() { return false; @@ -491,12 +495,13 @@ public boolean canAttackWithItem() { } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ public void setIsCritical(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - if(par1) { + if (par1) { this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); } else { this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); @@ -504,7 +509,8 @@ public void setIsCritical(boolean par1) { } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ public boolean getIsCritical() { byte b0 = this.dataWatcher.getWatchableObjectByte(16); @@ -521,8 +527,8 @@ public void setThrower(Entity entity) { shootingEntity = entity; } - @Override - public String getTexture() { - return "atum:textures/projectiles/arrows_quickdraw.png"; - } +// @Override +// public String getTexture() { +// return "atum:textures/projectiles/arrows_quickdraw.png"; +// } } diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java similarity index 78% rename from src/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java rename to src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java index a52b786..453bf0d 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java @@ -3,6 +3,7 @@ import java.util.List; import net.minecraft.block.Block; +import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.enchantment.EnchantmentThorns; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; @@ -11,10 +12,10 @@ import net.minecraft.entity.monster.EntityEnderman; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.Item; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; +import net.minecraft.network.play.server.S2BPacketChangeGameState; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; @@ -29,7 +30,7 @@ public class EntityArrowVelocity extends CustomArrow implements IProjectile, ITh private int xTile = -1; private int yTile = -1; private int zTile = -1; - private int inTile = 0; + private Block inTile = null; private int inData = 0; private boolean inGround = false; @@ -67,7 +68,7 @@ public EntityArrowVelocity(World par1World, EntityLivingBase par2EntityLiving, E this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } @@ -77,7 +78,7 @@ public EntityArrowVelocity(World par1World, EntityLivingBase par2EntityLiving, E double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); - if(d3 >= 1.0E-7D) { + if (d3 >= 1.0E-7D) { float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); double d4 = d0 / d3; @@ -94,7 +95,7 @@ public EntityArrowVelocity(World par1World, EntityLivingBase par2EntityLiving, f this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } @@ -116,7 +117,8 @@ protected void entityInit() { } /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z + * direction. */ public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); @@ -157,7 +159,7 @@ public void setVelocity(double par1, double par3, double par5) { this.motionY = par3; this.motionZ = par5; - if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); @@ -174,35 +176,35 @@ public void setVelocity(double par1, double par3, double par5) { public void onUpdate() { super.onUpdate(); - if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); } - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - if(i > 0) { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + if (i != null) { + i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - if(axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { + if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { this.inGround = true; } } - if(this.arrowShake > 0) { + if (this.arrowShake > 0) { --this.arrowShake; } - if(this.inGround) { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + if (this.inGround) { + Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - if(j == this.inTile && k == this.inData) { + if (j == this.inTile && k == this.inData) { ++this.ticksInGround; - if(this.ticksInGround == 1200) { + if (this.ticksInGround == 1200) { this.setDead(); } } else { @@ -217,11 +219,11 @@ public void onUpdate() { ++this.ticksInAir; Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); + MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - if(movingobjectposition != null) { + if (movingobjectposition != null) { vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); } @@ -231,18 +233,18 @@ public void onUpdate() { int l; float f1; - for(l = 0; l < list.size(); ++l) { + for (l = 0; l < list.size(); ++l) { Entity entity1 = (Entity) list.get(l); - if(entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { + if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { f1 = 0.3F; AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - if(movingobjectposition1 != null) { + if (movingobjectposition1 != null) { double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - if(d1 < d0 || d0 == 0.0D) { + if (d1 < d0 || d0 == 0.0D) { entity = entity1; d0 = d1; } @@ -250,14 +252,14 @@ public void onUpdate() { } } - if(entity != null) { + if (entity != null) { movingobjectposition = new MovingObjectPosition(entity); } - if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; - if(entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { + if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { movingobjectposition = null; } } @@ -265,55 +267,56 @@ public void onUpdate() { float f2; float f3; - if(movingobjectposition != null) { - if(movingobjectposition.entityHit != null) { + if (movingobjectposition != null) { + if (movingobjectposition.entityHit != null) { f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); - if(this.getIsCritical()) { + if (this.getIsCritical()) { i1 += this.rand.nextInt(i1 / 2 + 2); } DamageSource damagesource = null; - if(this.shootingEntity == null) { + if (this.shootingEntity == null) { damagesource = DamageSource.causeThrownDamage(this, this); } else { damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); } - if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { movingobjectposition.entityHit.setFire(5); } - if(movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { - if(movingobjectposition.entityHit instanceof EntityLiving) { + if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if (movingobjectposition.entityHit instanceof EntityLiving) { EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; - if(!this.worldObj.isRemote) { + if (!this.worldObj.isRemote) { entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); } - if(this.knockbackStrength > 0) { + if (this.knockbackStrength > 0) { f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - if(f3 > 0.0F) { + if (f3 > 0.0F) { movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); } } - if(this.shootingEntity != null) { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); + if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) { + EnchantmentHelper.func_151384_a(entityliving, this.shootingEntity); + EnchantmentHelper.func_151385_b((EntityLivingBase) this.shootingEntity, entityliving); } - if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { - ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); } } this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - if(!(movingobjectposition.entityHit instanceof EntityEnderman)) { + if (!(movingobjectposition.entityHit instanceof EntityEnderman)) { this.setDead(); } } else { @@ -328,7 +331,7 @@ public void onUpdate() { this.xTile = movingobjectposition.blockX; this.yTile = movingobjectposition.blockY; this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); @@ -342,14 +345,14 @@ public void onUpdate() { this.arrowShake = 7; this.setIsCritical(false); - if(this.inTile != 0) { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + if (this.inTile != null) { + this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); } } } - if(this.getIsCritical() && worldObj.isRemote) { - for(l = 0; l < 4; ++l) { + if (this.getIsCritical() && worldObj.isRemote) { + for (l = 0; l < 4; ++l) { this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); } } @@ -360,19 +363,19 @@ public void onUpdate() { f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - for(this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { ; } - while(this.rotationPitch - this.prevRotationPitch >= 180.0F) { + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { this.prevRotationPitch += 360.0F; } - while(this.rotationYaw - this.prevRotationYaw < -180.0F) { + while (this.rotationYaw - this.prevRotationYaw < -180.0F) { this.prevRotationYaw -= 360.0F; } - while(this.rotationYaw - this.prevRotationYaw >= 180.0F) { + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { this.prevRotationYaw += 360.0F; } @@ -381,8 +384,8 @@ public void onUpdate() { float f4 = 0.99F; f1 = 0.05F; - if(this.isInWater()) { - for(int j1 = 0; j1 < 4; ++j1) { + if (this.isInWater()) { + for (int j1 = 0; j1 < 4; ++j1) { f3 = 0.5F; this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); } @@ -395,7 +398,7 @@ public void onUpdate() { this.motionZ *= (double) f4; this.motionY -= (double) Math.min(0.05, f1 / (motionX * motionX + motionZ * motionZ)); this.setPosition(this.posX, this.posY, this.posZ); - this.doBlockCollisions(); + this.func_145775_I(); } } @@ -406,7 +409,7 @@ public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { par1NBTTagCompound.setShort("xTile", (short) this.xTile); par1NBTTagCompound.setShort("yTile", (short) this.yTile); par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setByte("inTile", (byte) this.inTile); + par1NBTTagCompound.setString("inTile", this.inTile.getUnlocalizedName()); par1NBTTagCompound.setByte("inData", (byte) this.inData); par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); @@ -421,18 +424,18 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { this.xTile = par1NBTTagCompound.getShort("xTile"); this.yTile = par1NBTTagCompound.getShort("yTile"); this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inTile = Block.getBlockFromName(par1NBTTagCompound.getString("inTile")); this.inData = par1NBTTagCompound.getByte("inData") & 255; this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - if(par1NBTTagCompound.hasKey("damage")) { + if (par1NBTTagCompound.hasKey("damage")) { this.damage = par1NBTTagCompound.getDouble("damage"); } - if(par1NBTTagCompound.hasKey("pickup")) { + if (par1NBTTagCompound.hasKey("pickup")) { this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } else if(par1NBTTagCompound.hasKey("player")) { + } else if (par1NBTTagCompound.hasKey("player")) { this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; } } @@ -441,14 +444,14 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { * Called by a player entity when they collide with an entity */ public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { - if(!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.arrow, 1))) { + if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Items.arrow, 1))) { flag = false; } - if(flag) { + if (flag) { this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); par1EntityPlayer.onItemPickup(this, 1); this.setDead(); @@ -457,7 +460,8 @@ public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { } /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to prevent them from trampling crops + * returns if this entity triggers Block.onEntityWalking on the blocks they + * walk on. used for spiders and wolves to prevent them from trampling crops */ protected boolean canTriggerWalking() { return false; @@ -491,12 +495,13 @@ public boolean canAttackWithItem() { } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ public void setIsCritical(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - if(par1) { + if (par1) { this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); } else { this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); @@ -504,7 +509,8 @@ public void setIsCritical(boolean par1) { } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ public boolean getIsCritical() { byte b0 = this.dataWatcher.getWatchableObjectByte(16); @@ -521,8 +527,8 @@ public void setThrower(Entity entity) { shootingEntity = entity; } - @Override - public String getTexture() { - return "atum:textures/projectiles/arrows_velocity.png"; - } +// @Override +// public String getTexture() { +// return "atum:textures/projectiles/arrows_velocity.png"; +// } } diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java similarity index 84% rename from src/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java rename to src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java index 62c7b30..39e82bc 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java @@ -2,13 +2,14 @@ import java.util.List; +import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.entity.Entity; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.item.EntityXPOrb; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntityFishHook; -import net.minecraft.item.Item; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.stats.StatList; @@ -35,7 +36,7 @@ public class EntityAtumFishHook extends EntityFishHook { /** The tile this entity is on, Z position */ private int zTile; - private int inTile; + private Block inTile; private boolean inGround; public int shake; public EntityPlayer angler; @@ -46,7 +47,9 @@ public class EntityAtumFishHook extends EntityFishHook { private int ticksCatchable; /** - * The entity that the fishing rod is connected to, if any. When you right click on the fishing rod and the hook falls on to an entity, this it that entity. + * The entity that the fishing rod is connected to, if any. When you right + * click on the fishing rod and the hook falls on to an entity, this it that + * entity. */ public Entity bobber; private int fishPosRotationIncrements; @@ -67,7 +70,7 @@ public EntityAtumFishHook(World par1World) { this.xTile = -1; this.yTile = -1; this.zTile = -1; - this.inTile = 0; + this.inTile = null; this.inGround = false; this.shake = 0; this.ticksInAir = 0; @@ -91,7 +94,7 @@ public EntityAtumFishHook(World par1World, EntityPlayer par2EntityPlayer) { this.xTile = -1; this.yTile = -1; this.zTile = -1; - this.inTile = 0; + this.inTile = null; this.inGround = false; this.shake = 0; this.ticksInAir = 0; @@ -181,7 +184,7 @@ public void setVelocity(double par1, double par3, double par5) { public void onUpdate() { this.onEntityUpdate(); - if(this.fishPosRotationIncrements > 0) { + if (this.fishPosRotationIncrements > 0) { double d0 = this.posX + (this.fishX - this.posX) / (double) this.fishPosRotationIncrements; double d1 = this.posY + (this.fishY - this.posY) / (double) this.fishPosRotationIncrements; double d2 = this.posZ + (this.fishZ - this.posZ) / (double) this.fishPosRotationIncrements; @@ -192,17 +195,17 @@ public void onUpdate() { this.setPosition(d0, d1, d2); this.setRotation(this.rotationYaw, this.rotationPitch); } else { - if(!this.worldObj.isRemote) { + if (!this.worldObj.isRemote) { ItemStack itemstack = this.angler.getCurrentEquippedItem(); - if(this.angler.isDead || !this.angler.isEntityAlive() || itemstack == null || itemstack.getItem() != AtumItems.anuketsBounty || this.getDistanceSqToEntity(this.angler) > 1024.0D) { + if (this.angler.isDead || !this.angler.isEntityAlive() || itemstack == null || itemstack.getItem() != AtumItems.anuketsBounty || this.getDistanceSqToEntity(this.angler) > 1024.0D) { this.setDead(); this.angler.fishEntity = null; return; } - if(this.bobber != null) { - if(!this.bobber.isDead) { + if (this.bobber != null) { + if (!this.bobber.isDead) { this.posX = this.bobber.posX; this.posY = this.bobber.boundingBox.minY + (double) this.bobber.height * 0.8D; this.posZ = this.bobber.posZ; @@ -213,17 +216,17 @@ public void onUpdate() { } } - if(this.shake > 0) { + if (this.shake > 0) { --this.shake; } - if(this.inGround) { - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + if (this.inGround) { + Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - if(i == this.inTile) { + if (i == this.inTile) { ++this.ticksInGround; - if(this.ticksInGround == 1200) { + if (this.ticksInGround == 1200) { this.setDead(); } @@ -242,11 +245,11 @@ public void onUpdate() { Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, false); + MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks(vec3, vec31); vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - if(movingobjectposition != null) { + if (movingobjectposition != null) { vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); } @@ -255,18 +258,18 @@ public void onUpdate() { double d4 = 0.0D; double d5; - for(int j = 0; j < list.size(); ++j) { + for (int j = 0; j < list.size(); ++j) { Entity entity1 = (Entity) list.get(j); - if(entity1.canBeCollidedWith() && (entity1 != this.angler || this.ticksInAir >= 5)) { + if (entity1.canBeCollidedWith() && (entity1 != this.angler || this.ticksInAir >= 5)) { float f = 0.3F; AxisAlignedBB axisalignedbb = entity1.boundingBox.expand((double) f, (double) f, (double) f); MovingObjectPosition movingobjectposition1 = axisalignedbb.calculateIntercept(vec3, vec31); - if(movingobjectposition1 != null) { + if (movingobjectposition1 != null) { d5 = vec3.distanceTo(movingobjectposition1.hitVec); - if(d5 < d4 || d4 == 0.0D) { + if (d5 < d4 || d4 == 0.0D) { entity = entity1; d4 = d5; } @@ -274,13 +277,13 @@ public void onUpdate() { } } - if(entity != null) { + if (entity != null) { movingobjectposition = new MovingObjectPosition(entity); } - if(movingobjectposition != null) { - if(movingobjectposition.entityHit != null) { - if(movingobjectposition.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.angler), 0)) { + if (movingobjectposition != null) { + if (movingobjectposition.entityHit != null) { + if (movingobjectposition.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.angler), 0)) { this.bobber = movingobjectposition.entityHit; } } else { @@ -288,24 +291,24 @@ public void onUpdate() { } } - if(!this.inGround) { + if (!this.inGround) { this.moveEntity(this.motionX, this.motionY, this.motionZ); float f1 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - for(this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f1) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f1) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { ; } - while(this.rotationPitch - this.prevRotationPitch >= 180.0F) { + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { this.prevRotationPitch += 360.0F; } - while(this.rotationYaw - this.prevRotationYaw < -180.0F) { + while (this.rotationYaw - this.prevRotationYaw < -180.0F) { this.prevRotationYaw -= 360.0F; } - while(this.rotationYaw - this.prevRotationYaw >= 180.0F) { + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { this.prevRotationYaw += 360.0F; } @@ -313,34 +316,34 @@ public void onUpdate() { this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; float f2 = 0.92F; - if(this.onGround || this.isCollidedHorizontally) { + if (this.onGround || this.isCollidedHorizontally) { f2 = 0.5F; } byte b0 = 5; double d6 = 0.0D; - for(int k = 0; k < b0; ++k) { + for (int k = 0; k < b0; ++k) { double d7 = this.boundingBox.minY + (this.boundingBox.maxY - this.boundingBox.minY) * (double) (k + 0) / (double) b0 - 0.125D + 0.125D; double d8 = this.boundingBox.minY + (this.boundingBox.maxY - this.boundingBox.minY) * (double) (k + 1) / (double) b0 - 0.125D + 0.125D; AxisAlignedBB axisalignedbb1 = AxisAlignedBB.getAABBPool().getAABB(this.boundingBox.minX, d7, this.boundingBox.minZ, this.boundingBox.maxX, d8, this.boundingBox.maxZ); - if(this.worldObj.isAABBInMaterial(axisalignedbb1, Material.water)) { + if (this.worldObj.isAABBInMaterial(axisalignedbb1, Material.water)) { d6 += 1.0D / (double) b0; } } - if(d6 > 0.0D) { - if(this.ticksCatchable > 0) { + if (d6 > 0.0D) { + if (this.ticksCatchable > 0) { --this.ticksCatchable; } else { short short1 = 500; - if(this.worldObj.canLightningStrikeAt(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY) + 1, MathHelper.floor_double(this.posZ))) { + if (this.worldObj.canLightningStrikeAt(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY) + 1, MathHelper.floor_double(this.posZ))) { short1 = 300; } - if(this.rand.nextInt(short1) == 0) { + if (this.rand.nextInt(short1) == 0) { this.ticksCatchable = this.rand.nextInt(30) + 10; this.motionY -= 0.20000000298023224D; this.playSound("random.splash", 0.25F, 1.0F + (this.rand.nextFloat() - this.rand.nextFloat()) * 0.4F); @@ -349,13 +352,13 @@ public void onUpdate() { float f4; float f5; - for(l = 0; (float) l < 1.0F + this.width * 20.0F; ++l) { + for (l = 0; (float) l < 1.0F + this.width * 20.0F; ++l) { f5 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; f4 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; this.worldObj.spawnParticle("bubble", this.posX + (double) f5, (double) (f3 + 1.0F), this.posZ + (double) f4, this.motionX, this.motionY - (double) (this.rand.nextFloat() * 0.2F), this.motionZ); } - for(l = 0; (float) l < 1.0F + this.width * 20.0F; ++l) { + for (l = 0; (float) l < 1.0F + this.width * 20.0F; ++l) { f5 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; f4 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; this.worldObj.spawnParticle("splash", this.posX + (double) f5, (double) (f3 + 1.0F), this.posZ + (double) f4, this.motionX, this.motionY, this.motionZ); @@ -364,14 +367,14 @@ public void onUpdate() { } } - if(this.ticksCatchable > 0) { + if (this.ticksCatchable > 0) { this.motionY -= (double) (this.rand.nextFloat() * this.rand.nextFloat() * this.rand.nextFloat()) * 0.2D; } d5 = d6 * 2.0D - 1.0D; this.motionY += 0.03999999910593033D * d5; - if(d6 > 0.0D) { + if (d6 > 0.0D) { f2 = (float) ((double) f2 * 0.9D); this.motionY *= 0.8D; } @@ -391,7 +394,7 @@ public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { par1NBTTagCompound.setShort("xTile", (short) this.xTile); par1NBTTagCompound.setShort("yTile", (short) this.yTile); par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setByte("inTile", (byte) this.inTile); + par1NBTTagCompound.setString("inTile", this.inTile.getUnlocalizedName()); par1NBTTagCompound.setByte("shake", (byte) this.shake); par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); } @@ -403,7 +406,7 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { this.xTile = par1NBTTagCompound.getShort("xTile"); this.yTile = par1NBTTagCompound.getShort("yTile"); this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inTile = Block.getBlockFromName(par1NBTTagCompound.getString("inTile")); this.shake = par1NBTTagCompound.getByte("shake") & 255; this.inGround = par1NBTTagCompound.getByte("inGround") == 1; } @@ -414,12 +417,12 @@ public float getShadowSize() { } public int catchFish() { - if(this.worldObj.isRemote) { + if (this.worldObj.isRemote) { return 0; } else { byte b0 = 0; - if(this.bobber != null) { + if (this.bobber != null) { double d0 = this.angler.posX - this.posX; double d1 = this.angler.posY - this.posY; double d2 = this.angler.posZ - this.posZ; @@ -429,9 +432,9 @@ public int catchFish() { this.bobber.motionY += d1 * d4 + (double) MathHelper.sqrt_double(d3) * 0.08D; this.bobber.motionZ += d2 * d4; b0 = 3; - } else if(this.ticksCatchable > 0) { - EntityItem entityitem = new EntityItem(this.worldObj, this.posX, this.posY, this.posZ, new ItemStack(Item.fishRaw)); - if(worldObj.provider.dimensionId == AtumIDS.DIMENSION_ID) + } else if (this.ticksCatchable > 0) { + EntityItem entityitem = new EntityItem(this.worldObj, this.posX, this.posY, this.posZ, new ItemStack(Items.fish)); + if (worldObj.provider.dimensionId == AtumIDS.DIMENSION_ID) entityitem.setEntityItemStack(AtumFish.getRandomFish()); double d5 = this.angler.posX - this.posX; double d6 = this.angler.posY - this.posY; @@ -447,7 +450,7 @@ public int catchFish() { b0 = 1; } - if(this.inGround) { + if (this.inGround) { b0 = 2; } @@ -463,7 +466,7 @@ public int catchFish() { public void setDead() { super.setDead(); - if(this.angler != null) { + if (this.angler != null) { this.angler.fishEntity = null; } } diff --git a/src/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java similarity index 79% rename from src/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java rename to src/main/java/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java index de03f7c..3c8f323 100644 --- a/src/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java @@ -3,6 +3,7 @@ import java.util.List; import net.minecraft.block.Block; +import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.enchantment.EnchantmentThorns; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; @@ -14,7 +15,7 @@ import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.network.packet.Packet70GameEvent; +import net.minecraft.network.play.server.S2BPacketChangeGameState; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; @@ -29,7 +30,7 @@ public class EntityNutsCall extends CustomArrow implements IProjectile, IThrowab private int xTile = -1; private int yTile = -1; private int zTile = -1; - private int inTile = 0; + private Block inTile = null; private int inData = 0; private boolean inGround = false; @@ -72,7 +73,7 @@ public EntityNutsCall(World par1World, EntityLivingBase par2EntityLiving, Entity this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } @@ -82,7 +83,7 @@ public EntityNutsCall(World par1World, EntityLivingBase par2EntityLiving, Entity double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); - if(d3 >= 1.0E-7D) { + if (d3 >= 1.0E-7D) { float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); double d4 = d0 / d3; @@ -100,7 +101,7 @@ public EntityNutsCall(World par1World, EntityLivingBase par2EntityLiving, float this.renderDistanceWeight = 10.0D; this.shootingEntity = par2EntityLiving; - if(par2EntityLiving instanceof EntityPlayer) { + if (par2EntityLiving instanceof EntityPlayer) { this.canBePickedUp = 1; } @@ -126,7 +127,8 @@ protected void entityInit() { } /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction. + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z + * direction. */ public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); @@ -167,7 +169,7 @@ public void setVelocity(double par1, double par3, double par5) { this.motionY = par3; this.motionZ = par5; - if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); @@ -184,35 +186,35 @@ public void setVelocity(double par1, double par3, double par5) { public void onUpdate() { super.onUpdate(); - if(this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); } - int i = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - if(i > 0) { - Block.blocksList[i].setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = Block.blocksList[i].getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + if (i != null) { + i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - if(axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { + if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { this.inGround = true; } } - if(this.arrowShake > 0) { + if (this.arrowShake > 0) { --this.arrowShake; } - if(this.inGround) { - int j = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + if (this.inGround) { + Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - if(j == this.inTile && k == this.inData) { + if (j == this.inTile && k == this.inData) { ++this.ticksInGround; - if(this.ticksInGround == 20000) { + if (this.ticksInGround == 20000) { this.setDead(); } } else { @@ -227,11 +229,11 @@ public void onUpdate() { ++this.ticksInAir; Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks_do_do(vec3, vec31, false, true); + MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - if(movingobjectposition != null) { + if (movingobjectposition != null) { vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); } @@ -241,18 +243,18 @@ public void onUpdate() { int l; float f1; - for(l = 0; l < list.size(); ++l) { + for (l = 0; l < list.size(); ++l) { Entity entity1 = (Entity) list.get(l); - if(entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { + if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { f1 = 0.3F; AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - if(movingobjectposition1 != null) { + if (movingobjectposition1 != null) { double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - if(d1 < d0 || d0 == 0.0D) { + if (d1 < d0 || d0 == 0.0D) { entity = entity1; d0 = d1; } @@ -260,14 +262,14 @@ public void onUpdate() { } } - if(entity != null) { + if (entity != null) { movingobjectposition = new MovingObjectPosition(entity); } - if(movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; - if(entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { + if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { movingobjectposition = null; } } @@ -275,48 +277,49 @@ public void onUpdate() { float f2; float f3; - if(movingobjectposition != null) { - if(movingobjectposition.entityHit != null) { + if (movingobjectposition != null) { + if (movingobjectposition.entityHit != null) { f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); - if(this.getIsCritical()) { + if (this.getIsCritical()) { i1 += this.rand.nextInt(i1 / 2 + 2); } DamageSource damagesource = null; - if(this.shootingEntity == null) { + if (this.shootingEntity == null) { damagesource = DamageSource.causeThrownDamage(this, this); } else { damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); } - if(this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { movingobjectposition.entityHit.setFire(5); } - if(Math.random() > 0.5) + if (Math.random() > 0.5) worldObj.addWeatherEffect(new EntityLightningBolt(worldObj, (double) posX, (double) posY, (double) posZ)); - if(movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { - if(movingobjectposition.entityHit instanceof EntityLiving) { + if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if (movingobjectposition.entityHit instanceof EntityLiving) { EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; - if(this.knockbackStrength > 0) { + if (this.knockbackStrength > 0) { f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - if(f3 > 0.0F) { + if (f3 > 0.0F) { movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); } } - if(this.shootingEntity != null) { - EnchantmentThorns.func_92096_a(this.shootingEntity, entityliving, this.rand); + if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) { + EnchantmentHelper.func_151384_a(entityliving, this.shootingEntity); + EnchantmentHelper.func_151385_b((EntityLivingBase) this.shootingEntity, entityliving); } - if(this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { - ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacketToPlayer(new Packet70GameEvent(6, 0)); + if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); } } @@ -333,7 +336,7 @@ public void onUpdate() { this.xTile = movingobjectposition.blockX; this.yTile = movingobjectposition.blockY; this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); + this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); @@ -347,14 +350,14 @@ public void onUpdate() { this.arrowShake = 7; this.setIsCritical(false); - if(this.inTile != 0) { - Block.blocksList[this.inTile].onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + if (this.inTile != null) { + this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); } } } - if(this.getIsCritical()) { - for(l = 0; l < 4; ++l) { + if (this.getIsCritical()) { + for (l = 0; l < 4; ++l) { this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); } } @@ -365,19 +368,19 @@ public void onUpdate() { f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - for(this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { ; } - while(this.rotationPitch - this.prevRotationPitch >= 180.0F) { + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { this.prevRotationPitch += 360.0F; } - while(this.rotationYaw - this.prevRotationYaw < -180.0F) { + while (this.rotationYaw - this.prevRotationYaw < -180.0F) { this.prevRotationYaw -= 360.0F; } - while(this.rotationYaw - this.prevRotationYaw >= 180.0F) { + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { this.prevRotationYaw += 360.0F; } @@ -386,8 +389,8 @@ public void onUpdate() { float f4 = 0.99F; f1 = 0.05F; - if(this.isInWater()) { - for(int j1 = 0; j1 < 4; ++j1) { + if (this.isInWater()) { + for (int j1 = 0; j1 < 4; ++j1) { f3 = 0.25F; this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); } @@ -400,7 +403,7 @@ public void onUpdate() { this.motionZ *= (double) f4; this.motionY -= (double) f1; this.setPosition(this.posX, this.posY, this.posZ); - this.doBlockCollisions(); + this.func_145775_I(); } } @@ -411,7 +414,7 @@ public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { par1NBTTagCompound.setShort("xTile", (short) this.xTile); par1NBTTagCompound.setShort("yTile", (short) this.yTile); par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setByte("inTile", (byte) this.inTile); + par1NBTTagCompound.setString("inTile", this.inTile.getUnlocalizedName()); par1NBTTagCompound.setByte("inData", (byte) this.inData); par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); @@ -421,7 +424,7 @@ public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { NBTTagCompound stackTag = new NBTTagCompound(); stack.writeToNBT(stackTag); - par1NBTTagCompound.setCompoundTag("itemstack", stackTag); + par1NBTTagCompound.setTag("itemstack", stackTag); } /** @@ -431,18 +434,18 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { this.xTile = par1NBTTagCompound.getShort("xTile"); this.yTile = par1NBTTagCompound.getShort("yTile"); this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = par1NBTTagCompound.getByte("inTile") & 255; + this.inTile = Block.getBlockFromName(par1NBTTagCompound.getString("inTile")); this.inData = par1NBTTagCompound.getByte("inData") & 255; this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - if(par1NBTTagCompound.hasKey("damage")) { + if (par1NBTTagCompound.hasKey("damage")) { this.damage = par1NBTTagCompound.getDouble("damage"); } - if(par1NBTTagCompound.hasKey("pickup")) { + if (par1NBTTagCompound.hasKey("pickup")) { this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } else if(par1NBTTagCompound.hasKey("player")) { + } else if (par1NBTTagCompound.hasKey("player")) { this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; } @@ -454,14 +457,14 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { * Called by a player entity when they collide with an entity */ public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { - if(!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - if(this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(stack)) { + if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(stack)) { flag = false; } - if(flag) { + if (flag) { this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); par1EntityPlayer.onItemPickup(this, 1); this.setDead(); @@ -470,7 +473,8 @@ public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { } /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to prevent them from trampling crops + * returns if this entity triggers Block.onEntityWalking on the blocks they + * walk on. used for spiders and wolves to prevent them from trampling crops */ protected boolean canTriggerWalking() { return false; @@ -504,12 +508,13 @@ public boolean canAttackWithItem() { } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ public void setIsCritical(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - if(par1) { + if (par1) { this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); } else { this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); @@ -517,7 +522,8 @@ public void setIsCritical(boolean par1) { } /** - * Whether the arrow has a stream of critical hit particles flying behind it. + * Whether the arrow has a stream of critical hit particles flying behind + * it. */ public boolean getIsCritical() { byte b0 = this.dataWatcher.getWatchableObjectByte(16); diff --git a/src/main/java/com/teammetallurgy/atum/items/AtumItems.java b/src/main/java/com/teammetallurgy/atum/items/AtumItems.java new file mode 100644 index 0000000..a2d4f17 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/AtumItems.java @@ -0,0 +1,197 @@ +package com.teammetallurgy.atum.items; + +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.Item.ToolMaterial; +import net.minecraft.item.ItemArmor.ArmorMaterial; +import net.minecraft.item.ItemFood; +import net.minecraft.item.ItemSeeds; +import net.minecraftforge.common.util.EnumHelper; + +import com.teammetallurgy.atum.Atum; +import com.teammetallurgy.atum.AtumIDS; +import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.items.artifacts.IsisEmbrace; +import com.teammetallurgy.atum.items.artifacts.ItemAkersToil; +import com.teammetallurgy.atum.items.artifacts.ItemAmunetsHomecoming; +import com.teammetallurgy.atum.items.artifacts.ItemAnhursMight; +import com.teammetallurgy.atum.items.artifacts.ItemAnubisMercy; +import com.teammetallurgy.atum.items.artifacts.ItemAnuketsBounty; +import com.teammetallurgy.atum.items.artifacts.ItemAtensFury; +import com.teammetallurgy.atum.items.artifacts.ItemGebsBlessing; +import com.teammetallurgy.atum.items.artifacts.ItemGebsSolidarity; +import com.teammetallurgy.atum.items.artifacts.ItemHedetetsSting; +import com.teammetallurgy.atum.items.artifacts.ItemHedetetsVenom; +import com.teammetallurgy.atum.items.artifacts.ItemHorusFlight; +import com.teammetallurgy.atum.items.artifacts.ItemHorusSoaring; +import com.teammetallurgy.atum.items.artifacts.ItemIsisHealing; +import com.teammetallurgy.atum.items.artifacts.ItemMaatsBalance; +import com.teammetallurgy.atum.items.artifacts.ItemMafdetsQuickness; +import com.teammetallurgy.atum.items.artifacts.ItemMnevisHorns; +import com.teammetallurgy.atum.items.artifacts.ItemMonthusBlast; +import com.teammetallurgy.atum.items.artifacts.ItemMonthusStrike; +import com.teammetallurgy.atum.items.artifacts.ItemNeithsAudacity; +import com.teammetallurgy.atum.items.artifacts.ItemNusFlux; +import com.teammetallurgy.atum.items.artifacts.ItemNutsAgility; +import com.teammetallurgy.atum.items.artifacts.ItemNutsCall; +import com.teammetallurgy.atum.items.artifacts.ItemOsirisWill; +import com.teammetallurgy.atum.items.artifacts.ItemPtahsDecadence; +import com.teammetallurgy.atum.items.artifacts.ItemPtahsDestruction; +import com.teammetallurgy.atum.items.artifacts.ItemRasGlory; +import com.teammetallurgy.atum.items.artifacts.ItemSekhmetsWrath; +import com.teammetallurgy.atum.items.artifacts.ItemShusBreath; +import com.teammetallurgy.atum.items.artifacts.ItemSobeksRage; + +import cpw.mods.fml.common.registry.GameRegistry; + +public enum AtumItems { + INSTANCE; + public static final Item ITEM_SCRAP = new Item().setUnlocalizedName("clothScrap").setTextureName("atum:ClothScrap"); + public static final Item ITEM_LINEN = new Item().setUnlocalizedName("linen").setTextureName("atum:Linen"); + public static final Item ITEM_SCARAB = new ItemScarab().setUnlocalizedName("scarab"); + public static final Item ITEM_LOOT = new ItemLoot().setUnlocalizedName("loot"); + public static final Item ITEM_DATE = new ItemFood(5, 1.5F, false).setTextureName("atum:date").setUnlocalizedName("date"); + public static final Item ITEM_SCIMITAR = new ItemScimitar(ToolMaterial.IRON).setUnlocalizedName("scimitar"); + public static final Item ITEM_GREATSWORD = new ItemGreatsword(ToolMaterial.IRON).setUnlocalizedName("greatsword").setTextureName("atum:Greatsword"); + public static final Item ITEM_BOW = new ItemAtumBow().setUnlocalizedName("bow"); + public static final Item ITEM_STONESOLDIER_SWORD = new ItemStoneSoldierSword(ToolMaterial.IRON).setUnlocalizedName("stoneSoldierSword"); + public static final Item ITEM_SCEPTER = new ItemScepter(ToolMaterial.GOLD).setUnlocalizedName("scepter"); + public static final Item ptahsPick = new ItemPtahsDecadence(ToolMaterial.EMERALD).setUnlocalizedName("ptahsDecadence"); + public static final Item sobeksRage = new ItemSobeksRage(ToolMaterial.EMERALD).setUnlocalizedName("soteksRage"); + public static final Item osirisWill = new ItemOsirisWill(ToolMaterial.EMERALD).setUnlocalizedName("osirisWill"); + public static final Item akersToil = new ItemAkersToil(ToolMaterial.EMERALD).setUnlocalizedName("akersToil"); + public static final Item gebsBlessing = new ItemGebsBlessing(ToolMaterial.EMERALD).setUnlocalizedName("gebsBlessing"); + public static final Item atensFury = new ItemAtensFury().setUnlocalizedName("atensFury"); + public static final Item rasGlory = new ItemRasGlory(ArmorMaterial.DIAMOND, 0, 0).setTextureFile("EgyptianArmor_1").setUnlocalizedName("rasGlory"); + public static final Item sekhmetsWrath = new ItemSekhmetsWrath(1, 1).setTextureFile("EgyptianArmor_1").setUnlocalizedName("sekhmetsWrath"); + public static final Item nutsAgility = new ItemNutsAgility(ArmorMaterial.DIAMOND, 2, 2).setTextureFile("EgyptianArmor_2").setUnlocalizedName("nutsAgility"); + public static final Item horusFlight = new ItemHorusFlight(ArmorMaterial.DIAMOND, 3, 3).setTextureFile("EgyptianArmor_1").setUnlocalizedName("horusFlight"); + public static final Item monthusStrike = new ItemMonthusStrike(ToolMaterial.EMERALD).setUnlocalizedName("monthusStrike"); + public static final Item anhursMight = new ItemAnhursMight(ToolMaterial.EMERALD).setUnlocalizedName("anhursMight"); + public static final Item hedetetsSting = new ItemHedetetsSting(ToolMaterial.EMERALD).setUnlocalizedName("hedetetsSting"); + public static final Item horusSoaring = new ItemHorusSoaring().setUnlocalizedName("horusSoaring"); + public static final Item shusBreath = new ItemShusBreath().setUnlocalizedName("shusBreath"); + public static final Item ptahsDestruction = new ItemPtahsDestruction(ToolMaterial.EMERALD).setUnlocalizedName("ptahsDestruction"); + public static final Item monthusBlast = new ItemMonthusBlast().setUnlocalizedName("monthusBlast"); + public static final Item nusFlux = new ItemNusFlux(ToolMaterial.EMERALD).setUnlocalizedName("nusFlux"); + public static final Item mnevisHorns = new ItemMnevisHorns(ArmorMaterial.DIAMOND, 0, 0).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("mnevisHorns"); + public static final Item isisEmbrace = new IsisEmbrace(ArmorMaterial.DIAMOND, 1, 1).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("isisEmbrace"); + public static final Item maatsBalance = new ItemMaatsBalance(ArmorMaterial.DIAMOND, 2, 2).setTextureFile("RubyArtifactArmor_2").setUnlocalizedName("maatsBalance"); + public static final Item hedetetsVenom = new ItemHedetetsVenom().setUnlocalizedName("hedetetsVenom"); + public static final Item gebsSolidarity = new ItemGebsSolidarity(ArmorMaterial.DIAMOND, 3, 3).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("gebsSolidarity"); + public static final Item nutsCall = new ItemNutsCall().setUnlocalizedName("nutsCall"); + public static final Item anuketsBounty = new ItemAnuketsBounty().setUnlocalizedName("anuketsBounty"); + public static final Item mafdetsQuickness = new ItemMafdetsQuickness().setUnlocalizedName("mafdetsQuickness"); + public static final Item isisHealing = new ItemIsisHealing().setUnlocalizedName("isisHealing"); + public static final Item amunetsHomecoming = new ItemAmunetsHomecoming().setUnlocalizedName("amunetsHomecoming"); + public static final Item anubisMercy = new ItemAnubisMercy().setUnlocalizedName("anubisMercy"); + public static final Item limestoneShovel = new LimestoneShovel(ToolMaterial.STONE).setUnlocalizedName("limestoneShovel"); + public static final Item limestonePickaxe = new LimestonePickaxe(ToolMaterial.STONE).setUnlocalizedName("limestonePickaxe"); + public static final Item limestoneAxe = new LimestoneAxe(ToolMaterial.STONE).setUnlocalizedName("limestoneAxe"); + public static final Item limestoneSword = new LimestoneSword(ToolMaterial.STONE).setUnlocalizedName("limestoneSword"); + public static final Item limestoneHoe = new LimestoneHoe(ToolMaterial.STONE).setUnlocalizedName("limestoneHoe"); + + private static ArmorMaterial mummyEnum = EnumHelper.addArmorMaterial("Mummy", 5, new int[] { 1, 3, 2, 1 }, 15); + public static final Item mummyHelmet = new ItemTexturedArmor(mummyEnum, 0, 0).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyHelmet").setTextureName("atum:MummyHelmet"); + public static final Item mummyChest = new ItemTexturedArmor(mummyEnum, 0, 1).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyChest").setTextureName("atum:MummyChest"); + public static final Item mummyLegs = new ItemTexturedArmor(mummyEnum, 0, 2).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_2").setUnlocalizedName("mummyLegs").setTextureName("atum:MummyLegs"); + public static final Item mummyBoots = new ItemTexturedArmor(mummyEnum, 0, 3).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyBoots").setTextureName("atum:MummyBoots"); + + private static ArmorMaterial wandererEnum = EnumHelper.addArmorMaterial("Wanderer", 10, new int[] { 2, 3, 3, 2 }, 15); + public static final Item wandererHelmet = new ItemTexturedArmor(wandererEnum, 0, 0).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererHelmet").setTextureName("atum:WandererHelmet"); + public static final Item wandererChest = new ItemTexturedArmor(wandererEnum, 0, 1).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererChest").setTextureName("atum:WandererChest"); + public static final Item wandererLegs = new ItemTexturedArmor(wandererEnum, 0, 2).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_2").setUnlocalizedName("wandererLegs").setTextureName("atum:WandererLegs"); + public static final Item wandererBoots = new ItemTexturedArmor(wandererEnum, 0, 3).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererBoots").setTextureName("atum:WandererBoots"); + + private static ArmorMaterial desertEnum = EnumHelper.addArmorMaterial("Desert", 20, new int[] { 3, 6, 5, 3 }, 15); + public static final Item desertHelmet = new ItemTexturedArmor(desertEnum, 0, 0).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_1").setUnlocalizedName("desertHelmet").setTextureName("atum:DesertHelmet"); + public static final Item desertChest = new ItemTexturedArmor(desertEnum, 0, 1).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_1").setUnlocalizedName("desertChest").setTextureName("atum:DesertChest"); + public static final Item desertLegs = new ItemTexturedArmor(desertEnum, 0, 2).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_2").setUnlocalizedName("desertLegs").setTextureName("atum:DesertLegs"); + public static final Item desertBoots = new ItemTexturedArmor(desertEnum, 0, 3).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_1").setUnlocalizedName("desertBoots").setTextureName("atum:DesertBoots"); + + public static final Item papyrusPlant = new ItemPapyrusPlant(AtumBlocks.BLOCK_PAPYRUS).setUnlocalizedName("papyrusPlant"); + public static final Item ectoplasm = new Item().setUnlocalizedName("ectoplasm").setTextureName("atum:Ectoplasm"); + public static final Item stoneChunk = new Item().setUnlocalizedName("stoneChunk").setTextureName("atum:StoneChunk"); + public static final Item scroll = new Item().setUnlocalizedName("scroll").setTextureName("atum:Scroll"); + public static final Item pelt = new Item().setUnlocalizedName("wolfPelt").setTextureName("atum:WolfPelt"); + public static final Item flax = new Item().setUnlocalizedName("flax").setTextureName("atum:FlaxItem"); + public static final Item flaxSeeds = new ItemSeeds(AtumBlocks.BLOCK_FLAX, Blocks.farmland).setUnlocalizedName("flaxSeeds").setTextureName("atum:FlaxSeeds"); + public static final Item ITEM_FISH = new ItemFish().setUnlocalizedName("fish"); + public static final Item neithsAudacity = new ItemNeithsAudacity().setUnlocalizedName("neithsAudacity"); + + public void registerItems() { + this.register(ITEM_SCARAB); + this.register(ITEM_LOOT); + this.register(ITEM_DATE); + this.register(ITEM_SCIMITAR); + this.register(ITEM_GREATSWORD); + this.register(ITEM_SCEPTER); + this.register(ITEM_STONESOLDIER_SWORD); + this.register(ITEM_BOW); + this.register(ptahsPick); + this.register(sobeksRage); + this.register(osirisWill); + this.register(akersToil); + this.register(gebsBlessing); + this.register(atensFury); + this.register(rasGlory); + this.register(sekhmetsWrath); + this.register(nutsAgility); + this.register(horusFlight); + this.register(monthusStrike); + this.register(anhursMight); + this.register(hedetetsSting); + this.register(horusSoaring); + this.register(shusBreath); + this.register(ptahsDestruction); + this.register(monthusBlast); + this.register(nusFlux); + this.register(mnevisHorns); + this.register(isisEmbrace); + this.register(maatsBalance); + this.register(hedetetsVenom); + this.register(gebsSolidarity); + this.register(nutsCall); + this.register(anuketsBounty); + this.register(mafdetsQuickness); + this.register(isisHealing); + this.register(amunetsHomecoming); + this.register(anubisMercy); + this.register(limestoneShovel); + this.register(limestonePickaxe); + this.register(limestoneAxe); + this.register(limestoneSword); + this.register(limestoneHoe); + this.register(mummyHelmet); + this.register(mummyChest); + this.register(mummyLegs); + this.register(mummyBoots); + this.register(wandererHelmet); + this.register(wandererChest); + this.register(wandererLegs); + this.register(wandererBoots); + this.register(desertHelmet); + this.register(desertChest); + this.register(desertLegs); + this.register(desertBoots); + this.register(papyrusPlant); + this.register(ectoplasm); + this.register(stoneChunk); + this.register(ITEM_SCRAP); + this.register(scroll); + this.register(pelt); + this.register(ITEM_LINEN); + this.register(flax); + this.register(flaxSeeds); + this.register(ITEM_FISH); + this.register(neithsAudacity); + } + + private void register(Item item) { + GameRegistry.registerItem(item, item.getUnlocalizedName()); + item.setCreativeTab(Atum.creativeTab); + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemAtumBow.java b/src/main/java/com/teammetallurgy/atum/items/ItemAtumBow.java new file mode 100644 index 0000000..0076847 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/ItemAtumBow.java @@ -0,0 +1,58 @@ +package com.teammetallurgy.atum.items; + +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemBow; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class ItemAtumBow extends ItemBow { + + public static final String[] bowPullIconNameArray = new String[] { "bow_pull_0", "bow_pull_1", "bow_pull_2" }; + IIcon[] iconArray; + + public ItemAtumBow() { + super(); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IIconRegister) { + this.iconArray = new IIcon[bowPullIconNameArray.length]; + + this.itemIcon = par1IIconRegister.registerIcon("atum:Bow"); + for (int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); + } + + } + + @Override + public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + if (usingItem != null) { + int j = this.getMaxItemUseDuration(stack) - useRemaining; + if (j >= 18) { + return this.getItemIconForUseDuration(2); + } + + if (j > 13) { + return this.getItemIconForUseDuration(1); + } + + if (j > 0) { + return this.getItemIconForUseDuration(0); + } + } + + return this.getIcon(stack, renderPass); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getItemIconForUseDuration(int par1) { + return this.iconArray[par1]; + } + +} diff --git a/src/com/teammetallurgy/atum/items/ItemFish.java b/src/main/java/com/teammetallurgy/atum/items/ItemFish.java similarity index 57% rename from src/com/teammetallurgy/atum/items/ItemFish.java rename to src/main/java/com/teammetallurgy/atum/items/ItemFish.java index 85556b5..5a20474 100644 --- a/src/com/teammetallurgy/atum/items/ItemFish.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemFish.java @@ -2,29 +2,26 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; - -import com.teammetallurgy.atum.Atum; - +import net.minecraft.util.IIcon; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class ItemFish extends Item { - Icon[] icons; + IIcon[] icons; - public ItemFish(int par1) { - super(par1); + public ItemFish() { + super(); this.setHasSubtypes(true); } @Override @SideOnly(Side.CLIENT) - public Icon getIconFromDamage(int par1) { + public IIcon getIconFromDamage(int par1) { return this.icons[par1]; } @@ -35,20 +32,20 @@ public String getUnlocalizedName(ItemStack par1ItemStack) { @Override @SideOnly(Side.CLIENT) - public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List) { + public void getSubItems(Item par1, CreativeTabs par2CreativeTabs, List par3List) { for(int i = 0; i < 4; ++i) { - par3List.add(new ItemStack(super.itemID, 1, i)); + par3List.add(new ItemStack(par1, 1, i)); } } @Override @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - this.icons = new Icon[4]; + public void registerIcons(IIconRegister par1IIconRegister) { + this.icons = new IIcon[4]; for(int i = 0; i < 4; ++i) { - this.icons[i] = par1IconRegister.registerIcon("atum:Fish" + i); + this.icons[i] = par1IIconRegister.registerIcon("atum:Fish" + i); } } } diff --git a/src/com/teammetallurgy/atum/items/ItemGreatsword.java b/src/main/java/com/teammetallurgy/atum/items/ItemGreatsword.java similarity index 84% rename from src/com/teammetallurgy/atum/items/ItemGreatsword.java rename to src/main/java/com/teammetallurgy/atum/items/ItemGreatsword.java index aab5b2a..782873e 100644 --- a/src/com/teammetallurgy/atum/items/ItemGreatsword.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemGreatsword.java @@ -1,7 +1,6 @@ package com.teammetallurgy.atum.items; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; import net.minecraft.util.MathHelper; @@ -11,8 +10,8 @@ public class ItemGreatsword extends ItemSword { - public ItemGreatsword(int par1, EnumToolMaterial par2EnumToolMaterial) { - super(par1, par2EnumToolMaterial); + public ItemGreatsword(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); } @Override diff --git a/src/com/teammetallurgy/atum/items/ItemLoot.java b/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java similarity index 55% rename from src/com/teammetallurgy/atum/items/ItemLoot.java rename to src/main/java/com/teammetallurgy/atum/items/ItemLoot.java index 0743c65..e5a3d66 100644 --- a/src/com/teammetallurgy/atum/items/ItemLoot.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java @@ -4,24 +4,25 @@ import java.util.Random; import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.item.EntityItem; +import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; +import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class ItemLoot extends Item { - private static String[] typeArray = new String[]{"Idol", "Necklace", "Ring", "Broach", "Scepter"}; - private static String[] qualityArray = new String[]{"Dirty", "Silver", "Gold", "Sapphire", "Ruby", "Emerald", "Diamond"}; - Icon[] iconArray; + private static String[] typeArray = new String[] { "Idol", "Necklace", "Ring", "Broach", "Scepter" }; + private static String[] qualityArray = new String[] { "Dirty", "Silver", "Gold", "Sapphire", "Ruby", "Emerald", "Diamond" }; + IIcon[] iconArray; - public ItemLoot(int par1) { - super(par1); + public ItemLoot() { + super(); this.setHasSubtypes(true); this.setMaxDamage(0); } @@ -29,7 +30,7 @@ public ItemLoot(int par1) { public static ItemStack getRandomLoot(Random rand, boolean isDirty) { int type = rand.nextInt(typeArray.length); int quality = rand.nextInt(qualityArray.length - 1) + 1; - return new ItemStack(AtumItems.ITEM_LOOT.itemID, 1, type << 5 | quality << 1 | (isDirty ? 1 : 0)); + return new ItemStack(AtumItems.ITEM_LOOT, 1, type << 5 | quality << 1 | (isDirty ? 1 : 0)); } @Override @@ -39,19 +40,19 @@ public String getUnlocalizedName(ItemStack par1ItemStack) { } @Override - public String getItemDisplayName(ItemStack par1ItemStack) { + public String getItemStackDisplayName(ItemStack par1ItemStack) { int type = par1ItemStack.getItemDamage() >> 5 & 15; - return super.getItemDisplayName(par1ItemStack) + " " + typeArray[type]; + return super.getItemStackDisplayName(par1ItemStack) + " " + typeArray[type]; } @Override public boolean onEntityItemUpdate(EntityItem entityItem) { - int id = entityItem.worldObj.getBlockId(MathHelper.floor_double(entityItem.posX), MathHelper.floor_double(entityItem.posY), MathHelper.floor_double(entityItem.posZ)); - if(id == Block.waterStill.blockID || id == Block.waterMoving.blockID) { + Block id = entityItem.worldObj.getBlock(MathHelper.floor_double(entityItem.posX), MathHelper.floor_double(entityItem.posY), MathHelper.floor_double(entityItem.posZ)); + if (id == Blocks.water || id == Blocks.flowing_water) { ItemStack item = entityItem.getEntityItem(); int damage = item.getItemDamage() >> 1; int quality = damage & 15; - if(quality == 0) { + if (quality == 0) { damage |= (int) (Math.random() * 6.0D) + 1; } @@ -64,11 +65,11 @@ public boolean onEntityItemUpdate(EntityItem entityItem) { @Override @SideOnly(Side.CLIENT) - public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List) { - for(int type = 0; type < typeArray.length; ++type) { + public void getSubItems(Item par1, CreativeTabs par2CreativeTabs, List par3List) { + for (int type = 0; type < typeArray.length; ++type) { par3List.add(new ItemStack(par1, 1, type << 5 | 1)); - for(int quality = 1; quality < qualityArray.length; ++quality) { + for (int quality = 1; quality < qualityArray.length; ++quality) { par3List.add(new ItemStack(par1, 1, type << 5 | quality << 1)); } } @@ -77,7 +78,7 @@ public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List) @Override @SideOnly(Side.CLIENT) - public Icon getIconFromDamage(int par1) { + public IIcon getIconFromDamage(int par1) { int dirty = par1 & 1; int quality = par1 >> 1 & 15; int type = par1 >> 5 & 15; @@ -86,14 +87,14 @@ public Icon getIconFromDamage(int par1) { @Override @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - this.iconArray = new Icon[typeArray.length * (qualityArray.length + 1)]; + public void registerIcons(IIconRegister par1IIconRegister) { + this.iconArray = new IIcon[typeArray.length * (qualityArray.length + 1)]; - for(int type = 0; type < 5; ++type) { - this.iconArray[type * 7] = par1IconRegister.registerIcon("atum:Dirty" + typeArray[type]); + for (int type = 0; type < 5; ++type) { + this.iconArray[type * 7] = par1IIconRegister.registerIcon("atum:Dirty" + typeArray[type]); - for(int quality = 1; quality < 7; ++quality) { - this.iconArray[type * 7 + quality] = par1IconRegister.registerIcon("atum:" + qualityArray[quality] + typeArray[type]); + for (int quality = 1; quality < 7; ++quality) { + this.iconArray[type * 7 + quality] = par1IIconRegister.registerIcon("atum:" + qualityArray[quality] + typeArray[type]); } } diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemPapyrusPlant.java b/src/main/java/com/teammetallurgy/atum/items/ItemPapyrusPlant.java new file mode 100644 index 0000000..236fd81 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/ItemPapyrusPlant.java @@ -0,0 +1,80 @@ +package com.teammetallurgy.atum.items; + +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class ItemPapyrusPlant extends Item { + + private Block spawnID; + + public ItemPapyrusPlant(Block par2Block) { + super(); + this.spawnID = par2Block; + } + + @Override + public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) { + Block i1 = par3World.getBlock(par4, par5, par6); + if (i1 == Blocks.snow && (par3World.getBlockMetadata(par4, par5, par6) & 7) < 1) { + par7 = 1; + } else if (i1 != Blocks.vine && i1 != Blocks.tallgrass && i1 != Blocks.deadbush) { + if (par7 == 0) { + --par5; + } + + if (par7 == 1) { + ++par5; + } + + if (par7 == 2) { + --par6; + } + + if (par7 == 3) { + ++par6; + } + + if (par7 == 4) { + --par4; + } + + if (par7 == 5) { + ++par4; + } + } + + if (!par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack)) { + return false; + } else if (par1ItemStack.stackSize == 0) { + return false; + } else { + if (par3World.canPlaceEntityOnSide(this.spawnID, par4, par5, par6, false, par7, (Entity) null, par1ItemStack)) { + Block block = this.spawnID; + int j1 = block.onBlockPlaced(par3World, par4, par5, par6, par7, par8, par9, par10, 0); + if (par3World.setBlock(par4, par5, par6, this.spawnID, j1, 3)) { + if (par3World.getBlock(par4, par5, par6) == this.spawnID) { + this.spawnID.onBlockPlacedBy(par3World, par4, par5, par6, par2EntityPlayer, par1ItemStack); + this.spawnID.onPostBlockPlaced(par3World, par4, par5, par6, j1); + } + + par3World.playSoundEffect((double) ((float) par4 + 0.5F), (double) ((float) par5 + 0.5F), (double) ((float) par6 + 0.5F), block.stepSound.getStepResourcePath(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); + --par1ItemStack.stackSize; + } + } + + return true; + } + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:PapyrusPlantItem"); + } + +} diff --git a/src/com/teammetallurgy/atum/items/ItemScarab.java b/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java similarity index 67% rename from src/com/teammetallurgy/atum/items/ItemScarab.java rename to src/main/java/com/teammetallurgy/atum/items/ItemScarab.java index 3220756..79b338f 100644 --- a/src/com/teammetallurgy/atum/items/ItemScarab.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java @@ -1,19 +1,20 @@ package com.teammetallurgy.atum.items; import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; -import com.teammetallurgy.atum.blocks.BlockPortal; import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.BlockPortal; public class ItemScarab extends Item { - public ItemScarab(int id) { - super(id); + public ItemScarab() { + super(); super.maxStackSize = 1; } @@ -24,25 +25,25 @@ public boolean hasEffect(ItemStack par1ItemStack) { @Override public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int x, int y, int z, int par7, float par8, float par9, float par10) { - int blockID = par3World.getBlockId(x, y, z); - Block block = null; - if(blockID == Block.sandStone.blockID) { - block = Block.sandStone; - } else if(blockID == AtumBlocks.BLOCK_LARGEBRICK.blockID) { - block = AtumBlocks.BLOCK_LARGEBRICK; + Block blockID = par3World.getBlock(x, y, z); + Block temp = null; + if(blockID == Blocks.sandstone) { + temp = Blocks.sandstone; + } else if(blockID == AtumBlocks.BLOCK_LARGEBRICK) { + temp = AtumBlocks.BLOCK_LARGEBRICK; } - if(block != null) { - if(!((BlockPortal) AtumBlocks.BLOCK_PORTAL).tryToCreatePortal(par3World, x, y, z, block)) { + if(blockID != null) { + if(!((BlockPortal) AtumBlocks.BLOCK_PORTAL).tryToCreatePortal(par3World, x, y, z, temp)) { if(par2EntityPlayer.capabilities.isCreativeMode) { for(int x1 = -2; x1 < 3; x1++) { for(int z1 = -2; z1 < 3; z1++) { - par3World.setBlock(x + x1, y, z + z1, block.blockID); + par3World.setBlock(x + x1, y, z + z1, temp); } } for(int x1 = -2; x1 < 3; x1++) { for(int z1 = -2; z1 < 3; z1++) { if(x1 + x == x + 2 || z1 + z == z + 2 || x1 + x == x - 2 || z1 + z == z - 2) { - par3World.setBlock(x + x1, y + 1, z + z1, block.blockID); + par3World.setBlock(x + x1, y + 1, z + z1, temp); } } } @@ -50,7 +51,7 @@ public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, for(int x1 = -2; x1 < 3; x1++) { for(int z1 = -2; z1 < 3; z1++) { if((x1 + x == x + 2 && z1 + z == z + 2) || (x1 + x == x - 2 && z1 + z == z + 2) || (x1 + x == x + 2 && z1 + z == z - 2) || (x1 + x == x - 2 && z1 + z == z - 2)) { - par3World.setBlock(x + x1, y + y1, z + z1, block.blockID); + par3World.setBlock(x + x1, y + y1, z + z1, temp); } } } @@ -65,7 +66,7 @@ public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, } @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:Scarab"); + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:Scarab"); } } diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemScepter.java b/src/main/java/com/teammetallurgy/atum/items/ItemScepter.java new file mode 100644 index 0000000..2ff2d58 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/ItemScepter.java @@ -0,0 +1,16 @@ +package com.teammetallurgy.atum.items; + +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.ItemSword; + +public class ItemScepter extends ItemSword { + + public ItemScepter(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:Scepter"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemScimitar.java b/src/main/java/com/teammetallurgy/atum/items/ItemScimitar.java new file mode 100644 index 0000000..fc9c84e --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/ItemScimitar.java @@ -0,0 +1,16 @@ +package com.teammetallurgy.atum.items; + +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.ItemSword; + +public class ItemScimitar extends ItemSword { + + public ItemScimitar(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:Scimitar"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java b/src/main/java/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java new file mode 100644 index 0000000..9f5293e --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java @@ -0,0 +1,16 @@ +package com.teammetallurgy.atum.items; + +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.ItemSword; + +public class ItemStoneSoldierSword extends ItemSword { + + public ItemStoneSoldierSword(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:StoneSoldierSword"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemTexturedArmor.java b/src/main/java/com/teammetallurgy/atum/items/ItemTexturedArmor.java new file mode 100644 index 0000000..6e3c909 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/ItemTexturedArmor.java @@ -0,0 +1,39 @@ +package com.teammetallurgy.atum.items; + +import net.minecraft.entity.Entity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemArmor; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +public class ItemTexturedArmor extends ItemArmor { + + private String textureFile; + private Item repairItem = null; + private IIcon[] armour; + + public ItemTexturedArmor(ArmorMaterial par2ArmorMaterial, int par3, int par4) { + super(par2ArmorMaterial, par3, par4); + } + + public ItemTexturedArmor setRepairItem(Item item) { + this.repairItem = item; + return this; + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == this.repairItem; + } + + public ItemTexturedArmor setTextureFile(String filename) { + this.textureFile = filename; + return this; + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { + return "atum:textures/armor/" + this.textureFile + ".png"; + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/items/LimestoneAxe.java b/src/main/java/com/teammetallurgy/atum/items/LimestoneAxe.java new file mode 100644 index 0000000..c14efa0 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/LimestoneAxe.java @@ -0,0 +1,25 @@ +package com.teammetallurgy.atum.items; + +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.ItemAxe; +import net.minecraft.item.ItemStack; + +import com.teammetallurgy.atum.blocks.AtumBlocks; + +public class LimestoneAxe extends ItemAxe { + + public LimestoneAxe(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return Block.getBlockFromItem(par2ItemStack.getItem()) == AtumBlocks.BLOCK_LIMESTONECOBBLE; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:LimestoneAxe"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/LimestoneHoe.java b/src/main/java/com/teammetallurgy/atum/items/LimestoneHoe.java new file mode 100644 index 0000000..d00d013 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/LimestoneHoe.java @@ -0,0 +1,25 @@ +package com.teammetallurgy.atum.items; + +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.ItemHoe; +import net.minecraft.item.ItemStack; + +import com.teammetallurgy.atum.blocks.AtumBlocks; + +public class LimestoneHoe extends ItemHoe { + + public LimestoneHoe(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return Block.getBlockFromItem(par2ItemStack.getItem()) == AtumBlocks.BLOCK_LIMESTONECOBBLE; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:LimestoneHoe"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/LimestonePickaxe.java b/src/main/java/com/teammetallurgy/atum/items/LimestonePickaxe.java new file mode 100644 index 0000000..f33f8bc --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/LimestonePickaxe.java @@ -0,0 +1,25 @@ +package com.teammetallurgy.atum.items; + +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.ItemPickaxe; +import net.minecraft.item.ItemStack; + +import com.teammetallurgy.atum.blocks.AtumBlocks; + +public class LimestonePickaxe extends ItemPickaxe { + + public LimestonePickaxe(ToolMaterial par2ToolMaterial) { + super( par2ToolMaterial); + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return Block.getBlockFromItem(par2ItemStack.getItem()) == AtumBlocks.BLOCK_LIMESTONECOBBLE; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:LimestonePickaxe"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/LimestoneShovel.java b/src/main/java/com/teammetallurgy/atum/items/LimestoneShovel.java new file mode 100644 index 0000000..730c1c1 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/LimestoneShovel.java @@ -0,0 +1,25 @@ +package com.teammetallurgy.atum.items; + +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.ItemSpade; +import net.minecraft.item.ItemStack; + +import com.teammetallurgy.atum.blocks.AtumBlocks; + +public class LimestoneShovel extends ItemSpade { + + public LimestoneShovel(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return Block.getBlockFromItem(par2ItemStack.getItem()) == AtumBlocks.BLOCK_LIMESTONECOBBLE; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:LimestoneShovel"); + } +} diff --git a/src/main/java/com/teammetallurgy/atum/items/LimestoneSword.java b/src/main/java/com/teammetallurgy/atum/items/LimestoneSword.java new file mode 100644 index 0000000..b3b0357 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/LimestoneSword.java @@ -0,0 +1,25 @@ +package com.teammetallurgy.atum.items; + +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ItemSword; + +import com.teammetallurgy.atum.blocks.AtumBlocks; + +public class LimestoneSword extends ItemSword { + + public LimestoneSword(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return Block.getBlockFromItem(par2ItemStack.getItem()) == AtumBlocks.BLOCK_LIMESTONECOBBLE; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:LimestoneSword"); + } +} diff --git a/src/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java similarity index 63% rename from src/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java index 2a40b6d..b864441 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java @@ -2,12 +2,10 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.entity.Entity; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumArmorMaterial; +import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; @@ -20,9 +18,9 @@ public class IsisEmbrace extends ItemTexturedArmor { - - public IsisEmbrace(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { - super(par1, par2EnumArmorMaterial, par3, par4); + public IsisEmbrace(ArmorMaterial par2ArmorMaterial, int par3, int par4) { + super(par2ArmorMaterial, par3, par4); + this.setRepairItem(Items.diamond); } @Override @@ -39,7 +37,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { + if (Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Regeneration I: Regens"); par3List.add(EnumChatFormatting.DARK_PURPLE + "health slowly"); } else { @@ -49,12 +47,7 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; - } - - @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:IsisEmbrace"); + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:IsisEmbrace"); } } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java similarity index 63% rename from src/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java index 6e963be..95fc522 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java @@ -3,16 +3,16 @@ import java.util.List; import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.Item; import net.minecraft.item.ItemSpade; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; +import net.minecraftforge.common.ForgeHooks; import org.lwjgl.input.Keyboard; @@ -21,8 +21,8 @@ public class ItemAkersToil extends ItemSpade { - public ItemAkersToil(int par1, EnumToolMaterial par2EnumToolMaterial) { - super(par1, par2EnumToolMaterial); + public ItemAkersToil(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); } @Override @@ -31,19 +31,17 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { } @Override - public float getStrVsBlock(ItemStack par1ItemStack, Block par2Block) { - for(int i = 0; i < ItemSpade.blocksEffectiveAgainst.length; ++i) { - if(ItemSpade.blocksEffectiveAgainst[i] == par2Block) { - return super.efficiencyOnProperMaterial * 3.0F; - } + public float getDigSpeed(ItemStack stack, Block block, int meta) { + if (ForgeHooks.isToolEffective(stack, block, meta)) { + return super.efficiencyOnProperMaterial * 3.0F; } return 1.0F; } @Override - public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, int par3, int par4, int par5, int par6, EntityLivingBase par7EntityLiving) { - if(par7EntityLiving instanceof EntityPlayer) { + public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, Block par3, int par4, int par5, int par6, EntityLivingBase par7EntityLiving) { + if (par7EntityLiving instanceof EntityPlayer) { ((EntityPlayer) par7EntityLiving).getFoodStats().addExhaustion(-0.025F); } @@ -59,7 +57,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { + if (Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Performance I: Faster, does"); par3List.add(EnumChatFormatting.DARK_PURPLE + "not consume fatique"); } else { @@ -70,11 +68,11 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; + return par2ItemStack.getItem() == Items.diamond; } @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:AkersToil"); + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:AkersToil"); } } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java similarity index 82% rename from src/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java index 84f1872..91808b2 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java @@ -1,13 +1,10 @@ package com.teammetallurgy.atum.items.artifacts; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - import java.util.List; import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; @@ -20,10 +17,13 @@ import org.lwjgl.input.Keyboard; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + public class ItemAmunetsHomecoming extends Item { - public ItemAmunetsHomecoming(int par1) { - super(par1); + public ItemAmunetsHomecoming() { + super(); this.setMaxDamage(20); } @@ -35,7 +35,7 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { @Override // TODO FIX public ItemStack onItemRightClick(ItemStack par1ItemStack, World par3World, EntityPlayer par2EntityPlayer) { - ChunkCoordinates spawn = par2EntityPlayer.getBedLocation(); + ChunkCoordinates spawn = par2EntityPlayer.getBedLocation(par2EntityPlayer.dimension); if(spawn == null) { spawn = par3World.getSpawnPoint(); } @@ -70,13 +70,13 @@ public static ChunkCoordinates verifyRespawnCoordinates(World par0World, ChunkCo c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); } - Block block = Block.blocksList[par0World.getBlockId(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ)]; + Block block = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ); if(block != null && block.isBed(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityLiving) null)) { ChunkCoordinates material1 = block.getBedSpawnPosition(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityPlayer) null); return material1; } else { - Material material = par0World.getBlockMaterial(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ); - Material material1 = par0World.getBlockMaterial(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY + 1, par1ChunkCoordinates.posZ); + Material material = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ).getMaterial(); + Material material1 = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY + 1, par1ChunkCoordinates.posZ).getMaterial(); boolean flag1 = !material.isSolid() && !material.isLiquid(); boolean flag2 = !material1.isSolid() && !material1.isLiquid(); return par2 && flag1 && flag2 ? par1ChunkCoordinates : null; @@ -103,7 +103,7 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:AmunetsHomecoming"); + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:AmunetsHomecoming"); } } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java similarity index 75% rename from src/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java index 4b6c00c..41c2983 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java @@ -2,13 +2,12 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; import net.minecraft.potion.Potion; @@ -23,8 +22,8 @@ public class ItemAnhursMight extends ItemSword { - public ItemAnhursMight(int par1, EnumToolMaterial par2EnumToolMaterial) { - super(par1, par2EnumToolMaterial); + public ItemAnhursMight(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); } @Override @@ -34,7 +33,7 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { @Override public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase par2EntityLiving, EntityLivingBase par3EntityLiving) { - if(Math.random() > 0.5D) { + if (Math.random() > 0.5D) { par2EntityLiving.addPotionEffect(new PotionEffect(21, 80, 1, false)); par2EntityLiving.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 80, 6, false)); } @@ -44,9 +43,9 @@ public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase par2EntityLiv @Override public void onUpdate(ItemStack stack, World world, Entity entity, int par4, boolean par5) { - if(entity instanceof EntityPlayer) { + if (entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) entity; - if(player.getCurrentEquippedItem() != null && player.getCurrentEquippedItem().itemID == super.itemID) { + if (player.getCurrentEquippedItem() != null && player.getCurrentEquippedItem().getItem() == this) { player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 2, 0, false)); } } @@ -62,7 +61,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { + if (Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Mighty I: Slows player,"); par3List.add(EnumChatFormatting.DARK_PURPLE + "Chance to stun foes"); } else { @@ -73,11 +72,11 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; + return par2ItemStack.getItem() == Items.diamond; } @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:AnhursMight"); + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:AnhursMight"); } } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java similarity index 84% rename from src/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java index 992511c..1e0a853 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java @@ -1,13 +1,10 @@ package com.teammetallurgy.atum.items.artifacts; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - import java.util.List; import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumRarity; @@ -18,16 +15,18 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraft.world.chunk.IChunkProvider; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingHurtEvent; import org.lwjgl.input.Keyboard; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + public class ItemAnubisMercy extends Item { - public ItemAnubisMercy(int par1) { - super(par1); + public ItemAnubisMercy() { + super(); this.setMaxDamage(20); } @@ -36,7 +35,7 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { return true; } - @ForgeSubscribe + @SubscribeEvent public void onDamage(LivingHurtEvent event) { if(event.entityLiving instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) event.entityLiving; @@ -46,7 +45,7 @@ public void onDamage(LivingHurtEvent event) { for(int i = 0; i < resistance; ++i) { ItemStack currStack = damageAmount[i]; - if(currStack != null && currStack.itemID == super.itemID) { + if(currStack != null && currStack.getItem() == this) { stack = currStack; break; } @@ -84,7 +83,7 @@ public void onDamage(LivingHurtEvent event) { } public void respawnPlayer(World par3World, EntityPlayer par2EntityPlayer) { - ChunkCoordinates spawn = par2EntityPlayer.getBedLocation(); + ChunkCoordinates spawn = par2EntityPlayer.getBedLocation(par2EntityPlayer.dimension); if(spawn == null) { spawn = par3World.getSpawnPoint(); } @@ -117,13 +116,13 @@ public static ChunkCoordinates verifyRespawnCoordinates(World par0World, ChunkCo c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); } - Block block = Block.blocksList[par0World.getBlockId(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ)]; + Block block = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ); if(block != null && block.isBed(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityLiving) null)) { ChunkCoordinates material1 = block.getBedSpawnPosition(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityPlayer) null); return material1; } else { - Material material = par0World.getBlockMaterial(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ); - Material material1 = par0World.getBlockMaterial(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY + 1, par1ChunkCoordinates.posZ); + Material material = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ).getMaterial(); + Material material1 = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY + 1, par1ChunkCoordinates.posZ).getMaterial(); boolean flag1 = !material.isSolid() && !material.isLiquid(); boolean flag2 = !material1.isSolid() && !material1.isLiquid(); return par2 && flag1 && flag2 ? par1ChunkCoordinates : null; @@ -150,7 +149,7 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:AnubisMercy"); + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:AnubisMercy"); } } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java similarity index 77% rename from src/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java index f64b307..7288fa4 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java @@ -2,14 +2,15 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.Icon; +import net.minecraft.util.IIcon; import net.minecraft.world.World; import org.lwjgl.input.Keyboard; @@ -22,10 +23,10 @@ public class ItemAnuketsBounty extends Item { @SideOnly(Side.CLIENT) - private Icon theIcon; + private IIcon theIcon; - public ItemAnuketsBounty(int par1) { - super(par1); + public ItemAnuketsBounty() { + super(); this.setMaxDamage(64); this.setMaxStackSize(1); this.setCreativeTab(CreativeTabs.tabTools); @@ -50,13 +51,13 @@ public boolean shouldRotateAroundWhenRendering() { @Override public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { - if(par3EntityPlayer.fishEntity != null) { - int i = par3EntityPlayer.fishEntity.catchFish(); + if (par3EntityPlayer.fishEntity != null) { + int i = par3EntityPlayer.fishEntity.func_146034_e(); par1ItemStack.damageItem(i, par3EntityPlayer); par3EntityPlayer.swingItem(); } else { par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 0.5F, 0.4F / (Item.itemRand.nextFloat() * 0.4F + 0.8F)); - if(!par2World.isRemote) { + if (!par2World.isRemote) { par2World.spawnEntityInWorld(new EntityAtumFishHook(par2World, par3EntityPlayer)); } par3EntityPlayer.swingItem(); @@ -66,10 +67,10 @@ public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, Enti } @Override - public void registerIcons(IconRegister par1IconRegister) { - super.registerIcons(par1IconRegister); - this.itemIcon = par1IconRegister.registerIcon("atum:AnuketsBounty"); - this.theIcon = par1IconRegister.registerIcon("fishing_rod_cast"); + public void registerIcons(IIconRegister par1IIconRegister) { + super.registerIcons(par1IIconRegister); + this.itemIcon = par1IIconRegister.registerIcon("atum:AnuketsBounty"); + this.theIcon = par1IIconRegister.registerIcon("fishing_rod_cast"); } @Override @@ -81,7 +82,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { + if (Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Alluring I: Chance to catch"); par3List.add(EnumChatFormatting.DARK_PURPLE + "special fish in Atum"); } else { @@ -93,6 +94,6 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; + return par2ItemStack.getItem() == Items.diamond; } } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java similarity index 82% rename from src/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java index e1eec4d..3b149eb 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java @@ -2,16 +2,17 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemBow; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.Icon; +import net.minecraft.util.IIcon; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; @@ -26,10 +27,10 @@ public class ItemAtensFury extends ItemBow { public static final String[] bowPullIconNameArray = new String[]{"atens_pull_0", "atens_pull_1", "atens_pull_2"}; - Icon[] iconArray; + IIcon[] iconArray; - public ItemAtensFury(int par1) { - super(par1); + public ItemAtensFury() { + super(); this.setMaxDamage(650); } @@ -40,7 +41,7 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; + return par2ItemStack.getItem() == Items.diamond; } @Override @@ -51,7 +52,7 @@ public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, Entit if(!event.isCanceled()) { j = event.charge; boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - if(flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) { + if(flag || par3EntityPlayer.inventory.hasItem(Items.arrow)) { float f = (float) j / 20.0F; f = (f * f + f * 2.0F) / 3.0F; if((double) f < 0.1D) { @@ -84,7 +85,7 @@ public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, Entit if(flag) { entityarrow.canBePickedUp = 2; } else { - par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); + par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); } if(!par2World.isRemote) { @@ -97,17 +98,17 @@ public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, Entit @Override @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - this.iconArray = new Icon[bowPullIconNameArray.length]; - this.itemIcon = par1IconRegister.registerIcon("atum:AtensFury"); + public void registerIcons(IIconRegister par1IIconRegister) { + this.iconArray = new IIcon[bowPullIconNameArray.length]; + this.itemIcon = par1IIconRegister.registerIcon("atum:AtensFury"); for(int i = 0; i < this.iconArray.length; ++i) { - this.iconArray[i] = par1IconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); + this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); } } @Override - public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { if(usingItem != null) { int j = this.getMaxItemUseDuration(stack) - useRemaining; if(j >= 18) { @@ -128,7 +129,7 @@ public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemSt @Override @SideOnly(Side.CLIENT) - public Icon getItemIconForUseDuration(int par1) { + public IIcon getItemIconForUseDuration(int par1) { return this.iconArray[par1]; } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java similarity index 71% rename from src/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java index d195e59..5dac413 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java @@ -2,11 +2,10 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.Item; import net.minecraft.item.ItemHoe; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; @@ -18,8 +17,8 @@ public class ItemGebsBlessing extends ItemHoe { - public ItemGebsBlessing(int par1, EnumToolMaterial par2EnumToolMaterial) { - super(par1, par2EnumToolMaterial); + public ItemGebsBlessing(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); } @Override @@ -27,14 +26,16 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { return true; } + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; } + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { + if (Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Sowing I: Tilled ground is blessed,"); par3List.add(EnumChatFormatting.DARK_PURPLE + "granting increased growth rate"); } else { @@ -43,12 +44,13 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } + @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; + return par2ItemStack.getItem() == Items.diamond; } @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:GebsBlessing"); + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:GebsBlessing"); } } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java similarity index 75% rename from src/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java index ed6c995..3e15b0b 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java @@ -2,35 +2,33 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumArmorMaterial; +import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingHurtEvent; import org.lwjgl.input.Keyboard; import com.teammetallurgy.atum.items.ItemTexturedArmor; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class ItemGebsSolidarity extends ItemTexturedArmor { - - public ItemGebsSolidarity(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { - super(par1, par2EnumArmorMaterial, par3, par4); + public ItemGebsSolidarity(ArmorMaterial par2ArmorMaterial, int par3, int par4) { + super(par2ArmorMaterial, par3, par4); } @Override @@ -38,16 +36,16 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { return true; } - @ForgeSubscribe + @SubscribeEvent public void onLivingAttack(LivingHurtEvent event) { DamageSource par1DamageSource = event.source; - if(par1DamageSource.getEntity() != null) { + if (par1DamageSource.getEntity() != null) { Entity par1Entity = par1DamageSource.getEntity(); byte j = 0; - if(par1Entity instanceof EntityLiving) { + if (par1Entity instanceof EntityLiving) { int j1 = j + EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, event.entityLiving); System.out.println("undo knockback " + j1); - if(j1 >= 0) { + if (j1 >= 0) { event.entityLiving.motionX /= 0.6D; event.entityLiving.motionZ /= 0.6D; event.entityLiving.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * 3.1415927F / 180.0F) * (float) j1 * 0.5F), -0.1D, (double) (-MathHelper.cos(par1Entity.rotationYaw * 3.1415927F / 180.0F) * (float) j1 * 0.5F)); @@ -58,7 +56,7 @@ public void onLivingAttack(LivingHurtEvent event) { double d0 = par1DamageSource.getEntity().posX - player.posX; double d1; - for(d1 = par1DamageSource.getEntity().posZ - player.posZ; d0 * d0 + d1 * d1 < 1.0E-4D; d1 = (Math.random() - Math.random()) * 0.01D) { + for (d1 = par1DamageSource.getEntity().posZ - player.posZ; d0 * d0 + d1 * d1 < 1.0E-4D; d1 = (Math.random() - Math.random()) * 0.01D) { d0 = (Math.random() - Math.random()) * 0.01D; } @@ -70,26 +68,29 @@ public void onLivingAttack(LivingHurtEvent event) { player.motionX *= 2.0D; player.motionY *= 2.0D; player.motionZ *= 2.0D; - if(player.motionY > 0.4000000059604645D) { + if (player.motionY > 0.4000000059604645D) { player.motionY = 0.4000000059604645D; } } } - public void onArmorTickUpdate(World world, EntityPlayer player, ItemStack itemStack) { + @Override + public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { double magnitude = Math.sqrt(player.motionX * player.motionX + player.motionZ * player.motionZ); player.capabilities.setPlayerWalkSpeed((float) ((double) player.capabilities.getWalkSpeed() * 0.5D)); } + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; } + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { + if (Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Stalwart I: Decreased movement"); par3List.add(EnumChatFormatting.DARK_PURPLE + "speed, decreased knockback (WIP)"); } else { @@ -98,12 +99,13 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } + @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; + return par2ItemStack.getItem() == Items.diamond; } @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:GebsSolidarity"); + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:GebsSolidarity"); } } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java similarity index 73% rename from src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java index ceabdba..25b2f19 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java @@ -2,12 +2,11 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; import net.minecraft.potion.Potion; @@ -21,8 +20,8 @@ public class ItemHedetetsSting extends ItemSword { - public ItemHedetetsSting(int par1, EnumToolMaterial par2EnumToolMaterial) { - super(par1, par2EnumToolMaterial); + public ItemHedetetsSting(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); } @Override @@ -31,7 +30,7 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { } public boolean hitEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving) { - if(super.hitEntity(par1ItemStack, par2EntityLiving, par3EntityLiving)) { + if (super.hitEntity(par1ItemStack, par2EntityLiving, par3EntityLiving)) { par2EntityLiving.addPotionEffect(new PotionEffect(Potion.poison.id, 140, 2, false)); return true; } else { @@ -46,7 +45,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { + if (Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Poison II: Chance"); par3List.add(EnumChatFormatting.DARK_PURPLE + "to poison foes"); } else { @@ -56,11 +55,11 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; + return par2ItemStack.getItem() == Items.diamond; } @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:HedetetsSting"); + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:HedetetsSting"); } } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java similarity index 71% rename from src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java index e2727d8..cb93f66 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java @@ -2,16 +2,17 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemBow; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.Icon; +import net.minecraft.util.IIcon; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; @@ -25,11 +26,11 @@ public class ItemHedetetsVenom extends ItemBow { - public static final String[] bowPullIconNameArray = new String[]{"HedetetsVenom_pull_0", "HedetetsVenom_pull_1", "HedetetsVenom_pull_2"}; - Icon[] iconArray; + public static final String[] bowPullIconNameArray = new String[] { "HedetetsVenom_pull_0", "HedetetsVenom_pull_1", "HedetetsVenom_pull_2" }; + IIcon[] iconArray; - public ItemHedetetsVenom(int par1) { - super(par1); + public ItemHedetetsVenom() { + super(); this.setMaxDamage(650); } @@ -39,56 +40,56 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { } public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; + return par2ItemStack.getItem() == Items.diamond; } public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { int j = this.getMaxItemUseDuration(par1ItemStack) - par4; ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); MinecraftForge.EVENT_BUS.post(event); - if(!event.isCanceled()) { + if (!event.isCanceled()) { j = event.charge; boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - if(flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) { + if (flag || par3EntityPlayer.inventory.hasItem(Items.arrow)) { float f = (float) j / 20.0F; f = (f * f + f * 2.0F) / 3.0F; - if((double) f < 0.1D) { + if ((double) f < 0.1D) { return; } - if(f > 1.0F) { + if (f > 1.0F) { f = 1.0F; } EntityArrowPoison entityarrow = new EntityArrowPoison(par2World, par3EntityPlayer, f * 3.0F); entityarrow.setDamage(entityarrow.getDamage() * 1.5D); - if(f == 1.0F) { + if (f == 1.0F) { entityarrow.setIsCritical(true); } int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - if(k > 0) { + if (k > 0) { entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); } int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - if(l > 0) { + if (l > 0) { entityarrow.setKnockbackStrength(l); } - if(EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { + if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { entityarrow.setFire(100); } par1ItemStack.damageItem(1, par3EntityPlayer); par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - if(flag) { + if (flag) { entityarrow.canBePickedUp = 2; } else { - par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); + par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); } - if(!par2World.isRemote) { + if (!par2World.isRemote) { par2World.spawnEntityInWorld(entityarrow); } } @@ -103,7 +104,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { + if (Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Poison Arrow I: Fires an"); par3List.add(EnumChatFormatting.DARK_PURPLE + "arrow that poisons foes"); } else { @@ -113,28 +114,28 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - super.registerIcons(par1IconRegister); - this.iconArray = new Icon[bowPullIconNameArray.length]; - this.itemIcon = par1IconRegister.registerIcon("atum:HedetetsVenom"); - for(int i = 0; i < this.iconArray.length; ++i) { - this.iconArray[i] = par1IconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); + public void registerIcons(IIconRegister par1IIconRegister) { + super.registerIcons(par1IIconRegister); + this.iconArray = new IIcon[bowPullIconNameArray.length]; + this.itemIcon = par1IIconRegister.registerIcon("atum:HedetetsVenom"); + for (int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); } } - public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { - if(usingItem != null) { + public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + if (usingItem != null) { int j = this.getMaxItemUseDuration(stack) - useRemaining; - if(j >= 18) { + if (j >= 18) { return this.getItemIconForUseDuration(2); } - if(j > 13) { + if (j > 13) { return this.getItemIconForUseDuration(1); } - if(j > 0) { + if (j > 0) { return this.getItemIconForUseDuration(0); } } @@ -143,7 +144,7 @@ public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemSt } @SideOnly(Side.CLIENT) - public Icon getItemIconForUseDuration(int par1) { + public IIcon getItemIconForUseDuration(int par1) { return this.iconArray[par1]; } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java similarity index 64% rename from src/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java index be1774e..e15cbdf 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java @@ -2,31 +2,28 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; -import net.minecraft.entity.Entity; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumArmorMaterial; +import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingEvent.LivingJumpEvent; import net.minecraftforge.event.entity.living.LivingFallEvent; import org.lwjgl.input.Keyboard; -import com.teammetallurgy.atum.items.ItemTexturedArmor; import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.items.ItemTexturedArmor; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class ItemHorusFlight extends ItemTexturedArmor { - public ItemHorusFlight(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { - super(par1, par2EnumArmorMaterial, par3, par4); + public ItemHorusFlight(ArmorMaterial par2ArmorMaterial, int par3, int par4) { + super(par2ArmorMaterial, par3, par4); } @@ -35,9 +32,9 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { return true; } - @ForgeSubscribe + @SubscribeEvent public void onJump(LivingJumpEvent event) { - if(event.entityLiving.getCurrentItemOrArmor(0) != null && event.entityLiving.getCurrentItemOrArmor(0).itemID == super.itemID) { + if (event.entityLiving.getEquipmentInSlot(0) != null && event.entityLiving.getEquipmentInSlot(0).getItem() == this) { event.entityLiving.motionY += 0.2D; event.entityLiving.motionX *= 1.2D; event.entityLiving.motionZ *= 1.2D; @@ -45,9 +42,9 @@ public void onJump(LivingJumpEvent event) { } - @ForgeSubscribe + @SubscribeEvent public void onFallDamage(LivingFallEvent event) { - if(event.entityLiving.getCurrentItemOrArmor(0) != null && event.entityLiving.getCurrentItemOrArmor(0).itemID == AtumItems.horusFlight.itemID) { + if (event.entityLiving.getEquipmentInSlot(0) != null && event.entityLiving.getEquipmentInSlot(0).getItem() == AtumItems.horusFlight) { event.distance = 0.0F; } @@ -62,7 +59,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { + if (Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Nimbleness I: Increased jump height,"); par3List.add(EnumChatFormatting.DARK_PURPLE + "protection from fall damage"); } else { @@ -73,11 +70,11 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; + return par2ItemStack.getItem() == Items.diamond; } @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:HorusFlight"); + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:HorusFlight"); } } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java similarity index 70% rename from src/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java index 1610359..490ec10 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java @@ -2,15 +2,16 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemBow; import net.minecraft.item.ItemStack; -import net.minecraft.util.Icon; +import net.minecraft.util.IIcon; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; @@ -22,11 +23,11 @@ public class ItemHorusSoaring extends ItemBow { - public static final String[] bowPullIconNameArray = new String[]{"HorusSoaring_pull_0", "HorusSoaring_pull_1", "HorusSoaring_pull_2"}; - Icon[] iconArray; + public static final String[] bowPullIconNameArray = new String[] { "HorusSoaring_pull_0", "HorusSoaring_pull_1", "HorusSoaring_pull_2" }; + IIcon[] iconArray; - public ItemHorusSoaring(int par1) { - super(par1); + public ItemHorusSoaring() { + super(); this.setMaxDamage(650); } @@ -38,7 +39,7 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; + return par2ItemStack.getItem() == Items.diamond; } @Override @@ -46,49 +47,49 @@ public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, Entit int j = this.getMaxItemUseDuration(par1ItemStack) - par4; ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); MinecraftForge.EVENT_BUS.post(event); - if(!event.isCanceled()) { + if (!event.isCanceled()) { j = event.charge; boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - if(flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) { + if (flag || par3EntityPlayer.inventory.hasItem(Items.arrow)) { float f = (float) j / 20.0F; f = (f * f + f * 2.0F) / 3.0F; - if((double) f < 0.1D) { + if ((double) f < 0.1D) { return; } - if(f > 1.0F) { + if (f > 1.0F) { f = 1.0F; } EntityArrowVelocity entityarrow = new EntityArrowVelocity(par2World, par3EntityPlayer, f * 3.0F); entityarrow.setDamage(entityarrow.getDamage() * 1.5D); - if(f == 1.0F) { + if (f == 1.0F) { entityarrow.setIsCritical(true); } int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - if(k > 0) { + if (k > 0) { entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); } int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - if(l > 0) { + if (l > 0) { entityarrow.setKnockbackStrength(l); } - if(EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { + if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { entityarrow.setFire(100); } par1ItemStack.damageItem(1, par3EntityPlayer); par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - if(flag) { + if (flag) { entityarrow.canBePickedUp = 2; } else { - par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); + par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); } - if(!par2World.isRemote) { + if (!par2World.isRemote) { par2World.spawnEntityInWorld(entityarrow); } } @@ -110,29 +111,29 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye @Override @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - super.registerIcons(par1IconRegister); - this.iconArray = new Icon[bowPullIconNameArray.length]; - this.itemIcon = par1IconRegister.registerIcon("atum:HorusSoaring"); - for(int i = 0; i < this.iconArray.length; ++i) { - this.iconArray[i] = par1IconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); + public void registerIcons(IIconRegister par1IIconRegister) { + super.registerIcons(par1IIconRegister); + this.iconArray = new IIcon[bowPullIconNameArray.length]; + this.itemIcon = par1IIconRegister.registerIcon("atum:HorusSoaring"); + for (int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); } } @Override - public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { - if(usingItem != null) { + public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + if (usingItem != null) { int j = this.getMaxItemUseDuration(stack) - useRemaining; - if(j >= 18) { + if (j >= 18) { return this.getItemIconForUseDuration(2); } - if(j > 13) { + if (j > 13) { return this.getItemIconForUseDuration(1); } - if(j > 0) { + if (j > 0) { return this.getItemIconForUseDuration(0); } } @@ -142,7 +143,7 @@ public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemSt @Override @SideOnly(Side.CLIENT) - public Icon getItemIconForUseDuration(int par1) { + public IIcon getItemIconForUseDuration(int par1) { return this.iconArray[par1]; } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java similarity index 85% rename from src/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java index bb57932..1659468 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java @@ -2,9 +2,10 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -18,8 +19,8 @@ public class ItemIsisHealing extends Item { - public ItemIsisHealing(int par1) { - super(par1); + public ItemIsisHealing() { + super(); this.setMaxDamage(400); } @@ -32,7 +33,7 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { if(par3Entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) par3Entity; - if(player.onGround && player.inventory.mainInventory[player.inventory.currentItem] != null && player.inventory.mainInventory[player.inventory.currentItem].itemID == super.itemID) { + if(player.onGround && player.inventory.mainInventory[player.inventory.currentItem] != null && player.inventory.mainInventory[player.inventory.currentItem].getItem() == this) { this.doEffect(player, par1ItemStack); } } @@ -73,11 +74,11 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; + return par2ItemStack.getItem() == Items.diamond; } @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:IsisHealing"); + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:IsisHealing"); } } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java similarity index 66% rename from src/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java index 6c0d7fb..b71b15c 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java @@ -2,31 +2,30 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumArmorMaterial; +import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EntityDamageSource; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; -import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingHurtEvent; import org.lwjgl.input.Keyboard; import com.teammetallurgy.atum.items.ItemTexturedArmor; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class ItemMaatsBalance extends ItemTexturedArmor { - public ItemMaatsBalance(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { - super(par1, par2EnumArmorMaterial, par3, par4); + public ItemMaatsBalance(ArmorMaterial par2ArmorMaterial, int par3, int par4) { + super(par2ArmorMaterial, par3, par4); } @Override @@ -34,17 +33,17 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { return true; } - @ForgeSubscribe + @SubscribeEvent public void onLivingAttack(LivingHurtEvent event) { - if(event.entityLiving.getCurrentItemOrArmor(3) != null && event.entityLiving.getCurrentItemOrArmor(3).itemID == super.itemID) { + if (event.entityLiving.getEquipmentInSlot(3) != null && event.entityLiving.getEquipmentInSlot(3).getItem() == this) { event.ammount = (int) ((float) (event.ammount + 1) / 1.5F) - 1; } - if(event.source instanceof EntityDamageSource) { + if (event.source instanceof EntityDamageSource) { EntityDamageSource source = (EntityDamageSource) event.source; - if(source.getEntity() != null && source.getEntity() instanceof EntityLiving) { + if (source.getEntity() != null && source.getEntity() instanceof EntityLiving) { EntityLiving entity = (EntityLiving) source.getEntity(); - if(entity.getCurrentItemOrArmor(3) != null && entity.getCurrentItemOrArmor(3).itemID == super.itemID) { + if (entity.getEquipmentInSlot(3) != null && entity.getEquipmentInSlot(3).getItem() == this) { event.ammount = (int) ((float) (event.ammount + 1) / 1.5F) - 1; } } @@ -52,17 +51,20 @@ public void onLivingAttack(LivingHurtEvent event) { } + @Override public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { } + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; } + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { + if (Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Balance I: Decreases damage"); par3List.add(EnumChatFormatting.DARK_PURPLE + "dealt, Decreases damage taken"); } else { @@ -71,12 +73,13 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } + @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; + return par2ItemStack.getItem() == Items.diamond; } @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:MaatsBalance"); + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:MaatsBalance"); } } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java similarity index 75% rename from src/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java index 524c7d6..4318d95 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java @@ -2,15 +2,15 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; -import net.minecraft.potion.PotionHelper; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; @@ -21,8 +21,8 @@ public class ItemMafdetsQuickness extends Item { - public ItemMafdetsQuickness(int par1) { - super(par1); + public ItemMafdetsQuickness() { + super(); this.setMaxDamage(24000); } @@ -32,9 +32,9 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { } public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { - if(par3Entity instanceof EntityPlayer) { + if (par3Entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) par3Entity; - if(player.inventory.armorInventory[1] != null && player.inventory.armorInventory[1].itemID == this.itemID) { + if (player.inventory.armorInventory[1] != null && player.inventory.armorInventory[1].getItem() == this) { doEffect(player, player.inventory.armorInventory[1]); } } @@ -43,8 +43,8 @@ public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity public void doEffect(EntityPlayer player, ItemStack item) { player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 2, 0, false)); - if(!player.capabilities.isCreativeMode) { - if(item.getItemDamage() == 1) { + if (!player.capabilities.isCreativeMode) { + if (item.getItemDamage() == 1) { item.damageItem(1, player); } else { item.setItemDamage(item.getItemDamage() + 1); @@ -60,7 +60,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { + if (Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Swiftness I: You run"); par3List.add(EnumChatFormatting.DARK_PURPLE + "faster when held"); } else { @@ -71,11 +71,11 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; + return par2ItemStack.getItem() == Items.diamond; } @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:MafdetsQuickness"); + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:MafdetsQuickness"); } } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java similarity index 66% rename from src/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java index 43d109a..8d70e51 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java @@ -2,30 +2,28 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumArmorMaterial; +import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; import net.minecraft.util.EntityDamageSource; import net.minecraft.util.EnumChatFormatting; -import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingAttackEvent; import org.lwjgl.input.Keyboard; import com.teammetallurgy.atum.items.ItemTexturedArmor; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class ItemMnevisHorns extends ItemTexturedArmor { - - public ItemMnevisHorns(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { - super(par1, par2EnumArmorMaterial, par3, par4); + public ItemMnevisHorns(ArmorMaterial par2ArmorMaterial, int par3, int par4) { + super(par2ArmorMaterial, par3, par4); } @Override @@ -33,11 +31,11 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { return true; } - @ForgeSubscribe + @SubscribeEvent public void onLivingAttack(LivingAttackEvent event) { - if(event.entityLiving.getCurrentItemOrArmor(3) != null && event.entityLiving.getCurrentItemOrArmor(3).itemID == super.itemID && event.source instanceof EntityDamageSource) { + if (event.entityLiving.getEquipmentInSlot(3) != null && event.entityLiving.getEquipmentInSlot(3).getItem() == this && event.source instanceof EntityDamageSource) { EntityDamageSource source = (EntityDamageSource) event.source; - if(source.getEntity() != null) { + if (source.getEntity() != null) { source.getEntity().attackEntityFrom(DamageSource.generic, (int) ((double) event.ammount / 2.0D)); } } @@ -51,7 +49,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { + if (Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Melee Reflection I: Deals"); par3List.add(EnumChatFormatting.DARK_PURPLE + "damage to attackers"); } else { @@ -61,11 +59,11 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; + return par2ItemStack.getItem() == Items.diamond; } @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:MnevisHorns"); + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:MnevisHorns"); } } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java similarity index 70% rename from src/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java index af92db7..4d54de1 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java @@ -2,16 +2,17 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemBow; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.Icon; +import net.minecraft.util.IIcon; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; @@ -25,11 +26,11 @@ public class ItemMonthusBlast extends ItemBow { - public static final String[] bowPullIconNameArray = new String[]{"MonthusBlast_pull_0", "MonthusBlast_pull_1", "MonthusBlast_pull_2"}; - Icon[] iconArray; + public static final String[] bowPullIconNameArray = new String[] { "MonthusBlast_pull_0", "MonthusBlast_pull_1", "MonthusBlast_pull_2" }; + IIcon[] iconArray; - public ItemMonthusBlast(int par1) { - super(par1); + public ItemMonthusBlast() { + super(); this.setMaxDamage(650); } @@ -38,58 +39,60 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { return true; } + @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; + return par2ItemStack.getItem() == Items.diamond; } + @Override public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { int j = this.getMaxItemUseDuration(par1ItemStack) - par4; j = (int) ((double) j * 0.667D); ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); MinecraftForge.EVENT_BUS.post(event); - if(!event.isCanceled()) { + if (!event.isCanceled()) { j = event.charge; boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - if(flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) { + if (flag || par3EntityPlayer.inventory.hasItem(Items.arrow)) { float f = (float) j / 20.0F; f = (f * f + f * 2.0F) / 3.0F; - if((double) f < 0.1D) { + if ((double) f < 0.1D) { return; } - if(f > 1.0F) { + if (f > 1.0F) { f = 1.0F; } EntityArrowExplosive entityarrow = new EntityArrowExplosive(par2World, par3EntityPlayer, f * 1.5F); entityarrow.setDamage(entityarrow.getDamage() * 1.5D); - if(f == 1.0F) { + if (f == 1.0F) { entityarrow.setIsCritical(true); } int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - if(k > 0) { + if (k > 0) { entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); } int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - if(l > 0) { + if (l > 0) { entityarrow.setKnockbackStrength(l); } - if(EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { + if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { entityarrow.setFire(100); } par1ItemStack.damageItem(1, par3EntityPlayer); par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - if(flag) { + if (flag) { entityarrow.canBePickedUp = 2; } else { - par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); + par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); } - if(!par2World.isRemote) { + if (!par2World.isRemote) { par2World.spawnEntityInWorld(entityarrow); } } @@ -97,14 +100,16 @@ public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, Entit } } + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; } + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { + if (Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Explosive Shot I: Arrows explode"); par3List.add(EnumChatFormatting.DARK_PURPLE + "on impact"); } else { @@ -113,29 +118,31 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } + @Override @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - super.registerIcons(par1IconRegister); - this.iconArray = new Icon[bowPullIconNameArray.length]; - this.itemIcon = par1IconRegister.registerIcon("atum:MonthusBlast"); - for(int i = 0; i < this.iconArray.length; ++i) { - this.iconArray[i] = par1IconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); + public void registerIcons(IIconRegister par1IIconRegister) { + super.registerIcons(par1IIconRegister); + this.iconArray = new IIcon[bowPullIconNameArray.length]; + this.itemIcon = par1IIconRegister.registerIcon("atum:MonthusBlast"); + for (int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); } } - public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { - if(usingItem != null) { + @Override + public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + if (usingItem != null) { int j = this.getMaxItemUseDuration(stack) - useRemaining; - if(j >= 27) { + if (j >= 27) { return this.getItemIconForUseDuration(2); } - if(j > 18) { + if (j > 18) { return this.getItemIconForUseDuration(1); } - if(j > 0) { + if (j > 0) { return this.getItemIconForUseDuration(0); } } @@ -143,8 +150,9 @@ public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemSt return this.getIcon(stack, renderPass); } + @Override @SideOnly(Side.CLIENT) - public Icon getItemIconForUseDuration(int par1) { + public IIcon getItemIconForUseDuration(int par1) { return this.iconArray[par1]; } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java similarity index 76% rename from src/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java index d9e5841..0d645b8 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java @@ -5,14 +5,13 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.particle.EntityCrit2FX; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; import net.minecraft.item.EnumAction; import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.Item; import net.minecraft.item.ItemAxe; import net.minecraft.item.ItemStack; import net.minecraft.util.AxisAlignedBB; @@ -30,8 +29,8 @@ public class ItemMonthusStrike extends ItemAxe { - public ItemMonthusStrike(int par1, EnumToolMaterial par2EnumToolMaterial) { - super(par1, par2EnumToolMaterial); + public ItemMonthusStrike(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); } @@ -53,15 +52,15 @@ public void onUpdate(ItemStack stack, World world, Entity player, int par4, bool public void onPlayerStoppedUsing(ItemStack par1ItemStack, World world, EntityPlayer player, int par4) { int j = this.getMaxItemUseDuration(par1ItemStack) - par4; - if(j > 21) { + if (j > 21) { AxisAlignedBB bb = player.boundingBox.copy(); bb = bb.expand(3.0D, 3.0D, 3.0D); List list = world.getEntitiesWithinAABB(EntityLiving.class, bb); Iterator i = list.iterator(); - while(i.hasNext()) { + while (i.hasNext()) { Entity entity = (Entity) i.next(); - if(entity != player && !(entity instanceof EntityStoneSoldier) && !(entity instanceof EntityPharaoh)) { + if (entity != player && !(entity instanceof EntityStoneSoldier) && !(entity instanceof EntityPharaoh)) { double dx = entity.posX - player.posX; double dz = entity.posZ - player.posZ; double magnitude = Math.sqrt(dx * dx + dz * dz); @@ -69,12 +68,12 @@ public void onPlayerStoppedUsing(ItemStack par1ItemStack, World world, EntityPla dz /= magnitude; entity.isAirBorne = true; entity.addVelocity(dx * 2.5D, 0.3D, dz * 2.5D); - if(entity.motionY > 0.4000000059604645D) { + if (entity.motionY > 0.4000000059604645D) { entity.motionY = 0.4000000059604645D; } - ((EntityLiving) entity).attackEntityFrom(DamageSource.generic, this.getDamageVsEntity(entity, par1ItemStack)); - if(world.isRemote) { + //((EntityLiving) entity).attackEntityFrom(DamageSource.generic, this.getDamageVsEntity(entity, par1ItemStack)); + if (world.isRemote) { this.spawnParticle(world, entity); } } @@ -104,7 +103,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { + if (Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Slam I: Increased damage,"); par3List.add(EnumChatFormatting.DARK_PURPLE + "charge for AOE knockback"); } else { @@ -113,18 +112,18 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } - @Override - public float getDamageVsEntity(Entity par1Entity, ItemStack stack) { - return 4 + super.toolMaterial.getDamageVsEntity(); - } +// @Override +// public float getDamageVsEntity(Entity par1Entity, ItemStack stack) { +// return 4 + super.toolMaterial.getDamageVsEntity(); +// } @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; + return par2ItemStack.getItem() == Items.diamond; } @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:MonthusStrike"); + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:MonthusStrike"); } } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java similarity index 86% rename from src/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java index f4c5f27..1f7c516 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java @@ -2,18 +2,19 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; import net.minecraft.item.EnumAction; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemBow; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.Icon; +import net.minecraft.util.IIcon; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; @@ -30,10 +31,10 @@ public class ItemNeithsAudacity extends ItemBow { public static final String[] bowPullIconNameArray = new String[]{"neiths_pull_0", "neiths_pull_1", "neiths_pull_2"}; @SideOnly(Side.CLIENT) - private Icon[] iconArray; + private IIcon[] iconArray; - public ItemNeithsAudacity(int par1) { - super(par1); + public ItemNeithsAudacity() { + super(); super.maxStackSize = 1; this.setMaxDamage(384); this.setCreativeTab(CreativeTabs.tabCombat); @@ -67,7 +68,7 @@ public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, Entit if(!event.isCanceled()) { j = event.charge; boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - if(flag || par3EntityPlayer.inventory.hasItemStack(new ItemStack(Item.arrow, 2))) { + if(flag || par3EntityPlayer.inventory.hasItemStack(new ItemStack(Items.arrow, 2))) { float f = (float) j / 20.0F; f = (f * f + f * 2.0F) / 3.0F; if((double) f < 0.1D) { @@ -116,8 +117,8 @@ public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, Entit entityarrow.canBePickedUp = 2; entityarrow1.canBePickedUp = 2; } else { - par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); - par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID); + par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); + par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); } if(!par2World.isRemote) { @@ -151,7 +152,7 @@ public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, Enti if(event.isCanceled()) { return event.result; } else { - if(par3EntityPlayer.capabilities.isCreativeMode || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID)) { + if(par3EntityPlayer.capabilities.isCreativeMode || par3EntityPlayer.inventory.hasItem(Items.arrow)) { par3EntityPlayer.setItemInUse(par1ItemStack, this.getMaxItemUseDuration(par1ItemStack)); } @@ -160,7 +161,7 @@ public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, Enti } @Override - public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { if(usingItem != null) { int j = this.getMaxItemUseDuration(stack) - useRemaining; if(j >= 18) { @@ -186,24 +187,24 @@ public int getItemEnchantability() { @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; + return par2ItemStack.getItem() == Items.diamond; } @Override @SideOnly(Side.CLIENT) - public void registerIcons(IconRegister par1IconRegister) { - this.iconArray = new Icon[bowPullIconNameArray.length]; - this.itemIcon = par1IconRegister.registerIcon("atum:NeithsAudacity"); + public void registerIcons(IIconRegister par1IIconRegister) { + this.iconArray = new IIcon[bowPullIconNameArray.length]; + this.itemIcon = par1IIconRegister.registerIcon("atum:NeithsAudacity"); for(int i = 0; i < this.iconArray.length; ++i) { - this.iconArray[i] = par1IconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); + this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); } } @Override @SideOnly(Side.CLIENT) - public Icon getItemIconForUseDuration(int par1) { + public IIcon getItemIconForUseDuration(int par1) { return this.iconArray[par1]; } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java similarity index 75% rename from src/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java index 3d6a960..1249f4c 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java @@ -4,13 +4,12 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.particle.EntityCrit2FX; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; import net.minecraft.util.DamageSource; @@ -26,8 +25,8 @@ public class ItemNusFlux extends ItemSword { - public ItemNusFlux(int par1, EnumToolMaterial par2EnumToolMaterial) { - super(par1, par2EnumToolMaterial); + public ItemNusFlux(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); } @@ -38,7 +37,7 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { @Override public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase entity, EntityLivingBase player) { - if(!player.worldObj.isRemote && Math.random() > 0.75D && !(entity instanceof EntityStoneSoldier)) { + if (!player.worldObj.isRemote && Math.random() > 0.75D && !(entity instanceof EntityStoneSoldier)) { double dx = entity.posX - player.posX; double dz = entity.posZ - player.posZ; double magnitude = Math.sqrt(dx * dx + dz * dz); @@ -46,12 +45,12 @@ public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase entity, Entit dz /= magnitude; entity.isAirBorne = true; entity.addVelocity(dx / 2.0D, 1.5D, dz / 2.0D); - if(entity.motionY > 1.0D) { + if (entity.motionY > 1.0D) { entity.motionY = 1.0D; } - entity.attackEntityFrom(DamageSource.generic, this.getDamageVsEntity(entity, par1ItemStack)); - if(player.worldObj.isRemote) { + //entity.attackEntityFrom(DamageSource.generic, this.getDamageVsEntity(entity, par1ItemStack)); + if (player.worldObj.isRemote) { this.spawnParticle(player.worldObj, entity); } } @@ -73,7 +72,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { + if (Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Sweep I: Chance to launch"); par3List.add(EnumChatFormatting.DARK_PURPLE + "foes into the air"); } else { @@ -84,11 +83,11 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; + return par2ItemStack.getItem() == Items.diamond; } @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:NusFlux"); + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:NusFlux"); } } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java similarity index 65% rename from src/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java index ee3f0df..671f7ab 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java @@ -2,15 +2,13 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumArmorMaterial; +import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; -import net.minecraft.potion.PotionHelper; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; @@ -23,8 +21,8 @@ public class ItemNutsAgility extends ItemTexturedArmor { - public ItemNutsAgility(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { - super(par1, par2EnumArmorMaterial, par3, par4); + public ItemNutsAgility(ArmorMaterial par2ArmorMaterial, int par3, int par4) { + super(par2ArmorMaterial, par3, par4); } @@ -34,8 +32,8 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { } @Override - public void onArmorTickUpdate(World world, EntityPlayer player, ItemStack itemStack) { - if(player.inventory.armorInventory[1] != null && player.inventory.armorInventory[1].itemID == this.itemID) { + public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { + if (player.inventory.armorInventory[1] != null && player.inventory.armorInventory[1].getItem() == this) { player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 2, 0, false)); } @@ -48,7 +46,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { + if (Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Agility I: Increased run"); par3List.add(EnumChatFormatting.DARK_PURPLE + "and swinging speed"); } else { @@ -58,11 +56,11 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; + return par2ItemStack.getItem() == Items.diamond; } @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:NutsAgility"); + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:NutsAgility"); } } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java similarity index 88% rename from src/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java index a7df76a..d870b3e 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java @@ -2,7 +2,7 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumAction; import net.minecraft.item.EnumRarity; @@ -20,8 +20,8 @@ public class ItemNutsCall extends Item { - public ItemNutsCall(int par1) { - super(par1); + public ItemNutsCall() { + super(); this.setMaxDamage(650); this.setMaxStackSize(1); @@ -51,14 +51,14 @@ public boolean shouldRotateAroundWhenRendering() { public void onPlayerStoppedUsing(ItemStack par1ItemStack, World world, EntityPlayer player, int par4) { int j = this.getMaxItemUseDuration(par1ItemStack) - par4; System.out.println("charge strength: " + j); - if(j > 21) { + if (j > 21) { j = 21; } EntityNutsCall spear = new EntityNutsCall(world, player, (float) j / 25.0F + 0.25F); spear.setDamage(spear.getDamage() * 2.0D); spear.setStack(par1ItemStack); - if(!world.isRemote) { + if (!world.isRemote) { world.spawnEntityInWorld(spear); world.updateEntity(spear); } @@ -82,7 +82,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { + if (Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Wrath I: Chance to strike"); par3List.add(EnumChatFormatting.DARK_PURPLE + "foe with lightning"); } else { @@ -92,7 +92,7 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:NutsCall"); + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:NutsCall"); } } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java similarity index 63% rename from src/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java index e9c4aac..9cbbbb8 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java @@ -2,14 +2,13 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; import net.minecraft.util.EnumChatFormatting; @@ -23,8 +22,8 @@ public class ItemOsirisWill extends ItemSword { - public ItemOsirisWill(int par1, EnumToolMaterial par2EnumToolMaterial) { - super(par1, par2EnumToolMaterial); + public ItemOsirisWill(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); } @Override @@ -32,20 +31,20 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { return true; } - @Override - public float getDamageVsEntity(Entity par1Entity, ItemStack stack) { - int damage = 0; - - for(int i = 0; i < 4; ++i) { - damage = (int) ((double) damage + Math.random() * 4.0D + 1.0D); - } - return super.getDamageVsEntity(par1Entity, stack) + damage; - } + // @Override + // public float getDamageVsEntity(Entity par1Entity, ItemStack stack) { + // int damage = 0; + // + // for (int i = 0; i < 4; ++i) { + // damage = (int) ((double) damage + Math.random() * 4.0D + 1.0D); + // } + // return super.getDamageVsEntity(par1Entity, stack) + damage; + // } @Override public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase mob, EntityLivingBase player) { - if(!mob.isEntityAlive() && Math.random() < 0.5D && mob.getCreatureAttribute() == EnumCreatureAttribute.UNDEAD) { - mob.dropItem(AtumItems.ectoplasm.itemID, 1); + if (!mob.isEntityAlive() && Math.random() < 0.5D && mob.getCreatureAttribute() == EnumCreatureAttribute.UNDEAD) { + mob.dropItem(AtumItems.ectoplasm, 1); } return super.hitEntity(par1ItemStack, mob, player); @@ -60,7 +59,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { + if (Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Banish I: Bonus damage to undead,"); par3List.add(EnumChatFormatting.DARK_PURPLE + "chance to drop ectoplasm"); } else { @@ -71,11 +70,11 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; + return par2ItemStack.getItem() == Items.diamond; } @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:OsirisWill"); + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:OsirisWill"); } } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java similarity index 64% rename from src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java index 84cf5b6..7ad560a 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java @@ -4,11 +4,12 @@ import java.util.Random; import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemPickaxe; import net.minecraft.item.ItemStack; @@ -22,8 +23,8 @@ public class ItemPtahsDecadence extends ItemPickaxe { - public ItemPtahsDecadence(int par1, EnumToolMaterial par2EnumToolMaterial) { - super(par1, par2EnumToolMaterial); + public ItemPtahsDecadence(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); } @Override @@ -32,19 +33,19 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { } @Override - public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, int blockID, int x, int y, int z, EntityLivingBase par7EntityLivingBase) { - int dropID = Block.blocksList[blockID].idDropped(par2World.getBlockMetadata(x, y, z), new Random(), 0); - if(dropID == Item.diamond.itemID) { - Block.oreDiamond.dropBlockAsItem(par2World, x, y, z, 0, 0); + public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, Block block, int x, int y, int z, EntityLivingBase par7EntityLivingBase) { + Item dropID = block.getItemDropped(par2World.getBlockMetadata(x, y, z), new Random(), 0); + if (dropID == Items.diamond) { + Blocks.diamond_ore.dropBlockAsItem(par2World, x, y, z, 0, 0); } - return super.onBlockDestroyed(par1ItemStack, par2World, blockID, x, y, z, par7EntityLivingBase); + return super.onBlockDestroyed(par1ItemStack, par2World, block, x, y, z, par7EntityLivingBase); } @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { + if (Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Wealth I: Gain an extra"); par3List.add(EnumChatFormatting.DARK_PURPLE + "diamond from each ore"); } else { @@ -61,11 +62,11 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; + return par2ItemStack.getItem() == Items.diamond; } @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:PtahsDecadence"); + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:PtahsDecadence"); } } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java similarity index 66% rename from src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java index cad4f60..84b57ff 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java @@ -2,12 +2,11 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.Item; import net.minecraft.item.ItemPickaxe; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; @@ -21,8 +20,8 @@ public class ItemPtahsDestruction extends ItemPickaxe { - public ItemPtahsDestruction(int par1, EnumToolMaterial par2EnumToolMaterial) { - super(par1, par2EnumToolMaterial); + public ItemPtahsDestruction(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); super.efficiencyOnProperMaterial = 11.0F; } @@ -32,11 +31,11 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { return true; } - @Override - public float getDamageVsEntity(Entity entity, ItemStack stack) { - float damage = 4 + super.toolMaterial.getDamageVsEntity(); - return entity instanceof EntityStoneSoldier ? (int) ((double) damage * (2.0D + Math.random())) : damage; - } +// @Override +// public float getDamageVsEntity(Entity entity, ItemStack stack) { +// float damage = 4 + super.toolMaterial.getDamageVsEntity(); +// return entity instanceof EntityStoneSoldier ? (int) ((double) damage * (2.0D + Math.random())) : damage; +// } @Override @SideOnly(Side.CLIENT) @@ -58,11 +57,11 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; + return par2ItemStack.getItem() == Items.diamond; } @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:PtahsDestruction"); + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:PtahsDestruction"); } } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java similarity index 71% rename from src/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java index 49c41fc..a036251 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java @@ -2,11 +2,10 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumArmorMaterial; +import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; @@ -19,8 +18,8 @@ public class ItemRasGlory extends ItemTexturedArmor { - public ItemRasGlory(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { - super(par1, par2EnumArmorMaterial, par3, par4); + public ItemRasGlory(ArmorMaterial par2ArmorMaterial, int par3, int par4) { + super(par2ArmorMaterial, par3, par4); } @@ -38,7 +37,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { + if (Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Divine Vision I: Night vision, increased"); par3List.add(EnumChatFormatting.DARK_PURPLE + "range of vision in Atum"); } else { @@ -49,11 +48,11 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; + return par2ItemStack.getItem() == Items.diamond; } @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:RasGlory"); + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:RasGlory"); } } diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java similarity index 62% rename from src/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java index 878738b..a4f4432 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java @@ -2,15 +2,13 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumArmorMaterial; +import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EntityDamageSource; import net.minecraft.util.EnumChatFormatting; -import net.minecraftforge.event.ForgeSubscribe; import net.minecraftforge.event.entity.living.LivingAttackEvent; import net.minecraftforge.event.entity.living.LivingHurtEvent; @@ -18,13 +16,14 @@ import com.teammetallurgy.atum.items.ItemTexturedArmor; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class ItemSekhmetsWrath extends ItemTexturedArmor { - public ItemSekhmetsWrath(int par1, int par3, int par4) { - super(par1, EnumArmorMaterial.DIAMOND, par3, par4); + public ItemSekhmetsWrath(int par3, int par4) { + super(ArmorMaterial.DIAMOND, par3, par4); } @Override @@ -32,22 +31,22 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { return true; } - @ForgeSubscribe + @SubscribeEvent public void onLivingAttack(LivingAttackEvent event) { - if(event.entityLiving.getCurrentItemOrArmor(2) != null && event.entityLiving.getCurrentItemOrArmor(2).itemID == super.itemID && event.source instanceof EntityDamageSource) { + if (event.entityLiving.getEquipmentInSlot(2) != null && event.entityLiving.getEquipmentInSlot(2).getItem() == this && event.source instanceof EntityDamageSource) { EntityDamageSource source = (EntityDamageSource) event.source; - if(source.getEntity() != null && Math.random() > 0.5D) { + if (source.getEntity() != null && Math.random() > 0.5D) { source.getEntity().setFire(10); } } } - @ForgeSubscribe + @SubscribeEvent public void onLivingAttack(LivingHurtEvent event) { - if(event.entityLiving.getCurrentItemOrArmor(2) != null && event.entityLiving.getCurrentItemOrArmor(2).itemID == super.itemID && event.source.isFireDamage()) { + if (event.entityLiving.getEquipmentInSlot(2) != null && event.entityLiving.getEquipmentInSlot(2).getItem() == this && event.source.isFireDamage()) { event.ammount /= 2; - if(event.ammount == 0 && Math.random() > 0.5D) { + if (event.ammount == 0 && Math.random() > 0.5D) { event.ammount = 1; } } @@ -63,7 +62,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { + if (Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Immolation I: Protection from fire,"); par3List.add(EnumChatFormatting.DARK_PURPLE + "chance to ignite attackers"); } else { @@ -74,11 +73,11 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; + return par2ItemStack.getItem() == Items.diamond; } @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:SekhmetsWrath"); + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:SekhmetsWrath"); } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java new file mode 100644 index 0000000..156981b --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java @@ -0,0 +1,166 @@ +package com.teammetallurgy.atum.items.artifacts; + +import java.util.List; + +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.EnchantmentHelper; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.projectile.EntityArrow; +import net.minecraft.init.Items; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemBow; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.entity.player.ArrowLooseEvent; + +import org.lwjgl.input.Keyboard; + +import com.teammetallurgy.atum.entity.arrow.EntityArrowQuickdraw; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class ItemShusBreath extends ItemBow { + + public static final String[] bowPullIconNameArray = new String[] { "ShusBreath_pull_0", "ShusBreath_pull_1", "ShusBreath_pull_2" }; + IIcon[] iconArray; + + public ItemShusBreath() { + super(); + this.setMaxDamage(650); + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { + int j = this.getMaxItemUseDuration(par1ItemStack) - par4; + + ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); + MinecraftForge.EVENT_BUS.post(event); + if (event.isCanceled()) { + return; + } + j = event.charge; + + boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; + + if (flag || par3EntityPlayer.inventory.hasItem(Items.arrow)) { + float f = (float) j / 20.0F; + f = (f * f + f * 2.0F) / 3.0F; + + if ((double) f < 0.1D) { + return; + } + + if (f > 1.0F) { + f = 1.0F; + } + + EntityArrow entityarrow = new EntityArrow(par2World, par3EntityPlayer, f * 2.0F); + + if (f == 1.0F) { + entityarrow.setIsCritical(true); + } + + int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); + + if (k > 0) { + entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + } + + int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); + + if (l > 0) { + entityarrow.setKnockbackStrength(l); + } + + if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { + entityarrow.setFire(100); + } + + par1ItemStack.damageItem(1, par3EntityPlayer); + par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); + + if (flag) { + entityarrow.canBePickedUp = 2; + } else { + par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); + } + + if (!par2World.isRemote) { + par2World.spawnEntityInWorld(entityarrow); + } + } + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + "Quickdraw I: Reduced"); + par3List.add(EnumChatFormatting.DARK_PURPLE + "drawback speed"); + } else { + par3List.add("Quickdraw I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IIconRegister) { + super.registerIcons(par1IIconRegister); + this.iconArray = new IIcon[bowPullIconNameArray.length]; + this.itemIcon = par1IIconRegister.registerIcon("atum:ShusBreath"); + for (int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); + } + + } + + @Override + public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + if (usingItem != null) { + int j = this.getMaxItemUseDuration(stack) - useRemaining; + if (j >= 9) { + return this.getItemIconForUseDuration(2); + } + + if (j > 5) { + return this.getItemIconForUseDuration(1); + } + + if (j > 0) { + return this.getItemIconForUseDuration(0); + } + } + + return this.getIcon(stack, renderPass); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getItemIconForUseDuration(int par1) { + return this.iconArray[par1]; + } + +} diff --git a/src/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java similarity index 72% rename from src/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java index c4672a8..7389b66 100644 --- a/src/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java @@ -2,13 +2,12 @@ import java.util.List; -import net.minecraft.client.renderer.texture.IconRegister; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; -import net.minecraft.item.EnumToolMaterial; -import net.minecraft.item.Item; import net.minecraft.item.ItemAxe; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; @@ -24,8 +23,8 @@ public class ItemSobeksRage extends ItemAxe { - public ItemSobeksRage(int par1, EnumToolMaterial par2EnumToolMaterial) { - super(par1, par2EnumToolMaterial); + public ItemSobeksRage(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); } @@ -34,14 +33,14 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { return true; } - @Override - public float getDamageVsEntity(Entity entity, ItemStack stack) { - return 4 + super.toolMaterial.getDamageVsEntity(); - } +// @Override +// public float getDamageVsEntity(Entity entity, ItemStack stack) { +// return 4 + super.toolMaterial.getDamageVsEntity(); +// } @Override public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase mob, EntityLivingBase player) { - if(!(mob instanceof EntityStoneSoldier) && !(mob instanceof EntityPharaoh)) { + if (!(mob instanceof EntityStoneSoldier) && !(mob instanceof EntityPharaoh)) { float j = 4.0F; mob.addVelocity((double) (-MathHelper.sin(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F), 0.1D, (double) (MathHelper.cos(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F)); } @@ -58,7 +57,7 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { + if (Keyboard.isKeyDown(42)) { par3List.add(EnumChatFormatting.DARK_PURPLE + "Exile I: Knocks foes "); par3List.add(EnumChatFormatting.DARK_PURPLE + "back a large amount"); } else { @@ -69,11 +68,11 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.itemID == Item.diamond.itemID; + return par2ItemStack.getItem() == Items.diamond; } @Override - public void registerIcons(IconRegister par1IconRegister) { - this.itemIcon = par1IconRegister.registerIcon("atum:SobeksRage"); + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:SobeksRage"); } } diff --git a/src/com/teammetallurgy/atum/lib/handler/CraftingHandler.java b/src/main/java/com/teammetallurgy/atum/lib/handler/CraftingHandler.java similarity index 66% rename from src/com/teammetallurgy/atum/lib/handler/CraftingHandler.java rename to src/main/java/com/teammetallurgy/atum/lib/handler/CraftingHandler.java index b3d3f44..5764ff5 100644 --- a/src/com/teammetallurgy/atum/lib/handler/CraftingHandler.java +++ b/src/main/java/com/teammetallurgy/atum/lib/handler/CraftingHandler.java @@ -1,7 +1,7 @@ package com.teammetallurgy.atum.lib.handler; -import net.minecraft.block.Block; -import net.minecraft.item.Item; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraftforge.oredict.ShapedOreRecipe; @@ -37,51 +37,51 @@ private void addRecipes() { GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 1), "XXX", "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 2), "XXX", "XXX", 'X', AtumBlocks.BLOCK_LARGEBRICK); GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 3), "XXX", "XXX", 'X', AtumBlocks.BLOCK_SMALLBRICK); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_FRAMEDGLASS), " X ", "XSX", " X ", 'X', Item.stick, 'S', AtumBlocks.BLOCK_CRYSTALGLASS); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_FRAMEDGLASS), " X ", "XSX", " X ", 'X', Items.stick, 'S', AtumBlocks.BLOCK_CRYSTALGLASS); GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_CRACKEDLARGEBRICK, 4), "XX", "XX", 'X', AtumItems.stoneChunk); - GameRegistry.addRecipe(new ItemStack(Item.expBottle), " X ", "XBX", " X ", 'X', AtumItems.ectoplasm, 'B', Item.potion); - GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneSword), "L", "L", "S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); - GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneShovel), "L", "S", "S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); - GameRegistry.addRecipe(new ItemStack(AtumItems.limestonePickaxe), "LLL", " S ", " S ", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); - GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneAxe), "LL", "LS", " S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); - GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneHoe), "LL", " S", " S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Item.stick); - GameRegistry.addRecipe(new ItemStack(AtumItems.mummyHelmet), "XXX", "X X", 'X', AtumItems.scrap); - GameRegistry.addRecipe(new ItemStack(AtumItems.mummyChest), "X X", "XXX", "XXX", 'X', AtumItems.scrap); - GameRegistry.addRecipe(new ItemStack(AtumItems.mummyLegs), "XXX", "X X", "X X", 'X', AtumItems.scrap); - GameRegistry.addRecipe(new ItemStack(AtumItems.mummyBoots), "X X", "X X", 'X', AtumItems.scrap); - GameRegistry.addRecipe(new ItemStack(AtumItems.wandererHelmet), "XXX", "X X", 'X', AtumItems.linen); - GameRegistry.addRecipe(new ItemStack(AtumItems.wandererChest), "X X", "XXX", "XXX", 'X', AtumItems.linen); - GameRegistry.addRecipe(new ItemStack(AtumItems.wandererLegs), "XXX", "X X", "X X", 'X', AtumItems.linen); - GameRegistry.addRecipe(new ItemStack(AtumItems.wandererBoots), "X X", "X X", 'X', AtumItems.linen); - GameRegistry.addRecipe(new ItemStack(AtumItems.linen), "XXX", 'X', AtumItems.flax); - GameRegistry.addRecipe(new ItemStack(Item.glassBottle, 3), "X X", " X ", 'X', AtumBlocks.BLOCK_CRYSTALGLASS); + GameRegistry.addRecipe(new ItemStack(Items.experience_bottle), " X ", "XBX", " X ", 'X', AtumItems.ectoplasm, 'B', Items.potionitem); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneSword), "L", "L", "S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneShovel), "L", "S", "S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestonePickaxe), "LLL", " S ", " S ", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneAxe), "LL", "LS", " S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneHoe), "LL", " S", " S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.mummyHelmet), "XXX", "X X", 'X', AtumItems.ITEM_SCRAP); + GameRegistry.addRecipe(new ItemStack(AtumItems.mummyChest), "X X", "XXX", "XXX", 'X', AtumItems.ITEM_SCRAP); + GameRegistry.addRecipe(new ItemStack(AtumItems.mummyLegs), "XXX", "X X", "X X", 'X', AtumItems.ITEM_SCRAP); + GameRegistry.addRecipe(new ItemStack(AtumItems.mummyBoots), "X X", "X X", 'X', AtumItems.ITEM_SCRAP); + GameRegistry.addRecipe(new ItemStack(AtumItems.wandererHelmet), "XXX", "X X", 'X', AtumItems.ITEM_LINEN); + GameRegistry.addRecipe(new ItemStack(AtumItems.wandererChest), "X X", "XXX", "XXX", 'X', AtumItems.ITEM_LINEN); + GameRegistry.addRecipe(new ItemStack(AtumItems.wandererLegs), "XXX", "X X", "X X", 'X', AtumItems.ITEM_LINEN); + GameRegistry.addRecipe(new ItemStack(AtumItems.wandererBoots), "X X", "X X", 'X', AtumItems.ITEM_LINEN); + GameRegistry.addRecipe(new ItemStack(AtumItems.ITEM_LINEN), "XXX", 'X', AtumItems.flax); + GameRegistry.addRecipe(new ItemStack(Items.glass_bottle, 3), "X X", " X ", 'X', AtumBlocks.BLOCK_CRYSTALGLASS); GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_THINCRYSTALGLASS, 16), "XXX", "XXX", 'X', AtumBlocks.BLOCK_CRYSTALGLASS); GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_THINFRAMEDGLASS, 16), "XXX", "XXX", 'X', AtumBlocks.BLOCK_FRAMEDGLASS); - GameRegistry.addRecipe(new ItemStack(AtumItems.scroll), "XXX", "SXS", "XXX", 'X', AtumItems.papyrusPlant, 'S', Item.stick); - GameRegistry.addRecipe(new ItemStack(AtumItems.ITEM_SCARAB), " G ", "GDG", " G ", 'G', Item.ingotGold, 'D', Item.diamond); + GameRegistry.addRecipe(new ItemStack(AtumItems.scroll), "XXX", "SXS", "XXX", 'X', AtumItems.papyrusPlant, 'S', Items.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.ITEM_SCARAB), " G ", "GDG", " G ", 'G', Items.gold_ingot, 'D', Items.diamond); GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_FURNACEIDLE), "XXX", "X X", "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); } private void addSmeltingRecipes() { - FurnaceRecipes.smelting().addSmelting(AtumBlocks.BLOCK_IRONORE.blockID, 0, new ItemStack(Item.ingotIron), 0.7F); - FurnaceRecipes.smelting().addSmelting(AtumBlocks.BLOCK_COALORE.blockID, new ItemStack(Item.coal), 0.1F); - FurnaceRecipes.smelting().addSmelting(AtumBlocks.BLOCK_REDSTONEORE.blockID, new ItemStack(Item.redstone), 0.7F); - FurnaceRecipes.smelting().addSmelting(AtumBlocks.BLOCK_LAPISORE.blockID, new ItemStack(Item.dyePowder, 1, 4), 0.2F); - FurnaceRecipes.smelting().addSmelting(AtumBlocks.BLOCK_GOLDORE.blockID, new ItemStack(Item.ingotGold), 1.0F); - FurnaceRecipes.smelting().addSmelting(AtumBlocks.BLOCK_DIAMONDORE.blockID, new ItemStack(Item.diamond), 1.0F); - FurnaceRecipes.smelting().addSmelting(AtumBlocks.BLOCK_LOG.blockID, new ItemStack(Item.coal, 1, 1), 0.15F); - FurnaceRecipes.smelting().addSmelting(AtumBlocks.BLOCK_LIMESTONECOBBLE.blockID, new ItemStack(AtumBlocks.BLOCK_STONE), 0.1F); - FurnaceRecipes.smelting().addSmelting(AtumBlocks.BLOCK_SAND.blockID, new ItemStack(AtumBlocks.BLOCK_CRYSTALGLASS), 0.1F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_IRONORE, new ItemStack(Items.iron_ingot), 0.7F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_COALORE, new ItemStack(Items.coal), 0.1F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_REDSTONEORE, new ItemStack(Items.redstone), 0.7F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_LAPISORE, new ItemStack(Items.dye, 1, 4), 0.2F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_GOLDORE, new ItemStack(Items.gold_ingot), 1.0F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_DIAMONDORE, new ItemStack(Items.diamond), 1.0F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_LOG, new ItemStack(Items.coal, 1, 1), 0.15F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_LIMESTONECOBBLE, new ItemStack(AtumBlocks.BLOCK_STONE), 0.1F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_SAND, new ItemStack(AtumBlocks.BLOCK_CRYSTALGLASS), 0.1F); } private void addShapelessRecipes() { GameRegistry.addShapelessRecipe(new ItemStack(AtumBlocks.BLOCK_PLANKS, 4), AtumBlocks.BLOCK_LOG); - GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertHelmet), AtumItems.wandererHelmet, Item.helmetIron); - GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertChest), AtumItems.wandererChest, Item.plateIron); - GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertLegs), AtumItems.wandererLegs, Item.legsIron); - GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertBoots), AtumItems.wandererBoots, Item.bootsIron); - GameRegistry.addShapelessRecipe(new ItemStack(Block.sand), AtumBlocks.BLOCK_SAND); - GameRegistry.addShapelessRecipe(new ItemStack(Item.silk, 3), AtumItems.flax); + GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertHelmet), AtumItems.wandererHelmet, Items.iron_helmet); + GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertChest), AtumItems.wandererChest, Items.iron_chestplate); + GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertLegs), AtumItems.wandererLegs, Items.iron_leggings); + GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertBoots), AtumItems.wandererBoots, Items.iron_boots); + GameRegistry.addShapelessRecipe(new ItemStack(Blocks.sand), AtumBlocks.BLOCK_SAND); + GameRegistry.addShapelessRecipe(new ItemStack(Items.string, 3), AtumItems.flax); } } diff --git a/src/com/teammetallurgy/atum/lib/proxy/ClientProxy.java b/src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java similarity index 91% rename from src/com/teammetallurgy/atum/lib/proxy/ClientProxy.java rename to src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java index 7648711..2bf2c35 100644 --- a/src/com/teammetallurgy/atum/lib/proxy/ClientProxy.java +++ b/src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java @@ -41,30 +41,31 @@ import com.teammetallurgy.atum.lib.tickhandler.ClientTickHandler; import cpw.mods.fml.client.registry.RenderingRegistry; -import cpw.mods.fml.common.registry.TickRegistry; -import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.common.FMLCommonHandler; public class ClientProxy extends CommonProxy { - + @Override public void init() { - TickRegistry.registerTickHandler(new ClientTickHandler(), Side.CLIENT); - + ClientTickHandler ticker = new ClientTickHandler(); + MinecraftForge.EVENT_BUS.register(ticker); + FMLCommonHandler.instance().bus().register(ticker); + MinecraftForge.EVENT_BUS.register(AtumItems.sekhmetsWrath); MinecraftForge.EVENT_BUS.register(AtumItems.mnevisHorns); MinecraftForge.EVENT_BUS.register(AtumItems.maatsBalance); MinecraftForge.EVENT_BUS.register(AtumItems.anubisMercy); } - + @Override public void initRenders() { - MinecraftForgeClient.registerItemRenderer(AtumItems.ITEM_BOW.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.atensFury.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.horusSoaring.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.neithsAudacity.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.shusBreath.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.hedetetsVenom.itemID, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.monthusBlast.itemID, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.ITEM_BOW, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.atensFury, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.horusSoaring, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.neithsAudacity, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.shusBreath, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.hedetetsVenom, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.monthusBlast, new RendererItemBow()); RenderingRegistry.registerBlockHandler(((BlockPapyrus) AtumBlocks.BLOCK_PAPYRUS).renderID, new RenderPapyrus()); RenderingRegistry.registerBlockHandler(((BlockDate) AtumBlocks.BLOCK_DATEBLOCK).renderID, new RenderDate()); diff --git a/src/main/java/com/teammetallurgy/atum/lib/proxy/CommonProxy.java b/src/main/java/com/teammetallurgy/atum/lib/proxy/CommonProxy.java new file mode 100644 index 0000000..f20300d --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/lib/proxy/CommonProxy.java @@ -0,0 +1,23 @@ +package com.teammetallurgy.atum.lib.proxy; + +import net.minecraftforge.common.MinecraftForge; + +import com.teammetallurgy.atum.lib.tickhandler.ServerTickHandler; + +import cpw.mods.fml.common.FMLCommonHandler; + +public class CommonProxy { + + public void init() { + ServerTickHandler ticker = new ServerTickHandler(); + MinecraftForge.EVENT_BUS.register(ticker); + FMLCommonHandler.instance().bus().register(ticker); + } + + public void initRenders() { + } + + public void initTiles() { + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java new file mode 100644 index 0000000..abba359 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java @@ -0,0 +1,92 @@ +package com.teammetallurgy.atum.lib.tickhandler; + +import java.util.Random; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.ScaledResolution; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; + +import com.teammetallurgy.atum.AtumIDS; +import com.teammetallurgy.atum.items.AtumItems; + +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.TickEvent; + +public class ClientTickHandler { + private boolean raining; + private boolean overlay; + public static int defaultFog; + + @SubscribeEvent + public void onUpdate(TickEvent.PlayerTickEvent event) { + EntityPlayer player = event.player; + if (event.type.equals(event.type.PLAYER) && event.phase.equals(event.phase.START)) { + + boolean nightvision = false; + + if (player.getCurrentArmor(3) != null) { + if (player.getCurrentArmor(3).getItem() == AtumItems.rasGlory) { + nightvision = true; + } + + } + + if (player.dimension == AtumIDS.DIMENSION_ID) { + if (Minecraft.getMinecraft().gameSettings.renderDistanceChunks < (nightvision ? 1 : 2)) { + defaultFog = Minecraft.getMinecraft().gameSettings.renderDistanceChunks; + Minecraft.getMinecraft().gameSettings.renderDistanceChunks = nightvision ? 1 : 2; + } + + if (player.worldObj.isRaining()) { + raining = true; + if (Minecraft.getMinecraft().gameSettings.renderDistanceChunks < (nightvision ? 2 : 3)) { + Minecraft.getMinecraft().gameSettings.renderDistanceChunks = nightvision ? 2 : 3; + } + + Random random = new Random(); + int particlesPerTick = (3 - Minecraft.getMinecraft().gameSettings.particleSetting) * 6; + for (int i = 0; i < particlesPerTick; i++) { + float x = random.nextInt(4) - 2; + float z = random.nextInt(4) - 2; + float y = (random.nextFloat() - 0.7F) * 2F; + + float vx = 0.1F + random.nextFloat() * 0.1F; + float vz = 0.1F + random.nextFloat() * 0.1F; + + player.worldObj.spawnParticle("sand", player.posX + x, player.posY + y, player.posZ + z, vx + player.motionX, 0.0D, vz + player.motionZ); + } + } else { + if (raining == true && defaultFog < (nightvision ? 1 : 2)) { + raining = false; + Minecraft.getMinecraft().gameSettings.renderDistanceChunks = nightvision ? 1 : 2; + + } + } + + } + } + if (event.type.equals(event.type.RENDER) && event.phase.equals(event.phase.END)) { + ItemStack currentItemStack = null; + + if (player != null && player.getCurrentArmor(3) != null) { + if (player.getCurrentArmor(3).getItem() == AtumItems.mummyHelmet) { + ScaledResolution scaledresolution = new ScaledResolution(Minecraft.getMinecraft().gameSettings, Minecraft.getMinecraft().displayWidth, Minecraft.getMinecraft().displayHeight); + int par1 = scaledresolution.getScaledWidth(); + int par2 = scaledresolution.getScaledHeight(); + + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation("atum", "textures/hud/mummyblur.png")); + Tessellator tessellator = Tessellator.instance; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(0.0D, par2, -100, 0.0D, 1.0D); + tessellator.addVertexWithUV(par1, par2, -100, 1.0D, 1.0D); + tessellator.addVertexWithUV(par1, 0.0D, -100, 1.0D, 0.0D); + tessellator.addVertexWithUV(0.0D, 0.0D, -100, 0.0D, 0.0D); + tessellator.draw(); + } + } + } + } +} diff --git a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java new file mode 100644 index 0000000..914029a --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java @@ -0,0 +1,63 @@ +package com.teammetallurgy.atum.lib.tickhandler; + +import java.util.EnumSet; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; + +import com.teammetallurgy.atum.items.AtumItems; + +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.TickEvent; + +public class ServerTickHandler { + + private boolean raining; + + @SubscribeEvent + public void onServerTick(TickEvent.PlayerTickEvent event) { + EntityPlayer player = event.player; + + if (player.worldObj.getTotalWorldTime() % 60L == 0L) { + + if (player.getCurrentArmor(2) != null) { + if (player.getCurrentArmor(2).getItem() == AtumItems.isisEmbrace) { + player.heal(1); + } + } + } + + if (player.worldObj.getTotalWorldTime() % 10L == 0L) { + if (player.getCurrentArmor(3) != null) { + if (player.getCurrentArmor(3).getItem() == AtumItems.rasGlory) { + player.addPotionEffect(new PotionEffect(16, 340, 0, true)); + } else { + if (player.isPotionActive(16)) { + player.clearActivePotions(); + } + } + } + + if (player.getCurrentArmor(2) != null) { + if (player.getCurrentArmor(2).getItem() == AtumItems.sekhmetsWrath) { + player.addPotionEffect(new PotionEffect(12, 240, 0, true)); + } + } + + if (player.getCurrentArmor(1) != null) { + if (player.getCurrentArmor(1).getItem() == AtumItems.nutsAgility) { + player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 240, 1, true)); + player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 240, 1, true)); + } + } + + if (player.getCurrentArmor(0) != null) { + if (player.getCurrentArmor(0).getItem() == AtumItems.horusFlight) { + player.addPotionEffect(new PotionEffect(8, 240, 1, true)); + } + } + } + } + +} \ No newline at end of file diff --git a/src/com/teammetallurgy/atum/world/AtumPortalPosition.java b/src/main/java/com/teammetallurgy/atum/world/AtumPortalPosition.java similarity index 100% rename from src/com/teammetallurgy/atum/world/AtumPortalPosition.java rename to src/main/java/com/teammetallurgy/atum/world/AtumPortalPosition.java diff --git a/src/com/teammetallurgy/atum/world/AtumTeleporter.java b/src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java similarity index 89% rename from src/com/teammetallurgy/atum/world/AtumTeleporter.java rename to src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java index 8e20e1b..516549b 100644 --- a/src/com/teammetallurgy/atum/world/AtumTeleporter.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java @@ -7,15 +7,14 @@ import net.minecraft.block.Block; import net.minecraft.entity.Entity; +import net.minecraft.init.Blocks; import net.minecraft.util.Direction; import net.minecraft.util.LongHashMap; import net.minecraft.util.MathHelper; import net.minecraft.world.ChunkCoordIntPair; -import net.minecraft.world.PortalPosition; import net.minecraft.world.Teleporter; import net.minecraft.world.WorldServer; -import com.teammetallurgy.atum.blocks.BlockSlab; import com.teammetallurgy.atum.blocks.AtumBlocks; public class AtumTeleporter extends Teleporter { @@ -53,7 +52,7 @@ public void placeInPortal(Entity par1Entity, double par2, double par4, double pa int l1 = j + j1; int i2 = k + i1 * b1 - l * b0; boolean flag = j1 < 0; - this.worldServerInstance.setBlock(k1, l1, i2, flag ? Block.sandStone.blockID : 0); + this.worldServerInstance.setBlock(k1, l1, i2, flag ? Blocks.sandstone : null); } } } @@ -95,8 +94,8 @@ public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4 double d6 = (double) d9 + 0.5D - par1Entity.posZ; for(k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { - if(this.worldServerInstance.getBlockId(k1, k2, d9) == AtumBlocks.BLOCK_PORTAL.blockID) { - while(this.worldServerInstance.getBlockId(k1, k2 - 1, d9) == AtumBlocks.BLOCK_PORTAL.blockID) { + if(this.worldServerInstance.getBlock(k1, k2, d9) == AtumBlocks.BLOCK_PORTAL) { + while(this.worldServerInstance.getBlock(k1, k2 - 1, d9) == AtumBlocks.BLOCK_PORTAL) { --k2; } @@ -124,19 +123,19 @@ public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4 double var47 = (double) j + 0.5D; d4 = (double) k + 0.5D; int j2 = -1; - if(this.worldServerInstance.getBlockId(i - 1, j, k) == AtumBlocks.BLOCK_PORTAL.blockID) { + if(this.worldServerInstance.getBlock(i - 1, j, k) == AtumBlocks.BLOCK_PORTAL) { j2 = 2; } - if(this.worldServerInstance.getBlockId(i + 1, j, k) == AtumBlocks.BLOCK_PORTAL.blockID) { + if(this.worldServerInstance.getBlock(i + 1, j, k) == AtumBlocks.BLOCK_PORTAL) { j2 = 0; } - if(this.worldServerInstance.getBlockId(i, j, k - 1) == AtumBlocks.BLOCK_PORTAL.blockID) { + if(this.worldServerInstance.getBlock(i, j, k - 1) == AtumBlocks.BLOCK_PORTAL) { j2 = 3; } - if(this.worldServerInstance.getBlockId(i, j, k + 1) == AtumBlocks.BLOCK_PORTAL.blockID) { + if(this.worldServerInstance.getBlock(i, j, k + 1) == AtumBlocks.BLOCK_PORTAL) { j2 = 1; } @@ -265,7 +264,7 @@ public boolean makePortal(Entity par1Entity) { k4 = i2 + (i4 - 1) * l2 + j3 * k3; j4 = k2 + l3; i5 = j2 + (i4 - 1) * k3 - j3 * l2; - if(l3 < 0 && !this.worldServerInstance.getBlockMaterial(k4, j4, i5).isSolid() || l3 >= 0 && !this.worldServerInstance.isAirBlock(k4, j4, i5)) { + if(l3 < 0 && !this.worldServerInstance.getBlock(k4, j4, i5).getMaterial().isSolid() || l3 >= 0 && !this.worldServerInstance.isAirBlock(k4, j4, i5)) { continue label272; } } @@ -309,7 +308,7 @@ public boolean makePortal(Entity par1Entity) { l3 = i2 + (j3 - 1) * l2; k4 = k2 + i4; j4 = j2 + (j3 - 1) * k3; - if(i4 < 0 && !this.worldServerInstance.getBlockMaterial(l3, k4, j4).isSolid() || i4 >= 0 && !this.worldServerInstance.isAirBlock(l3, k4, j4)) { + if(i4 < 0 && !this.worldServerInstance.getBlock(l3, k4, j4).getMaterial().isSolid() || i4 >= 0 && !this.worldServerInstance.isAirBlock(l3, k4, j4)) { continue label220; } } @@ -360,28 +359,27 @@ public boolean makePortal(Entity par1Entity) { j3 = j5 + l2; i4 = j2 + (i3 - 1) * l5 - k2 * k5; flag = l2 < 0; - this.worldServerInstance.setBlock(k3, j3, i4, flag ? Block.sandStone.blockID : 0); + this.worldServerInstance.setBlock(k3, j3, i4, flag ? Blocks.sandstone : null); } } } } Block block = null; - System.out.println(par1Entity.dimension); if(par1Entity.dimension == 0) { - block = Block.sandStone; + block = Blocks.sandstone; } else { block = AtumBlocks.BLOCK_LARGEBRICK; } for(int x1 = -2; x1 < 3; x1++) { for(int z1 = -2; z1 < 3; z1++) { - this.worldServerInstance.setBlock(entityX + x1, entityY, entityZ + z1, block.blockID); + this.worldServerInstance.setBlock(entityX + x1, entityY, entityZ + z1, block); } } for(int x1 = -2; x1 < 3; x1++) { for(int z1 = -2; z1 < 3; z1++) { if(x1 == 2 || z1 == 2 || x1 == -2 || z1 == -2) { - this.worldServerInstance.setBlock(entityX + x1, entityY + 1, entityZ + z1, block.blockID); + this.worldServerInstance.setBlock(entityX + x1, entityY + 1, entityZ + z1, block); } } } @@ -389,7 +387,7 @@ public boolean makePortal(Entity par1Entity) { for(int x1 = -2; x1 < 3; x1++) { for(int z1 = -2; z1 < 3; z1++) { if((x1 == 2 && z1 == 2) || (x1 == -2 && z1 == 2) || (x1 == 2 && z1 == -2) || (x1 == -2 && z1 == -2)) { - this.worldServerInstance.setBlock(entityX + x1, entityY + y1, entityZ + z1, block.blockID); + this.worldServerInstance.setBlock(entityX + x1, entityY + y1, entityZ + z1, block); } } } @@ -397,7 +395,7 @@ public boolean makePortal(Entity par1Entity) { for(int x1 = -1; x1 < 2; x1++) { for(int z1 = -1; z1 < 2; z1++) { - this.worldServerInstance.setBlock(x1 + entityX, entityY + 1, z1 + entityZ, AtumBlocks.BLOCK_PORTAL.blockID); + this.worldServerInstance.setBlock(x1 + entityX, entityY + 1, z1 + entityZ, AtumBlocks.BLOCK_PORTAL); } } diff --git a/src/com/teammetallurgy/atum/world/AtumWorlds.java b/src/main/java/com/teammetallurgy/atum/world/AtumWorlds.java similarity index 100% rename from src/com/teammetallurgy/atum/world/AtumWorlds.java rename to src/main/java/com/teammetallurgy/atum/world/AtumWorlds.java diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java b/src/main/java/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java new file mode 100644 index 0000000..5df7b89 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java @@ -0,0 +1,491 @@ +package com.teammetallurgy.atum.worldgen; + +import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.CAVE; +import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.MINESHAFT; +import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.RAVINE; +import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.SCATTERED_FEATURE; +import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.STRONGHOLD; +import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.VILLAGE; +import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.ANIMALS; +import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.DUNGEON; +import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.ICE; +import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.LAKE; +import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.LAVA; + +import java.util.List; +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockFalling; +import net.minecraft.entity.EnumCreatureType; +import net.minecraft.init.Blocks; +import net.minecraft.util.IProgressUpdate; +import net.minecraft.util.MathHelper; +import net.minecraft.world.ChunkPosition; +import net.minecraft.world.SpawnerAnimals; +import net.minecraft.world.World; +import net.minecraft.world.WorldType; +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.chunk.Chunk; +import net.minecraft.world.chunk.IChunkProvider; +import net.minecraft.world.gen.MapGenBase; +import net.minecraft.world.gen.MapGenCaves; +import net.minecraft.world.gen.MapGenRavine; +import net.minecraft.world.gen.NoiseGenerator; +import net.minecraft.world.gen.NoiseGeneratorOctaves; +import net.minecraft.world.gen.NoiseGeneratorPerlin; +import net.minecraft.world.gen.feature.WorldGenDungeons; +import net.minecraft.world.gen.feature.WorldGenLakes; +import net.minecraft.world.gen.structure.MapGenMineshaft; +import net.minecraft.world.gen.structure.MapGenScatteredFeature; +import net.minecraft.world.gen.structure.MapGenStronghold; +import net.minecraft.world.gen.structure.MapGenVillage; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.terraingen.ChunkProviderEvent; +import net.minecraftforge.event.terraingen.PopulateChunkEvent; +import net.minecraftforge.event.terraingen.TerrainGen; +import cpw.mods.fml.common.eventhandler.Event.Result; + +public class AtumChunkProvider implements IChunkProvider { + /** RNG. */ + private Random rand; + private NoiseGeneratorOctaves field_147431_j; + private NoiseGeneratorOctaves field_147432_k; + private NoiseGeneratorOctaves field_147429_l; + private NoiseGeneratorPerlin field_147430_m; + /** A NoiseGeneratorOctaves used in generating terrain */ + public NoiseGeneratorOctaves noiseGen5; + /** A NoiseGeneratorOctaves used in generating terrain */ + public NoiseGeneratorOctaves noiseGen6; + public NoiseGeneratorOctaves mobSpawnerNoise; + /** Reference to the World object. */ + private World worldObj; + /** are map structures going to be generated (e.g. strongholds) */ + private final boolean mapFeaturesEnabled; + private WorldType field_147435_p; + private final double[] field_147434_q; + private final float[] parabolicField; + private double[] stoneNoise = new double[256]; + private MapGenBase caveGenerator = new MapGenCaves(); + private MapGenScatteredFeature scatteredFeatureGenerator = new MapGenScatteredFeature(); + /** Holds ravine generator */ + private MapGenBase ravineGenerator = new MapGenRavine(); + /** The biomes that are used to generate the chunk */ + private BiomeGenBase[] biomesForGeneration; + double[] field_147427_d; + double[] field_147428_e; + double[] field_147425_f; + double[] field_147426_g; + int[][] field_73219_j = new int[32][32]; + private static final String __OBFID = "CL_00000396"; + + { + caveGenerator = TerrainGen.getModdedMapGen(caveGenerator, CAVE); + ravineGenerator = TerrainGen.getModdedMapGen(ravineGenerator, RAVINE); + } + + public AtumChunkProvider(World par1World, long par2, boolean par4) { + this.worldObj = par1World; + this.mapFeaturesEnabled = par4; + this.field_147435_p = par1World.getWorldInfo().getTerrainType(); + this.rand = new Random(par2); + this.field_147431_j = new NoiseGeneratorOctaves(this.rand, 16); + this.field_147432_k = new NoiseGeneratorOctaves(this.rand, 16); + this.field_147429_l = new NoiseGeneratorOctaves(this.rand, 8); + this.field_147430_m = new NoiseGeneratorPerlin(this.rand, 4); + this.noiseGen5 = new NoiseGeneratorOctaves(this.rand, 10); + this.noiseGen6 = new NoiseGeneratorOctaves(this.rand, 16); + this.mobSpawnerNoise = new NoiseGeneratorOctaves(this.rand, 8); + this.field_147434_q = new double[825]; + this.parabolicField = new float[25]; + + for (int j = -2; j <= 2; ++j) { + for (int k = -2; k <= 2; ++k) { + float f = 10.0F / MathHelper.sqrt_float((float) (j * j + k * k) + 0.2F); + this.parabolicField[j + 2 + (k + 2) * 5] = f; + } + } + + NoiseGenerator[] noiseGens = { field_147431_j, field_147432_k, field_147429_l, field_147430_m, noiseGen5, noiseGen6, mobSpawnerNoise }; + noiseGens = TerrainGen.getModdedNoiseGenerators(par1World, this.rand, noiseGens); + this.field_147431_j = (NoiseGeneratorOctaves) noiseGens[0]; + this.field_147432_k = (NoiseGeneratorOctaves) noiseGens[1]; + this.field_147429_l = (NoiseGeneratorOctaves) noiseGens[2]; + this.field_147430_m = (NoiseGeneratorPerlin) noiseGens[3]; + this.noiseGen5 = (NoiseGeneratorOctaves) noiseGens[4]; + this.noiseGen6 = (NoiseGeneratorOctaves) noiseGens[5]; + this.mobSpawnerNoise = (NoiseGeneratorOctaves) noiseGens[6]; + } + + public void func_147424_a(int p_147424_1_, int p_147424_2_, Block[] p_147424_3_) { + byte b0 = 63; + this.biomesForGeneration = this.worldObj.getWorldChunkManager().getBiomesForGeneration(this.biomesForGeneration, p_147424_1_ * 4 - 2, p_147424_2_ * 4 - 2, 10, 10); + this.func_147423_a(p_147424_1_ * 4, 0, p_147424_2_ * 4); + + for (int k = 0; k < 4; ++k) { + int l = k * 5; + int i1 = (k + 1) * 5; + + for (int j1 = 0; j1 < 4; ++j1) { + int k1 = (l + j1) * 33; + int l1 = (l + j1 + 1) * 33; + int i2 = (i1 + j1) * 33; + int j2 = (i1 + j1 + 1) * 33; + + for (int k2 = 0; k2 < 32; ++k2) { + double d0 = 0.125D; + double d1 = this.field_147434_q[k1 + k2]; + double d2 = this.field_147434_q[l1 + k2]; + double d3 = this.field_147434_q[i2 + k2]; + double d4 = this.field_147434_q[j2 + k2]; + double d5 = (this.field_147434_q[k1 + k2 + 1] - d1) * d0; + double d6 = (this.field_147434_q[l1 + k2 + 1] - d2) * d0; + double d7 = (this.field_147434_q[i2 + k2 + 1] - d3) * d0; + double d8 = (this.field_147434_q[j2 + k2 + 1] - d4) * d0; + + for (int l2 = 0; l2 < 8; ++l2) { + double d9 = 0.25D; + double d10 = d1; + double d11 = d2; + double d12 = (d3 - d1) * d9; + double d13 = (d4 - d2) * d9; + + for (int i3 = 0; i3 < 4; ++i3) { + int j3 = i3 + k * 4 << 12 | 0 + j1 * 4 << 8 | k2 * 8 + l2; + short short1 = 256; + j3 -= short1; + double d14 = 0.25D; + double d16 = (d11 - d10) * d14; + double d15 = d10 - d16; + + for (int k3 = 0; k3 < 4; ++k3) { + if ((d15 += d16) > 0.0D) { + //p_147424_3_[j3 += short1] = null; + } else if (k2 * 8 + l2 < b0) { + //p_147424_3_[j3 += short1] = null; + } else { + //p_147424_3_[j3 += short1] = null; + } + } + + d10 += d12; + d11 += d13; + } + + d1 += d5; + d2 += d6; + d3 += d7; + d4 += d8; + } + } + } + } + } + + public void replaceBlocksForBiome(int p_147422_1_, int p_147422_2_, Block[] p_147422_3_, byte[] p_147422_4_, BiomeGenBase[] p_147422_5_) { + ChunkProviderEvent.ReplaceBiomeBlocks event = new ChunkProviderEvent.ReplaceBiomeBlocks(this, p_147422_1_, p_147422_2_, p_147422_3_, p_147422_5_); + MinecraftForge.EVENT_BUS.post(event); + if (event.getResult() == Result.DENY) + return; + + double d0 = 0.03125D; + this.stoneNoise = this.field_147430_m.func_151599_a(this.stoneNoise, (double) (p_147422_1_ * 16), (double) (p_147422_2_ * 16), 16, 16, d0 * 2.0D, d0 * 2.0D, 1.0D); + + for (int k = 0; k < 16; ++k) { + for (int l = 0; l < 16; ++l) { + BiomeGenBase biomegenbase = p_147422_5_[l + k * 16]; + biomegenbase.genTerrainBlocks(this.worldObj, this.rand, p_147422_3_, p_147422_4_, p_147422_1_ * 16 + k, p_147422_2_ * 16 + l, this.stoneNoise[l + k * 16]); + } + } + } + + /** + * loads or generates the chunk at the chunk location specified + */ + public Chunk loadChunk(int par1, int par2) { + return this.provideChunk(par1, par2); + } + + /** + * Will return back a chunk, if it doesn't exist and its not a MP client it + * will generates all the blocks for the specified chunk from the map seed + * and chunk seed + */ + public Chunk provideChunk(int par1, int par2) { + this.rand.setSeed((long) par1 * 341873128712L + (long) par2 * 132897987541L); + Block[] ablock = new Block[65536]; + byte[] abyte = new byte[65536]; + this.func_147424_a(par1, par2, ablock); + this.biomesForGeneration = this.worldObj.getWorldChunkManager().loadBlockGeneratorData(this.biomesForGeneration, par1 * 16, par2 * 16, 16, 16); + this.replaceBlocksForBiome(par1, par2, ablock, abyte, this.biomesForGeneration); + this.caveGenerator.func_151539_a(this, this.worldObj, par1, par2, ablock); + this.ravineGenerator.func_151539_a(this, this.worldObj, par1, par2, ablock); + + if (this.mapFeaturesEnabled) { + this.scatteredFeatureGenerator.func_151539_a(this, this.worldObj, par1, par2, ablock); + } + + Chunk chunk = new Chunk(this.worldObj, ablock, abyte, par1, par2); + byte[] abyte1 = chunk.getBiomeArray(); + + for (int k = 0; k < abyte1.length; ++k) { + abyte1[k] = (byte) this.biomesForGeneration[k].biomeID; + } + + chunk.generateSkylightMap(); + return chunk; + } + + private void func_147423_a(int p_147423_1_, int p_147423_2_, int p_147423_3_) { + double d0 = 684.412D; + double d1 = 684.412D; + double d2 = 512.0D; + double d3 = 512.0D; + this.field_147426_g = this.noiseGen6.generateNoiseOctaves(this.field_147426_g, p_147423_1_, p_147423_3_, 5, 5, 200.0D, 200.0D, 0.5D); + this.field_147427_d = this.field_147429_l.generateNoiseOctaves(this.field_147427_d, p_147423_1_, p_147423_2_, p_147423_3_, 5, 33, 5, 8.555150000000001D, 4.277575000000001D, 8.555150000000001D); + this.field_147428_e = this.field_147431_j.generateNoiseOctaves(this.field_147428_e, p_147423_1_, p_147423_2_, p_147423_3_, 5, 33, 5, 684.412D, 684.412D, 684.412D); + this.field_147425_f = this.field_147432_k.generateNoiseOctaves(this.field_147425_f, p_147423_1_, p_147423_2_, p_147423_3_, 5, 33, 5, 684.412D, 684.412D, 684.412D); + boolean flag1 = false; + boolean flag = false; + int l = 0; + int i1 = 0; + double d4 = 8.5D; + + for (int j1 = 0; j1 < 5; ++j1) { + for (int k1 = 0; k1 < 5; ++k1) { + float f = 0.0F; + float f1 = 0.0F; + float f2 = 0.0F; + byte b0 = 2; + BiomeGenBase biomegenbase = this.biomesForGeneration[j1 + 2 + (k1 + 2) * 10]; + + for (int l1 = -b0; l1 <= b0; ++l1) { + for (int i2 = -b0; i2 <= b0; ++i2) { + BiomeGenBase biomegenbase1 = this.biomesForGeneration[j1 + l1 + 2 + (k1 + i2 + 2) * 10]; + float f3 = biomegenbase1.rootHeight; + float f4 = biomegenbase1.heightVariation; + + if (this.field_147435_p == WorldType.AMPLIFIED && f3 > 0.0F) { + f3 = 1.0F + f3 * 2.0F; + f4 = 1.0F + f4 * 4.0F; + } + + float f5 = this.parabolicField[l1 + 2 + (i2 + 2) * 5] / (f3 + 2.0F); + + if (biomegenbase1.rootHeight > biomegenbase.rootHeight) { + f5 /= 2.0F; + } + + f += f4 * f5; + f1 += f3 * f5; + f2 += f5; + } + } + + f /= f2; + f1 /= f2; + f = f * 0.9F + 0.1F; + f1 = (f1 * 4.0F - 1.0F) / 8.0F; + double d12 = this.field_147426_g[i1] / 8000.0D; + + if (d12 < 0.0D) { + d12 = -d12 * 0.3D; + } + + d12 = d12 * 3.0D - 2.0D; + + if (d12 < 0.0D) { + d12 /= 2.0D; + + if (d12 < -1.0D) { + d12 = -1.0D; + } + + d12 /= 1.4D; + d12 /= 2.0D; + } else { + if (d12 > 1.0D) { + d12 = 1.0D; + } + + d12 /= 8.0D; + } + + ++i1; + double d13 = (double) f1; + double d14 = (double) f; + d13 += d12 * 0.2D; + d13 = d13 * 8.5D / 8.0D; + double d5 = 8.5D + d13 * 4.0D; + + for (int j2 = 0; j2 < 33; ++j2) { + double d6 = ((double) j2 - d5) * 12.0D * 128.0D / 256.0D / d14; + + if (d6 < 0.0D) { + d6 *= 4.0D; + } + + double d7 = this.field_147428_e[l] / 512.0D; + double d8 = this.field_147425_f[l] / 512.0D; + double d9 = (this.field_147427_d[l] / 10.0D + 1.0D) / 2.0D; + double d10 = MathHelper.denormalizeClamp(d7, d8, d9) - d6; + + if (j2 > 29) { + double d11 = (double) ((float) (j2 - 29) / 3.0F); + d10 = d10 * (1.0D - d11) + -10.0D * d11; + } + + this.field_147434_q[l] = d10; + ++l; + } + } + } + } + + /** + * Checks to see if a chunk exists at x, y + */ + public boolean chunkExists(int par1, int par2) { + return true; + } + + /** + * Populates chunk with ores etc etc + */ + public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) { + BlockFalling.fallInstantly = true; + int k = par2 * 16; + int l = par3 * 16; + BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(k + 16, l + 16); + this.rand.setSeed(this.worldObj.getSeed()); + long i1 = this.rand.nextLong() / 2L * 2L + 1L; + long j1 = this.rand.nextLong() / 2L * 2L + 1L; + this.rand.setSeed((long) par2 * i1 + (long) par3 * j1 ^ this.worldObj.getSeed()); + boolean flag = false; + + MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Pre(par1IChunkProvider, worldObj, rand, par2, par3, flag)); + + if (this.mapFeaturesEnabled) { + this.scatteredFeatureGenerator.generateStructuresInChunk(this.worldObj, this.rand, par2, par3); + } + + int k1; + int l1; + int i2; + + if (biomegenbase != BiomeGenBase.desert && biomegenbase != BiomeGenBase.desertHills && !flag && this.rand.nextInt(4) == 0 && TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag, LAKE)) { + k1 = k + this.rand.nextInt(16) + 8; + l1 = this.rand.nextInt(256); + i2 = l + this.rand.nextInt(16) + 8; + (new WorldGenLakes(Blocks.water)).generate(this.worldObj, this.rand, k1, l1, i2); + } + + if (TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag, LAVA) && !flag && this.rand.nextInt(8) == 0) { + k1 = k + this.rand.nextInt(16) + 8; + l1 = this.rand.nextInt(this.rand.nextInt(248) + 8); + i2 = l + this.rand.nextInt(16) + 8; + + if (l1 < 63 || this.rand.nextInt(10) == 0) { + (new WorldGenLakes(Blocks.lava)).generate(this.worldObj, this.rand, k1, l1, i2); + } + } + + boolean doGen = TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag, DUNGEON); + for (k1 = 0; doGen && k1 < 8; ++k1) { + l1 = k + this.rand.nextInt(16) + 8; + i2 = this.rand.nextInt(256); + int j2 = l + this.rand.nextInt(16) + 8; + (new WorldGenDungeons()).generate(this.worldObj, this.rand, l1, i2, j2); + } + + biomegenbase.decorate(this.worldObj, this.rand, k, l); + if (TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag, ANIMALS)) { + SpawnerAnimals.performWorldGenSpawning(this.worldObj, biomegenbase, k + 8, l + 8, 16, 16, this.rand); + } + k += 8; + l += 8; + + doGen = TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag, ICE); + for (k1 = 0; doGen && k1 < 16; ++k1) { + for (l1 = 0; l1 < 16; ++l1) { + i2 = this.worldObj.getPrecipitationHeight(k + k1, l + l1); + + if (this.worldObj.isBlockFreezable(k1 + k, i2 - 1, l1 + l)) { + this.worldObj.setBlock(k1 + k, i2 - 1, l1 + l, Blocks.ice, 0, 2); + } + + if (this.worldObj.func_147478_e(k1 + k, i2, l1 + l, true)) { + this.worldObj.setBlock(k1 + k, i2, l1 + l, Blocks.snow_layer, 0, 2); + } + } + } + + MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Post(par1IChunkProvider, worldObj, rand, par2, par3, flag)); + + BlockFalling.fallInstantly = false; + } + + /** + * Two modes of operation: if passed true, save all Chunks in one go. If + * passed false, save up to two chunks. Return true if all chunks have been + * saved. + */ + public boolean saveChunks(boolean par1, IProgressUpdate par2IProgressUpdate) { + return true; + } + + /** + * Save extra data not associated with any Chunk. Not saved during autosave, + * only during world unload. Currently unimplemented. + */ + public void saveExtraData() { + } + + /** + * Unloads chunks that are marked to be unloaded. This is not guaranteed to + * unload every such chunk. + */ + public boolean unloadQueuedChunks() { + return false; + } + + /** + * Returns if the IChunkProvider supports saving. + */ + public boolean canSave() { + return true; + } + + /** + * Converts the instance data to a readable string. + */ + public String makeString() { + return "RandomLevelSource"; + } + + /** + * Returns a list of creatures of the specified type that can spawn at the + * given location. + */ + public List getPossibleCreatures(EnumCreatureType par1EnumCreatureType, int par2, int par3, int par4) { + BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(par2, par4); + return par1EnumCreatureType == EnumCreatureType.monster && this.scatteredFeatureGenerator.func_143030_a(par2, par3, par4) ? this.scatteredFeatureGenerator.getScatteredFeatureSpawnList() : biomegenbase.getSpawnableList(par1EnumCreatureType); + } + + + public int getLoadedChunkCount() { + return 0; + } + + public void recreateStructures(int par1, int par2) { + if (this.mapFeaturesEnabled) { + this.scatteredFeatureGenerator.func_151539_a(this, this.worldObj, par1, par2, (Block[]) null); + } + } + + @Override + public ChunkPosition func_147416_a(World var1, String var2, int var3, int var4, int var5) { + // TODO Auto-generated method stub + return null; + } +} \ No newline at end of file diff --git a/src/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java b/src/main/java/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java similarity index 94% rename from src/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java rename to src/main/java/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java index 9c29f6d..e02eecf 100644 --- a/src/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java @@ -19,7 +19,7 @@ public String getDimensionName() { @Override protected void registerWorldChunkManager() { - this.worldChunkMgr = new WorldChunkManagerHell(AtumWorlds.BIOME_DESERT, 0.8F, 0.1F); + this.worldChunkMgr = new WorldChunkManagerHell(AtumWorlds.BIOME_DESERT, 0); this.dimensionId = AtumIDS.DIMENSION_ID; } @@ -32,10 +32,10 @@ public IChunkProvider createChunkGenerator() { protected void generateLightBrightnessTable() { float f = 0.0F; - for(int i = 0; i <= 15; ++i) { + for (int i = 0; i <= 15; ++i) { float scaledBrightness = (float) i / 15.0F; float f1 = 1.0F - scaledBrightness; - if(i < 5) { + if (i < 5) { super.lightBrightnessTable[i] = 0.5F * scaledBrightness / (f1 * 3.0F + 1.0F) * (1.0F - f) + f; } else { super.lightBrightnessTable[i] = scaledBrightness / (f1 * 3.0F + 1.0F) * (1.0F - f) + f; @@ -48,11 +48,11 @@ protected void generateLightBrightnessTable() { public float calculateCelestialAngle(long par1, float par3) { int j = (int) (par1 % 48000L); float f1 = ((float) j + par3) / 48000.0F - 0.25F; - if(f1 < 0.0F) { + if (f1 < 0.0F) { ++f1; } - if(f1 > 1.0F) { + if (f1 > 1.0F) { --f1; } @@ -66,11 +66,11 @@ public float calculateCelestialAngle(long par1, float par3) { @SideOnly(Side.CLIENT) public Vec3 getFogColor(float par1, float par2) { float f2 = MathHelper.cos(par1 * 3.1415927F * 2.0F) * 2.0F + 0.5F; - if(f2 < 0.2F) { + if (f2 < 0.2F) { f2 = 0.2F; } - if(f2 > 1.0F) { + if (f2 > 1.0F) { f2 = 1.0F; } diff --git a/src/com/teammetallurgy/atum/worldgen/AtumWorldServer.java b/src/main/java/com/teammetallurgy/atum/worldgen/AtumWorldServer.java similarity index 81% rename from src/com/teammetallurgy/atum/worldgen/AtumWorldServer.java rename to src/main/java/com/teammetallurgy/atum/worldgen/AtumWorldServer.java index 8e6f838..c4329a8 100644 --- a/src/com/teammetallurgy/atum/worldgen/AtumWorldServer.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/AtumWorldServer.java @@ -1,6 +1,5 @@ package com.teammetallurgy.atum.worldgen; -import net.minecraft.logging.ILogAgent; import net.minecraft.profiler.Profiler; import net.minecraft.server.MinecraftServer; import net.minecraft.world.Teleporter; @@ -12,8 +11,8 @@ public class AtumWorldServer extends WorldServer { - public AtumWorldServer(MinecraftServer par1MinecraftServer, ISaveHandler par2iSaveHandler, String par3Str, int par4, WorldSettings par5WorldSettings, Profiler par6Profiler, ILogAgent par7iLogAgent) { - super(par1MinecraftServer, par2iSaveHandler, par3Str, par4, par5WorldSettings, par6Profiler, par7iLogAgent); + public AtumWorldServer(MinecraftServer par1MinecraftServer, ISaveHandler par2iSaveHandler, String par3Str, int par4, WorldSettings par5WorldSettings, Profiler par6Profiler) { + super(par1MinecraftServer, par2iSaveHandler, par3Str, par4, par5WorldSettings, par6Profiler); } @Override diff --git a/src/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java b/src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java similarity index 62% rename from src/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java rename to src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java index cbd7b3e..9d43a81 100644 --- a/src/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java @@ -3,6 +3,7 @@ import java.util.Random; import net.minecraft.block.Block; +import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeDecorator; import net.minecraft.world.biome.BiomeGenBase; @@ -29,23 +30,21 @@ public class BiomeDecoratorAtum extends BiomeDecorator { private float shrubChance; - public BiomeDecoratorAtum(BiomeGenBase par1BiomeGenBase) { - super(par1BiomeGenBase); - this.sandGen = new WorldGenSand(7, AtumBlocks.BLOCK_SAND.blockID); - this.gravelAsSandGen = new WorldGenSand(6, Block.gravel.blockID); - this.dirtGen = new WorldGenMinable(Block.dirt.blockID, 32); - this.gravelGen = new WorldGenMinable(Block.gravel.blockID, 32); - this.coalGen = new WorldGenMinable(AtumBlocks.BLOCK_COALORE.blockID, 16, AtumBlocks.BLOCK_STONE.blockID); - this.ironGen = new WorldGenMinable(AtumBlocks.BLOCK_IRONORE.blockID, 8, AtumBlocks.BLOCK_STONE.blockID); - this.goldGen = new WorldGenMinable(AtumBlocks.BLOCK_GOLDORE.blockID, 8, AtumBlocks.BLOCK_STONE.blockID); - this.redstoneGen = new WorldGenMinable(AtumBlocks.BLOCK_REDSTONEORE.blockID, 7, AtumBlocks.BLOCK_STONE.blockID); - this.diamondGen = new WorldGenMinable(AtumBlocks.BLOCK_DIAMONDORE.blockID, 7, AtumBlocks.BLOCK_STONE.blockID); - this.lapisGen = new WorldGenMinable(AtumBlocks.BLOCK_LAPISORE.blockID, 6); - - this.plantYellowGen = new WorldGenFlowers(Block.plantYellow.blockID); - this.plantRedGen = new WorldGenFlowers(Block.plantRed.blockID); - this.mushroomBrownGen = new WorldGenFlowers(Block.mushroomBrown.blockID); - this.mushroomRedGen = new WorldGenFlowers(Block.mushroomRed.blockID); + public BiomeDecoratorAtum() { + super(); + this.sandGen = new WorldGenSand(AtumBlocks.BLOCK_SAND, 7); + this.gravelAsSandGen = new WorldGenSand(Blocks.gravel, 6); + this.dirtGen = new WorldGenMinable(Blocks.dirt, 32); + this.gravelGen = new WorldGenMinable(Blocks.gravel, 32); + this.coalGen = new WorldGenMinable(AtumBlocks.BLOCK_COALORE, 16, AtumBlocks.BLOCK_STONE); + this.ironGen = new WorldGenMinable(AtumBlocks.BLOCK_IRONORE, 8, AtumBlocks.BLOCK_STONE); + this.goldGen = new WorldGenMinable(AtumBlocks.BLOCK_GOLDORE, 8, AtumBlocks.BLOCK_STONE); + this.redstoneGen = new WorldGenMinable(AtumBlocks.BLOCK_REDSTONEORE, 7, AtumBlocks.BLOCK_STONE); + this.diamondGen = new WorldGenMinable(AtumBlocks.BLOCK_DIAMONDORE, 7, AtumBlocks.BLOCK_STONE); + this.lapisGen = new WorldGenMinable(AtumBlocks.BLOCK_LAPISORE, 6); + + this.mushroomBrownGen = new WorldGenFlowers(Blocks.brown_mushroom); + this.mushroomRedGen = new WorldGenFlowers(Blocks.red_mushroom); this.bigMushroomGen = new WorldGenBigMushroom(); this.reedGen = new WorldGenReed(); this.cactusGen = new WorldGenCactus(); @@ -64,26 +63,25 @@ public BiomeDecoratorAtum(BiomeGenBase par1BiomeGenBase) { this.clayPerChunk = 1; this.bigMushroomsPerChunk = 0; this.generateLakes = true; - this.biome = par1BiomeGenBase; } @Override - public void decorate(World par1World, Random par2Random, int par3, int par4) { - if(this.currentWorld != null) { + public void decorateChunk(World world, Random random, BiomeGenBase biomeGenBase, int x, int z) { + if (this.currentWorld != null) { throw new RuntimeException("Already decorating!!"); } else { - this.currentWorld = par1World; - this.randomGenerator = par2Random; - this.chunk_X = par3; - this.chunk_Z = par4; - this.decorate(); + this.currentWorld = world; + this.randomGenerator = random; + this.chunk_X = x; + this.chunk_Z = z; + this.genDecorations(biomeGenBase); this.currentWorld = null; this.randomGenerator = null; } } - + @Override - protected void decorate() { + protected void genDecorations(BiomeGenBase biome) { MinecraftForge.EVENT_BUS.post(new Pre(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z)); this.generateOres(); boolean doGen = TerrainGen.decorate(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z, EventType.SAND_PASS2); @@ -92,7 +90,7 @@ protected void decorate() { int j; int k; long time; - for(i = 0; doGen && i < this.sandPerChunk; ++i) { + for (i = 0; doGen && i < this.sandPerChunk; ++i) { j = this.chunk_X + this.randomGenerator.nextInt(16) + 8; k = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; time = System.nanoTime(); @@ -100,7 +98,7 @@ protected void decorate() { } i = this.treesPerChunk; - if(this.randomGenerator.nextInt(10) == 0) { + if (this.randomGenerator.nextInt(10) == 0) { ++i; } @@ -109,38 +107,38 @@ protected void decorate() { int l; int i1; - for(j = 0; doGen && j < this.grassPerChunk; ++j) { + for (j = 0; doGen && j < this.grassPerChunk; ++j) { k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; l = this.randomGenerator.nextInt(128); i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - WorldGenerator worldgenerator1 = this.biome.getRandomWorldGenForGrass(this.randomGenerator); + WorldGenerator worldgenerator1 = biome.getRandomWorldGenForGrass(this.randomGenerator); worldgenerator1.generate(this.currentWorld, this.randomGenerator, k, l, i1); } - if(this.randomGenerator.nextFloat() < this.shrubChance) { + if (this.randomGenerator.nextFloat() < this.shrubChance) { k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; l = this.randomGenerator.nextInt(128); i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; time = System.nanoTime(); - (new WorldGenShrub(AtumBlocks.BLOCK_SHRUB.blockID, 8)).generate(this.currentWorld, this.randomGenerator, k, l, i1); + (new WorldGenShrub(AtumBlocks.BLOCK_SHRUB, 8)).generate(this.currentWorld, this.randomGenerator, k, l, i1); } - if(this.randomGenerator.nextFloat() < this.shrubChance) { + if (this.randomGenerator.nextFloat() < this.shrubChance) { k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; l = this.randomGenerator.nextInt(128); i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; time = System.nanoTime(); - (new WorldGenShrub(AtumBlocks.BLOCK_WEED.blockID, 8)).generate(this.currentWorld, this.randomGenerator, k, l, i1); + (new WorldGenShrub(AtumBlocks.BLOCK_WEED, 8)).generate(this.currentWorld, this.randomGenerator, k, l, i1); } doGen = TerrainGen.decorate(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z, EventType.LAKE); - if(doGen && this.generateLakes) { - for(j = 0; j < 20; ++j) { + if (doGen && this.generateLakes) { + for (j = 0; j < 20; ++j) { k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; l = this.randomGenerator.nextInt(this.randomGenerator.nextInt(this.randomGenerator.nextInt(112) + 8) + 8); i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; time = System.nanoTime(); - (new WorldGenLiquids(Block.lavaMoving.blockID)).generate(this.currentWorld, this.randomGenerator, k, l, i1); + (new WorldGenLiquids(Blocks.flowing_lava)).generate(this.currentWorld, this.randomGenerator, k, l, i1); } } @@ -149,7 +147,7 @@ protected void decorate() { @Override protected void genStandardOre1(int par1, WorldGenerator par2WorldGenerator, int par3, int par4) { - for(int l = 0; l < par1; ++l) { + for (int l = 0; l < par1; ++l) { int i1 = this.chunk_X + this.randomGenerator.nextInt(16); int j1 = this.randomGenerator.nextInt(par4 - par3) + par3; int k1 = this.chunk_Z + this.randomGenerator.nextInt(16); @@ -160,7 +158,7 @@ protected void genStandardOre1(int par1, WorldGenerator par2WorldGenerator, int @Override protected void genStandardOre2(int par1, WorldGenerator par2WorldGenerator, int par3, int par4) { - for(int l = 0; l < par1; ++l) { + for (int l = 0; l < par1; ++l) { int i1 = this.chunk_X + this.randomGenerator.nextInt(16); int j1 = this.randomGenerator.nextInt(par4) + this.randomGenerator.nextInt(par4) + (par3 - par4); int k1 = this.chunk_Z + this.randomGenerator.nextInt(16); @@ -172,27 +170,27 @@ protected void genStandardOre2(int par1, WorldGenerator par2WorldGenerator, int @Override protected void generateOres() { MinecraftForge.ORE_GEN_BUS.post(new OreGenEvent.Pre(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z)); - if(TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.coalGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.COAL)) { + if (TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.coalGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.COAL)) { this.genStandardOre1(20, this.coalGen, 0, 128); } - if(TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.ironGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.IRON)) { + if (TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.ironGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.IRON)) { this.genStandardOre1(20, this.ironGen, 0, 64); } - if(TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.goldGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.GOLD)) { + if (TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.goldGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.GOLD)) { this.genStandardOre1(2, this.goldGen, 0, 32); } - if(TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.redstoneGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.REDSTONE)) { + if (TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.redstoneGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.REDSTONE)) { this.genStandardOre1(8, this.redstoneGen, 0, 16); } - if(TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.diamondGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.DIAMOND)) { + if (TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.diamondGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.DIAMOND)) { this.genStandardOre1(1, this.diamondGen, 0, 16); } - if(TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.lapisGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.LAPIS)) { + if (TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.lapisGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.LAPIS)) { this.genStandardOre2(1, this.lapisGen, 16, 16); } diff --git a/src/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java b/src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java similarity index 88% rename from src/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java rename to src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java index 18cf32a..5026d56 100644 --- a/src/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java @@ -5,7 +5,6 @@ import net.minecraft.world.World; import net.minecraft.world.biome.BiomeDecorator; import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.biome.SpawnListEntry; import net.minecraft.world.gen.feature.WorldGenerator; import com.teammetallurgy.atum.blocks.AtumBlocks; @@ -34,8 +33,8 @@ public class BiomeGenAtumDesert extends BiomeGenBase { public BiomeGenAtumDesert(int par1) { super(par1); super.spawnableCreatureList.clear(); - this.topBlock = (byte) AtumBlocks.BLOCK_SAND.blockID; - this.fillerBlock = (byte) AtumBlocks.BLOCK_STONE.blockID; + this.topBlock = AtumBlocks.BLOCK_SAND; + this.fillerBlock = AtumBlocks.BLOCK_STONE; super.theBiomeDecorator.treesPerChunk = 1; super.theBiomeDecorator.deadBushPerChunk = 5; @@ -52,7 +51,7 @@ public BiomeGenAtumDesert(int par1) { this.setBiomeName("biome.desert.name"); this.setDisableRain(); this.setTemperatureRainfall(2.0F, 0.0F); - this.setMinMaxHeight(0.1F, 0.2F); + this.setHeight(new Height(0.1F, 0.2F)); super.spawnableMonsterList.add(new SpawnListEntry(EntityMummy.class, 6, 4, 4)); super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditWarlord.class, 1, 1, 1)); super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditWarrior.class, 6, 2, 2)); @@ -66,12 +65,7 @@ public BiomeGenAtumDesert(int par1) { @Override public BiomeDecorator createBiomeDecorator() { - return new BiomeDecoratorAtum(this); - } - - @Override - public WorldGenerator getRandomWorldGenForTrees(Random par1Random) { - return this.treeGenerator; + return new BiomeDecoratorAtum(); } @Override @@ -79,44 +73,44 @@ public void decorate(World par1World, Random par2Random, int par3, int par4) { super.decorate(par1World, par2Random, par3, par4); int k; int l; - if(par2Random.nextInt(100) == 0) { + if (par2Random.nextInt(100) == 0) { k = par3 + par2Random.nextInt(16) + 8; l = par4 + par2Random.nextInt(16) + 8; (new WorldGenOasis(false)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); } - if(par2Random.nextInt(20) == 0) { + if (par2Random.nextInt(20) == 0) { k = par3 + par2Random.nextInt(16) + 8; l = par4 + par2Random.nextInt(16) + 8; this.ruinsGenerator.generate(par1World, par2Random, k, par1World.getHeightValue(k, l) + 1, l); } int height; - if(par2Random.nextInt(5) == 0) { + if (par2Random.nextInt(5) == 0) { k = par3 + par2Random.nextInt(16) + 8; l = par4 + par2Random.nextInt(16) + 8; height = par2Random.nextInt(4) + 5; (new WorldGenPalm(true, height, 0, 0)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); } - if(par2Random.nextInt(7) == 0) { + if (par2Random.nextInt(7) == 0) { k = par3 + par2Random.nextInt(16) + 8; l = par4 + par2Random.nextInt(16) + 8; height = par2Random.nextInt(4) + 4; (new WorldGenAtumTrees(true)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); } - if(par2Random.nextInt(120) == 0) { + if (par2Random.nextInt(120) == 0) { k = par3 + par2Random.nextInt(16) + 8; l = par4 + par2Random.nextInt(16) + 8; (new WorldGenPyramid()).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); } - if(par2Random.nextInt(160) == 0) { + if (par2Random.nextInt(160) == 0) { k = par3 + par2Random.nextInt(16) + 8; l = par4 + par2Random.nextInt(16) + 8; height = par2Random.nextInt(10); - if(height <= 20) { + if (height <= 20) { height += 30; } (new WorldGenPalace()).generate(par1World, par2Random, k, height, l); diff --git a/src/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java b/src/main/java/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java similarity index 85% rename from src/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java rename to src/main/java/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java index b2ce64a..ad422b0 100644 --- a/src/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java @@ -2,16 +2,17 @@ import java.util.List; -import net.minecraft.world.biome.SpawnListEntry; -import net.minecraftforge.event.ForgeSubscribe; +import net.minecraft.world.biome.BiomeGenBase.SpawnListEntry; import net.minecraftforge.event.world.WorldEvent.PotentialSpawns; import com.teammetallurgy.atum.entity.IAtumDayMob; import com.teammetallurgy.atum.entity.IAtumNightMob; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; + public class MobSpawnController { - @ForgeSubscribe + @SubscribeEvent public void getPotentialSpawns(PotentialSpawns event) { List list = event.list; int time = (int) (event.world.getWorldTime() % 48000L); diff --git a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java similarity index 89% rename from src/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java rename to src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java index affa1e4..4a5b261 100644 --- a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java @@ -3,6 +3,7 @@ import java.util.Random; import net.minecraft.block.Block; +import net.minecraft.init.Blocks; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; @@ -96,7 +97,7 @@ private void generateLeafNodeList() { System.arraycopy(aint, 0, this.leafNodes, 0, k); } - private void genTreeLayer(int par1, int par2, int par3, float par4, byte par5, int par6) { + private void genTreeLayer(int par1, int par2, int par3, float par4, byte par5, Block par6) { int i1 = (int) ((double) par4 + 0.618D); byte b1 = otherCoordPairs[par5]; byte b2 = otherCoordPairs[par5 + 3]; @@ -115,12 +116,12 @@ private void genTreeLayer(int par1, int par2, int par3, float par4, byte par5, i ++k1; } else { aint1[b2] = aint[b2] + k1; - int l1 = this.worldObj.getBlockId(aint1[0], aint1[1], aint1[2]); - if(l1 != 0 && l1 != Block.leaves.blockID) { + Block l1 = this.worldObj.getBlock(aint1[0], aint1[1], aint1[2]); + if(l1 != null && l1 != Blocks.leaves) { ++k1; } else { - if(par6 != Block.leaves.blockID) { - this.setBlockAndMetadata(this.worldObj, aint1[0], aint1[1], aint1[2], par6, 0); + if(par6 != Blocks.leaves) { + this.setBlockAndNotifyAdequately(this.worldObj, aint1[0], aint1[1], aint1[2], par6, 0); } ++k1; @@ -160,12 +161,12 @@ private void generateLeafNode(int par1, int par2, int par3) { for(int i1 = par2 + this.leafDistanceLimit; l < i1; ++l) { float f = this.leafSize(l - par2); - this.genTreeLayer(par1, l, par3, f, (byte) 1, Block.leaves.blockID); + this.genTreeLayer(par1, l, par3, f, (byte) 1, Blocks.leaves); } } - private void placeBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger, int par3) { + private void placeBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger, Block par3) { int[] aint2 = new int[]{0, 0, 0}; byte b0 = 0; @@ -208,7 +209,7 @@ private void placeBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger, } } - this.setBlockAndMetadata(this.worldObj, aint3[0], aint3[1], aint3[2], par3, b5); + this.setBlockAndNotifyAdequately(this.worldObj, aint3[0], aint3[1], aint3[2], par3, b5); } } @@ -237,17 +238,17 @@ private void generateTrunk() { int l = this.basePos[2]; int[] aint = new int[]{i, j, l}; int[] aint1 = new int[]{i, k, l}; - this.placeBlockLine(aint, aint1, Block.wood.blockID); + this.placeBlockLine(aint, aint1, Blocks.log); if(this.trunkSize == 2) { ++aint[0]; ++aint1[0]; - this.placeBlockLine(aint, aint1, Block.wood.blockID); + this.placeBlockLine(aint, aint1, Blocks.log); ++aint[2]; ++aint1[2]; - this.placeBlockLine(aint, aint1, Block.wood.blockID); + this.placeBlockLine(aint, aint1, Blocks.log); aint[0] += -1; aint1[0] += -1; - this.placeBlockLine(aint, aint1, Block.wood.blockID); + this.placeBlockLine(aint, aint1, Blocks.log); } } @@ -262,7 +263,7 @@ private void generateLeafNodeBases() { aint[1] = aint1[3]; int k = aint[1] - this.basePos[1]; if(this.leafNodeNeedsBase(k)) { - this.placeBlockLine(aint, aint2, (byte) Block.wood.blockID); + this.placeBlockLine(aint, aint2, Blocks.log); } } @@ -302,8 +303,8 @@ private int checkBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger) { aint3[b1] = par1ArrayOfInteger[b1] + i; aint3[b2] = MathHelper.floor_double((double) par1ArrayOfInteger[b2] + (double) i * d0); aint3[b3] = MathHelper.floor_double((double) par1ArrayOfInteger[b3] + (double) i * d1); - int k = this.worldObj.getBlockId(aint3[0], aint3[1], aint3[2]); - if(k != 0 && k != Block.leaves.blockID) { + Block k = this.worldObj.getBlock(aint3[0], aint3[1], aint3[2]); + if(k != null && k != Blocks.leaves) { break; } } @@ -315,9 +316,8 @@ private int checkBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger) { private boolean validTreeLocation() { int[] aint = new int[]{this.basePos[0], this.basePos[1], this.basePos[2]}; int[] aint1 = new int[]{this.basePos[0], this.basePos[1] + this.heightLimit - 1, this.basePos[2]}; - int i = this.worldObj.getBlockId(this.basePos[0], this.basePos[1] - 1, this.basePos[2]); - Block var10000 = Block.blocksList[i]; - boolean isValidSoil = i == AtumBlocks.BLOCK_SAND.blockID; + Block i = this.worldObj.getBlock(this.basePos[0], this.basePos[1] - 1, this.basePos[2]); + boolean isValidSoil = i == AtumBlocks.BLOCK_SAND; if(!isValidSoil) { return false; } else { diff --git a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java similarity index 70% rename from src/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java rename to src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java index 08d9552..b5220af 100644 --- a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java @@ -3,12 +3,13 @@ import java.util.Random; import net.minecraft.block.Block; +import net.minecraft.init.Blocks; import net.minecraft.inventory.IInventory; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; -import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.IPlantable; +import net.minecraftforge.common.util.ForgeDirection; import com.teammetallurgy.atum.AtumLoot; import com.teammetallurgy.atum.blocks.AtumBlocks; @@ -34,20 +35,20 @@ public WorldGenOasis(boolean par1, int par2, int par3, int par4) { public boolean generate(World world, Random par2Random, int par3, int par4, int par5) { int width = par2Random.nextInt(6) + 6; int depth = par2Random.nextInt(5) + 5; - int id = world.getBlockId(par3, par4 - 1, par5); - if(id != AtumBlocks.BLOCK_SAND.blockID) { + Block block = world.getBlock(par3, par4 - 1, par5); + if(block != AtumBlocks.BLOCK_SAND) { return false; } else { - id = world.getBlockId(par3 + width, world.getHeightValue(par3 + width, par5) - 1, par5); - if(id != AtumBlocks.BLOCK_SAND.blockID) { + block = world.getBlock(par3 + width, world.getHeightValue(par3 + width, par5) - 1, par5); + if(block != AtumBlocks.BLOCK_SAND) { return false; } else { - id = world.getBlockId(par3, world.getHeightValue(par3, par5 + depth) - 1, par5 + depth); - if(id != AtumBlocks.BLOCK_SAND.blockID) { + block = world.getBlock(par3, world.getHeightValue(par3, par5 + depth) - 1, par5 + depth); + if(block != AtumBlocks.BLOCK_SAND) { return false; } else { - id = world.getBlockId(par3 + width, world.getHeightValue(par3 + width, par5 + depth) - 1, par5 + depth); - if(id != AtumBlocks.BLOCK_SAND.blockID) { + block = world.getBlock(par3 + width, world.getHeightValue(par3 + width, par5 + depth) - 1, par5 + depth); + if(block != AtumBlocks.BLOCK_SAND) { return false; } else { int minHeight = world.getHeightValue(par3, par5); @@ -87,23 +88,23 @@ public boolean generate(World world, Random par2Random, int par3, int par4, int float x = (float) (papyrus * papyrus) / (treeCount * treeCount) + (float) (i * i) / (chest * chest); if(x <= 1.0F) { z = world.getHeightValue(papyrus + par3, i + par5); - if(world.getBlockId(papyrus + par3, z - 1, i + par5) == AtumBlocks.BLOCK_SAND.blockID) { - world.setBlock(papyrus + par3, z - 1, i + par5, Block.waterStill.blockID); + if(world.getBlock(papyrus + par3, z - 1, i + par5) == AtumBlocks.BLOCK_SAND) { + world.setBlock(papyrus + par3, z - 1, i + par5, Blocks.water); if((double) x < 0.6D) { z = world.getHeightValue(papyrus + par3, i + par5); - world.setBlock(papyrus + par3, z - 2, i + par5, Block.waterStill.blockID); + world.setBlock(papyrus + par3, z - 2, i + par5, Blocks.water); } } } else { x = (float) (papyrus * papyrus) / ((treeCount + 4.0F) * (treeCount + 4.0F)) + (float) (i * i) / ((chest + 4.0F) * (chest + 4.0F)); z = world.getHeightValue(papyrus + par3, i + par5); - if(world.getBlockId(papyrus + par3, z - 1, i + par5) == AtumBlocks.BLOCK_SAND.blockID && x < 1.0F) { - world.setBlock(papyrus + par3, z - 1, i + par5, AtumBlocks.BLOCK_FERTILESOIL.blockID); + if(world.getBlock(papyrus + par3, z - 1, i + par5) == AtumBlocks.BLOCK_SAND && x < 1.0F) { + world.setBlock(papyrus + par3, z - 1, i + par5, AtumBlocks.BLOCK_FERTILESOIL); if((double) x < 0.3D && par2Random.nextInt(8) == 0) { for(y = -1; y <= 1; ++y) { for(dx = -1; dx <= 1; ++dx) { if(AtumBlocks.BLOCK_PAPYRUS.canBlockStay(world, par3 + papyrus + y, z, par5 + i + dx)) { - world.setBlock(papyrus + par3 + y, z, i + par5 + dx, AtumBlocks.BLOCK_PAPYRUS.blockID); + world.setBlock(papyrus + par3 + y, z, i + par5 + dx, AtumBlocks.BLOCK_PAPYRUS); } } } @@ -119,8 +120,8 @@ public boolean generate(World world, Random par2Random, int par3, int par4, int for(int var26 = 0; var26 < 6; ++var26) { papyrus = par2Random.nextInt(width); i = par2Random.nextInt(depth); - id = world.getBlockId(par3 + papyrus, world.getHeightValue(par3 + papyrus, par5 + i) - 1, par5 + i); - if(id == AtumBlocks.BLOCK_FERTILESOIL.blockID) { + block = world.getBlock(par3 + papyrus, world.getHeightValue(par3 + papyrus, par5 + i) - 1, par5 + i); + if(block == AtumBlocks.BLOCK_FERTILESOIL) { (new WorldGenPalm(true, 5, 0, 0)).generate(world, par2Random, par3 + papyrus, world.getHeightValue(par3 + papyrus, par5 + i), par5 + i); ++var24; } @@ -137,19 +138,19 @@ public boolean generate(World world, Random par2Random, int par3, int par4, int int var28 = par2Random.nextInt(width); z = par2Random.nextInt(depth); y = world.getHeightValue(par3 + var28, par5 + z); - id = world.getBlockId(par3 + var28, y - 1, par5 + z); - if(!var25 && id == AtumBlocks.BLOCK_FERTILESOIL.blockID) { - world.setBlock(par3 + var28, y, par5 + z, Block.chest.blockID); - TileEntity var29 = world.getBlockTileEntity(par3 + var28, world.getHeightValue(par3 + var28, par5 + z), par5 + z); + block = world.getBlock(par3 + var28, y - 1, par5 + z); + if(!var25 && block == AtumBlocks.BLOCK_FERTILESOIL) { + world.setBlock(par3 + var28, y, par5 + z, Blocks.chest); + TileEntity var29 = world.getTileEntity(par3 + var28, world.getHeightValue(par3 + var28, par5 + z), par5 + z); AtumLoot.fillChest((IInventory) var29, 5, 0.2F); var25 = true; } else { int dz; - if(!var27 && Block.blocksList[id].canSustainPlant(world, par3 + var28, y, par5 + z, ForgeDirection.UP, (IPlantable) ((IPlantable) AtumBlocks.BLOCK_PAPYRUS))) { + if(!var27 && block.canSustainPlant(world, par3 + var28, y, par5 + z, ForgeDirection.UP, (IPlantable) ((IPlantable) AtumBlocks.BLOCK_PAPYRUS))) { for(dx = -1; dx <= 1; ++dx) { for(dz = -1; dz <= 1; ++dz) { - if(Block.blocksList[id].canSustainPlant(world, par3 + var28 + dx, y, par5 + z + dz, ForgeDirection.UP, (IPlantable) ((IPlantable) AtumBlocks.BLOCK_PAPYRUS))) { - world.setBlock(par3 + var28, y, par5 + z, AtumBlocks.BLOCK_PAPYRUS.blockID); + if(block.canSustainPlant(world, par3 + var28 + dx, y, par5 + z + dz, ForgeDirection.UP, (IPlantable) ((IPlantable) AtumBlocks.BLOCK_PAPYRUS))) { + world.setBlock(par3 + var28, y, par5 + z, AtumBlocks.BLOCK_PAPYRUS); var27 = true; } } @@ -158,10 +159,10 @@ public boolean generate(World world, Random par2Random, int par3, int par4, int for(dx = -1; dx <= 1; ++dx) { for(dz = -1; dz <= 1; ++dz) { int currentY = world.getHeightValue(par3 + var28, par5 + z); - int belowID = world.getBlockId(par3 + var28 + dx, currentY - 1, par5 + z + dz); - int currentID = world.getBlockId(par3 + var28 + dx, currentY, par5 + z + dz); - if(par2Random.nextInt(3) == 0 && belowID == AtumBlocks.BLOCK_FERTILESOIL.blockID && currentID == 0) { - world.setBlock(par3 + var28 + dx, currentY, par5 + z + dz, AtumBlocks.BLOCK_FLAX.blockID, 13, 0); + Block belowID = world.getBlock(par3 + var28 + dx, currentY - 1, par5 + z + dz); + Block currentID = world.getBlock(par3 + var28 + dx, currentY, par5 + z + dz); + if(par2Random.nextInt(3) == 0 && belowID == AtumBlocks.BLOCK_FERTILESOIL && currentID == null) { + world.setBlock(par3 + var28 + dx, currentY, par5 + z + dz, AtumBlocks.BLOCK_FLAX, 13, 0); } } } diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java new file mode 100644 index 0000000..b80a4e6 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java @@ -0,0 +1,6216 @@ +package com.teammetallurgy.atum.worldgen.decorators; + +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; +import net.minecraft.world.World; +import net.minecraft.world.gen.feature.WorldGenerator; + +import com.teammetallurgy.atum.blocks.AtumBlocks; + +public class WorldGenPalace extends WorldGenerator { + + public Block largeLimestoneBricks; + public Block smallLimestoneBricks; + public Block carvedLimestone; + public Block largeLimestoneBricksStairs; + + public WorldGenPalace() { + this.largeLimestoneBricks = AtumBlocks.BLOCK_LARGEBRICK; + this.smallLimestoneBricks = AtumBlocks.BLOCK_SMALLBRICK; + this.carvedLimestone = AtumBlocks.BLOCK_CARVEDBRICK; + this.largeLimestoneBricksStairs = AtumBlocks.BLOCK_LARGESTONESTAIRS; + } + + @Override + public boolean generate(World world, Random random, int i, int j, int k) { +// world.setBlock(i + 0, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 2, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 2, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 2, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 2, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 2, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 2, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 2, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 2, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 2, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 2, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 2, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 2, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 2, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 2, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 5, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 5, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 5, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 5, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 5, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 5, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 5, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 5, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 5, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 5, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 5, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 5, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 5, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 5, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 1, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 2, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 3, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 2, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 2, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 5, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 5, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 4, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 5, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 2, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 2, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 2, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 2, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 2, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 2, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 2, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 2, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 2, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 2, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 5, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 5, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 5, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 5, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 5, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 5, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 5, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 5, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 5, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 5, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 7, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 7, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 7, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 7, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 7, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 7, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 7, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 7, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 7, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 7, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 10, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 10, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 10, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 10, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 10, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 10, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 10, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 10, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 10, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 10, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 6, j + 11, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 2, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 5, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 7, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 8, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 8, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 8, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 8, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 8, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 8, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 8, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 8, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 8, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 8, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 8, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 8, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 8, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 8, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 8, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 8, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 8, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 8, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 8, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 8, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 8, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 8, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 8, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 8, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 8, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 8, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 8, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 8, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 10, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 7, j + 11, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 2, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 2, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 2, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 2, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 2, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 2, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 2, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 3, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 3, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 3, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 3, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 3, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 3, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 4, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 4, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 4, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 4, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 4, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 5, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 5, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 5, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 5, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 7, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 7, k + 16, Blocks.netherrack); +// world.setBlock(i + 8, j + 7, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 7, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 7, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 7, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 7, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 7, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 7, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 7, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 7, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 7, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 7, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 7, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 7, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 7, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 8, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 8, k + 16, Blocks.fire); +// world.setBlock(i + 8, j + 8, k + 19, Blocks.bookshelf); +// world.setBlock(i + 8, j + 8, k + 20, Blocks.bookshelf); +// world.setBlock(i + 8, j + 8, k + 21, Blocks.bookshelf); +// world.setBlock(i + 8, j + 8, k + 23, Blocks.bookshelf); +// world.setBlock(i + 8, j + 8, k + 24, Blocks.bookshelf); +// world.setBlock(i + 8, j + 8, k + 25, Blocks.bookshelf); +// world.setBlock(i + 8, j + 8, k + 27, Blocks.bookshelf); +// world.setBlock(i + 8, j + 8, k + 28, Blocks.bookshelf); +// world.setBlock(i + 8, j + 8, k + 29, Blocks.bookshelf); +// world.setBlock(i + 8, j + 8, k + 31, Blocks.bookshelf); +// world.setBlock(i + 8, j + 8, k + 32, Blocks.bookshelf); +// world.setBlock(i + 8, j + 8, k + 33, Blocks.bookshelf); +// world.setBlock(i + 8, j + 8, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 9, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 9, k + 19, Blocks.bookshelf); +// world.setBlock(i + 8, j + 9, k + 20, Blocks.bookshelf); +// world.setBlock(i + 8, j + 9, k + 21, Blocks.bookshelf); +// world.setBlock(i + 8, j + 9, k + 23, Blocks.bookshelf); +// world.setBlock(i + 8, j + 9, k + 24, Blocks.bookshelf); +// world.setBlock(i + 8, j + 9, k + 25, Blocks.bookshelf); +// world.setBlock(i + 8, j + 9, k + 27, Blocks.bookshelf); +// world.setBlock(i + 8, j + 9, k + 28, Blocks.bookshelf); +// world.setBlock(i + 8, j + 9, k + 29, Blocks.bookshelf); +// world.setBlock(i + 8, j + 9, k + 31, Blocks.bookshelf); +// world.setBlock(i + 8, j + 9, k + 32, Blocks.bookshelf); +// world.setBlock(i + 8, j + 9, k + 33, Blocks.bookshelf); +// world.setBlock(i + 8, j + 9, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 10, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 10, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 10, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 10, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 10, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 10, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 10, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 10, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 10, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 10, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 10, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 10, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 10, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 10, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 10, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 8, j + 11, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 2, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 2, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 2, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 2, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 2, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 2, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 2, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 3, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 3, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 3, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 3, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 3, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 3, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 4, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 4, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 4, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 4, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 4, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 5, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 5, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 5, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 5, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 7, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 7, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 7, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 7, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 8, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 8, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 9, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 9, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 10, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 10, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 10, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 10, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 9, j + 11, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 2, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 2, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 2, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 2, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 2, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 2, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 2, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 2, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 2, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 2, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 2, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 2, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 2, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 2, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 2, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 2, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 3, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 3, k + 22, Blocks.bookshelf); +// world.setBlock(i + 10, j + 3, k + 23, Blocks.bookshelf); +// world.setBlock(i + 10, j + 3, k + 24, Blocks.bookshelf); +// world.setBlock(i + 10, j + 3, k + 25, Blocks.bookshelf); +// world.setBlock(i + 10, j + 3, k + 26, Blocks.bookshelf); +// world.setBlock(i + 10, j + 3, k + 30, Blocks.bookshelf); +// world.setBlock(i + 10, j + 3, k + 31, Blocks.bookshelf); +// world.setBlock(i + 10, j + 3, k + 32, Blocks.bookshelf); +// world.setBlock(i + 10, j + 3, k + 33, Blocks.bookshelf); +// world.setBlock(i + 10, j + 3, k + 34, Blocks.bookshelf); +// world.setBlock(i + 10, j + 3, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 4, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 4, k + 22, Blocks.bookshelf); +// world.setBlock(i + 10, j + 4, k + 23, Blocks.bookshelf); +// world.setBlock(i + 10, j + 4, k + 24, Blocks.bookshelf); +// world.setBlock(i + 10, j + 4, k + 25, Blocks.bookshelf); +// world.setBlock(i + 10, j + 4, k + 26, Blocks.bookshelf); +// world.setBlock(i + 10, j + 4, k + 30, Blocks.bookshelf); +// world.setBlock(i + 10, j + 4, k + 31, Blocks.bookshelf); +// world.setBlock(i + 10, j + 4, k + 32, Blocks.bookshelf); +// world.setBlock(i + 10, j + 4, k + 33, Blocks.bookshelf); +// world.setBlock(i + 10, j + 4, k + 34, Blocks.bookshelf); +// world.setBlock(i + 10, j + 4, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 5, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 5, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 5, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 5, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 5, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 5, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 5, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 5, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 5, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 5, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 5, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 5, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 5, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 5, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 5, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 5, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 34, this.largeLimestoneBricks); +// this.generate2(world, random, i, j, k); +// return true; +// } +// +// public boolean generate2(World world, Random rand, int i, int j, int k) { +// world.setBlock(i + 10, j + 6, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 7, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 7, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 7, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 7, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 8, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 8, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 9, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 9, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 10, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 10, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 10, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 10, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 10, j + 11, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 2, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 2, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 2, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 2, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 3, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 3, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 4, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 4, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 5, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 5, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 5, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 5, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 7, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 7, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 7, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 7, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 7, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 8, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 8, k + 16, Blocks.bookshelf); +// world.setBlock(i + 11, j + 8, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 9, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 9, k + 16, Blocks.bookshelf); +// world.setBlock(i + 11, j + 9, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 10, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 10, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 10, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 10, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 10, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 11, j + 11, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 2, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 2, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 3, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 3, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 4, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 4, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 5, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 5, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 7, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 7, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 7, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 8, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 8, k + 16, Blocks.bookshelf); +// world.setBlock(i + 12, j + 8, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 9, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 9, k + 16, Blocks.bookshelf); +// world.setBlock(i + 12, j + 9, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 10, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 10, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 10, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 12, j + 11, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 0, k + 0, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 0, k + 1, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 0, k + 2, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 0, k + 3, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 0, k + 4, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 0, k + 5, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 0, k + 6, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 0, k + 7, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 1, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 2, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 3, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 4, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 5, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 6, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 7, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 2, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 2, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 2, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 2, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 2, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 2, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 3, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 3, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 4, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 4, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 5, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 5, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 5, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 5, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 5, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 5, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 7, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 7, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 7, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 7, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 7, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 8, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 8, k + 16, Blocks.bookshelf); +// world.setBlock(i + 13, j + 8, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 9, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 9, k + 16, Blocks.bookshelf); +// world.setBlock(i + 13, j + 9, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 10, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 10, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 10, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 10, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 10, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 13, j + 11, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 0, k + 0, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 0, k + 1, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 0, k + 2, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 0, k + 3, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 0, k + 4, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 0, k + 5, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 0, k + 6, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 0, k + 7, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 1, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 2, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 3, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 4, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 5, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 6, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 7, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 2, k + 4, Blocks.netherrack); +// world.setBlock(i + 14, j + 2, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 2, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 2, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 3, k + 4, Blocks.fire); +// world.setBlock(i + 14, j + 3, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 3, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 4, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 4, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 5, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 5, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 7, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 7, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 7, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 8, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 8, k + 41, Blocks.bookshelf); +// world.setBlock(i + 14, j + 8, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 9, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 9, k + 41, Blocks.bookshelf); +// world.setBlock(i + 14, j + 9, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 10, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 10, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 10, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 14, j + 11, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 0, k + 0, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 0, k + 1, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 0, k + 2, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 0, k + 3, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 0, k + 4, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 0, k + 5, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 0, k + 6, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 0, k + 7, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 1, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 2, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 3, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 4, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 5, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 6, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 7, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 2, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 2, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 2, k + 24, Blocks.bookshelf); +// world.setBlock(i + 15, j + 2, k + 25, Blocks.bookshelf); +// world.setBlock(i + 15, j + 2, k + 31, Blocks.bookshelf); +// world.setBlock(i + 15, j + 2, k + 32, Blocks.bookshelf); +// world.setBlock(i + 15, j + 2, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 2, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 3, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 3, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 3, k + 39, Blocks.bookshelf); +// world.setBlock(i + 15, j + 3, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 4, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 4, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 4, k + 39, Blocks.bookshelf); +// world.setBlock(i + 15, j + 4, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 5, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 5, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 5, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 5, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 7, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 7, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 7, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 7, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 8, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 8, k + 16, Blocks.bookshelf); +// world.setBlock(i + 15, j + 8, k + 41, Blocks.bookshelf); +// world.setBlock(i + 15, j + 8, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 9, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 9, k + 16, Blocks.bookshelf); +// world.setBlock(i + 15, j + 9, k + 41, Blocks.bookshelf); +// world.setBlock(i + 15, j + 9, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 10, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 10, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 10, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 10, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 15, j + 11, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 0, k + 6, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 0, k + 7, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 7, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 2, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 2, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 2, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 2, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 2, k + 24, Blocks.bookshelf); +// world.setBlock(i + 16, j + 2, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 2, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 2, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 2, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 2, k + 32, Blocks.bookshelf); +// world.setBlock(i + 16, j + 2, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 2, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 2, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 2, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 3, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 3, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 3, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 3, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 3, k + 39, Blocks.bookshelf); +// world.setBlock(i + 16, j + 3, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 4, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 4, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 4, k + 39, Blocks.bookshelf); +// world.setBlock(i + 16, j + 4, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 5, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 5, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 5, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 5, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 5, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 5, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 5, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 5, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 7, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 7, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 7, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 7, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 7, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 7, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 8, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 8, k + 16, Blocks.bookshelf); +// world.setBlock(i + 16, j + 8, k + 41, Blocks.bookshelf); +// world.setBlock(i + 16, j + 8, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 9, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 9, k + 16, Blocks.bookshelf); +// world.setBlock(i + 16, j + 9, k + 41, Blocks.bookshelf); +// world.setBlock(i + 16, j + 9, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 10, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 10, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 10, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 10, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 10, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 10, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 16, j + 11, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 0, k + 7, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 2, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 2, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 2, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 2, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 2, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 2, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 2, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 2, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 2, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 2, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 2, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 2, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 2, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 2, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 3, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 3, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 3, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 3, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 3, k + 39, Blocks.bookshelf); +// world.setBlock(i + 17, j + 3, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 4, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 4, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 4, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 4, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 4, k + 39, Blocks.bookshelf); +// world.setBlock(i + 17, j + 4, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 5, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 5, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 5, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 5, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 5, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 5, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 7, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 7, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 7, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 8, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 8, k + 16, Blocks.bookshelf); +// world.setBlock(i + 17, j + 8, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 9, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 9, k + 16, Blocks.bookshelf); +// world.setBlock(i + 17, j + 9, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 10, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 10, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 10, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 17, j + 11, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 0, k + 7, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 2, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 2, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 2, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 2, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 2, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 2, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 3, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 4, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 5, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 5, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 5, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 5, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 5, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 7, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 7, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 7, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 7, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 7, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 7, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 8, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 8, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 8, k + 41, Blocks.bookshelf); +// world.setBlock(i + 18, j + 8, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 9, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 9, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 9, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 9, k + 41, Blocks.bookshelf); +// world.setBlock(i + 18, j + 9, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 10, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 10, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 10, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 10, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 10, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 18, j + 11, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 0, k + 7, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 2, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 2, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 2, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 2, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 2, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 2, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 2, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 2, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 3, k + 14, this.carvedLimestone); +// world.setBlock(i + 19, j + 3, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 4, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 5, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 5, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 5, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 5, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 5, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 5, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 5, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 7, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 7, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 7, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 8, k + 41, Blocks.bookshelf); +// world.setBlock(i + 19, j + 8, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 9, k + 13, this.carvedLimestone); +// world.setBlock(i + 19, j + 9, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 9, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 9, k + 41, Blocks.bookshelf); +// world.setBlock(i + 19, j + 9, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 10, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 10, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 10, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 10, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 10, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 10, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 10, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 19, j + 11, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 0, k + 7, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 2, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 2, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 2, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 2, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 2, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 2, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 3, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 4, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 5, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 5, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 5, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 5, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 5, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 7, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 7, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 7, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 7, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 7, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 7, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 8, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 8, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 8, k + 41, Blocks.bookshelf); +// world.setBlock(i + 20, j + 8, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 9, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 9, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 9, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 9, k + 41, Blocks.bookshelf); +// world.setBlock(i + 20, j + 9, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 10, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 10, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 10, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 10, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 10, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 20, j + 11, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 0, k + 7, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 2, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 2, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 2, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 2, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 2, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 2, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 2, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 2, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 2, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 2, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 2, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 2, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 2, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 2, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 3, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 3, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 3, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 3, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 3, k + 39, Blocks.bookshelf); +// world.setBlock(i + 21, j + 3, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 4, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 4, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 4, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 4, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 4, k + 39, Blocks.bookshelf); +// world.setBlock(i + 21, j + 4, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 5, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 5, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 5, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 5, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 5, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 5, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 6, k + 9, this.largeLimestoneBricks); +// this.generate3(world, rand, i, j, k); +// return true; +// } +// +// public boolean generate3(World world, Random rand, int i, int j, int k) { +// world.setBlock(i + 21, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 7, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 7, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 7, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 8, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 8, k + 16, Blocks.bookshelf); +// world.setBlock(i + 21, j + 8, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 9, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 9, k + 16, Blocks.bookshelf); +// world.setBlock(i + 21, j + 9, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 10, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 10, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 10, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 21, j + 11, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 0, k + 6, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 0, k + 7, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 7, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 2, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 2, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 2, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 2, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 2, k + 24, Blocks.bookshelf); +// world.setBlock(i + 22, j + 2, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 2, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 2, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 2, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 2, k + 32, Blocks.bookshelf); +// world.setBlock(i + 22, j + 2, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 2, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 2, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 2, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 3, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 3, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 3, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 3, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 3, k + 39, Blocks.bookshelf); +// world.setBlock(i + 22, j + 3, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 4, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 4, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 4, k + 39, Blocks.bookshelf); +// world.setBlock(i + 22, j + 4, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 5, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 5, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 5, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 5, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 5, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 5, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 5, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 5, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 7, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 7, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 7, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 7, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 7, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 7, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 8, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 8, k + 16, Blocks.bookshelf); +// world.setBlock(i + 22, j + 8, k + 41, Blocks.bookshelf); +// world.setBlock(i + 22, j + 8, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 9, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 9, k + 16, Blocks.bookshelf); +// world.setBlock(i + 22, j + 9, k + 41, Blocks.bookshelf); +// world.setBlock(i + 22, j + 9, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 10, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 10, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 10, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 10, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 10, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 10, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 22, j + 11, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 0, k + 0, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 0, k + 1, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 0, k + 2, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 0, k + 3, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 0, k + 4, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 0, k + 5, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 0, k + 6, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 0, k + 7, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 1, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 2, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 3, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 4, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 5, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 6, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 7, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 2, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 2, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 2, k + 24, Blocks.bookshelf); +// world.setBlock(i + 23, j + 2, k + 25, Blocks.bookshelf); +// world.setBlock(i + 23, j + 2, k + 31, Blocks.bookshelf); +// world.setBlock(i + 23, j + 2, k + 32, Blocks.bookshelf); +// world.setBlock(i + 23, j + 2, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 2, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 3, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 3, k + 39, Blocks.bookshelf); +// world.setBlock(i + 23, j + 3, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 4, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 4, k + 39, Blocks.bookshelf); +// world.setBlock(i + 23, j + 4, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 5, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 5, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 5, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 5, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 7, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 7, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 7, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 7, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 8, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 8, k + 16, Blocks.bookshelf); +// world.setBlock(i + 23, j + 8, k + 41, Blocks.bookshelf); +// world.setBlock(i + 23, j + 8, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 9, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 9, k + 16, Blocks.bookshelf); +// world.setBlock(i + 23, j + 9, k + 41, Blocks.bookshelf); +// world.setBlock(i + 23, j + 9, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 10, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 10, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 10, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 10, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 23, j + 11, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 0, k + 0, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 0, k + 1, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 0, k + 2, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 0, k + 3, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 0, k + 4, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 0, k + 5, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 0, k + 6, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 0, k + 7, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 1, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 2, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 3, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 4, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 5, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 6, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 7, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 2, k + 4, Blocks.netherrack); +// world.setBlock(i + 24, j + 2, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 2, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 3, k + 4, Blocks.fire); +// world.setBlock(i + 24, j + 3, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 3, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 4, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 4, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 5, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 5, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 7, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 7, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 7, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 8, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 8, k + 41, Blocks.bookshelf); +// world.setBlock(i + 24, j + 8, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 9, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 9, k + 41, Blocks.bookshelf); +// world.setBlock(i + 24, j + 9, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 10, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 10, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 10, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 24, j + 11, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 0, k + 0, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 0, k + 1, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 0, k + 2, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 0, k + 3, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 0, k + 4, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 0, k + 5, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 0, k + 6, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 0, k + 7, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 1, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 2, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 3, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 4, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 5, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 6, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 7, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 2, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 2, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 2, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 2, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 2, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 2, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 3, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 3, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 4, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 4, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 5, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 5, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 5, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 5, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 5, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 5, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 7, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 7, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 7, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 7, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 7, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 8, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 8, k + 16, Blocks.bookshelf); +// world.setBlock(i + 25, j + 8, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 9, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 9, k + 16, Blocks.bookshelf); +// world.setBlock(i + 25, j + 9, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 10, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 10, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 10, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 10, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 10, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 25, j + 11, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 2, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 2, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 3, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 3, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 4, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 4, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 5, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 5, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 7, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 7, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 7, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 8, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 8, k + 16, Blocks.bookshelf); +// world.setBlock(i + 26, j + 8, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 9, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 9, k + 16, Blocks.bookshelf); +// world.setBlock(i + 26, j + 9, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 10, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 10, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 10, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 26, j + 11, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 2, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 2, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 2, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 2, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 3, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 3, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 4, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 4, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 5, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 5, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 5, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 5, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 7, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 7, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 7, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 7, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 7, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 8, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 8, k + 16, Blocks.bookshelf); +// world.setBlock(i + 27, j + 8, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 9, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 9, k + 16, Blocks.bookshelf); +// world.setBlock(i + 27, j + 9, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 10, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 10, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 10, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 10, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 10, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 27, j + 11, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 2, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 2, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 2, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 2, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 2, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 2, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 2, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 2, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 2, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 2, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 2, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 2, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 2, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 2, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 2, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 2, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 3, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 3, k + 22, Blocks.bookshelf); +// world.setBlock(i + 28, j + 3, k + 23, Blocks.bookshelf); +// world.setBlock(i + 28, j + 3, k + 24, Blocks.bookshelf); +// world.setBlock(i + 28, j + 3, k + 25, Blocks.bookshelf); +// world.setBlock(i + 28, j + 3, k + 26, Blocks.bookshelf); +// world.setBlock(i + 28, j + 3, k + 30, Blocks.bookshelf); +// world.setBlock(i + 28, j + 3, k + 31, Blocks.bookshelf); +// world.setBlock(i + 28, j + 3, k + 32, Blocks.bookshelf); +// world.setBlock(i + 28, j + 3, k + 33, Blocks.bookshelf); +// world.setBlock(i + 28, j + 3, k + 34, Blocks.bookshelf); +// world.setBlock(i + 28, j + 3, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 4, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 4, k + 22, Blocks.bookshelf); +// world.setBlock(i + 28, j + 4, k + 23, Blocks.bookshelf); +// world.setBlock(i + 28, j + 4, k + 24, Blocks.bookshelf); +// world.setBlock(i + 28, j + 4, k + 25, Blocks.bookshelf); +// world.setBlock(i + 28, j + 4, k + 26, Blocks.bookshelf); +// world.setBlock(i + 28, j + 4, k + 30, Blocks.bookshelf); +// world.setBlock(i + 28, j + 4, k + 31, Blocks.bookshelf); +// world.setBlock(i + 28, j + 4, k + 32, Blocks.bookshelf); +// world.setBlock(i + 28, j + 4, k + 33, Blocks.bookshelf); +// world.setBlock(i + 28, j + 4, k + 34, Blocks.bookshelf); +// world.setBlock(i + 28, j + 4, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 5, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 5, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 5, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 5, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 5, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 5, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 5, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 5, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 5, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 5, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 5, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 5, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 5, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 5, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 5, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 5, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 7, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 7, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 7, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 7, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 8, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 8, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 9, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 9, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 10, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 10, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 10, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 10, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 28, j + 11, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 2, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 2, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 2, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 2, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 2, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 2, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 2, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 3, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 3, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 3, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 3, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 3, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 3, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 4, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 4, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 4, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 4, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 4, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 5, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 5, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 5, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 5, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 7, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 7, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 7, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 8, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 8, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 9, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 9, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 10, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 10, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 10, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 29, j + 11, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 2, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 2, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 2, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 2, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 2, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 2, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 2, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 3, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 3, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 3, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 3, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 3, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 3, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 4, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 4, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 4, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 4, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 4, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 5, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 5, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 5, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 5, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 7, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 7, k + 16, Blocks.netherrack); +// world.setBlock(i + 30, j + 7, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 7, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 7, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 7, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 7, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 7, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 7, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 7, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 7, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 7, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 7, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 7, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 7, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 7, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 8, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 8, k + 16, Blocks.fire); +// world.setBlock(i + 30, j + 8, k + 19, Blocks.bookshelf); +// world.setBlock(i + 30, j + 8, k + 20, Blocks.bookshelf); +// world.setBlock(i + 30, j + 8, k + 21, Blocks.bookshelf); +// world.setBlock(i + 30, j + 8, k + 23, Blocks.bookshelf); +// world.setBlock(i + 30, j + 8, k + 24, Blocks.bookshelf); +// world.setBlock(i + 30, j + 8, k + 25, Blocks.bookshelf); +// world.setBlock(i + 30, j + 8, k + 27, Blocks.bookshelf); +// world.setBlock(i + 30, j + 8, k + 28, Blocks.bookshelf); +// world.setBlock(i + 30, j + 8, k + 29, Blocks.bookshelf); +// world.setBlock(i + 30, j + 8, k + 31, Blocks.bookshelf); +// world.setBlock(i + 30, j + 8, k + 32, Blocks.bookshelf); +// world.setBlock(i + 30, j + 8, k + 33, Blocks.bookshelf); +// world.setBlock(i + 30, j + 8, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 9, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 9, k + 19, Blocks.bookshelf); +// world.setBlock(i + 30, j + 9, k + 20, Blocks.bookshelf); +// world.setBlock(i + 30, j + 9, k + 21, Blocks.bookshelf); +// world.setBlock(i + 30, j + 9, k + 23, Blocks.bookshelf); +// world.setBlock(i + 30, j + 9, k + 24, Blocks.bookshelf); +// world.setBlock(i + 30, j + 9, k + 25, Blocks.bookshelf); +// world.setBlock(i + 30, j + 9, k + 27, Blocks.bookshelf); +// world.setBlock(i + 30, j + 9, k + 28, Blocks.bookshelf); +// world.setBlock(i + 30, j + 9, k + 29, Blocks.bookshelf); +// world.setBlock(i + 30, j + 9, k + 31, Blocks.bookshelf); +// world.setBlock(i + 30, j + 9, k + 32, Blocks.bookshelf); +// world.setBlock(i + 30, j + 9, k + 33, Blocks.bookshelf); +// world.setBlock(i + 30, j + 9, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 10, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 10, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 10, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 10, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 10, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 10, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 10, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 10, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 10, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 10, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 10, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 10, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 10, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 10, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 10, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 10, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 30, j + 11, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 2, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 30, this.largeLimestoneBricks); +// this.generate4(world, rand, i, j, k); +// return true; +// } +// +// public boolean generate4(World world, Random rand, int i, int j, int k) { +// world.setBlock(i + 31, j + 3, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 5, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 7, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 8, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 8, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 8, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 8, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 8, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 8, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 8, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 8, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 8, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 8, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 8, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 8, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 8, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 8, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 8, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 8, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 8, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 8, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 8, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 8, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 8, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 8, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 8, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 8, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 8, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 8, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 8, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 8, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 10, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 31, j + 11, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 2, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 2, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 2, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 2, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 2, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 2, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 2, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 2, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 2, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 2, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 5, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 5, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 5, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 5, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 5, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 5, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 5, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 5, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 5, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 5, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 7, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 7, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 7, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 7, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 7, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 7, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 7, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 7, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 7, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 7, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 10, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 10, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 10, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 10, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 10, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 10, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 10, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 10, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 10, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 10, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 32, j + 11, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 33, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 2, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 2, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 5, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 5, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 34, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 35, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 36, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 2, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 2, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 2, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 2, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 2, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 2, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 2, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 2, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 2, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 2, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 2, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 2, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 2, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 2, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 5, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 5, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 5, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 5, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 5, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 5, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 5, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 5, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 5, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 5, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 5, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 5, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 5, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 5, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 37, j + 6, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 0, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 8, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 9, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 10, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 11, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 12, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 13, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 14, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 15, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 16, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 17, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 18, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 19, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 20, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 21, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 22, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 23, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 24, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 25, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 26, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 27, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 28, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 29, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 30, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 31, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 32, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 33, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 34, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 35, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 36, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 37, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 38, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 39, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 40, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 41, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 42, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 43, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 44, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 45, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 46, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 47, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 48, this.largeLimestoneBricks); +// world.setBlock(i + 38, j + 1, k + 49, this.largeLimestoneBricks); +// world.setBlock(i + 0, j + 6, k + 8, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 9, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 10, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 11, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 12, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 13, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 14, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 15, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 16, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 17, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 18, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 19, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 20, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 21, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 22, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 23, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 24, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 25, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 26, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 27, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 28, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 29, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 30, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 31, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 32, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 33, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 34, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 35, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 36, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 37, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 38, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 39, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 40, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 41, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 42, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 43, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 44, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 45, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 46, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 47, this.largeLimestoneBricksStairs); +// world.setBlock(i + 0, j + 6, k + 48, this.largeLimestoneBricksStairs); +// world.setBlockMetadataWithNotify(i + 0, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 1, j + 3, k + 9, this.smallLimestoneBricks); +// world.setBlock(i + 1, j + 3, k + 12, this.smallLimestoneBricks); +// world.setBlock(i + 1, j + 3, k + 15, this.smallLimestoneBricks); +// world.setBlock(i + 1, j + 3, k + 18, this.smallLimestoneBricks); +// world.setBlock(i + 1, j + 3, k + 21, this.smallLimestoneBricks); +// world.setBlock(i + 1, j + 3, k + 24, this.smallLimestoneBricks); +// world.setBlock(i + 1, j + 3, k + 27, this.smallLimestoneBricks); +// world.setBlock(i + 1, j + 3, k + 30, this.smallLimestoneBricks); +// world.setBlock(i + 1, j + 3, k + 33, this.smallLimestoneBricks); +// world.setBlock(i + 1, j + 3, k + 36, this.smallLimestoneBricks); +// world.setBlock(i + 1, j + 3, k + 39, this.smallLimestoneBricks); +// world.setBlock(i + 1, j + 3, k + 42, this.smallLimestoneBricks); +// world.setBlock(i + 1, j + 3, k + 45, this.smallLimestoneBricks); +// world.setBlock(i + 1, j + 3, k + 48, this.smallLimestoneBricks); +// world.setBlock(i + 1, j + 4, k + 9, this.smallLimestoneBricks); +// world.setBlock(i + 1, j + 4, k + 12, this.smallLimestoneBricks); +// world.setBlock(i + 1, j + 4, k + 15, this.smallLimestoneBricks); +// world.setBlock(i + 1, j + 4, k + 18, this.smallLimestoneBricks); +// world.setBlock(i + 1, j + 4, k + 21, this.smallLimestoneBricks); +// world.setBlock(i + 1, j + 4, k + 24, this.smallLimestoneBricks); +// world.setBlock(i + 1, j + 4, k + 27, this.smallLimestoneBricks); +// world.setBlock(i + 1, j + 4, k + 30, this.smallLimestoneBricks); +// world.setBlock(i + 1, j + 4, k + 33, this.smallLimestoneBricks); +// world.setBlock(i + 1, j + 4, k + 36, this.smallLimestoneBricks); +// world.setBlock(i + 1, j + 4, k + 39, this.smallLimestoneBricks); +// world.setBlock(i + 1, j + 4, k + 42, this.smallLimestoneBricks); +// world.setBlock(i + 1, j + 4, k + 45, this.smallLimestoneBricks); +// world.setBlock(i + 1, j + 4, k + 48, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 1, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 1, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 1, j + 7, k + 9, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 10, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 11, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 12, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 13, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 14, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 15, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 16, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 17, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 18, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 19, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 20, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 21, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 22, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 23, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 24, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 25, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 26, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 27, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 28, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 29, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 30, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 31, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 32, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 33, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 34, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 35, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 36, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 37, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 38, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 39, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 40, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 41, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 42, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 43, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 44, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 45, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 46, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 47, this.largeLimestoneBricksStairs); +// world.setBlock(i + 1, j + 7, k + 48, this.largeLimestoneBricksStairs); +// world.setBlockMetadataWithNotify(i + 2, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 2, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 2, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 2, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 3, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 3, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 3, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 3, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 4, j + 3, k + 9, this.smallLimestoneBricks); +// world.setBlock(i + 4, j + 3, k + 48, this.smallLimestoneBricks); +// world.setBlock(i + 4, j + 4, k + 9, this.smallLimestoneBricks); +// world.setBlock(i + 4, j + 4, k + 48, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 4, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 4, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 4, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 4, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 5, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 5, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 5, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 5, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 6, j + 3, k + 15, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 3, k + 18, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 3, k + 21, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 3, k + 24, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 3, k + 27, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 3, k + 30, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 3, k + 33, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 3, k + 36, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 3, k + 39, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 3, k + 42, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 4, k + 15, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 4, k + 18, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 4, k + 21, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 4, k + 24, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 4, k + 27, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 4, k + 30, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 4, k + 33, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 4, k + 36, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 4, k + 39, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 4, k + 42, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 6, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 6, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 6, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 6, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 6, j + 8, k + 15, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 8, k + 18, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 8, k + 21, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 8, k + 24, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 8, k + 27, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 8, k + 30, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 8, k + 33, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 8, k + 36, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 8, k + 39, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 8, k + 42, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 9, k + 15, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 9, k + 18, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 9, k + 21, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 9, k + 24, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 9, k + 27, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 9, k + 30, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 9, k + 33, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 9, k + 36, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 9, k + 39, this.smallLimestoneBricks); +// world.setBlock(i + 6, j + 9, k + 42, this.smallLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 9, this.smallLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 43, this.smallLimestoneBricks); +// world.setBlock(i + 7, j + 3, k + 48, this.smallLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 9, this.smallLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 43, this.smallLimestoneBricks); +// world.setBlock(i + 7, j + 4, k + 48, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 7, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 7, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 7, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 7, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 7, j + 8, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 7, j + 8, k + 43, this.smallLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 7, j + 9, k + 43, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 8, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 8, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 8, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 8, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 8, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 8, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 8, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 8, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 8, j + 7, k + 18, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 8, j + 7, k + 22, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 8, j + 7, k + 26, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 8, j + 7, k + 30, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 8, j + 7, k + 34, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 8, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 8, j + 10, k + 18, this.largeLimestoneBricksStairs, 5); +// world.setBlockMetadataWithNotify(i + 8, j + 10, k + 22, this.largeLimestoneBricksStairs, 5); +// world.setBlockMetadataWithNotify(i + 8, j + 10, k + 26, this.largeLimestoneBricksStairs, 5); +// world.setBlockMetadataWithNotify(i + 8, j + 10, k + 30, this.largeLimestoneBricksStairs, 5); +// world.setBlockMetadataWithNotify(i + 8, j + 10, k + 34, this.largeLimestoneBricksStairs, 5); +// world.setBlockMetadataWithNotify(i + 9, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 9, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 9, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 9, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 9, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 9, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 9, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 9, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 9, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 10, j + 2, k + 21, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 10, j + 2, k + 35, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 10, j + 3, k + 9, this.smallLimestoneBricks); +// world.setBlock(i + 10, j + 3, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 10, j + 3, k + 43, this.smallLimestoneBricks); +// world.setBlock(i + 10, j + 3, k + 48, this.smallLimestoneBricks); +// world.setBlock(i + 10, j + 4, k + 9, this.smallLimestoneBricks); +// world.setBlock(i + 10, j + 4, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 10, j + 4, k + 43, this.smallLimestoneBricks); +// world.setBlock(i + 10, j + 4, k + 48, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 10, j + 5, k + 21, this.largeLimestoneBricksStairs, 6); +// world.setBlockMetadataWithNotify(i + 10, j + 5, k + 27, this.largeLimestoneBricksStairs, 7); +// world.setBlockMetadataWithNotify(i + 10, j + 5, k + 29, this.largeLimestoneBricksStairs, 6); +// world.setBlockMetadataWithNotify(i + 10, j + 5, k + 35, this.largeLimestoneBricksStairs, 7); +// world.setBlockMetadataWithNotify(i + 10, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 10, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 10, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 10, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 10, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 10, j + 8, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 10, j + 8, k + 43, this.smallLimestoneBricks); +// world.setBlock(i + 10, j + 9, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 10, j + 9, k + 43, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 10, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); +// world.setBlock(i + 11, j + 3, k + 19, this.smallLimestoneBricks); +// world.setBlock(i + 11, j + 3, k + 38, this.smallLimestoneBricks); +// world.setBlock(i + 11, j + 4, k + 19, this.smallLimestoneBricks); +// world.setBlock(i + 11, j + 4, k + 38, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 11, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 11, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 11, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 11, j + 7, k + 28, Block.torchWood, 5); +// world.setBlockMetadataWithNotify(i + 11, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 11, j + 8, k + 19, this.smallLimestoneBricks); +// world.setBlock(i + 11, j + 8, k + 38, this.smallLimestoneBricks); +// world.setBlock(i + 11, j + 9, k + 19, this.smallLimestoneBricks); +// world.setBlock(i + 11, j + 9, k + 38, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 12, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 12, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 12, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 12, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 13, j + 2, k + 4, this.largeLimestoneBricksStairs); +// world.setBlock(i + 13, j + 3, k + 9, this.smallLimestoneBricks); +// world.setBlock(i + 13, j + 3, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 13, j + 3, k + 43, this.smallLimestoneBricks); +// world.setBlock(i + 13, j + 3, k + 48, this.smallLimestoneBricks); +// world.setBlock(i + 13, j + 4, k + 9, this.smallLimestoneBricks); +// world.setBlock(i + 13, j + 4, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 13, j + 4, k + 43, this.smallLimestoneBricks); +// world.setBlock(i + 13, j + 4, k + 48, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 13, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 13, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 13, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlock(i + 13, j + 7, k + 41, this.largeLimestoneBricksStairs); +// world.setBlockMetadataWithNotify(i + 13, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 13, j + 8, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 13, j + 8, k + 43, this.smallLimestoneBricks); +// world.setBlock(i + 13, j + 9, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 13, j + 9, k + 43, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 13, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); +// world.setBlockMetadataWithNotify(i + 14, j + 2, k + 3, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 14, j + 2, k + 5, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 14, j + 2, k + 39, this.largeLimestoneBricksStairs); +// world.setBlock(i + 14, j + 5, k + 39, this.largeLimestoneBricksStairs, 4); +// world.setBlock(i + 14, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlock(i + 14, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 14, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 14, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 14, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 14, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); +// world.setBlockMetadataWithNotify(i + 15, j + 2, k + 4, this.largeLimestoneBricksStairs, 1); +// world.setBlock(i + 15, j + 2, k + 26, this.largeLimestoneBricksStairs); +// world.setBlock(i + 15, j + 2, k + 30, this.largeLimestoneBricksStairs); +// world.setBlock(i + 15, j + 3, k + 24, this.largeLimestoneBricksStairs); +// world.setBlock(i + 15, j + 3, k + 25, this.largeLimestoneBricksStairs); +// world.setBlock(i + 15, j + 3, k + 31, this.largeLimestoneBricksStairs); +// world.setBlockMetadataWithNotify(i + 15, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 15, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 15, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 15, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 15, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 16, j + 2, k + 27, this.largeLimestoneBricksStairs); +// world.setBlock(i + 16, j + 2, k + 28, this.largeLimestoneBricksStairs); +// world.setBlock(i + 16, j + 2, k + 29, this.largeLimestoneBricksStairs); +// world.setBlock(i + 16, j + 3, k + 9, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 16, j + 3, k + 24, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 16, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 16, j + 3, k + 43, this.smallLimestoneBricks); +// world.setBlock(i + 16, j + 3, k + 48, this.smallLimestoneBricks); +// world.setBlock(i + 16, j + 4, k + 9, this.smallLimestoneBricks); +// world.setBlock(i + 16, j + 4, k + 43, this.smallLimestoneBricks); +// world.setBlock(i + 16, j + 4, k + 48, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 16, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 16, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 16, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 16, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 16, j + 8, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 16, j + 8, k + 43, this.smallLimestoneBricks); +// world.setBlock(i + 16, j + 9, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 16, j + 9, k + 43, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 17, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 17, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 17, j + 2, k + 24, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 17, j + 2, k + 32, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 17, j + 3, k + 12, Block.torchWood, 4); +// world.setBlockMetadataWithNotify(i + 17, j + 3, k + 26, Block.torchWood, 5); +// world.setBlockMetadataWithNotify(i + 17, j + 3, k + 30, Block.torchWood, 5); +// world.setBlockMetadataWithNotify(i + 17, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 17, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 17, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 17, j + 7, k + 41, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 17, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 17, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); +// world.setBlockMetadataWithNotify(i + 18, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 18, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); +// world.setBlock(i + 18, j + 2, k + 14, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 18, j + 2, k + 17, Block.torchWood, 5); +// world.setBlockMetadataWithNotify(i + 18, j + 2, k + 25, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 18, j + 2, k + 31, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 18, j + 3, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 18, j + 4, k + 14, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 18, j + 5, k + 39, this.largeLimestoneBricksStairs, 5); +// world.setBlockMetadataWithNotify(i + 18, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 18, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 18, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 18, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 18, j + 8, k + 13, this.smallLimestoneBricks); +// world.setBlock(i + 18, j + 8, k + 16, this.smallLimestoneBricks); +// world.setBlock(i + 18, j + 9, k + 16, this.smallLimestoneBricks); +// world.setBlock(i + 18, j + 10, k + 13, this.largeLimestoneBricksStairs); +// world.setBlockMetadataWithNotify(i + 19, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 19, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); +// world.setBlock(i + 19, j + 2, k + 14, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 19, j + 2, k + 25, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 19, j + 2, k + 31, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 19, j + 3, k + 43, this.smallLimestoneBricks); +// world.setBlock(i + 19, j + 3, k + 48, this.smallLimestoneBricks); +// world.setBlock(i + 19, j + 4, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 19, j + 4, k + 43, this.smallLimestoneBricks); +// world.setBlock(i + 19, j + 4, k + 48, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 19, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 19, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 19, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 19, j + 7, k + 19, Block.torchWood, 5); +// world.setBlockMetadataWithNotify(i + 19, j + 7, k + 38, Block.torchWood, 5); +// world.setBlockMetadataWithNotify(i + 19, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 19, j + 8, k + 43, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 19, j + 9, k + 16, this.largeLimestoneBricksStairs, 7); +// world.setBlock(i + 19, j + 9, k + 43, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 20, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 20, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); +// world.setBlock(i + 20, j + 2, k + 14, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 20, j + 2, k + 25, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 20, j + 2, k + 31, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 20, j + 3, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 20, j + 4, k + 14, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 20, j + 5, k + 39, this.largeLimestoneBricksStairs, 4); +// world.setBlockMetadataWithNotify(i + 20, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 20, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 20, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 20, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 20, j + 8, k + 13, this.smallLimestoneBricks); +// world.setBlock(i + 20, j + 8, k + 16, this.smallLimestoneBricks); +// world.setBlock(i + 20, j + 9, k + 16, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 20, j + 10, k + 13, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 21, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 21, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 21, j + 2, k + 24, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 21, j + 2, k + 32, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 21, j + 3, k + 12, Block.torchWood, 4); +// world.setBlockMetadataWithNotify(i + 21, j + 3, k + 26, Block.torchWood, 5); +// world.setBlockMetadataWithNotify(i + 21, j + 3, k + 30, Block.torchWood, 5); +// world.setBlockMetadataWithNotify(i + 21, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 21, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 21, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 21, j + 7, k + 41, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 21, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 21, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); +// world.setBlockMetadataWithNotify(i + 22, j + 2, k + 27, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 22, j + 2, k + 28, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 22, j + 2, k + 29, this.largeLimestoneBricksStairs, 1); +// world.setBlock(i + 22, j + 3, k + 9, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 22, j + 3, k + 24, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 22, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 22, j + 3, k + 43, this.smallLimestoneBricks); +// world.setBlock(i + 22, j + 3, k + 48, this.smallLimestoneBricks); +// world.setBlock(i + 22, j + 4, k + 9, this.smallLimestoneBricks); +// world.setBlock(i + 22, j + 4, k + 43, this.smallLimestoneBricks); +// world.setBlock(i + 22, j + 4, k + 48, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 22, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 22, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 22, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 22, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 22, j + 8, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 22, j + 8, k + 43, this.smallLimestoneBricks); +// world.setBlock(i + 22, j + 9, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 22, j + 9, k + 43, this.smallLimestoneBricks); +// world.setBlock(i + 23, j + 2, k + 4, this.largeLimestoneBricksStairs); +// world.setBlockMetadataWithNotify(i + 23, j + 2, k + 26, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 23, j + 2, k + 30, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 23, j + 3, k + 24, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 23, j + 3, k + 25, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 23, j + 3, k + 31, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 23, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 23, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 23, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 23, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 23, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 24, j + 2, k + 3, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 24, j + 2, k + 5, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 24, j + 2, k + 39, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 24, j + 5, k + 39, this.largeLimestoneBricksStairs, 5); +// world.setBlockMetadataWithNotify(i + 24, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 24, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 24, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 24, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 24, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 24, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); +// world.setBlockMetadataWithNotify(i + 25, j + 2, k + 4, this.largeLimestoneBricksStairs, 1); +// world.setBlock(i + 25, j + 3, k + 9, this.smallLimestoneBricks); +// world.setBlock(i + 25, j + 3, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 25, j + 3, k + 43, this.smallLimestoneBricks); +// world.setBlock(i + 25, j + 3, k + 48, this.smallLimestoneBricks); +// world.setBlock(i + 25, j + 4, k + 9, this.smallLimestoneBricks); +// world.setBlock(i + 25, j + 4, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 25, j + 4, k + 43, this.smallLimestoneBricks); +// world.setBlock(i + 25, j + 4, k + 48, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 25, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 25, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 25, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 25, j + 7, k + 41, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 25, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 25, j + 8, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 25, j + 8, k + 43, this.smallLimestoneBricks); +// world.setBlock(i + 25, j + 9, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 25, j + 9, k + 43, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 25, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); +// world.setBlockMetadataWithNotify(i + 26, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 26, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 26, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 26, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 27, j + 3, k + 19, this.smallLimestoneBricks); +// world.setBlock(i + 27, j + 3, k + 38, this.smallLimestoneBricks); +// world.setBlock(i + 27, j + 4, k + 19, this.smallLimestoneBricks); +// world.setBlock(i + 27, j + 4, k + 38, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 27, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 27, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 27, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 27, j + 7, k + 28, Block.torchWood, 5); +// world.setBlockMetadataWithNotify(i + 27, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 27, j + 8, k + 19, this.smallLimestoneBricks); +// world.setBlock(i + 27, j + 8, k + 38, this.smallLimestoneBricks); +// world.setBlock(i + 27, j + 9, k + 19, this.smallLimestoneBricks); +// world.setBlock(i + 27, j + 9, k + 38, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 28, j + 2, k + 21, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 28, j + 2, k + 35, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 28, j + 3, k + 9, this.smallLimestoneBricks); +// world.setBlock(i + 28, j + 3, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 28, j + 3, k + 43, this.smallLimestoneBricks); +// world.setBlock(i + 28, j + 3, k + 48, this.smallLimestoneBricks); +// world.setBlock(i + 28, j + 4, k + 9, this.smallLimestoneBricks); +// world.setBlock(i + 28, j + 4, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 28, j + 4, k + 43, this.smallLimestoneBricks); +// world.setBlock(i + 28, j + 4, k + 48, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 28, j + 5, k + 21, this.largeLimestoneBricksStairs, 6); +// world.setBlockMetadataWithNotify(i + 28, j + 5, k + 27, this.largeLimestoneBricksStairs, 7); +// world.setBlockMetadataWithNotify(i + 28, j + 5, k + 29, this.largeLimestoneBricksStairs, 6); +// world.setBlockMetadataWithNotify(i + 28, j + 5, k + 35, this.largeLimestoneBricksStairs, 7); +// world.setBlockMetadataWithNotify(i + 28, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 28, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 28, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 28, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 28, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 28, j + 8, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 28, j + 8, k + 43, this.smallLimestoneBricks); +// world.setBlock(i + 28, j + 9, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 28, j + 9, k + 43, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 28, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); +// world.setBlockMetadataWithNotify(i + 29, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 29, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 29, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 29, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 29, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 29, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 29, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 29, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 29, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 30, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 30, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 30, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 30, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 30, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 30, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 30, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 30, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlock(i + 30, j + 7, k + 18, this.largeLimestoneBricksStairs); +// world.setBlock(i + 30, j + 7, k + 22, this.largeLimestoneBricksStairs); +// world.setBlock(i + 30, j + 7, k + 26, this.largeLimestoneBricksStairs); +// world.setBlock(i + 30, j + 7, k + 30, this.largeLimestoneBricksStairs); +// world.setBlock(i + 30, j + 7, k + 34, this.largeLimestoneBricksStairs); +// world.setBlockMetadataWithNotify(i + 30, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 30, j + 10, k + 18, this.largeLimestoneBricksStairs, 4); +// world.setBlockMetadataWithNotify(i + 30, j + 10, k + 22, this.largeLimestoneBricksStairs, 4); +// world.setBlockMetadataWithNotify(i + 30, j + 10, k + 26, this.largeLimestoneBricksStairs, 4); +// world.setBlockMetadataWithNotify(i + 30, j + 10, k + 30, this.largeLimestoneBricksStairs, 4); +// world.setBlockMetadataWithNotify(i + 30, j + 10, k + 34, this.largeLimestoneBricksStairs, 4); +// world.setBlock(i + 31, j + 3, k + 9, this.smallLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 43, this.smallLimestoneBricks); +// world.setBlock(i + 31, j + 3, k + 48, this.smallLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 9, this.smallLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 43, this.smallLimestoneBricks); +// world.setBlock(i + 31, j + 4, k + 48, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 31, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 31, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 31, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 31, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 31, j + 8, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 31, j + 8, k + 43, this.smallLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 14, this.smallLimestoneBricks); +// world.setBlock(i + 31, j + 9, k + 43, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 3, k + 15, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 3, k + 18, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 3, k + 21, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 3, k + 24, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 3, k + 27, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 3, k + 30, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 3, k + 33, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 3, k + 36, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 3, k + 39, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 3, k + 42, this.smallLimestoneBricks); +// this.generate5(world, rand, i, j, k); +// return true; +// } +// +// public boolean generate5(World world, Random rand, int i, int j, int k) { +// world.setBlock(i + 32, j + 4, k + 15, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 4, k + 18, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 4, k + 21, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 4, k + 24, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 4, k + 27, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 4, k + 30, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 4, k + 33, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 4, k + 36, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 4, k + 39, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 4, k + 42, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 32, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 32, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 32, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 32, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 32, j + 8, k + 15, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 8, k + 18, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 8, k + 21, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 8, k + 24, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 8, k + 27, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 8, k + 30, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 8, k + 33, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 8, k + 36, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 8, k + 39, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 8, k + 42, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 9, k + 15, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 9, k + 18, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 9, k + 21, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 9, k + 24, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 9, k + 27, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 9, k + 30, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 9, k + 33, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 9, k + 36, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 9, k + 39, this.smallLimestoneBricks); +// world.setBlock(i + 32, j + 9, k + 42, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 33, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 33, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 33, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 33, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 34, j + 3, k + 9, this.smallLimestoneBricks); +// world.setBlock(i + 34, j + 3, k + 48, this.smallLimestoneBricks); +// world.setBlock(i + 34, j + 4, k + 9, this.smallLimestoneBricks); +// world.setBlock(i + 34, j + 4, k + 48, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 34, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 34, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 34, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 34, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 35, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 35, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 35, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 35, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 36, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 36, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 36, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 36, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); +// world.setBlock(i + 37, j + 3, k + 9, this.smallLimestoneBricks); +// world.setBlock(i + 37, j + 3, k + 12, this.smallLimestoneBricks); +// world.setBlock(i + 37, j + 3, k + 15, this.smallLimestoneBricks); +// world.setBlock(i + 37, j + 3, k + 18, this.smallLimestoneBricks); +// world.setBlock(i + 37, j + 3, k + 21, this.smallLimestoneBricks); +// world.setBlock(i + 37, j + 3, k + 24, this.smallLimestoneBricks); +// world.setBlock(i + 37, j + 3, k + 27, this.smallLimestoneBricks); +// world.setBlock(i + 37, j + 3, k + 30, this.smallLimestoneBricks); +// world.setBlock(i + 37, j + 3, k + 33, this.smallLimestoneBricks); +// world.setBlock(i + 37, j + 3, k + 36, this.smallLimestoneBricks); +// world.setBlock(i + 37, j + 3, k + 39, this.smallLimestoneBricks); +// world.setBlock(i + 37, j + 3, k + 42, this.smallLimestoneBricks); +// world.setBlock(i + 37, j + 3, k + 45, this.smallLimestoneBricks); +// world.setBlock(i + 37, j + 3, k + 48, this.smallLimestoneBricks); +// world.setBlock(i + 37, j + 4, k + 9, this.smallLimestoneBricks); +// world.setBlock(i + 37, j + 4, k + 12, this.smallLimestoneBricks); +// world.setBlock(i + 37, j + 4, k + 15, this.smallLimestoneBricks); +// world.setBlock(i + 37, j + 4, k + 18, this.smallLimestoneBricks); +// world.setBlock(i + 37, j + 4, k + 21, this.smallLimestoneBricks); +// world.setBlock(i + 37, j + 4, k + 24, this.smallLimestoneBricks); +// world.setBlock(i + 37, j + 4, k + 27, this.smallLimestoneBricks); +// world.setBlock(i + 37, j + 4, k + 30, this.smallLimestoneBricks); +// world.setBlock(i + 37, j + 4, k + 33, this.smallLimestoneBricks); +// world.setBlock(i + 37, j + 4, k + 36, this.smallLimestoneBricks); +// world.setBlock(i + 37, j + 4, k + 39, this.smallLimestoneBricks); +// world.setBlock(i + 37, j + 4, k + 42, this.smallLimestoneBricks); +// world.setBlock(i + 37, j + 4, k + 45, this.smallLimestoneBricks); +// world.setBlock(i + 37, j + 4, k + 48, this.smallLimestoneBricks); +// world.setBlockMetadataWithNotify(i + 37, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 37, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 10, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 11, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 12, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 13, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 14, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 15, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 16, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 17, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 18, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 19, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 20, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 21, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 22, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 23, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 24, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 25, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 26, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 27, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 28, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 29, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 30, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 31, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 32, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 33, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 34, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 35, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 36, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 37, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 38, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 39, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 40, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 41, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 42, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 43, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 44, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 45, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 46, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 47, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 48, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 9, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 10, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 11, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 12, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 13, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 14, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 15, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 16, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 17, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 18, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 19, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 20, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 21, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 22, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 23, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 24, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 25, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 26, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 27, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 28, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 29, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 30, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 31, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 32, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 33, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 34, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 35, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 36, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 37, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 38, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 39, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 40, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 41, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 42, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 43, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 44, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 45, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 46, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 47, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 48, this.largeLimestoneBricksStairs, 1); +// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 49, this.largeLimestoneBricksStairs, 1); + return true; + } +} diff --git a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java similarity index 56% rename from src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java rename to src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java index 49b3116..dc0eeb0 100644 --- a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java @@ -3,6 +3,7 @@ import java.util.Random; import net.minecraft.block.Block; +import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; @@ -29,27 +30,26 @@ public WorldGenPalm(boolean par1, int par2, int par3, int par4) { public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) { int l = par2Random.nextInt(3) + this.minTreeHeight; boolean flag = true; - int id = par1World.getBlockId(par3, par4 - 1, par5); - if((id == AtumBlocks.BLOCK_SAND.blockID || id == AtumBlocks.BLOCK_FERTILESOIL.blockID || id == Block.dirt.blockID) && par4 >= 1 && par4 + l + 1 <= 256) { + Block blocks = par1World.getBlock(par3, par4 - 1, par5); + if ((blocks == AtumBlocks.BLOCK_SAND || blocks == AtumBlocks.BLOCK_FERTILESOIL || blocks == Blocks.dirt) && par4 >= 1 && par4 + l + 1 <= 256) { int i1; int j1; - int k1; - for(i1 = par4; i1 <= par4 + 1 + l; ++i1) { + Block k1; + for (i1 = par4; i1 <= par4 + 1 + l; ++i1) { byte b0 = 1; - if(i1 == par4) { + if (i1 == par4) { b0 = 0; } - if(i1 >= par4 + 1 + l - 2) { + if (i1 >= par4 + 1 + l - 2) { b0 = 2; } - for(int soil = par3 - b0; soil <= par3 + b0 && flag; ++soil) { - for(j1 = par5 - b0; j1 <= par5 + b0 && flag; ++j1) { - if(i1 >= 0 && i1 < 256) { - k1 = par1World.getBlockId(soil, i1, j1); - Block b1 = Block.blocksList[k1]; - if(k1 != 0 && !b1.isLeaves(par1World, soil, i1, j1) && k1 != AtumBlocks.BLOCK_FERTILESOIL.blockID && k1 != Block.dirt.blockID && !b1.isWood(par1World, soil, i1, j1)) { + for (int soil = par3 - b0; soil <= par3 + b0 && flag; ++soil) { + for (j1 = par5 - b0; j1 <= par5 + b0 && flag; ++j1) { + if (i1 >= 0 && i1 < 256) { + k1 = par1World.getBlock(soil, i1, j1); + if (k1 != null && !k1.isLeaves(par1World, soil, i1, j1) && k1 != AtumBlocks.BLOCK_FERTILESOIL && k1 != Blocks.dirt && !k1.isWood(par1World, soil, i1, j1)) { flag = false; } } else { @@ -59,15 +59,14 @@ public boolean generate(World par1World, Random par2Random, int par3, int par4, } } - if(!flag) { + if (!flag) { return false; } else { - i1 = par1World.getBlockId(par3, par4 - 1, par5); - Block var21 = Block.blocksList[i1]; - if(par4 >= 256 - l - 1) { + Block var21 = par1World.getBlock(par3, par4 - 1, par5); + if (par4 >= 256 - l - 1) { return false; } else { - if(var21 != null) { + if (var21 != null) { var21.onPlantGrow(par1World, par3, par4 - 1, par5, par3, par4, par5); } @@ -75,9 +74,9 @@ public boolean generate(World par1World, Random par2Random, int par3, int par4, boolean var22 = false; this.spawnLeaf(par1World, par3, par4 + l + 1, par5); - for(int block = -1; block <= 1; ++block) { - for(int z = -1; z <= 1; ++z) { - if(block != 0 || z != 0) { + for (int block = -1; block <= 1; ++block) { + for (int z = -1; z <= 1; ++z) { + if (block != 0 || z != 0) { this.spawnLeaf(par1World, par3 + block, par4 + l, par5 + z); } } @@ -95,27 +94,26 @@ public boolean generate(World par1World, Random par2Random, int par3, int par4, this.spawnLeaf(par1World, par3, par4 + l - 1, par5 + 3); this.spawnLeaf(par1World, par3 + 3, par4 + l - 1, par5); this.spawnLeaf(par1World, par3 - 3, par4 + l - 1, par5); - if(par2Random.nextInt(100) < 15) { - par1World.setBlock(par3 + 1, par4 + l - 1, par5, AtumBlocks.BLOCK_DATEBLOCK.blockID, 0, 2); + if (par2Random.nextInt(100) < 15) { + par1World.setBlock(par3 + 1, par4 + l - 1, par5, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); } - if(par2Random.nextInt(100) < 15) { - par1World.setBlock(par3 - 1, par4 + l - 1, par5, AtumBlocks.BLOCK_DATEBLOCK.blockID, 0, 2); + if (par2Random.nextInt(100) < 15) { + par1World.setBlock(par3 - 1, par4 + l - 1, par5, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); } - if(par2Random.nextInt(100) < 15) { - par1World.setBlock(par3, par4 + l - 1, par5 + 1, AtumBlocks.BLOCK_DATEBLOCK.blockID, 0, 2); + if (par2Random.nextInt(100) < 15) { + par1World.setBlock(par3, par4 + l - 1, par5 + 1, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); } - if(par2Random.nextInt(100) < 15) { - par1World.setBlock(par3, par4 + l - 1, par5 - 1, AtumBlocks.BLOCK_DATEBLOCK.blockID, 0, 2); + if (par2Random.nextInt(100) < 15) { + par1World.setBlock(par3, par4 + l - 1, par5 - 1, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); } - for(j1 = 0; j1 <= l; ++j1) { - k1 = par1World.getBlockId(par3, par4 + j1, par5); - Block var23 = Block.blocksList[k1]; - if(k1 == 0 || var23 == null || var23.isLeaves(par1World, par3, par4 + j1, par5)) { - this.setBlockAndMetadata(par1World, par3, par4 + j1, par5, AtumBlocks.BLOCK_LOG.blockID, this.metaWood); + for (j1 = 0; j1 <= l; ++j1) { + Block var23 = par1World.getBlock(par3, par4 + j1, par5); + if (var23 == null || var23.isLeaves(par1World, par3, par4 + j1, par5)) { + this.setBlockAndNotifyAdequately(par1World, par3, par4 + j1, par5, AtumBlocks.BLOCK_LOG, this.metaWood); } } @@ -128,10 +126,9 @@ public boolean generate(World par1World, Random par2Random, int par3, int par4, } public void spawnLeaf(World par1World, int x, int y, int z) { - int j3 = par1World.getBlockId(x, y, z); - Block block = Block.blocksList[j3]; - if(block == null || block.canBeReplacedByLeaves(par1World, x, y, z)) { - this.setBlockAndMetadata(par1World, x, y, z, AtumBlocks.BLOCK_LEAVES.blockID, this.metaLeaves); + Block block = par1World.getBlock(x, y, z); + if (block == null || block.canBeReplacedByLeaves(par1World, x, y, z)) { + this.setBlockAndNotifyAdequately(par1World, x, y, z, AtumBlocks.BLOCK_LEAVES, this.metaLeaves); } } diff --git a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java similarity index 56% rename from src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java rename to src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java index f3a3481..5068620 100644 --- a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java @@ -1,14 +1,15 @@ package com.teammetallurgy.atum.worldgen.decorators; -import static net.minecraftforge.common.ForgeDirection.EAST; -import static net.minecraftforge.common.ForgeDirection.NORTH; -import static net.minecraftforge.common.ForgeDirection.SOUTH; -import static net.minecraftforge.common.ForgeDirection.WEST; +import static net.minecraftforge.common.util.ForgeDirection.EAST; +import static net.minecraftforge.common.util.ForgeDirection.NORTH; +import static net.minecraftforge.common.util.ForgeDirection.SOUTH; +import static net.minecraftforge.common.util.ForgeDirection.WEST; import java.util.ArrayList; import java.util.Random; import net.minecraft.block.Block; +import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; @@ -28,7 +29,7 @@ class Pair { @Override public boolean equals(Object p) { - if(p instanceof Pair) + if (p instanceof Pair) return ((Pair) p).x == x && ((Pair) p).y == y; else return false; @@ -37,7 +38,7 @@ public boolean equals(Object p) { @Override public boolean generate(World world, Random random, int i, int j, int k) { - if(random.nextFloat() > 0.3) + if (random.nextFloat() > 0.3) j -= 8; int width = 17; @@ -52,49 +53,49 @@ public boolean generate(World world, Random random, int i, int j, int k) { maze[0][zIn] = true; generateMaze(maze, random, 1, zIn); - for(int y = -6; y < 10; y++) { - for(int x = y; x <= width - y; x++) { - for(int z = y; z <= depth - y; z++) { - int id = world.getBlockId(x + i, y + j + 3, z + k); - if(id == 0 || id == AtumBlocks.BLOCK_SAND.blockID) - world.setBlock(x + i, y + j + 3, z + k, AtumBlocks.BLOCK_LARGEBRICK.blockID, 1, 0); + for (int y = -6; y < 10; y++) { + for (int x = y; x <= width - y; x++) { + for (int z = y; z <= depth - y; z++) { + Block block = world.getBlock(x + i, y + j + 3, z + k); + if (block == null || block == AtumBlocks.BLOCK_SAND) + world.setBlock(x + i, y + j + 3, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); } } } - for(int x = -3; x < width + 3; x++) { - for(int z = -3; z < depth + 3; z++) { - if(x >= 0 && x < width && z >= 0 && z < depth) { - world.setBlock(x + i, j - 1, z + k, AtumBlocks.BLOCK_STONE.blockID); - if(!maze[x][z]) { - if(random.nextFloat() > 0.1F) { - world.setBlock(x + i, j, z + k, AtumBlocks.BLOCK_LARGEBRICK.blockID, 1, 0); - Block temp = Block.blocksList[world.getBlockId(x + i, j + 1, z + k)]; - if(temp != null) { + for (int x = -3; x < width + 3; x++) { + for (int z = -3; z < depth + 3; z++) { + if (x >= 0 && x < width && z >= 0 && z < depth) { + world.setBlock(x + i, j - 1, z + k, AtumBlocks.BLOCK_STONE); + if (!maze[x][z]) { + if (random.nextFloat() > 0.1F) { + world.setBlock(x + i, j, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); + Block temp = world.getBlock(x + i, j + 1, z + k); + if (temp != null) { temp.setBlockUnbreakable(); } } else placeTrap(world, x + i, j, z + k); - world.setBlock(x + i, j + 1, z + k, AtumBlocks.BLOCK_LARGEBRICK.blockID, 1, 0); - Block temp = Block.blocksList[world.getBlockId(x + i, j + 1, z + k)]; - if(temp != null) { + world.setBlock(x + i, j + 1, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); + Block temp = world.getBlock(x + i, j + 1, z + k); + if (temp != null) { temp.setBlockUnbreakable(); } - world.setBlock(x + i, j + 2, z + k, AtumBlocks.BLOCK_LARGEBRICK.blockID, 1, 0); - temp = Block.blocksList[world.getBlockId(x + i, j + 2, z + k)]; - if(temp != null) { + world.setBlock(x + i, j + 2, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); + temp = world.getBlock(x + i, j + 2, z + k); + if (temp != null) { temp.setBlockUnbreakable(); } } else { int meta = random.nextInt(5); - world.setBlock(x + i, j, z + k, AtumBlocks.BLOCK_SANDLAYERED.blockID, meta, 0); + world.setBlock(x + i, j, z + k, AtumBlocks.BLOCK_SANDLAYERED, meta, 0); world.setBlockToAir(x + i, j + 1, z + k); world.setBlockToAir(x + i, j + 2, z + k); } - world.setBlock(x + i, j + 3, z + k, AtumBlocks.BLOCK_LARGEBRICK.blockID, 1, 0); - Block temp = Block.blocksList[world.getBlockId(x + i, j + 3, z + k)]; - if(temp != null) { + world.setBlock(x + i, j + 3, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); + Block temp = world.getBlock(x + i, j + 3, z + k); + if (temp != null) { temp.setBlockUnbreakable(); } } @@ -110,33 +111,33 @@ public boolean generate(World world, Random random, int i, int j, int k) { world.setBlockToAir(i - 4, j, k + zIn); world.setBlockToAir(i - 4, j + 1, k + zIn); - for(int y = 4; y < 8; y++) { - for(int x = 6; x < 12; x++) { - for(int z = 6; z < 12; z++) { + for (int y = 4; y < 8; y++) { + for (int x = 6; x < 12; x++) { + for (int z = 6; z < 12; z++) { world.setBlockToAir(i + x, j + y, k + z); } } } - world.setBlock(i + 11, j + 6, k + 7, Block.torchWood.blockID, 2, 0); - world.setBlock(i + 11, j + 6, k + 10, Block.torchWood.blockID, 2, 0); + world.setBlock(i + 11, j + 6, k + 7, Blocks.torch, 2, 0); + world.setBlock(i + 11, j + 6, k + 10, Blocks.torch, 2, 0); - world.setBlock(i + 10, j + 4, k + 8, AtumBlocks.BLOCK_PHARAOHCHEST.blockID, 0, 2); + world.setBlock(i + 10, j + 4, k + 8, AtumBlocks.BLOCK_PHARAOHCHEST, 0, 2); try { - TileEntityPharaohChest te = (TileEntityPharaohChest) world.getBlockTileEntity(i + 10, j + 4, k + 8); + TileEntityPharaohChest te = (TileEntityPharaohChest) world.getTileEntity(i + 10, j + 4, k + 8); AtumLoot.fillChest(te, 15, 0.9f); - } catch(ClassCastException e) { + } catch (ClassCastException e) { } - if(world.isAirBlock(i + 7, j + 1, k + 7)) { + if (world.isAirBlock(i + 7, j + 1, k + 7)) { placeLadders(world, i + 7, j, k + 7, 4); } else { boolean found = false; - for(int dx = -1; dx <= 1; dx++) { - if(found) + for (int dx = -1; dx <= 1; dx++) { + if (found) break; - for(int dz = -1; dz <= 1; dz++) { - if(world.isAirBlock(i + 7 + dx, j + 1, k + 7 + dz)) { + for (int dz = -1; dz <= 1; dz++) { + if (world.isAirBlock(i + 7 + dx, j + 1, k + 7 + dz)) { placeLadders(world, i + 7 + dx, j, k + 7 + dz, 3); found = true; break; @@ -150,47 +151,47 @@ public boolean generate(World world, Random random, int i, int j, int k) { public void placeTrap(World world, int x, int y, int z) { int meta = 0; - if(world.isBlockSolidOnSide(x, y, z + 1, NORTH)) { + if (world.isSideSolid(x, y, z + 1, NORTH)) { meta = 2; ; } - if(world.isBlockSolidOnSide(x, y, z - 1, SOUTH)) { + if (world.isSideSolid(x, y, z - 1, SOUTH)) { meta = 3; } - if(world.isBlockSolidOnSide(x + 1, y, z, WEST)) { + if (world.isSideSolid(x + 1, y, z, WEST)) { meta = 4; } - if(world.isBlockSolidOnSide(x - 1, y, z, EAST)) { + if (world.isSideSolid(x - 1, y, z, EAST)) { meta = 5; } - world.setBlock(x, y, z, AtumBlocks.BLOCK_TRAPARROW.blockID, meta, 0); + world.setBlock(x, y, z, AtumBlocks.BLOCK_TRAPARROW, meta, 0); } public void placeLadders(World world, int x, int y, int z, int height) { int meta = 0; - if(world.isBlockSolidOnSide(x, y, z + 1, NORTH)) { + if (world.isSideSolid(x, y, z + 1, NORTH)) { meta = 2; ; } - if(world.isBlockSolidOnSide(x, y, z - 1, SOUTH)) { + if (world.isSideSolid(x, y, z - 1, SOUTH)) { meta = 3; } - if(world.isBlockSolidOnSide(x + 1, y, z, WEST)) { + if (world.isSideSolid(x + 1, y, z, WEST)) { meta = 4; } - if(world.isBlockSolidOnSide(x - 1, y, z, EAST)) { + if (world.isSideSolid(x - 1, y, z, EAST)) { meta = 5; } - for(int i = 0; i < height; i++) - world.setBlock(x, y + i, z, Block.ladder.blockID, meta, 0); + for (int i = 0; i < height; i++) + world.setBlock(x, y + i, z, Blocks.ladder, meta, 0); } public void generateMaze(boolean[][] array, Random random, int x, int y) { @@ -200,16 +201,16 @@ public void generateMaze(boolean[][] array, Random random, int x, int y) { ArrayList choices = new ArrayList(); do { choices.clear(); - if(x + 2 < 16 && array[x + 2][y] == false) + if (x + 2 < 16 && array[x + 2][y] == false) choices.add(new Pair(2, 0)); - if(x - 2 >= 0 && array[x - 2][y] == false) + if (x - 2 >= 0 && array[x - 2][y] == false) choices.add(new Pair(-2, 0)); - if(y + 2 < 16 && array[x][y + 2] == false) + if (y + 2 < 16 && array[x][y + 2] == false) choices.add(new Pair(0, 2)); - if(y - 2 >= 0 && array[x][y - 2] == false) + if (y - 2 >= 0 && array[x][y - 2] == false) choices.add(new Pair(0, -2)); - if(choices.size() > 0) { + if (choices.size() > 0) { int i = random.nextInt(choices.size()); Pair choice = choices.get(i); choices.remove(i); @@ -218,6 +219,6 @@ public void generateMaze(boolean[][] array, Random random, int x, int y) { generateMaze(array, random, x + choice.x, y + choice.y); } - } while(choices.size() > 0); + } while (choices.size() > 0); } } \ No newline at end of file diff --git a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java similarity index 63% rename from src/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java rename to src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java index 91be486..fe8c7dc 100644 --- a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java @@ -17,17 +17,17 @@ public boolean generate(World world, Random random, int i, int j, int k) { int height = world.getHeightValue(i, k); int x2; int z2; - if(world.getHeightValue(i + width, k + depth) >= height) { + if (world.getHeightValue(i + width, k + depth) >= height) { x2 = i + width; z2 = k + depth; - } else if(world.getHeightValue(i - width, k + depth) >= height) { + } else if (world.getHeightValue(i - width, k + depth) >= height) { x2 = i - width; z2 = k + depth; - } else if(world.getHeightValue(i + width, k - depth) >= height) { + } else if (world.getHeightValue(i + width, k - depth) >= height) { x2 = i + width; z2 = k - depth; } else { - if(world.getHeightValue(i - width, k - depth) < height) { + if (world.getHeightValue(i - width, k - depth) < height) { return false; } @@ -38,24 +38,24 @@ public boolean generate(World world, Random random, int i, int j, int k) { int chestX; int chestZ; int chestY; - for(chestX = Math.min(x2, i); chestX <= Math.max(x2, i); ++chestX) { - for(chestZ = Math.min(z2, k); chestZ <= Math.max(z2, k); ++chestZ) { + for (chestX = Math.min(x2, i); chestX <= Math.max(x2, i); ++chestX) { + for (chestZ = Math.min(z2, k); chestZ <= Math.max(z2, k); ++chestZ) { int meta = random.nextInt(4); - for(chestY = -1; chestY < 15; ++chestY) { - if(chestX != x2 && chestZ != z2 && chestX != i && chestZ != k && chestY != -1) { + for (chestY = -1; chestY < 15; ++chestY) { + if (chestX != x2 && chestZ != z2 && chestX != i && chestZ != k && chestY != -1) { world.setBlockToAir(chestX, chestY + height, chestZ); - } else if(chestY < meta) { - if((double) random.nextFloat() > 0.1D) { - world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_LARGEBRICK.blockID); + } else if (chestY < meta) { + if ((double) random.nextFloat() > 0.1D) { + world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_LARGEBRICK); } else { - world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_SMALLBRICK.blockID); + world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_SMALLBRICK); } - } else if(chestY == meta && (double) random.nextFloat() > 0.7D) { - if((double) random.nextFloat() > 0.1D) { - world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_SLABS.blockID, 2, 0); + } else if (chestY == meta && (double) random.nextFloat() > 0.7D) { + if ((double) random.nextFloat() > 0.1D) { + world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_SLABS, 2, 0); } else { - world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_SLABS.blockID, 3, 0); + world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_SLABS, 3, 0); } } } @@ -65,9 +65,9 @@ public boolean generate(World world, Random random, int i, int j, int k) { chestX = width / 2 + i; chestZ = Math.max(z2, k) - 1; boolean var16 = false; - if((double) random.nextFloat() > 0.5D) { + if ((double) random.nextFloat() > 0.5D) { chestX = random.nextInt(width - 1) + 1 + Math.min(i, x2); - if((double) random.nextFloat() > 0.5D) { + if ((double) random.nextFloat() > 0.5D) { chestZ = Math.max(z2, k) - 1; var16 = true; } else { @@ -76,7 +76,7 @@ public boolean generate(World world, Random random, int i, int j, int k) { } } else { chestZ = random.nextInt(depth - 1) + 1 + Math.min(k, z2); - if((double) random.nextFloat() > 0.5D) { + if ((double) random.nextFloat() > 0.5D) { chestX = Math.max(x2, i) - 1; var16 = true; } else { @@ -86,8 +86,8 @@ public boolean generate(World world, Random random, int i, int j, int k) { } chestY = world.getHeightValue(chestX, chestZ); - world.setBlock(chestX, chestY, chestZ, AtumBlocks.BLOCK_CURSEDCHEST.blockID, 0, 2); - IInventory chest = (IInventory) world.getBlockTileEntity(chestX, chestY, chestZ); + world.setBlock(chestX, chestY, chestZ, AtumBlocks.BLOCK_CURSEDCHEST, 0, 2); + IInventory chest = (IInventory) world.getTileEntity(chestX, chestY, chestZ); AtumLoot.fillChest(chest, 5, 0.5F); return false; } diff --git a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java similarity index 82% rename from src/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java rename to src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java index 8fa05c1..6bc1b25 100644 --- a/src/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java @@ -2,18 +2,19 @@ import java.util.Random; -import com.teammetallurgy.atum.blocks.AtumBlocks; - +import net.minecraft.block.Block; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; +import com.teammetallurgy.atum.blocks.AtumBlocks; + public class WorldGenShrub extends WorldGenerator { - private int deadBushID; + private Block deadBush; private int groupSize; - public WorldGenShrub(int par1, int par2) { - this.deadBushID = par1; + public WorldGenShrub(Block par1, int par2) { + this.deadBush = par1; this.groupSize = par2; } @@ -27,7 +28,7 @@ public boolean generate(World par1World, Random par2Random, int par3, int par4, int z = par5 + par2Random.nextInt(range + 1) - range / 2; int y = par1World.getHeightValue(x, z); if(par1World.isAirBlock(x, y, z) && AtumBlocks.BLOCK_SHRUB.canBlockStay(par1World, x, y, z)) { - par1World.setBlock(x, y, z, this.deadBushID); + par1World.setBlock(x, y, z, this.deadBush); } } diff --git a/resources/README.md b/src/main/resources/README.md similarity index 100% rename from resources/README.md rename to src/main/resources/README.md diff --git a/resources/assets/atum/lang/en_US.lang b/src/main/resources/assets/atum/lang/en_US.lang similarity index 99% rename from resources/assets/atum/lang/en_US.lang rename to src/main/resources/assets/atum/lang/en_US.lang index 7f2631e..697a811 100644 --- a/resources/assets/atum/lang/en_US.lang +++ b/src/main/resources/assets/atum/lang/en_US.lang @@ -5,7 +5,7 @@ biome.desert.name=Desert # Blocks block.portal.name=Atum Portal tile.chestSpawner.name=Atum Chest -block.sand.name=Strange Sand +tile.sand.name=Strange Sand block.stone.name=Limestone tile.cobble.name=Cracked Limestone tile.largeBrick.name=Limestone Large Bricks diff --git a/resources/assets/atum/music/ALongJourney.ogg b/src/main/resources/assets/atum/music/ALongJourney.ogg similarity index 100% rename from resources/assets/atum/music/ALongJourney.ogg rename to src/main/resources/assets/atum/music/ALongJourney.ogg diff --git a/resources/assets/atum/music/Hostiles.ogg b/src/main/resources/assets/atum/music/Hostiles.ogg similarity index 100% rename from resources/assets/atum/music/Hostiles.ogg rename to src/main/resources/assets/atum/music/Hostiles.ogg diff --git a/resources/assets/atum/music/ScorchingSand.ogg b/src/main/resources/assets/atum/music/ScorchingSand.ogg similarity index 100% rename from resources/assets/atum/music/ScorchingSand.ogg rename to src/main/resources/assets/atum/music/ScorchingSand.ogg diff --git a/resources/assets/atum/music/TempleTales.ogg b/src/main/resources/assets/atum/music/TempleTales.ogg similarity index 100% rename from resources/assets/atum/music/TempleTales.ogg rename to src/main/resources/assets/atum/music/TempleTales.ogg diff --git a/resources/assets/atum/music/TheWanderer.ogg b/src/main/resources/assets/atum/music/TheWanderer.ogg similarity index 100% rename from resources/assets/atum/music/TheWanderer.ogg rename to src/main/resources/assets/atum/music/TheWanderer.ogg diff --git a/resources/assets/atum/sound/pharaohspawn.ogg b/src/main/resources/assets/atum/sound/pharaohspawn.ogg similarity index 100% rename from resources/assets/atum/sound/pharaohspawn.ogg rename to src/main/resources/assets/atum/sound/pharaohspawn.ogg diff --git a/resources/assets/atum/textures/armor/DesertArmor_1.png b/src/main/resources/assets/atum/textures/armor/DesertArmor_1.png similarity index 100% rename from resources/assets/atum/textures/armor/DesertArmor_1.png rename to src/main/resources/assets/atum/textures/armor/DesertArmor_1.png diff --git a/resources/assets/atum/textures/armor/DesertArmor_2.png b/src/main/resources/assets/atum/textures/armor/DesertArmor_2.png similarity index 100% rename from resources/assets/atum/textures/armor/DesertArmor_2.png rename to src/main/resources/assets/atum/textures/armor/DesertArmor_2.png diff --git a/resources/assets/atum/textures/armor/EgyptianArmor_1.png b/src/main/resources/assets/atum/textures/armor/EgyptianArmor_1.png similarity index 100% rename from resources/assets/atum/textures/armor/EgyptianArmor_1.png rename to src/main/resources/assets/atum/textures/armor/EgyptianArmor_1.png diff --git a/resources/assets/atum/textures/armor/EgyptianArmor_2.png b/src/main/resources/assets/atum/textures/armor/EgyptianArmor_2.png similarity index 100% rename from resources/assets/atum/textures/armor/EgyptianArmor_2.png rename to src/main/resources/assets/atum/textures/armor/EgyptianArmor_2.png diff --git a/resources/assets/atum/textures/armor/MummyArmor_1.png b/src/main/resources/assets/atum/textures/armor/MummyArmor_1.png similarity index 100% rename from resources/assets/atum/textures/armor/MummyArmor_1.png rename to src/main/resources/assets/atum/textures/armor/MummyArmor_1.png diff --git a/resources/assets/atum/textures/armor/MummyArmor_2.png b/src/main/resources/assets/atum/textures/armor/MummyArmor_2.png similarity index 100% rename from resources/assets/atum/textures/armor/MummyArmor_2.png rename to src/main/resources/assets/atum/textures/armor/MummyArmor_2.png diff --git a/resources/assets/atum/textures/armor/RubyArtifactArmor_1.png b/src/main/resources/assets/atum/textures/armor/RubyArtifactArmor_1.png similarity index 100% rename from resources/assets/atum/textures/armor/RubyArtifactArmor_1.png rename to src/main/resources/assets/atum/textures/armor/RubyArtifactArmor_1.png diff --git a/resources/assets/atum/textures/armor/RubyArtifactArmor_2.png b/src/main/resources/assets/atum/textures/armor/RubyArtifactArmor_2.png similarity index 100% rename from resources/assets/atum/textures/armor/RubyArtifactArmor_2.png rename to src/main/resources/assets/atum/textures/armor/RubyArtifactArmor_2.png diff --git a/resources/assets/atum/textures/armor/WandererArmor_1.png b/src/main/resources/assets/atum/textures/armor/WandererArmor_1.png similarity index 100% rename from resources/assets/atum/textures/armor/WandererArmor_1.png rename to src/main/resources/assets/atum/textures/armor/WandererArmor_1.png diff --git a/resources/assets/atum/textures/armor/WandererArmor_1_old.png b/src/main/resources/assets/atum/textures/armor/WandererArmor_1_old.png similarity index 100% rename from resources/assets/atum/textures/armor/WandererArmor_1_old.png rename to src/main/resources/assets/atum/textures/armor/WandererArmor_1_old.png diff --git a/resources/assets/atum/textures/armor/WandererArmor_2.png b/src/main/resources/assets/atum/textures/armor/WandererArmor_2.png similarity index 100% rename from resources/assets/atum/textures/armor/WandererArmor_2.png rename to src/main/resources/assets/atum/textures/armor/WandererArmor_2.png diff --git a/resources/assets/atum/textures/blocks/AtumBrickCarved.png b/src/main/resources/assets/atum/textures/blocks/AtumBrickCarved.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumBrickCarved.png rename to src/main/resources/assets/atum/textures/blocks/AtumBrickCarved.png diff --git a/resources/assets/atum/textures/blocks/AtumBrickLarge.png b/src/main/resources/assets/atum/textures/blocks/AtumBrickLarge.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumBrickLarge.png rename to src/main/resources/assets/atum/textures/blocks/AtumBrickLarge.png diff --git a/resources/assets/atum/textures/blocks/AtumBrickSmall.png b/src/main/resources/assets/atum/textures/blocks/AtumBrickSmall.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumBrickSmall.png rename to src/main/resources/assets/atum/textures/blocks/AtumBrickSmall.png diff --git a/resources/assets/atum/textures/blocks/AtumCoal.png b/src/main/resources/assets/atum/textures/blocks/AtumCoal.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumCoal.png rename to src/main/resources/assets/atum/textures/blocks/AtumCoal.png diff --git a/resources/assets/atum/textures/blocks/AtumCobble.png b/src/main/resources/assets/atum/textures/blocks/AtumCobble.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumCobble.png rename to src/main/resources/assets/atum/textures/blocks/AtumCobble.png diff --git a/resources/assets/atum/textures/blocks/AtumCrackedLargeBrick.png b/src/main/resources/assets/atum/textures/blocks/AtumCrackedLargeBrick.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumCrackedLargeBrick.png rename to src/main/resources/assets/atum/textures/blocks/AtumCrackedLargeBrick.png diff --git a/resources/assets/atum/textures/blocks/AtumCrystalGlass.png b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlass.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumCrystalGlass.png rename to src/main/resources/assets/atum/textures/blocks/AtumCrystalGlass.png diff --git a/resources/assets/atum/textures/blocks/AtumDate.png b/src/main/resources/assets/atum/textures/blocks/AtumDate.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumDate.png rename to src/main/resources/assets/atum/textures/blocks/AtumDate.png diff --git a/resources/assets/atum/textures/blocks/AtumDiamond.png b/src/main/resources/assets/atum/textures/blocks/AtumDiamond.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumDiamond.png rename to src/main/resources/assets/atum/textures/blocks/AtumDiamond.png diff --git a/resources/assets/atum/textures/blocks/AtumFramedGlass.png b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlass.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumFramedGlass.png rename to src/main/resources/assets/atum/textures/blocks/AtumFramedGlass.png diff --git a/resources/assets/atum/textures/blocks/AtumGold.png b/src/main/resources/assets/atum/textures/blocks/AtumGold.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumGold.png rename to src/main/resources/assets/atum/textures/blocks/AtumGold.png diff --git a/resources/assets/atum/textures/blocks/AtumIron.png b/src/main/resources/assets/atum/textures/blocks/AtumIron.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumIron.png rename to src/main/resources/assets/atum/textures/blocks/AtumIron.png diff --git a/resources/assets/atum/textures/blocks/AtumLapis.png b/src/main/resources/assets/atum/textures/blocks/AtumLapis.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumLapis.png rename to src/main/resources/assets/atum/textures/blocks/AtumLapis.png diff --git a/resources/assets/atum/textures/blocks/AtumLeaves.png b/src/main/resources/assets/atum/textures/blocks/AtumLeaves.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumLeaves.png rename to src/main/resources/assets/atum/textures/blocks/AtumLeaves.png diff --git a/resources/assets/atum/textures/blocks/AtumPalmSapling.png b/src/main/resources/assets/atum/textures/blocks/AtumPalmSapling.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumPalmSapling.png rename to src/main/resources/assets/atum/textures/blocks/AtumPalmSapling.png diff --git a/resources/assets/atum/textures/blocks/AtumPapyrus.png b/src/main/resources/assets/atum/textures/blocks/AtumPapyrus.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumPapyrus.png rename to src/main/resources/assets/atum/textures/blocks/AtumPapyrus.png diff --git a/resources/assets/atum/textures/blocks/AtumPapyrusTop.png b/src/main/resources/assets/atum/textures/blocks/AtumPapyrusTop.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumPapyrusTop.png rename to src/main/resources/assets/atum/textures/blocks/AtumPapyrusTop.png diff --git a/resources/assets/atum/textures/blocks/AtumRedstone.png b/src/main/resources/assets/atum/textures/blocks/AtumRedstone.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumRedstone.png rename to src/main/resources/assets/atum/textures/blocks/AtumRedstone.png diff --git a/resources/assets/atum/textures/blocks/AtumSand.png b/src/main/resources/assets/atum/textures/blocks/AtumSand.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumSand.png rename to src/main/resources/assets/atum/textures/blocks/AtumSand.png diff --git a/resources/assets/atum/textures/blocks/AtumStone.png b/src/main/resources/assets/atum/textures/blocks/AtumStone.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumStone.png rename to src/main/resources/assets/atum/textures/blocks/AtumStone.png diff --git a/resources/assets/atum/textures/blocks/AtumiteOre.png b/src/main/resources/assets/atum/textures/blocks/AtumiteOre.png similarity index 100% rename from resources/assets/atum/textures/blocks/AtumiteOre.png rename to src/main/resources/assets/atum/textures/blocks/AtumiteOre.png diff --git a/resources/assets/atum/textures/blocks/DeadBush.png b/src/main/resources/assets/atum/textures/blocks/DeadBush.png similarity index 100% rename from resources/assets/atum/textures/blocks/DeadBush.png rename to src/main/resources/assets/atum/textures/blocks/DeadBush.png diff --git a/resources/assets/atum/textures/blocks/FertileSoil.png b/src/main/resources/assets/atum/textures/blocks/FertileSoil.png similarity index 100% rename from resources/assets/atum/textures/blocks/FertileSoil.png rename to src/main/resources/assets/atum/textures/blocks/FertileSoil.png diff --git a/resources/assets/atum/textures/blocks/FertileSoilSide.png b/src/main/resources/assets/atum/textures/blocks/FertileSoilSide.png similarity index 100% rename from resources/assets/atum/textures/blocks/FertileSoilSide.png rename to src/main/resources/assets/atum/textures/blocks/FertileSoilSide.png diff --git a/resources/assets/atum/textures/blocks/FertileSoilTop.png b/src/main/resources/assets/atum/textures/blocks/FertileSoilTop.png similarity index 100% rename from resources/assets/atum/textures/blocks/FertileSoilTop.png rename to src/main/resources/assets/atum/textures/blocks/FertileSoilTop.png diff --git a/resources/assets/atum/textures/blocks/Flax_0.png b/src/main/resources/assets/atum/textures/blocks/Flax_0.png similarity index 100% rename from resources/assets/atum/textures/blocks/Flax_0.png rename to src/main/resources/assets/atum/textures/blocks/Flax_0.png diff --git a/resources/assets/atum/textures/blocks/Flax_1.png b/src/main/resources/assets/atum/textures/blocks/Flax_1.png similarity index 100% rename from resources/assets/atum/textures/blocks/Flax_1.png rename to src/main/resources/assets/atum/textures/blocks/Flax_1.png diff --git a/resources/assets/atum/textures/blocks/Flax_2.png b/src/main/resources/assets/atum/textures/blocks/Flax_2.png similarity index 100% rename from resources/assets/atum/textures/blocks/Flax_2.png rename to src/main/resources/assets/atum/textures/blocks/Flax_2.png diff --git a/resources/assets/atum/textures/blocks/Flax_3.png b/src/main/resources/assets/atum/textures/blocks/Flax_3.png similarity index 100% rename from resources/assets/atum/textures/blocks/Flax_3.png rename to src/main/resources/assets/atum/textures/blocks/Flax_3.png diff --git a/resources/assets/atum/textures/blocks/Flax_4.png b/src/main/resources/assets/atum/textures/blocks/Flax_4.png similarity index 100% rename from resources/assets/atum/textures/blocks/Flax_4.png rename to src/main/resources/assets/atum/textures/blocks/Flax_4.png diff --git a/resources/assets/atum/textures/blocks/Flax_5.png b/src/main/resources/assets/atum/textures/blocks/Flax_5.png similarity index 100% rename from resources/assets/atum/textures/blocks/Flax_5.png rename to src/main/resources/assets/atum/textures/blocks/Flax_5.png diff --git a/resources/assets/atum/textures/blocks/FurnaceBurning.png b/src/main/resources/assets/atum/textures/blocks/FurnaceBurning.png similarity index 100% rename from resources/assets/atum/textures/blocks/FurnaceBurning.png rename to src/main/resources/assets/atum/textures/blocks/FurnaceBurning.png diff --git a/resources/assets/atum/textures/blocks/FurnaceFront.png b/src/main/resources/assets/atum/textures/blocks/FurnaceFront.png similarity index 100% rename from resources/assets/atum/textures/blocks/FurnaceFront.png rename to src/main/resources/assets/atum/textures/blocks/FurnaceFront.png diff --git a/resources/assets/atum/textures/blocks/FurnaceTop.png b/src/main/resources/assets/atum/textures/blocks/FurnaceTop.png similarity index 100% rename from resources/assets/atum/textures/blocks/FurnaceTop.png rename to src/main/resources/assets/atum/textures/blocks/FurnaceTop.png diff --git a/resources/assets/atum/textures/blocks/PapyrusPlantItem.png b/src/main/resources/assets/atum/textures/blocks/PapyrusPlantItem.png similarity index 100% rename from resources/assets/atum/textures/blocks/PapyrusPlantItem.png rename to src/main/resources/assets/atum/textures/blocks/PapyrusPlantItem.png diff --git a/resources/assets/atum/textures/blocks/Planks.png b/src/main/resources/assets/atum/textures/blocks/Planks.png similarity index 100% rename from resources/assets/atum/textures/blocks/Planks.png rename to src/main/resources/assets/atum/textures/blocks/Planks.png diff --git a/resources/assets/atum/textures/blocks/Shrub.png b/src/main/resources/assets/atum/textures/blocks/Shrub.png similarity index 100% rename from resources/assets/atum/textures/blocks/Shrub.png rename to src/main/resources/assets/atum/textures/blocks/Shrub.png diff --git a/resources/assets/atum/textures/blocks/TrapFire.png b/src/main/resources/assets/atum/textures/blocks/TrapFire.png similarity index 100% rename from resources/assets/atum/textures/blocks/TrapFire.png rename to src/main/resources/assets/atum/textures/blocks/TrapFire.png diff --git a/resources/assets/atum/textures/blocks/TrapSide.png b/src/main/resources/assets/atum/textures/blocks/TrapSide.png similarity index 100% rename from resources/assets/atum/textures/blocks/TrapSide.png rename to src/main/resources/assets/atum/textures/blocks/TrapSide.png diff --git a/resources/assets/atum/textures/blocks/Weed.png b/src/main/resources/assets/atum/textures/blocks/Weed.png similarity index 100% rename from resources/assets/atum/textures/blocks/Weed.png rename to src/main/resources/assets/atum/textures/blocks/Weed.png diff --git a/resources/assets/atum/textures/blocks/portal.png b/src/main/resources/assets/atum/textures/blocks/portal.png similarity index 100% rename from resources/assets/atum/textures/blocks/portal.png rename to src/main/resources/assets/atum/textures/blocks/portal.png diff --git a/resources/assets/atum/textures/blocks/portal.png.mcmeta b/src/main/resources/assets/atum/textures/blocks/portal.png.mcmeta similarity index 100% rename from resources/assets/atum/textures/blocks/portal.png.mcmeta rename to src/main/resources/assets/atum/textures/blocks/portal.png.mcmeta diff --git a/resources/assets/atum/textures/blocks/stonebricksmooth_mossy.png b/src/main/resources/assets/atum/textures/blocks/stonebricksmooth_mossy.png similarity index 100% rename from resources/assets/atum/textures/blocks/stonebricksmooth_mossy.png rename to src/main/resources/assets/atum/textures/blocks/stonebricksmooth_mossy.png diff --git a/resources/assets/atum/textures/blocks/thinglass_top.png b/src/main/resources/assets/atum/textures/blocks/thinglass_top.png similarity index 100% rename from resources/assets/atum/textures/blocks/thinglass_top.png rename to src/main/resources/assets/atum/textures/blocks/thinglass_top.png diff --git a/resources/assets/atum/textures/blocks/tree_side.png b/src/main/resources/assets/atum/textures/blocks/tree_side.png similarity index 100% rename from resources/assets/atum/textures/blocks/tree_side.png rename to src/main/resources/assets/atum/textures/blocks/tree_side.png diff --git a/resources/assets/atum/textures/blocks/tree_top.png b/src/main/resources/assets/atum/textures/blocks/tree_top.png similarity index 100% rename from resources/assets/atum/textures/blocks/tree_top.png rename to src/main/resources/assets/atum/textures/blocks/tree_top.png diff --git a/resources/assets/atum/textures/entities/BanditArcher.png b/src/main/resources/assets/atum/textures/entities/BanditArcher.png similarity index 100% rename from resources/assets/atum/textures/entities/BanditArcher.png rename to src/main/resources/assets/atum/textures/entities/BanditArcher.png diff --git a/resources/assets/atum/textures/entities/BanditWarlord.png b/src/main/resources/assets/atum/textures/entities/BanditWarlord.png similarity index 100% rename from resources/assets/atum/textures/entities/BanditWarlord.png rename to src/main/resources/assets/atum/textures/entities/BanditWarlord.png diff --git a/resources/assets/atum/textures/entities/BanditWarrior.png b/src/main/resources/assets/atum/textures/entities/BanditWarrior.png similarity index 100% rename from resources/assets/atum/textures/entities/BanditWarrior.png rename to src/main/resources/assets/atum/textures/entities/BanditWarrior.png diff --git a/resources/assets/atum/textures/entities/Barbarian.png b/src/main/resources/assets/atum/textures/entities/Barbarian.png similarity index 100% rename from resources/assets/atum/textures/entities/Barbarian.png rename to src/main/resources/assets/atum/textures/entities/Barbarian.png diff --git a/resources/assets/atum/textures/entities/Bonestorm.png b/src/main/resources/assets/atum/textures/entities/Bonestorm.png similarity index 100% rename from resources/assets/atum/textures/entities/Bonestorm.png rename to src/main/resources/assets/atum/textures/entities/Bonestorm.png diff --git a/resources/assets/atum/textures/entities/DesertGhost.png b/src/main/resources/assets/atum/textures/entities/DesertGhost.png similarity index 100% rename from resources/assets/atum/textures/entities/DesertGhost.png rename to src/main/resources/assets/atum/textures/entities/DesertGhost.png diff --git a/resources/assets/atum/textures/entities/DesertWolf.png b/src/main/resources/assets/atum/textures/entities/DesertWolf.png similarity index 100% rename from resources/assets/atum/textures/entities/DesertWolf.png rename to src/main/resources/assets/atum/textures/entities/DesertWolf.png diff --git a/resources/assets/atum/textures/entities/DesertWolf_angry.png b/src/main/resources/assets/atum/textures/entities/DesertWolf_angry.png similarity index 100% rename from resources/assets/atum/textures/entities/DesertWolf_angry.png rename to src/main/resources/assets/atum/textures/entities/DesertWolf_angry.png diff --git a/resources/assets/atum/textures/entities/DesertWolf_tame.png b/src/main/resources/assets/atum/textures/entities/DesertWolf_tame.png similarity index 100% rename from resources/assets/atum/textures/entities/DesertWolf_tame.png rename to src/main/resources/assets/atum/textures/entities/DesertWolf_tame.png diff --git a/resources/assets/atum/textures/entities/DustySkeleton.png b/src/main/resources/assets/atum/textures/entities/DustySkeleton.png similarity index 100% rename from resources/assets/atum/textures/entities/DustySkeleton.png rename to src/main/resources/assets/atum/textures/entities/DustySkeleton.png diff --git a/resources/assets/atum/textures/entities/Mummy.png b/src/main/resources/assets/atum/textures/entities/Mummy.png similarity index 100% rename from resources/assets/atum/textures/entities/Mummy.png rename to src/main/resources/assets/atum/textures/entities/Mummy.png diff --git a/resources/assets/atum/textures/entities/PharaohBlue.png b/src/main/resources/assets/atum/textures/entities/PharaohBlue.png similarity index 100% rename from resources/assets/atum/textures/entities/PharaohBlue.png rename to src/main/resources/assets/atum/textures/entities/PharaohBlue.png diff --git a/resources/assets/atum/textures/entities/PharaohBlue_old.png b/src/main/resources/assets/atum/textures/entities/PharaohBlue_old.png similarity index 100% rename from resources/assets/atum/textures/entities/PharaohBlue_old.png rename to src/main/resources/assets/atum/textures/entities/PharaohBlue_old.png diff --git a/resources/assets/atum/textures/entities/PharaohGreen.png b/src/main/resources/assets/atum/textures/entities/PharaohGreen.png similarity index 100% rename from resources/assets/atum/textures/entities/PharaohGreen.png rename to src/main/resources/assets/atum/textures/entities/PharaohGreen.png diff --git a/resources/assets/atum/textures/entities/PharaohRed.png b/src/main/resources/assets/atum/textures/entities/PharaohRed.png similarity index 100% rename from resources/assets/atum/textures/entities/PharaohRed.png rename to src/main/resources/assets/atum/textures/entities/PharaohRed.png diff --git a/resources/assets/atum/textures/entities/StoneSoldier.png b/src/main/resources/assets/atum/textures/entities/StoneSoldier.png similarity index 100% rename from resources/assets/atum/textures/entities/StoneSoldier.png rename to src/main/resources/assets/atum/textures/entities/StoneSoldier.png diff --git a/resources/assets/atum/textures/hud/mummyblur.png b/src/main/resources/assets/atum/textures/hud/mummyblur.png similarity index 100% rename from resources/assets/atum/textures/hud/mummyblur.png rename to src/main/resources/assets/atum/textures/hud/mummyblur.png diff --git a/resources/assets/atum/textures/items/AkersToil.png b/src/main/resources/assets/atum/textures/items/AkersToil.png similarity index 100% rename from resources/assets/atum/textures/items/AkersToil.png rename to src/main/resources/assets/atum/textures/items/AkersToil.png diff --git a/resources/assets/atum/textures/items/AmunetsHomecoming.png b/src/main/resources/assets/atum/textures/items/AmunetsHomecoming.png similarity index 100% rename from resources/assets/atum/textures/items/AmunetsHomecoming.png rename to src/main/resources/assets/atum/textures/items/AmunetsHomecoming.png diff --git a/resources/assets/atum/textures/items/Anhur's Might.png b/src/main/resources/assets/atum/textures/items/Anhur's Might.png similarity index 100% rename from resources/assets/atum/textures/items/Anhur's Might.png rename to src/main/resources/assets/atum/textures/items/Anhur's Might.png diff --git a/resources/assets/atum/textures/items/AnhursMight.png b/src/main/resources/assets/atum/textures/items/AnhursMight.png similarity index 100% rename from resources/assets/atum/textures/items/AnhursMight.png rename to src/main/resources/assets/atum/textures/items/AnhursMight.png diff --git a/resources/assets/atum/textures/items/AnubisMercy.png b/src/main/resources/assets/atum/textures/items/AnubisMercy.png similarity index 100% rename from resources/assets/atum/textures/items/AnubisMercy.png rename to src/main/resources/assets/atum/textures/items/AnubisMercy.png diff --git a/resources/assets/atum/textures/items/AnuketsBounty.png b/src/main/resources/assets/atum/textures/items/AnuketsBounty.png similarity index 100% rename from resources/assets/atum/textures/items/AnuketsBounty.png rename to src/main/resources/assets/atum/textures/items/AnuketsBounty.png diff --git a/resources/assets/atum/textures/items/Arrow.png b/src/main/resources/assets/atum/textures/items/Arrow.png similarity index 100% rename from resources/assets/atum/textures/items/Arrow.png rename to src/main/resources/assets/atum/textures/items/Arrow.png diff --git a/resources/assets/atum/textures/items/ArrowEntity.png b/src/main/resources/assets/atum/textures/items/ArrowEntity.png similarity index 100% rename from resources/assets/atum/textures/items/ArrowEntity.png rename to src/main/resources/assets/atum/textures/items/ArrowEntity.png diff --git a/resources/assets/atum/textures/items/AtensFury.png b/src/main/resources/assets/atum/textures/items/AtensFury.png similarity index 100% rename from resources/assets/atum/textures/items/AtensFury.png rename to src/main/resources/assets/atum/textures/items/AtensFury.png diff --git a/resources/assets/atum/textures/items/Bow.png b/src/main/resources/assets/atum/textures/items/Bow.png similarity index 100% rename from resources/assets/atum/textures/items/Bow.png rename to src/main/resources/assets/atum/textures/items/Bow.png diff --git a/resources/assets/atum/textures/items/ClothScrap.png b/src/main/resources/assets/atum/textures/items/ClothScrap.png similarity index 100% rename from resources/assets/atum/textures/items/ClothScrap.png rename to src/main/resources/assets/atum/textures/items/ClothScrap.png diff --git a/resources/assets/atum/textures/items/Date.png b/src/main/resources/assets/atum/textures/items/Date.png similarity index 100% rename from resources/assets/atum/textures/items/Date.png rename to src/main/resources/assets/atum/textures/items/Date.png diff --git a/resources/assets/atum/textures/items/DesertBoots.png b/src/main/resources/assets/atum/textures/items/DesertBoots.png similarity index 100% rename from resources/assets/atum/textures/items/DesertBoots.png rename to src/main/resources/assets/atum/textures/items/DesertBoots.png diff --git a/resources/assets/atum/textures/items/DesertChest.png b/src/main/resources/assets/atum/textures/items/DesertChest.png similarity index 100% rename from resources/assets/atum/textures/items/DesertChest.png rename to src/main/resources/assets/atum/textures/items/DesertChest.png diff --git a/resources/assets/atum/textures/items/DesertHelmet.png b/src/main/resources/assets/atum/textures/items/DesertHelmet.png similarity index 100% rename from resources/assets/atum/textures/items/DesertHelmet.png rename to src/main/resources/assets/atum/textures/items/DesertHelmet.png diff --git a/resources/assets/atum/textures/items/DesertLegs.png b/src/main/resources/assets/atum/textures/items/DesertLegs.png similarity index 100% rename from resources/assets/atum/textures/items/DesertLegs.png rename to src/main/resources/assets/atum/textures/items/DesertLegs.png diff --git a/resources/assets/atum/textures/items/DiamondBroach.png b/src/main/resources/assets/atum/textures/items/DiamondBroach.png similarity index 100% rename from resources/assets/atum/textures/items/DiamondBroach.png rename to src/main/resources/assets/atum/textures/items/DiamondBroach.png diff --git a/resources/assets/atum/textures/items/DiamondIdol.png b/src/main/resources/assets/atum/textures/items/DiamondIdol.png similarity index 100% rename from resources/assets/atum/textures/items/DiamondIdol.png rename to src/main/resources/assets/atum/textures/items/DiamondIdol.png diff --git a/resources/assets/atum/textures/items/DiamondNecklace.png b/src/main/resources/assets/atum/textures/items/DiamondNecklace.png similarity index 100% rename from resources/assets/atum/textures/items/DiamondNecklace.png rename to src/main/resources/assets/atum/textures/items/DiamondNecklace.png diff --git a/resources/assets/atum/textures/items/DiamondRing.png b/src/main/resources/assets/atum/textures/items/DiamondRing.png similarity index 100% rename from resources/assets/atum/textures/items/DiamondRing.png rename to src/main/resources/assets/atum/textures/items/DiamondRing.png diff --git a/resources/assets/atum/textures/items/DiamondScepter.png b/src/main/resources/assets/atum/textures/items/DiamondScepter.png similarity index 100% rename from resources/assets/atum/textures/items/DiamondScepter.png rename to src/main/resources/assets/atum/textures/items/DiamondScepter.png diff --git a/resources/assets/atum/textures/items/DirtyBroach.png b/src/main/resources/assets/atum/textures/items/DirtyBroach.png similarity index 100% rename from resources/assets/atum/textures/items/DirtyBroach.png rename to src/main/resources/assets/atum/textures/items/DirtyBroach.png diff --git a/resources/assets/atum/textures/items/DirtyIdol.png b/src/main/resources/assets/atum/textures/items/DirtyIdol.png similarity index 100% rename from resources/assets/atum/textures/items/DirtyIdol.png rename to src/main/resources/assets/atum/textures/items/DirtyIdol.png diff --git a/resources/assets/atum/textures/items/DirtyNecklace.png b/src/main/resources/assets/atum/textures/items/DirtyNecklace.png similarity index 100% rename from resources/assets/atum/textures/items/DirtyNecklace.png rename to src/main/resources/assets/atum/textures/items/DirtyNecklace.png diff --git a/resources/assets/atum/textures/items/DirtyRing.png b/src/main/resources/assets/atum/textures/items/DirtyRing.png similarity index 100% rename from resources/assets/atum/textures/items/DirtyRing.png rename to src/main/resources/assets/atum/textures/items/DirtyRing.png diff --git a/resources/assets/atum/textures/items/DirtyScepter.png b/src/main/resources/assets/atum/textures/items/DirtyScepter.png similarity index 100% rename from resources/assets/atum/textures/items/DirtyScepter.png rename to src/main/resources/assets/atum/textures/items/DirtyScepter.png diff --git a/resources/assets/atum/textures/items/Ectoplasm.png b/src/main/resources/assets/atum/textures/items/Ectoplasm.png similarity index 100% rename from resources/assets/atum/textures/items/Ectoplasm.png rename to src/main/resources/assets/atum/textures/items/Ectoplasm.png diff --git a/resources/assets/atum/textures/items/EmeraldBroach.png b/src/main/resources/assets/atum/textures/items/EmeraldBroach.png similarity index 100% rename from resources/assets/atum/textures/items/EmeraldBroach.png rename to src/main/resources/assets/atum/textures/items/EmeraldBroach.png diff --git a/resources/assets/atum/textures/items/EmeraldIdol.png b/src/main/resources/assets/atum/textures/items/EmeraldIdol.png similarity index 100% rename from resources/assets/atum/textures/items/EmeraldIdol.png rename to src/main/resources/assets/atum/textures/items/EmeraldIdol.png diff --git a/resources/assets/atum/textures/items/EmeraldNecklace.png b/src/main/resources/assets/atum/textures/items/EmeraldNecklace.png similarity index 100% rename from resources/assets/atum/textures/items/EmeraldNecklace.png rename to src/main/resources/assets/atum/textures/items/EmeraldNecklace.png diff --git a/resources/assets/atum/textures/items/EmeraldRing.png b/src/main/resources/assets/atum/textures/items/EmeraldRing.png similarity index 100% rename from resources/assets/atum/textures/items/EmeraldRing.png rename to src/main/resources/assets/atum/textures/items/EmeraldRing.png diff --git a/resources/assets/atum/textures/items/EmeraldScepter.png b/src/main/resources/assets/atum/textures/items/EmeraldScepter.png similarity index 100% rename from resources/assets/atum/textures/items/EmeraldScepter.png rename to src/main/resources/assets/atum/textures/items/EmeraldScepter.png diff --git a/resources/assets/atum/textures/items/Fish0.png b/src/main/resources/assets/atum/textures/items/Fish0.png similarity index 100% rename from resources/assets/atum/textures/items/Fish0.png rename to src/main/resources/assets/atum/textures/items/Fish0.png diff --git a/resources/assets/atum/textures/items/Fish1.png b/src/main/resources/assets/atum/textures/items/Fish1.png similarity index 100% rename from resources/assets/atum/textures/items/Fish1.png rename to src/main/resources/assets/atum/textures/items/Fish1.png diff --git a/resources/assets/atum/textures/items/Fish2.png b/src/main/resources/assets/atum/textures/items/Fish2.png similarity index 100% rename from resources/assets/atum/textures/items/Fish2.png rename to src/main/resources/assets/atum/textures/items/Fish2.png diff --git a/resources/assets/atum/textures/items/Fish3.png b/src/main/resources/assets/atum/textures/items/Fish3.png similarity index 100% rename from resources/assets/atum/textures/items/Fish3.png rename to src/main/resources/assets/atum/textures/items/Fish3.png diff --git a/resources/assets/atum/textures/items/Fish4.png b/src/main/resources/assets/atum/textures/items/Fish4.png similarity index 100% rename from resources/assets/atum/textures/items/Fish4.png rename to src/main/resources/assets/atum/textures/items/Fish4.png diff --git a/resources/assets/atum/textures/items/FlaxItem.png b/src/main/resources/assets/atum/textures/items/FlaxItem.png similarity index 100% rename from resources/assets/atum/textures/items/FlaxItem.png rename to src/main/resources/assets/atum/textures/items/FlaxItem.png diff --git a/resources/assets/atum/textures/items/FlaxSeeds.png b/src/main/resources/assets/atum/textures/items/FlaxSeeds.png similarity index 100% rename from resources/assets/atum/textures/items/FlaxSeeds.png rename to src/main/resources/assets/atum/textures/items/FlaxSeeds.png diff --git a/resources/assets/atum/textures/items/GebsBlessing.png b/src/main/resources/assets/atum/textures/items/GebsBlessing.png similarity index 100% rename from resources/assets/atum/textures/items/GebsBlessing.png rename to src/main/resources/assets/atum/textures/items/GebsBlessing.png diff --git a/resources/assets/atum/textures/items/GebsSolidarity.png b/src/main/resources/assets/atum/textures/items/GebsSolidarity.png similarity index 100% rename from resources/assets/atum/textures/items/GebsSolidarity.png rename to src/main/resources/assets/atum/textures/items/GebsSolidarity.png diff --git a/resources/assets/atum/textures/items/GoldBroach.png b/src/main/resources/assets/atum/textures/items/GoldBroach.png similarity index 100% rename from resources/assets/atum/textures/items/GoldBroach.png rename to src/main/resources/assets/atum/textures/items/GoldBroach.png diff --git a/resources/assets/atum/textures/items/GoldIdol.png b/src/main/resources/assets/atum/textures/items/GoldIdol.png similarity index 100% rename from resources/assets/atum/textures/items/GoldIdol.png rename to src/main/resources/assets/atum/textures/items/GoldIdol.png diff --git a/resources/assets/atum/textures/items/GoldNecklace.png b/src/main/resources/assets/atum/textures/items/GoldNecklace.png similarity index 100% rename from resources/assets/atum/textures/items/GoldNecklace.png rename to src/main/resources/assets/atum/textures/items/GoldNecklace.png diff --git a/resources/assets/atum/textures/items/GoldRing.png b/src/main/resources/assets/atum/textures/items/GoldRing.png similarity index 100% rename from resources/assets/atum/textures/items/GoldRing.png rename to src/main/resources/assets/atum/textures/items/GoldRing.png diff --git a/resources/assets/atum/textures/items/GoldScepter.png b/src/main/resources/assets/atum/textures/items/GoldScepter.png similarity index 100% rename from resources/assets/atum/textures/items/GoldScepter.png rename to src/main/resources/assets/atum/textures/items/GoldScepter.png diff --git a/resources/assets/atum/textures/items/Greatsword.png b/src/main/resources/assets/atum/textures/items/Greatsword.png similarity index 100% rename from resources/assets/atum/textures/items/Greatsword.png rename to src/main/resources/assets/atum/textures/items/Greatsword.png diff --git a/resources/assets/atum/textures/items/HedetetsSting.png b/src/main/resources/assets/atum/textures/items/HedetetsSting.png similarity index 100% rename from resources/assets/atum/textures/items/HedetetsSting.png rename to src/main/resources/assets/atum/textures/items/HedetetsSting.png diff --git a/resources/assets/atum/textures/items/HedetetsVenom.png b/src/main/resources/assets/atum/textures/items/HedetetsVenom.png similarity index 100% rename from resources/assets/atum/textures/items/HedetetsVenom.png rename to src/main/resources/assets/atum/textures/items/HedetetsVenom.png diff --git a/resources/assets/atum/textures/items/HedetetsVenom_pull_0.png b/src/main/resources/assets/atum/textures/items/HedetetsVenom_pull_0.png similarity index 100% rename from resources/assets/atum/textures/items/HedetetsVenom_pull_0.png rename to src/main/resources/assets/atum/textures/items/HedetetsVenom_pull_0.png diff --git a/resources/assets/atum/textures/items/HedetetsVenom_pull_1.png b/src/main/resources/assets/atum/textures/items/HedetetsVenom_pull_1.png similarity index 100% rename from resources/assets/atum/textures/items/HedetetsVenom_pull_1.png rename to src/main/resources/assets/atum/textures/items/HedetetsVenom_pull_1.png diff --git a/resources/assets/atum/textures/items/HedetetsVenom_pull_2.png b/src/main/resources/assets/atum/textures/items/HedetetsVenom_pull_2.png similarity index 100% rename from resources/assets/atum/textures/items/HedetetsVenom_pull_2.png rename to src/main/resources/assets/atum/textures/items/HedetetsVenom_pull_2.png diff --git a/resources/assets/atum/textures/items/HorusFlight.png b/src/main/resources/assets/atum/textures/items/HorusFlight.png similarity index 100% rename from resources/assets/atum/textures/items/HorusFlight.png rename to src/main/resources/assets/atum/textures/items/HorusFlight.png diff --git a/resources/assets/atum/textures/items/HorusSoaring.png b/src/main/resources/assets/atum/textures/items/HorusSoaring.png similarity index 100% rename from resources/assets/atum/textures/items/HorusSoaring.png rename to src/main/resources/assets/atum/textures/items/HorusSoaring.png diff --git a/resources/assets/atum/textures/items/HorusSoaring_pull_0.png b/src/main/resources/assets/atum/textures/items/HorusSoaring_pull_0.png similarity index 100% rename from resources/assets/atum/textures/items/HorusSoaring_pull_0.png rename to src/main/resources/assets/atum/textures/items/HorusSoaring_pull_0.png diff --git a/resources/assets/atum/textures/items/HorusSoaring_pull_1.png b/src/main/resources/assets/atum/textures/items/HorusSoaring_pull_1.png similarity index 100% rename from resources/assets/atum/textures/items/HorusSoaring_pull_1.png rename to src/main/resources/assets/atum/textures/items/HorusSoaring_pull_1.png diff --git a/resources/assets/atum/textures/items/HorusSoaring_pull_2.png b/src/main/resources/assets/atum/textures/items/HorusSoaring_pull_2.png similarity index 100% rename from resources/assets/atum/textures/items/HorusSoaring_pull_2.png rename to src/main/resources/assets/atum/textures/items/HorusSoaring_pull_2.png diff --git a/resources/assets/atum/textures/items/IsisEmbrace.png b/src/main/resources/assets/atum/textures/items/IsisEmbrace.png similarity index 100% rename from resources/assets/atum/textures/items/IsisEmbrace.png rename to src/main/resources/assets/atum/textures/items/IsisEmbrace.png diff --git a/resources/assets/atum/textures/items/IsisHealing.png b/src/main/resources/assets/atum/textures/items/IsisHealing.png similarity index 100% rename from resources/assets/atum/textures/items/IsisHealing.png rename to src/main/resources/assets/atum/textures/items/IsisHealing.png diff --git a/resources/assets/atum/textures/items/LimestoneAxe.png b/src/main/resources/assets/atum/textures/items/LimestoneAxe.png similarity index 100% rename from resources/assets/atum/textures/items/LimestoneAxe.png rename to src/main/resources/assets/atum/textures/items/LimestoneAxe.png diff --git a/resources/assets/atum/textures/items/LimestoneHoe.png b/src/main/resources/assets/atum/textures/items/LimestoneHoe.png similarity index 100% rename from resources/assets/atum/textures/items/LimestoneHoe.png rename to src/main/resources/assets/atum/textures/items/LimestoneHoe.png diff --git a/resources/assets/atum/textures/items/LimestonePickaxe.png b/src/main/resources/assets/atum/textures/items/LimestonePickaxe.png similarity index 100% rename from resources/assets/atum/textures/items/LimestonePickaxe.png rename to src/main/resources/assets/atum/textures/items/LimestonePickaxe.png diff --git a/resources/assets/atum/textures/items/LimestoneShovel.png b/src/main/resources/assets/atum/textures/items/LimestoneShovel.png similarity index 100% rename from resources/assets/atum/textures/items/LimestoneShovel.png rename to src/main/resources/assets/atum/textures/items/LimestoneShovel.png diff --git a/resources/assets/atum/textures/items/LimestoneSword.png b/src/main/resources/assets/atum/textures/items/LimestoneSword.png similarity index 100% rename from resources/assets/atum/textures/items/LimestoneSword.png rename to src/main/resources/assets/atum/textures/items/LimestoneSword.png diff --git a/resources/assets/atum/textures/items/Linen.png b/src/main/resources/assets/atum/textures/items/Linen.png similarity index 100% rename from resources/assets/atum/textures/items/Linen.png rename to src/main/resources/assets/atum/textures/items/Linen.png diff --git a/resources/assets/atum/textures/items/MaatsBalance.png b/src/main/resources/assets/atum/textures/items/MaatsBalance.png similarity index 100% rename from resources/assets/atum/textures/items/MaatsBalance.png rename to src/main/resources/assets/atum/textures/items/MaatsBalance.png diff --git a/resources/assets/atum/textures/items/MafdetsQuickness.png b/src/main/resources/assets/atum/textures/items/MafdetsQuickness.png similarity index 100% rename from resources/assets/atum/textures/items/MafdetsQuickness.png rename to src/main/resources/assets/atum/textures/items/MafdetsQuickness.png diff --git a/resources/assets/atum/textures/items/MnevisHorns.png b/src/main/resources/assets/atum/textures/items/MnevisHorns.png similarity index 100% rename from resources/assets/atum/textures/items/MnevisHorns.png rename to src/main/resources/assets/atum/textures/items/MnevisHorns.png diff --git a/resources/assets/atum/textures/items/MonthusBlast.png b/src/main/resources/assets/atum/textures/items/MonthusBlast.png similarity index 100% rename from resources/assets/atum/textures/items/MonthusBlast.png rename to src/main/resources/assets/atum/textures/items/MonthusBlast.png diff --git a/resources/assets/atum/textures/items/MonthusBlast_pull_0.png b/src/main/resources/assets/atum/textures/items/MonthusBlast_pull_0.png similarity index 100% rename from resources/assets/atum/textures/items/MonthusBlast_pull_0.png rename to src/main/resources/assets/atum/textures/items/MonthusBlast_pull_0.png diff --git a/resources/assets/atum/textures/items/MonthusBlast_pull_1.png b/src/main/resources/assets/atum/textures/items/MonthusBlast_pull_1.png similarity index 100% rename from resources/assets/atum/textures/items/MonthusBlast_pull_1.png rename to src/main/resources/assets/atum/textures/items/MonthusBlast_pull_1.png diff --git a/resources/assets/atum/textures/items/MonthusBlast_pull_2.png b/src/main/resources/assets/atum/textures/items/MonthusBlast_pull_2.png similarity index 100% rename from resources/assets/atum/textures/items/MonthusBlast_pull_2.png rename to src/main/resources/assets/atum/textures/items/MonthusBlast_pull_2.png diff --git a/resources/assets/atum/textures/items/MonthusStrike.png b/src/main/resources/assets/atum/textures/items/MonthusStrike.png similarity index 100% rename from resources/assets/atum/textures/items/MonthusStrike.png rename to src/main/resources/assets/atum/textures/items/MonthusStrike.png diff --git a/resources/assets/atum/textures/items/MummyBoots.png b/src/main/resources/assets/atum/textures/items/MummyBoots.png similarity index 100% rename from resources/assets/atum/textures/items/MummyBoots.png rename to src/main/resources/assets/atum/textures/items/MummyBoots.png diff --git a/resources/assets/atum/textures/items/MummyChest.png b/src/main/resources/assets/atum/textures/items/MummyChest.png similarity index 100% rename from resources/assets/atum/textures/items/MummyChest.png rename to src/main/resources/assets/atum/textures/items/MummyChest.png diff --git a/resources/assets/atum/textures/items/MummyHelmet.png b/src/main/resources/assets/atum/textures/items/MummyHelmet.png similarity index 100% rename from resources/assets/atum/textures/items/MummyHelmet.png rename to src/main/resources/assets/atum/textures/items/MummyHelmet.png diff --git a/resources/assets/atum/textures/items/MummyLegs.png b/src/main/resources/assets/atum/textures/items/MummyLegs.png similarity index 100% rename from resources/assets/atum/textures/items/MummyLegs.png rename to src/main/resources/assets/atum/textures/items/MummyLegs.png diff --git a/resources/assets/atum/textures/items/NeithsAudacity.png b/src/main/resources/assets/atum/textures/items/NeithsAudacity.png similarity index 100% rename from resources/assets/atum/textures/items/NeithsAudacity.png rename to src/main/resources/assets/atum/textures/items/NeithsAudacity.png diff --git a/resources/assets/atum/textures/items/NusFlux.png b/src/main/resources/assets/atum/textures/items/NusFlux.png similarity index 100% rename from resources/assets/atum/textures/items/NusFlux.png rename to src/main/resources/assets/atum/textures/items/NusFlux.png diff --git a/resources/assets/atum/textures/items/NutsAgility.png b/src/main/resources/assets/atum/textures/items/NutsAgility.png similarity index 100% rename from resources/assets/atum/textures/items/NutsAgility.png rename to src/main/resources/assets/atum/textures/items/NutsAgility.png diff --git a/resources/assets/atum/textures/items/NutsCall.png b/src/main/resources/assets/atum/textures/items/NutsCall.png similarity index 100% rename from resources/assets/atum/textures/items/NutsCall.png rename to src/main/resources/assets/atum/textures/items/NutsCall.png diff --git a/resources/assets/atum/textures/items/OsirisWill.png b/src/main/resources/assets/atum/textures/items/OsirisWill.png similarity index 100% rename from resources/assets/atum/textures/items/OsirisWill.png rename to src/main/resources/assets/atum/textures/items/OsirisWill.png diff --git a/resources/assets/atum/textures/items/PapyrusPlantItem.png b/src/main/resources/assets/atum/textures/items/PapyrusPlantItem.png similarity index 100% rename from resources/assets/atum/textures/items/PapyrusPlantItem.png rename to src/main/resources/assets/atum/textures/items/PapyrusPlantItem.png diff --git a/resources/assets/atum/textures/items/PtahsDecadence.png b/src/main/resources/assets/atum/textures/items/PtahsDecadence.png similarity index 100% rename from resources/assets/atum/textures/items/PtahsDecadence.png rename to src/main/resources/assets/atum/textures/items/PtahsDecadence.png diff --git a/resources/assets/atum/textures/items/PtahsDestruction.png b/src/main/resources/assets/atum/textures/items/PtahsDestruction.png similarity index 100% rename from resources/assets/atum/textures/items/PtahsDestruction.png rename to src/main/resources/assets/atum/textures/items/PtahsDestruction.png diff --git a/resources/assets/atum/textures/items/RasGlory.png b/src/main/resources/assets/atum/textures/items/RasGlory.png similarity index 100% rename from resources/assets/atum/textures/items/RasGlory.png rename to src/main/resources/assets/atum/textures/items/RasGlory.png diff --git a/resources/assets/atum/textures/items/RubyBroach.png b/src/main/resources/assets/atum/textures/items/RubyBroach.png similarity index 100% rename from resources/assets/atum/textures/items/RubyBroach.png rename to src/main/resources/assets/atum/textures/items/RubyBroach.png diff --git a/resources/assets/atum/textures/items/RubyIdol.png b/src/main/resources/assets/atum/textures/items/RubyIdol.png similarity index 100% rename from resources/assets/atum/textures/items/RubyIdol.png rename to src/main/resources/assets/atum/textures/items/RubyIdol.png diff --git a/resources/assets/atum/textures/items/RubyNecklace.png b/src/main/resources/assets/atum/textures/items/RubyNecklace.png similarity index 100% rename from resources/assets/atum/textures/items/RubyNecklace.png rename to src/main/resources/assets/atum/textures/items/RubyNecklace.png diff --git a/resources/assets/atum/textures/items/RubyRing.png b/src/main/resources/assets/atum/textures/items/RubyRing.png similarity index 100% rename from resources/assets/atum/textures/items/RubyRing.png rename to src/main/resources/assets/atum/textures/items/RubyRing.png diff --git a/resources/assets/atum/textures/items/RubyScepter.png b/src/main/resources/assets/atum/textures/items/RubyScepter.png similarity index 100% rename from resources/assets/atum/textures/items/RubyScepter.png rename to src/main/resources/assets/atum/textures/items/RubyScepter.png diff --git a/resources/assets/atum/textures/items/SapphireBroach.png b/src/main/resources/assets/atum/textures/items/SapphireBroach.png similarity index 100% rename from resources/assets/atum/textures/items/SapphireBroach.png rename to src/main/resources/assets/atum/textures/items/SapphireBroach.png diff --git a/resources/assets/atum/textures/items/SapphireIdol.png b/src/main/resources/assets/atum/textures/items/SapphireIdol.png similarity index 100% rename from resources/assets/atum/textures/items/SapphireIdol.png rename to src/main/resources/assets/atum/textures/items/SapphireIdol.png diff --git a/resources/assets/atum/textures/items/SapphireNecklace.png b/src/main/resources/assets/atum/textures/items/SapphireNecklace.png similarity index 100% rename from resources/assets/atum/textures/items/SapphireNecklace.png rename to src/main/resources/assets/atum/textures/items/SapphireNecklace.png diff --git a/resources/assets/atum/textures/items/SapphireRing.png b/src/main/resources/assets/atum/textures/items/SapphireRing.png similarity index 100% rename from resources/assets/atum/textures/items/SapphireRing.png rename to src/main/resources/assets/atum/textures/items/SapphireRing.png diff --git a/resources/assets/atum/textures/items/SapphireScepter.png b/src/main/resources/assets/atum/textures/items/SapphireScepter.png similarity index 100% rename from resources/assets/atum/textures/items/SapphireScepter.png rename to src/main/resources/assets/atum/textures/items/SapphireScepter.png diff --git a/resources/assets/atum/textures/items/Scarab.png b/src/main/resources/assets/atum/textures/items/Scarab.png similarity index 100% rename from resources/assets/atum/textures/items/Scarab.png rename to src/main/resources/assets/atum/textures/items/Scarab.png diff --git a/resources/assets/atum/textures/items/Scepter.png b/src/main/resources/assets/atum/textures/items/Scepter.png similarity index 100% rename from resources/assets/atum/textures/items/Scepter.png rename to src/main/resources/assets/atum/textures/items/Scepter.png diff --git a/resources/assets/atum/textures/items/Scimitar.png b/src/main/resources/assets/atum/textures/items/Scimitar.png similarity index 100% rename from resources/assets/atum/textures/items/Scimitar.png rename to src/main/resources/assets/atum/textures/items/Scimitar.png diff --git a/resources/assets/atum/textures/items/Scroll.png b/src/main/resources/assets/atum/textures/items/Scroll.png similarity index 100% rename from resources/assets/atum/textures/items/Scroll.png rename to src/main/resources/assets/atum/textures/items/Scroll.png diff --git a/resources/assets/atum/textures/items/SekhmetsWrath.png b/src/main/resources/assets/atum/textures/items/SekhmetsWrath.png similarity index 100% rename from resources/assets/atum/textures/items/SekhmetsWrath.png rename to src/main/resources/assets/atum/textures/items/SekhmetsWrath.png diff --git a/resources/assets/atum/textures/items/ShusBreath.png b/src/main/resources/assets/atum/textures/items/ShusBreath.png similarity index 100% rename from resources/assets/atum/textures/items/ShusBreath.png rename to src/main/resources/assets/atum/textures/items/ShusBreath.png diff --git a/resources/assets/atum/textures/items/ShusBreath_pull_0.png b/src/main/resources/assets/atum/textures/items/ShusBreath_pull_0.png similarity index 100% rename from resources/assets/atum/textures/items/ShusBreath_pull_0.png rename to src/main/resources/assets/atum/textures/items/ShusBreath_pull_0.png diff --git a/resources/assets/atum/textures/items/ShusBreath_pull_1.png b/src/main/resources/assets/atum/textures/items/ShusBreath_pull_1.png similarity index 100% rename from resources/assets/atum/textures/items/ShusBreath_pull_1.png rename to src/main/resources/assets/atum/textures/items/ShusBreath_pull_1.png diff --git a/resources/assets/atum/textures/items/ShusBreath_pull_2.png b/src/main/resources/assets/atum/textures/items/ShusBreath_pull_2.png similarity index 100% rename from resources/assets/atum/textures/items/ShusBreath_pull_2.png rename to src/main/resources/assets/atum/textures/items/ShusBreath_pull_2.png diff --git a/resources/assets/atum/textures/items/SilverBroach.png b/src/main/resources/assets/atum/textures/items/SilverBroach.png similarity index 100% rename from resources/assets/atum/textures/items/SilverBroach.png rename to src/main/resources/assets/atum/textures/items/SilverBroach.png diff --git a/resources/assets/atum/textures/items/SilverIdol.png b/src/main/resources/assets/atum/textures/items/SilverIdol.png similarity index 100% rename from resources/assets/atum/textures/items/SilverIdol.png rename to src/main/resources/assets/atum/textures/items/SilverIdol.png diff --git a/resources/assets/atum/textures/items/SilverNecklace.png b/src/main/resources/assets/atum/textures/items/SilverNecklace.png similarity index 100% rename from resources/assets/atum/textures/items/SilverNecklace.png rename to src/main/resources/assets/atum/textures/items/SilverNecklace.png diff --git a/resources/assets/atum/textures/items/SilverRing.png b/src/main/resources/assets/atum/textures/items/SilverRing.png similarity index 100% rename from resources/assets/atum/textures/items/SilverRing.png rename to src/main/resources/assets/atum/textures/items/SilverRing.png diff --git a/resources/assets/atum/textures/items/SilverScepter.png b/src/main/resources/assets/atum/textures/items/SilverScepter.png similarity index 100% rename from resources/assets/atum/textures/items/SilverScepter.png rename to src/main/resources/assets/atum/textures/items/SilverScepter.png diff --git a/resources/assets/atum/textures/items/SobeksRage.png b/src/main/resources/assets/atum/textures/items/SobeksRage.png similarity index 100% rename from resources/assets/atum/textures/items/SobeksRage.png rename to src/main/resources/assets/atum/textures/items/SobeksRage.png diff --git a/resources/assets/atum/textures/items/StoneChunk.png b/src/main/resources/assets/atum/textures/items/StoneChunk.png similarity index 100% rename from resources/assets/atum/textures/items/StoneChunk.png rename to src/main/resources/assets/atum/textures/items/StoneChunk.png diff --git a/resources/assets/atum/textures/items/StoneSoldierSword.png b/src/main/resources/assets/atum/textures/items/StoneSoldierSword.png similarity index 100% rename from resources/assets/atum/textures/items/StoneSoldierSword.png rename to src/main/resources/assets/atum/textures/items/StoneSoldierSword.png diff --git a/resources/assets/atum/textures/items/WandererBoots.png b/src/main/resources/assets/atum/textures/items/WandererBoots.png similarity index 100% rename from resources/assets/atum/textures/items/WandererBoots.png rename to src/main/resources/assets/atum/textures/items/WandererBoots.png diff --git a/resources/assets/atum/textures/items/WandererChest.png b/src/main/resources/assets/atum/textures/items/WandererChest.png similarity index 100% rename from resources/assets/atum/textures/items/WandererChest.png rename to src/main/resources/assets/atum/textures/items/WandererChest.png diff --git a/resources/assets/atum/textures/items/WandererHelmet.png b/src/main/resources/assets/atum/textures/items/WandererHelmet.png similarity index 100% rename from resources/assets/atum/textures/items/WandererHelmet.png rename to src/main/resources/assets/atum/textures/items/WandererHelmet.png diff --git a/resources/assets/atum/textures/items/WandererLegs.png b/src/main/resources/assets/atum/textures/items/WandererLegs.png similarity index 100% rename from resources/assets/atum/textures/items/WandererLegs.png rename to src/main/resources/assets/atum/textures/items/WandererLegs.png diff --git a/resources/assets/atum/textures/items/WolfPelt.png b/src/main/resources/assets/atum/textures/items/WolfPelt.png similarity index 100% rename from resources/assets/atum/textures/items/WolfPelt.png rename to src/main/resources/assets/atum/textures/items/WolfPelt.png diff --git a/resources/assets/atum/textures/items/atens_pull_0.png b/src/main/resources/assets/atum/textures/items/atens_pull_0.png similarity index 100% rename from resources/assets/atum/textures/items/atens_pull_0.png rename to src/main/resources/assets/atum/textures/items/atens_pull_0.png diff --git a/resources/assets/atum/textures/items/atens_pull_1.png b/src/main/resources/assets/atum/textures/items/atens_pull_1.png similarity index 100% rename from resources/assets/atum/textures/items/atens_pull_1.png rename to src/main/resources/assets/atum/textures/items/atens_pull_1.png diff --git a/resources/assets/atum/textures/items/atens_pull_2.png b/src/main/resources/assets/atum/textures/items/atens_pull_2.png similarity index 100% rename from resources/assets/atum/textures/items/atens_pull_2.png rename to src/main/resources/assets/atum/textures/items/atens_pull_2.png diff --git a/resources/assets/atum/textures/items/bow_pull_0.png b/src/main/resources/assets/atum/textures/items/bow_pull_0.png similarity index 100% rename from resources/assets/atum/textures/items/bow_pull_0.png rename to src/main/resources/assets/atum/textures/items/bow_pull_0.png diff --git a/resources/assets/atum/textures/items/bow_pull_1.png b/src/main/resources/assets/atum/textures/items/bow_pull_1.png similarity index 100% rename from resources/assets/atum/textures/items/bow_pull_1.png rename to src/main/resources/assets/atum/textures/items/bow_pull_1.png diff --git a/resources/assets/atum/textures/items/bow_pull_2.png b/src/main/resources/assets/atum/textures/items/bow_pull_2.png similarity index 100% rename from resources/assets/atum/textures/items/bow_pull_2.png rename to src/main/resources/assets/atum/textures/items/bow_pull_2.png diff --git a/resources/assets/atum/textures/items/neiths_pull_0.png b/src/main/resources/assets/atum/textures/items/neiths_pull_0.png similarity index 100% rename from resources/assets/atum/textures/items/neiths_pull_0.png rename to src/main/resources/assets/atum/textures/items/neiths_pull_0.png diff --git a/resources/assets/atum/textures/items/neiths_pull_1.png b/src/main/resources/assets/atum/textures/items/neiths_pull_1.png similarity index 100% rename from resources/assets/atum/textures/items/neiths_pull_1.png rename to src/main/resources/assets/atum/textures/items/neiths_pull_1.png diff --git a/resources/assets/atum/textures/items/neiths_pull_2.png b/src/main/resources/assets/atum/textures/items/neiths_pull_2.png similarity index 100% rename from resources/assets/atum/textures/items/neiths_pull_2.png rename to src/main/resources/assets/atum/textures/items/neiths_pull_2.png diff --git a/resources/assets/atum/textures/particles/Sand.png b/src/main/resources/assets/atum/textures/particles/Sand.png similarity index 100% rename from resources/assets/atum/textures/particles/Sand.png rename to src/main/resources/assets/atum/textures/particles/Sand.png diff --git a/resources/assets/atum/textures/projectiles/arrows_double.png b/src/main/resources/assets/atum/textures/projectiles/arrows_double.png similarity index 100% rename from resources/assets/atum/textures/projectiles/arrows_double.png rename to src/main/resources/assets/atum/textures/projectiles/arrows_double.png diff --git a/resources/assets/atum/textures/projectiles/arrows_exploding.png b/src/main/resources/assets/atum/textures/projectiles/arrows_exploding.png similarity index 100% rename from resources/assets/atum/textures/projectiles/arrows_exploding.png rename to src/main/resources/assets/atum/textures/projectiles/arrows_exploding.png diff --git a/resources/assets/atum/textures/projectiles/arrows_fire.png b/src/main/resources/assets/atum/textures/projectiles/arrows_fire.png similarity index 100% rename from resources/assets/atum/textures/projectiles/arrows_fire.png rename to src/main/resources/assets/atum/textures/projectiles/arrows_fire.png diff --git a/resources/assets/atum/textures/projectiles/arrows_poison.png b/src/main/resources/assets/atum/textures/projectiles/arrows_poison.png similarity index 100% rename from resources/assets/atum/textures/projectiles/arrows_poison.png rename to src/main/resources/assets/atum/textures/projectiles/arrows_poison.png diff --git a/resources/assets/atum/textures/projectiles/arrows_quickdraw.png b/src/main/resources/assets/atum/textures/projectiles/arrows_quickdraw.png similarity index 100% rename from resources/assets/atum/textures/projectiles/arrows_quickdraw.png rename to src/main/resources/assets/atum/textures/projectiles/arrows_quickdraw.png diff --git a/resources/assets/atum/textures/projectiles/arrows_velocity.png b/src/main/resources/assets/atum/textures/projectiles/arrows_velocity.png similarity index 100% rename from resources/assets/atum/textures/projectiles/arrows_velocity.png rename to src/main/resources/assets/atum/textures/projectiles/arrows_velocity.png diff --git a/resources/assets/atum/textures/projectiles/nutscall.png b/src/main/resources/assets/atum/textures/projectiles/nutscall.png similarity index 100% rename from resources/assets/atum/textures/projectiles/nutscall.png rename to src/main/resources/assets/atum/textures/projectiles/nutscall.png From 3ba10f568025df700e81840dca8656ec6e9a5cf3 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Thu, 5 Jun 2014 17:10:52 +1000 Subject: [PATCH 043/157] Fixed Pyramid Generation --- .../atum/worldgen/AtumChunkProvider.java | 43 +++---------------- .../worldgen/biome/BiomeDecoratorAtum.java | 13 +----- .../worldgen/decorators/WorldGenPyramid.java | 16 ++++--- 3 files changed, 15 insertions(+), 57 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java b/src/main/java/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java index 5df7b89..d11845b 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java @@ -1,20 +1,16 @@ package com.teammetallurgy.atum.worldgen; import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.CAVE; -import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.MINESHAFT; import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.RAVINE; -import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.SCATTERED_FEATURE; -import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.STRONGHOLD; -import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.VILLAGE; import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.ANIMALS; import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.DUNGEON; import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.ICE; -import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.LAKE; -import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.LAVA; import java.util.List; import java.util.Random; +import com.teammetallurgy.atum.blocks.AtumBlocks; + import net.minecraft.block.Block; import net.minecraft.block.BlockFalling; import net.minecraft.entity.EnumCreatureType; @@ -34,12 +30,7 @@ import net.minecraft.world.gen.NoiseGenerator; import net.minecraft.world.gen.NoiseGeneratorOctaves; import net.minecraft.world.gen.NoiseGeneratorPerlin; -import net.minecraft.world.gen.feature.WorldGenDungeons; -import net.minecraft.world.gen.feature.WorldGenLakes; -import net.minecraft.world.gen.structure.MapGenMineshaft; import net.minecraft.world.gen.structure.MapGenScatteredFeature; -import net.minecraft.world.gen.structure.MapGenStronghold; -import net.minecraft.world.gen.structure.MapGenVillage; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.terraingen.ChunkProviderEvent; import net.minecraftforge.event.terraingen.PopulateChunkEvent; @@ -160,11 +151,11 @@ public void func_147424_a(int p_147424_1_, int p_147424_2_, Block[] p_147424_3_) for (int k3 = 0; k3 < 4; ++k3) { if ((d15 += d16) > 0.0D) { - //p_147424_3_[j3 += short1] = null; + p_147424_3_[j3 += short1] = Blocks.stone; } else if (k2 * 8 + l2 < b0) { - //p_147424_3_[j3 += short1] = null; + p_147424_3_[j3 += short1] = Blocks.water; } else { - //p_147424_3_[j3 += short1] = null; + p_147424_3_[j3 += short1] = null; } } @@ -373,30 +364,7 @@ public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) { int l1; int i2; - if (biomegenbase != BiomeGenBase.desert && biomegenbase != BiomeGenBase.desertHills && !flag && this.rand.nextInt(4) == 0 && TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag, LAKE)) { - k1 = k + this.rand.nextInt(16) + 8; - l1 = this.rand.nextInt(256); - i2 = l + this.rand.nextInt(16) + 8; - (new WorldGenLakes(Blocks.water)).generate(this.worldObj, this.rand, k1, l1, i2); - } - - if (TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag, LAVA) && !flag && this.rand.nextInt(8) == 0) { - k1 = k + this.rand.nextInt(16) + 8; - l1 = this.rand.nextInt(this.rand.nextInt(248) + 8); - i2 = l + this.rand.nextInt(16) + 8; - - if (l1 < 63 || this.rand.nextInt(10) == 0) { - (new WorldGenLakes(Blocks.lava)).generate(this.worldObj, this.rand, k1, l1, i2); - } - } - boolean doGen = TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag, DUNGEON); - for (k1 = 0; doGen && k1 < 8; ++k1) { - l1 = k + this.rand.nextInt(16) + 8; - i2 = this.rand.nextInt(256); - int j2 = l + this.rand.nextInt(16) + 8; - (new WorldGenDungeons()).generate(this.worldObj, this.rand, l1, i2, j2); - } biomegenbase.decorate(this.worldObj, this.rand, k, l); if (TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag, ANIMALS)) { @@ -472,7 +440,6 @@ public List getPossibleCreatures(EnumCreatureType par1EnumCreatureType, int par2 return par1EnumCreatureType == EnumCreatureType.monster && this.scatteredFeatureGenerator.func_143030_a(par2, par3, par4) ? this.scatteredFeatureGenerator.getScatteredFeatureSpawnList() : biomegenbase.getSpawnableList(par1EnumCreatureType); } - public int getLoadedChunkCount() { return 0; } diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java b/src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java index 9d43a81..b615edf 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java @@ -79,7 +79,7 @@ public void decorateChunk(World world, Random random, BiomeGenBase biomeGenBase, this.randomGenerator = null; } } - + @Override protected void genDecorations(BiomeGenBase biome) { MinecraftForge.EVENT_BUS.post(new Pre(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z)); @@ -131,17 +131,6 @@ protected void genDecorations(BiomeGenBase biome) { (new WorldGenShrub(AtumBlocks.BLOCK_WEED, 8)).generate(this.currentWorld, this.randomGenerator, k, l, i1); } - doGen = TerrainGen.decorate(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z, EventType.LAKE); - if (doGen && this.generateLakes) { - for (j = 0; j < 20; ++j) { - k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - l = this.randomGenerator.nextInt(this.randomGenerator.nextInt(this.randomGenerator.nextInt(112) + 8) + 8); - i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - time = System.nanoTime(); - (new WorldGenLiquids(Blocks.flowing_lava)).generate(this.currentWorld, this.randomGenerator, k, l, i1); - } - } - MinecraftForge.EVENT_BUS.post(new Post(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z)); } diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java index 5068620..2ebc7e4 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java @@ -43,7 +43,7 @@ public boolean generate(World world, Random random, int i, int j, int k) { int width = 17; int depth = 17; - + System.out.println("x: " + i + ":" + j + ":" + k); boolean[][] maze = new boolean[17][17]; ArrayList points = new ArrayList(); @@ -56,8 +56,9 @@ public boolean generate(World world, Random random, int i, int j, int k) { for (int y = -6; y < 10; y++) { for (int x = y; x <= width - y; x++) { for (int z = y; z <= depth - y; z++) { - Block block = world.getBlock(x + i, y + j + 3, z + k); - if (block == null || block == AtumBlocks.BLOCK_SAND) + Block id = world.getBlock(x + i, y + j + 3, z + k); + if (id == null || id == AtumBlocks.BLOCK_SAND) + world.setBlockToAir(x + i, y + j + 3, z + k); world.setBlock(x + i, y + j + 3, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); } } @@ -66,6 +67,7 @@ public boolean generate(World world, Random random, int i, int j, int k) { for (int x = -3; x < width + 3; x++) { for (int z = -3; z < depth + 3; z++) { if (x >= 0 && x < width && z >= 0 && z < depth) { + world.setBlockToAir(x + i, j, z + k); world.setBlock(x + i, j - 1, z + k, AtumBlocks.BLOCK_STONE); if (!maze[x][z]) { if (random.nextFloat() > 0.1F) { @@ -152,20 +154,20 @@ public boolean generate(World world, Random random, int i, int j, int k) { public void placeTrap(World world, int x, int y, int z) { int meta = 0; if (world.isSideSolid(x, y, z + 1, NORTH)) { - meta = 2; + meta = 3; ; } if (world.isSideSolid(x, y, z - 1, SOUTH)) { - meta = 3; + meta = 4; } if (world.isSideSolid(x + 1, y, z, WEST)) { - meta = 4; + meta = 5; } if (world.isSideSolid(x - 1, y, z, EAST)) { - meta = 5; + meta = 2; } world.setBlock(x, y, z, AtumBlocks.BLOCK_TRAPARROW, meta, 0); From 6ad79eb52d43feb3fed18f2fb0d73d6eb6f8abe5 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Thu, 5 Jun 2014 19:49:47 +1000 Subject: [PATCH 044/157] Fixed Entity Textures --- .../atum/entity/AtumEntities.java | 58 +++++++++---------- .../resources/assets/atum/lang/en_US.lang | 20 +++---- 2 files changed, 39 insertions(+), 39 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java b/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java index 6f4ccdd..7a221d9 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java +++ b/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java @@ -21,44 +21,44 @@ public void register() { int entityID; entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityMummy.class, "AtumMummy", entityID, Atum.instance, 64, 1, true); - EntityRegistry.registerGlobalEntityID(EntityMummy.class, "AtumMummy", entityID, 0x515838, 0x868F6B); + EntityRegistry.registerModEntity(EntityMummy.class, "mummy", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityMummy.class, "mummy", entityID, 0x515838, 0x868F6B); - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityBanditWarrior.class, "AtumBanditWarrior", entityID, Atum.instance, 64, 1, true); - EntityRegistry.registerGlobalEntityID(EntityBanditWarrior.class, "AtumBanditWarrior", entityID, 0xC2C2C2, 0x040F85); + entityID++; + EntityRegistry.registerModEntity(EntityBanditWarrior.class, "banditWarrior", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityBanditWarrior.class, "banditWarrior", entityID, 0xC2C2C2, 0x040F85); - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityBanditArcher.class, "AtumBanditArcher", entityID, Atum.instance, 64, 1, true); - EntityRegistry.registerGlobalEntityID(EntityBanditArcher.class, "AtumBanditArcher", entityID, 0xC2C2C2, 0x7E0C0C); + entityID++; + EntityRegistry.registerModEntity(EntityBanditArcher.class, "banditArcher", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityBanditArcher.class, "banditArcher", entityID, 0xC2C2C2, 0x7E0C0C); - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityPharaoh.class, "AtumPharaoh", entityID, Atum.instance, 64, 1, true); - EntityRegistry.registerGlobalEntityID(EntityPharaoh.class, "AtumPharaoh", entityID, 0xD4BC37, 0x3A4BE0); + entityID++; + EntityRegistry.registerModEntity(EntityPharaoh.class, "pharaoh", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityPharaoh.class, "pharaoh", entityID, 0xD4BC37, 0x3A4BE0); - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityDustySkeleton.class, "AtumDustySkeleton", entityID, Atum.instance, 64, 1, true); - EntityRegistry.registerGlobalEntityID(EntityDustySkeleton.class, "AtumDustySkeleton", entityID, 0xB59C7D, 0x6F5C43); + entityID++; + EntityRegistry.registerModEntity(EntityDustySkeleton.class, "dustySkeleton", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityDustySkeleton.class, "dustySkeleton", entityID, 0xB59C7D, 0x6F5C43); - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityGhost.class, "AtumDesertGhost", entityID, Atum.instance, 64, 1, true); - EntityRegistry.registerGlobalEntityID(EntityGhost.class, "AtumDesertGhost", entityID, 0xE7DBC8, 0xAD9467); + entityID++; + EntityRegistry.registerModEntity(EntityGhost.class, "desertGhost", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityGhost.class, "desertGhost", entityID, 0xE7DBC8, 0xAD9467); - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityStoneSoldier.class, "AtumStoneSoldier", entityID, Atum.instance, 64, 1, true); - EntityRegistry.registerGlobalEntityID(EntityStoneSoldier.class, "AtumStoneSoldier", entityID, 0x918354, 0x695D37); + entityID++; + EntityRegistry.registerModEntity(EntityStoneSoldier.class, "stoneSoldier", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityStoneSoldier.class, "stoneSoldier", entityID, 0x918354, 0x695D37); - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityDesertWolf.class, "AtumDesertWolf", entityID, Atum.instance, 64, 1, true); - EntityRegistry.registerGlobalEntityID(EntityDesertWolf.class, "AtumDesertWolf", entityID, 0x918354, 0x695D37); + entityID++; + EntityRegistry.registerModEntity(EntityDesertWolf.class, "desertWolf", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityDesertWolf.class, "desertWolf", entityID, 0x918354, 0x695D37); - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityBanditWarlord.class, "AtumBanditWarlord", entityID, Atum.instance, 64, 1, true); - EntityRegistry.registerGlobalEntityID(EntityBanditWarlord.class, "AtumBanditWarlord", entityID, 0x918354, 0x695D37); + entityID++; + EntityRegistry.registerModEntity(EntityBanditWarlord.class, "banditWarlord", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityBanditWarlord.class, "banditWarlord", entityID, 0x918354, 0x695D37); - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityBarbarian.class, "AtumBarbarian", entityID, Atum.instance, 64, 1, true); - EntityRegistry.registerGlobalEntityID(EntityBarbarian.class, "AtumBarbarian", entityID, 0x918354, 0x695D37); + entityID++; + EntityRegistry.registerModEntity(EntityBarbarian.class, "barbarian", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityBarbarian.class, "barbarian", entityID, 0x918354, 0x695D37); EntityRegistry.registerModEntity(EntityArrowVelocity.class, "ArrowVeloctiy", 0, Atum.instance, 64, 1, true); EntityRegistry.registerModEntity(EntityArrowExplosive.class, "ArrowExplosive", 1, Atum.instance, 64, 1, true); diff --git a/src/main/resources/assets/atum/lang/en_US.lang b/src/main/resources/assets/atum/lang/en_US.lang index 697a811..398084a 100644 --- a/src/main/resources/assets/atum/lang/en_US.lang +++ b/src/main/resources/assets/atum/lang/en_US.lang @@ -134,13 +134,13 @@ item.loot.Emerald.name=Emerald item.loot.Diamond.name=Diamond # Entity -entity.AtumMummy.name=Mummy -entity.AtumBanditWarrior.name=Bandit Warrior -entity.AtumBanditArcher.name=Bandit Archer -entity.AtumPharaoh.name=Pharaoh -entity.AtumDustySkeleton.name=Dusty Skeleton -entity.AtumDesertGhost.name=Desert Ghost -entity.AtumStoneSoldier.name=Stone Soldier -entity.AtumDesertWolf.name=Desert Wolf -entity.AtumBanditWarlord.name=Bandit Warlord -entity.AtumBarbarian.name=Barbarian \ No newline at end of file +entity.Atum.mummy.name=Mummy +entity.Atum.nanditWarrior.name=Bandit Warrior +entity.Atum.banditArcher.name=Bandit Archer +entity.Atum.pharaoh.name=Pharaoh +entity.Atum.dustySkeleton.name=Dusty Skeleton +entity.Atum.desertGhost.name=Desert Ghost +entity.Atum.stoneSoldier.name=Stone Soldier +entity.Atum.desertWolf.name=Desert Wolf +entity.Atum.banditWarlord.name=Bandit Warlord +entity.Atum.barbarian.name=Barbarian \ No newline at end of file From fa333430f6a97977b0e95b0a957770275887668e Mon Sep 17 00:00:00 2001 From: lclc98 Date: Thu, 5 Jun 2014 20:16:43 +1000 Subject: [PATCH 045/157] Fixed Worldgen --- .../atum/worldgen/AtumChunkProvider.java | 102 +++++++++++++++++- .../atum/worldgen/AtumWorldProvider.java | 2 +- .../worldgen/biome/BiomeDecoratorAtum.java | 2 +- .../worldgen/biome/BiomeGenAtumDesert.java | 18 ++-- 4 files changed, 110 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java b/src/main/java/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java index d11845b..aa8ff78 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java @@ -13,6 +13,7 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockFalling; +import net.minecraft.block.material.Material; import net.minecraft.entity.EnumCreatureType; import net.minecraft.init.Blocks; import net.minecraft.util.IProgressUpdate; @@ -151,9 +152,9 @@ public void func_147424_a(int p_147424_1_, int p_147424_2_, Block[] p_147424_3_) for (int k3 = 0; k3 < 4; ++k3) { if ((d15 += d16) > 0.0D) { - p_147424_3_[j3 += short1] = Blocks.stone; + p_147424_3_[j3 += short1] = AtumBlocks.BLOCK_STONE; } else if (k2 * 8 + l2 < b0) { - p_147424_3_[j3 += short1] = Blocks.water; + p_147424_3_[j3 += short1] = AtumBlocks.BLOCK_STONE; } else { p_147424_3_[j3 += short1] = null; } @@ -185,11 +186,106 @@ public void replaceBlocksForBiome(int p_147422_1_, int p_147422_2_, Block[] p_14 for (int k = 0; k < 16; ++k) { for (int l = 0; l < 16; ++l) { BiomeGenBase biomegenbase = p_147422_5_[l + k * 16]; - biomegenbase.genTerrainBlocks(this.worldObj, this.rand, p_147422_3_, p_147422_4_, p_147422_1_ * 16 + k, p_147422_2_ * 16 + l, this.stoneNoise[l + k * 16]); + genBiomeTerrain(this.worldObj, biomegenbase, this.rand, p_147422_3_, p_147422_4_, p_147422_1_ * 16 + k, p_147422_2_ * 16 + l, this.stoneNoise[l + k * 16]); } } } + public void genBiomeTerrain(World p_150560_1_, BiomeGenBase biomegenbase, Random p_150560_2_, Block[] p_150560_3_, byte[] p_150560_4_, int p_150560_5_, int p_150560_6_, double p_150560_7_) + { + boolean flag = true; + Block block = biomegenbase.topBlock; + byte b0 = (byte)(biomegenbase.field_150604_aj & 255); + Block block1 = biomegenbase.fillerBlock; + int k = -1; + int l = (int)(p_150560_7_ / 3.0D + 3.0D + p_150560_2_.nextDouble() * 0.25D); + int i1 = p_150560_5_ & 15; + int j1 = p_150560_6_ & 15; + int k1 = p_150560_3_.length / 256; + + for (int l1 = 255; l1 >= 0; --l1) + { + int i2 = (j1 * 16 + i1) * k1 + l1; + + if (l1 <= 0 + p_150560_2_.nextInt(5)) + { + p_150560_3_[i2] = Blocks.bedrock; + } + else + { + Block block2 = p_150560_3_[i2]; + + if (block2 != null && block2.getMaterial() != Material.air) + { + if (block2 == AtumBlocks.BLOCK_STONE) + { + if (k == -1) + { + if (l <= 0) + { + block = null; + b0 = 0; + block1 = AtumBlocks.BLOCK_STONE; + } + else if (l1 >= 59 && l1 <= 64) + { + block = biomegenbase.topBlock; + b0 = (byte)(biomegenbase.field_150604_aj & 255); + block1 = biomegenbase.fillerBlock; + } + + if (l1 < 63 && (block == null || block.getMaterial() == Material.air)) + { + if (biomegenbase.getFloatTemperature(p_150560_5_, l1, p_150560_6_) < 0.15F) + { + block = Blocks.ice; + b0 = 0; + } + else + { + block = Blocks.water; + b0 = 0; + } + } + + k = l; + + if (l1 >= 62) + { + p_150560_3_[i2] = block; + p_150560_4_[i2] = b0; + } + else if (l1 < 56 - l) + { + block = null; + block1 = Blocks.stone; + p_150560_3_[i2] = Blocks.gravel; + } + else + { + p_150560_3_[i2] = block1; + } + } + else if (k > 0) + { + --k; + p_150560_3_[i2] = block1; + + if (k == 0 && block1 == Blocks.sand) + { + k = p_150560_2_.nextInt(4) + Math.max(0, l1 - 63); + block1 = Blocks.sandstone; + } + } + } + } + else + { + k = -1; + } + } + } + } /** * loads or generates the chunk at the chunk location specified */ diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java b/src/main/java/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java index e02eecf..c3c7696 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java @@ -19,7 +19,7 @@ public String getDimensionName() { @Override protected void registerWorldChunkManager() { - this.worldChunkMgr = new WorldChunkManagerHell(AtumWorlds.BIOME_DESERT, 0); + this.worldChunkMgr = new WorldChunkManagerHell(AtumWorlds.BIOME_DESERT, 5); this.dimensionId = AtumIDS.DIMENSION_ID; } diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java b/src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java index b615edf..249184e 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java @@ -62,7 +62,7 @@ public BiomeDecoratorAtum() { this.sandPerChunk2 = 3; this.clayPerChunk = 1; this.bigMushroomsPerChunk = 0; - this.generateLakes = true; + this.generateLakes = false; } @Override diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java b/src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java index 5026d56..f28189a 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java @@ -106,15 +106,15 @@ public void decorate(World par1World, Random par2Random, int par3, int par4) { (new WorldGenPyramid()).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); } - if (par2Random.nextInt(160) == 0) { - k = par3 + par2Random.nextInt(16) + 8; - l = par4 + par2Random.nextInt(16) + 8; - height = par2Random.nextInt(10); - if (height <= 20) { - height += 30; - } - (new WorldGenPalace()).generate(par1World, par2Random, k, height, l); - } +// if (par2Random.nextInt(160) == 0) { +// k = par3 + par2Random.nextInt(16) + 8; +// l = par4 + par2Random.nextInt(16) + 8; +// height = par2Random.nextInt(10); +// if (height <= 20) { +// height += 30; +// } +// (new WorldGenPalace()).generate(par1World, par2Random, k, height, l); +// } } } From adbf2bd9e2959b1bdaf90b3c882f3a7c074c3a67 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Thu, 5 Jun 2014 20:25:37 +1000 Subject: [PATCH 046/157] Fixed Fog --- .../lib/tickhandler/ClientTickHandler.java | 106 +++++++++--------- 1 file changed, 53 insertions(+), 53 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java index abba359..3367880 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java +++ b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java @@ -20,71 +20,71 @@ public class ClientTickHandler { private boolean overlay; public static int defaultFog; + @SubscribeEvent + public void onRender(TickEvent.RenderTickEvent event) { + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + ItemStack currentItemStack = null; + + if (player != null && player.getCurrentArmor(3) != null) { + if (player.getCurrentArmor(3).getItem() == AtumItems.mummyHelmet) { + ScaledResolution scaledresolution = new ScaledResolution(Minecraft.getMinecraft().gameSettings, Minecraft.getMinecraft().displayWidth, Minecraft.getMinecraft().displayHeight); + int par1 = scaledresolution.getScaledWidth(); + int par2 = scaledresolution.getScaledHeight(); + + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation("atum", "textures/hud/mummyblur.png")); + Tessellator tessellator = Tessellator.instance; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(0.0D, par2, -100, 0.0D, 1.0D); + tessellator.addVertexWithUV(par1, par2, -100, 1.0D, 1.0D); + tessellator.addVertexWithUV(par1, 0.0D, -100, 1.0D, 0.0D); + tessellator.addVertexWithUV(0.0D, 0.0D, -100, 0.0D, 0.0D); + tessellator.draw(); + } + } + } + @SubscribeEvent public void onUpdate(TickEvent.PlayerTickEvent event) { EntityPlayer player = event.player; - if (event.type.equals(event.type.PLAYER) && event.phase.equals(event.phase.START)) { - boolean nightvision = false; + boolean nightvision = false; - if (player.getCurrentArmor(3) != null) { - if (player.getCurrentArmor(3).getItem() == AtumItems.rasGlory) { - nightvision = true; - } + if (player.getCurrentArmor(3) != null) { + if (player.getCurrentArmor(3).getItem() == AtumItems.rasGlory) { + nightvision = true; + } + } + + if (player.dimension == AtumIDS.DIMENSION_ID) { + if (Minecraft.getMinecraft().gameSettings.renderDistanceChunks > 2) { + defaultFog = Minecraft.getMinecraft().gameSettings.renderDistanceChunks; + Minecraft.getMinecraft().gameSettings.renderDistanceChunks = nightvision ? 1 : 2; } - if (player.dimension == AtumIDS.DIMENSION_ID) { - if (Minecraft.getMinecraft().gameSettings.renderDistanceChunks < (nightvision ? 1 : 2)) { - defaultFog = Minecraft.getMinecraft().gameSettings.renderDistanceChunks; - Minecraft.getMinecraft().gameSettings.renderDistanceChunks = nightvision ? 1 : 2; + if (player.worldObj.isRaining()) { + raining = true; + if (Minecraft.getMinecraft().gameSettings.renderDistanceChunks < (nightvision ? 3 : 2)) { + Minecraft.getMinecraft().gameSettings.renderDistanceChunks = nightvision ? 3 : 2; } - if (player.worldObj.isRaining()) { - raining = true; - if (Minecraft.getMinecraft().gameSettings.renderDistanceChunks < (nightvision ? 2 : 3)) { - Minecraft.getMinecraft().gameSettings.renderDistanceChunks = nightvision ? 2 : 3; - } - - Random random = new Random(); - int particlesPerTick = (3 - Minecraft.getMinecraft().gameSettings.particleSetting) * 6; - for (int i = 0; i < particlesPerTick; i++) { - float x = random.nextInt(4) - 2; - float z = random.nextInt(4) - 2; - float y = (random.nextFloat() - 0.7F) * 2F; - - float vx = 0.1F + random.nextFloat() * 0.1F; - float vz = 0.1F + random.nextFloat() * 0.1F; - - player.worldObj.spawnParticle("sand", player.posX + x, player.posY + y, player.posZ + z, vx + player.motionX, 0.0D, vz + player.motionZ); - } - } else { - if (raining == true && defaultFog < (nightvision ? 1 : 2)) { - raining = false; - Minecraft.getMinecraft().gameSettings.renderDistanceChunks = nightvision ? 1 : 2; - - } + Random random = new Random(); + int particlesPerTick = (3 - Minecraft.getMinecraft().gameSettings.particleSetting) * 6; + for (int i = 0; i < particlesPerTick; i++) { + float x = random.nextInt(4) - 2; + float z = random.nextInt(4) - 2; + float y = (random.nextFloat() - 0.7F) * 2F; + + float vx = 0.1F + random.nextFloat() * 0.1F; + float vz = 0.1F + random.nextFloat() * 0.1F; + + player.worldObj.spawnParticle("sand", player.posX + x, player.posY + y, player.posZ + z, vx + player.motionX, 0.0D, vz + player.motionZ); } + } else { + if (raining == true && defaultFog < (nightvision ? 1 : 2)) { + raining = false; + Minecraft.getMinecraft().gameSettings.renderDistanceChunks = nightvision ? 3 : 2; - } - } - if (event.type.equals(event.type.RENDER) && event.phase.equals(event.phase.END)) { - ItemStack currentItemStack = null; - - if (player != null && player.getCurrentArmor(3) != null) { - if (player.getCurrentArmor(3).getItem() == AtumItems.mummyHelmet) { - ScaledResolution scaledresolution = new ScaledResolution(Minecraft.getMinecraft().gameSettings, Minecraft.getMinecraft().displayWidth, Minecraft.getMinecraft().displayHeight); - int par1 = scaledresolution.getScaledWidth(); - int par2 = scaledresolution.getScaledHeight(); - - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation("atum", "textures/hud/mummyblur.png")); - Tessellator tessellator = Tessellator.instance; - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(0.0D, par2, -100, 0.0D, 1.0D); - tessellator.addVertexWithUV(par1, par2, -100, 1.0D, 1.0D); - tessellator.addVertexWithUV(par1, 0.0D, -100, 1.0D, 0.0D); - tessellator.addVertexWithUV(0.0D, 0.0D, -100, 0.0D, 0.0D); - tessellator.draw(); } } } From 03b0222afabd1ab60e55063f33790b934b77521e Mon Sep 17 00:00:00 2001 From: lclc98 Date: Thu, 5 Jun 2014 20:40:37 +1000 Subject: [PATCH 047/157] Fixed version --- build.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.properties b/build.properties index bbe932a..3304f0d 100644 --- a/build.properties +++ b/build.properties @@ -1,3 +1,3 @@ minecraft_version=1.7.2 forge_version=10.12.1.1060 -mod_version=1.2.5 \ No newline at end of file +mod_version=0.6 \ No newline at end of file From f5c8e98d59b66b1ad9edc719c5bef42b525259eb Mon Sep 17 00:00:00 2001 From: lclc98 Date: Sat, 7 Jun 2014 12:41:08 +1000 Subject: [PATCH 048/157] Fixed Portal Generation --- .../atum/blocks/AtumBlocks.java | 6 +- .../teammetallurgy/atum/blocks/BlockFlax.java | 6 +- .../atum/blocks/BlockLeave.java | 78 +++++++++---------- .../atum/blocks/BlockLimeStoneFurnace.java | 5 +- .../atum/blocks/BlockPalmSapling.java | 6 +- .../entity/arrow/RenderCustomArrow.java | 3 +- .../atum/entity/arrow/CustomArrow.java | 3 + .../entity/arrow/EntityArrowDoubleShot.java | 8 +- .../entity/arrow/EntityArrowExplosive.java | 8 +- .../atum/entity/arrow/EntityArrowFire.java | 8 +- .../atum/entity/arrow/EntityArrowPoison.java | 12 +-- .../entity/arrow/EntityArrowQuickdraw.java | 8 +- .../entity/arrow/EntityArrowVelocity.java | 8 +- .../lib/tickhandler/ClientTickHandler.java | 2 +- .../atum/world/AtumTeleporter.java | 2 +- .../atum/worldgen/AtumChunkProvider.java | 1 - .../worldgen/decorators/WorldGenPyramid.java | 2 +- 17 files changed, 82 insertions(+), 84 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java index f12341a..785ce0e 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java @@ -81,12 +81,12 @@ public void registerBlocks() { this.register(BLOCK_CRACKEDLARGEBRICK); this.register(BLOCK_CRYSTALGLASS); this.register(BLOCK_FRAMEDGLASS); - //this.register(BLOCK_PALMSAPLING); + this.register(BLOCK_PALMSAPLING); this.register(BLOCK_DATEBLOCK); - //this.register(BLOCK_SHRUB); + this.register(BLOCK_SHRUB); this.register(BLOCK_WEED); this.register(BLOCK_PAPYRUS); - //this.register(BLOCK_FLAX); + this.register(BLOCK_FLAX); this.register(BLOCK_FERTILESOIL); this.register(BLOCK_FERTILESOILTILLED); this.register(BLOCK_LOG); diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java index d867364..24ae1c6 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java @@ -4,7 +4,7 @@ import java.util.Random; import net.minecraft.block.Block; -import net.minecraft.block.BlockFlower; +import net.minecraft.block.BlockBush; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.init.Blocks; @@ -23,12 +23,12 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class BlockFlax extends BlockFlower { +public class BlockFlax extends BlockBush { @SideOnly(Side.CLIENT) private IIcon[] iconArray; protected BlockFlax() { - super(0); + super(); this.setBlockName("flax"); this.setTickRandomly(true); float f = 0.5F; diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockLeave.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockLeave.java index 43413c3..f8491c0 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockLeave.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockLeave.java @@ -52,8 +52,8 @@ public int colorMultiplier(IBlockAccess par1IBlockAccess, int par2, int par3, in int j1 = 0; int k1 = 0; - for(int l1 = -1; l1 <= 1; ++l1) { - for(int i2 = -1; i2 <= 1; ++i2) { + for (int l1 = -1; l1 <= 1; ++l1) { + for (int i2 = -1; i2 <= 1; ++i2) { int j2 = BiomeGenBase.desert.getBiomeFoliageColor(par2, par3, par4); i1 += (j2 & 16711680) >> 16; j1 += (j2 & '\uff00') >> 8; @@ -68,12 +68,12 @@ public int colorMultiplier(IBlockAccess par1IBlockAccess, int par2, int par3, in public void breakBlock(World par1World, int par2, int par3, int par4, Block par5, int par6) { byte b0 = 1; int j1 = b0 + 1; - if(par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1)) { - for(int k1 = -b0; k1 <= b0; ++k1) { - for(int l1 = -b0; l1 <= b0; ++l1) { - for(int i2 = -b0; i2 <= b0; ++i2) { + if (par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1)) { + for (int k1 = -b0; k1 <= b0; ++k1) { + for (int l1 = -b0; l1 <= b0; ++l1) { + for (int i2 = -b0; i2 <= b0; ++i2) { Block j2 = par1World.getBlock(par2 + k1, par3 + l1, par4 + i2); - if(j2 != null) { + if (j2 != null) { j2.beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2); } } @@ -85,30 +85,30 @@ public void breakBlock(World par1World, int par2, int par3, int par4, Block par5 @Override public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if(!par1World.isRemote) { + if (!par1World.isRemote) { int l = par1World.getBlockMetadata(par2, par3, par4); - if((l & 8) != 0 && (l & 4) == 0) { + if ((l & 8) != 0 && (l & 4) == 0) { byte b0 = 4; int i1 = b0 + 1; byte b1 = 32; int j1 = b1 * b1; int k1 = b1 / 2; - if(this.adjacentTreeBlocks == null) { + if (this.adjacentTreeBlocks == null) { this.adjacentTreeBlocks = new int[b1 * b1 * b1]; } int l1; - if(par1World.checkChunksExist(par2 - i1, par3 - i1, par4 - i1, par2 + i1, par3 + i1, par4 + i1)) { + if (par1World.checkChunksExist(par2 - i1, par3 - i1, par4 - i1, par2 + i1, par3 + i1, par4 + i1)) { int i2; int j2; int k2; - for(l1 = -b0; l1 <= b0; ++l1) { - for(i2 = -b0; i2 <= b0; ++i2) { - for(j2 = -b0; j2 <= b0; ++j2) { + for (l1 = -b0; l1 <= b0; ++l1) { + for (i2 = -b0; i2 <= b0; ++i2) { + for (j2 = -b0; j2 <= b0; ++j2) { Block block = par1World.getBlock(par2 + l1, par3 + i2, par4 + j2); - if(block != null && block.canSustainLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) { + if (block != null && block.canSustainLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) { this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = 0; - } else if(block != null && block.isLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) { + } else if (block != null && block.isLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) { this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = -2; } else { this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = -1; @@ -117,32 +117,32 @@ public void updateTick(World par1World, int par2, int par3, int par4, Random par } } - for(l1 = 1; l1 <= 4; ++l1) { - for(i2 = -b0; i2 <= b0; ++i2) { - for(j2 = -b0; j2 <= b0; ++j2) { - for(k2 = -b0; k2 <= b0; ++k2) { - if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1] == l1 - 1) { - if(this.adjacentTreeBlocks[(i2 + k1 - 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) { + for (l1 = 1; l1 <= 4; ++l1) { + for (i2 = -b0; i2 <= b0; ++i2) { + for (j2 = -b0; j2 <= b0; ++j2) { + for (k2 = -b0; k2 <= b0; ++k2) { + if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1] == l1 - 1) { + if (this.adjacentTreeBlocks[(i2 + k1 - 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) { this.adjacentTreeBlocks[(i2 + k1 - 1) * j1 + (j2 + k1) * b1 + k2 + k1] = l1; } - if(this.adjacentTreeBlocks[(i2 + k1 + 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) { + if (this.adjacentTreeBlocks[(i2 + k1 + 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) { this.adjacentTreeBlocks[(i2 + k1 + 1) * j1 + (j2 + k1) * b1 + k2 + k1] = l1; } - if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 - 1) * b1 + k2 + k1] == -2) { + if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 - 1) * b1 + k2 + k1] == -2) { this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 - 1) * b1 + k2 + k1] = l1; } - if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 + 1) * b1 + k2 + k1] == -2) { + if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 + 1) * b1 + k2 + k1] == -2) { this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 + 1) * b1 + k2 + k1] = l1; } - if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + (k2 + k1 - 1)] == -2) { + if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + (k2 + k1 - 1)] == -2) { this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + (k2 + k1 - 1)] = l1; } - if(this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1 + 1] == -2) { + if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1 + 1] == -2) { this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1 + 1] = l1; } } @@ -153,7 +153,7 @@ public void updateTick(World par1World, int par2, int par3, int par4, Random par } l1 = this.adjacentTreeBlocks[k1 * j1 + k1 * b1 + k1]; - if(l1 >= 0) { + if (l1 >= 0) { par1World.setBlockMetadataWithNotify(par2, par3, par4, l & -9, 4); } else { this.removeLeaves(par1World, par2, par3, par4); @@ -166,7 +166,7 @@ public void updateTick(World par1World, int par2, int par3, int par4, Random par @Override @SideOnly(Side.CLIENT) public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if(par1World.canLightningStrikeAt(par2, par3 + 1, par4) && !par1World.doesBlockHaveSolidTopSurface(par1World, par2, par3 - 1, par4) && par5Random.nextInt(15) == 1) { + if (par1World.canLightningStrikeAt(par2, par3 + 1, par4) && !par1World.doesBlockHaveSolidTopSurface(par1World, par2, par3 - 1, par4) && par5Random.nextInt(15) == 1) { double d0 = (double) ((float) par2 + par5Random.nextFloat()); double d1 = (double) par3 - 0.05D; double d2 = (double) ((float) par4 + par5Random.nextFloat()); @@ -192,20 +192,20 @@ public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) @Override public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int par4, int par5, float par6, int par7) { - if(!par1World.isRemote) { + if (!par1World.isRemote) { int j1 = 20; - if((par5 & 3) == 3) { + if ((par5 & 3) == 3) { j1 = 40; } - if(par7 > 0) { + if (par7 > 0) { j1 -= 2 << par7; - if(j1 < 10) { + if (j1 < 10) { j1 = 10; } } - if(par1World.rand.nextInt(j1) == 0) { + if (par1World.rand.nextInt(j1) == 0) { Item k1 = this.getItemDropped(par5, par1World.rand, par7); this.dropBlockAsItem(par1World, par2, par3, par4, new ItemStack(k1, 1, this.damageDropped(par5))); } @@ -245,17 +245,15 @@ public void registerBlockIcons(IIconRegister par1IIconRegister) { this.blockIcon = par1IIconRegister.registerIcon("atum:AtumLeaves"); } - - @Override public void beginLeavesDecay(World world, int x, int y, int z) { world.setBlockMetadataWithNotify(x, y, z, world.getBlockMetadata(x, y, z) | 8, 4); } -// @Override -// public boolean isLeaves(World world, int x, int y, int z) { -// return true; -// } + @Override + public boolean isLeaves(IBlockAccess world, int x, int y, int z) { + return true; + } @Override public boolean isShearable(ItemStack arg0, IBlockAccess arg1, int arg2, int arg3, int arg4) { diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java index fe61fc6..607e7c8 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java @@ -129,10 +129,9 @@ public boolean onBlockActivated(World par1World, int par2, int par3, int par4, E if (par1World.isRemote) { return true; } else { - TileEntityLimestoneFurnace TileEntityLimestoneFurnace = (TileEntityLimestoneFurnace) par1World.getTileEntity(par2, par3, par4); + TileEntityLimestoneFurnace tileEntityLimestoneFurnace = (TileEntityLimestoneFurnace) par1World.getTileEntity(par2, par3, par4); - if (TileEntityLimestoneFurnace != null) { - // par5EntityPlayer.displayGUIFurnace(TileEntityLimestoneFurnace); + if (tileEntityLimestoneFurnace != null) { par5EntityPlayer.openGui(Atum.instance, 0, par1World, par2, par3, par4); } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmSapling.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmSapling.java index e7be6e3..c73eb8f 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmSapling.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmSapling.java @@ -3,15 +3,15 @@ import java.util.Random; import net.minecraft.block.Block; -import net.minecraft.block.BlockFlower; +import net.minecraft.block.BlockBush; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.init.Blocks; import net.minecraft.world.World; -public class BlockPalmSapling extends BlockFlower { +public class BlockPalmSapling extends BlockBush { protected BlockPalmSapling() { - super(0); + super(); this.setBlockName("palmSapling"); float f = 0.4F; this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, f * 2.0F, 0.5F + f); diff --git a/src/main/java/com/teammetallurgy/atum/client/render/entity/arrow/RenderCustomArrow.java b/src/main/java/com/teammetallurgy/atum/client/render/entity/arrow/RenderCustomArrow.java index df3d878..2b2cad7 100644 --- a/src/main/java/com/teammetallurgy/atum/client/render/entity/arrow/RenderCustomArrow.java +++ b/src/main/java/com/teammetallurgy/atum/client/render/entity/arrow/RenderCustomArrow.java @@ -17,7 +17,6 @@ @SideOnly(Side.CLIENT) public class RenderCustomArrow extends Render { - private static final ResourceLocation arrowTextures = new ResourceLocation("textures/entity/arrow.png"); public void renderArrow(CustomArrow entityArrow, double par2, double par4, double par6, float par8, float par9) { @@ -88,6 +87,6 @@ public void doRender(Entity par1Entity, double par2, double par4, double par6, f @Override protected ResourceLocation getEntityTexture(Entity entity) { - return arrowTextures; + return new ResourceLocation(((CustomArrow)entity).getTexture()); } } \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java index 06d35cc..2b55f96 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java @@ -27,4 +27,7 @@ public void writeEntityToNBT(NBTTagCompound nbttagcompound) { protected void entityInit() { } + public String getTexture() { + return ""; + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java index 6292859..aa4f921 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java @@ -527,8 +527,8 @@ public void setThrower(Entity entity) { shootingEntity = entity; } -// @Override -// public String getTexture() { -// return "atum:textures/projectiles/arrows_double.png"; -// } + @Override + public String getTexture() { + return "Atum:textures/projectiles/arrows_double.png"; + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java index fde8a02..8e33663 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java @@ -535,8 +535,8 @@ public void setThrower(Entity entity) { shootingEntity = entity; } -// @Override -// public String getTexture() { -// return "atum:textures/projectiles/arrows_exploding.png"; -// } + @Override + public String getTexture() { + return "Atum:textures/projectiles/arrows_exploding.png"; + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java index 69602d1..e55a145 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java @@ -531,8 +531,8 @@ public void setThrower(Entity entity) { shootingEntity = entity; } -// @Override -// public String getTexture() { -// return "atum:textures/projectiles/arrows_fire.png"; -// } + @Override + public String getTexture() { + return "Atum:textures/projectiles/arrows_fire.png"; + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java index 8106abc..d85e2d5 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java @@ -413,7 +413,7 @@ public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { par1NBTTagCompound.setShort("xTile", (short) this.xTile); par1NBTTagCompound.setShort("yTile", (short) this.yTile); par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setString("inTile", this.inTile.getUnlocalizedName()); + par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); par1NBTTagCompound.setByte("inData", (byte) this.inData); par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); @@ -428,7 +428,7 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { this.xTile = par1NBTTagCompound.getShort("xTile"); this.yTile = par1NBTTagCompound.getShort("yTile"); this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = Block.getBlockFromName(par1NBTTagCompound.getString("inTile")); + this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); this.inData = par1NBTTagCompound.getByte("inData") & 255; this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; this.inGround = par1NBTTagCompound.getByte("inGround") == 1; @@ -531,8 +531,8 @@ public void setThrower(Entity entity) { shootingEntity = entity; } -// @Override -// public String getTexture() { -// return "atum:textures/projectiles/arrows_poison.png"; -// } + @Override + public String getTexture() { + return "Atum:textures/projectiles/arrows_poison.png"; + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java index c90fce5..62c4007 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java @@ -527,8 +527,8 @@ public void setThrower(Entity entity) { shootingEntity = entity; } -// @Override -// public String getTexture() { -// return "atum:textures/projectiles/arrows_quickdraw.png"; -// } + @Override + public String getTexture() { + return "Atum:textures/projectiles/arrows_quickdraw.png"; + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java index 453bf0d..8ee8fef 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java @@ -527,8 +527,8 @@ public void setThrower(Entity entity) { shootingEntity = entity; } -// @Override -// public String getTexture() { -// return "atum:textures/projectiles/arrows_velocity.png"; -// } + @Override + public String getTexture() { + return "Atum:textures/projectiles/arrows_velocity.png"; + } } diff --git a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java index 3367880..18a7c82 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java +++ b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java @@ -59,7 +59,7 @@ public void onUpdate(TickEvent.PlayerTickEvent event) { if (player.dimension == AtumIDS.DIMENSION_ID) { if (Minecraft.getMinecraft().gameSettings.renderDistanceChunks > 2) { defaultFog = Minecraft.getMinecraft().gameSettings.renderDistanceChunks; - Minecraft.getMinecraft().gameSettings.renderDistanceChunks = nightvision ? 1 : 2; + Minecraft.getMinecraft().gameSettings.renderDistanceChunks = nightvision ? 3 : 2; } if (player.worldObj.isRaining()) { diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java b/src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java index 516549b..65300a2 100644 --- a/src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java @@ -395,7 +395,7 @@ public boolean makePortal(Entity par1Entity) { for(int x1 = -1; x1 < 2; x1++) { for(int z1 = -1; z1 < 2; z1++) { - this.worldServerInstance.setBlock(x1 + entityX, entityY + 1, z1 + entityZ, AtumBlocks.BLOCK_PORTAL); + this.worldServerInstance.setBlock(x1 + entityX, entityY + 1, z1 + entityZ, AtumBlocks.BLOCK_PORTAL, 0, 2); } } diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java b/src/main/java/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java index aa8ff78..5ca4613 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java @@ -548,7 +548,6 @@ public void recreateStructures(int par1, int par2) { @Override public ChunkPosition func_147416_a(World var1, String var2, int var3, int var4, int var5) { - // TODO Auto-generated method stub return null; } } \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java index 2ebc7e4..1954717 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java +++ b/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java @@ -43,7 +43,7 @@ public boolean generate(World world, Random random, int i, int j, int k) { int width = 17; int depth = 17; - System.out.println("x: " + i + ":" + j + ":" + k); + boolean[][] maze = new boolean[17][17]; ArrayList points = new ArrayList(); From fc9696fa24d53c5e8fd16298d908ea2bc1583348 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Sun, 8 Jun 2014 11:26:38 +1000 Subject: [PATCH 049/157] Fixed console spam and other bugs --- .../java/com/teammetallurgy/atum/AtumCreativeTab.java | 10 ---------- .../com/teammetallurgy/atum/blocks/BlockAtumSlab.java | 4 ++++ .../java/com/teammetallurgy/atum/blocks/BlockDate.java | 4 ++++ .../teammetallurgy/atum/blocks/BlockPharaohChest.java | 3 ++- .../java/com/teammetallurgy/atum/items/ItemScarab.java | 8 ++++---- .../atum/items/artifacts/ItemAnuketsBounty.java | 1 - .../atum/items/artifacts/ItemHedetetsVenom.java | 1 - .../atum/items/artifacts/ItemHorusSoaring.java | 4 ++-- .../atum/items/artifacts/ItemMonthusBlast.java | 1 - .../atum/items/artifacts/ItemShusBreath.java | 1 - 10 files changed, 16 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/AtumCreativeTab.java b/src/main/java/com/teammetallurgy/atum/AtumCreativeTab.java index 6f31be5..ec93ba1 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumCreativeTab.java +++ b/src/main/java/com/teammetallurgy/atum/AtumCreativeTab.java @@ -11,16 +11,6 @@ public AtumCreativeTab() { super("Atum"); } - @Override - public String getBackgroundImageName() { - return super.getBackgroundImageName().replace("s.png", "_search.png"); - } - - @Override - public boolean hasSearchBar() { - return true; - } - @Override public Item getTabIconItem() { return AtumItems.ITEM_SCARAB; diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumSlab.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumSlab.java index 46d6fb1..ef1d0df 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumSlab.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumSlab.java @@ -5,6 +5,7 @@ import net.minecraft.block.BlockSlab; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -55,4 +56,7 @@ public String func_150002_b(int var1) { return this.getUnlocalizedName(); } + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister p_149651_1_) { + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java index 9f1dffa..56c4dad 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java @@ -4,6 +4,7 @@ import net.minecraft.block.Block; import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.item.EntityItem; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -64,4 +65,7 @@ public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, i return new ItemStack(AtumItems.ITEM_DATE); } + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister p_149651_1_) { + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java index f02c6ad..5160ad8 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java @@ -34,6 +34,7 @@ protected BlockPharaohChest() { super(Material.wood); this.setBlockName("pharaohChest"); this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); + this.setHardness(4.0F); } @Override @@ -193,7 +194,7 @@ public int getComparatorInputOverride(World par1World, int par2, int par3, int p @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister par1IIconRegister) { - this.blockIcon = par1IIconRegister.registerIcon("wood"); + this.blockIcon = par1IIconRegister.registerIcon("log_oak"); } @Override diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java b/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java index 79b338f..7365f33 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java @@ -25,14 +25,14 @@ public boolean hasEffect(ItemStack par1ItemStack) { @Override public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int x, int y, int z, int par7, float par8, float par9, float par10) { - Block blockID = par3World.getBlock(x, y, z); + Block block = par3World.getBlock(x, y, z); Block temp = null; - if(blockID == Blocks.sandstone) { + if(block == Blocks.sandstone) { temp = Blocks.sandstone; - } else if(blockID == AtumBlocks.BLOCK_LARGEBRICK) { + } else if(block == AtumBlocks.BLOCK_LARGEBRICK) { temp = AtumBlocks.BLOCK_LARGEBRICK; } - if(blockID != null) { + if(temp != null) { if(!((BlockPortal) AtumBlocks.BLOCK_PORTAL).tryToCreatePortal(par3World, x, y, z, temp)) { if(par2EntityPlayer.capabilities.isCreativeMode) { for(int x1 = -2; x1 < 3; x1++) { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java index 7288fa4..00519fa 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java @@ -68,7 +68,6 @@ public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, Enti @Override public void registerIcons(IIconRegister par1IIconRegister) { - super.registerIcons(par1IIconRegister); this.itemIcon = par1IIconRegister.registerIcon("atum:AnuketsBounty"); this.theIcon = par1IIconRegister.registerIcon("fishing_rod_cast"); } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java index cb93f66..823f280 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java @@ -115,7 +115,6 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister par1IIconRegister) { - super.registerIcons(par1IIconRegister); this.iconArray = new IIcon[bowPullIconNameArray.length]; this.itemIcon = par1IIconRegister.registerIcon("atum:HedetetsVenom"); for (int i = 0; i < this.iconArray.length; ++i) { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java index 490ec10..a847ed1 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java @@ -112,9 +112,9 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister par1IIconRegister) { - super.registerIcons(par1IIconRegister); - this.iconArray = new IIcon[bowPullIconNameArray.length]; this.itemIcon = par1IIconRegister.registerIcon("atum:HorusSoaring"); + this.iconArray = new IIcon[bowPullIconNameArray.length]; + for (int i = 0; i < this.iconArray.length; ++i) { this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java index 4d54de1..af93371 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java @@ -121,7 +121,6 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister par1IIconRegister) { - super.registerIcons(par1IIconRegister); this.iconArray = new IIcon[bowPullIconNameArray.length]; this.itemIcon = par1IIconRegister.registerIcon("atum:MonthusBlast"); for (int i = 0; i < this.iconArray.length; ++i) { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java index 156981b..f4c1a4f 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java @@ -128,7 +128,6 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister par1IIconRegister) { - super.registerIcons(par1IIconRegister); this.iconArray = new IIcon[bowPullIconNameArray.length]; this.itemIcon = par1IIconRegister.registerIcon("atum:ShusBreath"); for (int i = 0; i < this.iconArray.length; ++i) { From b4d004c080c15a09271958dec7c621fa12fc5efa Mon Sep 17 00:00:00 2001 From: lclc98 Date: Sun, 8 Jun 2014 12:02:51 +1000 Subject: [PATCH 050/157] Fixed Render Bug --- .../atum/blocks/BlockChestSpawner.java | 2 +- .../furnace/GuiLimestoneFurnace.java | 2 +- .../entity/arrow/RenderCustomArrow.java | 2 +- .../render/entity/arrow/RenderNutsCall.java | 2 +- .../atum/entity/AtumEntities.java | 26 ++++++++++++------- .../atum/entity/arrow/CustomArrow.java | 2 +- .../entity/arrow/EntityArrowDoubleShot.java | 4 +-- .../entity/arrow/EntityArrowExplosive.java | 4 +-- .../atum/entity/arrow/EntityArrowFire.java | 4 +-- .../entity/arrow/EntityArrowQuickdraw.java | 4 +-- .../entity/arrow/EntityArrowVelocity.java | 4 +-- .../atum/entity/arrow/EntityAtumFishHook.java | 4 +-- .../atum/entity/arrow/EntityNutsCall.java | 4 +-- .../lib/tickhandler/ClientTickHandler.java | 2 +- 14 files changed, 37 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java index 35a9731..2ff18f3 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java @@ -191,6 +191,6 @@ public int getComparatorInputOverride(World par1World, int par2, int par3, int p @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister par1IIconRegister) { - this.blockIcon = par1IIconRegister.registerIcon("wood"); + this.blockIcon = par1IIconRegister.registerIcon("log_oak"); } } \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java index 76c56d6..666c76a 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java @@ -38,7 +38,7 @@ protected void drawGuiContainerForegroundLayer(int par1, int par2) { @Override protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - this.mc.renderEngine.bindTexture(new ResourceLocation("textures/gui/container/furnace.png")); + this.mc.renderEngine.bindTexture(new ResourceLocation("textures/gui/container/furnace")); int k = (this.width - this.xSize) / 2; int l = (this.height - this.ySize) / 2; this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize); diff --git a/src/main/java/com/teammetallurgy/atum/client/render/entity/arrow/RenderCustomArrow.java b/src/main/java/com/teammetallurgy/atum/client/render/entity/arrow/RenderCustomArrow.java index 2b2cad7..195ec0a 100644 --- a/src/main/java/com/teammetallurgy/atum/client/render/entity/arrow/RenderCustomArrow.java +++ b/src/main/java/com/teammetallurgy/atum/client/render/entity/arrow/RenderCustomArrow.java @@ -19,7 +19,7 @@ public class RenderCustomArrow extends Render { public void renderArrow(CustomArrow entityArrow, double par2, double par4, double par6, float par8, float par9) { - + this.bindEntityTexture(entityArrow); GL11.glPushMatrix(); GL11.glTranslatef((float) par2, (float) par4, (float) par6); GL11.glRotatef(entityArrow.prevRotationYaw + (entityArrow.rotationYaw - entityArrow.prevRotationYaw) * par9 - 90.0F, 0.0F, 1.0F, 0.0F); diff --git a/src/main/java/com/teammetallurgy/atum/client/render/entity/arrow/RenderNutsCall.java b/src/main/java/com/teammetallurgy/atum/client/render/entity/arrow/RenderNutsCall.java index a3ad91f..20b9215 100644 --- a/src/main/java/com/teammetallurgy/atum/client/render/entity/arrow/RenderNutsCall.java +++ b/src/main/java/com/teammetallurgy/atum/client/render/entity/arrow/RenderNutsCall.java @@ -64,6 +64,6 @@ public void doRender(Entity par1Entity, double par2, double par4, double par6, f @Override protected ResourceLocation getEntityTexture(Entity entity) { - return new ResourceLocation("atum", "textures/projectiles/nutscall.png"); + return new ResourceLocation("Atum:textures/projectiles/nutscall.png"); } } \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java b/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java index 7a221d9..4f03d8e 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java +++ b/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java @@ -55,19 +55,27 @@ public void register() { entityID++; EntityRegistry.registerModEntity(EntityBanditWarlord.class, "banditWarlord", entityID, Atum.instance, 64, 1, true); EntityRegistry.registerGlobalEntityID(EntityBanditWarlord.class, "banditWarlord", entityID, 0x918354, 0x695D37); - + entityID++; EntityRegistry.registerModEntity(EntityBarbarian.class, "barbarian", entityID, Atum.instance, 64, 1, true); EntityRegistry.registerGlobalEntityID(EntityBarbarian.class, "barbarian", entityID, 0x918354, 0x695D37); - EntityRegistry.registerModEntity(EntityArrowVelocity.class, "ArrowVeloctiy", 0, Atum.instance, 64, 1, true); - EntityRegistry.registerModEntity(EntityArrowExplosive.class, "ArrowExplosive", 1, Atum.instance, 64, 1, true); - EntityRegistry.registerModEntity(EntityArrowPoison.class, "ArrowPoison", 2, Atum.instance, 64, 1, true); - EntityRegistry.registerModEntity(EntityArrowFire.class, "ArrowFire", 3, Atum.instance, 64, 1, true); - EntityRegistry.registerModEntity(EntityArrowDoubleShot.class, "ArrowFire", 4, Atum.instance, 64, 1, true); - EntityRegistry.registerModEntity(EntityArrowQuickdraw.class, "ArrowFire", 5, Atum.instance, 64, 1, true); - EntityRegistry.registerModEntity(EntityNutsCall.class, "EntityNutsCall", 6, Atum.instance, 64, 1, true); - EntityRegistry.registerModEntity(EntityAtumFishHook.class, "EntityAtumFishHook", 7, Atum.instance, 64, 1, false); + entityID++; + EntityRegistry.registerModEntity(EntityArrowVelocity.class, "ArrowVeloctiy", entityID, Atum.instance, 64, 1, true); + entityID++; + EntityRegistry.registerModEntity(EntityArrowExplosive.class, "ArrowExplosive", entityID, Atum.instance, 64, 1, true); + entityID++; + EntityRegistry.registerModEntity(EntityArrowPoison.class, "ArrowPoison", entityID, Atum.instance, 64, 1, true); + entityID++; + EntityRegistry.registerModEntity(EntityArrowFire.class, "ArrowFire", entityID, Atum.instance, 64, 1, true); + entityID++; + EntityRegistry.registerModEntity(EntityArrowDoubleShot.class, "ArrowFire", entityID, Atum.instance, 64, 1, true); + entityID++; + EntityRegistry.registerModEntity(EntityArrowQuickdraw.class, "ArrowFire", entityID, Atum.instance, 64, 1, true); + entityID++; + EntityRegistry.registerModEntity(EntityNutsCall.class, "EntityNutsCall", entityID, Atum.instance, 64, 1, true); + entityID++; + EntityRegistry.registerModEntity(EntityAtumFishHook.class, "EntityAtumFishHook", entityID, Atum.instance, 64, 1, false); } diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java index 2b55f96..97344c2 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java @@ -28,6 +28,6 @@ protected void entityInit() { } public String getTexture() { - return ""; + return "minecraft:arrow"; } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java index aa4f921..7b8f7d1 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java @@ -409,7 +409,7 @@ public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { par1NBTTagCompound.setShort("xTile", (short) this.xTile); par1NBTTagCompound.setShort("yTile", (short) this.yTile); par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setString("inTile", this.inTile.getUnlocalizedName()); + par1NBTTagCompound.setByte("inTile", (byte)Block.getIdFromBlock(this.inTile)); par1NBTTagCompound.setByte("inData", (byte) this.inData); par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); @@ -424,7 +424,7 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { this.xTile = par1NBTTagCompound.getShort("xTile"); this.yTile = par1NBTTagCompound.getShort("yTile"); this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = Block.getBlockFromName(par1NBTTagCompound.getString("inTile")); + this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); this.inData = par1NBTTagCompound.getByte("inData") & 255; this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; this.inGround = par1NBTTagCompound.getByte("inGround") == 1; diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java index 8e33663..0875bb1 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java @@ -417,7 +417,7 @@ public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { par1NBTTagCompound.setShort("xTile", (short) this.xTile); par1NBTTagCompound.setShort("yTile", (short) this.yTile); par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setString("inTile", this.inTile.getUnlocalizedName()); + par1NBTTagCompound.setByte("inTile", (byte)Block.getIdFromBlock(this.inTile)); par1NBTTagCompound.setByte("inData", (byte) this.inData); par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); @@ -432,7 +432,7 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { this.xTile = par1NBTTagCompound.getShort("xTile"); this.yTile = par1NBTTagCompound.getShort("yTile"); this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = Block.getBlockFromName(par1NBTTagCompound.getString("inTile")); + this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); this.inData = par1NBTTagCompound.getByte("inData") & 255; this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; this.inGround = par1NBTTagCompound.getByte("inGround") == 1; diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java index e55a145..4dd1f2d 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java @@ -413,7 +413,7 @@ public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { par1NBTTagCompound.setShort("xTile", (short) this.xTile); par1NBTTagCompound.setShort("yTile", (short) this.yTile); par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setString("inTile", this.inTile.getUnlocalizedName()); + par1NBTTagCompound.setByte("inTile", (byte)Block.getIdFromBlock(this.inTile)); par1NBTTagCompound.setByte("inData", (byte) this.inData); par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); @@ -428,7 +428,7 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { this.xTile = par1NBTTagCompound.getShort("xTile"); this.yTile = par1NBTTagCompound.getShort("yTile"); this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = Block.getBlockFromName(par1NBTTagCompound.getString("inTile")); + this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); this.inData = par1NBTTagCompound.getByte("inData") & 255; this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; this.inGround = par1NBTTagCompound.getByte("inGround") == 1; diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java index 62c4007..bd7c8d9 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java @@ -409,7 +409,7 @@ public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { par1NBTTagCompound.setShort("xTile", (short) this.xTile); par1NBTTagCompound.setShort("yTile", (short) this.yTile); par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setString("inTile", this.inTile.getUnlocalizedName()); + par1NBTTagCompound.setByte("inTile", (byte)Block.getIdFromBlock(this.inTile)); par1NBTTagCompound.setByte("inData", (byte) this.inData); par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); @@ -424,7 +424,7 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { this.xTile = par1NBTTagCompound.getShort("xTile"); this.yTile = par1NBTTagCompound.getShort("yTile"); this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = Block.getBlockFromName(par1NBTTagCompound.getString("inTile")); + this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); this.inData = par1NBTTagCompound.getByte("inData") & 255; this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; this.inGround = par1NBTTagCompound.getByte("inGround") == 1; diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java index 8ee8fef..8ab3053 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java @@ -409,7 +409,7 @@ public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { par1NBTTagCompound.setShort("xTile", (short) this.xTile); par1NBTTagCompound.setShort("yTile", (short) this.yTile); par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setString("inTile", this.inTile.getUnlocalizedName()); + par1NBTTagCompound.setByte("inTile", (byte)Block.getIdFromBlock(this.inTile)); par1NBTTagCompound.setByte("inData", (byte) this.inData); par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); @@ -424,7 +424,7 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { this.xTile = par1NBTTagCompound.getShort("xTile"); this.yTile = par1NBTTagCompound.getShort("yTile"); this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = Block.getBlockFromName(par1NBTTagCompound.getString("inTile")); + this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); this.inData = par1NBTTagCompound.getByte("inData") & 255; this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; this.inGround = par1NBTTagCompound.getByte("inGround") == 1; diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java index 39e82bc..73b9119 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java @@ -394,7 +394,7 @@ public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { par1NBTTagCompound.setShort("xTile", (short) this.xTile); par1NBTTagCompound.setShort("yTile", (short) this.yTile); par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setString("inTile", this.inTile.getUnlocalizedName()); + par1NBTTagCompound.setByte("inTile", (byte)Block.getIdFromBlock(this.inTile)); par1NBTTagCompound.setByte("shake", (byte) this.shake); par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); } @@ -406,7 +406,7 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { this.xTile = par1NBTTagCompound.getShort("xTile"); this.yTile = par1NBTTagCompound.getShort("yTile"); this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = Block.getBlockFromName(par1NBTTagCompound.getString("inTile")); + this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); this.shake = par1NBTTagCompound.getByte("shake") & 255; this.inGround = par1NBTTagCompound.getByte("inGround") == 1; } diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java index 3c8f323..93a831c 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java @@ -414,7 +414,7 @@ public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { par1NBTTagCompound.setShort("xTile", (short) this.xTile); par1NBTTagCompound.setShort("yTile", (short) this.yTile); par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setString("inTile", this.inTile.getUnlocalizedName()); + par1NBTTagCompound.setByte("inTile", (byte)Block.getIdFromBlock(this.inTile)); par1NBTTagCompound.setByte("inData", (byte) this.inData); par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); @@ -434,7 +434,7 @@ public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { this.xTile = par1NBTTagCompound.getShort("xTile"); this.yTile = par1NBTTagCompound.getShort("yTile"); this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = Block.getBlockFromName(par1NBTTagCompound.getString("inTile")); + this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); this.inData = par1NBTTagCompound.getByte("inData") & 255; this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; this.inGround = par1NBTTagCompound.getByte("inGround") == 1; diff --git a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java index 18a7c82..12078be 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java +++ b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java @@ -31,7 +31,7 @@ public void onRender(TickEvent.RenderTickEvent event) { int par1 = scaledresolution.getScaledWidth(); int par2 = scaledresolution.getScaledHeight(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation("atum", "textures/hud/mummyblur.png")); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation("atum", "textures/hud/mummyblur")); Tessellator tessellator = Tessellator.instance; tessellator.startDrawingQuads(); tessellator.addVertexWithUV(0.0D, par2, -100, 0.0D, 1.0D); From 20203b00b613afeede40d642f1f30a3864713306 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Sun, 8 Jun 2014 05:38:17 +0300 Subject: [PATCH 051/157] Fixed missing textures for date and shrub --- src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java | 2 +- src/main/java/com/teammetallurgy/atum/items/AtumItems.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java index 785ce0e..00ab1f8 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java @@ -42,7 +42,7 @@ public enum AtumBlocks { public static final Block BLOCK_FRAMEDGLASS = new BlockAtumGlass("atum:AtumFramedGlass").setBlockName("framedGlass"); public static final Block BLOCK_PALMSAPLING = new BlockPalmSapling(); public static final Block BLOCK_DATEBLOCK = new BlockDate(); - public static final Block BLOCK_SHRUB = new BlockShrub().setBlockName("shrub").setBlockTextureName("atum:shrub"); + public static final Block BLOCK_SHRUB = new BlockShrub().setBlockName("shrub").setBlockTextureName("atum:Shrub"); public static final Block BLOCK_WEED = new BlockShrub().setBlockName("weed").setBlockTextureName("atum:DeadBush"); public static final Block BLOCK_PAPYRUS = new BlockPapyrus(); public static final Block BLOCK_FLAX = new BlockFlax(); diff --git a/src/main/java/com/teammetallurgy/atum/items/AtumItems.java b/src/main/java/com/teammetallurgy/atum/items/AtumItems.java index a2d4f17..bc9c639 100644 --- a/src/main/java/com/teammetallurgy/atum/items/AtumItems.java +++ b/src/main/java/com/teammetallurgy/atum/items/AtumItems.java @@ -52,7 +52,7 @@ public enum AtumItems { public static final Item ITEM_LINEN = new Item().setUnlocalizedName("linen").setTextureName("atum:Linen"); public static final Item ITEM_SCARAB = new ItemScarab().setUnlocalizedName("scarab"); public static final Item ITEM_LOOT = new ItemLoot().setUnlocalizedName("loot"); - public static final Item ITEM_DATE = new ItemFood(5, 1.5F, false).setTextureName("atum:date").setUnlocalizedName("date"); + public static final Item ITEM_DATE = new ItemFood(5, 1.5F, false).setTextureName("atum:Date").setUnlocalizedName("date"); public static final Item ITEM_SCIMITAR = new ItemScimitar(ToolMaterial.IRON).setUnlocalizedName("scimitar"); public static final Item ITEM_GREATSWORD = new ItemGreatsword(ToolMaterial.IRON).setUnlocalizedName("greatsword").setTextureName("atum:Greatsword"); public static final Item ITEM_BOW = new ItemAtumBow().setUnlocalizedName("bow"); From 83637d22cab2620d57ff282835b50ea6237ab638 Mon Sep 17 00:00:00 2001 From: Anton Date: Wed, 11 Jun 2014 19:11:51 +0400 Subject: [PATCH 052/157] Create ru_RU.lang @Vexatos @crafteverywhere @TheVikingWarrior you may interested in Atum and Aquaculture --- .../resources/assets/atum/lang/ru_RU.lang | 146 ++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 src/main/resources/assets/atum/lang/ru_RU.lang diff --git a/src/main/resources/assets/atum/lang/ru_RU.lang b/src/main/resources/assets/atum/lang/ru_RU.lang new file mode 100644 index 0000000..5c9c91b --- /dev/null +++ b/src/main/resources/assets/atum/lang/ru_RU.lang @@ -0,0 +1,146 @@ +# Misc +itemGroup.Atum=Atum +biome.desert.name=Пустыня + +# Blocks +block.portal.name=Портал в «Атум» +tile.chestSpawner.name=Сундук «Атума» +tile.sand.name=Странный песок +block.stone.name=Известняк +tile.cobble.name=Потрескавшийся известняк +tile.largeBrick.name=Известняковый большой кирпич +tile.smallBrick.name=Известняковый маленький кирпич +tile.carvedBrick.name=Известняковый резной кирпич +tile.smoothSlab.name=Плита из гладкого известняка +tile.crackedSlab.name=Плита из потрескавшегося известняка +tile.largeBrickSlab.name=Плита из большого известнякового кирпича +tile.smallBrickSlab.name=Плита из маленького известнякового кирпича +tile.doubleSlab.name=Плита из известняка +tile.smoothStairs.name=Известняковые ступеньки +tile.cobbleStairs.name=Ступеньки из известнякового булыжника +tile.largeStairs.name=Ступеньки из большого известнякового кирпича +tile.smallStairs.name=Ступеньки из маленького известнякового кирпича +tile.sandLayer.name=Песчаный слой +tile.crackedLargeBrick.name=Известняковый потрескавшийся большой кирпич +tile.smoothWall.name=Стена из гладкого известняка +tile.crackedWall.name=Стена из потрескавшегося известняка +tile.largeBrickWall.name=Стена из большого известнякового кирпича +tile.smallBrickWall.name=Стена из маленького известнякового кирпича +tile.crystalGlass.name=Кристальное стекло +tile.framedGlass.name=Обрамленное стекло +tile.palmSapling.name=Саженец пальмы +tile.date.name=Финик +tile.shrub.name=Кустарник +tile.weed.name=Сорняк +tile.papyrus.name=Папирус +tile.flax.name=Лён +tile.fertileSoil.name=Плодородная почва +tile.fertileSoilTilled.name=Вспаханная плодородная почва +tile.palmLog.name=Древесина пальмы +tile.palmLeaves.name=Листва пальмы +tile.palmPlanks.name=Доски из пальмы +tile.thinCrystalGlass.name=Тонкое кристальное стекло +tile.thinFramedGlass.name=Тонкое обрамленное стекло +tile.burningTrap.name=Сжигающая ловушка +tile.pharaohChest.name=Сундук Фараона +tile.redstoneOre.name=Руда красного камня +tile.coalOre.name=Угольная руда +tile.ironOre.name=Железная руда +tile.goldOre.name=Золотая руда +tile.lapisOre.name=Лазуритовая руда +tile.diamondOre.name=Алмазная руда +tile.furnaceIdle.name=Известняковая печь +tile.furnaceBurning.name=Известняковая печь + +# Item +item.scarab.name=Скарабей +item.loot.name=Добыча +item.scimitar.name=Скимитар +item.greatsword.name=Большой меч +item.scepter.name=Скипетр +item.stoneSoldierSword.name=Меч каменного война +item.bow.name=Короткий лук + +item.ptahsDecadence.name=Декаданс бога Птаха +item.soteksRage.name=Ярость Сотека +item.osirisWill.name=Воля Осириса +item.akersToil.name=Труд Акера +item.gebsBlessing.name=Благословение Геба +item.atensFury.name=Неистовство Атона +item.rasGlory.name=Слава бога Ра +item.sekhmetsWrath.name=Гнев Сехмета +item.nutsAgility.name=Ловкость богини Нут +item.horusFlight.name=Полёт Хора +item.monthusStrike.name=Удар Монту +item.anhursMight.name=Мощь Онуриса +item.hedetetsSting.name=Жало Хедетета +item.horusSoaring.name=Парение Хора +item.shusBreath.name=Дыхание Шу +item.ptahsDestruction.name=Разрушение бога Птаха +item.monthusBlast.name=Взрыв Монту +item.nusFlux.name=Поток Нун +item.mnevisHorns.name=Рожки Мневиса +item.isisEmbrace.name=Объятие Исиды +item.maatsBalance.name=Равновесие Маата +item.hedetetsVenom.name=Яд Хедетета +item.gebsSolidarity.name=Единство Геба +item.nutsCall.name=Вызов богини Нут +item.anuketsBounty.name=Щедрость Анукета +item.mafdetsQuickness.name=Быстрота Мафдета +item.isisHealing.name=Исцеление Исиды +item.amunetsHomecoming.name=Возвращение Амаунета +item.anubisMercy.name=Милость Анубиса + +item.limestoneShovel.name=Известняковая лопата +item.limestonePickaxe.name=Известняковая кирка +item.limestoneAxe.name=Известняковый топор +item.limestoneSword.name=Известняковый меч +item.limestoneHoe.name=Известняковая мотыга +item.mummyHelmet.name=Шлем мумии +item.mummyChest.name=Кираса мумии +item.mummyLegs.name=Поножи мумии +item.mummyBoots.name=Ботинки мумии +item.wandererHelmet.name=Шлем скитальца +item.wandererChest.name=Кираса скитальца +item.wandererLegs.name=Поножи скитальца +item.wandererBoots.name=ботинки скитальца +item.desertHelmet.name=Пустынный шлем +item.desertChest.name=Пустынная кираса +item.desertLegs.name=Пустынные поножи +item.desertBoots.name=Пустынные ботинки +item.papyrusPlant.name=Папирус +item.ectoplasm.name=Эктоплазма +item.stoneChunk.name=Каменный кусок +item.clothScrap.name=Клочок ткани +item.scroll.name=Свиток +item.wolfPelt.name=Волчья шкура +item.date.name=Финик +item.linen.name=Льняная ткань +item.flax.name=Лён +item.flaxSeeds.name=Семена льна +item.fish.0.name=Брошенная рыба +item.fish.1.name=Мумифицированная рыба +item.fish.2.name=Украшенная рыба +item.fish.3.name=Скелетная рыба +item.neithsAudacity.name=Смелость Нейт + +# Loot +item.loot.Dirty.name=Грязн. +item.loot.Silver.name=Серебрян. +item.loot.Gold.name=Золот. +item.loot.Sapphire.name=Сапфиров. +item.loot.Ruby.name=Рубинов. +item.loot.Emerald.name=Изумрудн. +item.loot.Diamond.name=Алмазн. + +# Entity +entity.Atum.mummy.name=Мумия +entity.Atum.nanditWarrior.name=Бандит-воин +entity.Atum.banditArcher.name=Бандит-стрелок +entity.Atum.pharaoh.name=Фараон +entity.Atum.dustySkeleton.name=Пыльный скелет +entity.Atum.desertGhost.name=Пустынный призрак +entity.Atum.stoneSoldier.name=Каменный воин +entity.Atum.desertWolf.name=Пустынный волк +entity.Atum.banditWarlord.name=Бандит военачальник +entity.Atum.barbarian.name=Варвар From 7884819e11292b55e84df29258dd3dbade12b31d Mon Sep 17 00:00:00 2001 From: lclc98 Date: Thu, 12 Jun 2014 10:00:24 +1000 Subject: [PATCH 053/157] Fixed localization for loot Closes #6 --- src/main/java/com/teammetallurgy/atum/items/ItemLoot.java | 3 ++- src/main/resources/assets/atum/lang/en_US.lang | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java b/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java index e5a3d66..0f397df 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java @@ -12,6 +12,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; +import net.minecraft.util.StatCollector; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -42,7 +43,7 @@ public String getUnlocalizedName(ItemStack par1ItemStack) { @Override public String getItemStackDisplayName(ItemStack par1ItemStack) { int type = par1ItemStack.getItemDamage() >> 5 & 15; - return super.getItemStackDisplayName(par1ItemStack) + " " + typeArray[type]; + return super.getItemStackDisplayName(par1ItemStack) + " " + StatCollector.translateToLocal("item.loot." + typeArray[type] + ".name"); } @Override diff --git a/src/main/resources/assets/atum/lang/en_US.lang b/src/main/resources/assets/atum/lang/en_US.lang index 398084a..fc9f34b 100644 --- a/src/main/resources/assets/atum/lang/en_US.lang +++ b/src/main/resources/assets/atum/lang/en_US.lang @@ -133,6 +133,12 @@ item.loot.Ruby.name=Ruby item.loot.Emerald.name=Emerald item.loot.Diamond.name=Diamond +item.loot.Idol.name=Idol +item.loot.Necklace.name=Necklace +item.loot.Ring.name=Ring +item.loot.Broach.name=Broach +item.loot.Scepter.name=Scepter + # Entity entity.Atum.mummy.name=Mummy entity.Atum.nanditWarrior.name=Bandit Warrior From 0ae16c6e7af247d919662c2243304d1f5ef87719 Mon Sep 17 00:00:00 2001 From: Anton Date: Thu, 12 Jun 2014 09:51:36 +0400 Subject: [PATCH 054/157] Update ru_RU.lang --- src/main/resources/assets/atum/lang/ru_RU.lang | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/resources/assets/atum/lang/ru_RU.lang b/src/main/resources/assets/atum/lang/ru_RU.lang index 5c9c91b..9a8d552 100644 --- a/src/main/resources/assets/atum/lang/ru_RU.lang +++ b/src/main/resources/assets/atum/lang/ru_RU.lang @@ -133,6 +133,12 @@ item.loot.Ruby.name=Рубинов. item.loot.Emerald.name=Изумрудн. item.loot.Diamond.name=Алмазн. +item.loot.Idol.name=идол +item.loot.Necklace.name=ожерелье +item.loot.Ring.name=кольцо +item.loot.Broach.name=брошь +item.loot.Scepter.name=скипетр + # Entity entity.Atum.mummy.name=Мумия entity.Atum.nanditWarrior.name=Бандит-воин From b87df703dde7ceeeaf21c9c1f3bd4095b6e2355a Mon Sep 17 00:00:00 2001 From: lclc98 Date: Fri, 13 Jun 2014 18:26:22 +1000 Subject: [PATCH 055/157] Now you can disable portal creation Closes #4 --- .../com/teammetallurgy/atum/AtumConfig.java | 12 ++-- .../java/com/teammetallurgy/atum/AtumIDS.java | 3 +- .../teammetallurgy/atum/items/ItemScarab.java | 60 +++++++++++-------- .../teammetallurgy/atum/world/AtumWorlds.java | 1 - .../resources/assets/atum/lang/en_US.lang | 5 +- 5 files changed, 48 insertions(+), 33 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/AtumConfig.java b/src/main/java/com/teammetallurgy/atum/AtumConfig.java index 6fd18bc..13533a0 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumConfig.java +++ b/src/main/java/com/teammetallurgy/atum/AtumConfig.java @@ -9,21 +9,25 @@ public class AtumConfig { private final Configuration CONFIG; public AtumConfig(File file) { + System.out.println(file); this.CONFIG = new Configuration(file); } public void load() { this.CONFIG.load(); - AtumIDS.DIMENSION_ID = get("Dimension", "Atum", 17); + AtumIDS.DIMENSION_ID = getInt("Dimension", "Atum", 17); - AtumIDS.BIOME_DESERT_ID = get("Biome", "Desert", 200); + AtumIDS.BIOME_DESERT_ID = getInt("Biome", "Desert", 200); + AtumIDS.ALLOW_CREATION = getBoolean("Scarab", "Create Portal", true); this.CONFIG.save(); } - private int get(String category, String name, int defaultId) { + private int getInt(String category, String name, int defaultId) { return this.CONFIG.get(category, name, defaultId).getInt(); } - + private boolean getBoolean(String category, String name, boolean defaultId) { + return this.CONFIG.get(category, name, defaultId).getBoolean(true); + } } diff --git a/src/main/java/com/teammetallurgy/atum/AtumIDS.java b/src/main/java/com/teammetallurgy/atum/AtumIDS.java index 3ebb738..c3c6010 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumIDS.java +++ b/src/main/java/com/teammetallurgy/atum/AtumIDS.java @@ -3,6 +3,7 @@ public class AtumIDS { public static int DIMENSION_ID; - public static int BIOME_DESERT_ID; + + public static boolean ALLOW_CREATION; } diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java b/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java index 7365f33..3c2fccb 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java @@ -6,8 +6,11 @@ import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; +import com.teammetallurgy.atum.AtumIDS; import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.blocks.BlockPortal; @@ -25,41 +28,46 @@ public boolean hasEffect(ItemStack par1ItemStack) { @Override public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int x, int y, int z, int par7, float par8, float par9, float par10) { - Block block = par3World.getBlock(x, y, z); - Block temp = null; - if(block == Blocks.sandstone) { - temp = Blocks.sandstone; - } else if(block == AtumBlocks.BLOCK_LARGEBRICK) { - temp = AtumBlocks.BLOCK_LARGEBRICK; - } - if(temp != null) { - if(!((BlockPortal) AtumBlocks.BLOCK_PORTAL).tryToCreatePortal(par3World, x, y, z, temp)) { - if(par2EntityPlayer.capabilities.isCreativeMode) { - for(int x1 = -2; x1 < 3; x1++) { - for(int z1 = -2; z1 < 3; z1++) { - par3World.setBlock(x + x1, y, z + z1, temp); + if (AtumIDS.ALLOW_CREATION) { + + Block block = par3World.getBlock(x, y, z); + Block temp = null; + if (block == Blocks.sandstone) { + temp = Blocks.sandstone; + } else if (block == AtumBlocks.BLOCK_LARGEBRICK) { + temp = AtumBlocks.BLOCK_LARGEBRICK; + } + if (temp != null) { + if (!((BlockPortal) AtumBlocks.BLOCK_PORTAL).tryToCreatePortal(par3World, x, y, z, temp)) { + if (par2EntityPlayer.capabilities.isCreativeMode) { + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + par3World.setBlock(x + x1, y, z + z1, temp); + } } - } - for(int x1 = -2; x1 < 3; x1++) { - for(int z1 = -2; z1 < 3; z1++) { - if(x1 + x == x + 2 || z1 + z == z + 2 || x1 + x == x - 2 || z1 + z == z - 2) { - par3World.setBlock(x + x1, y + 1, z + z1, temp); + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + if (x1 + x == x + 2 || z1 + z == z + 2 || x1 + x == x - 2 || z1 + z == z - 2) { + par3World.setBlock(x + x1, y + 1, z + z1, temp); + } } } - } - for(int y1 = 2; y1 < 4; y1++) { - for(int x1 = -2; x1 < 3; x1++) { - for(int z1 = -2; z1 < 3; z1++) { - if((x1 + x == x + 2 && z1 + z == z + 2) || (x1 + x == x - 2 && z1 + z == z + 2) || (x1 + x == x + 2 && z1 + z == z - 2) || (x1 + x == x - 2 && z1 + z == z - 2)) { - par3World.setBlock(x + x1, y + y1, z + z1, temp); + for (int y1 = 2; y1 < 4; y1++) { + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + if ((x1 + x == x + 2 && z1 + z == z + 2) || (x1 + x == x - 2 && z1 + z == z + 2) || (x1 + x == x + 2 && z1 + z == z - 2) || (x1 + x == x - 2 && z1 + z == z - 2)) { + par3World.setBlock(x + x1, y + y1, z + z1, temp); + } } } } } + } else { + --par2EntityPlayer.getCurrentEquippedItem().stackSize; } - } else { - --par2EntityPlayer.getCurrentEquippedItem().stackSize; } + }else{ + par2EntityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chat.Atum.disabled"))); } return true; diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumWorlds.java b/src/main/java/com/teammetallurgy/atum/world/AtumWorlds.java index 3c8009a..f77f661 100644 --- a/src/main/java/com/teammetallurgy/atum/world/AtumWorlds.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumWorlds.java @@ -3,7 +3,6 @@ import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.common.DimensionManager; -import com.teammetallurgy.atum.AtumConfig; import com.teammetallurgy.atum.AtumIDS; import com.teammetallurgy.atum.worldgen.AtumWorldProvider; import com.teammetallurgy.atum.worldgen.biome.BiomeGenAtumDesert; diff --git a/src/main/resources/assets/atum/lang/en_US.lang b/src/main/resources/assets/atum/lang/en_US.lang index fc9f34b..48c5146 100644 --- a/src/main/resources/assets/atum/lang/en_US.lang +++ b/src/main/resources/assets/atum/lang/en_US.lang @@ -149,4 +149,7 @@ entity.Atum.desertGhost.name=Desert Ghost entity.Atum.stoneSoldier.name=Stone Soldier entity.Atum.desertWolf.name=Desert Wolf entity.Atum.banditWarlord.name=Bandit Warlord -entity.Atum.barbarian.name=Barbarian \ No newline at end of file +entity.Atum.barbarian.name=Barbarian + +# Chat +chat.Atum.disabled=Scarab portal creation is disabled \ No newline at end of file From 64d30f1475c8cd6a869acfd957b204393371685d Mon Sep 17 00:00:00 2001 From: Anton Date: Fri, 13 Jun 2014 15:35:31 +0400 Subject: [PATCH 056/157] Update en_US.lang Word "Double" not used in Vanilla names. State "Burning" not needed. --- src/main/resources/assets/atum/lang/en_US.lang | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/resources/assets/atum/lang/en_US.lang b/src/main/resources/assets/atum/lang/en_US.lang index 48c5146..a5fa753 100644 --- a/src/main/resources/assets/atum/lang/en_US.lang +++ b/src/main/resources/assets/atum/lang/en_US.lang @@ -15,7 +15,7 @@ tile.smoothSlab.name=Smooth-Limestone Slab tile.crackedSlab.name=Cracked-Limestone Slab tile.largeBrickSlab.name=Large Limestone Brick Slab tile.smallBrickSlab.name=Small Limestone Brick Slab -tile.doubleSlab.name=Limestone Double Slab +tile.doubleSlab.name=Limestone Slab tile.smoothStairs.name=Limestone Stairs tile.cobbleStairs.name=Limestone Cobble Stairs tile.largeStairs.name=Limestone Large Brick Stairs @@ -50,7 +50,10 @@ tile.goldOre.name=Gold Ore tile.lapisOre.name=Lapis Ore tile.diamondOre.name=Diamond Ore tile.furnaceIdle.name=Limestone Furnace -tile.furnaceBurning.name=Limestone Furnace Burning +tile.furnaceBurning.name=Limestone Furnace + +# Containers +container.furnace=Limestone Furnace # Item item.scarab.name=Scarab @@ -152,4 +155,4 @@ entity.Atum.banditWarlord.name=Bandit Warlord entity.Atum.barbarian.name=Barbarian # Chat -chat.Atum.disabled=Scarab portal creation is disabled \ No newline at end of file +chat.Atum.disabled=Scarab portal creation is disabled From e820ce87430867777c9b64af40057e41faf00446 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Sat, 14 Jun 2014 15:57:38 +1000 Subject: [PATCH 057/157] Added more localization Closes #8 and #9 --- .../java/com/teammetallurgy/atum/Atum.java | 2 +- .../teammetallurgy/atum/AtumCreativeTab.java | 2 +- .../com/teammetallurgy/atum/AtumLoot.java | 4 +- .../teammetallurgy/atum/blocks/BlockFlax.java | 4 +- .../chests/TileEntityChestSpawner.java | 3 +- .../chests/TileEntityPharaohChest.java | 3 +- .../furnace/GuiLimestoneFurnace.java | 4 +- .../furnace/TileEntityLimestoneFurnace.java | 2 +- .../atum/entity/EntityDesertWolf.java | 2 +- .../atum/entity/EntityGhost.java | 2 +- .../atum/entity/EntityPharaoh.java | 16 +- .../atum/entity/EntityStoneSoldier.java | 2 +- .../teammetallurgy/atum/items/AtumItems.java | 42 ++- .../teammetallurgy/atum/items/ItemLoot.java | 4 +- .../teammetallurgy/atum/items/ItemScarab.java | 2 +- .../atum/items/artifacts/ItemAkersToil.java | 8 +- .../artifacts/ItemAmunetsHomecoming.java | 23 +- .../atum/items/artifacts/ItemAnhursMight.java | 8 +- .../atum/items/artifacts/ItemAnubisMercy.java | 39 +-- .../items/artifacts/ItemAnuketsBounty.java | 8 +- .../atum/items/artifacts/ItemAtensFury.java | 40 +-- .../items/artifacts/ItemGebsBlessing.java | 8 +- .../items/artifacts/ItemGebsSolidarity.java | 8 +- .../items/artifacts/ItemHedetetsSting.java | 16 +- .../items/artifacts/ItemHedetetsVenom.java | 15 +- .../atum/items/artifacts/ItemHorusFlight.java | 8 +- ...{IsisEmbrace.java => ItemIsisEmbrace.java} | 12 +- .../atum/items/artifacts/ItemIsisHealing.java | 27 +- .../items/artifacts/ItemMaatsBalance.java | 8 +- .../items/artifacts/ItemMafdetsQuickness.java | 11 +- .../atum/items/artifacts/ItemMnevisHorns.java | 9 +- .../items/artifacts/ItemMonthusBlast.java | 8 +- .../items/artifacts/ItemMonthusStrike.java | 24 +- .../items/artifacts/ItemNeithsAudacity.java | 49 +-- .../atum/items/artifacts/ItemNusFlux.java | 11 +- .../atum/items/artifacts/ItemNutsAgility.java | 12 +- .../atum/items/artifacts/ItemNutsCall.java | 8 +- .../atum/items/artifacts/ItemOsirisWill.java | 10 +- .../items/artifacts/ItemPtahsDecadence.java | 8 +- .../items/artifacts/ItemPtahsDestruction.java | 21 +- .../atum/items/artifacts/ItemRasGlory.java | 8 +- .../items/artifacts/ItemSekhmetsWrath.java | 8 +- .../atum/items/artifacts/ItemShusBreath.java | 8 +- .../atum/items/artifacts/ItemSobeksRage.java | 16 +- .../atum/lib/handler/CraftingHandler.java | 10 +- .../resources/assets/atum/lang/en_US.lang | 312 ++++++++++++++---- .../resources/assets/atum/lang/ru_RU.lang | 85 +++-- 47 files changed, 581 insertions(+), 359 deletions(-) rename src/main/java/com/teammetallurgy/atum/items/artifacts/{IsisEmbrace.java => ItemIsisEmbrace.java} (67%) diff --git a/src/main/java/com/teammetallurgy/atum/Atum.java b/src/main/java/com/teammetallurgy/atum/Atum.java index a80b02b..3042702 100644 --- a/src/main/java/com/teammetallurgy/atum/Atum.java +++ b/src/main/java/com/teammetallurgy/atum/Atum.java @@ -23,7 +23,7 @@ @Mod(modid = Atum.MODID, name = Atum.NAME, version = Atum.VERSION) public class Atum { - public static final String MODID = "Atum"; + public static final String MODID = "atum"; public static final String NAME = "Atum"; public static final String VERSION = "0.5.9B"; diff --git a/src/main/java/com/teammetallurgy/atum/AtumCreativeTab.java b/src/main/java/com/teammetallurgy/atum/AtumCreativeTab.java index ec93ba1..3b0361e 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumCreativeTab.java +++ b/src/main/java/com/teammetallurgy/atum/AtumCreativeTab.java @@ -8,7 +8,7 @@ public class AtumCreativeTab extends CreativeTabs { public AtumCreativeTab() { - super("Atum"); + super("atum"); } @Override diff --git a/src/main/java/com/teammetallurgy/atum/AtumLoot.java b/src/main/java/com/teammetallurgy/atum/AtumLoot.java index 9a19e14..de90f89 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumLoot.java +++ b/src/main/java/com/teammetallurgy/atum/AtumLoot.java @@ -24,7 +24,7 @@ public void register() { goodLoot = new AtumWeightedLootSet(); junkLoot = new AtumWeightedLootSet(); - ItemStack stack = new ItemStack(AtumItems.ptahsPick); + ItemStack stack = new ItemStack(AtumItems.ITEM_PTAHSPICK); artifacts.add(stack); artifacts.add(new ItemStack(AtumItems.sobeksRage)); @@ -57,7 +57,7 @@ public void register() { artifacts.add(new ItemStack(AtumItems.mafdetsQuickness)); // Junk Loot Stuff - junkLoot.addLoot(new ItemStack(AtumItems.flaxSeeds), 5, 1, 2); + junkLoot.addLoot(new ItemStack(AtumItems.ITEM_FLAXSEED), 5, 1, 2); junkLoot.addLoot(new ItemStack(Items.stick), 5, 1, 5); junkLoot.addLoot(new ItemStack(AtumItems.ITEM_DATE), 5, 1, 2); junkLoot.addLoot(new ItemStack(Items.bone), 10, 1, 3); diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java index 24ae1c6..eda0284 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java @@ -140,11 +140,11 @@ public int getRenderType() { } protected Item getSeedItem() { - return AtumItems.flaxSeeds; + return AtumItems.ITEM_FLAXSEED; } protected Item getCropItem() { - return AtumItems.flax; + return AtumItems.ITEM_FLAX; } @Override diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java index a58e95b..a7ff3b7 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java @@ -16,6 +16,7 @@ import net.minecraft.tileentity.TileEntityChest; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.ChatComponentText; +import net.minecraft.util.StatCollector; public class TileEntityChestSpawner extends TileEntityChest implements IInventory { @@ -201,7 +202,7 @@ public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { List list = super.worldObj.getEntitiesWithinAABB(EntityMob.class, AxisAlignedBB.getAABBPool().getAABB((double) super.xCoord - d0, (double) super.yCoord - d1, (double) super.zCoord - d0, (double) super.xCoord + d0, (double) super.yCoord + d1, (double) super.zCoord + d0)); if (!list.isEmpty()) { if (!super.worldObj.isRemote) { - par1EntityPlayer.addChatMessage(new ChatComponentText("There are too many enemies nearby to search this chest")); + par1EntityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chat.Atum.enemies"))); } return false; diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java index 6216c4c..f053886 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java @@ -16,6 +16,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.ChatComponentText; import net.minecraft.util.IChatComponent; +import net.minecraft.util.StatCollector; import com.teammetallurgy.atum.entity.EntityMummy; import com.teammetallurgy.atum.entity.EntityPharaoh; @@ -295,7 +296,7 @@ public void spawn(EntityPlayer player) { while (i.hasNext()) { EntityPlayer p = (EntityPlayer) i.next(); - p.addChatMessage(new ChatComponentText(pharaoh.getCommandSenderName() + " was summoned by " + player.getGameProfile().getName())); + p.addChatMessage(new ChatComponentText(pharaoh.getCommandSenderName() + " "+StatCollector.translateToLocal("chat.Atum.summonPharaoh")+" " + player.getGameProfile().getName())); } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java index 666c76a..6eb8226 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java @@ -26,7 +26,7 @@ public GuiLimestoneFurnace(InventoryPlayer par1InventoryPlayer, TileEntity par2T */ @Override protected void drawGuiContainerForegroundLayer(int par1, int par2) { - String s = this.furnaceInventory.getInventoryName(); + String s = StatCollector.translateToLocal(this.furnaceInventory.getInventoryName()); this.fontRendererObj.drawString(s, this.xSize / 2 - this.fontRendererObj.getStringWidth(s) / 2, 6, 4210752); this.fontRendererObj.drawString(StatCollector.translateToLocal("container.inventory"), 8, this.ySize - 96 + 2, 4210752); } @@ -38,7 +38,7 @@ protected void drawGuiContainerForegroundLayer(int par1, int par2) { @Override protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - this.mc.renderEngine.bindTexture(new ResourceLocation("textures/gui/container/furnace")); + this.mc.renderEngine.bindTexture(new ResourceLocation("textures/gui/container/furnace.png")); int k = (this.width - this.xSize) / 2; int l = (this.height - this.ySize) / 2; this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize); diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/TileEntityLimestoneFurnace.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/TileEntityLimestoneFurnace.java index 032e7c5..473a57b 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/TileEntityLimestoneFurnace.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/TileEntityLimestoneFurnace.java @@ -123,7 +123,7 @@ public void setInventorySlotContents(int par1, ItemStack par2ItemStack) { */ @Override public String getInventoryName() { - return this.hasCustomInventoryName() ? this.field_94130_e : "container.furnace"; + return this.hasCustomInventoryName() ? this.field_94130_e : "container.limestoneFurnace"; } /** diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java b/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java index b821839..c85817b 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java @@ -205,7 +205,7 @@ protected void dropFewItems(boolean par1, int par2) { } if (rand.nextInt(4) == 0) { int amount = rand.nextInt(2) + 1; - this.dropItem(AtumItems.pelt, amount); + this.dropItem(AtumItems.ITEM_PELT, amount); } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java b/src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java index f1de216..02be230 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java @@ -129,7 +129,7 @@ protected void attackEntity(Entity par1Entity, float par2) { protected void dropFewItems(boolean par1, int par2) { if (this.rand.nextInt(4) == 0) { int amount = rand.nextInt(3) + 1; - this.dropItem(AtumItems.ectoplasm, amount); + this.dropItem(AtumItems.ITEM_ECTOPLASM, amount); } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java b/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java index 90fe34c..c082d79 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java @@ -21,6 +21,7 @@ import net.minecraft.util.ChatComponentText; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; import com.teammetallurgy.atum.AtumLoot; @@ -37,7 +38,7 @@ public class EntityPharaoh extends EntityMob implements IBossDisplayData { int stage; - public static String[] prefix = { "Ama'", "Ata'", "Ato'", "Bak'", "Cal'", "Djet'", "Eje'", "For'", "Gol'", "Gut'", "Hop'", "Hor'", "Huni'", "Iam'", "Jor'", "Kal'", "Khas'", "Khor'", "Lat'", "Mal'", "Not'", "Oap'", "Pra'", "Qo'", "Ras'", "Shas'", "Thoth'", "Tui'", "Uld'", "Ver'", "Wot'", "Xo'", "Yat'", "Zyt'", "Khep'" }; + public static String[] prefix = { "Ama", "Ata", "Ato", "Bak", "Cal", "Djet", "Eje", "For", "Gol", "Gut", "Hop", "Hor", "Huni", "Iam", "Jor", "Kal", "Khas", "Khor", "Lat", "Mal", "Not", "Oap", "Pra", "Qo", "Ras", "Shas", "Thoth", "Tui", "Uld", "Ver", "Wot", "Xo", "Yat", "Zyt", "Khep" }; public static String[] suffix = { "Ahat", "Amesh", "Amon", "Anut", "Baroom", "Chanta", "Erant", "Funam", "Daresh", "Djer", "Hotesh", "Khaden", "Kron", "Gorkum", "Ialenter", "Ma'at", "Narmer", "Radeem", "Jaloom", "Lepsha", "Quor", "Oleshet", "Peput", "Talat", "Ulam", "Veresh", "Ranesh", "Snef", "Wollolo", "Hathor", "Intef", "Neferk", "Khatne", "Tepy", "Moret" }; public static String[] numeral = { "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII", "XIII", "XIV", "XV" }; @@ -68,15 +69,6 @@ protected void applyEntityAttributes() { this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); } - public void setName(int par1, int par2, int par3) { - suffixID = par1; - prefixID = par2; - numID = par3; - this.dataWatcher.updateObject(18, new Integer(suffixID)); - this.dataWatcher.updateObject(19, new Integer(prefixID)); - this.dataWatcher.updateObject(20, new Integer(numID)); - } - public void link(int x, int y, int z) { linkedX = x; linkedY = y; @@ -99,7 +91,7 @@ public void onDeath(DamageSource par1DamageSource) { if (!worldObj.isRemote) { List players = FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList; for (EntityPlayer player : players) { - player.addChatMessage(new ChatComponentText(this.getCommandSenderName() + " was slain by " + slayer.getGameProfile().getName())); + player.addChatMessage(new ChatComponentText(this.getCommandSenderName() + " " + StatCollector.translateToLocal("chat.Atum.killPharaoh") + " " + slayer.getGameProfile().getName())); } } } @@ -121,7 +113,7 @@ public String getCommandSenderName() { int s = this.dataWatcher.getWatchableObjectInt(18); int p = this.dataWatcher.getWatchableObjectInt(19); int n = this.dataWatcher.getWatchableObjectInt(20); - return "Pharaoh " + prefix[p] + suffix[s] + " " + numeral[n]; + return "Pharaoh " + StatCollector.translateToFallback("entity.Atum.pharaoh." + prefix[p]) + StatCollector.translateToFallback("entity.Atum.pharaoh." + suffix[s]) + " " + numeral[n]; } catch (Exception e) { return ""; } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityStoneSoldier.java b/src/main/java/com/teammetallurgy/atum/entity/EntityStoneSoldier.java index 99dc058..0e309a8 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityStoneSoldier.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityStoneSoldier.java @@ -108,7 +108,7 @@ public void knockBack(Entity par1Entity, float par2, double par3, double par5) { protected void dropFewItems(boolean par1, int par2) { if(this.rand.nextInt(4) == 0) { int amount = rand.nextInt(2) + 1; - this.dropItem(AtumItems.stoneChunk, amount); + this.dropItem(AtumItems.ITEM_STONECHUNK, amount); } } diff --git a/src/main/java/com/teammetallurgy/atum/items/AtumItems.java b/src/main/java/com/teammetallurgy/atum/items/AtumItems.java index bc9c639..83ab375 100644 --- a/src/main/java/com/teammetallurgy/atum/items/AtumItems.java +++ b/src/main/java/com/teammetallurgy/atum/items/AtumItems.java @@ -1,6 +1,5 @@ package com.teammetallurgy.atum.items; -import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; @@ -11,9 +10,7 @@ import net.minecraftforge.common.util.EnumHelper; import com.teammetallurgy.atum.Atum; -import com.teammetallurgy.atum.AtumIDS; import com.teammetallurgy.atum.blocks.AtumBlocks; -import com.teammetallurgy.atum.items.artifacts.IsisEmbrace; import com.teammetallurgy.atum.items.artifacts.ItemAkersToil; import com.teammetallurgy.atum.items.artifacts.ItemAmunetsHomecoming; import com.teammetallurgy.atum.items.artifacts.ItemAnhursMight; @@ -26,6 +23,7 @@ import com.teammetallurgy.atum.items.artifacts.ItemHedetetsVenom; import com.teammetallurgy.atum.items.artifacts.ItemHorusFlight; import com.teammetallurgy.atum.items.artifacts.ItemHorusSoaring; +import com.teammetallurgy.atum.items.artifacts.ItemIsisEmbrace; import com.teammetallurgy.atum.items.artifacts.ItemIsisHealing; import com.teammetallurgy.atum.items.artifacts.ItemMaatsBalance; import com.teammetallurgy.atum.items.artifacts.ItemMafdetsQuickness; @@ -58,7 +56,7 @@ public enum AtumItems { public static final Item ITEM_BOW = new ItemAtumBow().setUnlocalizedName("bow"); public static final Item ITEM_STONESOLDIER_SWORD = new ItemStoneSoldierSword(ToolMaterial.IRON).setUnlocalizedName("stoneSoldierSword"); public static final Item ITEM_SCEPTER = new ItemScepter(ToolMaterial.GOLD).setUnlocalizedName("scepter"); - public static final Item ptahsPick = new ItemPtahsDecadence(ToolMaterial.EMERALD).setUnlocalizedName("ptahsDecadence"); + public static final Item ITEM_PTAHSPICK = new ItemPtahsDecadence(ToolMaterial.EMERALD).setUnlocalizedName("ptahsDecadence"); public static final Item sobeksRage = new ItemSobeksRage(ToolMaterial.EMERALD).setUnlocalizedName("soteksRage"); public static final Item osirisWill = new ItemOsirisWill(ToolMaterial.EMERALD).setUnlocalizedName("osirisWill"); public static final Item akersToil = new ItemAkersToil(ToolMaterial.EMERALD).setUnlocalizedName("akersToil"); @@ -77,7 +75,7 @@ public enum AtumItems { public static final Item monthusBlast = new ItemMonthusBlast().setUnlocalizedName("monthusBlast"); public static final Item nusFlux = new ItemNusFlux(ToolMaterial.EMERALD).setUnlocalizedName("nusFlux"); public static final Item mnevisHorns = new ItemMnevisHorns(ArmorMaterial.DIAMOND, 0, 0).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("mnevisHorns"); - public static final Item isisEmbrace = new IsisEmbrace(ArmorMaterial.DIAMOND, 1, 1).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("isisEmbrace"); + public static final Item isisEmbrace = new ItemIsisEmbrace(ArmorMaterial.DIAMOND, 1, 1).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("isisEmbrace"); public static final Item maatsBalance = new ItemMaatsBalance(ArmorMaterial.DIAMOND, 2, 2).setTextureFile("RubyArtifactArmor_2").setUnlocalizedName("maatsBalance"); public static final Item hedetetsVenom = new ItemHedetetsVenom().setUnlocalizedName("hedetetsVenom"); public static final Item gebsSolidarity = new ItemGebsSolidarity(ArmorMaterial.DIAMOND, 3, 3).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("gebsSolidarity"); @@ -92,32 +90,32 @@ public enum AtumItems { public static final Item limestoneAxe = new LimestoneAxe(ToolMaterial.STONE).setUnlocalizedName("limestoneAxe"); public static final Item limestoneSword = new LimestoneSword(ToolMaterial.STONE).setUnlocalizedName("limestoneSword"); public static final Item limestoneHoe = new LimestoneHoe(ToolMaterial.STONE).setUnlocalizedName("limestoneHoe"); - + private static ArmorMaterial mummyEnum = EnumHelper.addArmorMaterial("Mummy", 5, new int[] { 1, 3, 2, 1 }, 15); public static final Item mummyHelmet = new ItemTexturedArmor(mummyEnum, 0, 0).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyHelmet").setTextureName("atum:MummyHelmet"); public static final Item mummyChest = new ItemTexturedArmor(mummyEnum, 0, 1).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyChest").setTextureName("atum:MummyChest"); public static final Item mummyLegs = new ItemTexturedArmor(mummyEnum, 0, 2).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_2").setUnlocalizedName("mummyLegs").setTextureName("atum:MummyLegs"); public static final Item mummyBoots = new ItemTexturedArmor(mummyEnum, 0, 3).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyBoots").setTextureName("atum:MummyBoots"); - + private static ArmorMaterial wandererEnum = EnumHelper.addArmorMaterial("Wanderer", 10, new int[] { 2, 3, 3, 2 }, 15); public static final Item wandererHelmet = new ItemTexturedArmor(wandererEnum, 0, 0).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererHelmet").setTextureName("atum:WandererHelmet"); public static final Item wandererChest = new ItemTexturedArmor(wandererEnum, 0, 1).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererChest").setTextureName("atum:WandererChest"); public static final Item wandererLegs = new ItemTexturedArmor(wandererEnum, 0, 2).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_2").setUnlocalizedName("wandererLegs").setTextureName("atum:WandererLegs"); public static final Item wandererBoots = new ItemTexturedArmor(wandererEnum, 0, 3).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererBoots").setTextureName("atum:WandererBoots"); - + private static ArmorMaterial desertEnum = EnumHelper.addArmorMaterial("Desert", 20, new int[] { 3, 6, 5, 3 }, 15); public static final Item desertHelmet = new ItemTexturedArmor(desertEnum, 0, 0).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_1").setUnlocalizedName("desertHelmet").setTextureName("atum:DesertHelmet"); public static final Item desertChest = new ItemTexturedArmor(desertEnum, 0, 1).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_1").setUnlocalizedName("desertChest").setTextureName("atum:DesertChest"); public static final Item desertLegs = new ItemTexturedArmor(desertEnum, 0, 2).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_2").setUnlocalizedName("desertLegs").setTextureName("atum:DesertLegs"); public static final Item desertBoots = new ItemTexturedArmor(desertEnum, 0, 3).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_1").setUnlocalizedName("desertBoots").setTextureName("atum:DesertBoots"); - + public static final Item papyrusPlant = new ItemPapyrusPlant(AtumBlocks.BLOCK_PAPYRUS).setUnlocalizedName("papyrusPlant"); - public static final Item ectoplasm = new Item().setUnlocalizedName("ectoplasm").setTextureName("atum:Ectoplasm"); - public static final Item stoneChunk = new Item().setUnlocalizedName("stoneChunk").setTextureName("atum:StoneChunk"); - public static final Item scroll = new Item().setUnlocalizedName("scroll").setTextureName("atum:Scroll"); - public static final Item pelt = new Item().setUnlocalizedName("wolfPelt").setTextureName("atum:WolfPelt"); - public static final Item flax = new Item().setUnlocalizedName("flax").setTextureName("atum:FlaxItem"); - public static final Item flaxSeeds = new ItemSeeds(AtumBlocks.BLOCK_FLAX, Blocks.farmland).setUnlocalizedName("flaxSeeds").setTextureName("atum:FlaxSeeds"); + public static final Item ITEM_ECTOPLASM = new Item().setUnlocalizedName("ectoplasm").setTextureName("atum:Ectoplasm"); + public static final Item ITEM_STONECHUNK = new Item().setUnlocalizedName("stoneChunk").setTextureName("atum:StoneChunk"); + public static final Item ITEM_SCROLL = new Item().setUnlocalizedName("scroll").setTextureName("atum:Scroll"); + public static final Item ITEM_PELT = new Item().setUnlocalizedName("wolfPelt").setTextureName("atum:WolfPelt"); + public static final Item ITEM_FLAX = new Item().setUnlocalizedName("flax").setTextureName("atum:FlaxItem"); + public static final Item ITEM_FLAXSEED = new ItemSeeds(AtumBlocks.BLOCK_FLAX, Blocks.farmland).setUnlocalizedName("flaxSeeds").setTextureName("atum:FlaxSeeds"); public static final Item ITEM_FISH = new ItemFish().setUnlocalizedName("fish"); public static final Item neithsAudacity = new ItemNeithsAudacity().setUnlocalizedName("neithsAudacity"); @@ -130,7 +128,7 @@ public void registerItems() { this.register(ITEM_SCEPTER); this.register(ITEM_STONESOLDIER_SWORD); this.register(ITEM_BOW); - this.register(ptahsPick); + this.register(ITEM_PTAHSPICK); this.register(sobeksRage); this.register(osirisWill); this.register(akersToil); @@ -177,14 +175,14 @@ public void registerItems() { this.register(desertLegs); this.register(desertBoots); this.register(papyrusPlant); - this.register(ectoplasm); - this.register(stoneChunk); + this.register(ITEM_ECTOPLASM); + this.register(ITEM_STONECHUNK); this.register(ITEM_SCRAP); - this.register(scroll); - this.register(pelt); + this.register(ITEM_SCROLL); + this.register(ITEM_PELT); this.register(ITEM_LINEN); - this.register(flax); - this.register(flaxSeeds); + this.register(ITEM_FLAX); + this.register(ITEM_FLAXSEED); this.register(ITEM_FISH); this.register(neithsAudacity); } diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java b/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java index 0f397df..3f6d87e 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java @@ -18,8 +18,8 @@ public class ItemLoot extends Item { - private static String[] typeArray = new String[] { "Idol", "Necklace", "Ring", "Broach", "Scepter" }; - private static String[] qualityArray = new String[] { "Dirty", "Silver", "Gold", "Sapphire", "Ruby", "Emerald", "Diamond" }; + private static String[] typeArray = new String[] { "idol", "necklace", "ring", "broach", "scepter" }; + private static String[] qualityArray = new String[] { "dirty", "silver", "gold", "sapphire", "ruby", "emerald", "diamond" }; IIcon[] iconArray; public ItemLoot() { diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java b/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java index 3c2fccb..91b9156 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java @@ -67,7 +67,7 @@ public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, } } }else{ - par2EntityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chat.Atum.disabled"))); + par2EntityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chat.atum.disabled"))); } return true; diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java index 95fc522..3910969 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java @@ -11,6 +11,7 @@ import net.minecraft.item.ItemSpade; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraftforge.common.ForgeHooks; @@ -58,12 +59,11 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Performance I: Faster, does"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "not consume fatique"); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); } else { - par3List.add("Performance I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - } @Override diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java index 91808b2..cbf5645 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java @@ -12,6 +12,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.ChunkCoordinates; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraft.world.chunk.IChunkProvider; @@ -36,16 +37,16 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { // TODO FIX public ItemStack onItemRightClick(ItemStack par1ItemStack, World par3World, EntityPlayer par2EntityPlayer) { ChunkCoordinates spawn = par2EntityPlayer.getBedLocation(par2EntityPlayer.dimension); - if(spawn == null) { + if (spawn == null) { spawn = par3World.getSpawnPoint(); } - if(spawn == null) { + if (spawn == null) { spawn = par3World.getSpawnPoint(); } spawn = verifyRespawnCoordinates(par3World, spawn, false); - if(spawn == null) { + if (spawn == null) { spawn = par3World.getSpawnPoint(); } @@ -53,7 +54,7 @@ public ItemStack onItemRightClick(ItemStack par1ItemStack, World par3World, Enti par2EntityPlayer.rotationYaw = 0.0F; par2EntityPlayer.setPositionAndUpdate((double) spawn.posX + 0.5D, (double) spawn.posY + 0.1D, (double) spawn.posZ); - while(!par3World.getCollidingBoundingBoxes(par2EntityPlayer, par2EntityPlayer.boundingBox).isEmpty()) { + while (!par3World.getCollidingBoundingBoxes(par2EntityPlayer, par2EntityPlayer.boundingBox).isEmpty()) { par2EntityPlayer.setPosition(par2EntityPlayer.posX, par2EntityPlayer.posY + 1.0D, par2EntityPlayer.posZ); } @@ -62,7 +63,7 @@ public ItemStack onItemRightClick(ItemStack par1ItemStack, World par3World, Enti } public static ChunkCoordinates verifyRespawnCoordinates(World par0World, ChunkCoordinates par1ChunkCoordinates, boolean par2) { - if(!par0World.isRemote) { + if (!par0World.isRemote) { IChunkProvider c = par0World.getChunkProvider(); c.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); @@ -71,7 +72,7 @@ public static ChunkCoordinates verifyRespawnCoordinates(World par0World, ChunkCo } Block block = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ); - if(block != null && block.isBed(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityLiving) null)) { + if (block != null && block.isBed(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityLiving) null)) { ChunkCoordinates material1 = block.getBedSpawnPosition(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityPlayer) null); return material1; } else { @@ -92,14 +93,12 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Return I: Teleports you back"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "to your spawn point"); + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); } else { - par3List.add("Return I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - - par3List.add(par1ItemStack.getMaxDamage() - par1ItemStack.getItemDamage() + " Uses Remaining"); } @Override diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java index 41c2983..fdd3a4a 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java @@ -13,6 +13,7 @@ import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; import org.lwjgl.input.Keyboard; @@ -62,12 +63,11 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Mighty I: Slows player,"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "Chance to stun foes"); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); } else { - par3List.add("Mighty I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - } @Override diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java index 1e0a853..6aa71d6 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java @@ -13,6 +13,7 @@ import net.minecraft.potion.Potion; import net.minecraft.util.ChunkCoordinates; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraft.world.chunk.IChunkProvider; import net.minecraftforge.event.entity.living.LivingHurtEvent; @@ -37,35 +38,35 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { @SubscribeEvent public void onDamage(LivingHurtEvent event) { - if(event.entityLiving instanceof EntityPlayer) { + if (event.entityLiving instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) event.entityLiving; ItemStack stack = null; ItemStack[] damageAmount = player.inventory.mainInventory; int resistance = damageAmount.length; - for(int i = 0; i < resistance; ++i) { + for (int i = 0; i < resistance; ++i) { ItemStack currStack = damageAmount[i]; - if(currStack != null && currStack.getItem() == this) { + if (currStack != null && currStack.getItem() == this) { stack = currStack; break; } } - if(stack == null) { + if (stack == null) { return; } float var8 = (float) event.ammount; - if(!event.source.isUnblockable()) { + if (!event.source.isUnblockable()) { var8 = (float) (event.ammount * (25 - player.getTotalArmorValue()) + player.getAbsorptionAmount()) / 25.0F; } - if(player.isPotionActive(Potion.resistance)) { + if (player.isPotionActive(Potion.resistance)) { resistance = 25 - (player.getActivePotionEffect(Potion.resistance).getAmplifier() + 1) * 5; var8 = var8 * (float) resistance / 25.0F; } - if(Math.ceil((double) var8) >= (double) player.getHealth()) { + if (Math.ceil((double) var8) >= (double) player.getHealth()) { event.setCanceled(true); this.respawnPlayer(event.entityLiving.worldObj, player); player.setHealth(player.getMaxHealth()); @@ -74,7 +75,7 @@ public void onDamage(LivingHurtEvent event) { // player.spawnExplosionParticle(); stack.damageItem(1, player); System.out.println(stack.getItemDamage()); - if(stack.getItemDamage() >= 20){ + if (stack.getItemDamage() >= 20) { stack = null; } } @@ -84,16 +85,16 @@ public void onDamage(LivingHurtEvent event) { public void respawnPlayer(World par3World, EntityPlayer par2EntityPlayer) { ChunkCoordinates spawn = par2EntityPlayer.getBedLocation(par2EntityPlayer.dimension); - if(spawn == null) { + if (spawn == null) { spawn = par3World.getSpawnPoint(); } - if(spawn == null) { + if (spawn == null) { spawn = par3World.getSpawnPoint(); } spawn = verifyRespawnCoordinates(par3World, spawn, false); - if(spawn == null) { + if (spawn == null) { spawn = par3World.getSpawnPoint(); } @@ -101,14 +102,14 @@ public void respawnPlayer(World par3World, EntityPlayer par2EntityPlayer) { par2EntityPlayer.rotationYaw = 0.0F; par2EntityPlayer.setPositionAndUpdate((double) spawn.posX + 0.5D, (double) spawn.posY + 0.1D, (double) spawn.posZ); - while(!par3World.getCollidingBoundingBoxes(par2EntityPlayer, par2EntityPlayer.boundingBox).isEmpty()) { + while (!par3World.getCollidingBoundingBoxes(par2EntityPlayer, par2EntityPlayer.boundingBox).isEmpty()) { par2EntityPlayer.setPosition(par2EntityPlayer.posX, par2EntityPlayer.posY + 1.0D, par2EntityPlayer.posZ); } } public static ChunkCoordinates verifyRespawnCoordinates(World par0World, ChunkCoordinates par1ChunkCoordinates, boolean par2) { - if(!par0World.isRemote) { + if (!par0World.isRemote) { IChunkProvider c = par0World.getChunkProvider(); c.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); @@ -117,7 +118,7 @@ public static ChunkCoordinates verifyRespawnCoordinates(World par0World, ChunkCo } Block block = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ); - if(block != null && block.isBed(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityLiving) null)) { + if (block != null && block.isBed(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityLiving) null)) { ChunkCoordinates material1 = block.getBedSpawnPosition(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityPlayer) null); return material1; } else { @@ -138,13 +139,13 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Return I: On Death teleports you back"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "to your spawn point"); + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); } else { - par3List.add("Return I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - + // TODO par3List.add(par1ItemStack.getMaxDamage() - par1ItemStack.getItemDamage() + " Uses Remaining"); } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java index 00519fa..7e30f97 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java @@ -11,6 +11,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; import org.lwjgl.input.Keyboard; @@ -82,12 +83,13 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Alluring I: Chance to catch"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "special fish in Atum"); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); } else { - par3List.add("Alluring I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } + //TODO par3List.add(par1ItemStack.getMaxDamage() - par1ItemStack.getItemDamage() + " Uses Remaining"); } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java index 3b149eb..7ee456a 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java @@ -13,6 +13,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; @@ -26,7 +27,7 @@ public class ItemAtensFury extends ItemBow { - public static final String[] bowPullIconNameArray = new String[]{"atens_pull_0", "atens_pull_1", "atens_pull_2"}; + public static final String[] bowPullIconNameArray = new String[] { "atens_pull_0", "atens_pull_1", "atens_pull_2" }; IIcon[] iconArray; public ItemAtensFury() { @@ -49,46 +50,46 @@ public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, Entit int j = this.getMaxItemUseDuration(par1ItemStack) - par4; ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); MinecraftForge.EVENT_BUS.post(event); - if(!event.isCanceled()) { + if (!event.isCanceled()) { j = event.charge; boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - if(flag || par3EntityPlayer.inventory.hasItem(Items.arrow)) { + if (flag || par3EntityPlayer.inventory.hasItem(Items.arrow)) { float f = (float) j / 20.0F; f = (f * f + f * 2.0F) / 3.0F; - if((double) f < 0.1D) { + if ((double) f < 0.1D) { return; } - if(f > 1.0F) { + if (f > 1.0F) { f = 1.0F; } EntityArrowFire entityarrow = new EntityArrowFire(par2World, par3EntityPlayer, f * 2.0F); entityarrow.setDamage(entityarrow.getDamage() * 1.5D); - if(f == 1.0F) { + if (f == 1.0F) { entityarrow.setIsCritical(true); } int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - if(k > 0) { + if (k > 0) { entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); } int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - if(l > 0) { + if (l > 0) { entityarrow.setKnockbackStrength(l); } entityarrow.setFire(100); par1ItemStack.damageItem(1, par3EntityPlayer); par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - if(flag) { + if (flag) { entityarrow.canBePickedUp = 2; } else { par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); } - if(!par2World.isRemote) { + if (!par2World.isRemote) { par2World.spawnEntityInWorld(entityarrow); } } @@ -101,7 +102,7 @@ public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, Entit public void registerIcons(IIconRegister par1IIconRegister) { this.iconArray = new IIcon[bowPullIconNameArray.length]; this.itemIcon = par1IIconRegister.registerIcon("atum:AtensFury"); - for(int i = 0; i < this.iconArray.length; ++i) { + for (int i = 0; i < this.iconArray.length; ++i) { this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); } @@ -109,17 +110,17 @@ public void registerIcons(IIconRegister par1IIconRegister) { @Override public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { - if(usingItem != null) { + if (usingItem != null) { int j = this.getMaxItemUseDuration(stack) - useRemaining; - if(j >= 18) { + if (j >= 18) { return this.getItemIconForUseDuration(2); } - if(j > 13) { + if (j > 13) { return this.getItemIconForUseDuration(1); } - if(j > 0) { + if (j > 0) { return this.getItemIconForUseDuration(0); } } @@ -142,13 +143,12 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Fire Shot I: Flaming arrow"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "ignites blocks and foes"); + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); } else { - par3List.add("Fire Shot I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java index 5dac413..ab29b4d 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java @@ -9,6 +9,7 @@ import net.minecraft.item.ItemHoe; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import org.lwjgl.input.Keyboard; @@ -36,12 +37,11 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Sowing I: Tilled ground is blessed,"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "granting increased growth rate"); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); } else { - par3List.add("Sowing I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - } @Override diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java index 3e15b0b..cade820 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java @@ -14,6 +14,7 @@ import net.minecraft.util.DamageSource; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.MathHelper; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraftforge.event.entity.living.LivingHurtEvent; @@ -91,12 +92,11 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Stalwart I: Decreased movement"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "speed, decreased knockback (WIP)"); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); } else { - par3List.add("Stalwart I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - } @Override diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java index 25b2f19..87aa9c8 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java @@ -3,7 +3,7 @@ import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; @@ -12,6 +12,7 @@ import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import org.lwjgl.input.Keyboard; @@ -29,7 +30,8 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { return true; } - public boolean hitEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving) { + @Override + public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase par2EntityLiving, EntityLivingBase par3EntityLiving) { if (super.hitEntity(par1ItemStack, par2EntityLiving, par3EntityLiving)) { par2EntityLiving.addPotionEffect(new PotionEffect(Potion.poison.id, 140, 2, false)); return true; @@ -38,22 +40,24 @@ public boolean hitEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving, } } + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; } + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Poison II: Chance"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "to poison foes"); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); } else { - par3List.add("Poison II " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - } + @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.getItem() == Items.diamond; } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java index 823f280..c7b8e3b 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java @@ -13,6 +13,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; @@ -39,10 +40,12 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { return true; } + @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.getItem() == Items.diamond; } + @Override public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { int j = this.getMaxItemUseDuration(par1ItemStack) - par4; ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); @@ -97,22 +100,24 @@ public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, Entit } } + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; } + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Poison Arrow I: Fires an"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "arrow that poisons foes"); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); } else { - par3List.add("Poison Arrow I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - } + @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister par1IIconRegister) { this.iconArray = new IIcon[bowPullIconNameArray.length]; @@ -123,6 +128,7 @@ public void registerIcons(IIconRegister par1IIconRegister) { } + @Override public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { if (usingItem != null) { int j = this.getMaxItemUseDuration(stack) - useRemaining; @@ -142,6 +148,7 @@ public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemS return this.getIcon(stack, renderPass); } + @Override @SideOnly(Side.CLIENT) public IIcon getItemIconForUseDuration(int par1) { return this.iconArray[par1]; diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java index e15cbdf..71a7c22 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java @@ -8,6 +8,7 @@ import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import net.minecraftforge.event.entity.living.LivingEvent.LivingJumpEvent; import net.minecraftforge.event.entity.living.LivingFallEvent; @@ -60,12 +61,11 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Nimbleness I: Increased jump height,"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "protection from fall damage"); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); } else { - par3List.add("Nimbleness I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - } @Override diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisEmbrace.java similarity index 67% rename from src/main/java/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java rename to src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisEmbrace.java index b864441..fc35010 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/IsisEmbrace.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisEmbrace.java @@ -8,6 +8,7 @@ import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import org.lwjgl.input.Keyboard; @@ -16,9 +17,9 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class IsisEmbrace extends ItemTexturedArmor { +public class ItemIsisEmbrace extends ItemTexturedArmor { - public IsisEmbrace(ArmorMaterial par2ArmorMaterial, int par3, int par4) { + public ItemIsisEmbrace(ArmorMaterial par2ArmorMaterial, int par3, int par4) { super(par2ArmorMaterial, par3, par4); this.setRepairItem(Items.diamond); } @@ -38,12 +39,11 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Regeneration I: Regens"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "health slowly"); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); } else { - par3List.add("Regeneration I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - } @Override diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java index 1659468..3e2ef07 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java @@ -10,6 +10,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; import org.lwjgl.input.Keyboard; @@ -31,9 +32,9 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { @Override public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { - if(par3Entity instanceof EntityPlayer) { + if (par3Entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) par3Entity; - if(player.onGround && player.inventory.mainInventory[player.inventory.currentItem] != null && player.inventory.mainInventory[player.inventory.currentItem].getItem() == this) { + if (player.onGround && player.inventory.mainInventory[player.inventory.currentItem] != null && player.inventory.mainInventory[player.inventory.currentItem].getItem() == this) { this.doEffect(player, par1ItemStack); } } @@ -41,11 +42,11 @@ public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity } public void doEffect(EntityPlayer player, ItemStack item) { - if(Math.random() <= 0.05D) { - if(player.getHealth() < player.getMaxHealth()) { + if (Math.random() <= 0.05D) { + if (player.getHealth() < player.getMaxHealth()) { player.heal(1); - if(!player.capabilities.isCreativeMode) { - if(item.getItemDamage() == 1) { + if (!player.capabilities.isCreativeMode) { + if (item.getItemDamage() == 1) { item.damageItem(1, player); } else { item.setItemDamage(item.getItemDamage() + 1); @@ -56,23 +57,23 @@ public void doEffect(EntityPlayer player, ItemStack item) { } } - @SideOnly(Side.CLIENT) + @Override public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; } + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Regeneration I: Regenerates"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "health slowly while held"); + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); } else { - par3List.add("Regeneration I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - - par3List.add(par1ItemStack.getMaxDamage() - par1ItemStack.getItemDamage() + " Hearts Remaining"); } + @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.getItem() == Items.diamond; } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java index b71b15c..a871688 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java @@ -11,6 +11,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EntityDamageSource; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraftforge.event.entity.living.LivingHurtEvent; @@ -65,12 +66,11 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Balance I: Decreases damage"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "dealt, Decreases damage taken"); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); } else { - par3List.add("Balance I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - } @Override diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java index 4318d95..abbe5d3 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java @@ -12,6 +12,7 @@ import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; import org.lwjgl.input.Keyboard; @@ -31,6 +32,7 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { return true; } + @Override public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { if (par3Entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) par3Entity; @@ -53,23 +55,26 @@ public void doEffect(EntityPlayer player, ItemStack item) { } + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; } + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Swiftness I: You run"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "faster when held"); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); } else { - par3List.add("Swiftness I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } par3List.add((double) ((par1ItemStack.getMaxDamage() - par1ItemStack.getItemDamage()) / 12) / 100.0D + " Minutes Remaining"); } + @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.getItem() == Items.diamond; } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java index 8d70e51..285f2dd 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java @@ -10,6 +10,7 @@ import net.minecraft.util.DamageSource; import net.minecraft.util.EntityDamageSource; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import net.minecraftforge.event.entity.living.LivingAttackEvent; import org.lwjgl.input.Keyboard; @@ -47,15 +48,15 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; } + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Melee Reflection I: Deals"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "damage to attackers"); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); } else { - par3List.add("Melee Reflection I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - } public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java index af93371..7759d6d 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java @@ -13,6 +13,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; @@ -110,12 +111,11 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Explosive Shot I: Arrows explode"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "on impact"); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); } else { - par3List.add("Explosive Shot I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - } @Override diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java index 0d645b8..ed03e96 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java @@ -17,6 +17,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; import org.lwjgl.input.Keyboard; @@ -39,17 +40,21 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { return true; } + @Override public int getMaxItemUseDuration(ItemStack par1ItemStack) { return 7200; } + @Override public EnumAction getItemUseAction(ItemStack par1ItemStack) { return EnumAction.bow; } + @Override public void onUpdate(ItemStack stack, World world, Entity player, int par4, boolean par5) { } + @Override public void onPlayerStoppedUsing(ItemStack par1ItemStack, World world, EntityPlayer player, int par4) { int j = this.getMaxItemUseDuration(par1ItemStack) - par4; if (j > 21) { @@ -72,7 +77,9 @@ public void onPlayerStoppedUsing(ItemStack par1ItemStack, World world, EntityPla entity.motionY = 0.4000000059604645D; } - //((EntityLiving) entity).attackEntityFrom(DamageSource.generic, this.getDamageVsEntity(entity, par1ItemStack)); + // ((EntityLiving) + // entity).attackEntityFrom(DamageSource.generic, + // this.getDamageVsEntity(entity, par1ItemStack)); if (world.isRemote) { this.spawnParticle(world, entity); } @@ -104,18 +111,17 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Slam I: Increased damage,"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "charge for AOE knockback"); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); } else { - par3List.add("Slam I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - } -// @Override -// public float getDamageVsEntity(Entity par1Entity, ItemStack stack) { -// return 4 + super.toolMaterial.getDamageVsEntity(); -// } + // @Override + // public float getDamageVsEntity(Entity par1Entity, ItemStack stack) { + // return 4 + super.toolMaterial.getDamageVsEntity(); + // } @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java index 1f7c516..d3c782f 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java @@ -15,6 +15,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; @@ -29,7 +30,7 @@ public class ItemNeithsAudacity extends ItemBow { - public static final String[] bowPullIconNameArray = new String[]{"neiths_pull_0", "neiths_pull_1", "neiths_pull_2"}; + public static final String[] bowPullIconNameArray = new String[] { "neiths_pull_0", "neiths_pull_1", "neiths_pull_2" }; @SideOnly(Side.CLIENT) private IIcon[] iconArray; @@ -45,37 +46,39 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { return true; } + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; } + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Double Shot I: Fires "); - par3List.add(EnumChatFormatting.DARK_PURPLE + "two arrows"); + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); } else { - par3List.add("Slam I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - } + @Override public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { int j = this.getMaxItemUseDuration(par1ItemStack) - par4; ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); MinecraftForge.EVENT_BUS.post(event); - if(!event.isCanceled()) { + if (!event.isCanceled()) { j = event.charge; boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - if(flag || par3EntityPlayer.inventory.hasItemStack(new ItemStack(Items.arrow, 2))) { + if (flag || par3EntityPlayer.inventory.hasItemStack(new ItemStack(Items.arrow, 2))) { float f = (float) j / 20.0F; f = (f * f + f * 2.0F) / 3.0F; - if((double) f < 0.1D) { + if ((double) f < 0.1D) { return; } - if(f > 1.0F) { + if (f > 1.0F) { f = 1.0F; } @@ -89,31 +92,31 @@ public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, Entit entityarrow1.motionZ += Math.random() * 0.4D - 0.2D; entityarrow.setDamage(entityarrow.getDamage() + 0.5D); entityarrow1.setDamage(entityarrow.getDamage() + 0.5D); - if(f == 1.0F) { + if (f == 1.0F) { entityarrow.setIsCritical(true); entityarrow1.setIsCritical(true); } int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - if(k > 0) { + if (k > 0) { entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); entityarrow1.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); } int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - if(l > 0) { + if (l > 0) { entityarrow.setKnockbackStrength(l); entityarrow1.setKnockbackStrength(l); } - if(EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { + if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { entityarrow.setFire(100); entityarrow1.setFire(100); } par1ItemStack.damageItem(1, par3EntityPlayer); par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - if(flag) { + if (flag) { entityarrow.canBePickedUp = 2; entityarrow1.canBePickedUp = 2; } else { @@ -121,7 +124,7 @@ public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, Entit par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); } - if(!par2World.isRemote) { + if (!par2World.isRemote) { par2World.spawnEntityInWorld(entityarrow); par2World.spawnEntityInWorld(entityarrow1); } @@ -149,10 +152,10 @@ public EnumAction getItemUseAction(ItemStack par1ItemStack) { public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { ArrowNockEvent event = new ArrowNockEvent(par3EntityPlayer, par1ItemStack); MinecraftForge.EVENT_BUS.post(event); - if(event.isCanceled()) { + if (event.isCanceled()) { return event.result; } else { - if(par3EntityPlayer.capabilities.isCreativeMode || par3EntityPlayer.inventory.hasItem(Items.arrow)) { + if (par3EntityPlayer.capabilities.isCreativeMode || par3EntityPlayer.inventory.hasItem(Items.arrow)) { par3EntityPlayer.setItemInUse(par1ItemStack, this.getMaxItemUseDuration(par1ItemStack)); } @@ -162,17 +165,17 @@ public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, Enti @Override public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { - if(usingItem != null) { + if (usingItem != null) { int j = this.getMaxItemUseDuration(stack) - useRemaining; - if(j >= 18) { + if (j >= 18) { return this.getItemIconForUseDuration(2); } - if(j > 13) { + if (j > 13) { return this.getItemIconForUseDuration(1); } - if(j > 0) { + if (j > 0) { return this.getItemIconForUseDuration(0); } } @@ -196,7 +199,7 @@ public void registerIcons(IIconRegister par1IIconRegister) { this.iconArray = new IIcon[bowPullIconNameArray.length]; this.itemIcon = par1IIconRegister.registerIcon("atum:NeithsAudacity"); - for(int i = 0; i < this.iconArray.length; ++i) { + for (int i = 0; i < this.iconArray.length; ++i) { this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java index 1249f4c..943eb99 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java @@ -14,6 +14,7 @@ import net.minecraft.item.ItemSword; import net.minecraft.util.DamageSource; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; import org.lwjgl.input.Keyboard; @@ -49,7 +50,8 @@ public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase entity, Entit entity.motionY = 1.0D; } - //entity.attackEntityFrom(DamageSource.generic, this.getDamageVsEntity(entity, par1ItemStack)); + // entity.attackEntityFrom(DamageSource.generic, + // this.getDamageVsEntity(entity, par1ItemStack)); if (player.worldObj.isRemote) { this.spawnParticle(player.worldObj, entity); } @@ -73,12 +75,11 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Sweep I: Chance to launch"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "foes into the air"); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); } else { - par3List.add("Sweep I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - } @Override diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java index 671f7ab..e4d3797 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java @@ -10,6 +10,7 @@ import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; import org.lwjgl.input.Keyboard; @@ -38,23 +39,24 @@ public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { } } - + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { return EnumRarity.rare; } + @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Agility I: Increased run"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "and swinging speed"); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); } else { - par3List.add("Agility I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - } + @Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { return par2ItemStack.getItem() == Items.diamond; } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java index d870b3e..e265e5c 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java @@ -9,6 +9,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; import org.lwjgl.input.Keyboard; @@ -83,12 +84,11 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Wrath I: Chance to strike"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "foe with lightning"); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); } else { - par3List.add("Wrath I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - } @Override diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java index 9cbbbb8..54bd38c 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java @@ -12,6 +12,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import org.lwjgl.input.Keyboard; @@ -44,7 +45,7 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { @Override public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase mob, EntityLivingBase player) { if (!mob.isEntityAlive() && Math.random() < 0.5D && mob.getCreatureAttribute() == EnumCreatureAttribute.UNDEAD) { - mob.dropItem(AtumItems.ectoplasm, 1); + mob.dropItem(AtumItems.ITEM_ECTOPLASM, 1); } return super.hitEntity(par1ItemStack, mob, player); @@ -60,12 +61,11 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Banish I: Bonus damage to undead,"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "chance to drop ectoplasm"); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); } else { - par3List.add("Banish I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - } @Override diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java index 7ad560a..cb213be 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java @@ -14,6 +14,7 @@ import net.minecraft.item.ItemPickaxe; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; import org.lwjgl.input.Keyboard; @@ -46,12 +47,11 @@ public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, Block @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Wealth I: Gain an extra"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "diamond from each ore"); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); } else { - par3List.add("Wealth I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - } @Override diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java index 84b57ff..a2edc32 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java @@ -10,6 +10,7 @@ import net.minecraft.item.ItemPickaxe; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import org.lwjgl.input.Keyboard; @@ -31,11 +32,12 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { return true; } -// @Override -// public float getDamageVsEntity(Entity entity, ItemStack stack) { -// float damage = 4 + super.toolMaterial.getDamageVsEntity(); -// return entity instanceof EntityStoneSoldier ? (int) ((double) damage * (2.0D + Math.random())) : damage; -// } + // @Override + // public float getDamageVsEntity(Entity entity, ItemStack stack) { + // float damage = 4 + super.toolMaterial.getDamageVsEntity(); + // return entity instanceof EntityStoneSoldier ? (int) ((double) damage * + // (2.0D + Math.random())) : damage; + // } @Override @SideOnly(Side.CLIENT) @@ -46,13 +48,12 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if(Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Stonecutter I: Increases damage"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "to stone enemies"); + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); } else { - par3List.add("Stonecutter I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - } @Override diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java index a036251..64c1a3b 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java @@ -8,6 +8,7 @@ import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import org.lwjgl.input.Keyboard; @@ -38,12 +39,11 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Divine Vision I: Night vision, increased"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "range of vision in Atum"); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); } else { - par3List.add("Divine Vision I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - } @Override diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java index a4f4432..4472137 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java @@ -9,6 +9,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EntityDamageSource; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import net.minecraftforge.event.entity.living.LivingAttackEvent; import net.minecraftforge.event.entity.living.LivingHurtEvent; @@ -63,12 +64,11 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Immolation I: Protection from fire,"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "chance to ignite attackers"); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); } else { - par3List.add("Immolation I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - } @Override diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java index f4c1a4f..ed08a48 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java @@ -14,6 +14,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; @@ -117,12 +118,11 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Quickdraw I: Reduced"); - par3List.add(EnumChatFormatting.DARK_PURPLE + "drawback speed"); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); } else { - par3List.add("Quickdraw I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - } @Override diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java index 7389b66..c362dbd 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java @@ -12,6 +12,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.MathHelper; +import net.minecraft.util.StatCollector; import org.lwjgl.input.Keyboard; @@ -33,10 +34,10 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { return true; } -// @Override -// public float getDamageVsEntity(Entity entity, ItemStack stack) { -// return 4 + super.toolMaterial.getDamageVsEntity(); -// } + // @Override + // public float getDamageVsEntity(Entity entity, ItemStack stack) { + // return 4 + super.toolMaterial.getDamageVsEntity(); + // } @Override public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase mob, EntityLivingBase player) { @@ -58,12 +59,11 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + "Exile I: Knocks foes "); - par3List.add(EnumChatFormatting.DARK_PURPLE + "back a large amount"); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); } else { - par3List.add("Exile I " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - } @Override diff --git a/src/main/java/com/teammetallurgy/atum/lib/handler/CraftingHandler.java b/src/main/java/com/teammetallurgy/atum/lib/handler/CraftingHandler.java index 5764ff5..8cbb291 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/handler/CraftingHandler.java +++ b/src/main/java/com/teammetallurgy/atum/lib/handler/CraftingHandler.java @@ -38,8 +38,8 @@ private void addRecipes() { GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 2), "XXX", "XXX", 'X', AtumBlocks.BLOCK_LARGEBRICK); GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 3), "XXX", "XXX", 'X', AtumBlocks.BLOCK_SMALLBRICK); GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_FRAMEDGLASS), " X ", "XSX", " X ", 'X', Items.stick, 'S', AtumBlocks.BLOCK_CRYSTALGLASS); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_CRACKEDLARGEBRICK, 4), "XX", "XX", 'X', AtumItems.stoneChunk); - GameRegistry.addRecipe(new ItemStack(Items.experience_bottle), " X ", "XBX", " X ", 'X', AtumItems.ectoplasm, 'B', Items.potionitem); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_CRACKEDLARGEBRICK, 4), "XX", "XX", 'X', AtumItems.ITEM_STONECHUNK); + GameRegistry.addRecipe(new ItemStack(Items.experience_bottle), " X ", "XBX", " X ", 'X', AtumItems.ITEM_ECTOPLASM, 'B', Items.potionitem); GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneSword), "L", "L", "S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneShovel), "L", "S", "S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); GameRegistry.addRecipe(new ItemStack(AtumItems.limestonePickaxe), "LLL", " S ", " S ", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); @@ -53,11 +53,11 @@ private void addRecipes() { GameRegistry.addRecipe(new ItemStack(AtumItems.wandererChest), "X X", "XXX", "XXX", 'X', AtumItems.ITEM_LINEN); GameRegistry.addRecipe(new ItemStack(AtumItems.wandererLegs), "XXX", "X X", "X X", 'X', AtumItems.ITEM_LINEN); GameRegistry.addRecipe(new ItemStack(AtumItems.wandererBoots), "X X", "X X", 'X', AtumItems.ITEM_LINEN); - GameRegistry.addRecipe(new ItemStack(AtumItems.ITEM_LINEN), "XXX", 'X', AtumItems.flax); + GameRegistry.addRecipe(new ItemStack(AtumItems.ITEM_LINEN), "XXX", 'X', AtumItems.ITEM_FLAX); GameRegistry.addRecipe(new ItemStack(Items.glass_bottle, 3), "X X", " X ", 'X', AtumBlocks.BLOCK_CRYSTALGLASS); GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_THINCRYSTALGLASS, 16), "XXX", "XXX", 'X', AtumBlocks.BLOCK_CRYSTALGLASS); GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_THINFRAMEDGLASS, 16), "XXX", "XXX", 'X', AtumBlocks.BLOCK_FRAMEDGLASS); - GameRegistry.addRecipe(new ItemStack(AtumItems.scroll), "XXX", "SXS", "XXX", 'X', AtumItems.papyrusPlant, 'S', Items.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.ITEM_SCROLL), "XXX", "SXS", "XXX", 'X', AtumItems.papyrusPlant, 'S', Items.stick); GameRegistry.addRecipe(new ItemStack(AtumItems.ITEM_SCARAB), " G ", "GDG", " G ", 'G', Items.gold_ingot, 'D', Items.diamond); GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_FURNACEIDLE), "XXX", "X X", "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); } @@ -81,7 +81,7 @@ private void addShapelessRecipes() { GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertLegs), AtumItems.wandererLegs, Items.iron_leggings); GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertBoots), AtumItems.wandererBoots, Items.iron_boots); GameRegistry.addShapelessRecipe(new ItemStack(Blocks.sand), AtumBlocks.BLOCK_SAND); - GameRegistry.addShapelessRecipe(new ItemStack(Items.string, 3), AtumItems.flax); + GameRegistry.addShapelessRecipe(new ItemStack(Items.string, 3), AtumItems.ITEM_FLAX); } } diff --git a/src/main/resources/assets/atum/lang/en_US.lang b/src/main/resources/assets/atum/lang/en_US.lang index a5fa753..c36027d 100644 --- a/src/main/resources/assets/atum/lang/en_US.lang +++ b/src/main/resources/assets/atum/lang/en_US.lang @@ -1,5 +1,5 @@ # Misc -itemGroup.Atum=Atum +itemGroup.atum=Atum biome.desert.name=Desert # Blocks @@ -53,7 +53,7 @@ tile.furnaceIdle.name=Limestone Furnace tile.furnaceBurning.name=Limestone Furnace # Containers -container.furnace=Limestone Furnace +container.limestoneFurnace=Limestone Furnace # Item item.scarab.name=Scarab @@ -63,37 +63,6 @@ item.greatsword.name=Greatsword item.scepter.name=Scepter item.stoneSoldierSword.name=Stone Soldier Sword item.bow.name=Shortbow - -item.ptahsDecadence.name=Ptahs' Decadence -item.soteksRage.name=Soteks' Rage -item.osirisWill.name=Osiris' Will -item.akersToil.name=Akers' Toil -item.gebsBlessing.name=Gebs' Blessing -item.atensFury.name=Atens' Fury -item.rasGlory.name=Ras' Glory -item.sekhmetsWrath.name=Sekhmets' Wrath -item.nutsAgility.name=Nuts' Agility -item.horusFlight.name=Horus' Flight -item.monthusStrike.name=Monthus' Strike -item.anhursMight.name=Anhurs' Might -item.hedetetsSting.name=Hedetets' Sting -item.horusSoaring.name=Horus' Soaring -item.shusBreath.name=Shus' Breath -item.ptahsDestruction.name=Ptahs' Destruction -item.monthusBlast.name=Monthus' Blast -item.nusFlux.name=Nus' Flux -item.mnevisHorns.name=Mnevis' Horns -item.isisEmbrace.name=Isis' Embrace -item.maatsBalance.name=Maats' Balance -item.hedetetsVenom.name=Hedetets' Venom -item.gebsSolidarity.name=Gebs' Solidarity -item.nutsCall.name=Nuts' Call -item.anuketsBounty.name=Anukets' Bounty -item.mafdetsQuickness.name=Mafdets' Quickness -item.isisHealing.name=Isis' Healing -item.amunetsHomecoming.name=Amunets' Homecoming -item.anubisMercy.name=Anubis's Mercy - item.limestoneShovel.name=Limestone Shovel item.limestonePickaxe.name=Limestone Pickaxe item.limestoneAxe.name=Limestone Axe @@ -125,34 +94,263 @@ item.fish.0.name=Forsaken Fish item.fish.1.name=Mummified Fish item.fish.2.name=Jeweled Fish item.fish.3.name=Skeletal Fish + +item.ptahsDecadence.name=Ptahs' Decadence +item.soteksRage.name=Soteks' Rage +item.osirisWill.name=Osiris' Will +item.akersToil.name=Akers' Toil +item.gebsBlessing.name=Gebs' Blessing +item.atensFury.name=Atens' Fury +item.rasGlory.name=Ras' Glory +item.sekhmetsWrath.name=Sekhmets' Wrath +item.nutsAgility.name=Nuts' Agility +item.horusFlight.name=Horus' Flight +item.monthusStrike.name=Monthus' Strike +item.anhursMight.name=Anhurs' Might +item.hedetetsSting.name=Hedetets' Sting +item.horusSoaring.name=Horus' Soaring +item.shusBreath.name=Shus' Breath +item.ptahsDestruction.name=Ptahs' Destruction +item.monthusBlast.name=Monthus' Blast +item.nusFlux.name=Nus' Flux +item.mnevisHorns.name=Mnevis' Horns +item.isisEmbrace.name=Isis' Embrace +item.maatsBalance.name=Maats' Balance +item.hedetetsVenom.name=Hedetets' Venom +item.gebsSolidarity.name=Gebs' Solidarity +item.nutsCall.name=Nuts' Call +item.anuketsBounty.name=Anukets' Bounty +item.mafdetsQuickness.name=Mafdets' Quickness +item.isisHealing.name=Isis' Healing +item.amunetsHomecoming.name=Amunets' Homecoming +item.anubisMercy.name=Anubis's Mercy item.neithsAudacity.name=Neiths Audacity + +# Item Information +item.akersToil.line1=Performance I: Faster, does +item.akersToil.line2=not consume fatique +item.akersToil.line3=Performance I + +item.amunetsHomecoming.line1=Return I: Teleports you back +item.amunetsHomecoming.line2=to your spawn point +item.amunetsHomecoming.line3=Return I + +item.anhursMight.line1=Mighty I: Slows player, +item.anhursMight.line2=Chance to stun foes +item.anhursMight.line3=Mighty I + +item.ptahsDecadence.line1=Wealth I: Gain an extra +item.ptahsDecadence.line2=diamond from each ore +item.ptahsDecadence.line3=Wealth I + +item.soteksRage.line1=Exile I: Knocks foes +item.soteksRage.line2=back a large amount +item.soteksRage.line3=Exile I + +item.osirisWill.line1=Banish I: Bonus damage to undead, +item.osirisWill.line2=chance to drop ectoplasm +item.osirisWill.line3=Banish I + +item.gebsBlessing.line1=Sowing I: Tilled ground is blessed, +item.gebsBlessing.line2=granting increased growth rate +item.gebsBlessing.line3=Sowing I + +item.atensFury.line1=Fire Shot I: Flaming arrow +item.atensFury.line2=ignites blocks and foes +item.atensFury.line3=Fire Shot I + +item.rasGlory.line1=Divine Vision I: Night vision, increased +item.rasGlory.line2=range of vision in Atum +item.rasGlory.line3=Divine Vision I + +item.sekhmetsWrath.line1=Immolation I: Protection from fire,, +item.sekhmetsWrath.line2=chance to ignite attackers +item.sekhmetsWrath.line3=Immolation I + +item.nutsAgility.line1=Agility I: Increased run +item.nutsAgility.line2=and swinging speed +item.nutsAgility.line3=Agility I + +item.horusFlight.line1=Nimbleness I: Increased jump height, +item.horusFlight.line2=protection from fall damage +item.horusFlight.line3=Nimbleness I + +item.monthusStrike.line1=Slam I: Increased damage, +item.monthusStrike.line2=charge for AOE knockback +item.monthusStrike.line3=Slam I + +item.hedetetsSting.line1=Poison II: Chance +item.hedetetsSting.line2=to poison foes +item.hedetetsSting.line3=Poison II + +# I need to talk to shadow +item.horusSoaring.line1=Mighty I: Slows player, +item.horusSoaring.line2=Chance to stun foes +item.horusSoaring.line3=Mighty I + +item.shusBreath.line1=Quickdraw I: Reduced +item.shusBreath.line2=drawback speed +item.shusBreath.line3=Mighty I + +item.ptahsDestruction.line1=Stonecutter I: Increases damage +item.ptahsDestruction.line2=to stone enemies +item.ptahsDestruction.line3=Stonecutter I + +item.monthusBlast.line1=Explosive Shot I: Arrows explode +item.monthusBlast.line2=on impact +item.monthusBlast.line3=Explosive Shot I + +item.nusFlux.line1=Sweep I: Chance to launch +item.nusFlux.line2=foes into the air +item.nusFlux.line3=Sweep I + +item.mnevisHorns.line1=Melee Reflection I: Deals +item.mnevisHorns.line2=damage to attackers +item.mnevisHorns.line3=Melee Reflection I + +item.isisEmbrace.line1=Regeneration I: Regens +item.isisEmbrace.line2=health slowly +item.isisEmbrace.line3=Regeneration I + +item.maatsBalance.line1=Balance I: Decreases damage +item.maatsBalance.line2=dealt, Decreases damage taken +item.maatsBalance.line3=Balance I + +item.hedetetsVenom.line1=Poison Arrow I: Fires an +item.hedetetsVenom.line2=arrow that poisons foes +item.hedetetsVenom.line3=Poison Arrow I + +item.gebsSolidarity.line1=Stalwart I: Decreased movement +item.gebsSolidarity.line2=speed, decreased knockback (WIP) +item.gebsSolidarity.line3=Stalwart I + +item.nutsCall.line1=Wrath I: Chance to strike +item.nutsCall.line2=foe with lightning +item.nutsCall.line3=Wrath I + +item.anuketsBounty.line1=Alluring I: Chance to catch +item.anuketsBounty.line2=special fish in Atum +item.anuketsBounty.line3=Alluring I + +item.mafdetsQuickness.line1=Swiftness I: You run +item.mafdetsQuickness.line2=faster when held +item.mafdetsQuickness.line3=Swiftness I + +item.isisHealing.line1=Regeneration I: Regenerates +item.isisHealing.line2=health slowly while held +item.isisHealing.line3=Regeneration I + +item.anubisMercy.line1=Return I: On Death teleports you back, +item.anubisMercy.line2=to your spawn point +item.anubisMercy.line3=Return I + +item.neithsAudacity.line1=Double Shot I: Fires +item.neithsAudacity.line2=two arrows +item.neithsAudacity.line3=Double Shot I + # Loot -item.loot.Dirty.name=Dirty -item.loot.Silver.name=Silver -item.loot.Gold.name=Gold -item.loot.Sapphire.name=Sapphire -item.loot.Ruby.name=Ruby -item.loot.Emerald.name=Emerald -item.loot.Diamond.name=Diamond - -item.loot.Idol.name=Idol -item.loot.Necklace.name=Necklace -item.loot.Ring.name=Ring -item.loot.Broach.name=Broach -item.loot.Scepter.name=Scepter +item.loot.dirty.name=Dirty +item.loot.silver.name=Silver +item.loot.gold.name=Gold +item.loot.sapphire.name=Sapphire +item.loot.ruby.name=Ruby +item.loot.emerald.name=Emerald +item.loot.diamond.name=Diamond + +item.loot.idol.name=Idol +item.loot.necklace.name=Necklace +item.loot.ring.name=Ring +item.loot.broach.name=Broach +item.loot.scepter.name=Scepter # Entity -entity.Atum.mummy.name=Mummy -entity.Atum.nanditWarrior.name=Bandit Warrior -entity.Atum.banditArcher.name=Bandit Archer -entity.Atum.pharaoh.name=Pharaoh -entity.Atum.dustySkeleton.name=Dusty Skeleton -entity.Atum.desertGhost.name=Desert Ghost -entity.Atum.stoneSoldier.name=Stone Soldier -entity.Atum.desertWolf.name=Desert Wolf -entity.Atum.banditWarlord.name=Bandit Warlord -entity.Atum.barbarian.name=Barbarian +entity.atum.mummy.name=Mummy +entity.atum.nanditWarrior.name=Bandit Warrior +entity.atum.banditArcher.name=Bandit Archer +entity.atum.pharaoh.name=Pharaoh +entity.atum.dustySkeleton.name=Dusty Skeleton +entity.atum.desertGhost.name=Desert Ghost +entity.atum.stoneSoldier.name=Stone Soldier +entity.atum.desertWolf.name=Desert Wolf +entity.atum.banditWarlord.name=Bandit Warlord +entity.atum.barbarian.name=Barbarian + +# Pharaoh Names +entity.atum.pharaoh.Ama=Ama' +entity.atum.pharaoh.Ata=Ata' +entity.atum.pharaoh.Ato=Ato' +entity.atum.pharaoh.Bak=Bak' +entity.atum.pharaoh.Cal=Cal' +entity.atum.pharaoh.Djet=Djet' +entity.atum.pharaoh.Eje=Eje' +entity.atum.pharaoh.For=For' +entity.atum.pharaoh.Gol=Gol' +entity.atum.pharaoh.Gut=Gut' +entity.atum.pharaoh.Hop=Hop' +entity.atum.pharaoh.Hor=Hor' +entity.atum.pharaoh.Huni=Huni' +entity.atum.pharaoh.Iam=Iam' +entity.atum.pharaoh.Jor=Jor' +entity.atum.pharaoh.Kal=Kal' +entity.atum.pharaoh.Khas=Khas' +entity.atum.pharaoh.Khor=Khor' +entity.atum.pharaoh.Lat=Lat' +entity.atum.pharaoh.Mal=Mal' +entity.atum.pharaoh.Not=Not' +entity.atum.pharaoh.Oap=Oap' +entity.atum.pharaoh.Pra=Pra' +entity.atum.pharaoh.Qo=Qo' +entity.atum.pharaoh.Ras=Ras' +entity.atum.pharaoh.Shas=Shas' +entity.atum.pharaoh.Thoth=Thoth' +entity.atum.pharaoh.Tui=Tui' +entity.atum.pharaoh.Uld=Uld' +entity.atum.pharaoh.Ver=Ver' +entity.atum.pharaoh.Wot=Wot' +entity.atum.pharaoh.Xo=Xo' +entity.atum.pharaoh.Yat=Yat' +entity.atum.pharaoh.Zyt=Zyt' +entity.atum.pharaoh.Khep=Khep' + +entity.atum.pharaoh.Ahat=Ahat +entity.atum.pharaoh.Amesh=Amesh +entity.atum.pharaoh.Amon=Amon +entity.atum.pharaoh.Anut=Anut +entity.atum.pharaoh.Baroom=Baroom +entity.atum.pharaoh.Chanta=Chanta +entity.atum.pharaoh.Erant=Erant +entity.atum.pharaoh.Funam=Funam +entity.atum.pharaoh.Daresh=Daresh +entity.atum.pharaoh.Djer=Djer +entity.atum.pharaoh.Hotesh=Hotesh +entity.atum.pharaoh.Khaden=Khaden +entity.atum.pharaoh.Kron=Kron +entity.atum.pharaoh.Gorkum=Gorkum +entity.atum.pharaoh.Ialenter=Ialenter +entity.atum.pharaoh.Ma'at=Ma'at +entity.atum.pharaoh.Narmer=Narmer +entity.atum.pharaoh.Radeem=Radeem +entity.atum.pharaoh.Jaloom=Jaloom +entity.atum.pharaoh.Lepsha=Lepsha +entity.atum.pharaoh.Quor=Quor +entity.atum.pharaoh.Oleshet=Oleshet +entity.atum.pharaoh.Peput=Peput +entity.atum.pharaoh.Talat=Talat +entity.atum.pharaoh.Ulam=Ulam +entity.atum.pharaoh.Veresh=Veresh +entity.atum.pharaoh.Ranesh=Ranesh +entity.atum.pharaoh.Snef=Snef +entity.atum.pharaoh.Wollolo=Wollolo +entity.atum.pharaoh.Hathor=Hathor +entity.atum.pharaoh.Intef=Intef +entity.atum.pharaoh.Neferk=Neferk +entity.atum.pharaoh.Khatne=Khatne +entity.atum.pharaoh.Tepy=Tepy +entity.atum.pharaoh.Moret=Moret # Chat -chat.Atum.disabled=Scarab portal creation is disabled +chat.atum.disabled=Scarab portal creation is disabled +chat.atum.enemies=There are too many enemies nearby to search this chest +chat.atum.summonPharaoh=was summoned by +chat.atum.killPharaoh=was slain by diff --git a/src/main/resources/assets/atum/lang/ru_RU.lang b/src/main/resources/assets/atum/lang/ru_RU.lang index 9a8d552..a08fb69 100644 --- a/src/main/resources/assets/atum/lang/ru_RU.lang +++ b/src/main/resources/assets/atum/lang/ru_RU.lang @@ -60,37 +60,6 @@ item.greatsword.name=Большой меч item.scepter.name=Скипетр item.stoneSoldierSword.name=Меч каменного война item.bow.name=Короткий лук - -item.ptahsDecadence.name=Декаданс бога Птаха -item.soteksRage.name=Ярость Сотека -item.osirisWill.name=Воля Осириса -item.akersToil.name=Труд Акера -item.gebsBlessing.name=Благословение Геба -item.atensFury.name=Неистовство Атона -item.rasGlory.name=Слава бога Ра -item.sekhmetsWrath.name=Гнев Сехмета -item.nutsAgility.name=Ловкость богини Нут -item.horusFlight.name=Полёт Хора -item.monthusStrike.name=Удар Монту -item.anhursMight.name=Мощь Онуриса -item.hedetetsSting.name=Жало Хедетета -item.horusSoaring.name=Парение Хора -item.shusBreath.name=Дыхание Шу -item.ptahsDestruction.name=Разрушение бога Птаха -item.monthusBlast.name=Взрыв Монту -item.nusFlux.name=Поток Нун -item.mnevisHorns.name=Рожки Мневиса -item.isisEmbrace.name=Объятие Исиды -item.maatsBalance.name=Равновесие Маата -item.hedetetsVenom.name=Яд Хедетета -item.gebsSolidarity.name=Единство Геба -item.nutsCall.name=Вызов богини Нут -item.anuketsBounty.name=Щедрость Анукета -item.mafdetsQuickness.name=Быстрота Мафдета -item.isisHealing.name=Исцеление Исиды -item.amunetsHomecoming.name=Возвращение Амаунета -item.anubisMercy.name=Милость Анубиса - item.limestoneShovel.name=Известняковая лопата item.limestonePickaxe.name=Известняковая кирка item.limestoneAxe.name=Известняковый топор @@ -122,22 +91,52 @@ item.fish.0.name=Брошенная рыба item.fish.1.name=Мумифицированная рыба item.fish.2.name=Украшенная рыба item.fish.3.name=Скелетная рыба + +item.ptahsDecadence.name=Декаданс бога Птаха +item.soteksRage.name=Ярость Сотека +item.osirisWill.name=Воля Осириса +item.akersToil.name=Труд Акера +item.gebsBlessing.name=Благословение Геба +item.atensFury.name=Неистовство Атона +item.rasGlory.name=Слава бога Ра +item.sekhmetsWrath.name=Гнев Сехмета +item.nutsAgility.name=Ловкость богини Нут +item.horusFlight.name=Полёт Хора +item.monthusStrike.name=Удар Монту +item.anhursMight.name=Мощь Онуриса +item.hedetetsSting.name=Жало Хедетета +item.horusSoaring.name=Парение Хора +item.shusBreath.name=Дыхание Шу +item.ptahsDestruction.name=Разрушение бога Птаха +item.monthusBlast.name=Взрыв Монту +item.nusFlux.name=Поток Нун +item.mnevisHorns.name=Рожки Мневиса +item.isisEmbrace.name=Объятие Исиды +item.maatsBalance.name=Равновесие Маата +item.hedetetsVenom.name=Яд Хедетета +item.gebsSolidarity.name=Единство Геба +item.nutsCall.name=Вызов богини Нут +item.anuketsBounty.name=Щедрость Анукета +item.mafdetsQuickness.name=Быстрота Мафдета +item.isisHealing.name=Исцеление Исиды +item.amunetsHomecoming.name=Возвращение Амаунета +item.anubisMercy.name=Милость Анубиса item.neithsAudacity.name=Смелость Нейт # Loot -item.loot.Dirty.name=Грязн. -item.loot.Silver.name=Серебрян. -item.loot.Gold.name=Золот. -item.loot.Sapphire.name=Сапфиров. -item.loot.Ruby.name=Рубинов. -item.loot.Emerald.name=Изумрудн. -item.loot.Diamond.name=Алмазн. +item.loot.dirty.name=Грязн. +item.loot.silver.name=Серебрян. +item.loot.gold.name=Золот. +item.loot.sapphire.name=Сапфиров. +item.loot.ruby.name=Рубинов. +item.loot.emerald.name=Изумрудн. +item.loot.diamond.name=Алмазн. -item.loot.Idol.name=идол -item.loot.Necklace.name=ожерелье -item.loot.Ring.name=кольцо -item.loot.Broach.name=брошь -item.loot.Scepter.name=скипетр +item.loot.idol.name=идол +item.loot.necklace.name=ожерелье +item.loot.ring.name=кольцо +item.loot.broach.name=брошь +item.loot.scepter.name=скипетр # Entity entity.Atum.mummy.name=Мумия From d8b231d4c7abaf5447621faae07ea33e4b781b0b Mon Sep 17 00:00:00 2001 From: lclc98 Date: Sun, 6 Jul 2014 15:17:24 +1000 Subject: [PATCH 058/157] Fixed pharoah chat msg, Close #11 --- .gitignore | 8 +- .../java/com/teammetallurgy/atum/Atum.java | 5 - .../atum/blocks/BlockChestSpawner.java | 7 +- .../atum/blocks/BlockPortal.java | 4 +- .../chests/TileEntityChestSpawner.java | 157 +-- .../chests/TileEntityPharaohChest.java | 605 +++++------ .../atum/entity/EntityBanditArcher.java | 2 +- .../atum/entity/EntityBanditWarlord.java | 2 +- .../atum/entity/EntityBanditWarrior.java | 132 ++- .../atum/entity/EntityBarbarian.java | 123 +-- .../atum/entity/EntityDesertWolf.java | 986 +++++++++--------- .../atum/entity/EntityDustySkeleton.java | 119 +-- .../atum/entity/EntityGhost.java | 2 +- .../atum/entity/EntityMummy.java | 121 +-- .../atum/entity/EntityPharaoh.java | 19 +- .../atum/entity/EntityStoneSoldier.java | 189 ++-- .../atum/entity/IAtumDayMob.java | 5 - .../atum/entity/IAtumNightMob.java | 5 - .../atum/lib/proxy/ClientProxy.java | 4 +- .../atum/lib/proxy/CommonProxy.java | 5 +- ...ientTickHandler.java => ClientEvents.java} | 2 +- ...rverTickHandler.java => ServerEvents.java} | 2 +- .../AtumChunkProvider.java | 2 +- .../atum/world/AtumPortalPosition.java | 5 +- .../atum/world/AtumTeleporter.java | 801 +++++++------- .../AtumWorldProvider.java | 3 +- .../{worldgen => world}/AtumWorldServer.java | 2 +- .../teammetallurgy/atum/world/AtumWorlds.java | 3 +- .../biome/BiomeDecoratorAtum.java | 6 +- .../biome/BiomeGenAtumDesert.java | 13 +- .../decorators/WorldGenAtumTrees.java | 2 +- .../decorators/WorldGenOasis.java | 2 +- .../decorators/WorldGenPalace.java | 3 +- .../decorators/WorldGenPalm.java | 2 +- .../decorators/WorldGenPyramid.java | 2 +- .../decorators/WorldGenRuins.java | 2 +- .../decorators/WorldGenShrub.java | 2 +- .../worldgen/biome/MobSpawnController.java | 30 - 38 files changed, 1668 insertions(+), 1716 deletions(-) delete mode 100644 src/main/java/com/teammetallurgy/atum/entity/IAtumDayMob.java delete mode 100644 src/main/java/com/teammetallurgy/atum/entity/IAtumNightMob.java rename src/main/java/com/teammetallurgy/atum/lib/tickhandler/{ClientTickHandler.java => ClientEvents.java} (99%) rename src/main/java/com/teammetallurgy/atum/lib/tickhandler/{ServerTickHandler.java => ServerEvents.java} (98%) rename src/main/java/com/teammetallurgy/atum/{worldgen => world}/AtumChunkProvider.java (99%) rename src/main/java/com/teammetallurgy/atum/{worldgen => world}/AtumWorldProvider.java (96%) rename src/main/java/com/teammetallurgy/atum/{worldgen => world}/AtumWorldServer.java (94%) rename src/main/java/com/teammetallurgy/atum/{worldgen => world}/biome/BiomeDecoratorAtum.java (97%) rename src/main/java/com/teammetallurgy/atum/{worldgen => world}/biome/BiomeGenAtumDesert.java (90%) rename src/main/java/com/teammetallurgy/atum/{worldgen => world}/decorators/WorldGenAtumTrees.java (99%) rename src/main/java/com/teammetallurgy/atum/{worldgen => world}/decorators/WorldGenOasis.java (99%) rename src/main/java/com/teammetallurgy/atum/{worldgen => world}/decorators/WorldGenPalace.java (99%) rename src/main/java/com/teammetallurgy/atum/{worldgen => world}/decorators/WorldGenPalm.java (98%) rename src/main/java/com/teammetallurgy/atum/{worldgen => world}/decorators/WorldGenPyramid.java (99%) rename src/main/java/com/teammetallurgy/atum/{worldgen => world}/decorators/WorldGenRuins.java (98%) rename src/main/java/com/teammetallurgy/atum/{worldgen => world}/decorators/WorldGenShrub.java (94%) delete mode 100644 src/main/java/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java diff --git a/.gitignore b/.gitignore index 99a3c77..6ccf2c8 100644 --- a/.gitignore +++ b/.gitignore @@ -28,7 +28,13 @@ local.properties # PDT-specific .buildpath - +################# +## Intellij Idea +################# +/out/ +*.iml +*.ipr +*.iws ################# ## Visual Studio ################# diff --git a/src/main/java/com/teammetallurgy/atum/Atum.java b/src/main/java/com/teammetallurgy/atum/Atum.java index 3042702..59b3123 100644 --- a/src/main/java/com/teammetallurgy/atum/Atum.java +++ b/src/main/java/com/teammetallurgy/atum/Atum.java @@ -74,9 +74,4 @@ public void init(FMLInitializationEvent event) { NetworkRegistry.INSTANCE.registerGuiHandler(this, new AtumGuiHandler()); } - - @EventHandler - public void postInit(FMLPostInitializationEvent event) { - - } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java index 2ff18f3..f7aee21 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java @@ -4,6 +4,7 @@ import java.util.Random; import net.minecraft.block.Block; +import net.minecraft.block.BlockChest; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -29,7 +30,7 @@ public class BlockChestSpawner extends BlockContainer { - protected BlockChestSpawner() { + protected BlockChestSpawner() { super(Material.wood); this.setBlockName("chestSpawner"); this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); @@ -141,8 +142,8 @@ public IInventory getInventory(World par1World, int par2, int par3, int par4) { @Override public TileEntity createNewTileEntity(World par1World, int par2) { - TileEntityChestSpawner TileEntityChestSpawner = new TileEntityChestSpawner(); - return TileEntityChestSpawner; + TileEntityChestSpawner tileEntityChestSpawner = new TileEntityChestSpawner(); + return tileEntityChestSpawner; } @Override diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java index 4f023bf..f4af101 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java @@ -2,6 +2,7 @@ import java.util.Random; +import com.teammetallurgy.atum.lib.tickhandler.ClientEvents; import net.minecraft.block.Block; import net.minecraft.block.BlockBreakable; import net.minecraft.block.material.Material; @@ -17,7 +18,6 @@ import net.minecraft.world.WorldServer; import com.teammetallurgy.atum.AtumIDS; -import com.teammetallurgy.atum.lib.tickhandler.ClientTickHandler; import com.teammetallurgy.atum.world.AtumTeleporter; import cpw.mods.fml.common.ObfuscationReflectionHelper; @@ -126,7 +126,7 @@ public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int p if (dimID == AtumIDS.DIMENSION_ID) { minecraftserver.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP) par5Entity, 0, new AtumTeleporter(worldserver)); if (par1World.isRemote) { - Minecraft.getMinecraft().gameSettings.renderDistanceChunks = ClientTickHandler.defaultFog; + Minecraft.getMinecraft().gameSettings.renderDistanceChunks = ClientEvents.defaultFog; } } else { minecraftserver.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP) par5Entity, AtumIDS.DIMENSION_ID, new AtumTeleporter(worldserver1)); diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java index a7ff3b7..de7a447 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java @@ -1,8 +1,6 @@ package com.teammetallurgy.atum.blocks.tileentity.chests; -import java.util.Iterator; -import java.util.List; - +import com.teammetallurgy.atum.blocks.BlockChestSpawner; import net.minecraft.block.Block; import net.minecraft.block.BlockChest; import net.minecraft.entity.monster.EntityMob; @@ -18,6 +16,9 @@ import net.minecraft.util.ChatComponentText; import net.minecraft.util.StatCollector; +import java.util.Iterator; +import java.util.List; + public class TileEntityChestSpawner extends TileEntityChest implements IInventory { private final CursedChestSpawnerLogic chestSpawner = new CursedChestSpawnerLogic(this); @@ -211,67 +212,101 @@ public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { } } - private boolean func_94044_a(int par1, int par2, int par3) { - Block block = super.worldObj.getBlock(par1, par2, par3); - return block != null && block instanceof BlockChest ? ((BlockChest) block).field_149956_a == this.func_145980_j() : false; - } @Override public void updateEntity() { - super.updateEntity(); this.chestSpawner.updateSpawner(); - ++this.ticksSinceSync; - float f; - if (!super.worldObj.isRemote && super.numPlayersUsing != 0 && (this.ticksSinceSync + super.xCoord + super.yCoord + super.zCoord) % 200 == 0) { - super.numPlayersUsing = 0; - f = 5.0F; - List d0 = super.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getAABBPool().getAABB((double) ((float) super.xCoord - f), (double) ((float) super.yCoord - f), (double) ((float) super.zCoord - f), (double) ((float) (super.xCoord + 1) + f), (double) ((float) (super.yCoord + 1) + f), (double) ((float) (super.zCoord + 1) + f))); - Iterator iterator = d0.iterator(); - - while (iterator.hasNext()) { - EntityPlayer f1 = (EntityPlayer) iterator.next(); - if (f1.openContainer instanceof ContainerChest) { - IInventory f2 = ((ContainerChest) f1.openContainer).getLowerChestInventory(); - if (f2 == this || f2 instanceof InventoryLargeChest && ((InventoryLargeChest) f2).isPartOfLargeChest(this)) { - ++super.numPlayersUsing; - } - } - } - } - - super.prevLidAngle = super.lidAngle; - f = 0.1F; - double var8; - if (super.numPlayersUsing > 0 && super.lidAngle == 0.0F) { - double var9 = (double) super.xCoord + 0.5D; - var8 = (double) super.zCoord + 0.5D; - super.worldObj.playSoundEffect(var9, (double) super.yCoord + 0.5D, var8, "random.chestopen", 0.5F, super.worldObj.rand.nextFloat() * 0.1F + 0.9F); - } - - if (super.numPlayersUsing == 0 && super.lidAngle > 0.0F || super.numPlayersUsing > 0 && super.lidAngle < 1.0F) { - float var10 = super.lidAngle; - if (super.numPlayersUsing > 0) { - super.lidAngle += f; - } else { - super.lidAngle -= f; - } - - if (super.lidAngle > 1.0F) { - super.lidAngle = 1.0F; - } - - float var11 = 0.5F; - if (super.lidAngle < var11 && var10 >= var11) { - var8 = (double) super.xCoord + 0.5D; - double d2 = (double) super.zCoord + 0.5D; - super.worldObj.playSoundEffect(var8, (double) super.yCoord + 0.5D, d2, "random.chestclosed", 0.5F, super.worldObj.rand.nextFloat() * 0.1F + 0.9F); - } - - if (super.lidAngle < 0.0F) { - super.lidAngle = 0.0F; - } - } - + ++this.ticksSinceSync; + float f; + + if (!this.worldObj.isRemote && this.numPlayersUsing != 0 && (this.ticksSinceSync + this.xCoord + this.yCoord + this.zCoord) % 200 == 0) + { + this.numPlayersUsing = 0; + f = 5.0F; + List list = this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getAABBPool().getAABB((double)((float)this.xCoord - f), (double)((float)this.yCoord - f), (double)((float)this.zCoord - f), (double)((float)(this.xCoord + 1) + f), (double)((float)(this.yCoord + 1) + f), (double)((float)(this.zCoord + 1) + f))); + Iterator iterator = list.iterator(); + + while (iterator.hasNext()) + { + EntityPlayer entityplayer = (EntityPlayer)iterator.next(); + + if (entityplayer.openContainer instanceof ContainerChest) + { + IInventory iinventory = ((ContainerChest)entityplayer.openContainer).getLowerChestInventory(); + + if (iinventory == this || iinventory instanceof InventoryLargeChest && ((InventoryLargeChest)iinventory).isPartOfLargeChest(this)) + { + ++this.numPlayersUsing; + } + } + } + } + + this.prevLidAngle = this.lidAngle; + f = 0.1F; + double d2; + + if (this.numPlayersUsing > 0 && this.lidAngle == 0.0F && this.adjacentChestZNeg == null && this.adjacentChestXNeg == null) + { + double d1 = (double)this.xCoord + 0.5D; + d2 = (double)this.zCoord + 0.5D; + + if (this.adjacentChestZPos != null) + { + d2 += 0.5D; + } + + if (this.adjacentChestXPos != null) + { + d1 += 0.5D; + } + + this.worldObj.playSoundEffect(d1, (double)this.yCoord + 0.5D, d2, "random.chestopen", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); + } + + if (this.numPlayersUsing == 0 && this.lidAngle > 0.0F || this.numPlayersUsing > 0 && this.lidAngle < 1.0F) + { + float f1 = this.lidAngle; + + if (this.numPlayersUsing > 0) + { + this.lidAngle += f; + } + else + { + this.lidAngle -= f; + } + + if (this.lidAngle > 1.0F) + { + this.lidAngle = 1.0F; + } + + float f2 = 0.5F; + + if (this.lidAngle < f2 && f1 >= f2 && this.adjacentChestZNeg == null && this.adjacentChestXNeg == null) + { + d2 = (double)this.xCoord + 0.5D; + double d0 = (double)this.zCoord + 0.5D; + + if (this.adjacentChestZPos != null) + { + d0 += 0.5D; + } + + if (this.adjacentChestXPos != null) + { + d2 += 0.5D; + } + + this.worldObj.playSoundEffect(d2, (double)this.yCoord + 0.5D, d0, "random.chestclosed", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); + } + + if (this.lidAngle < 0.0F) + { + this.lidAngle = 0.0F; + } + } } @Override @@ -298,7 +333,7 @@ public void openInventory() { @Override public void closeInventory() { - if (this.getBlockType() != null && this.getBlockType() instanceof BlockChest) { + if (this.getBlockType() != null && this.getBlockType() instanceof BlockChestSpawner) { --super.numPlayersUsing; super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numPlayersUsing); super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java index f053886..c92240d 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java @@ -1,8 +1,9 @@ package com.teammetallurgy.atum.blocks.tileentity.chests; -import java.util.Iterator; -import java.util.List; - +import com.teammetallurgy.atum.blocks.BlockChestSpawner; +import com.teammetallurgy.atum.entity.EntityMummy; +import com.teammetallurgy.atum.entity.EntityPharaoh; +import cpw.mods.fml.common.FMLCommonHandler; import net.minecraft.block.Block; import net.minecraft.block.BlockChest; import net.minecraft.entity.player.EntityPlayer; @@ -15,299 +16,317 @@ import net.minecraft.tileentity.TileEntityChest; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.ChatComponentText; -import net.minecraft.util.IChatComponent; import net.minecraft.util.StatCollector; -import com.teammetallurgy.atum.entity.EntityMummy; -import com.teammetallurgy.atum.entity.EntityPharaoh; - -import cpw.mods.fml.common.FMLCommonHandler; +import java.util.Iterator; +import java.util.List; public class TileEntityPharaohChest extends TileEntityChest implements IInventory { - private ItemStack[] chestContents = new ItemStack[36]; - public float f; - public float g; - public int h; - private int ticksSinceSync; - private int field_94046_i = -1; - private String field_94045_s; - private boolean hasSpawned = false; - private boolean isOpenable = false; - - public int getSizeInventory() { - return 27; - } - - public ItemStack getStackInSlot(int par1) { - return this.chestContents[par1]; - } - - public ItemStack decrStackSize(int par1, int par2) { - if (this.chestContents[par1] != null) { - ItemStack itemstack; - if (this.chestContents[par1].stackSize <= par2) { - itemstack = this.chestContents[par1]; - this.chestContents[par1] = null; - this.markDirty(); - return itemstack; - } else { - itemstack = this.chestContents[par1].splitStack(par2); - if (this.chestContents[par1].stackSize == 0) { - this.chestContents[par1] = null; - } - - this.markDirty(); - return itemstack; - } - } else { - return null; - } - } - - public ItemStack getStackInSlotOnClosing(int par1) { - if (this.chestContents[par1] != null) { - ItemStack itemstack = this.chestContents[par1]; - this.chestContents[par1] = null; - return itemstack; - } else { - return null; - } - } - - public void setInventorySlotContents(int par1, ItemStack par2ItemStack) { - this.chestContents[par1] = par2ItemStack; - if (par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) { - par2ItemStack.stackSize = this.getInventoryStackLimit(); - } - - this.markDirty(); - } - - public String getInvName() { - return this.isInvNameLocalized() ? this.field_94045_s : "container.chest"; - } - - public boolean isInvNameLocalized() { - return this.field_94045_s != null && this.field_94045_s.length() > 0; - } - - public void func_94043_a(String par1Str) { - this.field_94045_s = par1Str; - } - - public void readFromNBT(NBTTagCompound par1NBTTagCompound) { - super.readFromNBT(par1NBTTagCompound); - NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items", 0); - this.chestContents = new ItemStack[this.getSizeInventory()]; - if (par1NBTTagCompound.hasKey("CustomName")) { - this.field_94045_s = par1NBTTagCompound.getString("CustomName"); - } - - for (int i = 0; i < nbttaglist.tagCount(); ++i) { - NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.getCompoundTagAt(i); - int j = nbttagcompound1.getByte("Slot") & 255; - if (j >= 0 && j < this.chestContents.length) { - this.chestContents[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1); - } - } - - this.hasSpawned = par1NBTTagCompound.getBoolean("spawned"); - this.isOpenable = par1NBTTagCompound.getBoolean("openable"); - } - - public void writeToNBT(NBTTagCompound par1NBTTagCompound) { - super.writeToNBT(par1NBTTagCompound); - NBTTagList nbttaglist = new NBTTagList(); - - for (int i = 0; i < this.chestContents.length; ++i) { - if (this.chestContents[i] != null) { - NBTTagCompound nbttagcompound1 = new NBTTagCompound(); - nbttagcompound1.setByte("Slot", (byte) i); - this.chestContents[i].writeToNBT(nbttagcompound1); - nbttaglist.appendTag(nbttagcompound1); - } - } - - par1NBTTagCompound.setTag("Items", nbttaglist); - if (this.isInvNameLocalized()) { - par1NBTTagCompound.setString("CustomName", this.field_94045_s); - } - - par1NBTTagCompound.setBoolean("spawned", this.hasSpawned); - par1NBTTagCompound.setBoolean("openable", this.isOpenable); - } - - public int getInventoryStackLimit() { - return 64; - } - - public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { - return !this.isOpenable ? false : (this.isOpenable && super.worldObj.getTileEntity(super.xCoord, super.yCoord, super.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double) super.xCoord + 0.5D, (double) super.yCoord + 0.5D, (double) super.zCoord + 0.5D) <= 64.0D); - } - - private boolean func_94044_a(int par1, int par2, int par3) { - Block block = this.worldObj.getBlock(par1, par2, par3); - return block != null && block instanceof BlockChest ? ((BlockChest) block).field_149956_a == this.func_98041_l() : false; - } - - public void updateEntity() { - super.updateEntity(); - ++this.ticksSinceSync; - float f; - if (!super.worldObj.isRemote && super.numPlayersUsing != 0 && (this.ticksSinceSync + super.xCoord + super.yCoord + super.zCoord) % 200 == 0) { - super.numPlayersUsing = 0; - f = 5.0F; - List d0 = super.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getAABBPool().getAABB((double) ((float) super.xCoord - f), (double) ((float) super.yCoord - f), (double) ((float) super.zCoord - f), (double) ((float) (super.xCoord + 1) + f), (double) ((float) (super.yCoord + 1) + f), (double) ((float) (super.zCoord + 1) + f))); - Iterator iterator = d0.iterator(); - - while (iterator.hasNext()) { - EntityPlayer f1 = (EntityPlayer) iterator.next(); - if (f1.openContainer instanceof ContainerChest) { - IInventory f2 = ((ContainerChest) f1.openContainer).getLowerChestInventory(); - if (f2 == this || f2 instanceof InventoryLargeChest && ((InventoryLargeChest) f2).isPartOfLargeChest(this)) { - ++super.numPlayersUsing; - } - } - } - } - - super.prevLidAngle = super.lidAngle; - f = 0.1F; - double var8; - if (super.numPlayersUsing > 0 && super.lidAngle == 0.0F) { - double var9 = (double) super.xCoord + 0.5D; - var8 = (double) super.zCoord + 0.5D; - super.worldObj.playSoundEffect(var9, (double) super.yCoord + 0.5D, var8, "random.chestopen", 0.5F, super.worldObj.rand.nextFloat() * 0.1F + 0.9F); - } - - if (super.numPlayersUsing == 0 && super.lidAngle > 0.0F || super.numPlayersUsing > 0 && super.lidAngle < 1.0F) { - float var10 = super.lidAngle; - if (super.numPlayersUsing > 0) { - super.lidAngle += f; - } else { - super.lidAngle -= f; - } - - if (super.lidAngle > 1.0F) { - super.lidAngle = 1.0F; - } - - float var11 = 0.5F; - if (super.lidAngle < var11 && var10 >= var11) { - var8 = (double) super.xCoord + 0.5D; - double d2 = (double) super.zCoord + 0.5D; - super.worldObj.playSoundEffect(var8, (double) super.yCoord + 0.5D, d2, "random.chestclosed", 0.5F, super.worldObj.rand.nextFloat() * 0.1F + 0.9F); - } - - if (super.lidAngle < 0.0F) { - super.lidAngle = 0.0F; - } - } - - } - - public boolean receiveClientEvent(int par1, int par2) { - if (par1 == 1) { - super.numPlayersUsing = par2; - return true; - } else { - return super.receiveClientEvent(par1, par2); - } - } - - public void openChest() { - if (super.numPlayersUsing < 0) { - super.numPlayersUsing = 0; - } - - ++super.numPlayersUsing; - super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numPlayersUsing); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); - } - - public void closeChest() { - if (this.getBlockType() != null && this.getBlockType() instanceof BlockChest) { - --super.numPlayersUsing; - super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numPlayersUsing); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); - } - - } - - public boolean isStackValidForSlot(int par1, ItemStack par2ItemStack) { - return true; - } - - public void invalidate() { - super.invalidate(); - this.updateContainingBlockInfo(); - } - - public int func_98041_l() { - if (this.field_94046_i == -1) { - if (super.worldObj == null || !(this.getBlockType() instanceof BlockChest)) { - return 0; - } - - this.field_94046_i = ((BlockChest) this.getBlockType()).field_149956_a; - } - - return this.field_94046_i; - } - - public void setOpenable() { - this.isOpenable = true; - } - - public boolean hasSpawned() { - return this.hasSpawned; - } - - public void spawn(EntityPlayer player) { - EntityPharaoh pharaoh = new EntityPharaoh(super.worldObj); - pharaoh.setPosition((double) super.xCoord + 0.5D, (double) (super.yCoord + 1), (double) super.zCoord + 0.5D); - pharaoh.link(super.xCoord, super.yCoord, super.zCoord); - if (!super.worldObj.isRemote) { - super.worldObj.spawnEntityInWorld(pharaoh); - } - - pharaoh.spawnExplosionParticle(); - this.hasSpawned = true; - EntityMummy mummy1 = new EntityMummy(super.worldObj); - mummy1.setPosition((double) super.xCoord + 0.5D, (double) super.yCoord, (double) super.zCoord - 0.5D); - if (!super.worldObj.isRemote) { - super.worldObj.spawnEntityInWorld(mummy1); - } - - mummy1.spawnExplosionParticle(); - EntityMummy mummy2 = new EntityMummy(super.worldObj); - mummy2.setPosition((double) super.xCoord + 0.5D, (double) super.yCoord, (double) super.zCoord + 1.5D); - if (!super.worldObj.isRemote) { - super.worldObj.spawnEntityInWorld(mummy2); - } - - mummy2.spawnExplosionParticle(); - if (!super.worldObj.isRemote) { - List players = FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList; - Iterator i = players.iterator(); - - while (i.hasNext()) { - EntityPlayer p = (EntityPlayer) i.next(); - p.addChatMessage(new ChatComponentText(pharaoh.getCommandSenderName() + " "+StatCollector.translateToLocal("chat.Atum.summonPharaoh")+" " + player.getGameProfile().getName())); - } - } - - if (!super.worldObj.isRemote) { - System.out.println("Playing Sound"); - super.worldObj.playSoundAtEntity(pharaoh, "Atum.pharaohspawn", 1.0F, 1.0F); - } - - } - - public void setPharaohDespawned() { - this.hasSpawned = false; - } + private ItemStack[] chestContents = new ItemStack[36]; + public float f; + public float g; + public int h; + private int ticksSinceSync; + private int field_94046_i = -1; + private String field_94045_s; + private boolean hasSpawned = false; + private boolean isOpenable = false; + + public int getSizeInventory() { + return 27; + } + + public ItemStack getStackInSlot(int par1) { + return this.chestContents[par1]; + } + + public ItemStack decrStackSize(int par1, int par2) { + if (this.chestContents[par1] != null) { + ItemStack itemstack; + if (this.chestContents[par1].stackSize <= par2) { + itemstack = this.chestContents[par1]; + this.chestContents[par1] = null; + this.markDirty(); + return itemstack; + } else { + itemstack = this.chestContents[par1].splitStack(par2); + if (this.chestContents[par1].stackSize == 0) { + this.chestContents[par1] = null; + } + + this.markDirty(); + return itemstack; + } + } else { + return null; + } + } + + public ItemStack getStackInSlotOnClosing(int par1) { + if (this.chestContents[par1] != null) { + ItemStack itemstack = this.chestContents[par1]; + this.chestContents[par1] = null; + return itemstack; + } else { + return null; + } + } + + public void setInventorySlotContents(int par1, ItemStack par2ItemStack) { + this.chestContents[par1] = par2ItemStack; + if (par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) { + par2ItemStack.stackSize = this.getInventoryStackLimit(); + } + + this.markDirty(); + } + + public String getInvName() { + return this.isInvNameLocalized() ? this.field_94045_s : "container.chest"; + } + + public boolean isInvNameLocalized() { + return this.field_94045_s != null && this.field_94045_s.length() > 0; + } + + public void func_94043_a(String par1Str) { + this.field_94045_s = par1Str; + } + + public void readFromNBT(NBTTagCompound par1NBTTagCompound) { + super.readFromNBT(par1NBTTagCompound); + NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items", 0); + this.chestContents = new ItemStack[this.getSizeInventory()]; + if (par1NBTTagCompound.hasKey("CustomName")) { + this.field_94045_s = par1NBTTagCompound.getString("CustomName"); + } + + for (int i = 0; i < nbttaglist.tagCount(); ++i) { + NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.getCompoundTagAt(i); + int j = nbttagcompound1.getByte("Slot") & 255; + if (j >= 0 && j < this.chestContents.length) { + this.chestContents[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1); + } + } + + this.hasSpawned = par1NBTTagCompound.getBoolean("spawned"); + this.isOpenable = par1NBTTagCompound.getBoolean("openable"); + } + + public void writeToNBT(NBTTagCompound par1NBTTagCompound) { + super.writeToNBT(par1NBTTagCompound); + NBTTagList nbttaglist = new NBTTagList(); + + for (int i = 0; i < this.chestContents.length; ++i) { + if (this.chestContents[i] != null) { + NBTTagCompound nbttagcompound1 = new NBTTagCompound(); + nbttagcompound1.setByte("Slot", (byte) i); + this.chestContents[i].writeToNBT(nbttagcompound1); + nbttaglist.appendTag(nbttagcompound1); + } + } + + par1NBTTagCompound.setTag("Items", nbttaglist); + if (this.isInvNameLocalized()) { + par1NBTTagCompound.setString("CustomName", this.field_94045_s); + } + + par1NBTTagCompound.setBoolean("spawned", this.hasSpawned); + par1NBTTagCompound.setBoolean("openable", this.isOpenable); + } + + public int getInventoryStackLimit() { + return 64; + } + + public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { + return !this.isOpenable ? false : (this.isOpenable && super.worldObj.getTileEntity(super.xCoord, super.yCoord, super.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double) super.xCoord + 0.5D, (double) super.yCoord + 0.5D, (double) super.zCoord + 0.5D) <= 64.0D); + } + + private boolean func_94044_a(int par1, int par2, int par3) { + Block block = this.worldObj.getBlock(par1, par2, par3); + return block != null && block instanceof BlockChest ? ((BlockChest) block).field_149956_a == this.func_98041_l() : false; + } + + @Override + public void updateEntity() { + ++this.ticksSinceSync; + float f; + + if (!this.worldObj.isRemote && this.numPlayersUsing != 0 && (this.ticksSinceSync + this.xCoord + this.yCoord + this.zCoord) % 200 == 0) { + this.numPlayersUsing = 0; + f = 5.0F; + List list = this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getAABBPool().getAABB((double) ((float) this.xCoord - f), (double) ((float) this.yCoord - f), (double) ((float) this.zCoord - f), (double) ((float) (this.xCoord + 1) + f), (double) ((float) (this.yCoord + 1) + f), (double) ((float) (this.zCoord + 1) + f))); + Iterator iterator = list.iterator(); + + while (iterator.hasNext()) { + EntityPlayer entityplayer = (EntityPlayer) iterator.next(); + + if (entityplayer.openContainer instanceof ContainerChest) { + IInventory iinventory = ((ContainerChest) entityplayer.openContainer).getLowerChestInventory(); + + if (iinventory == this || iinventory instanceof InventoryLargeChest && ((InventoryLargeChest) iinventory).isPartOfLargeChest(this)) { + ++this.numPlayersUsing; + } + } + } + } + + this.prevLidAngle = this.lidAngle; + f = 0.1F; + double d2; + + if (this.numPlayersUsing > 0 && this.lidAngle == 0.0F && this.adjacentChestZNeg == null && this.adjacentChestXNeg == null) { + double d1 = (double) this.xCoord + 0.5D; + d2 = (double) this.zCoord + 0.5D; + + if (this.adjacentChestZPos != null) { + d2 += 0.5D; + } + + if (this.adjacentChestXPos != null) { + d1 += 0.5D; + } + + this.worldObj.playSoundEffect(d1, (double) this.yCoord + 0.5D, d2, "random.chestopen", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); + } + + if (this.numPlayersUsing == 0 && this.lidAngle > 0.0F || this.numPlayersUsing > 0 && this.lidAngle < 1.0F) { + float f1 = this.lidAngle; + + if (this.numPlayersUsing > 0) { + this.lidAngle += f; + } else { + this.lidAngle -= f; + } + + if (this.lidAngle > 1.0F) { + this.lidAngle = 1.0F; + } + + float f2 = 0.5F; + + if (this.lidAngle < f2 && f1 >= f2 && this.adjacentChestZNeg == null && this.adjacentChestXNeg == null) { + d2 = (double) this.xCoord + 0.5D; + double d0 = (double) this.zCoord + 0.5D; + + if (this.adjacentChestZPos != null) { + d0 += 0.5D; + } + + if (this.adjacentChestXPos != null) { + d2 += 0.5D; + } + + this.worldObj.playSoundEffect(d2, (double) this.yCoord + 0.5D, d0, "random.chestclosed", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); + } + + if (this.lidAngle < 0.0F) { + this.lidAngle = 0.0F; + } + } + } + + public boolean receiveClientEvent(int par1, int par2) { + if (par1 == 1) { + super.numPlayersUsing = par2; + return true; + } else { + return super.receiveClientEvent(par1, par2); + } + } + + @Override + public void openInventory() { + if (super.numPlayersUsing < 0) { + super.numPlayersUsing = 0; + } + + ++super.numPlayersUsing; + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numPlayersUsing); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); + } + + @Override + public void closeInventory() { + if (this.getBlockType() != null && this.getBlockType() instanceof BlockChestSpawner) { + --super.numPlayersUsing; + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numPlayersUsing); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); + } + } + + + public void invalidate() { + super.invalidate(); + this.updateContainingBlockInfo(); + } + + public int func_98041_l() { + if (this.field_94046_i == -1) { + if (super.worldObj == null || !(this.getBlockType() instanceof BlockChest)) { + return 0; + } + + this.field_94046_i = ((BlockChest) this.getBlockType()).field_149956_a; + } + + return this.field_94046_i; + } + + public void setOpenable() { + this.isOpenable = true; + } + + public boolean hasSpawned() { + return this.hasSpawned; + } + + public void spawn(EntityPlayer player) { + EntityPharaoh pharaoh = new EntityPharaoh(super.worldObj); + pharaoh.setPosition((double) super.xCoord + 0.5D, (double) (super.yCoord + 1), (double) super.zCoord + 0.5D); + pharaoh.link(super.xCoord, super.yCoord, super.zCoord); + if (!super.worldObj.isRemote) { + super.worldObj.spawnEntityInWorld(pharaoh); + } + + pharaoh.spawnExplosionParticle(); + this.hasSpawned = true; + EntityMummy mummy1 = new EntityMummy(super.worldObj); + mummy1.setPosition((double) super.xCoord + 0.5D, (double) super.yCoord, (double) super.zCoord - 0.5D); + if (!super.worldObj.isRemote) { + super.worldObj.spawnEntityInWorld(mummy1); + } + + mummy1.spawnExplosionParticle(); + EntityMummy mummy2 = new EntityMummy(super.worldObj); + mummy2.setPosition((double) super.xCoord + 0.5D, (double) super.yCoord, (double) super.zCoord + 1.5D); + if (!super.worldObj.isRemote) { + super.worldObj.spawnEntityInWorld(mummy2); + } + + mummy2.spawnExplosionParticle(); + if (!super.worldObj.isRemote) { + List players = FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList; + Iterator i = players.iterator(); + + while (i.hasNext()) { + EntityPlayer p = (EntityPlayer) i.next(); + p.addChatMessage(new ChatComponentText(pharaoh.getCommandSenderName() + " " + StatCollector.translateToLocal("chat.atum.summonPharaoh") + " " + player.getGameProfile().getName())); + } + } + + if (!super.worldObj.isRemote) { + System.out.println("Playing Sound"); + super.worldObj.playSoundAtEntity(pharaoh, "Atum.pharaohspawn", 1.0F, 1.0F); + } + + } + + public void setPharaohDespawned() { + this.hasSpawned = false; + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityBanditArcher.java b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditArcher.java index 41f6b94..3c2b695 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityBanditArcher.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditArcher.java @@ -25,7 +25,7 @@ import com.teammetallurgy.atum.items.AtumItems; -public class EntityBanditArcher extends EntityMob implements IRangedAttackMob, IAtumDayMob { +public class EntityBanditArcher extends EntityMob implements IRangedAttackMob { private EntityAIArrowAttack aiArrowAttack = new EntityAIArrowAttack(this, 1.0D, 20, 60, 15.0F); public EntityBanditArcher(World par1World) { diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarlord.java b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarlord.java index 1d56fbd..7bc7582 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarlord.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarlord.java @@ -10,7 +10,7 @@ import com.teammetallurgy.atum.items.AtumItems; -public class EntityBanditWarlord extends EntityMob implements IAtumDayMob { +public class EntityBanditWarlord extends EntityMob { public EntityBanditWarlord(World par1World) { super(par1World); diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarrior.java b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarrior.java index 5be158c..abfe24c 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarrior.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarrior.java @@ -11,84 +11,80 @@ import com.teammetallurgy.atum.items.AtumItems; -public class EntityBanditWarrior extends EntityMob implements IAtumDayMob { +public class EntityBanditWarrior extends EntityMob { - public EntityBanditWarrior(World par1World) { - super(par1World); - this.experienceValue = 8; + public EntityBanditWarrior(World par1World) { + super(par1World); + this.experienceValue = 8; - super.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCIMITAR)); - this.enchantEquipment(); + super.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCIMITAR)); + this.enchantEquipment(); - for (int i = 0; i < this.equipmentDropChances.length; ++i) { - this.equipmentDropChances[i] = 0F; - } - } + for (int i = 0; i < this.equipmentDropChances.length; ++i) { + this.equipmentDropChances[i] = 0F; + } + } - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(30.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(3.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); - } + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(30.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(3.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } - public String getTexture() { - return "atum:textures/entities/BanditWarrior.png"; - } + public String getTexture() { + return "atum:textures/entities/BanditWarrior.png"; + } - /** - * Checks if the entity's current position is a valid location to spawn this - * entity. - */ - @Override - public boolean getCanSpawnHere() { - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - } + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - @Override - protected boolean isValidLightLevel() { - return true; - } + /** + * Checks to make sure the light is not too bright where the mob is spawning + */ + @Override + protected boolean isValidLightLevel() { + return true; + } - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEFINED; - } + /** + * Get this Entity's EnumCreatureAttribute + */ + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } - /** - * Returns the amount of damage a mob should deal. - */ - public int getAttackStrength(Entity par1Entity) { - ItemStack itemstack = this.getHeldItem(); - float f = (float) (this.getMaxHealth() - this.getHealth()) / (float) this.getMaxHealth(); - int i = 3 + MathHelper.floor_float(f * 4.0F); + /** + * Returns the amount of damage a mob should deal. + */ + public int getAttackStrength(Entity par1Entity) { + ItemStack itemstack = this.getHeldItem(); + float f = (float) (this.getMaxHealth() - this.getHealth()) / (float) this.getMaxHealth(); + int i = 3 + MathHelper.floor_float(f * 4.0F); - return i; - } + return i; + } - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity - * has recently been hit by a player. @param par2 - Level of Looting used to - * kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) { - if (rand.nextInt(20) == 0) { - int damage = (int) (AtumItems.ITEM_SCIMITAR.getMaxDamage() - rand.nextInt(AtumItems.ITEM_SCIMITAR.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(AtumItems.ITEM_SCIMITAR, 1, damage), 0.0F); - } + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + if (rand.nextInt(20) == 0) { + int damage = (int) (AtumItems.ITEM_SCIMITAR.getMaxDamage() - rand.nextInt(AtumItems.ITEM_SCIMITAR.getMaxDamage()) * 0.5 + 20); + this.entityDropItem(new ItemStack(AtumItems.ITEM_SCIMITAR, 1, damage), 0.0F); + } - if (rand.nextInt(10) == 0) { - int amount = rand.nextInt(2) + 1; - this.dropItem(Items.gold_nugget, amount); - } - } + if (rand.nextInt(10) == 0) { + int amount = rand.nextInt(2) + 1; + this.dropItem(Items.gold_nugget, amount); + } + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityBarbarian.java b/src/main/java/com/teammetallurgy/atum/entity/EntityBarbarian.java index 8130dd5..cde5d07 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityBarbarian.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityBarbarian.java @@ -11,87 +11,68 @@ import com.teammetallurgy.atum.items.AtumItems; -public class EntityBarbarian extends EntityMob implements IAtumDayMob { +public class EntityBarbarian extends EntityMob { - public EntityBarbarian(World par1World) { - super(par1World); - this.experienceValue = 9; + public EntityBarbarian(World par1World) { + super(par1World); + this.experienceValue = 9; - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_GREATSWORD)); - this.enchantEquipment(); + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_GREATSWORD)); + this.enchantEquipment(); - for (int i = 0; i < this.equipmentDropChances.length; ++i) { - this.equipmentDropChances[i] = 0F; - } - } + for (int i = 0; i < this.equipmentDropChances.length; ++i) { + this.equipmentDropChances[i] = 0F; + } + } - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(30.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); - } + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(30.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } - @Override - protected void addRandomArmor() { - } + @Override + protected void addRandomArmor() { + } - /** - * Checks if the entity's current position is a valid location to spawn this - * entity. - */ - @Override - public boolean getCanSpawnHere() { - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - } + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - @Override - protected boolean isValidLightLevel() { - return true; - } + @Override + protected boolean isValidLightLevel() { + return true; + } - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEFINED; - } + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity - * has recently been hit by a player. @param par2 - Level of Looting used to - * kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) { - if (rand.nextInt(20) == 0) { - int damage = (int) (AtumItems.ITEM_GREATSWORD.getMaxDamage() - rand.nextInt(AtumItems.ITEM_GREATSWORD.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(AtumItems.ITEM_GREATSWORD, 1, damage), 0.0F); - } + @Override + protected void dropFewItems(boolean par1, int par2) { + if (rand.nextInt(20) == 0) { + int damage = (int) (AtumItems.ITEM_GREATSWORD.getMaxDamage() - rand.nextInt(AtumItems.ITEM_GREATSWORD.getMaxDamage()) * 0.5 + 20); + this.entityDropItem(new ItemStack(AtumItems.ITEM_GREATSWORD, 1, damage), 0.0F); + } - if (rand.nextInt(4) == 0) { - int amount = rand.nextInt(2) + 1; - this.dropItem(Items.gold_nugget, amount); - } - } + if (rand.nextInt(4) == 0) { + int amount = rand.nextInt(2) + 1; + this.dropItem(Items.gold_nugget, amount); + } + } - /** - * Basic mob attack. Default to touch of death in EntityCreature. Overridden - * by each mob to define their attack. - */ - @Override - protected void attackEntity(Entity mob, float par2) { + @Override + protected void attackEntity(Entity mob, float par2) { - if (!(mob instanceof EntityStoneSoldier || mob instanceof EntityPharaoh)) { - float j = 1.2f; - mob.addVelocity((double) (-MathHelper.sin(this.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), 0.1D, (double) (MathHelper.cos(this.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); - } - super.attackEntity(mob, par2); - } + if (!(mob instanceof EntityStoneSoldier || mob instanceof EntityPharaoh)) { + float j = 1.2f; + mob.addVelocity((double) (-MathHelper.sin(this.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), 0.1D, (double) (MathHelper.cos(this.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); + } + super.attackEntity(mob, par2); + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java b/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java index c85817b..93d3624 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java @@ -35,496 +35,498 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class EntityDesertWolf extends EntityTameable implements IAtumDayMob { - private float field_70926_e; - private float field_70924_f; - - /** true is the wolf is wet else false */ - private boolean isShaking; - private boolean field_70928_h; - - /** - * This time increases while wolf is shaking and emitting water particles. - */ - private float timeWolfIsShaking; - private float prevTimeWolfIsShaking; - - public EntityDesertWolf(World par1World) { - super(par1World); - this.dataWatcher.addObject(18, new Float(this.getHealth())); - this.dataWatcher.addObject(19, new Byte((byte) 0)); - this.setAngry(true); - this.experienceValue = 6; - - this.setSize(0.6F, 0.8F); - this.getNavigator().setAvoidsWater(true); - this.tasks.addTask(1, new EntityAISwimming(this)); - this.tasks.addTask(2, this.aiSit); - this.tasks.addTask(3, new EntityAILeapAtTarget(this, 0.4F)); - this.tasks.addTask(4, new EntityAIAttackOnCollide(this, 1, true)); - this.tasks.addTask(5, new EntityAIFollowOwner(this, 0.8, 10.0F, 2.0F)); - this.tasks.addTask(6, new EntityAIMate(this, 0.8)); - this.tasks.addTask(7, new EntityAIWander(this, this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).getAttributeValue())); - this.tasks.addTask(8, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); - this.tasks.addTask(9, new EntityAILookIdle(this)); - this.targetTasks.addTask(1, new EntityAIOwnerHurtByTarget(this)); - this.targetTasks.addTask(2, new EntityAIOwnerHurtTarget(this)); - this.targetTasks.addTask(3, new EntityAIHurtByTarget(this, true)); - this.targetTasks.addTask(4, new EntityAITargetNonTamed(this, EntityPlayer.class, 16, true)); - } - - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(8.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.43000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); - } - - /** - * Returns true if the newer Entity AI code should be run - */ - @Override - public boolean isAIEnabled() { - return true; - } - - /** - * Finds the closest player within 16 blocks to attack, or null if this - * Entity isn't interested in attacking (Animals, Spiders at day, peaceful - * PigZombies). - */ - @Override - protected Entity findPlayerToAttack() { - EntityPlayer entityplayer = this.worldObj.getClosestVulnerablePlayerToEntity(this, 16.0D); - return entityplayer != null && this.canEntityBeSeen(entityplayer) ? entityplayer : null; - } - - /** - * Sets the active target the Task system uses for tracking - */ - @Override - public void setAttackTarget(EntityLivingBase par1EntityLiving) { - super.setAttackTarget(par1EntityLiving); - - if (par1EntityLiving instanceof EntityPlayer) { - this.setAngry(true); - } - } - - /** - * main AI tick function, replaces updateEntityActionState - */ - @Override - protected void updateAITick() { - this.dataWatcher.updateObject(18, Float.valueOf(this.getHealth())); - } - - /** - * Checks if the entity's current position is a valid location to spawn this - * entity. - */ - @Override - public boolean getCanSpawnHere() { - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - } - - @Override - public void playSound(String par1Str, float par2, float par3) { - //this.playSound("mob.wolf.step", 0.15F, 1.0F); - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - @Override - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - super.writeEntityToNBT(par1NBTTagCompound); - par1NBTTagCompound.setBoolean("Angry", this.isAngry()); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - @Override - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - super.readEntityFromNBT(par1NBTTagCompound); - this.setAngry(par1NBTTagCompound.getBoolean("Angry")); - - } - - /** - * Determines if an entity can be despawned, used on idle far away entities - */ - @Override - protected boolean canDespawn() { - return this.isAngry(); - } - - /** - * Returns the sound this mob makes while it's alive. - */ - @Override - protected String getLivingSound() { - return this.isAngry() ? "mob.wolf.growl" : (this.rand.nextInt(3) == 0 ? (this.isTamed() && this.dataWatcher.getWatchableObjectInt(18) < 10 ? "mob.wolf.whine" : "mob.wolf.panting") : "mob.wolf.bark"); - } - - /** - * Returns the sound this mob makes when it is hurt. - */ - @Override - protected String getHurtSound() { - return "mob.wolf.hurt"; - } - - /** - * Returns the sound this mob makes on death. - */ - @Override - protected String getDeathSound() { - return "mob.wolf.death"; - } - - /** - * Returns the volume for the sounds this mob makes. - */ - @Override - protected float getSoundVolume() { - return 0.4F; - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity - * has recently been hit by a player. @param par2 - Level of Looting used to - * kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) { - if (rand.nextInt(10) == 0) { - this.dropItem(Items.bone, 1); - } - if (rand.nextInt(4) == 0) { - int amount = rand.nextInt(2) + 1; - this.dropItem(AtumItems.ITEM_PELT, amount); - } - } - - /** - * Called frequently so the entity can update its state every tick as - * required. For example, zombies and skeletons use this to react to - * sunlight and start to burn. - */ - @Override - public void onLivingUpdate() { - super.onLivingUpdate(); - - if (!this.worldObj.isRemote && this.isShaking && !this.field_70928_h && !this.hasPath() && this.onGround) { - this.field_70928_h = true; - this.timeWolfIsShaking = 0.0F; - this.prevTimeWolfIsShaking = 0.0F; - this.worldObj.setEntityState(this, (byte) 8); - } - } - - /** - * Called to update the entity's position/logic. - */ - @Override - public void onUpdate() { - super.onUpdate(); - - if (!this.worldObj.isRemote && this.worldObj.difficultySetting.getDifficultyId() == 0) { - this.setDead(); - return; - } - - this.field_70924_f = this.field_70926_e; - - if (this.func_70922_bv()) { - this.field_70926_e += (1.0F - this.field_70926_e) * 0.4F; - } else { - this.field_70926_e += (0.0F - this.field_70926_e) * 0.4F; - } - - if (this.func_70922_bv()) { - this.numTicksToChaseTarget = 10; - } - - if (this.isWet()) { - this.isShaking = true; - this.field_70928_h = false; - this.timeWolfIsShaking = 0.0F; - this.prevTimeWolfIsShaking = 0.0F; - } else if ((this.isShaking || this.field_70928_h) && this.field_70928_h) { - if (this.timeWolfIsShaking == 0.0F) { - this.playSound("mob.wolf.shake", this.getSoundVolume(), (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F); - } - - this.prevTimeWolfIsShaking = this.timeWolfIsShaking; - this.timeWolfIsShaking += 0.05F; - - if (this.prevTimeWolfIsShaking >= 2.0F) { - this.isShaking = false; - this.field_70928_h = false; - this.prevTimeWolfIsShaking = 0.0F; - this.timeWolfIsShaking = 0.0F; - } - - if (this.timeWolfIsShaking > 0.4F) { - float f = (float) this.boundingBox.minY; - int i = (int) (MathHelper.sin((this.timeWolfIsShaking - 0.4F) * (float) Math.PI) * 7.0F); - - for (int j = 0; j < i; ++j) { - float f1 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; - float f2 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; - this.worldObj.spawnParticle("splash", this.posX + (double) f1, (double) (f + 0.8F), this.posZ + (double) f2, this.motionX, this.motionY, this.motionZ); - } - } - } - } - - @SideOnly(Side.CLIENT) - public boolean getWolfShaking() { - return this.isShaking; - } - - @SideOnly(Side.CLIENT) - /** - * Used when calculating the amount of shading to apply while the wolf is shaking. - */ - public float getShadingWhileShaking(float par1) { - return 0.75F + (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * par1) / 2.0F * 0.25F; - } - - @SideOnly(Side.CLIENT) - public float getShakeAngle(float par1, float par2) { - float f2 = (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * par1 + par2) / 1.8F; - - if (f2 < 0.0F) { - f2 = 0.0F; - } else if (f2 > 1.0F) { - f2 = 1.0F; - } - - return MathHelper.sin(f2 * (float) Math.PI) * MathHelper.sin(f2 * (float) Math.PI * 11.0F) * 0.15F * (float) Math.PI; - } - - @SideOnly(Side.CLIENT) - public float getInterestedAngle(float par1) { - return (this.field_70924_f + (this.field_70926_e - this.field_70924_f) * par1) * 0.15F * (float) Math.PI; - } - - @Override - public float getEyeHeight() { - return this.height * 0.8F; - } - - /** - * The speed it takes to move the entityliving's rotationPitch through the - * faceEntity method. This is only currently use in wolves. - */ - @Override - public int getVerticalFaceSpeed() { - return this.isSitting() ? 20 : super.getVerticalFaceSpeed(); - } - - /** - * Called when the entity is attacked. - */ - @Override - public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { - if (this.isEntityInvulnerable()) { - return false; - } else { - Entity entity = par1DamageSource.getEntity(); - this.aiSit.setSitting(false); - - if (entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) { - par2 = (par2 + 1) / 2; - } - - return super.attackEntityFrom(par1DamageSource, par2); - } - } - - @Override - public boolean attackEntityAsMob(Entity par1Entity) { - int i = this.isTamed() ? 4 : 2; - return par1Entity.attackEntityFrom(DamageSource.causeMobDamage(this), i); - } - - /** - * Called when a player interacts with a mob. e.g. gets milk from a cow, - * gets into the saddle on a pig. - */ - @Override - public boolean interact(EntityPlayer par1EntityPlayer) { - ItemStack itemstack = par1EntityPlayer.inventory.getCurrentItem(); - - if (this.isTamed()) { - if (itemstack != null) { - if (itemstack.getItem() instanceof ItemFood) { - ItemFood itemfood = (ItemFood) itemstack.getItem(); - - if (itemfood.isWolfsFavoriteMeat() && this.dataWatcher.getWatchableObjectInt(18) < 20) { - if (!par1EntityPlayer.capabilities.isCreativeMode) { - --itemstack.stackSize; - } - - this.heal(itemfood.func_150905_g(itemstack)); - - if (itemstack.stackSize <= 0) { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); - } - - return true; - } - } - } - - if (par1EntityPlayer.getGameProfile().getName().equalsIgnoreCase(this.getOwnerName()) && !this.worldObj.isRemote && !this.isBreedingItem(itemstack)) { - this.aiSit.setSitting(!this.isSitting()); - this.isJumping = false; - this.setPathToEntity((PathEntity) null); - } - } else if (itemstack != null && itemstack.getItem() == Items.bone && !this.isAngry()) { - if (!par1EntityPlayer.capabilities.isCreativeMode) { - --itemstack.stackSize; - } - - if (itemstack.stackSize <= 0) { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); - } - - if (!this.worldObj.isRemote) { - if (this.rand.nextInt(3) == 0) { - this.setTamed(true); - this.setPathToEntity((PathEntity) null); - this.setAttackTarget((EntityLiving) null); - this.aiSit.setSitting(true); - this.setOwner(par1EntityPlayer.getGameProfile().getName()); - this.playTameEffect(true); - this.worldObj.setEntityState(this, (byte) 7); - } else { - this.playTameEffect(false); - this.worldObj.setEntityState(this, (byte) 6); - } - } - - return true; - } - - return super.interact(par1EntityPlayer); - } - - @SideOnly(Side.CLIENT) - @Override - public void handleHealthUpdate(byte par1) { - if (par1 == 8) { - this.field_70928_h = true; - this.timeWolfIsShaking = 0.0F; - this.prevTimeWolfIsShaking = 0.0F; - } else { - super.handleHealthUpdate(par1); - } - } - - @SideOnly(Side.CLIENT) - public float getTailRotation() { - return this.isAngry() ? 1.5393804F : (this.isTamed() ? (0.55F - (float) (20 - this.dataWatcher.getWatchableObjectInt(18)) * 0.02F) * (float) Math.PI : ((float) Math.PI / 5F)); - } - - /** - * Checks if the parameter is an item which this animal can be fed to breed - * it (wheat, carrots or seeds depending on the animal type) - */ - @Override - public boolean isBreedingItem(ItemStack par1ItemStack) { - return par1ItemStack == null ? false : (!(par1ItemStack.getItem() instanceof ItemFood) ? false : ((ItemFood) par1ItemStack.getItem()).isWolfsFavoriteMeat()); - } - - /** - * Will return how many at most can spawn in a chunk at once. - */ - @Override - public int getMaxSpawnedInChunk() { - return 8; - } - - /** - * Determines whether this wolf is angry or not. - */ - public boolean isAngry() { - return (this.dataWatcher.getWatchableObjectByte(16) & 2) != 0; - } - - /** - * Sets whether this wolf is angry or not. - */ - public void setAngry(boolean par1) { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 2))); - } else { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -3))); - } - } - - /** - * This function is used when two same-species animals in 'love mode' breed - * to generate the new baby animal. - */ - public EntityDesertWolf spawnBabyAnimal(EntityAgeable par1EntityAgeable) { - EntityDesertWolf entitywolf = new EntityDesertWolf(this.worldObj); - String s = this.getOwnerName(); - - if (s != null && s.trim().length() > 0) { - entitywolf.setOwner(s); - entitywolf.setTamed(true); - } - - return entitywolf; - } - - public void func_70918_i(boolean par1) { - byte b0 = this.dataWatcher.getWatchableObjectByte(19); - - if (par1) { - this.dataWatcher.updateObject(19, Byte.valueOf((byte) 1)); - } else { - this.dataWatcher.updateObject(19, Byte.valueOf((byte) 0)); - } - } - - /** - * Returns true if the mob is currently able to mate with the specified mob. - */ - @Override - public boolean canMateWith(EntityAnimal par1EntityAnimal) { - if (par1EntityAnimal == this) { - return false; - } else if (!this.isTamed()) { - return false; - } else if (!(par1EntityAnimal instanceof EntityDesertWolf)) { - return false; - } else { - EntityDesertWolf entitywolf = (EntityDesertWolf) par1EntityAnimal; - return !entitywolf.isTamed() ? false : (entitywolf.isSitting() ? false : this.isInLove() && entitywolf.isInLove()); - } - } - - public boolean func_70922_bv() { - return this.dataWatcher.getWatchableObjectByte(19) == 1; - } - - @Override - public EntityAgeable createChild(EntityAgeable par1EntityAgeable) { - return this.spawnBabyAnimal(par1EntityAgeable); - } - - @Override - public EntityLivingBase getOwner() { - return null; - } +public class EntityDesertWolf extends EntityTameable { + private float field_70926_e; + private float field_70924_f; + + /** + * true is the wolf is wet else false + */ + private boolean isShaking; + private boolean field_70928_h; + + /** + * This time increases while wolf is shaking and emitting water particles. + */ + private float timeWolfIsShaking; + private float prevTimeWolfIsShaking; + + public EntityDesertWolf(World par1World) { + super(par1World); + this.dataWatcher.addObject(18, new Float(this.getHealth())); + this.dataWatcher.addObject(19, new Byte((byte) 0)); + this.setAngry(true); + this.experienceValue = 6; + + this.setSize(0.6F, 0.8F); + this.getNavigator().setAvoidsWater(true); + this.tasks.addTask(1, new EntityAISwimming(this)); + this.tasks.addTask(2, this.aiSit); + this.tasks.addTask(3, new EntityAILeapAtTarget(this, 0.4F)); + this.tasks.addTask(4, new EntityAIAttackOnCollide(this, 1, true)); + this.tasks.addTask(5, new EntityAIFollowOwner(this, 0.8, 10.0F, 2.0F)); + this.tasks.addTask(6, new EntityAIMate(this, 0.8)); + this.tasks.addTask(7, new EntityAIWander(this, this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).getAttributeValue())); + this.tasks.addTask(8, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); + this.tasks.addTask(9, new EntityAILookIdle(this)); + this.targetTasks.addTask(1, new EntityAIOwnerHurtByTarget(this)); + this.targetTasks.addTask(2, new EntityAIOwnerHurtTarget(this)); + this.targetTasks.addTask(3, new EntityAIHurtByTarget(this, true)); + this.targetTasks.addTask(4, new EntityAITargetNonTamed(this, EntityPlayer.class, 16, true)); + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(8.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.43000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } + + /** + * Returns true if the newer Entity AI code should be run + */ + @Override + public boolean isAIEnabled() { + return true; + } + + /** + * Finds the closest player within 16 blocks to attack, or null if this + * Entity isn't interested in attacking (Animals, Spiders at day, peaceful + * PigZombies). + */ + @Override + protected Entity findPlayerToAttack() { + EntityPlayer entityplayer = this.worldObj.getClosestVulnerablePlayerToEntity(this, 16.0D); + return entityplayer != null && this.canEntityBeSeen(entityplayer) ? entityplayer : null; + } + + /** + * Sets the active target the Task system uses for tracking + */ + @Override + public void setAttackTarget(EntityLivingBase par1EntityLiving) { + super.setAttackTarget(par1EntityLiving); + + if (par1EntityLiving instanceof EntityPlayer) { + this.setAngry(true); + } + } + + /** + * main AI tick function, replaces updateEntityActionState + */ + @Override + protected void updateAITick() { + this.dataWatcher.updateObject(18, Float.valueOf(this.getHealth())); + } + + /** + * Checks if the entity's current position is a valid location to spawn this + * entity. + */ + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } + + @Override + public void playSound(String par1Str, float par2, float par3) { + //this.playSound("mob.wolf.step", 0.15F, 1.0F); + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + @Override + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + super.writeEntityToNBT(par1NBTTagCompound); + par1NBTTagCompound.setBoolean("Angry", this.isAngry()); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + @Override + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + super.readEntityFromNBT(par1NBTTagCompound); + this.setAngry(par1NBTTagCompound.getBoolean("Angry")); + + } + + /** + * Determines if an entity can be despawned, used on idle far away entities + */ + @Override + protected boolean canDespawn() { + return this.isAngry(); + } + + /** + * Returns the sound this mob makes while it's alive. + */ + @Override + protected String getLivingSound() { + return this.isAngry() ? "mob.wolf.growl" : (this.rand.nextInt(3) == 0 ? (this.isTamed() && this.dataWatcher.getWatchableObjectInt(18) < 10 ? "mob.wolf.whine" : "mob.wolf.panting") : "mob.wolf.bark"); + } + + /** + * Returns the sound this mob makes when it is hurt. + */ + @Override + protected String getHurtSound() { + return "mob.wolf.hurt"; + } + + /** + * Returns the sound this mob makes on death. + */ + @Override + protected String getDeathSound() { + return "mob.wolf.death"; + } + + /** + * Returns the volume for the sounds this mob makes. + */ + @Override + protected float getSoundVolume() { + return 0.4F; + } + + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + if (rand.nextInt(10) == 0) { + this.dropItem(Items.bone, 1); + } + if (rand.nextInt(4) == 0) { + int amount = rand.nextInt(2) + 1; + this.dropItem(AtumItems.ITEM_PELT, amount); + } + } + + /** + * Called frequently so the entity can update its state every tick as + * required. For example, zombies and skeletons use this to react to + * sunlight and start to burn. + */ + @Override + public void onLivingUpdate() { + super.onLivingUpdate(); + + if (!this.worldObj.isRemote && this.isShaking && !this.field_70928_h && !this.hasPath() && this.onGround) { + this.field_70928_h = true; + this.timeWolfIsShaking = 0.0F; + this.prevTimeWolfIsShaking = 0.0F; + this.worldObj.setEntityState(this, (byte) 8); + } + } + + /** + * Called to update the entity's position/logic. + */ + @Override + public void onUpdate() { + super.onUpdate(); + + if (!this.worldObj.isRemote && this.worldObj.difficultySetting.getDifficultyId() == 0) { + this.setDead(); + return; + } + + this.field_70924_f = this.field_70926_e; + + if (this.func_70922_bv()) { + this.field_70926_e += (1.0F - this.field_70926_e) * 0.4F; + } else { + this.field_70926_e += (0.0F - this.field_70926_e) * 0.4F; + } + + if (this.func_70922_bv()) { + this.numTicksToChaseTarget = 10; + } + + if (this.isWet()) { + this.isShaking = true; + this.field_70928_h = false; + this.timeWolfIsShaking = 0.0F; + this.prevTimeWolfIsShaking = 0.0F; + } else if ((this.isShaking || this.field_70928_h) && this.field_70928_h) { + if (this.timeWolfIsShaking == 0.0F) { + this.playSound("mob.wolf.shake", this.getSoundVolume(), (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F); + } + + this.prevTimeWolfIsShaking = this.timeWolfIsShaking; + this.timeWolfIsShaking += 0.05F; + + if (this.prevTimeWolfIsShaking >= 2.0F) { + this.isShaking = false; + this.field_70928_h = false; + this.prevTimeWolfIsShaking = 0.0F; + this.timeWolfIsShaking = 0.0F; + } + + if (this.timeWolfIsShaking > 0.4F) { + float f = (float) this.boundingBox.minY; + int i = (int) (MathHelper.sin((this.timeWolfIsShaking - 0.4F) * (float) Math.PI) * 7.0F); + + for (int j = 0; j < i; ++j) { + float f1 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; + float f2 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; + this.worldObj.spawnParticle("splash", this.posX + (double) f1, (double) (f + 0.8F), this.posZ + (double) f2, this.motionX, this.motionY, this.motionZ); + } + } + } + } + + @SideOnly(Side.CLIENT) + public boolean getWolfShaking() { + return this.isShaking; + } + + @SideOnly(Side.CLIENT) + /** + * Used when calculating the amount of shading to apply while the wolf is shaking. + */ + public float getShadingWhileShaking(float par1) { + return 0.75F + (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * par1) / 2.0F * 0.25F; + } + + @SideOnly(Side.CLIENT) + public float getShakeAngle(float par1, float par2) { + float f2 = (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * par1 + par2) / 1.8F; + + if (f2 < 0.0F) { + f2 = 0.0F; + } else if (f2 > 1.0F) { + f2 = 1.0F; + } + + return MathHelper.sin(f2 * (float) Math.PI) * MathHelper.sin(f2 * (float) Math.PI * 11.0F) * 0.15F * (float) Math.PI; + } + + @SideOnly(Side.CLIENT) + public float getInterestedAngle(float par1) { + return (this.field_70924_f + (this.field_70926_e - this.field_70924_f) * par1) * 0.15F * (float) Math.PI; + } + + @Override + public float getEyeHeight() { + return this.height * 0.8F; + } + + /** + * The speed it takes to move the entityliving's rotationPitch through the + * faceEntity method. This is only currently use in wolves. + */ + @Override + public int getVerticalFaceSpeed() { + return this.isSitting() ? 20 : super.getVerticalFaceSpeed(); + } + + /** + * Called when the entity is attacked. + */ + @Override + public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { + if (this.isEntityInvulnerable()) { + return false; + } else { + Entity entity = par1DamageSource.getEntity(); + this.aiSit.setSitting(false); + + if (entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) { + par2 = (par2 + 1) / 2; + } + + return super.attackEntityFrom(par1DamageSource, par2); + } + } + + @Override + public boolean attackEntityAsMob(Entity par1Entity) { + int i = this.isTamed() ? 4 : 2; + return par1Entity.attackEntityFrom(DamageSource.causeMobDamage(this), i); + } + + /** + * Called when a player interacts with a mob. e.g. gets milk from a cow, + * gets into the saddle on a pig. + */ + @Override + public boolean interact(EntityPlayer par1EntityPlayer) { + ItemStack itemstack = par1EntityPlayer.inventory.getCurrentItem(); + + if (this.isTamed()) { + if (itemstack != null) { + if (itemstack.getItem() instanceof ItemFood) { + ItemFood itemfood = (ItemFood) itemstack.getItem(); + + if (itemfood.isWolfsFavoriteMeat() && this.dataWatcher.getWatchableObjectInt(18) < 20) { + if (!par1EntityPlayer.capabilities.isCreativeMode) { + --itemstack.stackSize; + } + + this.heal(itemfood.func_150905_g(itemstack)); + + if (itemstack.stackSize <= 0) { + par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); + } + + return true; + } + } + } + + if (par1EntityPlayer.getGameProfile().getName().equalsIgnoreCase(this.getOwnerName()) && !this.worldObj.isRemote && !this.isBreedingItem(itemstack)) { + this.aiSit.setSitting(!this.isSitting()); + this.isJumping = false; + this.setPathToEntity((PathEntity) null); + } + } else if (itemstack != null && itemstack.getItem() == Items.bone && !this.isAngry()) { + if (!par1EntityPlayer.capabilities.isCreativeMode) { + --itemstack.stackSize; + } + + if (itemstack.stackSize <= 0) { + par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); + } + + if (!this.worldObj.isRemote) { + if (this.rand.nextInt(3) == 0) { + this.setTamed(true); + this.setPathToEntity((PathEntity) null); + this.setAttackTarget((EntityLiving) null); + this.aiSit.setSitting(true); + this.setOwner(par1EntityPlayer.getGameProfile().getName()); + this.playTameEffect(true); + this.worldObj.setEntityState(this, (byte) 7); + } else { + this.playTameEffect(false); + this.worldObj.setEntityState(this, (byte) 6); + } + } + + return true; + } + + return super.interact(par1EntityPlayer); + } + + @SideOnly(Side.CLIENT) + @Override + public void handleHealthUpdate(byte par1) { + if (par1 == 8) { + this.field_70928_h = true; + this.timeWolfIsShaking = 0.0F; + this.prevTimeWolfIsShaking = 0.0F; + } else { + super.handleHealthUpdate(par1); + } + } + + @SideOnly(Side.CLIENT) + public float getTailRotation() { + return this.isAngry() ? 1.5393804F : (this.isTamed() ? (0.55F - (float) (20 - this.dataWatcher.getWatchableObjectInt(18)) * 0.02F) * (float) Math.PI : ((float) Math.PI / 5F)); + } + + /** + * Checks if the parameter is an item which this animal can be fed to breed + * it (wheat, carrots or seeds depending on the animal type) + */ + @Override + public boolean isBreedingItem(ItemStack par1ItemStack) { + return par1ItemStack == null ? false : (!(par1ItemStack.getItem() instanceof ItemFood) ? false : ((ItemFood) par1ItemStack.getItem()).isWolfsFavoriteMeat()); + } + + /** + * Will return how many at most can spawn in a chunk at once. + */ + @Override + public int getMaxSpawnedInChunk() { + return 8; + } + + /** + * Determines whether this wolf is angry or not. + */ + public boolean isAngry() { + return (this.dataWatcher.getWatchableObjectByte(16) & 2) != 0; + } + + /** + * Sets whether this wolf is angry or not. + */ + public void setAngry(boolean par1) { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + + if (par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 2))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -3))); + } + } + + /** + * This function is used when two same-species animals in 'love mode' breed + * to generate the new baby animal. + */ + public EntityDesertWolf spawnBabyAnimal(EntityAgeable par1EntityAgeable) { + EntityDesertWolf entitywolf = new EntityDesertWolf(this.worldObj); + String s = this.getOwnerName(); + + if (s != null && s.trim().length() > 0) { + entitywolf.setOwner(s); + entitywolf.setTamed(true); + } + + return entitywolf; + } + + public void func_70918_i(boolean par1) { + byte b0 = this.dataWatcher.getWatchableObjectByte(19); + + if (par1) { + this.dataWatcher.updateObject(19, Byte.valueOf((byte) 1)); + } else { + this.dataWatcher.updateObject(19, Byte.valueOf((byte) 0)); + } + } + + /** + * Returns true if the mob is currently able to mate with the specified mob. + */ + @Override + public boolean canMateWith(EntityAnimal par1EntityAnimal) { + if (par1EntityAnimal == this) { + return false; + } else if (!this.isTamed()) { + return false; + } else if (!(par1EntityAnimal instanceof EntityDesertWolf)) { + return false; + } else { + EntityDesertWolf entitywolf = (EntityDesertWolf) par1EntityAnimal; + return !entitywolf.isTamed() ? false : (entitywolf.isSitting() ? false : this.isInLove() && entitywolf.isInLove()); + } + } + + public boolean func_70922_bv() { + return this.dataWatcher.getWatchableObjectByte(19) == 1; + } + + @Override + public EntityAgeable createChild(EntityAgeable par1EntityAgeable) { + return this.spawnBabyAnimal(par1EntityAgeable); + } + + @Override + public EntityLivingBase getOwner() { + return null; + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityDustySkeleton.java b/src/main/java/com/teammetallurgy/atum/entity/EntityDustySkeleton.java index 0a6cbe1..4e6ca12 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityDustySkeleton.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityDustySkeleton.java @@ -7,80 +7,65 @@ import net.minecraft.util.DamageSource; import net.minecraft.world.World; -public class EntityDustySkeleton extends EntityMob implements IAtumNightMob { +public class EntityDustySkeleton extends EntityMob { - boolean onFire = false; + boolean onFire = false; - public EntityDustySkeleton(World par1World) { - super(par1World); - this.isImmuneToFire = true; - this.experienceValue = 6; - } + public EntityDustySkeleton(World par1World) { + super(par1World); + this.isImmuneToFire = true; + this.experienceValue = 6; + } - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20.0D); - double speed = 0.53000000417232513D; - if (this.onFire) { - speed = 0.9D; - } - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(speed); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); - } + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20.0D); + double speed = 0.53000000417232513D; + if (this.onFire) { + speed = 0.9D; + } + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(speed); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } - @Override - public void onUpdate() { - super.onUpdate(); - if (this.isBurning()) { - this.onFire = true; - this.applyEntityAttributes(); - } - } + @Override + public void onUpdate() { + super.onUpdate(); + if (this.isBurning()) { + this.onFire = true; + this.applyEntityAttributes(); + } + } - @Override - public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { - return super.attackEntityFrom(par1DamageSource, par2); - } + @Override + public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { + return super.attackEntityFrom(par1DamageSource, par2); + } - /** - * Checks if the entity's current position is a valid location to spawn this - * entity. - */ - @Override - public boolean getCanSpawnHere() { - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - } + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - @Override - protected boolean isValidLightLevel() { - return true; - } + @Override + protected boolean isValidLightLevel() { + return true; + } - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEAD; - } + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEAD; + } - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity - * has recently been hit by a player. @param par2 - Level of Looting used to - * kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) { - switch (this.rand.nextInt(4)) { - case 0: - int amount = rand.nextInt(2) + 1; - this.dropItem(Items.bone, amount); - break; - } - } + @Override + protected void dropFewItems(boolean par1, int par2) { + switch (this.rand.nextInt(4)) { + case 0: + int amount = rand.nextInt(2) + 1; + this.dropItem(Items.bone, amount); + break; + } + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java b/src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java index 02be230..c63ea21 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java @@ -15,7 +15,7 @@ import com.teammetallurgy.atum.items.AtumItems; -public class EntityGhost extends EntityMob implements IAtumNightMob { +public class EntityGhost extends EntityMob { private int cycleHeight = 0; private int cycleTime = 100; diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityMummy.java b/src/main/java/com/teammetallurgy/atum/entity/EntityMummy.java index 386d8be..08640c6 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityMummy.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityMummy.java @@ -10,83 +10,68 @@ import com.teammetallurgy.atum.items.AtumItems; -public class EntityMummy extends EntityMob implements IAtumNightMob { +public class EntityMummy extends EntityMob { - public EntityMummy(World par1World) { - super(par1World); - this.experienceValue = 8; - } + public EntityMummy(World par1World) { + super(par1World); + this.experienceValue = 8; + } - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(40.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(2.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); - } + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(40.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(2.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } - /** - * Checks if the entity's current position is a valid location to spawn this - * entity. - */ - @Override - public boolean getCanSpawnHere() { - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - } + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - @Override - protected boolean isValidLightLevel() { - return true; - } + @Override + protected boolean isValidLightLevel() { + return true; + } - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEAD; - } + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEAD; + } - @Override - public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { - if (par1DamageSource.isFireDamage()) { - par2 += 1; - } - if (this.isBurning()) { - par2 = (int) (par2 * 1.5); - } + @Override + public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { + if (par1DamageSource.isFireDamage()) { + par2 += 1; + } + if (this.isBurning()) { + par2 = (int) (par2 * 1.5); + } - return super.attackEntityFrom(par1DamageSource, par2); - } + return super.attackEntityFrom(par1DamageSource, par2); + } - @Override - public boolean attackEntityAsMob(Entity par1Entity) { - boolean flag = super.attackEntityAsMob(par1Entity); + @Override + public boolean attackEntityAsMob(Entity par1Entity) { + boolean flag = super.attackEntityAsMob(par1Entity); - if (flag && this.isBurning() && this.rand.nextFloat() < (float) this.worldObj.difficultySetting.getDifficultyId() * 0.4F) { - par1Entity.setFire(2 * this.worldObj.difficultySetting.getDifficultyId()); - } + if (flag && this.isBurning() && this.rand.nextFloat() < (float) this.worldObj.difficultySetting.getDifficultyId() * 0.4F) { + par1Entity.setFire(2 * this.worldObj.difficultySetting.getDifficultyId()); + } - return flag; - } + return flag; + } - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity - * has recently been hit by a player. @param par2 - Level of Looting used to - * kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) { - if (rand.nextInt(4) == 0) { - this.dropItem(Items.rotten_flesh, 1); - } - if (rand.nextInt(4) == 0) { - int amount = rand.nextInt(2) + 1; - this.dropItem(AtumItems.ITEM_SCRAP, amount); - } - } + @Override + protected void dropFewItems(boolean par1, int par2) { + if (rand.nextInt(4) == 0) { + this.dropItem(Items.rotten_flesh, 1); + } + if (rand.nextInt(4) == 0) { + int amount = rand.nextInt(2) + 1; + this.dropItem(AtumItems.ITEM_SCRAP, amount); + } + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java b/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java index c082d79..4ff414a 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java @@ -4,24 +4,23 @@ import java.util.Random; import net.minecraft.block.Block; +import net.minecraft.client.renderer.entity.RenderDragon; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.boss.BossStatus; import net.minecraft.entity.boss.IBossDisplayData; import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.StatCollector; +import net.minecraft.util.*; import net.minecraft.world.World; import com.teammetallurgy.atum.AtumLoot; @@ -48,9 +47,8 @@ public class EntityPharaoh extends EntityMob implements IBossDisplayData { private int regenTime = 0; public EntityPharaoh(World par1World) { - super(par1World); + super(par1World); this.experienceValue = 250; - Random rand = new Random(); stage = 0; this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCEPTER)); @@ -91,7 +89,7 @@ public void onDeath(DamageSource par1DamageSource) { if (!worldObj.isRemote) { List players = FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList; for (EntityPlayer player : players) { - player.addChatMessage(new ChatComponentText(this.getCommandSenderName() + " " + StatCollector.translateToLocal("chat.Atum.killPharaoh") + " " + slayer.getGameProfile().getName())); + player.addChatMessage(new ChatComponentText(this.getCommandSenderName() + " " + StatCollector.translateToLocal("chat.atum.killPharaoh") + " " + slayer.getGameProfile().getName())); } } } @@ -113,7 +111,7 @@ public String getCommandSenderName() { int s = this.dataWatcher.getWatchableObjectInt(18); int p = this.dataWatcher.getWatchableObjectInt(19); int n = this.dataWatcher.getWatchableObjectInt(20); - return "Pharaoh " + StatCollector.translateToFallback("entity.Atum.pharaoh." + prefix[p]) + StatCollector.translateToFallback("entity.Atum.pharaoh." + suffix[s]) + " " + numeral[n]; + return "Pharaoh " + StatCollector.translateToLocal("entity.atum.pharaoh." + prefix[p]) + StatCollector.translateToLocal("entity.atum.pharaoh." + suffix[s]) + " " + numeral[n]; } catch (Exception e) { return ""; } @@ -206,7 +204,7 @@ private boolean destroyBlocksInAABB(AxisAlignedBB par1AxisAlignedBB) { int metadata = this.worldObj.getBlockMetadata(x, y, z); if (block != null) { - if (block != AtumBlocks.BLOCK_LARGEBRICK && block != AtumBlocks.BLOCK_PHARAOHCHEST && block.isBlockSolid(worldObj, x, y, z, 0)) { + if (block != AtumBlocks.BLOCK_LARGEBRICK && block != AtumBlocks.BLOCK_PHARAOHCHEST && block != Blocks.bedrock && block.isBlockSolid(worldObj, x, y, z, 0)) { block.dropBlockAsItem(worldObj, x, y, z, metadata, 0); flag1 = this.worldObj.setBlockToAir(x, y, z) || flag1; } @@ -336,6 +334,7 @@ protected void entityInit() { /** * Called to update the entity's position/logic. */ + @Override public void onUpdate() { super.onUpdate(); diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityStoneSoldier.java b/src/main/java/com/teammetallurgy/atum/entity/EntityStoneSoldier.java index 0e309a8..b46a007 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityStoneSoldier.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityStoneSoldier.java @@ -12,104 +12,95 @@ import com.teammetallurgy.atum.items.AtumItems; -public class EntityStoneSoldier extends EntityStone implements IAtumNightMob, IAtumDayMob { - - public EntityStoneSoldier(World par1World) { - super(par1World); - this.isImmuneToFire = true; - this.experienceValue = 8; - - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_STONESOLDIER_SWORD)); - - for(int i = 0; i < this.equipmentDropChances.length; ++i) { - this.equipmentDropChances[i] = 0F; - } - } - - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(80.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); - } - - /** - * Checks if the entity's current position is a valid location to spawn this entity. - */ - @Override - public boolean getCanSpawnHere() { - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - } - - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - @Override - protected boolean isValidLightLevel() { - return true; - } - - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEFINED; - } - - @Override - public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { - if(super.attackEntityFrom(par1DamageSource, par2)) { - if(par1DamageSource.getEntity() != null) { - Entity par1Entity = par1DamageSource.getEntity(); - int j = 0; - if(par1Entity instanceof EntityLiving) { - j += EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, this); - - if(j > 0) { - this.motionX /= 0.6D; - this.motionZ /= 0.6D; - this.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), -0.1D, (double) (-MathHelper.cos(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); - } - } - - } - return true; - } - - return false; - } - - /** - * knocks back this entity - */ - @Override - public void knockBack(Entity par1Entity, float par2, double par3, double par5) { - this.isAirBorne = true; - float f = MathHelper.sqrt_double(par3 * par3 + par5 * par5); - float f1 = 0.2F; - this.motionX /= 2.0D; - this.motionY /= 2.0D; - this.motionZ /= 2.0D; - this.motionX -= par3 / (double) f * (double) f1; - this.motionZ -= par5 / (double) f * (double) f1; - - if(this.motionY > 0.4000000059604645D) { - this.motionY = 0.4000000059604645D; - } - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) { - if(this.rand.nextInt(4) == 0) { - int amount = rand.nextInt(2) + 1; - this.dropItem(AtumItems.ITEM_STONECHUNK, amount); - } - } +public class EntityStoneSoldier extends EntityStone { + + public EntityStoneSoldier(World par1World) { + super(par1World); + this.isImmuneToFire = true; + this.experienceValue = 8; + + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_STONESOLDIER_SWORD)); + + for (int i = 0; i < this.equipmentDropChances.length; ++i) { + this.equipmentDropChances[i] = 0F; + } + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(80.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } + + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } + + @Override + protected boolean isValidLightLevel() { + return true; + } + + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } + + @Override + public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { + if (super.attackEntityFrom(par1DamageSource, par2)) { + if (par1DamageSource.getEntity() != null) { + Entity par1Entity = par1DamageSource.getEntity(); + int j = 0; + if (par1Entity instanceof EntityLiving) { + j += EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, this); + + if (j > 0) { + this.motionX /= 0.6D; + this.motionZ /= 0.6D; + this.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), -0.1D, (double) (-MathHelper.cos(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); + } + } + + } + return true; + } + + return false; + } + + /** + * knocks back this entity + */ + @Override + public void knockBack(Entity par1Entity, float par2, double par3, double par5) { + this.isAirBorne = true; + float f = MathHelper.sqrt_double(par3 * par3 + par5 * par5); + float f1 = 0.2F; + this.motionX /= 2.0D; + this.motionY /= 2.0D; + this.motionZ /= 2.0D; + this.motionX -= par3 / (double) f * (double) f1; + this.motionZ -= par5 / (double) f * (double) f1; + + if (this.motionY > 0.4000000059604645D) { + this.motionY = 0.4000000059604645D; + } + } + + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + if (this.rand.nextInt(4) == 0) { + int amount = rand.nextInt(2) + 1; + this.dropItem(AtumItems.ITEM_STONECHUNK, amount); + } + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/IAtumDayMob.java b/src/main/java/com/teammetallurgy/atum/entity/IAtumDayMob.java deleted file mode 100644 index a0cf9b9..0000000 --- a/src/main/java/com/teammetallurgy/atum/entity/IAtumDayMob.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.teammetallurgy.atum.entity; - -public interface IAtumDayMob -{ -} diff --git a/src/main/java/com/teammetallurgy/atum/entity/IAtumNightMob.java b/src/main/java/com/teammetallurgy/atum/entity/IAtumNightMob.java deleted file mode 100644 index ee0c213..0000000 --- a/src/main/java/com/teammetallurgy/atum/entity/IAtumNightMob.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.teammetallurgy.atum.entity; - -public interface IAtumNightMob { - -} diff --git a/src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java b/src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java index 2bf2c35..2615b7a 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java +++ b/src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java @@ -1,5 +1,6 @@ package com.teammetallurgy.atum.lib.proxy; +import com.teammetallurgy.atum.lib.tickhandler.ClientEvents; import net.minecraft.client.model.ModelBiped; import net.minecraft.client.model.ModelZombie; import net.minecraft.client.renderer.entity.RenderBiped; @@ -38,7 +39,6 @@ import com.teammetallurgy.atum.entity.arrow.EntityAtumFishHook; import com.teammetallurgy.atum.entity.arrow.EntityNutsCall; import com.teammetallurgy.atum.items.AtumItems; -import com.teammetallurgy.atum.lib.tickhandler.ClientTickHandler; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.common.FMLCommonHandler; @@ -47,7 +47,7 @@ public class ClientProxy extends CommonProxy { @Override public void init() { - ClientTickHandler ticker = new ClientTickHandler(); + ClientEvents ticker = new ClientEvents(); MinecraftForge.EVENT_BUS.register(ticker); FMLCommonHandler.instance().bus().register(ticker); diff --git a/src/main/java/com/teammetallurgy/atum/lib/proxy/CommonProxy.java b/src/main/java/com/teammetallurgy/atum/lib/proxy/CommonProxy.java index f20300d..9db6029 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/proxy/CommonProxy.java +++ b/src/main/java/com/teammetallurgy/atum/lib/proxy/CommonProxy.java @@ -1,15 +1,14 @@ package com.teammetallurgy.atum.lib.proxy; +import com.teammetallurgy.atum.lib.tickhandler.ServerEvents; import net.minecraftforge.common.MinecraftForge; -import com.teammetallurgy.atum.lib.tickhandler.ServerTickHandler; - import cpw.mods.fml.common.FMLCommonHandler; public class CommonProxy { public void init() { - ServerTickHandler ticker = new ServerTickHandler(); + ServerEvents ticker = new ServerEvents(); MinecraftForge.EVENT_BUS.register(ticker); FMLCommonHandler.instance().bus().register(ticker); } diff --git a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientEvents.java similarity index 99% rename from src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java rename to src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientEvents.java index 12078be..a0a69a2 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientTickHandler.java +++ b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientEvents.java @@ -15,7 +15,7 @@ import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.TickEvent; -public class ClientTickHandler { +public class ClientEvents { private boolean raining; private boolean overlay; public static int defaultFog; diff --git a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ServerEvents.java similarity index 98% rename from src/main/java/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java rename to src/main/java/com/teammetallurgy/atum/lib/tickhandler/ServerEvents.java index 914029a..edc56cf 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ServerTickHandler.java +++ b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ServerEvents.java @@ -11,7 +11,7 @@ import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.TickEvent; -public class ServerTickHandler { +public class ServerEvents { private boolean raining; diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java b/src/main/java/com/teammetallurgy/atum/world/AtumChunkProvider.java similarity index 99% rename from src/main/java/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java rename to src/main/java/com/teammetallurgy/atum/world/AtumChunkProvider.java index 5ca4613..e7a0f59 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/AtumChunkProvider.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumChunkProvider.java @@ -1,4 +1,4 @@ -package com.teammetallurgy.atum.worldgen; +package com.teammetallurgy.atum.world; import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.CAVE; import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.RAVINE; diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumPortalPosition.java b/src/main/java/com/teammetallurgy/atum/world/AtumPortalPosition.java index 3877f96..22e8e22 100644 --- a/src/main/java/com/teammetallurgy/atum/world/AtumPortalPosition.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumPortalPosition.java @@ -1,10 +1,13 @@ package com.teammetallurgy.atum.world; import net.minecraft.util.ChunkCoordinates; +import net.minecraft.world.Teleporter; public class AtumPortalPosition extends ChunkCoordinates { + public long lastUpdateTime; - public AtumPortalPosition(AtumTeleporter par1Teleporter, int par2, int par3, int par4, long par5) { + public AtumPortalPosition(int par2, int par3, int par4, long par5) { super(par2, par3, par4); + this.lastUpdateTime = par5; } } diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java b/src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java index 65300a2..0b71f9a 100644 --- a/src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java @@ -19,404 +19,405 @@ public class AtumTeleporter extends Teleporter { - private final WorldServer worldServerInstance; - private final Random random; - - private final LongHashMap destinationCoordinateCache = new LongHashMap(); - private final List destinationCoordinateKeys = new ArrayList(); - - public AtumTeleporter(WorldServer par1WorldServer) { - super(par1WorldServer); - this.worldServerInstance = par1WorldServer; - this.random = new Random(par1WorldServer.getSeed()); - } - - @Override - public void placeInPortal(Entity par1Entity, double par2, double par4, double par6, float par8) { - if(this.worldServerInstance.provider.dimensionId != 1) { - if(!this.placeInExistingPortal(par1Entity, par2, par4, par6, par8)) { - this.makePortal(par1Entity); - this.placeInExistingPortal(par1Entity, par2, par4, par6, par8); - } - } else { - int i = MathHelper.floor_double(par1Entity.posX); - int j = MathHelper.floor_double(par1Entity.posY) + 1; - int k = MathHelper.floor_double(par1Entity.posZ); - byte b0 = 1; - byte b1 = 0; - - for(int l = -2; l <= 2; ++l) { - for(int i1 = -2; i1 <= 2; ++i1) { - for(int j1 = -1; j1 < 3; ++j1) { - int k1 = i + i1 * b0 + l * b1; - int l1 = j + j1; - int i2 = k + i1 * b1 - l * b0; - boolean flag = j1 < 0; - this.worldServerInstance.setBlock(k1, l1, i2, flag ? Blocks.sandstone : null); - } - } - } - - par1Entity.setLocationAndAngles((double) i, (double) j, (double) k, par1Entity.rotationYaw, 0.0F); - par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D; - } - - } - - @Override - public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4, double par6, float par8) { - short short1 = 128; - double d3 = -1.0D; - int i = 0; - int j = 0; - int k = 0; - int l = MathHelper.floor_double(par1Entity.posX); - int i1 = MathHelper.floor_double(par1Entity.posZ); - long j1 = ChunkCoordIntPair.chunkXZ2Int(l, i1); - boolean flag = true; - double d4; - int k1; - int k2; - double var46; - if(this.destinationCoordinateCache.containsItem(j1)) { - PortalPosition d8 = (PortalPosition) this.destinationCoordinateCache.getValueByKey(j1); - d3 = 0.0D; - i = d8.posX; - j = d8.posY; - k = d8.posZ; - d8.lastUpdateTime = this.worldServerInstance.getTotalWorldTime(); - flag = false; - } else { - for(k1 = l - short1; k1 <= l + short1; ++k1) { - var46 = (double) k1 + 0.5D - par1Entity.posX; - - for(int d9 = i1 - short1; d9 <= i1 + short1; ++d9) { - double d6 = (double) d9 + 0.5D - par1Entity.posZ; - - for(k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { - if(this.worldServerInstance.getBlock(k1, k2, d9) == AtumBlocks.BLOCK_PORTAL) { - while(this.worldServerInstance.getBlock(k1, k2 - 1, d9) == AtumBlocks.BLOCK_PORTAL) { - --k2; - } - - d4 = (double) k2 + 0.5D - par1Entity.posY; - double l2 = var46 * var46 + d4 * d4 + d6 * d6; - if(d3 < 0.0D || l2 < d3) { - d3 = l2; - i = k1; - j = k2; - k = d9; - } - } - } - } - } - } - - if(d3 >= 0.0D) { - if(flag) { - this.destinationCoordinateCache.add(j1, new AtumPortalPosition(this, i, j, k, this.worldServerInstance.getTotalWorldTime())); - this.destinationCoordinateKeys.add(Long.valueOf(j1)); - } - - var46 = (double) i + 0.5D; - double var47 = (double) j + 0.5D; - d4 = (double) k + 0.5D; - int j2 = -1; - if(this.worldServerInstance.getBlock(i - 1, j, k) == AtumBlocks.BLOCK_PORTAL) { - j2 = 2; - } - - if(this.worldServerInstance.getBlock(i + 1, j, k) == AtumBlocks.BLOCK_PORTAL) { - j2 = 0; - } - - if(this.worldServerInstance.getBlock(i, j, k - 1) == AtumBlocks.BLOCK_PORTAL) { - j2 = 3; - } - - if(this.worldServerInstance.getBlock(i, j, k + 1) == AtumBlocks.BLOCK_PORTAL) { - j2 = 1; - } - - k2 = par1Entity.getTeleportDirection(); - if(j2 > -1) { - int var48 = Direction.rotateLeft[j2]; - int i3 = Direction.offsetX[j2]; - int j3 = Direction.offsetZ[j2]; - int k3 = Direction.offsetX[var48]; - int l3 = Direction.offsetZ[var48]; - boolean flag1 = !this.worldServerInstance.isAirBlock(i + i3 + k3, j, k + j3 + l3) || !this.worldServerInstance.isAirBlock(i + i3 + k3, j + 1, k + j3 + l3); - boolean flag2 = !this.worldServerInstance.isAirBlock(i + i3, j, k + j3) || !this.worldServerInstance.isAirBlock(i + i3, j + 1, k + j3); - if(flag1 && flag2) { - j2 = Direction.rotateOpposite[j2]; - var48 = Direction.rotateOpposite[var48]; - i3 = Direction.offsetX[j2]; - j3 = Direction.offsetZ[j2]; - k3 = Direction.offsetX[var48]; - l3 = Direction.offsetZ[var48]; - k1 = i - k3; - var46 -= (double) k3; - int f1 = k - l3; - d4 -= (double) l3; - flag1 = !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j, f1 + j3 + l3) || !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j + 1, f1 + j3 + l3); - flag2 = !this.worldServerInstance.isAirBlock(k1 + i3, j, f1 + j3) || !this.worldServerInstance.isAirBlock(k1 + i3, j + 1, f1 + j3); - } - - float var49 = 0.5F; - float f2 = 0.5F; - if(!flag1 && flag2) { - var49 = 1.0F; - } else if(flag1 && !flag2) { - var49 = 0.0F; - } else if(flag1 && flag2) { - f2 = 0.0F; - } - - var46 += (double) ((float) k3 * var49 + f2 * (float) i3); - d4 += (double) ((float) l3 * var49 + f2 * (float) j3); - float f3 = 0.0F; - float f4 = 0.0F; - float f5 = 0.0F; - float f6 = 0.0F; - if(j2 == k2) { - f3 = 1.0F; - f4 = 1.0F; - } else if(j2 == Direction.rotateOpposite[k2]) { - f3 = -1.0F; - f4 = -1.0F; - } else if(j2 == Direction.rotateRight[k2]) { - f5 = 1.0F; - f6 = -1.0F; - } else { - f5 = -1.0F; - f6 = 1.0F; - } - - double d10 = par1Entity.motionX; - double d11 = par1Entity.motionZ; - par1Entity.motionX = d10 * (double) f3 + d11 * (double) f6; - par1Entity.motionZ = d10 * (double) f5 + d11 * (double) f4; - par1Entity.rotationYaw = par8 - (float) (k2 * 90) + (float) (j2 * 90); - } else { - par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D; - } - - par1Entity.setLocationAndAngles(var46, var47, d4, par1Entity.rotationYaw, par1Entity.rotationPitch); - return true; - } else { - return false; - } - } - - @Override - public boolean makePortal(Entity par1Entity) { - byte b0 = 16; - double d0 = -1.0D; - int entityX = MathHelper.floor_double(par1Entity.posX); - int entityY = MathHelper.floor_double(par1Entity.posY); - int entityZ = MathHelper.floor_double(par1Entity.posZ); - int l = entityX; - int i1 = entityY; - int j1 = entityZ; - int k1 = 0; - int l1 = this.random.nextInt(4); - - int i2; - double d1; - double d2; - int k2; - int j2; - int i3; - int l2; - int k3; - int j3; - int i4; - int l3; - int k4; - int j4; - double d3; - double d4; - int i5; - for(i2 = entityX - b0; i2 <= entityX + b0; ++i2) { - d1 = (double) i2 + 0.5D - par1Entity.posX; - - for(j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) { - d2 = (double) j2 + 0.5D - par1Entity.posZ; - - label272: for(k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { - if(this.worldServerInstance.isAirBlock(i2, k2, j2)) { - while(k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) { - --k2; - } - - for(i3 = l1; i3 < l1 + 4; ++i3) { - l2 = i3 % 2; - k3 = 1 - l2; - if(i3 % 4 >= 2) { - l2 = -l2; - k3 = -k3; - } - - for(j3 = 0; j3 < 3; ++j3) { - for(i4 = 0; i4 < 4; ++i4) { - for(l3 = -1; l3 < 4; ++l3) { - k4 = i2 + (i4 - 1) * l2 + j3 * k3; - j4 = k2 + l3; - i5 = j2 + (i4 - 1) * k3 - j3 * l2; - if(l3 < 0 && !this.worldServerInstance.getBlock(k4, j4, i5).getMaterial().isSolid() || l3 >= 0 && !this.worldServerInstance.isAirBlock(k4, j4, i5)) { - continue label272; - } - } - } - } - - d4 = (double) k2 + 0.5D - par1Entity.posY; - d3 = d1 * d1 + d4 * d4 + d2 * d2; - if(d0 < 0.0D || d3 < d0) { - d0 = d3; - l = i2; - i1 = k2; - j1 = j2; - k1 = i3 % 4; - } - } - } - } - } - } - - if(d0 < 0.0D) { - for(i2 = entityX - b0; i2 <= entityX + b0; ++i2) { - d1 = (double) i2 + 0.5D - par1Entity.posX; - - for(j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) { - d2 = (double) j2 + 0.5D - par1Entity.posZ; - - label220: for(k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { - if(this.worldServerInstance.isAirBlock(i2, k2, j2)) { - while(k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) { - --k2; - } - - for(i3 = l1; i3 < l1 + 2; ++i3) { - l2 = i3 % 2; - k3 = 1 - l2; - - for(j3 = 0; j3 < 4; ++j3) { - for(i4 = -1; i4 < 4; ++i4) { - l3 = i2 + (j3 - 1) * l2; - k4 = k2 + i4; - j4 = j2 + (j3 - 1) * k3; - if(i4 < 0 && !this.worldServerInstance.getBlock(l3, k4, j4).getMaterial().isSolid() || i4 >= 0 && !this.worldServerInstance.isAirBlock(l3, k4, j4)) { - continue label220; - } - } - } - - d4 = (double) k2 + 0.5D - par1Entity.posY; - d3 = d1 * d1 + d4 * d4 + d2 * d2; - if(d0 < 0.0D || d3 < d0) { - d0 = d3; - l = i2; - i1 = k2; - j1 = j2; - k1 = i3 % 2; - } - } - } - } - } - } - } - - i5 = l; - int j5 = i1; - j2 = j1; - int k5 = k1 % 2; - int l5 = 1 - k5; - if(k1 % 4 >= 2) { - k5 = -k5; - l5 = -l5; - } - - boolean flag; - if(d0 < 0.0D) { - if(i1 < 70) { - i1 = 70; - } - - if(i1 > this.worldServerInstance.getActualHeight() - 10) { - i1 = this.worldServerInstance.getActualHeight() - 10; - } - - j5 = i1; - - for(k2 = -1; k2 <= 1; ++k2) { - for(i3 = 1; i3 < 3; ++i3) { - for(l2 = -1; l2 < 3; ++l2) { - k3 = i5 + (i3 - 1) * k5 + k2 * l5; - j3 = j5 + l2; - i4 = j2 + (i3 - 1) * l5 - k2 * k5; - flag = l2 < 0; - this.worldServerInstance.setBlock(k3, j3, i4, flag ? Blocks.sandstone : null); - } - } - } - } - Block block = null; - if(par1Entity.dimension == 0) { - block = Blocks.sandstone; - } else { - block = AtumBlocks.BLOCK_LARGEBRICK; - } - for(int x1 = -2; x1 < 3; x1++) { - for(int z1 = -2; z1 < 3; z1++) { - - this.worldServerInstance.setBlock(entityX + x1, entityY, entityZ + z1, block); - } - } - for(int x1 = -2; x1 < 3; x1++) { - for(int z1 = -2; z1 < 3; z1++) { - if(x1 == 2 || z1 == 2 || x1 == -2 || z1 == -2) { - this.worldServerInstance.setBlock(entityX + x1, entityY + 1, entityZ + z1, block); - } - } - } - for(int y1 = 2; y1 < 4; y1++) { - for(int x1 = -2; x1 < 3; x1++) { - for(int z1 = -2; z1 < 3; z1++) { - if((x1 == 2 && z1 == 2) || (x1 == -2 && z1 == 2) || (x1 == 2 && z1 == -2) || (x1 == -2 && z1 == -2)) { - this.worldServerInstance.setBlock(entityX + x1, entityY + y1, entityZ + z1, block); - } - } - } - } - - for(int x1 = -1; x1 < 2; x1++) { - for(int z1 = -1; z1 < 2; z1++) { - this.worldServerInstance.setBlock(x1 + entityX, entityY + 1, z1 + entityZ, AtumBlocks.BLOCK_PORTAL, 0, 2); - } - } - - return true; - } - - @Override - public void removeStalePortalLocations(long par1) { - if(par1 % 100L == 0L) { - Iterator iterator = this.destinationCoordinateKeys.iterator(); - long j = par1 - 600L; - - while(iterator.hasNext()) { - Long olong = (Long) iterator.next(); - PortalPosition portalposition = (PortalPosition) this.destinationCoordinateCache.getValueByKey(olong.longValue()); - if(portalposition == null || portalposition.lastUpdateTime < j) { - iterator.remove(); - this.destinationCoordinateCache.remove(olong.longValue()); - } - } - } - } - + private final WorldServer worldServerInstance; + private final Random random; + + private final LongHashMap destinationCoordinateCache = new LongHashMap(); + private final List destinationCoordinateKeys = new ArrayList(); + + public AtumTeleporter(WorldServer par1WorldServer) { + super(par1WorldServer); + this.worldServerInstance = par1WorldServer; + this.random = new Random(par1WorldServer.getSeed()); + } + + @Override + public void placeInPortal(Entity par1Entity, double par2, double par4, double par6, float par8) { + if (this.worldServerInstance.provider.dimensionId != 1) { + if (!this.placeInExistingPortal(par1Entity, par2, par4, par6, par8)) { + this.makePortal(par1Entity); + this.placeInExistingPortal(par1Entity, par2, par4, par6, par8); + } + } else { + int i = MathHelper.floor_double(par1Entity.posX); + int j = MathHelper.floor_double(par1Entity.posY) + 2; + int k = MathHelper.floor_double(par1Entity.posZ); + byte b0 = 1; + byte b1 = 0; + + for (int l = -2; l <= 2; ++l) { + for (int i1 = -2; i1 <= 2; ++i1) { + for (int j1 = -1; j1 < 3; ++j1) { + int k1 = i + i1 * b0 + l * b1; + int l1 = j + j1; + int i2 = k + i1 * b1 - l * b0; + boolean flag = j1 < 0; + this.worldServerInstance.setBlock(k1, l1, i2, flag ? Blocks.sandstone : null); + } + } + } + + par1Entity.setLocationAndAngles((double) i, (double) j, (double) k, par1Entity.rotationYaw, 0.0F); + par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D; + } + + } + + @Override + public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4, double par6, float par8) { + short short1 = 128; + double d3 = -1.0D; + int i = 0; + int j = 0; + int k = 0; + int l = MathHelper.floor_double(par1Entity.posX); + int i1 = MathHelper.floor_double(par1Entity.posZ); + long j1 = ChunkCoordIntPair.chunkXZ2Int(l, i1); + boolean flag = true; + double d4; + int k1; + int k2; + double var46; + if (this.destinationCoordinateCache.containsItem(j1)) { + AtumPortalPosition portalposition = (AtumPortalPosition) this.destinationCoordinateCache.getValueByKey(j1); + d3 = 0.0D; + i = portalposition.posX; + j = portalposition.posY; + k = portalposition.posZ; + portalposition.lastUpdateTime = this.worldServerInstance.getTotalWorldTime(); + flag = false; + } else { + for (k1 = l - short1; k1 <= l + short1; ++k1) { + var46 = (double) k1 + 0.5D - par1Entity.posX; + + for (int d9 = i1 - short1; d9 <= i1 + short1; ++d9) { + double d6 = (double) d9 + 0.5D - par1Entity.posZ; + + for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { + if (this.worldServerInstance.getBlock(k1, k2, d9) == AtumBlocks.BLOCK_PORTAL) { + while (this.worldServerInstance.getBlock(k1, k2 - 1, d9) == AtumBlocks.BLOCK_PORTAL) { + --k2; + } + + d4 = (double) k2 + 0.5D - par1Entity.posY; + double l2 = var46 * var46 + d4 * d4 + d6 * d6; + if (d3 < 0.0D || l2 < d3) { + d3 = l2; + i = k1; + j = k2; + k = d9; + } + } + } + } + } + } + + if (d3 >= 0.0D) { + if (flag) { + this.destinationCoordinateCache.add(j1, new AtumPortalPosition(i, j, k, this.worldServerInstance.getTotalWorldTime())); + this.destinationCoordinateKeys.add(Long.valueOf(j1)); + } + + var46 = (double) i + 0.5D; + double var47 = (double) j + 0.5D; + d4 = (double) k + 0.5D; + int j2 = -1; + if (this.worldServerInstance.getBlock(i - 1, j, k) == AtumBlocks.BLOCK_PORTAL) { + j2 = 2; + } + + if (this.worldServerInstance.getBlock(i + 1, j, k) == AtumBlocks.BLOCK_PORTAL) { + j2 = 0; + } + + if (this.worldServerInstance.getBlock(i, j, k - 1) == AtumBlocks.BLOCK_PORTAL) { + j2 = 3; + } + + if (this.worldServerInstance.getBlock(i, j, k + 1) == AtumBlocks.BLOCK_PORTAL) { + j2 = 1; + } + + k2 = par1Entity.getTeleportDirection(); + if (j2 > -1) { + int var48 = Direction.rotateLeft[j2]; + int i3 = Direction.offsetX[j2]; + int j3 = Direction.offsetZ[j2]; + int k3 = Direction.offsetX[var48]; + int l3 = Direction.offsetZ[var48]; + boolean flag1 = !this.worldServerInstance.isAirBlock(i + i3 + k3, j, k + j3 + l3) || !this.worldServerInstance.isAirBlock(i + i3 + k3, j + 1, k + j3 + l3); + boolean flag2 = !this.worldServerInstance.isAirBlock(i + i3, j, k + j3) || !this.worldServerInstance.isAirBlock(i + i3, j + 1, k + j3); + if (flag1 && flag2) { + j2 = Direction.rotateOpposite[j2]; + var48 = Direction.rotateOpposite[var48]; + i3 = Direction.offsetX[j2]; + j3 = Direction.offsetZ[j2]; + k3 = Direction.offsetX[var48]; + l3 = Direction.offsetZ[var48]; + k1 = i - k3; + var46 -= (double) k3; + int f1 = k - l3; + d4 -= (double) l3; + flag1 = !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j, f1 + j3 + l3) || !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j + 1, f1 + j3 + l3); + flag2 = !this.worldServerInstance.isAirBlock(k1 + i3, j, f1 + j3) || !this.worldServerInstance.isAirBlock(k1 + i3, j + 1, f1 + j3); + } + + float var49 = 0.5F; + float f2 = 0.5F; + if (!flag1 && flag2) { + var49 = 1.0F; + } else if (flag1 && !flag2) { + var49 = 0.0F; + } else if (flag1 && flag2) { + f2 = 0.0F; + } + + var46 += (double) ((float) k3 * var49 + f2 * (float) i3); + d4 += (double) ((float) l3 * var49 + f2 * (float) j3); + float f3 = 0.0F; + float f4 = 0.0F; + float f5 = 0.0F; + float f6 = 0.0F; + if (j2 == k2) { + f3 = 1.0F; + f4 = 1.0F; + } else if (j2 == Direction.rotateOpposite[k2]) { + f3 = -1.0F; + f4 = -1.0F; + } else if (j2 == Direction.rotateRight[k2]) { + f5 = 1.0F; + f6 = -1.0F; + } else { + f5 = -1.0F; + f6 = 1.0F; + } + + double d10 = par1Entity.motionX; + double d11 = par1Entity.motionZ; + par1Entity.motionX = d10 * (double) f3 + d11 * (double) f6; + par1Entity.motionZ = d10 * (double) f5 + d11 * (double) f4; + par1Entity.rotationYaw = par8 - (float) (k2 * 90) + (float) (j2 * 90); + } else { + par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D; + } + + par1Entity.setLocationAndAngles(var46, var47, d4, par1Entity.rotationYaw, par1Entity.rotationPitch); + return true; + } else { + return false; + } + } + + @Override + public boolean makePortal(Entity par1Entity) { + byte b0 = 16; + double d0 = -1.0D; + int entityX = MathHelper.floor_double(par1Entity.posX); + int entityY = MathHelper.floor_double(par1Entity.posY); + int entityZ = MathHelper.floor_double(par1Entity.posZ); + int l = entityX; + int i1 = entityY; + int j1 = entityZ; + int k1 = 0; + int l1 = this.random.nextInt(4); + + int i2; + double d1; + double d2; + int k2; + int j2; + int i3; + int l2; + int k3; + int j3; + int i4; + int l3; + int k4; + int j4; + double d3; + double d4; + int i5; + for (i2 = entityX - b0; i2 <= entityX + b0; ++i2) { + d1 = (double) i2 + 0.5D - par1Entity.posX; + + for (j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) { + d2 = (double) j2 + 0.5D - par1Entity.posZ; + + label272: + for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { + if (this.worldServerInstance.isAirBlock(i2, k2, j2)) { + while (k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) { + --k2; + } + + for (i3 = l1; i3 < l1 + 4; ++i3) { + l2 = i3 % 2; + k3 = 1 - l2; + if (i3 % 4 >= 2) { + l2 = -l2; + k3 = -k3; + } + + for (j3 = 0; j3 < 3; ++j3) { + for (i4 = 0; i4 < 4; ++i4) { + for (l3 = -1; l3 < 4; ++l3) { + k4 = i2 + (i4 - 1) * l2 + j3 * k3; + j4 = k2 + l3; + i5 = j2 + (i4 - 1) * k3 - j3 * l2; + if (l3 < 0 && !this.worldServerInstance.getBlock(k4, j4, i5).getMaterial().isSolid() || l3 >= 0 && !this.worldServerInstance.isAirBlock(k4, j4, i5)) { + continue label272; + } + } + } + } + + d4 = (double) k2 + 0.5D - par1Entity.posY; + d3 = d1 * d1 + d4 * d4 + d2 * d2; + if (d0 < 0.0D || d3 < d0) { + d0 = d3; + l = i2; + i1 = k2; + j1 = j2; + k1 = i3 % 4; + } + } + } + } + } + } + + if (d0 < 0.0D) { + for (i2 = entityX - b0; i2 <= entityX + b0; ++i2) { + d1 = (double) i2 + 0.5D - par1Entity.posX; + + for (j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) { + d2 = (double) j2 + 0.5D - par1Entity.posZ; + + label220: + for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { + if (this.worldServerInstance.isAirBlock(i2, k2, j2)) { + while (k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) { + --k2; + } + + for (i3 = l1; i3 < l1 + 2; ++i3) { + l2 = i3 % 2; + k3 = 1 - l2; + + for (j3 = 0; j3 < 4; ++j3) { + for (i4 = -1; i4 < 4; ++i4) { + l3 = i2 + (j3 - 1) * l2; + k4 = k2 + i4; + j4 = j2 + (j3 - 1) * k3; + if (i4 < 0 && !this.worldServerInstance.getBlock(l3, k4, j4).getMaterial().isSolid() || i4 >= 0 && !this.worldServerInstance.isAirBlock(l3, k4, j4)) { + continue label220; + } + } + } + + d4 = (double) k2 + 0.5D - par1Entity.posY; + d3 = d1 * d1 + d4 * d4 + d2 * d2; + if (d0 < 0.0D || d3 < d0) { + d0 = d3; + l = i2; + i1 = k2; + j1 = j2; + k1 = i3 % 2; + } + } + } + } + } + } + } + + i5 = l; + int j5 = i1; + j2 = j1; + int k5 = k1 % 2; + int l5 = 1 - k5; + if (k1 % 4 >= 2) { + k5 = -k5; + l5 = -l5; + } + + boolean flag; + if (d0 < 0.0D) { + if (i1 < 70) { + i1 = 70; + } + + if (i1 > this.worldServerInstance.getActualHeight() - 10) { + i1 = this.worldServerInstance.getActualHeight() - 10; + } + + j5 = i1; + + for (k2 = -1; k2 <= 1; ++k2) { + for (i3 = 1; i3 < 3; ++i3) { + for (l2 = -1; l2 < 3; ++l2) { + k3 = i5 + (i3 - 1) * k5 + k2 * l5; + j3 = j5 + l2; + i4 = j2 + (i3 - 1) * l5 - k2 * k5; + flag = l2 < 0; + this.worldServerInstance.setBlock(k3, j3, i4, flag ? Blocks.sandstone : null); + } + } + } + } + Block block; + if (par1Entity.dimension == 0) { + block = Blocks.sandstone; + } else { + block = AtumBlocks.BLOCK_LARGEBRICK; + } + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + + this.worldServerInstance.setBlock(entityX + x1, entityY, entityZ + z1, block); + } + } + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + if (x1 == 2 || z1 == 2 || x1 == -2 || z1 == -2) { + this.worldServerInstance.setBlock(entityX + x1, entityY + 1, entityZ + z1, block); + } + } + } + for (int y1 = 2; y1 < 4; y1++) { + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + if ((x1 == 2 && z1 == 2) || (x1 == -2 && z1 == 2) || (x1 == 2 && z1 == -2) || (x1 == -2 && z1 == -2)) { + this.worldServerInstance.setBlock(entityX + x1, entityY + y1, entityZ + z1, block); + } + } + } + } + + for (int x1 = -1; x1 < 2; x1++) { + for (int z1 = -1; z1 < 2; z1++) { + this.worldServerInstance.setBlock(x1 + entityX, entityY + 1, z1 + entityZ, AtumBlocks.BLOCK_PORTAL, 0, 2); + } + } + + return true; + } + + @Override + public void removeStalePortalLocations(long par1) { + if (par1 % 100L == 0L) { + Iterator iterator = this.destinationCoordinateKeys.iterator(); + long j = par1 - 600L; + + while (iterator.hasNext()) { + Long olong = (Long) iterator.next(); + AtumPortalPosition portalposition = (AtumPortalPosition) this.destinationCoordinateCache.getValueByKey(olong.longValue()); + if (portalposition == null || portalposition.lastUpdateTime < j) { + iterator.remove(); + this.destinationCoordinateCache.remove(olong.longValue()); + } + } + } + } } diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java b/src/main/java/com/teammetallurgy/atum/world/AtumWorldProvider.java similarity index 96% rename from src/main/java/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java rename to src/main/java/com/teammetallurgy/atum/world/AtumWorldProvider.java index c3c7696..8cdc296 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/AtumWorldProvider.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumWorldProvider.java @@ -1,7 +1,6 @@ -package com.teammetallurgy.atum.worldgen; +package com.teammetallurgy.atum.world; import com.teammetallurgy.atum.AtumIDS; -import com.teammetallurgy.atum.world.AtumWorlds; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/AtumWorldServer.java b/src/main/java/com/teammetallurgy/atum/world/AtumWorldServer.java similarity index 94% rename from src/main/java/com/teammetallurgy/atum/worldgen/AtumWorldServer.java rename to src/main/java/com/teammetallurgy/atum/world/AtumWorldServer.java index c4329a8..eb3458e 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/AtumWorldServer.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumWorldServer.java @@ -1,4 +1,4 @@ -package com.teammetallurgy.atum.worldgen; +package com.teammetallurgy.atum.world; import net.minecraft.profiler.Profiler; import net.minecraft.server.MinecraftServer; diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumWorlds.java b/src/main/java/com/teammetallurgy/atum/world/AtumWorlds.java index f77f661..0a3de86 100644 --- a/src/main/java/com/teammetallurgy/atum/world/AtumWorlds.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumWorlds.java @@ -4,8 +4,7 @@ import net.minecraftforge.common.DimensionManager; import com.teammetallurgy.atum.AtumIDS; -import com.teammetallurgy.atum.worldgen.AtumWorldProvider; -import com.teammetallurgy.atum.worldgen.biome.BiomeGenAtumDesert; +import com.teammetallurgy.atum.world.biome.BiomeGenAtumDesert; public enum AtumWorlds { INSTANCE; diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java b/src/main/java/com/teammetallurgy/atum/world/biome/BiomeDecoratorAtum.java similarity index 97% rename from src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java rename to src/main/java/com/teammetallurgy/atum/world/biome/BiomeDecoratorAtum.java index 249184e..4fe63bc 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeDecoratorAtum.java +++ b/src/main/java/com/teammetallurgy/atum/world/biome/BiomeDecoratorAtum.java @@ -1,8 +1,7 @@ -package com.teammetallurgy.atum.worldgen.biome; +package com.teammetallurgy.atum.world.biome; import java.util.Random; -import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeDecorator; @@ -10,7 +9,6 @@ import net.minecraft.world.gen.feature.WorldGenBigMushroom; import net.minecraft.world.gen.feature.WorldGenCactus; import net.minecraft.world.gen.feature.WorldGenFlowers; -import net.minecraft.world.gen.feature.WorldGenLiquids; import net.minecraft.world.gen.feature.WorldGenMinable; import net.minecraft.world.gen.feature.WorldGenReed; import net.minecraft.world.gen.feature.WorldGenSand; @@ -24,7 +22,7 @@ import net.minecraftforge.event.terraingen.TerrainGen; import com.teammetallurgy.atum.blocks.AtumBlocks; -import com.teammetallurgy.atum.worldgen.decorators.WorldGenShrub; +import com.teammetallurgy.atum.world.decorators.WorldGenShrub; public class BiomeDecoratorAtum extends BiomeDecorator { diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java b/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java similarity index 90% rename from src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java rename to src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java index f28189a..d0ec4eb 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/biome/BiomeGenAtumDesert.java +++ b/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java @@ -1,4 +1,4 @@ -package com.teammetallurgy.atum.worldgen.biome; +package com.teammetallurgy.atum.world.biome; import java.util.Random; @@ -17,12 +17,11 @@ import com.teammetallurgy.atum.entity.EntityGhost; import com.teammetallurgy.atum.entity.EntityMummy; import com.teammetallurgy.atum.entity.EntityStoneSoldier; -import com.teammetallurgy.atum.worldgen.decorators.WorldGenAtumTrees; -import com.teammetallurgy.atum.worldgen.decorators.WorldGenOasis; -import com.teammetallurgy.atum.worldgen.decorators.WorldGenPalace; -import com.teammetallurgy.atum.worldgen.decorators.WorldGenPalm; -import com.teammetallurgy.atum.worldgen.decorators.WorldGenPyramid; -import com.teammetallurgy.atum.worldgen.decorators.WorldGenRuins; +import com.teammetallurgy.atum.world.decorators.WorldGenAtumTrees; +import com.teammetallurgy.atum.world.decorators.WorldGenOasis; +import com.teammetallurgy.atum.world.decorators.WorldGenPalm; +import com.teammetallurgy.atum.world.decorators.WorldGenPyramid; +import com.teammetallurgy.atum.world.decorators.WorldGenRuins; public class BiomeGenAtumDesert extends BiomeGenBase { diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenAtumTrees.java similarity index 99% rename from src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java rename to src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenAtumTrees.java index 4a5b261..f622de9 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenAtumTrees.java +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenAtumTrees.java @@ -1,4 +1,4 @@ -package com.teammetallurgy.atum.worldgen.decorators; +package com.teammetallurgy.atum.world.decorators; import java.util.Random; diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenOasis.java similarity index 99% rename from src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java rename to src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenOasis.java index b5220af..5998721 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenOasis.java +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenOasis.java @@ -1,4 +1,4 @@ -package com.teammetallurgy.atum.worldgen.decorators; +package com.teammetallurgy.atum.world.decorators; import java.util.Random; diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalace.java similarity index 99% rename from src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java rename to src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalace.java index b80a4e6..6e08a3c 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalace.java +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalace.java @@ -1,9 +1,8 @@ -package com.teammetallurgy.atum.worldgen.decorators; +package com.teammetallurgy.atum.world.decorators; import java.util.Random; import net.minecraft.block.Block; -import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalm.java similarity index 98% rename from src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java rename to src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalm.java index dc0eeb0..068fddf 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPalm.java +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalm.java @@ -1,4 +1,4 @@ -package com.teammetallurgy.atum.worldgen.decorators; +package com.teammetallurgy.atum.world.decorators; import java.util.Random; diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPyramid.java similarity index 99% rename from src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java rename to src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPyramid.java index 1954717..8af30f7 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenPyramid.java +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPyramid.java @@ -1,4 +1,4 @@ -package com.teammetallurgy.atum.worldgen.decorators; +package com.teammetallurgy.atum.world.decorators; import static net.minecraftforge.common.util.ForgeDirection.EAST; import static net.minecraftforge.common.util.ForgeDirection.NORTH; diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenRuins.java similarity index 98% rename from src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java rename to src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenRuins.java index fe8c7dc..cade3dc 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenRuins.java +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenRuins.java @@ -1,4 +1,4 @@ -package com.teammetallurgy.atum.worldgen.decorators; +package com.teammetallurgy.atum.world.decorators; import java.util.Random; diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenShrub.java similarity index 94% rename from src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java rename to src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenShrub.java index 6bc1b25..e9b7266 100644 --- a/src/main/java/com/teammetallurgy/atum/worldgen/decorators/WorldGenShrub.java +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenShrub.java @@ -1,4 +1,4 @@ -package com.teammetallurgy.atum.worldgen.decorators; +package com.teammetallurgy.atum.world.decorators; import java.util.Random; diff --git a/src/main/java/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java b/src/main/java/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java deleted file mode 100644 index ad422b0..0000000 --- a/src/main/java/com/teammetallurgy/atum/worldgen/biome/MobSpawnController.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.teammetallurgy.atum.worldgen.biome; - -import java.util.List; - -import net.minecraft.world.biome.BiomeGenBase.SpawnListEntry; -import net.minecraftforge.event.world.WorldEvent.PotentialSpawns; - -import com.teammetallurgy.atum.entity.IAtumDayMob; -import com.teammetallurgy.atum.entity.IAtumNightMob; - -import cpw.mods.fml.common.eventhandler.SubscribeEvent; - -public class MobSpawnController { - - @SubscribeEvent - public void getPotentialSpawns(PotentialSpawns event) { - List list = event.list; - int time = (int) (event.world.getWorldTime() % 48000L); - System.out.println(time); - - for(int i = 0; i < list.size(); ++i) { - System.out.println(time); - if((!IAtumDayMob.class.isAssignableFrom(((SpawnListEntry) list.get(i)).entityClass) || time <= 0 || time >= 24000) && (!IAtumNightMob.class.isAssignableFrom(((SpawnListEntry) list.get(i)).entityClass) || time <= 24000 || time >= '\ubb80')) { - list.remove(i); - --i; - } - } - - } -} From 2f76b3892ffb14049f56c7a904bd0758130026a0 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Sun, 6 Jul 2014 16:36:09 +1000 Subject: [PATCH 059/157] Removed import --- .gitignore | 1 + .../teammetallurgy/atum/items/ItemScarab.java | 113 +++++++++--------- 2 files changed, 57 insertions(+), 57 deletions(-) diff --git a/.gitignore b/.gitignore index 6ccf2c8..c264abf 100644 --- a/.gitignore +++ b/.gitignore @@ -35,6 +35,7 @@ local.properties *.iml *.ipr *.iws + ################# ## Visual Studio ################# diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java b/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java index 91b9156..4b937f8 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java @@ -12,69 +12,68 @@ import com.teammetallurgy.atum.AtumIDS; import com.teammetallurgy.atum.blocks.AtumBlocks; -import com.teammetallurgy.atum.blocks.BlockPortal; public class ItemScarab extends Item { - public ItemScarab() { - super(); - super.maxStackSize = 1; - } + public ItemScarab() { + super(); + super.maxStackSize = 1; + } - @Override - public boolean hasEffect(ItemStack par1ItemStack) { - return true; - } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } - @Override - public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int x, int y, int z, int par7, float par8, float par9, float par10) { - if (AtumIDS.ALLOW_CREATION) { + @Override + public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int x, int y, int z, int par7, float par8, float par9, float par10) { + if (AtumIDS.ALLOW_CREATION) { - Block block = par3World.getBlock(x, y, z); - Block temp = null; - if (block == Blocks.sandstone) { - temp = Blocks.sandstone; - } else if (block == AtumBlocks.BLOCK_LARGEBRICK) { - temp = AtumBlocks.BLOCK_LARGEBRICK; - } - if (temp != null) { - if (!((BlockPortal) AtumBlocks.BLOCK_PORTAL).tryToCreatePortal(par3World, x, y, z, temp)) { - if (par2EntityPlayer.capabilities.isCreativeMode) { - for (int x1 = -2; x1 < 3; x1++) { - for (int z1 = -2; z1 < 3; z1++) { - par3World.setBlock(x + x1, y, z + z1, temp); - } - } - for (int x1 = -2; x1 < 3; x1++) { - for (int z1 = -2; z1 < 3; z1++) { - if (x1 + x == x + 2 || z1 + z == z + 2 || x1 + x == x - 2 || z1 + z == z - 2) { - par3World.setBlock(x + x1, y + 1, z + z1, temp); - } - } - } - for (int y1 = 2; y1 < 4; y1++) { - for (int x1 = -2; x1 < 3; x1++) { - for (int z1 = -2; z1 < 3; z1++) { - if ((x1 + x == x + 2 && z1 + z == z + 2) || (x1 + x == x - 2 && z1 + z == z + 2) || (x1 + x == x + 2 && z1 + z == z - 2) || (x1 + x == x - 2 && z1 + z == z - 2)) { - par3World.setBlock(x + x1, y + y1, z + z1, temp); - } - } - } - } - } - } else { - --par2EntityPlayer.getCurrentEquippedItem().stackSize; - } - } - }else{ - par2EntityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chat.atum.disabled"))); - } + Block block = par3World.getBlock(x, y, z); + Block temp = null; + if (block == Blocks.sandstone) { + temp = Blocks.sandstone; + } else if (block == AtumBlocks.BLOCK_LARGEBRICK) { + temp = AtumBlocks.BLOCK_LARGEBRICK; + } + if (temp != null) { + if (!(AtumBlocks.BLOCK_PORTAL).tryToCreatePortal(par3World, x, y, z, temp)) { + if (par2EntityPlayer.capabilities.isCreativeMode) { + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + par3World.setBlock(x + x1, y, z + z1, temp); + } + } + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + if (x1 + x == x + 2 || z1 + z == z + 2 || x1 + x == x - 2 || z1 + z == z - 2) { + par3World.setBlock(x + x1, y + 1, z + z1, temp); + } + } + } + for (int y1 = 2; y1 < 4; y1++) { + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + if ((x1 + x == x + 2 && z1 + z == z + 2) || (x1 + x == x - 2 && z1 + z == z + 2) || (x1 + x == x + 2 && z1 + z == z - 2) || (x1 + x == x - 2 && z1 + z == z - 2)) { + par3World.setBlock(x + x1, y + y1, z + z1, temp); + } + } + } + } + } + } else { + --par2EntityPlayer.getCurrentEquippedItem().stackSize; + } + } + } else { + par2EntityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chat.atum.disabled"))); + } - return true; - } + return true; + } - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:Scarab"); - } + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:Scarab"); + } } From c5d3aa2fd51e3777d997766b75a52bf0be45aece Mon Sep 17 00:00:00 2001 From: lclc98 Date: Thu, 10 Jul 2014 12:06:24 +1000 Subject: [PATCH 060/157] Updated to 1.7.10 --- build.properties | 4 +- .../atum/blocks/BlockChestSpawner.java | 2 +- .../atum/blocks/BlockFertileSoilTilled.java | 2 +- .../atum/blocks/BlockPapyrus.java | 2 +- .../atum/blocks/BlockPharaohChest.java | 2 +- .../tileentity/TileEntityBurningTrap.java | 2 +- .../chests/CursedChestBaseLogic.java | 2 +- .../chests/TileEntityChestSpawner.java | 4 +- .../chests/TileEntityPharaohChest.java | 2 +- .../client/render/entity/RenderBandit.java | 101 --- .../client/render/entity/RenderPharaoh.java | 107 +-- .../atum/entity/EntityDesertWolf.java | 31 +- .../atum/entity/EntityPharaoh.java | 680 +++++++++--------- .../entity/arrow/EntityArrowDoubleShot.java | 12 +- .../entity/arrow/EntityArrowExplosive.java | 12 +- .../atum/entity/arrow/EntityArrowFire.java | 12 +- .../atum/entity/arrow/EntityArrowPoison.java | 12 +- .../entity/arrow/EntityArrowQuickdraw.java | 12 +- .../entity/arrow/EntityArrowVelocity.java | 12 +- .../atum/entity/arrow/EntityAtumFishHook.java | 12 +- .../atum/entity/arrow/EntityNutsCall.java | 12 +- .../atum/lib/tickhandler/ClientEvents.java | 3 +- .../atum/world/AtumWorldProvider.java | 2 +- 23 files changed, 418 insertions(+), 624 deletions(-) diff --git a/build.properties b/build.properties index 3304f0d..6b036fe 100644 --- a/build.properties +++ b/build.properties @@ -1,3 +1,3 @@ -minecraft_version=1.7.2 -forge_version=10.12.1.1060 +minecraft_version=1.7.10 +forge_version=10.13.0.1160 mod_version=0.6 \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java index f7aee21..983dacb 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java @@ -167,7 +167,7 @@ public int isProvidingStrongPower(IBlockAccess par1IBlockAccess, int par2, int p } public static boolean isOcelotBlockingChest(World par0World, int par1, int par2, int par3) { - Iterator iterator = par0World.getEntitiesWithinAABB(EntityOcelot.class, AxisAlignedBB.getAABBPool().getAABB((double) par1, (double) (par2 + 1), (double) par3, (double) (par1 + 1), (double) (par2 + 2), (double) (par3 + 1))).iterator(); + Iterator iterator = par0World.getEntitiesWithinAABB(EntityOcelot.class, AxisAlignedBB.getBoundingBox((double) par1, (double) (par2 + 1), (double) par3, (double) (par1 + 1), (double) (par2 + 2), (double) (par3 + 1))).iterator(); while (iterator.hasNext()) { EntityOcelot entityocelot1 = (EntityOcelot) iterator.next(); diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java index ff2e469..cf75580 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java @@ -51,7 +51,7 @@ public void randomDisplayTick(World par1World, int par2, int par3, int par4, Ran @Override public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { - return AxisAlignedBB.getAABBPool().getAABB((double) (par2 + 0), (double) (par3 + 0), (double) (par4 + 0), (double) (par2 + 1), (double) (par3 + 1), (double) (par4 + 1)); + return AxisAlignedBB.getBoundingBox((double) (par2 + 0), (double) (par3 + 0), (double) (par4 + 0), (double) (par2 + 1), (double) (par3 + 1), (double) (par4 + 1)); } @Override diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPapyrus.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPapyrus.java index 009711e..070efc5 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockPapyrus.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPapyrus.java @@ -124,7 +124,7 @@ public boolean canSustainPlant(IBlockAccess world, int x, int y, int z, ForgeDir } else if (plantType != EnumPlantType.Beach) { return false; } else { - boolean isBeach = this == Blocks.dirt || this == Blocks.sand; + boolean isBeach = this == Blocks.dirt || (Block)this == Blocks.sand; boolean hasWater = world.getBlock(x - 1, y, z).getMaterial() == Material.water || world.getBlock(x + 1, y, z).getMaterial() == Material.water || world.getBlock(x, y, z - 1).getMaterial() == Material.water || world.getBlock(x, y, z + 1).getMaterial() == Material.water; return isBeach && hasWater; } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java index 5160ad8..9a98ddd 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java @@ -169,7 +169,7 @@ public int isProvidingStrongPower(IBlockAccess par1IBlockAccess, int par2, int p } public static boolean isOcelotBlockingChest(World par0World, int par1, int par2, int par3) { - Iterator iterator = par0World.getEntitiesWithinAABB(EntityOcelot.class, AxisAlignedBB.getAABBPool().getAABB((double) par1, (double) (par2 + 1), (double) par3, (double) (par1 + 1), (double) (par2 + 2), (double) (par3 + 1))).iterator(); + Iterator iterator = par0World.getEntitiesWithinAABB(EntityOcelot.class, AxisAlignedBB.getBoundingBox((double) par1, (double) (par2 + 1), (double) par3, (double) (par1 + 1), (double) (par2 + 2), (double) (par3 + 1))).iterator(); while (iterator.hasNext()) { EntityOcelot entityocelot1 = (EntityOcelot) iterator.next(); diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java index a04bca2..97db126 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java @@ -37,7 +37,7 @@ public void updateEntity() { yMax += facing.getFrontOffsetY() * range; zMin += facing.getFrontOffsetZ() * range; zMax += facing.getFrontOffsetZ() * range; - AxisAlignedBB bb = AxisAlignedBB.getAABBPool().getAABB((double) xMin, (double) yMin, (double) zMin, (double) xMax, (double) yMax, (double) zMax); + AxisAlignedBB bb = AxisAlignedBB.getBoundingBox((double) xMin, (double) yMin, (double) zMin, (double) xMax, (double) yMax, (double) zMax); List list = super.worldObj.getEntitiesWithinAABB(EntityMob.class, bb); if(p != null && bb.isVecInside(Vec3.createVectorHelper(p.posX, p.posY + 0.5D, p.posZ))) { p.setFire(2); diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java index 16794a9..1325624 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java @@ -110,7 +110,7 @@ public void updateSpawner() { return; } - int j = this.getSpawnerWorld().getEntitiesWithinAABB(entity.getClass(), AxisAlignedBB.getAABBPool().getAABB((double) this.getSpawnerX(), (double) this.getSpawnerY(), (double) this.getSpawnerZ(), (double) (this.getSpawnerX() + 1), (double) (this.getSpawnerY() + 1), (double) (this.getSpawnerZ() + 1)).expand((double) (this.spawnRange * 2), 4.0D, (double) (this.spawnRange * 2))).size(); + int j = this.getSpawnerWorld().getEntitiesWithinAABB(entity.getClass(), AxisAlignedBB.getBoundingBox((double) this.getSpawnerX(), (double) this.getSpawnerY(), (double) this.getSpawnerZ(), (double) (this.getSpawnerX() + 1), (double) (this.getSpawnerY() + 1), (double) (this.getSpawnerZ() + 1)).expand((double) (this.spawnRange * 2), 4.0D, (double) (this.spawnRange * 2))).size(); if (j >= this.maxNearbyEntities) { this.func_98273_j(); diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java index de7a447..90b705b 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java @@ -200,7 +200,7 @@ public int getInventoryStackLimit() { public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { double d0 = 4.0D; double d1 = 3.0D; - List list = super.worldObj.getEntitiesWithinAABB(EntityMob.class, AxisAlignedBB.getAABBPool().getAABB((double) super.xCoord - d0, (double) super.yCoord - d1, (double) super.zCoord - d0, (double) super.xCoord + d0, (double) super.yCoord + d1, (double) super.zCoord + d0)); + List list = super.worldObj.getEntitiesWithinAABB(EntityMob.class, AxisAlignedBB.getBoundingBox((double) super.xCoord - d0, (double) super.yCoord - d1, (double) super.zCoord - d0, (double) super.xCoord + d0, (double) super.yCoord + d1, (double) super.zCoord + d0)); if (!list.isEmpty()) { if (!super.worldObj.isRemote) { par1EntityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chat.Atum.enemies"))); @@ -223,7 +223,7 @@ public void updateEntity() { { this.numPlayersUsing = 0; f = 5.0F; - List list = this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getAABBPool().getAABB((double)((float)this.xCoord - f), (double)((float)this.yCoord - f), (double)((float)this.zCoord - f), (double)((float)(this.xCoord + 1) + f), (double)((float)(this.yCoord + 1) + f), (double)((float)(this.zCoord + 1) + f))); + List list = this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox((double)((float)this.xCoord - f), (double)((float)this.yCoord - f), (double)((float)this.zCoord - f), (double)((float)(this.xCoord + 1) + f), (double)((float)(this.yCoord + 1) + f), (double)((float)(this.zCoord + 1) + f))); Iterator iterator = list.iterator(); while (iterator.hasNext()) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java index c92240d..635936c 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java @@ -157,7 +157,7 @@ public void updateEntity() { if (!this.worldObj.isRemote && this.numPlayersUsing != 0 && (this.ticksSinceSync + this.xCoord + this.yCoord + this.zCoord) % 200 == 0) { this.numPlayersUsing = 0; f = 5.0F; - List list = this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getAABBPool().getAABB((double) ((float) this.xCoord - f), (double) ((float) this.yCoord - f), (double) ((float) this.zCoord - f), (double) ((float) (this.xCoord + 1) + f), (double) ((float) (this.yCoord + 1) + f), (double) ((float) (this.zCoord + 1) + f))); + List list = this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox((double) ((float) this.xCoord - f), (double) ((float) this.yCoord - f), (double) ((float) this.zCoord - f), (double) ((float) (this.xCoord + 1) + f), (double) ((float) (this.yCoord + 1) + f), (double) ((float) (this.zCoord + 1) + f))); Iterator iterator = list.iterator(); while (iterator.hasNext()) { diff --git a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderBandit.java b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderBandit.java index 41d9956..93f4b71 100644 --- a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderBandit.java +++ b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderBandit.java @@ -32,105 +32,4 @@ public RenderBandit(ModelBiped par1ModelBiped, float par2) { super(par1ModelBiped, par2); } - @Override - protected void renderEquippedItems(EntityLivingBase par1EntityLiving, float par2) { - float f1 = 1.0F; - GL11.glColor3f(f1, f1, f1); - ItemStack itemstack = par1EntityLiving.getHeldItem(); - ItemStack itemstack1 = par1EntityLiving.getEquipmentInSlot(3); - float f2; - - if(itemstack1 != null) { - GL11.glPushMatrix(); - this.modelBipedMain.bipedHead.postRender(0.0625F); - - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemstack1, EQUIPPED); - boolean is3D = (customRenderer != null && customRenderer.shouldUseRenderHelper(EQUIPPED, itemstack1, BLOCK_3D)); - - if(itemstack1.getItem() instanceof ItemBlock) { - if(is3D || RenderBlocks.renderItemIn3d(Block.getBlockFromItem(itemstack1.getItem()).getRenderType())) { - f2 = 0.625F; - GL11.glTranslatef(0.0F, -0.25F, 0.0F); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glScalef(f2, -f2, -f2); - } - - this.renderManager.itemRenderer.renderItem(par1EntityLiving, itemstack1, 0); - } else if(itemstack1.getItem() == Items.skull) { - f2 = 1.0625F; - GL11.glScalef(f2, -f2, -f2); - String s = ""; - - if(itemstack1.hasTagCompound() && itemstack1.getTagCompound().hasKey("SkullOwner")) { - s = itemstack1.getTagCompound().getString("SkullOwner"); - } - - TileEntitySkullRenderer.field_147536_b.func_147530_a(-0.5F, 0.0F, -0.5F, 1, 180.0F, itemstack1.getItemDamage(), s); - } - - GL11.glPopMatrix(); - } - - if(itemstack != null) { - GL11.glPushMatrix(); - - if(this.mainModel.isChild) { - f2 = 0.5F; - GL11.glTranslatef(0.0F, 0.625F, 0.0F); - GL11.glRotatef(-20.0F, -1.0F, 0.0F, 0.0F); - GL11.glScalef(f2, f2, f2); - } - - this.modelBipedMain.bipedRightArm.postRender(0.0625F); - GL11.glTranslatef(-0.0625F, 0.4375F, 0.0625F); - - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemstack, EQUIPPED); - boolean is3D = (customRenderer != null && customRenderer.shouldUseRenderHelper(EQUIPPED, itemstack, BLOCK_3D)); - - if(itemstack.getItem() instanceof ItemBlock && (is3D || RenderBlocks.renderItemIn3d(Block.getBlockFromItem(itemstack.getItem()).getRenderType()))) { - f2 = 0.5F; - GL11.glTranslatef(0.0F, 0.1875F, -0.3125F); - f2 *= 0.75F; - GL11.glRotatef(20.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); - GL11.glScalef(-f2, -f2, f2); - } else if(itemstack.getItem() == AtumItems.ITEM_BOW) { - f2 = 0.625F; - GL11.glTranslatef(0.0F, 0.125F, 0.3125F); - GL11.glRotatef(-20.0F, 0.0F, 1.0F, 0.0F); - GL11.glScalef(f2, -f2, f2); - GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); - } else if(itemstack.getItem().isFull3D()) { - f2 = 0.625F; - - if(itemstack.getItem().shouldRotateAroundWhenRendering()) { - GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(0.0F, -0.125F, 0.0F); - } - - this.func_82422_c(); - GL11.glScalef(f2, -f2, f2); - GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); - } else { - f2 = 0.375F; - GL11.glTranslatef(0.25F, 0.1875F, -0.1875F); - GL11.glScalef(f2, f2, f2); - GL11.glRotatef(60.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(-90.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(20.0F, 0.0F, 0.0F, 1.0F); - } - - this.renderManager.itemRenderer.renderItem(par1EntityLiving, itemstack, 0); - - if(itemstack.getItem().requiresMultipleRenderPasses()) { - for(int x = 1; x < itemstack.getItem().getRenderPasses(itemstack.getItemDamage()); x++) { - this.renderManager.itemRenderer.renderItem(par1EntityLiving, itemstack, x); - } - } - - GL11.glPopMatrix(); - } - } } diff --git a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderPharaoh.java b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderPharaoh.java index 03705bd..ba12743 100644 --- a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderPharaoh.java +++ b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderPharaoh.java @@ -2,10 +2,13 @@ import static net.minecraftforge.client.IItemRenderer.ItemRenderType.EQUIPPED; import static net.minecraftforge.client.IItemRenderer.ItemRendererHelper.BLOCK_3D; + +import com.mojang.authlib.GameProfile; import net.minecraft.block.Block; import net.minecraft.client.model.ModelBiped; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.entity.RenderBiped; +import net.minecraft.client.renderer.entity.RenderZombie; import net.minecraft.client.renderer.tileentity.TileEntitySkullRenderer; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; @@ -34,7 +37,7 @@ public RenderPharaoh(ModelBiped par1ModelBiped, float par2) { @Override public void doRender(EntityLivingBase par1Entity, double par2, double par4, double par6, float par8, float par9) { - BossStatus.setBossStatus((EntityPharaoh) par1Entity, false); + BossStatus.setBossStatus((net.minecraft.entity.boss.IBossDisplayData) par1Entity, true); super.doRender(par1Entity, par2, par4, par6, par8, par9); } @@ -42,106 +45,4 @@ public void doRender(EntityLivingBase par1Entity, double par2, double par4, doub protected ResourceLocation getEntityTexture(Entity par1Entity) { return new ResourceLocation("atum", "textures/entities/PharaohBlue.png"); } - - @Override - protected void renderEquippedItems(EntityLivingBase par1EntityLiving, float par2) { - float f1 = 1.0F; - GL11.glColor3f(f1, f1, f1); - ItemStack itemstack = par1EntityLiving.getHeldItem(); - ItemStack itemstack1 = par1EntityLiving.getEquipmentInSlot(3); - float f2; - - if (itemstack1 != null) { - GL11.glPushMatrix(); - this.modelBipedMain.bipedHead.postRender(0.0625F); - - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemstack1, EQUIPPED); - boolean is3D = (customRenderer != null && customRenderer.shouldUseRenderHelper(EQUIPPED, itemstack1, BLOCK_3D)); - - if (itemstack1.getItem() instanceof ItemBlock) { - if (is3D || RenderBlocks.renderItemIn3d(Block.getBlockFromItem(itemstack1.getItem()).getRenderType())) { - f2 = 0.625F; - GL11.glTranslatef(0.0F, -0.25F, 0.0F); - GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); - GL11.glScalef(f2, -f2, -f2); - } - - this.renderManager.itemRenderer.renderItem(par1EntityLiving, itemstack1, 0); - } else if (itemstack1.getItem() == Items.skull) { - f2 = 1.0625F; - GL11.glScalef(f2, -f2, -f2); - String s = ""; - - if (itemstack1.hasTagCompound() && itemstack1.getTagCompound().hasKey("SkullOwner")) { - s = itemstack1.getTagCompound().getString("SkullOwner"); - } - - TileEntitySkullRenderer.field_147536_b.func_147530_a(-0.5F, 0.0F, -0.5F, 1, 180.0F, itemstack1.getItemDamage(), s); - } - - GL11.glPopMatrix(); - } - - if (itemstack != null) { - GL11.glPushMatrix(); - - if (this.mainModel.isChild) { - f2 = 0.5F; - GL11.glTranslatef(0.0F, 0.625F, 0.0F); - GL11.glRotatef(-20.0F, -1.0F, 0.0F, 0.0F); - GL11.glScalef(f2, f2, f2); - } - - this.modelBipedMain.bipedRightArm.postRender(0.0625F); - GL11.glTranslatef(-0.0625F, 0.4375F, 0.0625F); - - IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(itemstack, EQUIPPED); - boolean is3D = (customRenderer != null && customRenderer.shouldUseRenderHelper(EQUIPPED, itemstack, BLOCK_3D)); - - if (itemstack.getItem() instanceof ItemBlock && (is3D || RenderBlocks.renderItemIn3d(Block.getBlockFromItem(itemstack.getItem()).getRenderType()))) { - f2 = 0.5F; - GL11.glTranslatef(0.0F, 0.1875F, -0.3125F); - f2 *= 0.75F; - GL11.glRotatef(20.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); - GL11.glScalef(-f2, -f2, f2); - } else if (itemstack.getItem() == AtumItems.ITEM_BOW) { - f2 = 0.625F; - GL11.glTranslatef(0.0F, 0.125F, 0.3125F); - GL11.glRotatef(-20.0F, 0.0F, 1.0F, 0.0F); - GL11.glScalef(f2, -f2, f2); - GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); - } else if (itemstack.getItem().isFull3D()) { - f2 = 0.625F; - - if (itemstack.getItem().shouldRotateAroundWhenRendering()) { - GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(0.0F, -0.125F, 0.0F); - } - - this.func_82422_c(); - GL11.glScalef(f2, -f2, f2); - GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); - } else { - f2 = 0.375F; - GL11.glTranslatef(0.25F, 0.1875F, -0.1875F); - GL11.glScalef(f2, f2, f2); - GL11.glRotatef(60.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(-90.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(20.0F, 0.0F, 0.0F, 1.0F); - } - - this.renderManager.itemRenderer.renderItem(par1EntityLiving, itemstack, 0); - - if (itemstack.getItem().requiresMultipleRenderPasses()) { - for (int x = 1; x < itemstack.getItem().getRenderPasses(itemstack.getItemDamage()); x++) { - this.renderManager.itemRenderer.renderItem(par1EntityLiving, itemstack, x); - } - } - - GL11.glPopMatrix(); - } - } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java b/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java index 93d3624..22d5f10 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java @@ -384,7 +384,7 @@ public boolean interact(EntityPlayer par1EntityPlayer) { } } - if (par1EntityPlayer.getGameProfile().getName().equalsIgnoreCase(this.getOwnerName()) && !this.worldObj.isRemote && !this.isBreedingItem(itemstack)) { + if (this.func_152114_e(par1EntityPlayer) && !this.worldObj.isRemote && !this.isBreedingItem(itemstack)) { this.aiSit.setSitting(!this.isSitting()); this.isJumping = false; this.setPathToEntity((PathEntity) null); @@ -404,7 +404,7 @@ public boolean interact(EntityPlayer par1EntityPlayer) { this.setPathToEntity((PathEntity) null); this.setAttackTarget((EntityLiving) null); this.aiSit.setSitting(true); - this.setOwner(par1EntityPlayer.getGameProfile().getName()); + this.func_152115_b(par1EntityPlayer.getUniqueID().toString()); this.playTameEffect(true); this.worldObj.setEntityState(this, (byte) 7); } else { @@ -473,22 +473,6 @@ public void setAngry(boolean par1) { } } - /** - * This function is used when two same-species animals in 'love mode' breed - * to generate the new baby animal. - */ - public EntityDesertWolf spawnBabyAnimal(EntityAgeable par1EntityAgeable) { - EntityDesertWolf entitywolf = new EntityDesertWolf(this.worldObj); - String s = this.getOwnerName(); - - if (s != null && s.trim().length() > 0) { - entitywolf.setOwner(s); - entitywolf.setTamed(true); - } - - return entitywolf; - } - public void func_70918_i(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(19); @@ -522,7 +506,16 @@ public boolean func_70922_bv() { @Override public EntityAgeable createChild(EntityAgeable par1EntityAgeable) { - return this.spawnBabyAnimal(par1EntityAgeable); + EntityDesertWolf entitywolf = new EntityDesertWolf(this.worldObj); + String s = this.func_152113_b(); + + if (s != null && s.trim().length() > 0) + { + entitywolf.func_152115_b(s); + entitywolf.setTamed(true); + } + + return entitywolf; } @Override diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java b/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java index 4ff414a..43f62d6 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java @@ -3,6 +3,8 @@ import java.util.List; import java.util.Random; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.client.renderer.entity.RenderDragon; import net.minecraft.enchantment.EnchantmentHelper; @@ -31,349 +33,349 @@ import cpw.mods.fml.common.FMLCommonHandler; public class EntityPharaoh extends EntityMob implements IBossDisplayData { - int linkedX; - int linkedY; - int linkedZ; + int linkedX; + int linkedY; + int linkedZ; - int stage; + int stage; - public static String[] prefix = { "Ama", "Ata", "Ato", "Bak", "Cal", "Djet", "Eje", "For", "Gol", "Gut", "Hop", "Hor", "Huni", "Iam", "Jor", "Kal", "Khas", "Khor", "Lat", "Mal", "Not", "Oap", "Pra", "Qo", "Ras", "Shas", "Thoth", "Tui", "Uld", "Ver", "Wot", "Xo", "Yat", "Zyt", "Khep" }; - public static String[] suffix = { "Ahat", "Amesh", "Amon", "Anut", "Baroom", "Chanta", "Erant", "Funam", "Daresh", "Djer", "Hotesh", "Khaden", "Kron", "Gorkum", "Ialenter", "Ma'at", "Narmer", "Radeem", "Jaloom", "Lepsha", "Quor", "Oleshet", "Peput", "Talat", "Ulam", "Veresh", "Ranesh", "Snef", "Wollolo", "Hathor", "Intef", "Neferk", "Khatne", "Tepy", "Moret" }; - public static String[] numeral = { "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII", "XIII", "XIV", "XV" }; + public static String[] prefix = {"Ama", "Ata", "Ato", "Bak", "Cal", "Djet", "Eje", "For", "Gol", "Gut", "Hop", "Hor", "Huni", "Iam", "Jor", "Kal", "Khas", "Khor", "Lat", "Mal", "Not", "Oap", "Pra", "Qo", "Ras", "Shas", "Thoth", "Tui", "Uld", "Ver", "Wot", "Xo", "Yat", "Zyt", "Khep"}; + public static String[] suffix = {"Ahat", "Amesh", "Amon", "Anut", "Baroom", "Chanta", "Erant", "Funam", "Daresh", "Djer", "Hotesh", "Khaden", "Kron", "Gorkum", "Ialenter", "Ma'at", "Narmer", "Radeem", "Jaloom", "Lepsha", "Quor", "Oleshet", "Peput", "Talat", "Ulam", "Veresh", "Ranesh", "Snef", "Wollolo", "Hathor", "Intef", "Neferk", "Khatne", "Tepy", "Moret"}; + public static String[] numeral = {"I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII", "XIII", "XIV", "XV"}; - private int suffixID = 0; - private int prefixID = 0; - private int numID = 0; - private int regenTime = 0; + private int suffixID = 0; + private int prefixID = 0; + private int numID = 0; + private int regenTime = 0; - public EntityPharaoh(World par1World) { + public EntityPharaoh(World par1World) { super(par1World); - this.experienceValue = 250; - stage = 0; - - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCEPTER)); - - for (int i = 0; i < this.equipmentDropChances.length; ++i) { - this.equipmentDropChances[i] = 0F; - } - } - - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(300.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); - } - - public void link(int x, int y, int z) { - linkedX = x; - linkedY = y; - linkedZ = z; - } - - /** - * Makes the entity despawn if requirements are reached - */ - @Override - protected void despawnEntity() { - } - - @Override - public void onDeath(DamageSource par1DamageSource) { - super.onDeath(par1DamageSource); - - if (par1DamageSource.damageType == "player") { - EntityPlayer slayer = (EntityPlayer) par1DamageSource.getEntity(); - if (!worldObj.isRemote) { - List players = FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList; - for (EntityPlayer player : players) { - player.addChatMessage(new ChatComponentText(this.getCommandSenderName() + " " + StatCollector.translateToLocal("chat.atum.killPharaoh") + " " + slayer.getGameProfile().getName())); - } - } - } - - if (linkedX != 0 && linkedY != 0 && linkedZ != 0) { - TileEntity te = worldObj.getTileEntity(linkedX, linkedY, linkedZ); - if (te != null) { - if (te instanceof TileEntityPharaohChest) { - TileEntityPharaohChest tepc = (TileEntityPharaohChest) te; - tepc.setOpenable(); - } - } - } - } - - @Override - public String getCommandSenderName() { - try { - int s = this.dataWatcher.getWatchableObjectInt(18); - int p = this.dataWatcher.getWatchableObjectInt(19); - int n = this.dataWatcher.getWatchableObjectInt(20); - return "Pharaoh " + StatCollector.translateToLocal("entity.atum.pharaoh." + prefix[p]) + StatCollector.translateToLocal("entity.atum.pharaoh." + suffix[s]) + " " + numeral[n]; - } catch (Exception e) { - return ""; - } - } - - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEAD; - } - - /** - * knocks back this entity - */ - @Override - public void knockBack(Entity par1Entity, float par2, double par3, double par5) { - this.isAirBorne = true; - float f = MathHelper.sqrt_double(par3 * par3 + par5 * par5); - float f1 = 0.3F; - this.motionX /= 2.0D; - this.motionY /= 2.0D; - this.motionZ /= 2.0D; - this.motionX -= par3 / (double) f * (double) f1; - this.motionZ -= par5 / (double) f * (double) f1; - - if (this.motionY > 0.4000000059604645D) { - this.motionY = 0.4000000059604645D; - } - } - - @Override - public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { - if (par1DamageSource.isFireDamage()) { - par2 = 0; - } - - if (super.attackEntityFrom(par1DamageSource, par2)) { - if (par1DamageSource.getEntity() != null) { - Entity par1Entity = par1DamageSource.getEntity(); - int j = 0; - if (par1Entity instanceof EntityLiving) { - j += EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, this); - - if (j > 0) { - this.motionX /= 0.6D; - this.motionZ /= 0.6D; - this.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), -0.1D, (double) (-MathHelper.cos(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); - } - } - - } - - if (this.getHealth() < this.getMaxHealth() * 0.75 && stage == 0) { - stage++; - spawnGuards(); - } else if (stage == 1 && this.getHealth() < this.getMaxHealth() * 0.5) { - stage++; - spawnGuards(); - } else if (stage == 2 && this.getHealth() < this.getMaxHealth() * 0.25) { - stage++; - spawnGuards(); - } - return true; - } - - return false; - } - - /** - * Destroys all blocks that aren't associated with 'The End' inside the - * given bounding box. - */ - - private boolean destroyBlocksInAABB(AxisAlignedBB par1AxisAlignedBB) { - int minX = MathHelper.floor_double(par1AxisAlignedBB.minX); - int minY = MathHelper.floor_double(par1AxisAlignedBB.minY); - int minZ = MathHelper.floor_double(par1AxisAlignedBB.minZ); - int maxX = MathHelper.floor_double(par1AxisAlignedBB.maxX); - int maxY = MathHelper.floor_double(par1AxisAlignedBB.maxY); - int maxZ = MathHelper.floor_double(par1AxisAlignedBB.maxZ); - boolean flag = false; - boolean flag1 = false; - - for (int x = minX; x <= maxX; ++x) { - for (int y = minY; y <= maxY; ++y) { - for (int z = minZ; z <= maxZ; ++z) { - Block block = this.worldObj.getBlock(x, y, z); - int metadata = this.worldObj.getBlockMetadata(x, y, z); - - if (block != null) { - if (block != AtumBlocks.BLOCK_LARGEBRICK && block != AtumBlocks.BLOCK_PHARAOHCHEST && block != Blocks.bedrock && block.isBlockSolid(worldObj, x, y, z, 0)) { - block.dropBlockAsItem(worldObj, x, y, z, metadata, 0); - flag1 = this.worldObj.setBlockToAir(x, y, z) || flag1; - } - - flag = true; - } - } - } - } - - if (flag1) { - double d0 = par1AxisAlignedBB.minX + (par1AxisAlignedBB.maxX - par1AxisAlignedBB.minX) * (double) this.rand.nextFloat(); - double d1 = par1AxisAlignedBB.minY + (par1AxisAlignedBB.maxY - par1AxisAlignedBB.minY) * (double) this.rand.nextFloat(); - double d2 = par1AxisAlignedBB.minZ + (par1AxisAlignedBB.maxZ - par1AxisAlignedBB.minZ) * (double) this.rand.nextFloat(); - this.worldObj.spawnParticle("largeexplode", d0, d1, d2, 0.0D, 0.0D, 0.0D); - } - - return flag; - } - - private void spawnGuards() { - int numSpawned = 0; - - if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ - 1)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX, (int) posY, (int) posZ + 1)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX, (int) posY, (int) posZ - 1)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ + 1)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ - 1)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ + 1)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ - 1)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - } - - public boolean trySpawnMummy(int x, int y, int z) { - EntityMummy mummy1 = new EntityMummy(worldObj); - mummy1.setPosition(x, y, z); - if (mummy1.getCanSpawnHere()) { - if (!worldObj.isRemote) - worldObj.spawnEntityInWorld(mummy1); - mummy1.spawnExplosionParticle(); - return true; - } - - return false; - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - @Override - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - super.writeEntityToNBT(par1NBTTagCompound); - par1NBTTagCompound.setInteger("suffix", dataWatcher.getWatchableObjectInt(18)); - par1NBTTagCompound.setInteger("prefix", dataWatcher.getWatchableObjectInt(19)); - par1NBTTagCompound.setInteger("numeral", dataWatcher.getWatchableObjectInt(20)); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - @Override - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - super.readEntityFromNBT(par1NBTTagCompound); - this.dataWatcher.updateObject(16, Float.valueOf(this.prevHealth)); - suffixID = par1NBTTagCompound.getInteger("suffix"); - prefixID = par1NBTTagCompound.getInteger("prefix"); - numID = par1NBTTagCompound.getInteger("numeral"); - this.dataWatcher.updateObject(18, new Integer(suffixID)); - this.dataWatcher.updateObject(19, new Integer(prefixID)); - this.dataWatcher.updateObject(20, new Integer(numID)); - } - - @Override - protected void entityInit() { - super.entityInit(); - this.dataWatcher.addObject(16, new Float(100)); - if (suffixID == 0 && prefixID == 0 && numID == 0) { - suffixID = rand.nextInt(suffix.length); - prefixID = rand.nextInt(prefix.length); - numID = rand.nextInt(numeral.length); - } - this.dataWatcher.addObject(18, new Integer(suffixID)); - this.dataWatcher.addObject(19, new Integer(prefixID)); - this.dataWatcher.addObject(20, new Integer(numID)); - } - - /** - * Called to update the entity's position/logic. - */ + this.experienceValue = 250; + stage = 0; + + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCEPTER)); + + for (int i = 0; i < this.equipmentDropChances.length; ++i) { + this.equipmentDropChances[i] = 0F; + } + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(300.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } + + public void link(int x, int y, int z) { + linkedX = x; + linkedY = y; + linkedZ = z; + } + + /** + * Makes the entity despawn if requirements are reached + */ + @Override + protected void despawnEntity() { + } + + @Override + public void onDeath(DamageSource par1DamageSource) { + super.onDeath(par1DamageSource); + + if (par1DamageSource.damageType == "player") { + EntityPlayer slayer = (EntityPlayer) par1DamageSource.getEntity(); + if (!worldObj.isRemote) { + List players = FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList; + for (EntityPlayer player : players) { + player.addChatMessage(new ChatComponentText(this.getCommandSenderName() + " " + StatCollector.translateToLocal("chat.atum.killPharaoh") + " " + slayer.getGameProfile().getName())); + } + } + } + + if (linkedX != 0 && linkedY != 0 && linkedZ != 0) { + TileEntity te = worldObj.getTileEntity(linkedX, linkedY, linkedZ); + if (te != null) { + if (te instanceof TileEntityPharaohChest) { + TileEntityPharaohChest tepc = (TileEntityPharaohChest) te; + tepc.setOpenable(); + } + } + } + } + + @Override + public String getCommandSenderName() { + try { + int s = this.dataWatcher.getWatchableObjectInt(18); + int p = this.dataWatcher.getWatchableObjectInt(19); + int n = this.dataWatcher.getWatchableObjectInt(20); + return "Pharaoh " + StatCollector.translateToLocal("entity.atum.pharaoh." + prefix[p]) + StatCollector.translateToLocal("entity.atum.pharaoh." + suffix[s]) + " " + numeral[n]; + } catch (Exception e) { + return ""; + } + } + + /** + * Get this Entity's EnumCreatureAttribute + */ + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEAD; + } + + /** + * knocks back this entity + */ @Override - public void onUpdate() { - super.onUpdate(); - - if (!this.worldObj.isRemote && this.worldObj.difficultySetting.getDifficultyId() == 0) { - TileEntity te = worldObj.getTileEntity(linkedX, linkedY, linkedZ); - if (te instanceof TileEntityPharaohChest) { - ((TileEntityPharaohChest) te).setPharaohDespawned(); - } - this.setDead(); - } - } - - @Override - public void onLivingUpdate() { - if (!this.worldObj.isRemote) { - this.dataWatcher.updateObject(16, Float.valueOf(this.prevHealth)); - } - - if (regenTime++ > 20) { - regenTime = 0; - this.heal(1); - } - - super.onLivingUpdate(); - - if (!worldObj.isRemote) - this.destroyBlocksInAABB(this.boundingBox.expand(0.1, 0, 0.1)); - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity - * has recently been hit by a player. @param par2 - Level of Looting used to - * kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) { - int amount = rand.nextInt(2) + 1; - this.dropItem(Items.gold_ingot, amount); - - this.entityDropItem(AtumLoot.getRandomArtifact(), 0.0F); - } + public void knockBack(Entity par1Entity, float par2, double par3, double par5) { + this.isAirBorne = true; + float f = MathHelper.sqrt_double(par3 * par3 + par5 * par5); + float f1 = 0.3F; + this.motionX /= 2.0D; + this.motionY /= 2.0D; + this.motionZ /= 2.0D; + this.motionX -= par3 / (double) f * (double) f1; + this.motionZ -= par5 / (double) f * (double) f1; + + if (this.motionY > 0.4000000059604645D) { + this.motionY = 0.4000000059604645D; + } + } + + @Override + public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { + if (par1DamageSource.isFireDamage()) { + par2 = 0; + } + + if (super.attackEntityFrom(par1DamageSource, par2)) { + if (par1DamageSource.getEntity() != null) { + Entity par1Entity = par1DamageSource.getEntity(); + int j = 0; + if (par1Entity instanceof EntityLiving) { + j += EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, this); + + if (j > 0) { + this.motionX /= 0.6D; + this.motionZ /= 0.6D; + this.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), -0.1D, (double) (-MathHelper.cos(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); + } + } + + } + + if (this.getHealth() < this.getMaxHealth() * 0.75 && stage == 0) { + stage++; + spawnGuards(); + } else if (stage == 1 && this.getHealth() < this.getMaxHealth() * 0.5) { + stage++; + spawnGuards(); + } else if (stage == 2 && this.getHealth() < this.getMaxHealth() * 0.25) { + stage++; + spawnGuards(); + } + return true; + } + + return false; + } + + /** + * Destroys all blocks that aren't associated with 'The End' inside the + * given bounding box. + */ + + private boolean destroyBlocksInAABB(AxisAlignedBB par1AxisAlignedBB) { + int minX = MathHelper.floor_double(par1AxisAlignedBB.minX); + int minY = MathHelper.floor_double(par1AxisAlignedBB.minY); + int minZ = MathHelper.floor_double(par1AxisAlignedBB.minZ); + int maxX = MathHelper.floor_double(par1AxisAlignedBB.maxX); + int maxY = MathHelper.floor_double(par1AxisAlignedBB.maxY); + int maxZ = MathHelper.floor_double(par1AxisAlignedBB.maxZ); + boolean flag = false; + boolean flag1 = false; + + for (int x = minX; x <= maxX; ++x) { + for (int y = minY; y <= maxY; ++y) { + for (int z = minZ; z <= maxZ; ++z) { + Block block = this.worldObj.getBlock(x, y, z); + int metadata = this.worldObj.getBlockMetadata(x, y, z); + + if (block != null) { + if (block != AtumBlocks.BLOCK_LARGEBRICK && block != AtumBlocks.BLOCK_PHARAOHCHEST && block != Blocks.bedrock && block.isBlockSolid(worldObj, x, y, z, 0)) { + block.dropBlockAsItem(worldObj, x, y, z, metadata, 0); + flag1 = this.worldObj.setBlockToAir(x, y, z) || flag1; + } + + flag = true; + } + } + } + } + + if (flag1) { + double d0 = par1AxisAlignedBB.minX + (par1AxisAlignedBB.maxX - par1AxisAlignedBB.minX) * (double) this.rand.nextFloat(); + double d1 = par1AxisAlignedBB.minY + (par1AxisAlignedBB.maxY - par1AxisAlignedBB.minY) * (double) this.rand.nextFloat(); + double d2 = par1AxisAlignedBB.minZ + (par1AxisAlignedBB.maxZ - par1AxisAlignedBB.minZ) * (double) this.rand.nextFloat(); + this.worldObj.spawnParticle("largeexplode", d0, d1, d2, 0.0D, 0.0D, 0.0D); + } + + return flag; + } + + private void spawnGuards() { + int numSpawned = 0; + + if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ - 1)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + if (trySpawnMummy((int) posX, (int) posY, (int) posZ + 1)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + if (trySpawnMummy((int) posX, (int) posY, (int) posZ - 1)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ + 1)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ - 1)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ + 1)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ - 1)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + } + + public boolean trySpawnMummy(int x, int y, int z) { + EntityMummy mummy1 = new EntityMummy(worldObj); + mummy1.setPosition(x, y, z); + if (mummy1.getCanSpawnHere()) { + if (!worldObj.isRemote) + worldObj.spawnEntityInWorld(mummy1); + mummy1.spawnExplosionParticle(); + return true; + } + + return false; + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + @Override + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + super.writeEntityToNBT(par1NBTTagCompound); + par1NBTTagCompound.setInteger("suffix", dataWatcher.getWatchableObjectInt(18)); + par1NBTTagCompound.setInteger("prefix", dataWatcher.getWatchableObjectInt(19)); + par1NBTTagCompound.setInteger("numeral", dataWatcher.getWatchableObjectInt(20)); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + @Override + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + super.readEntityFromNBT(par1NBTTagCompound); + this.dataWatcher.updateObject(16, Float.valueOf(this.prevHealth)); + suffixID = par1NBTTagCompound.getInteger("suffix"); + prefixID = par1NBTTagCompound.getInteger("prefix"); + numID = par1NBTTagCompound.getInteger("numeral"); + this.dataWatcher.updateObject(18, new Integer(suffixID)); + this.dataWatcher.updateObject(19, new Integer(prefixID)); + this.dataWatcher.updateObject(20, new Integer(numID)); + } + + @Override + protected void entityInit() { + super.entityInit(); + this.dataWatcher.addObject(16, new Float(100)); + if (suffixID == 0 && prefixID == 0 && numID == 0) { + suffixID = rand.nextInt(suffix.length); + prefixID = rand.nextInt(prefix.length); + numID = rand.nextInt(numeral.length); + } + this.dataWatcher.addObject(18, new Integer(suffixID)); + this.dataWatcher.addObject(19, new Integer(prefixID)); + this.dataWatcher.addObject(20, new Integer(numID)); + } + + /** + * Called to update the entity's position/logic. + */ + @Override + public void onUpdate() { + super.onUpdate(); + + if (!this.worldObj.isRemote && this.worldObj.difficultySetting.getDifficultyId() == 0) { + TileEntity te = worldObj.getTileEntity(linkedX, linkedY, linkedZ); + if (te instanceof TileEntityPharaohChest) { + ((TileEntityPharaohChest) te).setPharaohDespawned(); + } + this.setDead(); + } + } + + @Override + public void onLivingUpdate() { + if (!this.worldObj.isRemote) { + this.dataWatcher.updateObject(16, Float.valueOf(this.prevHealth)); + } + + if (regenTime++ > 20) { + regenTime = 0; + this.heal(1); + } + + super.onLivingUpdate(); + + if (!worldObj.isRemote) + this.destroyBlocksInAABB(this.boundingBox.expand(0.1, 0, 0.1)); + } + + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + int amount = rand.nextInt(2) + 1; + this.dropItem(Items.gold_ingot, amount); + + this.entityDropItem(AtumLoot.getRandomArtifact(), 0.0F); + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java index 7b8f7d1..61b25d1 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java @@ -188,7 +188,7 @@ public void onUpdate() { i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { + if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { this.inGround = true; } } @@ -217,14 +217,14 @@ public void onUpdate() { } } else { ++this.ticksInAir; - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); if (movingobjectposition != null) { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); } Entity entity = null; diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java index 0875bb1..c23e0b0 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java @@ -188,7 +188,7 @@ public void onUpdate() { i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { + if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { this.worldObj.newExplosion(this, this.posX, this.posY, this.posZ, 2.0F, this.isBurning(), true); this.inGround = true; } @@ -218,14 +218,14 @@ public void onUpdate() { } } else { ++this.ticksInAir; - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); if (movingobjectposition != null) { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); } Entity entity = null; diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java index 4dd1f2d..c028008 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java @@ -189,7 +189,7 @@ public void onUpdate() { i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { + if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { this.inGround = true; } } @@ -221,14 +221,14 @@ public void onUpdate() { } } else { ++this.ticksInAir; - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); if (movingobjectposition != null) { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); } Entity entity = null; diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java index d85e2d5..3be9ef8 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java @@ -190,7 +190,7 @@ public void onUpdate() { i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { + if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { this.inGround = true; } } @@ -219,14 +219,14 @@ public void onUpdate() { } } else { ++this.ticksInAir; - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); if (movingobjectposition != null) { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); } Entity entity = null; diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java index bd7c8d9..0d418a7 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java @@ -188,7 +188,7 @@ public void onUpdate() { i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { + if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { this.inGround = true; } } @@ -217,14 +217,14 @@ public void onUpdate() { } } else { ++this.ticksInAir; - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); if (movingobjectposition != null) { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); } Entity entity = null; diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java index 8ab3053..4f50434 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java @@ -188,7 +188,7 @@ public void onUpdate() { i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { + if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { this.inGround = true; } } @@ -217,14 +217,14 @@ public void onUpdate() { } } else { ++this.ticksInAir; - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); if (movingobjectposition != null) { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); } Entity entity = null; diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java index 73b9119..3c66b37 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java @@ -243,14 +243,14 @@ public void onUpdate() { ++this.ticksInAir; } - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks(vec3, vec31); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); if (movingobjectposition != null) { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); } Entity entity = null; @@ -326,7 +326,7 @@ public void onUpdate() { for (int k = 0; k < b0; ++k) { double d7 = this.boundingBox.minY + (this.boundingBox.maxY - this.boundingBox.minY) * (double) (k + 0) / (double) b0 - 0.125D + 0.125D; double d8 = this.boundingBox.minY + (this.boundingBox.maxY - this.boundingBox.minY) * (double) (k + 1) / (double) b0 - 0.125D + 0.125D; - AxisAlignedBB axisalignedbb1 = AxisAlignedBB.getAABBPool().getAABB(this.boundingBox.minX, d7, this.boundingBox.minZ, this.boundingBox.maxX, d8, this.boundingBox.maxZ); + AxisAlignedBB axisalignedbb1 = AxisAlignedBB.getBoundingBox(this.boundingBox.minX, d7, this.boundingBox.minZ, this.boundingBox.maxX, d8, this.boundingBox.maxZ); if (this.worldObj.isAABBInMaterial(axisalignedbb1, Material.water)) { d6 += 1.0D / (double) b0; diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java index 93a831c..bca2f06 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java @@ -198,7 +198,7 @@ public void onUpdate() { i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - if (axisalignedbb != null && axisalignedbb.isVecInside(this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ))) { + if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { this.inGround = true; } } @@ -227,14 +227,14 @@ public void onUpdate() { } } else { ++this.ticksInAir; - Vec3 vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - Vec3 vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); - vec3 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX, this.posY, this.posZ); - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); if (movingobjectposition != null) { - vec31 = this.worldObj.getWorldVec3Pool().getVecFromPool(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); } Entity entity = null; diff --git a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientEvents.java b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientEvents.java index a0a69a2..fa11282 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientEvents.java +++ b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientEvents.java @@ -23,11 +23,10 @@ public class ClientEvents { @SubscribeEvent public void onRender(TickEvent.RenderTickEvent event) { EntityPlayer player = Minecraft.getMinecraft().thePlayer; - ItemStack currentItemStack = null; if (player != null && player.getCurrentArmor(3) != null) { if (player.getCurrentArmor(3).getItem() == AtumItems.mummyHelmet) { - ScaledResolution scaledresolution = new ScaledResolution(Minecraft.getMinecraft().gameSettings, Minecraft.getMinecraft().displayWidth, Minecraft.getMinecraft().displayHeight); + ScaledResolution scaledresolution = new ScaledResolution(Minecraft.getMinecraft(), Minecraft.getMinecraft().displayWidth, Minecraft.getMinecraft().displayHeight); int par1 = scaledresolution.getScaledWidth(); int par2 = scaledresolution.getScaledHeight(); diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumWorldProvider.java b/src/main/java/com/teammetallurgy/atum/world/AtumWorldProvider.java index 8cdc296..1d3ce2f 100644 --- a/src/main/java/com/teammetallurgy/atum/world/AtumWorldProvider.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumWorldProvider.java @@ -82,7 +82,7 @@ public Vec3 getFogColor(float par1, float par2) { f3 = 0.9F * f2; f4 = 0.75F * f2; f5 = 0.6F * f2; - return super.worldObj.getWorldVec3Pool().getVecFromPool((double) f3, (double) f4, (double) f5); + return Vec3.createVectorHelper((double) f3, (double) f4, (double) f5); } @Override From 31560adebdb5d4d3b0b4efde9c44b3398945f4a0 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Wed, 16 Jul 2014 20:53:33 +1000 Subject: [PATCH 061/157] Fixed textures --- .../java/com/teammetallurgy/atum/items/ItemLoot.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java b/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java index 3f6d87e..f53384f 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java @@ -18,8 +18,8 @@ public class ItemLoot extends Item { - private static String[] typeArray = new String[] { "idol", "necklace", "ring", "broach", "scepter" }; - private static String[] qualityArray = new String[] { "dirty", "silver", "gold", "sapphire", "ruby", "emerald", "diamond" }; + private static String[] typeArray = new String[]{"idol", "necklace", "ring", "broach", "scepter"}; + private static String[] qualityArray = new String[]{"dirty", "silver", "gold", "sapphire", "ruby", "emerald", "diamond"}; IIcon[] iconArray; public ItemLoot() { @@ -92,13 +92,16 @@ public void registerIcons(IIconRegister par1IIconRegister) { this.iconArray = new IIcon[typeArray.length * (qualityArray.length + 1)]; for (int type = 0; type < 5; ++type) { - this.iconArray[type * 7] = par1IIconRegister.registerIcon("atum:Dirty" + typeArray[type]); + this.iconArray[type * 7] = par1IIconRegister.registerIcon("atum:Dirty" + firstUpperCase(typeArray[type])); for (int quality = 1; quality < 7; ++quality) { - this.iconArray[type * 7 + quality] = par1IIconRegister.registerIcon("atum:" + qualityArray[quality] + typeArray[type]); + this.iconArray[type * 7 + quality] = par1IIconRegister.registerIcon("atum:" + firstUpperCase(qualityArray[quality]) + firstUpperCase(typeArray[type])); } } } + public String firstUpperCase(String s) { + return Character.toString(s.charAt(0)).toUpperCase() + s.substring(1, s.length()); + } } From 18d5bbc8ebea4aade31295bd0df0b8c8b1b1d86a Mon Sep 17 00:00:00 2001 From: lclc98 Date: Tue, 29 Jul 2014 20:39:41 +1000 Subject: [PATCH 062/157] Refactored code --- .../java/com/teammetallurgy/atum/Atum.java | 17 +- .../com/teammetallurgy/atum/AtumConfig.java | 5 +- .../teammetallurgy/atum/AtumCreativeTab.java | 3 +- .../atum/AtumEventListener.java | 22 +- .../com/teammetallurgy/atum/AtumFish.java | 3 +- .../teammetallurgy/atum/AtumGuiHandler.java | 14 +- .../java/com/teammetallurgy/atum/AtumIDS.java | 2 +- .../com/teammetallurgy/atum/AtumLoot.java | 95 +- .../atum/AtumWeightedLootSet.java | 17 +- .../atum/blocks/AtumBlocks.java | 23 +- .../teammetallurgy/atum/blocks/BlockAtum.java | 5 - .../atum/blocks/BlockAtumGlass.java | 8 +- .../atum/blocks/BlockAtumOres.java | 4 +- .../atum/blocks/BlockAtumRedstone.java | 30 +- .../atum/blocks/BlockAtumSlab.java | 13 +- .../atum/blocks/BlockBurningTrap.java | 18 +- .../atum/blocks/BlockChestSpawner.java | 41 +- .../teammetallurgy/atum/blocks/BlockDate.java | 12 +- .../atum/blocks/BlockFertileSoil.java | 40 +- .../atum/blocks/BlockFertileSoilTilled.java | 8 +- .../teammetallurgy/atum/blocks/BlockFlax.java | 12 +- .../atum/blocks/BlockLeave.java | 10 +- .../atum/blocks/BlockLimeStoneFurnace.java | 76 +- .../atum/blocks/BlockPalmLog.java | 31 +- .../atum/blocks/BlockPalmSapling.java | 4 +- .../atum/blocks/BlockPapyrus.java | 16 +- .../atum/blocks/BlockPharaohChest.java | 40 +- .../atum/blocks/BlockPortal.java | 20 +- .../atum/blocks/BlockSandLayered.java | 8 +- .../atum/blocks/BlockSands.java | 1 - .../atum/blocks/BlockShrub.java | 9 +- .../atum/blocks/BlockStones.java | 4 +- .../atum/blocks/BlockWalls.java | 12 +- .../atum/blocks/ItemBlockSlab.java | 2 +- .../atum/blocks/ItemBlockWall.java | 2 +- .../tileentity/TileEntityBurningTrap.java | 24 +- .../chests/CursedChestBaseLogic.java | 50 +- .../chests/TileEntityChestSpawner.java | 169 ++- .../chests/TileEntityPharaohChest.java | 612 +++++------ .../furnace/ContainerLimestoneFurnace.java | 52 +- .../furnace/GuiLimestoneFurnace.java | 6 +- .../furnace/TileEntityLimestoneFurnace.java | 139 ++- .../client/model/entity/ModelDesertWolf.java | 353 +++---- .../model/entity/ModelDustySkeleton.java | 4 +- .../client/render/entity/RenderBandit.java | 24 +- .../render/entity/RenderDesertWolf.java | 12 +- .../client/render/entity/RenderGhost.java | 15 +- .../client/render/entity/RenderPharaoh.java | 25 +- .../entity/arrow/RenderCustomArrow.java | 19 +- .../render/entity/arrow/RenderNutsCall.java | 11 +- .../client/render/item/RendererItemBow.java | 1 - .../client/render/tileentity/RenderDate.java | 10 +- .../render/tileentity/RenderPapyrus.java | 2 +- .../atum/entity/AtumEntities.java | 12 +- .../atum/entity/EntityBanditArcher.java | 18 +- .../atum/entity/EntityBanditWarlord.java | 3 +- .../atum/entity/EntityBanditWarrior.java | 129 ++- .../atum/entity/EntityBarbarian.java | 105 +- .../atum/entity/EntityDesertWolf.java | 998 +++++++++--------- .../atum/entity/EntityDustySkeleton.java | 102 +- .../atum/entity/EntityGhost.java | 3 +- .../atum/entity/EntityMummy.java | 107 +- .../atum/entity/EntityPharaoh.java | 707 ++++++------- .../atum/entity/EntityStone.java | 27 +- .../atum/entity/EntityStoneSoldier.java | 179 ++-- .../atum/entity/arrow/CustomArrow.java | 1 - .../entity/arrow/EntityArrowDoubleShot.java | 70 +- .../entity/arrow/EntityArrowExplosive.java | 70 +- .../atum/entity/arrow/EntityArrowFire.java | 70 +- .../atum/entity/arrow/EntityArrowPoison.java | 68 +- .../entity/arrow/EntityArrowQuickdraw.java | 70 +- .../entity/arrow/EntityArrowVelocity.java | 70 +- .../atum/entity/arrow/EntityAtumFishHook.java | 56 +- .../atum/entity/arrow/EntityNutsCall.java | 74 +- .../teammetallurgy/atum/items/AtumItems.java | 49 +- .../atum/items/ItemAtumBow.java | 6 +- .../teammetallurgy/atum/items/ItemFish.java | 12 +- .../atum/items/ItemGreatsword.java | 7 +- .../teammetallurgy/atum/items/ItemLoot.java | 10 +- .../teammetallurgy/atum/items/ItemScarab.java | 117 +- .../atum/items/LimestoneAxe.java | 3 +- .../atum/items/LimestoneHoe.java | 3 +- .../atum/items/LimestonePickaxe.java | 5 +- .../atum/items/LimestoneShovel.java | 3 +- .../atum/items/LimestoneSword.java | 3 +- .../atum/items/artifacts/ItemAkersToil.java | 8 +- .../artifacts/ItemAmunetsHomecoming.java | 52 +- .../atum/items/artifacts/ItemAnhursMight.java | 8 +- .../atum/items/artifacts/ItemAnubisMercy.java | 58 +- .../items/artifacts/ItemAnuketsBounty.java | 11 +- .../atum/items/artifacts/ItemAtensFury.java | 13 +- .../items/artifacts/ItemGebsBlessing.java | 8 +- .../items/artifacts/ItemGebsSolidarity.java | 13 +- .../items/artifacts/ItemHedetetsSting.java | 8 +- .../items/artifacts/ItemHedetetsVenom.java | 13 +- .../atum/items/artifacts/ItemHorusFlight.java | 16 +- .../items/artifacts/ItemHorusSoaring.java | 14 +- .../atum/items/artifacts/ItemIsisEmbrace.java | 11 +- .../atum/items/artifacts/ItemIsisHealing.java | 8 +- .../items/artifacts/ItemMaatsBalance.java | 17 +- .../items/artifacts/ItemMafdetsQuickness.java | 8 +- .../atum/items/artifacts/ItemMnevisHorns.java | 13 +- .../items/artifacts/ItemMonthusBlast.java | 13 +- .../items/artifacts/ItemMonthusStrike.java | 16 +- .../items/artifacts/ItemNeithsAudacity.java | 19 +- .../atum/items/artifacts/ItemNusFlux.java | 12 +- .../atum/items/artifacts/ItemNutsAgility.java | 12 +- .../atum/items/artifacts/ItemNutsCall.java | 11 +- .../atum/items/artifacts/ItemOsirisWill.java | 12 +- .../items/artifacts/ItemPtahsDecadence.java | 10 +- .../items/artifacts/ItemPtahsDestruction.java | 11 +- .../atum/items/artifacts/ItemRasGlory.java | 11 +- .../items/artifacts/ItemSekhmetsWrath.java | 13 +- .../atum/items/artifacts/ItemShusBreath.java | 13 +- .../atum/items/artifacts/ItemSobeksRage.java | 14 +- .../atum/lib/handler/CraftingHandler.java | 8 +- .../atum/lib/proxy/ClientProxy.java | 43 +- .../atum/lib/proxy/CommonProxy.java | 3 - .../atum/lib/tickhandler/ClientEvents.java | 15 +- .../atum/lib/tickhandler/ServerEvents.java | 10 +- .../atum/world/AtumChunkProvider.java | 255 +++-- .../atum/world/AtumPortalPosition.java | 5 +- .../atum/world/AtumTeleporter.java | 813 +++++++------- .../atum/world/AtumWorldProvider.java | 1 - .../atum/world/AtumWorldServer.java | 2 - .../teammetallurgy/atum/world/AtumWorlds.java | 5 +- .../atum/world/biome/BiomeDecoratorAtum.java | 16 +- .../atum/world/biome/BiomeGenAtumDesert.java | 21 +- .../world/decorators/WorldGenAtumTrees.java | 87 +- .../atum/world/decorators/WorldGenOasis.java | 75 +- .../atum/world/decorators/WorldGenPalace.java | 5 +- .../atum/world/decorators/WorldGenPalm.java | 5 +- .../world/decorators/WorldGenPyramid.java | 56 +- .../atum/world/decorators/WorldGenRuins.java | 7 +- .../atum/world/decorators/WorldGenShrub.java | 9 +- 135 files changed, 3390 insertions(+), 3809 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/Atum.java b/src/main/java/com/teammetallurgy/atum/Atum.java index 59b3123..1510b52 100644 --- a/src/main/java/com/teammetallurgy/atum/Atum.java +++ b/src/main/java/com/teammetallurgy/atum/Atum.java @@ -1,40 +1,33 @@ package com.teammetallurgy.atum; -import java.util.logging.Logger; - -import net.minecraft.creativetab.CreativeTabs; -import net.minecraftforge.common.MinecraftForge; - import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.entity.AtumEntities; import com.teammetallurgy.atum.items.AtumItems; import com.teammetallurgy.atum.lib.handler.CraftingHandler; import com.teammetallurgy.atum.lib.proxy.CommonProxy; import com.teammetallurgy.atum.world.AtumWorlds; - import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; -import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.network.NetworkRegistry; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraftforge.common.MinecraftForge; + +import java.util.logging.Logger; @Mod(modid = Atum.MODID, name = Atum.NAME, version = Atum.VERSION) public class Atum { public static final String MODID = "atum"; public static final String NAME = "Atum"; public static final String VERSION = "0.5.9B"; - + public static final Logger LOGGER = Logger.getLogger(Atum.class.getSimpleName()); @Instance(Atum.MODID) public static Atum instance; - @SidedProxy(clientSide = "com.teammetallurgy.atum.lib.proxy.ClientProxy", serverSide = "com.teammetallurgy.atum.lib.proxy.CommonProxy") public static CommonProxy proxy; - - public static final Logger LOGGER = Logger.getLogger(Atum.class.getSimpleName()); - public static AtumConfig config; public static CreativeTabs creativeTab = new AtumCreativeTab(); diff --git a/src/main/java/com/teammetallurgy/atum/AtumConfig.java b/src/main/java/com/teammetallurgy/atum/AtumConfig.java index 13533a0..6284beb 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumConfig.java +++ b/src/main/java/com/teammetallurgy/atum/AtumConfig.java @@ -1,9 +1,9 @@ package com.teammetallurgy.atum; -import java.io.File; - import net.minecraftforge.common.config.Configuration; +import java.io.File; + public class AtumConfig { private final Configuration CONFIG; @@ -27,6 +27,7 @@ public void load() { private int getInt(String category, String name, int defaultId) { return this.CONFIG.get(category, name, defaultId).getInt(); } + private boolean getBoolean(String category, String name, boolean defaultId) { return this.CONFIG.get(category, name, defaultId).getBoolean(true); } diff --git a/src/main/java/com/teammetallurgy/atum/AtumCreativeTab.java b/src/main/java/com/teammetallurgy/atum/AtumCreativeTab.java index 3b0361e..55090f8 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumCreativeTab.java +++ b/src/main/java/com/teammetallurgy/atum/AtumCreativeTab.java @@ -1,10 +1,9 @@ package com.teammetallurgy.atum; +import com.teammetallurgy.atum.items.AtumItems; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; -import com.teammetallurgy.atum.items.AtumItems; - public class AtumCreativeTab extends CreativeTabs { public AtumCreativeTab() { diff --git a/src/main/java/com/teammetallurgy/atum/AtumEventListener.java b/src/main/java/com/teammetallurgy/atum/AtumEventListener.java index ffec42d..5b7e7b6 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumEventListener.java +++ b/src/main/java/com/teammetallurgy/atum/AtumEventListener.java @@ -1,7 +1,12 @@ package com.teammetallurgy.atum; -import java.util.Random; - +import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.BlockFlax; +import com.teammetallurgy.atum.blocks.BlockPalmSapling; +import com.teammetallurgy.atum.entity.*; +import com.teammetallurgy.atum.items.AtumItems; +import cpw.mods.fml.common.eventhandler.Event.Result; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraftforge.event.entity.living.LivingFallEvent; @@ -9,18 +14,7 @@ import net.minecraftforge.event.entity.player.BonemealEvent; import net.minecraftforge.event.entity.player.UseHoeEvent; -import com.teammetallurgy.atum.blocks.AtumBlocks; -import com.teammetallurgy.atum.blocks.BlockFlax; -import com.teammetallurgy.atum.blocks.BlockPalmSapling; -import com.teammetallurgy.atum.entity.EntityDustySkeleton; -import com.teammetallurgy.atum.entity.EntityGhost; -import com.teammetallurgy.atum.entity.EntityMummy; -import com.teammetallurgy.atum.entity.EntityPharaoh; -import com.teammetallurgy.atum.entity.EntityStoneSoldier; -import com.teammetallurgy.atum.items.AtumItems; - -import cpw.mods.fml.common.eventhandler.Event.Result; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import java.util.Random; public class AtumEventListener { @SubscribeEvent diff --git a/src/main/java/com/teammetallurgy/atum/AtumFish.java b/src/main/java/com/teammetallurgy/atum/AtumFish.java index 8c6ecb5..bb0c0dc 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumFish.java +++ b/src/main/java/com/teammetallurgy/atum/AtumFish.java @@ -1,10 +1,9 @@ package com.teammetallurgy.atum; +import com.teammetallurgy.atum.items.AtumItems; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; -import com.teammetallurgy.atum.items.AtumItems; - public class AtumFish { private static AtumWeightedLootSet fish; diff --git a/src/main/java/com/teammetallurgy/atum/AtumGuiHandler.java b/src/main/java/com/teammetallurgy/atum/AtumGuiHandler.java index f6a8c07..35cfa46 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumGuiHandler.java +++ b/src/main/java/com/teammetallurgy/atum/AtumGuiHandler.java @@ -1,13 +1,11 @@ package com.teammetallurgy.atum; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.world.World; - import com.teammetallurgy.atum.blocks.tileentity.furnace.ContainerLimestoneFurnace; import com.teammetallurgy.atum.blocks.tileentity.furnace.GuiLimestoneFurnace; import com.teammetallurgy.atum.blocks.tileentity.furnace.TileEntityLimestoneFurnace; - import cpw.mods.fml.common.network.IGuiHandler; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; public class AtumGuiHandler implements IGuiHandler { @@ -15,8 +13,8 @@ public class AtumGuiHandler implements IGuiHandler { public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { TileEntityLimestoneFurnace te = (TileEntityLimestoneFurnace) world.getTileEntity(x, y, z); - if(te != null) { - if(te instanceof TileEntityLimestoneFurnace) { + if (te != null) { + if (te instanceof TileEntityLimestoneFurnace) { return new ContainerLimestoneFurnace(player.inventory, te); } } @@ -27,8 +25,8 @@ public Object getServerGuiElement(int ID, EntityPlayer player, World world, int public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { TileEntityLimestoneFurnace te = (TileEntityLimestoneFurnace) world.getTileEntity(x, y, z); - if(te != null) { - if(te instanceof TileEntityLimestoneFurnace) { + if (te != null) { + if (te instanceof TileEntityLimestoneFurnace) { return new GuiLimestoneFurnace(player.inventory, te); } } diff --git a/src/main/java/com/teammetallurgy/atum/AtumIDS.java b/src/main/java/com/teammetallurgy/atum/AtumIDS.java index c3c6010..eab74b1 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumIDS.java +++ b/src/main/java/com/teammetallurgy/atum/AtumIDS.java @@ -4,6 +4,6 @@ public class AtumIDS { public static int DIMENSION_ID; public static int BIOME_DESERT_ID; - + public static boolean ALLOW_CREATION; } diff --git a/src/main/java/com/teammetallurgy/atum/AtumLoot.java b/src/main/java/com/teammetallurgy/atum/AtumLoot.java index de90f89..caa08bd 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumLoot.java +++ b/src/main/java/com/teammetallurgy/atum/AtumLoot.java @@ -1,16 +1,15 @@ package com.teammetallurgy.atum; -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - +import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.items.ItemLoot; import net.minecraft.init.Items; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; -import com.teammetallurgy.atum.blocks.AtumBlocks; -import com.teammetallurgy.atum.items.AtumItems; -import com.teammetallurgy.atum.items.ItemLoot; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; public enum AtumLoot { INSTANCE; @@ -19,6 +18,47 @@ public enum AtumLoot { public static AtumWeightedLootSet goodLoot; public static AtumWeightedLootSet junkLoot; + public static void addArtifact(ItemStack stack) { + artifacts.add(stack); + } + + public static ItemStack getRandomLoot() { + return artifacts.get(0); + } + + public static ItemStack getRandomArtifact() { + + int i = (new Random()).nextInt(artifacts.size()); + return artifacts.get(i).copy(); + } + + public static void fillChest(IInventory inventory, int multiplier, float quality) { + if (inventory == null) { + System.out.println("Error trying to fill empty chest"); + return; + } + + Random rand = new Random(); + for (int i = 0; i < multiplier; i++) { + int slot = rand.nextInt(inventory.getSizeInventory()); + float roll = rand.nextFloat(); + ItemStack stack = null; + if (rand.nextFloat() < quality) { + if (roll > 0.20) { + stack = goodLoot.getRandomLoot(); + } else if (roll > 0.005) { + stack = ItemLoot.getRandomLoot(rand, true); + } else { + int randomArtifactID = rand.nextInt(artifacts.size()); + stack = artifacts.get(randomArtifactID).copy(); + } + } else { + stack = junkLoot.getRandomLoot(); + } + inventory.setInventorySlotContents(slot, stack); + } + } + public void register() { artifacts = new ArrayList(); goodLoot = new AtumWeightedLootSet(); @@ -78,45 +118,4 @@ public void register() { stick.setStackDisplayName("Amazing Stick"); goodLoot.addLoot(stick, 1, 1, 1); } - - public static void addArtifact(ItemStack stack) { - artifacts.add(stack); - } - - public static ItemStack getRandomLoot() { - return artifacts.get(0); - } - - public static ItemStack getRandomArtifact() { - - int i = (new Random()).nextInt(artifacts.size()); - return artifacts.get(i).copy(); - } - - public static void fillChest(IInventory inventory, int multiplier, float quality) { - if(inventory == null) { - System.out.println("Error trying to fill empty chest"); - return; - } - - Random rand = new Random(); - for(int i = 0; i < multiplier; i++) { - int slot = rand.nextInt(inventory.getSizeInventory()); - float roll = rand.nextFloat(); - ItemStack stack = null; - if(rand.nextFloat() < quality) { - if(roll > 0.20) { - stack = goodLoot.getRandomLoot(); - } else if(roll > 0.005) { - stack = ItemLoot.getRandomLoot(rand, true); - } else { - int randomArtifactID = rand.nextInt(artifacts.size()); - stack = artifacts.get(randomArtifactID).copy(); - } - } else { - stack = junkLoot.getRandomLoot(); - } - inventory.setInventorySlotContents(slot, stack); - } - } } diff --git a/src/main/java/com/teammetallurgy/atum/AtumWeightedLootSet.java b/src/main/java/com/teammetallurgy/atum/AtumWeightedLootSet.java index 6e72b87..05801b3 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumWeightedLootSet.java +++ b/src/main/java/com/teammetallurgy/atum/AtumWeightedLootSet.java @@ -1,19 +1,14 @@ package com.teammetallurgy.atum; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; -import java.util.Random; -import java.util.Set; - import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentData; import net.minecraft.init.Items; -import net.minecraft.item.Item; import net.minecraft.item.ItemEnchantedBook; import net.minecraft.item.ItemStack; import net.minecraft.util.MathHelper; +import java.util.*; + public class AtumWeightedLootSet { public Map loot; public Map lootMin; @@ -28,7 +23,7 @@ public AtumWeightedLootSet() { } public void addLoot(ItemStack stack, int weight, int min, int max) { - if(weight <= 0 || stack == null) + if (weight <= 0 || stack == null) return; loot.put(totalWeight + weight, stack); @@ -47,14 +42,14 @@ public ItemStack getRandomLoot() { Integer[] keys = keySet.toArray(new Integer[keySet.size()]); Arrays.sort(keys); - for(Integer key : keys) { - if(key >= weight) { + for (Integer key : keys) { + if (key >= weight) { stack = loot.get(key).copy(); int min = lootMin.get(key); int max = lootMax.get(key); int amount = rand.nextInt(max - min + 1) + min; stack.stackSize = amount; - if(stack.getItem() == Items.enchanted_book) { + if (stack.getItem() == Items.enchanted_book) { Enchantment enchantment = Enchantment.enchantmentsBookList[rand.nextInt(Enchantment.enchantmentsBookList.length)]; int l = MathHelper.getRandomIntegerInRange(rand, enchantment.getMinLevel(), enchantment.getMaxLevel()); ((ItemEnchantedBook) stack.getItem()).addEnchantment(stack, new EnchantmentData(enchantment, l)); diff --git a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java index 00ab1f8..602be15 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java @@ -1,22 +1,17 @@ package com.teammetallurgy.atum.blocks; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraftforge.common.ForgeHooks; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.oredict.OreDictionary; - import com.teammetallurgy.atum.Atum; -import com.teammetallurgy.atum.AtumIDS; import com.teammetallurgy.atum.blocks.tileentity.TileEntityBurningTrap; import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityChestSpawner; import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityPharaohChest; import com.teammetallurgy.atum.blocks.tileentity.furnace.TileEntityLimestoneFurnace; - import cpw.mods.fml.common.registry.GameRegistry; +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraftforge.common.ForgeHooks; +import net.minecraftforge.oredict.OreDictionary; public enum AtumBlocks { INSTANCE; @@ -25,6 +20,7 @@ public enum AtumBlocks { public static final Block BLOCK_CURSEDCHEST = new BlockChestSpawner(); public static final Block BLOCK_SAND = new BlockSands(); public static final Block BLOCK_STONE = new BlockStones(); + public static final Block BLOCK_WALL = new BlockWalls(BLOCK_STONE); public static final Block BLOCK_LIMESTONECOBBLE = new BlockAtum("cobble").setBlockTextureName("atum:AtumCobble"); public static final Block BLOCK_LARGEBRICK = new BlockAtum("largeBrick").setBlockTextureName("atum:AtumBrickLarge"); public static final Block BLOCK_SMALLBRICK = new BlockAtum("smallBrick").setBlockTextureName("atum:AtumBrickSmall"); @@ -37,7 +33,6 @@ public enum AtumBlocks { public static final Block BLOCK_SMALLSTONESTAIRS = new BlockAtumStairs(BLOCK_SMALLBRICK, 0).setBlockName("smallStairs"); public static final Block BLOCK_SANDLAYERED = new BlockSandLayered(); public static final Block BLOCK_CRACKEDLARGEBRICK = new BlockAtum("crackedLargeBrick").setBlockTextureName("atum:AtumCrackedLargeBrick"); - public static final Block BLOCK_WALL = new BlockWalls(BLOCK_STONE); public static final Block BLOCK_CRYSTALGLASS = new BlockAtumGlass("atum:AtumCrystalGlass").setBlockName("crystalGlass"); public static final Block BLOCK_FRAMEDGLASS = new BlockAtumGlass("atum:AtumFramedGlass").setBlockName("framedGlass"); public static final Block BLOCK_PALMSAPLING = new BlockPalmSapling(); @@ -113,11 +108,11 @@ public void registerBlocks() { BLOCK_LAPISORE.setHarvestLevel("pickaxe", 1); BLOCK_DIAMONDORE.setHarvestLevel("pickaxe", 2); BLOCK_REDSTONEORE.setHarvestLevel("pickaxe", 2); - + Blocks.fire.setFireInfo(BLOCK_PLANKS, 5, 20); Blocks.fire.setFireInfo(BLOCK_LEAVES, 30, 60); Blocks.fire.setFireInfo(BLOCK_LOG, 5, 5); - + GameRegistry.registerTileEntity(TileEntityChestSpawner.class, "CursedChest"); GameRegistry.registerTileEntity(TileEntityPharaohChest.class, "PharaohChest"); GameRegistry.registerTileEntity(TileEntityBurningTrap.class, "BurningTrap"); diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtum.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtum.java index 5ebcff8..28a8de3 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtum.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtum.java @@ -1,12 +1,7 @@ package com.teammetallurgy.atum.blocks; -import java.util.Random; - import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.world.World; public class BlockAtum extends Block { diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumGlass.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumGlass.java index ecb95f5..5f9f1de 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumGlass.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumGlass.java @@ -1,12 +1,12 @@ package com.teammetallurgy.atum.blocks; -import java.util.Random; - +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.BlockBreakable; import net.minecraft.block.material.Material; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; + +import java.util.Random; public class BlockAtumGlass extends BlockBreakable { diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumOres.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumOres.java index 06235d1..6455d6a 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumOres.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumOres.java @@ -1,14 +1,12 @@ package com.teammetallurgy.atum.blocks; -import java.util.Random; - import net.minecraft.block.Block; import net.minecraft.block.BlockOre; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.util.MathHelper; -import com.teammetallurgy.atum.world.AtumWorlds; +import java.util.Random; public class BlockAtumOres extends BlockOre { diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java index 1ae96bf..41e7d6d 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java @@ -1,7 +1,7 @@ package com.teammetallurgy.atum.blocks; -import java.util.Random; - +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.entity.Entity; @@ -10,8 +10,8 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; + +import java.util.Random; public class BlockAtumRedstone extends Block { @@ -47,7 +47,7 @@ public boolean onBlockActivated(World par1World, int par2, int par3, int par4, E private void glow(World par1World, int par2, int par3, int par4) { this.sparkle(par1World, par2, par3, par4); Block meta = par1World.getBlock(par2, par3, par4); - if(meta != Blocks.stone) { + if (meta != Blocks.stone) { par1World.setBlockMetadataWithNotify(par2, par3, par4, 1, 2); } @@ -56,7 +56,7 @@ private void glow(World par1World, int par2, int par3, int par4) { @Override public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { int meta = par1World.getBlockMetadata(par2, par3, par4); - if(meta == 1) { + if (meta == 1) { par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 2); } @@ -66,7 +66,7 @@ public void updateTick(World par1World, int par2, int par3, int par4, Random par @SideOnly(Side.CLIENT) public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { int meta = par1World.getBlockMetadata(par2, par3, par4); - if(meta == 1) { + if (meta == 1) { this.sparkle(par1World, par2, par3, par4); } @@ -76,35 +76,35 @@ private void sparkle(World par1World, int par2, int par3, int par4) { Random random = par1World.rand; double d0 = 0.0625D; - for(int l = 0; l < 6; ++l) { + for (int l = 0; l < 6; ++l) { double d1 = (double) ((float) par2 + random.nextFloat()); double d2 = (double) ((float) par3 + random.nextFloat()); double d3 = (double) ((float) par4 + random.nextFloat()); - if(l == 0 && !par1World.getBlock(par2, par3 + 1, par4).isOpaqueCube()) { + if (l == 0 && !par1World.getBlock(par2, par3 + 1, par4).isOpaqueCube()) { d2 = (double) (par3 + 1) + d0; } - if(l == 1 && !par1World.getBlock(par2, par3 - 1, par4).isOpaqueCube()) { + if (l == 1 && !par1World.getBlock(par2, par3 - 1, par4).isOpaqueCube()) { d2 = (double) (par3 + 0) - d0; } - if(l == 2 && !par1World.getBlock(par2, par3, par4 + 1).isOpaqueCube()) { + if (l == 2 && !par1World.getBlock(par2, par3, par4 + 1).isOpaqueCube()) { d3 = (double) (par4 + 1) + d0; } - if(l == 3 && !par1World.getBlock(par2, par3, par4 - 1).isOpaqueCube()) { + if (l == 3 && !par1World.getBlock(par2, par3, par4 - 1).isOpaqueCube()) { d3 = (double) (par4 + 0) - d0; } - if(l == 4 && !par1World.getBlock(par2 + 1, par3, par4).isOpaqueCube()) { + if (l == 4 && !par1World.getBlock(par2 + 1, par3, par4).isOpaqueCube()) { d1 = (double) (par2 + 1) + d0; } - if(l == 5 && !par1World.getBlock(par2 - 1, par3, par4).isOpaqueCube()) { + if (l == 5 && !par1World.getBlock(par2 - 1, par3, par4).isOpaqueCube()) { d1 = (double) (par2 + 0) - d0; } - if(d1 < (double) par2 || d1 > (double) (par2 + 1) || d2 < 0.0D || d2 > (double) (par3 + 1) || d3 < (double) par4 || d3 > (double) (par4 + 1)) { + if (d1 < (double) par2 || d1 > (double) (par2 + 1) || d2 < 0.0D || d2 > (double) (par3 + 1) || d3 < (double) par4 || d3 > (double) (par4 + 1)) { par1World.spawnParticle("reddust", d1, d2, d3, 0.0D, 0.0D, 0.0D); } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumSlab.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumSlab.java index ef1d0df..db2ab5d 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumSlab.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumSlab.java @@ -1,8 +1,8 @@ package com.teammetallurgy.atum.blocks; -import java.util.List; -import java.util.Random; - +import com.teammetallurgy.atum.Atum; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.BlockSlab; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -11,13 +11,10 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; -import com.teammetallurgy.atum.Atum; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class BlockAtumSlab extends BlockSlab { - public static final String[] slabType = { "smooth", "cracked", "largeBrick", "smallBrick" }; + public static final String[] slabType = {"smooth", "cracked", "largeBrick", "smallBrick"}; public BlockAtumSlab(boolean par2) { super(par2, Material.rock); diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockBurningTrap.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockBurningTrap.java index 1f905e5..5a73098 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockBurningTrap.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockBurningTrap.java @@ -1,7 +1,8 @@ package com.teammetallurgy.atum.blocks; -import java.util.Random; - +import com.teammetallurgy.atum.blocks.tileentity.TileEntityBurningTrap; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.BlockPistonBase; @@ -19,10 +20,7 @@ import net.minecraft.util.RegistryDefaulted; import net.minecraft.world.World; -import com.teammetallurgy.atum.blocks.tileentity.TileEntityBurningTrap; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.Random; public class BlockBurningTrap extends BlockContainer { @@ -38,6 +36,10 @@ public BlockBurningTrap() { this.setHardness(-1.0F); } + public static EnumFacing getFacing(int par0) { + return EnumFacing.getFront(par0 & 7); + } + @Override public float getBlockHardness(World par1World, int par2, int par3, int par4) { return par1World.getBlock(par2, par3 + 1, par4) == AtumBlocks.BLOCK_LARGEBRICK && par1World.getBlockMetadata(par2, par3 + 1, par4) == 1 ? -1.0F : super.blockHardness; @@ -134,10 +136,6 @@ public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, Entit par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); } - public static EnumFacing getFacing(int par0) { - return EnumFacing.getFront(par0 & 7); - } - @Override public TileEntity createNewTileEntity(World var1, int var2) { return new TileEntityBurningTrap(); diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java index 983dacb..050a513 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java @@ -1,10 +1,9 @@ package com.teammetallurgy.atum.blocks; -import java.util.Iterator; -import java.util.Random; - +import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityChestSpawner; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; -import net.minecraft.block.BlockChest; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -23,19 +22,30 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityChestSpawner; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.Iterator; +import java.util.Random; public class BlockChestSpawner extends BlockContainer { - protected BlockChestSpawner() { + protected BlockChestSpawner() { super(Material.wood); this.setBlockName("chestSpawner"); this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); } + public static boolean isOcelotBlockingChest(World par0World, int par1, int par2, int par3) { + Iterator iterator = par0World.getEntitiesWithinAABB(EntityOcelot.class, AxisAlignedBB.getBoundingBox((double) par1, (double) (par2 + 1), (double) par3, (double) (par1 + 1), (double) (par2 + 2), (double) (par3 + 1))).iterator(); + + while (iterator.hasNext()) { + EntityOcelot entityocelot1 = (EntityOcelot) iterator.next(); + if (entityocelot1.isSitting()) { + return true; + } + } + + return false; + } + @Override public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { return Item.getItemFromBlock(Blocks.chest); @@ -166,19 +176,6 @@ public int isProvidingStrongPower(IBlockAccess par1IBlockAccess, int par2, int p return par5 == 1 ? this.isProvidingWeakPower(par1IBlockAccess, par2, par3, par4, par5) : 0; } - public static boolean isOcelotBlockingChest(World par0World, int par1, int par2, int par3) { - Iterator iterator = par0World.getEntitiesWithinAABB(EntityOcelot.class, AxisAlignedBB.getBoundingBox((double) par1, (double) (par2 + 1), (double) par3, (double) (par1 + 1), (double) (par2 + 2), (double) (par3 + 1))).iterator(); - - while (iterator.hasNext()) { - EntityOcelot entityocelot1 = (EntityOcelot) iterator.next(); - if (entityocelot1.isSitting()) { - return true; - } - } - - return false; - } - @Override public boolean hasComparatorInputOverride() { return true; diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java index 56c4dad..425da28 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java @@ -1,7 +1,9 @@ package com.teammetallurgy.atum.blocks; -import java.util.Random; - +import com.teammetallurgy.atum.items.AtumItems; +import cpw.mods.fml.client.registry.RenderingRegistry; +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; @@ -11,11 +13,7 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.AtumItems; - -import cpw.mods.fml.client.registry.RenderingRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.Random; public class BlockDate extends Block { diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java index 8cf053c..884609b 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java @@ -1,7 +1,7 @@ package com.teammetallurgy.atum.blocks; -import java.util.Random; - +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.BlockFarmland; import net.minecraft.block.BlockFlower; @@ -15,8 +15,8 @@ import net.minecraftforge.common.EnumPlantType; import net.minecraftforge.common.IPlantable; import net.minecraftforge.common.util.ForgeDirection; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; + +import java.util.Random; public class BlockFertileSoil extends BlockFarmland { @SideOnly(Side.CLIENT) @@ -74,22 +74,22 @@ public boolean canSustainPlant(IBlockAccess world, int x, int y, int z, ForgeDir } switch (plantType.ordinal()) { - case 1: - return false; - case 2: - return false; - case 3: - return false; - case 4: - return isSideSolid(world, x, y, z, ForgeDirection.UP); - case 5: - return true; - case 6: - return false; - case 7: - boolean hasWater = (world.getBlock(x - 1, y, z).getMaterial() == Material.water) || (world.getBlock(x + 1, y, z).getMaterial() == Material.water) || (world.getBlock(x, y, z - 1).getMaterial() == Material.water) || (world.getBlock(x, y, z + 1).getMaterial() == Material.water); - - return hasWater; + case 1: + return false; + case 2: + return false; + case 3: + return false; + case 4: + return isSideSolid(world, x, y, z, ForgeDirection.UP); + case 5: + return true; + case 6: + return false; + case 7: + boolean hasWater = (world.getBlock(x - 1, y, z).getMaterial() == Material.water) || (world.getBlock(x + 1, y, z).getMaterial() == Material.water) || (world.getBlock(x, y, z - 1).getMaterial() == Material.water) || (world.getBlock(x, y, z + 1).getMaterial() == Material.water); + + return hasWater; } return false; diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java index cf75580..654cdc6 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java @@ -1,7 +1,7 @@ package com.teammetallurgy.atum.blocks; -import java.util.Random; - +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -18,8 +18,8 @@ import net.minecraftforge.common.EnumPlantType; import net.minecraftforge.common.IPlantable; import net.minecraftforge.common.util.ForgeDirection; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; + +import java.util.Random; public class BlockFertileSoilTilled extends Block { @SideOnly(Side.CLIENT) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java index eda0284..ff0b48b 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java @@ -1,8 +1,8 @@ package com.teammetallurgy.atum.blocks; -import java.util.ArrayList; -import java.util.Random; - +import com.teammetallurgy.atum.items.AtumItems; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.BlockBush; import net.minecraft.client.renderer.texture.IIconRegister; @@ -18,10 +18,8 @@ import net.minecraftforge.common.EnumPlantType; import net.minecraftforge.common.util.ForgeDirection; -import com.teammetallurgy.atum.items.AtumItems; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.ArrayList; +import java.util.Random; public class BlockFlax extends BlockBush { @SideOnly(Side.CLIENT) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockLeave.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockLeave.java index f8491c0..956e85f 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockLeave.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockLeave.java @@ -1,8 +1,7 @@ package com.teammetallurgy.atum.blocks; -import java.util.ArrayList; -import java.util.Random; - +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.BlockLeavesBase; import net.minecraft.block.material.Material; @@ -16,8 +15,9 @@ import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.common.IShearable; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; + +import java.util.ArrayList; +import java.util.Random; public class BlockLeave extends BlockLeavesBase implements IShearable { int[] adjacentTreeBlocks; diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java index 607e7c8..b43f2b0 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java @@ -1,7 +1,9 @@ package com.teammetallurgy.atum.blocks; -import java.util.Random; - +import com.teammetallurgy.atum.Atum; +import com.teammetallurgy.atum.blocks.tileentity.furnace.TileEntityLimestoneFurnace; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; @@ -19,29 +21,25 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import com.teammetallurgy.atum.Atum; -import com.teammetallurgy.atum.blocks.tileentity.furnace.TileEntityLimestoneFurnace; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.Random; public class BlockLimeStoneFurnace extends BlockContainer { + /** + * This flag is used to prevent the furnace inventory to be dropped upon + * block removal, is used internally when the furnace block changes from + * idle to active and vice-versa. + */ + private static boolean keepFurnaceInventory = false; /** * Is the random generator used by furnace to drop the inventory contents in * random directions. */ private final Random furnaceRand = new Random(); - - /** True if this is an active furnace, false if idle */ - private final boolean isActive; - /** - * This flag is used to prevent the furnace inventory to be dropped upon - * block removal, is used internally when the furnace block changes from - * idle to active and vice-versa. + * True if this is an active furnace, false if idle */ - private static boolean keepFurnaceInventory = false; + private final boolean isActive; @SideOnly(Side.CLIENT) private IIcon field_94458_cO; @SideOnly(Side.CLIENT) @@ -52,6 +50,30 @@ public BlockLimeStoneFurnace(boolean par2) { isActive = par2; } + /** + * Update which block ID the furnace is using depending on whether or not it + * is burning + */ + public static void updateFurnaceBlockState(boolean par0, World par1World, int par2, int par3, int par4) { + int l = par1World.getBlockMetadata(par2, par3, par4); + TileEntity tileentity = par1World.getTileEntity(par2, par3, par4); + keepFurnaceInventory = true; + + if (par0) { + par1World.setBlock(par2, par3, par4, AtumBlocks.BLOCK_FURNACEBURNING); + } else { + par1World.setBlock(par2, par3, par4, AtumBlocks.BLOCK_FURNACEIDLE); + } + + keepFurnaceInventory = false; + par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); + + if (tileentity != null) { + tileentity.validate(); + par1World.setTileEntity(par2, par3, par4, tileentity); + } + } + @Override public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { return Item.getItemFromBlock(AtumBlocks.BLOCK_FURNACEIDLE); @@ -139,30 +161,6 @@ public boolean onBlockActivated(World par1World, int par2, int par3, int par4, E } } - /** - * Update which block ID the furnace is using depending on whether or not it - * is burning - */ - public static void updateFurnaceBlockState(boolean par0, World par1World, int par2, int par3, int par4) { - int l = par1World.getBlockMetadata(par2, par3, par4); - TileEntity tileentity = par1World.getTileEntity(par2, par3, par4); - keepFurnaceInventory = true; - - if (par0) { - par1World.setBlock(par2, par3, par4, AtumBlocks.BLOCK_FURNACEBURNING); - } else { - par1World.setBlock(par2, par3, par4, AtumBlocks.BLOCK_FURNACEIDLE); - } - - keepFurnaceInventory = false; - par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); - - if (tileentity != null) { - tileentity.validate(); - par1World.setTileEntity(par2, par3, par4, tileentity); - } - } - @SideOnly(Side.CLIENT) /** * A randomly called display update to be able to add particles or other items for display diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmLog.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmLog.java index 52827ac..dae2e17 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmLog.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmLog.java @@ -1,16 +1,15 @@ package com.teammetallurgy.atum.blocks; -import java.util.Random; - +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.init.Blocks; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; + +import java.util.Random; public class BlockPalmLog extends Block { @@ -58,17 +57,17 @@ public int onBlockPlaced(World par1World, int par2, int par3, int par4, int par5 int j1 = par9 & 3; byte b0 = 0; switch (par5) { - case 0: - case 1: - b0 = 0; - break; - case 2: - case 3: - b0 = 8; - break; - case 4: - case 5: - b0 = 4; + case 0: + case 1: + b0 = 0; + break; + case 2: + case 3: + b0 = 8; + break; + case 4: + case 5: + b0 = 4; } return j1 | b0; diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmSapling.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmSapling.java index c73eb8f..777abba 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmSapling.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmSapling.java @@ -1,13 +1,13 @@ package com.teammetallurgy.atum.blocks; -import java.util.Random; - import net.minecraft.block.Block; import net.minecraft.block.BlockBush; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.init.Blocks; import net.minecraft.world.World; +import java.util.Random; + public class BlockPalmSapling extends BlockBush { protected BlockPalmSapling() { diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPapyrus.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPapyrus.java index 070efc5..f188d43 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockPapyrus.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPapyrus.java @@ -1,7 +1,9 @@ package com.teammetallurgy.atum.blocks; -import java.util.Random; - +import com.teammetallurgy.atum.items.AtumItems; +import cpw.mods.fml.client.registry.RenderingRegistry; +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; @@ -16,16 +18,12 @@ import net.minecraftforge.common.IPlantable; import net.minecraftforge.common.util.ForgeDirection; -import com.teammetallurgy.atum.items.AtumItems; - -import cpw.mods.fml.client.registry.RenderingRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.Random; public class BlockPapyrus extends Block implements IPlantable { + public int renderID = RenderingRegistry.getNextAvailableRenderId(); IIcon iconPapyrus; IIcon iconPapyrusTop; - public int renderID = RenderingRegistry.getNextAvailableRenderId(); public BlockPapyrus() { super(Material.plants); @@ -124,7 +122,7 @@ public boolean canSustainPlant(IBlockAccess world, int x, int y, int z, ForgeDir } else if (plantType != EnumPlantType.Beach) { return false; } else { - boolean isBeach = this == Blocks.dirt || (Block)this == Blocks.sand; + boolean isBeach = this == Blocks.dirt || (Block) this == Blocks.sand; boolean hasWater = world.getBlock(x - 1, y, z).getMaterial() == Material.water || world.getBlock(x + 1, y, z).getMaterial() == Material.water || world.getBlock(x, y, z - 1).getMaterial() == Material.water || world.getBlock(x, y, z + 1).getMaterial() == Material.water; return isBeach && hasWater; } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java index 9a98ddd..064f9ba 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java @@ -1,8 +1,9 @@ package com.teammetallurgy.atum.blocks; -import java.util.Iterator; -import java.util.Random; - +import com.teammetallurgy.atum.AtumLoot; +import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityPharaohChest; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; @@ -22,11 +23,8 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import com.teammetallurgy.atum.AtumLoot; -import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityPharaohChest; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.Iterator; +import java.util.Random; public class BlockPharaohChest extends BlockContainer { @@ -37,6 +35,19 @@ protected BlockPharaohChest() { this.setHardness(4.0F); } + public static boolean isOcelotBlockingChest(World par0World, int par1, int par2, int par3) { + Iterator iterator = par0World.getEntitiesWithinAABB(EntityOcelot.class, AxisAlignedBB.getBoundingBox((double) par1, (double) (par2 + 1), (double) par3, (double) (par1 + 1), (double) (par2 + 2), (double) (par3 + 1))).iterator(); + + while (iterator.hasNext()) { + EntityOcelot entityocelot1 = (EntityOcelot) iterator.next(); + if (entityocelot1.isSitting()) { + return true; + } + } + + return false; + } + @Override public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { return Item.getItemFromBlock(Blocks.chest); @@ -168,19 +179,6 @@ public int isProvidingStrongPower(IBlockAccess par1IBlockAccess, int par2, int p return par5 == 1 ? this.isProvidingWeakPower(par1IBlockAccess, par2, par3, par4, par5) : 0; } - public static boolean isOcelotBlockingChest(World par0World, int par1, int par2, int par3) { - Iterator iterator = par0World.getEntitiesWithinAABB(EntityOcelot.class, AxisAlignedBB.getBoundingBox((double) par1, (double) (par2 + 1), (double) par3, (double) (par1 + 1), (double) (par2 + 2), (double) (par3 + 1))).iterator(); - - while (iterator.hasNext()) { - EntityOcelot entityocelot1 = (EntityOcelot) iterator.next(); - if (entityocelot1.isSitting()) { - return true; - } - } - - return false; - } - @Override public boolean hasComparatorInputOverride() { return true; diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java index f4af101..a227bc6 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java @@ -1,8 +1,11 @@ package com.teammetallurgy.atum.blocks; -import java.util.Random; - +import com.teammetallurgy.atum.AtumIDS; import com.teammetallurgy.atum.lib.tickhandler.ClientEvents; +import com.teammetallurgy.atum.world.AtumTeleporter; +import cpw.mods.fml.common.ObfuscationReflectionHelper; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.BlockBreakable; import net.minecraft.block.material.Material; @@ -17,12 +20,7 @@ import net.minecraft.world.World; import net.minecraft.world.WorldServer; -import com.teammetallurgy.atum.AtumIDS; -import com.teammetallurgy.atum.world.AtumTeleporter; - -import cpw.mods.fml.common.ObfuscationReflectionHelper; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.Random; public class BlockPortal extends BlockBreakable { @@ -134,9 +132,9 @@ public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int p try { EntityPlayerMP e = (EntityPlayerMP) player; - ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[] { "lastExperience", "cp", "field_71144_ck" }); - ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[] { "lastHealth", "cm", "field_71149_ch" }); - ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[] { "lastFoodLevel", "cn", "field_71146_ci" }); + ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[]{"lastExperience", "cp", "field_71144_ck"}); + ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[]{"lastHealth", "cm", "field_71149_ch"}); + ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[]{"lastFoodLevel", "cn", "field_71146_ci"}); } catch (Exception var12) { var12.printStackTrace(); } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockSandLayered.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockSandLayered.java index f7f3d25..c966392 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockSandLayered.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockSandLayered.java @@ -1,7 +1,7 @@ package com.teammetallurgy.atum.blocks; -import java.util.Random; - +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -11,8 +11,8 @@ import net.minecraft.world.EnumSkyBlock; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; + +import java.util.Random; public class BlockSandLayered extends Block { diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockSands.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockSands.java index b9fdb83..60fa769 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockSands.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockSands.java @@ -1,7 +1,6 @@ package com.teammetallurgy.atum.blocks; import net.minecraft.block.Block; -import net.minecraft.block.BlockSand; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockShrub.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockShrub.java index afa4549..4778844 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockShrub.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockShrub.java @@ -1,16 +1,15 @@ package com.teammetallurgy.atum.blocks; -import java.util.Random; - import net.minecraft.block.Block; import net.minecraft.block.BlockDeadBush; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.stats.StatList; import net.minecraft.world.World; +import java.util.Random; + public class BlockShrub extends BlockDeadBush { protected BlockShrub() { @@ -18,7 +17,7 @@ protected BlockShrub() { this.setHardness(0.0F); this.setStepSound(Block.soundTypeGrass); } - + @Override public boolean canPlaceBlockOn(Block par1) { return par1 == AtumBlocks.BLOCK_SAND; @@ -31,7 +30,7 @@ public Item getItemDropped(int par1, Random par2Random, int par3) { @Override public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6) { - if(!par1World.isRemote && par2EntityPlayer.getCurrentEquippedItem() != null && par2EntityPlayer.getCurrentEquippedItem().getItem() == Items.shears) { + if (!par1World.isRemote && par2EntityPlayer.getCurrentEquippedItem() != null && par2EntityPlayer.getCurrentEquippedItem().getItem() == Items.shears) { //par2EntityPlayer.addStat(StatList.mineBlockStatArray[this], 1); this.dropBlockAsItem(par1World, par3, par4, par5, new ItemStack(AtumBlocks.BLOCK_SHRUB, 1, par6)); } else { diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockStones.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockStones.java index b1c77f1..913b269 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockStones.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockStones.java @@ -1,12 +1,12 @@ package com.teammetallurgy.atum.blocks; -import java.util.Random; - import net.minecraft.block.Block; import net.minecraft.block.BlockStone; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.Item; +import java.util.Random; + public class BlockStones extends BlockStone { public BlockStones() { diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockWalls.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockWalls.java index 42221c1..6236ce3 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockWalls.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockWalls.java @@ -1,7 +1,8 @@ package com.teammetallurgy.atum.blocks; -import java.util.List; - +import com.teammetallurgy.atum.Atum; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.BlockWall; import net.minecraft.client.renderer.texture.IIconRegister; @@ -9,13 +10,8 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import com.teammetallurgy.atum.Atum; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class BlockWalls extends BlockWall { @SideOnly(Side.CLIENT) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockSlab.java b/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockSlab.java index 5336648..5222056 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockSlab.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockSlab.java @@ -5,7 +5,7 @@ import net.minecraft.item.ItemStack; public class ItemBlockSlab extends ItemBlock { - public static final String[] types = { "smooth", "cracked", "largeBrick", "smallBrick" }; + public static final String[] types = {"smooth", "cracked", "largeBrick", "smallBrick"}; public ItemBlockSlab(Block block) { super(block); diff --git a/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockWall.java b/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockWall.java index 19bcf11..fb4da89 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockWall.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockWall.java @@ -5,7 +5,7 @@ import net.minecraft.item.ItemStack; public class ItemBlockWall extends ItemBlock { - public static final String[] types = { "smooth", "cracked", "largeBrick", "smallBrick" }; + public static final String[] types = {"smooth", "cracked", "largeBrick", "smallBrick"}; public ItemBlockWall(Block block) { super(block); diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java index 97db126..4e6073e 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java @@ -1,9 +1,5 @@ package com.teammetallurgy.atum.blocks.tileentity; -import java.util.Iterator; -import java.util.List; -import java.util.Random; - import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.monster.EntityMob; @@ -14,11 +10,15 @@ import net.minecraft.util.EnumFacing; import net.minecraft.util.Vec3; +import java.util.Iterator; +import java.util.List; +import java.util.Random; + public class TileEntityBurningTrap extends TileEntity { + protected String field_94050_c; private ItemStack[] dispenserContents = new ItemStack[9]; private Random dispenserRandom = new Random(); - protected String field_94050_c; @Override public void updateEntity() { @@ -39,16 +39,16 @@ public void updateEntity() { zMax += facing.getFrontOffsetZ() * range; AxisAlignedBB bb = AxisAlignedBB.getBoundingBox((double) xMin, (double) yMin, (double) zMin, (double) xMax, (double) yMax, (double) zMax); List list = super.worldObj.getEntitiesWithinAABB(EntityMob.class, bb); - if(p != null && bb.isVecInside(Vec3.createVectorHelper(p.posX, p.posY + 0.5D, p.posZ))) { + if (p != null && bb.isVecInside(Vec3.createVectorHelper(p.posX, p.posY + 0.5D, p.posZ))) { p.setFire(2); this.spawnFlames(); } Iterator i = list.iterator(); - while(i.hasNext()) { + while (i.hasNext()) { Entity e = (Entity) i.next(); - if(e instanceof EntityLiving) { + if (e instanceof EntityLiving) { e.setFire(2); } } @@ -66,16 +66,16 @@ public void spawnFlames() { double mx = par5Random.nextDouble() * 0.08D - 0.04D; double my = par5Random.nextDouble() * 0.08D - 0.04D; double mz = par5Random.nextDouble() * 0.08D - 0.04D; - if(l == 4) { + if (l == 4) { super.worldObj.spawnParticle("smoke", (double) (f - f3), (double) f1, (double) (f2 + f4), mx - 0.1D, my, mz); super.worldObj.spawnParticle("flame", (double) (f - f3), (double) f1, (double) (f2 + f4), mx - 0.1D, my, mz); - } else if(l == 5) { + } else if (l == 5) { super.worldObj.spawnParticle("smoke", (double) (f + f3), (double) f1, (double) (f2 + f4), mx + 0.1D, my, mz); super.worldObj.spawnParticle("flame", (double) (f + f3), (double) f1, (double) (f2 + f4), mx + 0.1D, my, mz); - } else if(l == 2) { + } else if (l == 2) { super.worldObj.spawnParticle("smoke", (double) (f + f4), (double) f1, (double) (f2 - f3), mx, my, mz - 0.1D); super.worldObj.spawnParticle("flame", (double) (f + f4), (double) f1, (double) (f2 - f3), mx, my, mz - 0.1D); - } else if(l == 3) { + } else if (l == 3) { super.worldObj.spawnParticle("smoke", (double) (f + f4), (double) f1, (double) (f2 + f3), mx, my, mz + 0.1D); super.worldObj.spawnParticle("flame", (double) (f + f4), (double) f1, (double) (f2 + f3), mx, my, mz + 0.1D); } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java index 1325624..80f81e2 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java @@ -1,14 +1,8 @@ package com.teammetallurgy.atum.blocks.tileentity.chests; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityList; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IEntityLivingData; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.*; import net.minecraft.nbt.NBTBase; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; @@ -16,33 +10,41 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.WeightedRandom; import net.minecraft.world.World; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; public abstract class CursedChestBaseLogic extends MobSpawnerBaseLogic { - /** The delay to spawn. */ + /** + * The delay to spawn. + */ public int spawnDelay = 20; - private String entityTypeName = "Pig"; - - /** List of minecart to spawn. */ - private List minecartToSpawn; - private WeightedRandomMinecart randomMinecart; public double field_98287_c; public double field_98284_d; public int minSpawnDelay = 200; public int maxSpawnDelay = 800; - - /** A counter for spawn tries. */ + /** + * A counter for spawn tries. + */ public int spawnCount = 4; + /** + * The range coefficient for spawning entities around. + */ + public int spawnRange = 4; + private String entityTypeName = "Pig"; + /** + * List of minecart to spawn. + */ + private List minecartToSpawn; + private WeightedRandomMinecart randomMinecart; private Entity field_98291_j; private int maxNearbyEntities = 6; - - /** The distance from which a player activates the spawner. */ + /** + * The distance from which a player activates the spawner. + */ private int activatingRangeFromPlayer = 16; - /** The range coefficient for spawning entities around. */ - public int spawnRange = 4; - /** * Gets the entity name that should be spawned. */ diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java index 90b705b..040265e 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java @@ -1,7 +1,6 @@ package com.teammetallurgy.atum.blocks.tileentity.chests; import com.teammetallurgy.atum.blocks.BlockChestSpawner; -import net.minecraft.block.Block; import net.minecraft.block.BlockChest; import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.player.EntityPlayer; @@ -22,10 +21,10 @@ public class TileEntityChestSpawner extends TileEntityChest implements IInventory { private final CursedChestSpawnerLogic chestSpawner = new CursedChestSpawnerLogic(this); - private ItemStack[] chestContents = new ItemStack[36]; public float f; public float g; public int h; + private ItemStack[] chestContents = new ItemStack[36]; private int ticksSinceSync; private int field_94046_i = -1; private String field_94045_s; @@ -216,97 +215,81 @@ public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { @Override public void updateEntity() { this.chestSpawner.updateSpawner(); - ++this.ticksSinceSync; - float f; - - if (!this.worldObj.isRemote && this.numPlayersUsing != 0 && (this.ticksSinceSync + this.xCoord + this.yCoord + this.zCoord) % 200 == 0) - { - this.numPlayersUsing = 0; - f = 5.0F; - List list = this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox((double)((float)this.xCoord - f), (double)((float)this.yCoord - f), (double)((float)this.zCoord - f), (double)((float)(this.xCoord + 1) + f), (double)((float)(this.yCoord + 1) + f), (double)((float)(this.zCoord + 1) + f))); - Iterator iterator = list.iterator(); - - while (iterator.hasNext()) - { - EntityPlayer entityplayer = (EntityPlayer)iterator.next(); - - if (entityplayer.openContainer instanceof ContainerChest) - { - IInventory iinventory = ((ContainerChest)entityplayer.openContainer).getLowerChestInventory(); - - if (iinventory == this || iinventory instanceof InventoryLargeChest && ((InventoryLargeChest)iinventory).isPartOfLargeChest(this)) - { - ++this.numPlayersUsing; - } - } - } - } - - this.prevLidAngle = this.lidAngle; - f = 0.1F; - double d2; - - if (this.numPlayersUsing > 0 && this.lidAngle == 0.0F && this.adjacentChestZNeg == null && this.adjacentChestXNeg == null) - { - double d1 = (double)this.xCoord + 0.5D; - d2 = (double)this.zCoord + 0.5D; - - if (this.adjacentChestZPos != null) - { - d2 += 0.5D; - } - - if (this.adjacentChestXPos != null) - { - d1 += 0.5D; - } - - this.worldObj.playSoundEffect(d1, (double)this.yCoord + 0.5D, d2, "random.chestopen", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); - } - - if (this.numPlayersUsing == 0 && this.lidAngle > 0.0F || this.numPlayersUsing > 0 && this.lidAngle < 1.0F) - { - float f1 = this.lidAngle; - - if (this.numPlayersUsing > 0) - { - this.lidAngle += f; - } - else - { - this.lidAngle -= f; - } - - if (this.lidAngle > 1.0F) - { - this.lidAngle = 1.0F; - } - - float f2 = 0.5F; - - if (this.lidAngle < f2 && f1 >= f2 && this.adjacentChestZNeg == null && this.adjacentChestXNeg == null) - { - d2 = (double)this.xCoord + 0.5D; - double d0 = (double)this.zCoord + 0.5D; - - if (this.adjacentChestZPos != null) - { - d0 += 0.5D; - } - - if (this.adjacentChestXPos != null) - { - d2 += 0.5D; - } - - this.worldObj.playSoundEffect(d2, (double)this.yCoord + 0.5D, d0, "random.chestclosed", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); - } - - if (this.lidAngle < 0.0F) - { - this.lidAngle = 0.0F; - } - } + ++this.ticksSinceSync; + float f; + + if (!this.worldObj.isRemote && this.numPlayersUsing != 0 && (this.ticksSinceSync + this.xCoord + this.yCoord + this.zCoord) % 200 == 0) { + this.numPlayersUsing = 0; + f = 5.0F; + List list = this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox((double) ((float) this.xCoord - f), (double) ((float) this.yCoord - f), (double) ((float) this.zCoord - f), (double) ((float) (this.xCoord + 1) + f), (double) ((float) (this.yCoord + 1) + f), (double) ((float) (this.zCoord + 1) + f))); + Iterator iterator = list.iterator(); + + while (iterator.hasNext()) { + EntityPlayer entityplayer = (EntityPlayer) iterator.next(); + + if (entityplayer.openContainer instanceof ContainerChest) { + IInventory iinventory = ((ContainerChest) entityplayer.openContainer).getLowerChestInventory(); + + if (iinventory == this || iinventory instanceof InventoryLargeChest && ((InventoryLargeChest) iinventory).isPartOfLargeChest(this)) { + ++this.numPlayersUsing; + } + } + } + } + + this.prevLidAngle = this.lidAngle; + f = 0.1F; + double d2; + + if (this.numPlayersUsing > 0 && this.lidAngle == 0.0F && this.adjacentChestZNeg == null && this.adjacentChestXNeg == null) { + double d1 = (double) this.xCoord + 0.5D; + d2 = (double) this.zCoord + 0.5D; + + if (this.adjacentChestZPos != null) { + d2 += 0.5D; + } + + if (this.adjacentChestXPos != null) { + d1 += 0.5D; + } + + this.worldObj.playSoundEffect(d1, (double) this.yCoord + 0.5D, d2, "random.chestopen", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); + } + + if (this.numPlayersUsing == 0 && this.lidAngle > 0.0F || this.numPlayersUsing > 0 && this.lidAngle < 1.0F) { + float f1 = this.lidAngle; + + if (this.numPlayersUsing > 0) { + this.lidAngle += f; + } else { + this.lidAngle -= f; + } + + if (this.lidAngle > 1.0F) { + this.lidAngle = 1.0F; + } + + float f2 = 0.5F; + + if (this.lidAngle < f2 && f1 >= f2 && this.adjacentChestZNeg == null && this.adjacentChestXNeg == null) { + d2 = (double) this.xCoord + 0.5D; + double d0 = (double) this.zCoord + 0.5D; + + if (this.adjacentChestZPos != null) { + d0 += 0.5D; + } + + if (this.adjacentChestXPos != null) { + d2 += 0.5D; + } + + this.worldObj.playSoundEffect(d2, (double) this.yCoord + 0.5D, d0, "random.chestclosed", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); + } + + if (this.lidAngle < 0.0F) { + this.lidAngle = 0.0F; + } + } } @Override diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java index 635936c..e1afb19 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java @@ -23,310 +23,310 @@ public class TileEntityPharaohChest extends TileEntityChest implements IInventory { - private ItemStack[] chestContents = new ItemStack[36]; - public float f; - public float g; - public int h; - private int ticksSinceSync; - private int field_94046_i = -1; - private String field_94045_s; - private boolean hasSpawned = false; - private boolean isOpenable = false; - - public int getSizeInventory() { - return 27; - } - - public ItemStack getStackInSlot(int par1) { - return this.chestContents[par1]; - } - - public ItemStack decrStackSize(int par1, int par2) { - if (this.chestContents[par1] != null) { - ItemStack itemstack; - if (this.chestContents[par1].stackSize <= par2) { - itemstack = this.chestContents[par1]; - this.chestContents[par1] = null; - this.markDirty(); - return itemstack; - } else { - itemstack = this.chestContents[par1].splitStack(par2); - if (this.chestContents[par1].stackSize == 0) { - this.chestContents[par1] = null; - } - - this.markDirty(); - return itemstack; - } - } else { - return null; - } - } - - public ItemStack getStackInSlotOnClosing(int par1) { - if (this.chestContents[par1] != null) { - ItemStack itemstack = this.chestContents[par1]; - this.chestContents[par1] = null; - return itemstack; - } else { - return null; - } - } - - public void setInventorySlotContents(int par1, ItemStack par2ItemStack) { - this.chestContents[par1] = par2ItemStack; - if (par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) { - par2ItemStack.stackSize = this.getInventoryStackLimit(); - } - - this.markDirty(); - } - - public String getInvName() { - return this.isInvNameLocalized() ? this.field_94045_s : "container.chest"; - } - - public boolean isInvNameLocalized() { - return this.field_94045_s != null && this.field_94045_s.length() > 0; - } - - public void func_94043_a(String par1Str) { - this.field_94045_s = par1Str; - } - - public void readFromNBT(NBTTagCompound par1NBTTagCompound) { - super.readFromNBT(par1NBTTagCompound); - NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items", 0); - this.chestContents = new ItemStack[this.getSizeInventory()]; - if (par1NBTTagCompound.hasKey("CustomName")) { - this.field_94045_s = par1NBTTagCompound.getString("CustomName"); - } - - for (int i = 0; i < nbttaglist.tagCount(); ++i) { - NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.getCompoundTagAt(i); - int j = nbttagcompound1.getByte("Slot") & 255; - if (j >= 0 && j < this.chestContents.length) { - this.chestContents[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1); - } - } - - this.hasSpawned = par1NBTTagCompound.getBoolean("spawned"); - this.isOpenable = par1NBTTagCompound.getBoolean("openable"); - } - - public void writeToNBT(NBTTagCompound par1NBTTagCompound) { - super.writeToNBT(par1NBTTagCompound); - NBTTagList nbttaglist = new NBTTagList(); - - for (int i = 0; i < this.chestContents.length; ++i) { - if (this.chestContents[i] != null) { - NBTTagCompound nbttagcompound1 = new NBTTagCompound(); - nbttagcompound1.setByte("Slot", (byte) i); - this.chestContents[i].writeToNBT(nbttagcompound1); - nbttaglist.appendTag(nbttagcompound1); - } - } - - par1NBTTagCompound.setTag("Items", nbttaglist); - if (this.isInvNameLocalized()) { - par1NBTTagCompound.setString("CustomName", this.field_94045_s); - } - - par1NBTTagCompound.setBoolean("spawned", this.hasSpawned); - par1NBTTagCompound.setBoolean("openable", this.isOpenable); - } - - public int getInventoryStackLimit() { - return 64; - } - - public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { - return !this.isOpenable ? false : (this.isOpenable && super.worldObj.getTileEntity(super.xCoord, super.yCoord, super.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double) super.xCoord + 0.5D, (double) super.yCoord + 0.5D, (double) super.zCoord + 0.5D) <= 64.0D); - } - - private boolean func_94044_a(int par1, int par2, int par3) { - Block block = this.worldObj.getBlock(par1, par2, par3); - return block != null && block instanceof BlockChest ? ((BlockChest) block).field_149956_a == this.func_98041_l() : false; - } - - @Override - public void updateEntity() { - ++this.ticksSinceSync; - float f; - - if (!this.worldObj.isRemote && this.numPlayersUsing != 0 && (this.ticksSinceSync + this.xCoord + this.yCoord + this.zCoord) % 200 == 0) { - this.numPlayersUsing = 0; - f = 5.0F; - List list = this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox((double) ((float) this.xCoord - f), (double) ((float) this.yCoord - f), (double) ((float) this.zCoord - f), (double) ((float) (this.xCoord + 1) + f), (double) ((float) (this.yCoord + 1) + f), (double) ((float) (this.zCoord + 1) + f))); - Iterator iterator = list.iterator(); - - while (iterator.hasNext()) { - EntityPlayer entityplayer = (EntityPlayer) iterator.next(); - - if (entityplayer.openContainer instanceof ContainerChest) { - IInventory iinventory = ((ContainerChest) entityplayer.openContainer).getLowerChestInventory(); - - if (iinventory == this || iinventory instanceof InventoryLargeChest && ((InventoryLargeChest) iinventory).isPartOfLargeChest(this)) { - ++this.numPlayersUsing; - } - } - } - } - - this.prevLidAngle = this.lidAngle; - f = 0.1F; - double d2; - - if (this.numPlayersUsing > 0 && this.lidAngle == 0.0F && this.adjacentChestZNeg == null && this.adjacentChestXNeg == null) { - double d1 = (double) this.xCoord + 0.5D; - d2 = (double) this.zCoord + 0.5D; - - if (this.adjacentChestZPos != null) { - d2 += 0.5D; - } - - if (this.adjacentChestXPos != null) { - d1 += 0.5D; - } - - this.worldObj.playSoundEffect(d1, (double) this.yCoord + 0.5D, d2, "random.chestopen", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); - } - - if (this.numPlayersUsing == 0 && this.lidAngle > 0.0F || this.numPlayersUsing > 0 && this.lidAngle < 1.0F) { - float f1 = this.lidAngle; - - if (this.numPlayersUsing > 0) { - this.lidAngle += f; - } else { - this.lidAngle -= f; - } - - if (this.lidAngle > 1.0F) { - this.lidAngle = 1.0F; - } - - float f2 = 0.5F; - - if (this.lidAngle < f2 && f1 >= f2 && this.adjacentChestZNeg == null && this.adjacentChestXNeg == null) { - d2 = (double) this.xCoord + 0.5D; - double d0 = (double) this.zCoord + 0.5D; - - if (this.adjacentChestZPos != null) { - d0 += 0.5D; - } - - if (this.adjacentChestXPos != null) { - d2 += 0.5D; - } - - this.worldObj.playSoundEffect(d2, (double) this.yCoord + 0.5D, d0, "random.chestclosed", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); - } - - if (this.lidAngle < 0.0F) { - this.lidAngle = 0.0F; - } - } - } - - public boolean receiveClientEvent(int par1, int par2) { - if (par1 == 1) { - super.numPlayersUsing = par2; - return true; - } else { - return super.receiveClientEvent(par1, par2); - } - } - - @Override - public void openInventory() { - if (super.numPlayersUsing < 0) { - super.numPlayersUsing = 0; - } - - ++super.numPlayersUsing; - super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numPlayersUsing); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); - } - - @Override - public void closeInventory() { - if (this.getBlockType() != null && this.getBlockType() instanceof BlockChestSpawner) { - --super.numPlayersUsing; - super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numPlayersUsing); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); - } - } - - - public void invalidate() { - super.invalidate(); - this.updateContainingBlockInfo(); - } - - public int func_98041_l() { - if (this.field_94046_i == -1) { - if (super.worldObj == null || !(this.getBlockType() instanceof BlockChest)) { - return 0; - } - - this.field_94046_i = ((BlockChest) this.getBlockType()).field_149956_a; - } - - return this.field_94046_i; - } - - public void setOpenable() { - this.isOpenable = true; - } - - public boolean hasSpawned() { - return this.hasSpawned; - } - - public void spawn(EntityPlayer player) { - EntityPharaoh pharaoh = new EntityPharaoh(super.worldObj); - pharaoh.setPosition((double) super.xCoord + 0.5D, (double) (super.yCoord + 1), (double) super.zCoord + 0.5D); - pharaoh.link(super.xCoord, super.yCoord, super.zCoord); - if (!super.worldObj.isRemote) { - super.worldObj.spawnEntityInWorld(pharaoh); - } - - pharaoh.spawnExplosionParticle(); - this.hasSpawned = true; - EntityMummy mummy1 = new EntityMummy(super.worldObj); - mummy1.setPosition((double) super.xCoord + 0.5D, (double) super.yCoord, (double) super.zCoord - 0.5D); - if (!super.worldObj.isRemote) { - super.worldObj.spawnEntityInWorld(mummy1); - } - - mummy1.spawnExplosionParticle(); - EntityMummy mummy2 = new EntityMummy(super.worldObj); - mummy2.setPosition((double) super.xCoord + 0.5D, (double) super.yCoord, (double) super.zCoord + 1.5D); - if (!super.worldObj.isRemote) { - super.worldObj.spawnEntityInWorld(mummy2); - } - - mummy2.spawnExplosionParticle(); - if (!super.worldObj.isRemote) { - List players = FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList; - Iterator i = players.iterator(); - - while (i.hasNext()) { - EntityPlayer p = (EntityPlayer) i.next(); - p.addChatMessage(new ChatComponentText(pharaoh.getCommandSenderName() + " " + StatCollector.translateToLocal("chat.atum.summonPharaoh") + " " + player.getGameProfile().getName())); - } - } - - if (!super.worldObj.isRemote) { - System.out.println("Playing Sound"); - super.worldObj.playSoundAtEntity(pharaoh, "Atum.pharaohspawn", 1.0F, 1.0F); - } - - } - - public void setPharaohDespawned() { - this.hasSpawned = false; - } + public float f; + public float g; + public int h; + private ItemStack[] chestContents = new ItemStack[36]; + private int ticksSinceSync; + private int field_94046_i = -1; + private String field_94045_s; + private boolean hasSpawned = false; + private boolean isOpenable = false; + + public int getSizeInventory() { + return 27; + } + + public ItemStack getStackInSlot(int par1) { + return this.chestContents[par1]; + } + + public ItemStack decrStackSize(int par1, int par2) { + if (this.chestContents[par1] != null) { + ItemStack itemstack; + if (this.chestContents[par1].stackSize <= par2) { + itemstack = this.chestContents[par1]; + this.chestContents[par1] = null; + this.markDirty(); + return itemstack; + } else { + itemstack = this.chestContents[par1].splitStack(par2); + if (this.chestContents[par1].stackSize == 0) { + this.chestContents[par1] = null; + } + + this.markDirty(); + return itemstack; + } + } else { + return null; + } + } + + public ItemStack getStackInSlotOnClosing(int par1) { + if (this.chestContents[par1] != null) { + ItemStack itemstack = this.chestContents[par1]; + this.chestContents[par1] = null; + return itemstack; + } else { + return null; + } + } + + public void setInventorySlotContents(int par1, ItemStack par2ItemStack) { + this.chestContents[par1] = par2ItemStack; + if (par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) { + par2ItemStack.stackSize = this.getInventoryStackLimit(); + } + + this.markDirty(); + } + + public String getInvName() { + return this.isInvNameLocalized() ? this.field_94045_s : "container.chest"; + } + + public boolean isInvNameLocalized() { + return this.field_94045_s != null && this.field_94045_s.length() > 0; + } + + public void func_94043_a(String par1Str) { + this.field_94045_s = par1Str; + } + + public void readFromNBT(NBTTagCompound par1NBTTagCompound) { + super.readFromNBT(par1NBTTagCompound); + NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items", 0); + this.chestContents = new ItemStack[this.getSizeInventory()]; + if (par1NBTTagCompound.hasKey("CustomName")) { + this.field_94045_s = par1NBTTagCompound.getString("CustomName"); + } + + for (int i = 0; i < nbttaglist.tagCount(); ++i) { + NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.getCompoundTagAt(i); + int j = nbttagcompound1.getByte("Slot") & 255; + if (j >= 0 && j < this.chestContents.length) { + this.chestContents[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1); + } + } + + this.hasSpawned = par1NBTTagCompound.getBoolean("spawned"); + this.isOpenable = par1NBTTagCompound.getBoolean("openable"); + } + + public void writeToNBT(NBTTagCompound par1NBTTagCompound) { + super.writeToNBT(par1NBTTagCompound); + NBTTagList nbttaglist = new NBTTagList(); + + for (int i = 0; i < this.chestContents.length; ++i) { + if (this.chestContents[i] != null) { + NBTTagCompound nbttagcompound1 = new NBTTagCompound(); + nbttagcompound1.setByte("Slot", (byte) i); + this.chestContents[i].writeToNBT(nbttagcompound1); + nbttaglist.appendTag(nbttagcompound1); + } + } + + par1NBTTagCompound.setTag("Items", nbttaglist); + if (this.isInvNameLocalized()) { + par1NBTTagCompound.setString("CustomName", this.field_94045_s); + } + + par1NBTTagCompound.setBoolean("spawned", this.hasSpawned); + par1NBTTagCompound.setBoolean("openable", this.isOpenable); + } + + public int getInventoryStackLimit() { + return 64; + } + + public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { + return !this.isOpenable ? false : (this.isOpenable && super.worldObj.getTileEntity(super.xCoord, super.yCoord, super.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double) super.xCoord + 0.5D, (double) super.yCoord + 0.5D, (double) super.zCoord + 0.5D) <= 64.0D); + } + + private boolean func_94044_a(int par1, int par2, int par3) { + Block block = this.worldObj.getBlock(par1, par2, par3); + return block != null && block instanceof BlockChest ? ((BlockChest) block).field_149956_a == this.func_98041_l() : false; + } + + @Override + public void updateEntity() { + ++this.ticksSinceSync; + float f; + + if (!this.worldObj.isRemote && this.numPlayersUsing != 0 && (this.ticksSinceSync + this.xCoord + this.yCoord + this.zCoord) % 200 == 0) { + this.numPlayersUsing = 0; + f = 5.0F; + List list = this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox((double) ((float) this.xCoord - f), (double) ((float) this.yCoord - f), (double) ((float) this.zCoord - f), (double) ((float) (this.xCoord + 1) + f), (double) ((float) (this.yCoord + 1) + f), (double) ((float) (this.zCoord + 1) + f))); + Iterator iterator = list.iterator(); + + while (iterator.hasNext()) { + EntityPlayer entityplayer = (EntityPlayer) iterator.next(); + + if (entityplayer.openContainer instanceof ContainerChest) { + IInventory iinventory = ((ContainerChest) entityplayer.openContainer).getLowerChestInventory(); + + if (iinventory == this || iinventory instanceof InventoryLargeChest && ((InventoryLargeChest) iinventory).isPartOfLargeChest(this)) { + ++this.numPlayersUsing; + } + } + } + } + + this.prevLidAngle = this.lidAngle; + f = 0.1F; + double d2; + + if (this.numPlayersUsing > 0 && this.lidAngle == 0.0F && this.adjacentChestZNeg == null && this.adjacentChestXNeg == null) { + double d1 = (double) this.xCoord + 0.5D; + d2 = (double) this.zCoord + 0.5D; + + if (this.adjacentChestZPos != null) { + d2 += 0.5D; + } + + if (this.adjacentChestXPos != null) { + d1 += 0.5D; + } + + this.worldObj.playSoundEffect(d1, (double) this.yCoord + 0.5D, d2, "random.chestopen", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); + } + + if (this.numPlayersUsing == 0 && this.lidAngle > 0.0F || this.numPlayersUsing > 0 && this.lidAngle < 1.0F) { + float f1 = this.lidAngle; + + if (this.numPlayersUsing > 0) { + this.lidAngle += f; + } else { + this.lidAngle -= f; + } + + if (this.lidAngle > 1.0F) { + this.lidAngle = 1.0F; + } + + float f2 = 0.5F; + + if (this.lidAngle < f2 && f1 >= f2 && this.adjacentChestZNeg == null && this.adjacentChestXNeg == null) { + d2 = (double) this.xCoord + 0.5D; + double d0 = (double) this.zCoord + 0.5D; + + if (this.adjacentChestZPos != null) { + d0 += 0.5D; + } + + if (this.adjacentChestXPos != null) { + d2 += 0.5D; + } + + this.worldObj.playSoundEffect(d2, (double) this.yCoord + 0.5D, d0, "random.chestclosed", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); + } + + if (this.lidAngle < 0.0F) { + this.lidAngle = 0.0F; + } + } + } + + public boolean receiveClientEvent(int par1, int par2) { + if (par1 == 1) { + super.numPlayersUsing = par2; + return true; + } else { + return super.receiveClientEvent(par1, par2); + } + } + + @Override + public void openInventory() { + if (super.numPlayersUsing < 0) { + super.numPlayersUsing = 0; + } + + ++super.numPlayersUsing; + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numPlayersUsing); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); + } + + @Override + public void closeInventory() { + if (this.getBlockType() != null && this.getBlockType() instanceof BlockChestSpawner) { + --super.numPlayersUsing; + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numPlayersUsing); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); + } + } + + + public void invalidate() { + super.invalidate(); + this.updateContainingBlockInfo(); + } + + public int func_98041_l() { + if (this.field_94046_i == -1) { + if (super.worldObj == null || !(this.getBlockType() instanceof BlockChest)) { + return 0; + } + + this.field_94046_i = ((BlockChest) this.getBlockType()).field_149956_a; + } + + return this.field_94046_i; + } + + public void setOpenable() { + this.isOpenable = true; + } + + public boolean hasSpawned() { + return this.hasSpawned; + } + + public void spawn(EntityPlayer player) { + EntityPharaoh pharaoh = new EntityPharaoh(super.worldObj); + pharaoh.setPosition((double) super.xCoord + 0.5D, (double) (super.yCoord + 1), (double) super.zCoord + 0.5D); + pharaoh.link(super.xCoord, super.yCoord, super.zCoord); + if (!super.worldObj.isRemote) { + super.worldObj.spawnEntityInWorld(pharaoh); + } + + pharaoh.spawnExplosionParticle(); + this.hasSpawned = true; + EntityMummy mummy1 = new EntityMummy(super.worldObj); + mummy1.setPosition((double) super.xCoord + 0.5D, (double) super.yCoord, (double) super.zCoord - 0.5D); + if (!super.worldObj.isRemote) { + super.worldObj.spawnEntityInWorld(mummy1); + } + + mummy1.spawnExplosionParticle(); + EntityMummy mummy2 = new EntityMummy(super.worldObj); + mummy2.setPosition((double) super.xCoord + 0.5D, (double) super.yCoord, (double) super.zCoord + 1.5D); + if (!super.worldObj.isRemote) { + super.worldObj.spawnEntityInWorld(mummy2); + } + + mummy2.spawnExplosionParticle(); + if (!super.worldObj.isRemote) { + List players = FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList; + Iterator i = players.iterator(); + + while (i.hasNext()) { + EntityPlayer p = (EntityPlayer) i.next(); + p.addChatMessage(new ChatComponentText(pharaoh.getCommandSenderName() + " " + StatCollector.translateToLocal("chat.atum.summonPharaoh") + " " + player.getGameProfile().getName())); + } + } + + if (!super.worldObj.isRemote) { + System.out.println("Playing Sound"); + super.worldObj.playSoundAtEntity(pharaoh, "Atum.pharaohspawn", 1.0F, 1.0F); + } + + } + + public void setPharaohDespawned() { + this.hasSpawned = false; + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/ContainerLimestoneFurnace.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/ContainerLimestoneFurnace.java index f1a5522..e0ce1c4 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/ContainerLimestoneFurnace.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/ContainerLimestoneFurnace.java @@ -1,5 +1,7 @@ package com.teammetallurgy.atum.blocks.tileentity.furnace; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; @@ -9,8 +11,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.tileentity.TileEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; public class ContainerLimestoneFurnace extends Container { private TileEntityLimestoneFurnace furnace; @@ -25,13 +25,13 @@ public ContainerLimestoneFurnace(InventoryPlayer par1InventoryPlayer, TileEntity this.addSlotToContainer(new SlotFurnace(par1InventoryPlayer.player, furnace, 2, 116, 35)); int i; - for(i = 0; i < 3; ++i) { - for(int j = 0; j < 9; ++j) { + for (i = 0; i < 3; ++i) { + for (int j = 0; j < 9; ++j) { this.addSlotToContainer(new Slot(par1InventoryPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); } } - for(i = 0; i < 9; ++i) { + for (i = 0; i < 9; ++i) { this.addSlotToContainer(new Slot(par1InventoryPlayer, i, 8 + i * 18, 142)); } } @@ -51,18 +51,18 @@ public void addCraftingToCrafters(ICrafting par1ICrafting) { public void detectAndSendChanges() { super.detectAndSendChanges(); - for(int i = 0; i < this.crafters.size(); ++i) { + for (int i = 0; i < this.crafters.size(); ++i) { ICrafting icrafting = (ICrafting) this.crafters.get(i); - if(this.lastCookTime != this.furnace.furnaceCookTime) { + if (this.lastCookTime != this.furnace.furnaceCookTime) { icrafting.sendProgressBarUpdate(this, 0, this.furnace.furnaceCookTime); } - if(this.lastBurnTime != this.furnace.furnaceBurnTime) { + if (this.lastBurnTime != this.furnace.furnaceBurnTime) { icrafting.sendProgressBarUpdate(this, 1, this.furnace.furnaceBurnTime); } - if(this.lastItemBurnTime != this.furnace.currentItemBurnTime) { + if (this.lastItemBurnTime != this.furnace.currentItemBurnTime) { icrafting.sendProgressBarUpdate(this, 2, this.furnace.currentItemBurnTime); } } @@ -75,15 +75,15 @@ public void detectAndSendChanges() { @SideOnly(Side.CLIENT) @Override public void updateProgressBar(int par1, int par2) { - if(par1 == 0) { + if (par1 == 0) { this.furnace.furnaceCookTime = par2; } - if(par1 == 1) { + if (par1 == 1) { this.furnace.furnaceBurnTime = par2; } - if(par1 == 2) { + if (par1 == 2) { this.furnace.currentItemBurnTime = par2; } } @@ -101,43 +101,43 @@ public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2) { ItemStack itemstack = null; Slot slot = (Slot) this.inventorySlots.get(par2); - if(slot != null && slot.getHasStack()) { + if (slot != null && slot.getHasStack()) { ItemStack itemstack1 = slot.getStack(); itemstack = itemstack1.copy(); - if(par2 == 2) { - if(!this.mergeItemStack(itemstack1, 3, 39, true)) { + if (par2 == 2) { + if (!this.mergeItemStack(itemstack1, 3, 39, true)) { return null; } slot.onSlotChange(itemstack1, itemstack); - } else if(par2 != 1 && par2 != 0) { - if(FurnaceRecipes.smelting().getSmeltingResult(itemstack1) != null) { - if(!this.mergeItemStack(itemstack1, 0, 1, false)) { + } else if (par2 != 1 && par2 != 0) { + if (FurnaceRecipes.smelting().getSmeltingResult(itemstack1) != null) { + if (!this.mergeItemStack(itemstack1, 0, 1, false)) { return null; } - } else if(TileEntityLimestoneFurnace.isItemFuel(itemstack1)) { - if(!this.mergeItemStack(itemstack1, 1, 2, false)) { + } else if (TileEntityLimestoneFurnace.isItemFuel(itemstack1)) { + if (!this.mergeItemStack(itemstack1, 1, 2, false)) { return null; } - } else if(par2 >= 3 && par2 < 30) { - if(!this.mergeItemStack(itemstack1, 30, 39, false)) { + } else if (par2 >= 3 && par2 < 30) { + if (!this.mergeItemStack(itemstack1, 30, 39, false)) { return null; } - } else if(par2 >= 30 && par2 < 39 && !this.mergeItemStack(itemstack1, 3, 30, false)) { + } else if (par2 >= 30 && par2 < 39 && !this.mergeItemStack(itemstack1, 3, 30, false)) { return null; } - } else if(!this.mergeItemStack(itemstack1, 3, 39, false)) { + } else if (!this.mergeItemStack(itemstack1, 3, 39, false)) { return null; } - if(itemstack1.stackSize == 0) { + if (itemstack1.stackSize == 0) { slot.putStack((ItemStack) null); } else { slot.onSlotChanged(); } - if(itemstack1.stackSize == itemstack.stackSize) { + if (itemstack1.stackSize == itemstack.stackSize) { return null; } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java index 6eb8226..3ed3619 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java @@ -1,16 +1,14 @@ package com.teammetallurgy.atum.blocks.tileentity.furnace; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; import net.minecraft.util.StatCollector; - import org.lwjgl.opengl.GL11; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - @SideOnly(Side.CLIENT) public class GuiLimestoneFurnace extends GuiContainer { private TileEntityLimestoneFurnace furnaceInventory; diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/TileEntityLimestoneFurnace.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/TileEntityLimestoneFurnace.java index 473a57b..b8b2620 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/TileEntityLimestoneFurnace.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/TileEntityLimestoneFurnace.java @@ -1,51 +1,94 @@ package com.teammetallurgy.atum.blocks.tileentity.furnace; +import com.teammetallurgy.atum.blocks.BlockLimeStoneFurnace; +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemHoe; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemSword; -import net.minecraft.item.ItemTool; +import net.minecraft.item.*; import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntityFurnace; -import com.teammetallurgy.atum.blocks.BlockLimeStoneFurnace; - -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - public class TileEntityLimestoneFurnace extends TileEntityFurnace implements ISidedInventory { - private static final int[] field_102010_d = new int[] { 0 }; - private static final int[] field_102011_e = new int[] { 2, 1 }; - private static final int[] field_102009_f = new int[] { 1 }; - + private static final int[] field_102010_d = new int[]{0}; + private static final int[] field_102011_e = new int[]{2, 1}; + private static final int[] field_102009_f = new int[]{1}; /** - * The ItemStacks that hold the items currently being used in the furnace + * The number of ticks that the furnace will keep burning */ - private ItemStack[] furnaceItemStacks = new ItemStack[3]; - - /** The number of ticks that the furnace will keep burning */ public int furnaceBurnTime = 0; - /** * The number of ticks that a fresh copy of the currently-burning item would * keep the furnace burning for */ public int currentItemBurnTime = 0; - - /** The number of ticks that the current item has been cooking for */ + /** + * The number of ticks that the current item has been cooking for + */ public int furnaceCookTime = 0; + /** + * The ItemStacks that hold the items currently being used in the furnace + */ + private ItemStack[] furnaceItemStacks = new ItemStack[3]; private String field_94130_e; + /** + * Returns the number of ticks that the supplied fuel item will keep the + * furnace burning, or 0 if the item isn't fuel + */ + public static int getItemBurnTime(ItemStack par0ItemStack) { + if (par0ItemStack == null) { + return 0; + } else { + Item i = par0ItemStack.getItem(); + Item item = par0ItemStack.getItem(); + + if (par0ItemStack.getItem() instanceof ItemBlock && i != null) { + Block block = Block.getBlockFromItem(i); + + if (block == Blocks.wooden_slab) { + return 150; + } + + if (block.getMaterial() == Material.wood) { + return 300; + } + } + + if (item instanceof ItemTool && ((ItemTool) item).getToolMaterialName().equals("WOOD")) + return 200; + if (item instanceof ItemSword && ((ItemSword) item).getToolMaterialName().equals("WOOD")) + return 200; + if (item instanceof ItemHoe && ((ItemHoe) item).getToolMaterialName().equals("WOOD")) + return 200; + if (i == Items.stick) + return 100; + if (i == Items.coal) + return 1600; + if (i == Items.lava_bucket) + return 20000; + if (Block.getBlockFromItem(i) == Blocks.sapling) + return 100; + if (i == Items.blaze_rod) + return 2400; + return GameRegistry.getFuelValue(par0ItemStack); + } + } + + /** + * Return true if item is a fuel source (getItemBurnTime() > 0). + */ + public static boolean isItemFuel(ItemStack par0ItemStack) { + return getItemBurnTime(par0ItemStack) > 0; + } + /** * Returns the number of slots in the inventory. */ @@ -327,56 +370,6 @@ public void smeltItem() { } } - /** - * Returns the number of ticks that the supplied fuel item will keep the - * furnace burning, or 0 if the item isn't fuel - */ - public static int getItemBurnTime(ItemStack par0ItemStack) { - if (par0ItemStack == null) { - return 0; - } else { - Item i = par0ItemStack.getItem(); - Item item = par0ItemStack.getItem(); - - if (par0ItemStack.getItem() instanceof ItemBlock && i != null) { - Block block = Block.getBlockFromItem(i); - - if (block == Blocks.wooden_slab) { - return 150; - } - - if (block.getMaterial() == Material.wood) { - return 300; - } - } - - if (item instanceof ItemTool && ((ItemTool) item).getToolMaterialName().equals("WOOD")) - return 200; - if (item instanceof ItemSword && ((ItemSword) item).getToolMaterialName().equals("WOOD")) - return 200; - if (item instanceof ItemHoe && ((ItemHoe) item).getToolMaterialName().equals("WOOD")) - return 200; - if (i == Items.stick) - return 100; - if (i == Items.coal) - return 1600; - if (i == Items.lava_bucket) - return 20000; - if (Block.getBlockFromItem(i) == Blocks.sapling) - return 100; - if (i == Items.blaze_rod) - return 2400; - return GameRegistry.getFuelValue(par0ItemStack); - } - } - - /** - * Return true if item is a fuel source (getItemBurnTime() > 0). - */ - public static boolean isItemFuel(ItemStack par0ItemStack) { - return getItemBurnTime(par0ItemStack) > 0; - } - /** * Do not make give this method the name canInteractWith because it clashes * with Container diff --git a/src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java b/src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java index a68717c..758fc8e 100644 --- a/src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java +++ b/src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java @@ -1,188 +1,187 @@ package com.teammetallurgy.atum.client.model.entity; +import com.teammetallurgy.atum.entity.EntityDesertWolf; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.util.MathHelper; - import org.lwjgl.opengl.GL11; -import com.teammetallurgy.atum.entity.EntityDesertWolf; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - @SideOnly(Side.CLIENT) -public class ModelDesertWolf extends ModelBase -{ - /** main box for the wolf head */ - public ModelRenderer wolfHeadMain; - - /** The wolf's body */ - public ModelRenderer wolfBody; - - /** Wolf'se first leg */ - public ModelRenderer wolfLeg1; - - /** Wolf's second leg */ - public ModelRenderer wolfLeg2; - - /** Wolf's third leg */ - public ModelRenderer wolfLeg3; - - /** Wolf's fourth leg */ - public ModelRenderer wolfLeg4; - - /** The wolf's tail */ - ModelRenderer wolfTail; - - /** The wolf's mane */ - ModelRenderer wolfMane; - - public ModelDesertWolf() - { - float f = 0.0F; - float f1 = 13.5F; - this.wolfHeadMain = new ModelRenderer(this, 0, 0); - this.wolfHeadMain.addBox(-3.0F, -3.0F, -2.0F, 6, 6, 4, f); - this.wolfHeadMain.setRotationPoint(-1.0F, f1, -7.0F); - this.wolfBody = new ModelRenderer(this, 18, 14); - this.wolfBody.addBox(-4.0F, -2.0F, -3.0F, 6, 9, 6, f); - this.wolfBody.setRotationPoint(0.0F, 14.0F, 2.0F); - this.wolfMane = new ModelRenderer(this, 21, 0); - this.wolfMane.addBox(-4.0F, -3.0F, -3.0F, 8, 6, 7, f); - this.wolfMane.setRotationPoint(-1.0F, 14.0F, 2.0F); - this.wolfLeg1 = new ModelRenderer(this, 0, 18); - this.wolfLeg1.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); - this.wolfLeg1.setRotationPoint(-2.5F, 16.0F, 7.0F); - this.wolfLeg2 = new ModelRenderer(this, 0, 18); - this.wolfLeg2.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); - this.wolfLeg2.setRotationPoint(0.5F, 16.0F, 7.0F); - this.wolfLeg3 = new ModelRenderer(this, 0, 18); - this.wolfLeg3.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); - this.wolfLeg3.setRotationPoint(-2.5F, 16.0F, -4.0F); - this.wolfLeg4 = new ModelRenderer(this, 0, 18); - this.wolfLeg4.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); - this.wolfLeg4.setRotationPoint(0.5F, 16.0F, -4.0F); - this.wolfTail = new ModelRenderer(this, 9, 18); - this.wolfTail.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); - this.wolfTail.setRotationPoint(-1.0F, 12.0F, 8.0F); - this.wolfHeadMain.setTextureOffset(16, 14).addBox(-3.0F, -5.0F, 0.0F, 2, 2, 1, f); - this.wolfHeadMain.setTextureOffset(16, 14).addBox(1.0F, -5.0F, 0.0F, 2, 2, 1, f); - this.wolfHeadMain.setTextureOffset(0, 10).addBox(-1.5F, 0.0F, -5.0F, 3, 3, 4, f); - } - - /** - * Sets the models various rotation angles then renders the model. - */ - @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) - { - super.render(par1Entity, par2, par3, par4, par5, par6, par7); - this.setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); - - if (this.isChild) - { - float f6 = 2.0F; - GL11.glPushMatrix(); - GL11.glTranslatef(0.0F, 5.0F * par7, 2.0F * par7); - this.wolfHeadMain.renderWithRotation(par7); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(1.0F / f6, 1.0F / f6, 1.0F / f6); - GL11.glTranslatef(0.0F, 24.0F * par7, 0.0F); - this.wolfBody.render(par7); - this.wolfLeg1.render(par7); - this.wolfLeg2.render(par7); - this.wolfLeg3.render(par7); - this.wolfLeg4.render(par7); - this.wolfTail.renderWithRotation(par7); - this.wolfMane.render(par7); - GL11.glPopMatrix(); - } - else - { - this.wolfHeadMain.renderWithRotation(par7); - this.wolfBody.render(par7); - this.wolfLeg1.render(par7); - this.wolfLeg2.render(par7); - this.wolfLeg3.render(par7); - this.wolfLeg4.render(par7); - this.wolfTail.renderWithRotation(par7); - this.wolfMane.render(par7); - } - } - - /** - * Used for easily adding entity-dependent animations. The second and third float params here are the same second - * and third as in the setRotationAngles method. - */ - @Override - public void setLivingAnimations(EntityLivingBase par1EntityLiving, float par2, float par3, float par4) - { - EntityDesertWolf entitywolf = (EntityDesertWolf)par1EntityLiving; - - if (entitywolf.isAngry()) - { - this.wolfTail.rotateAngleY = 0.0F; - } - else - { - this.wolfTail.rotateAngleY = MathHelper.cos(par2 * 0.6662F) * 1.4F * par3; - } - - if (entitywolf.isSitting()) - { - this.wolfMane.setRotationPoint(-1.0F, 16.0F, -3.0F); - this.wolfMane.rotateAngleX = ((float)Math.PI * 2F / 5F); - this.wolfMane.rotateAngleY = 0.0F; - this.wolfBody.setRotationPoint(0.0F, 18.0F, 0.0F); - this.wolfBody.rotateAngleX = ((float)Math.PI / 4F); - this.wolfTail.setRotationPoint(-1.0F, 21.0F, 6.0F); - this.wolfLeg1.setRotationPoint(-2.5F, 22.0F, 2.0F); - this.wolfLeg1.rotateAngleX = ((float)Math.PI * 3F / 2F); - this.wolfLeg2.setRotationPoint(0.5F, 22.0F, 2.0F); - this.wolfLeg2.rotateAngleX = ((float)Math.PI * 3F / 2F); - this.wolfLeg3.rotateAngleX = 5.811947F; - this.wolfLeg3.setRotationPoint(-2.49F, 17.0F, -4.0F); - this.wolfLeg4.rotateAngleX = 5.811947F; - this.wolfLeg4.setRotationPoint(0.51F, 17.0F, -4.0F); - } - else - { - this.wolfBody.setRotationPoint(0.0F, 14.0F, 2.0F); - this.wolfBody.rotateAngleX = ((float)Math.PI / 2F); - this.wolfMane.setRotationPoint(-1.0F, 14.0F, -3.0F); - this.wolfMane.rotateAngleX = this.wolfBody.rotateAngleX; - this.wolfTail.setRotationPoint(-1.0F, 12.0F, 8.0F); - this.wolfLeg1.setRotationPoint(-2.5F, 16.0F, 7.0F); - this.wolfLeg2.setRotationPoint(0.5F, 16.0F, 7.0F); - this.wolfLeg3.setRotationPoint(-2.5F, 16.0F, -4.0F); - this.wolfLeg4.setRotationPoint(0.5F, 16.0F, -4.0F); - this.wolfLeg1.rotateAngleX = MathHelper.cos(par2 * 0.6662F) * 1.4F * par3; - this.wolfLeg2.rotateAngleX = MathHelper.cos(par2 * 0.6662F + (float)Math.PI) * 1.4F * par3; - this.wolfLeg3.rotateAngleX = MathHelper.cos(par2 * 0.6662F + (float)Math.PI) * 1.4F * par3; - this.wolfLeg4.rotateAngleX = MathHelper.cos(par2 * 0.6662F) * 1.4F * par3; - } - - this.wolfHeadMain.rotateAngleZ = entitywolf.getInterestedAngle(par4) + entitywolf.getShakeAngle(par4, 0.0F); - this.wolfMane.rotateAngleZ = entitywolf.getShakeAngle(par4, -0.08F); - this.wolfBody.rotateAngleZ = entitywolf.getShakeAngle(par4, -0.16F); - this.wolfTail.rotateAngleZ = entitywolf.getShakeAngle(par4, -0.2F); - } - - /** - * Sets the model's various rotation angles. For bipeds, par1 and par2 are used for animating the movement of arms - * and legs, where par1 represents the time(so that arms and legs swing back and forth) and par2 represents how - * "far" arms and legs can swing at most. - */ - @Override - public void setRotationAngles(float par1, float par2, float par3, float par4, float par5, float par6, Entity par7Entity) - { - super.setRotationAngles(par1, par2, par3, par4, par5, par6, par7Entity); - this.wolfHeadMain.rotateAngleX = par5 / (180F / (float)Math.PI); - this.wolfHeadMain.rotateAngleY = par4 / (180F / (float)Math.PI); - this.wolfTail.rotateAngleX = par3; - } +public class ModelDesertWolf extends ModelBase { + /** + * main box for the wolf head + */ + public ModelRenderer wolfHeadMain; + + /** + * The wolf's body + */ + public ModelRenderer wolfBody; + + /** + * Wolf'se first leg + */ + public ModelRenderer wolfLeg1; + + /** + * Wolf's second leg + */ + public ModelRenderer wolfLeg2; + + /** + * Wolf's third leg + */ + public ModelRenderer wolfLeg3; + + /** + * Wolf's fourth leg + */ + public ModelRenderer wolfLeg4; + + /** + * The wolf's tail + */ + ModelRenderer wolfTail; + + /** + * The wolf's mane + */ + ModelRenderer wolfMane; + + public ModelDesertWolf() { + float f = 0.0F; + float f1 = 13.5F; + this.wolfHeadMain = new ModelRenderer(this, 0, 0); + this.wolfHeadMain.addBox(-3.0F, -3.0F, -2.0F, 6, 6, 4, f); + this.wolfHeadMain.setRotationPoint(-1.0F, f1, -7.0F); + this.wolfBody = new ModelRenderer(this, 18, 14); + this.wolfBody.addBox(-4.0F, -2.0F, -3.0F, 6, 9, 6, f); + this.wolfBody.setRotationPoint(0.0F, 14.0F, 2.0F); + this.wolfMane = new ModelRenderer(this, 21, 0); + this.wolfMane.addBox(-4.0F, -3.0F, -3.0F, 8, 6, 7, f); + this.wolfMane.setRotationPoint(-1.0F, 14.0F, 2.0F); + this.wolfLeg1 = new ModelRenderer(this, 0, 18); + this.wolfLeg1.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); + this.wolfLeg1.setRotationPoint(-2.5F, 16.0F, 7.0F); + this.wolfLeg2 = new ModelRenderer(this, 0, 18); + this.wolfLeg2.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); + this.wolfLeg2.setRotationPoint(0.5F, 16.0F, 7.0F); + this.wolfLeg3 = new ModelRenderer(this, 0, 18); + this.wolfLeg3.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); + this.wolfLeg3.setRotationPoint(-2.5F, 16.0F, -4.0F); + this.wolfLeg4 = new ModelRenderer(this, 0, 18); + this.wolfLeg4.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); + this.wolfLeg4.setRotationPoint(0.5F, 16.0F, -4.0F); + this.wolfTail = new ModelRenderer(this, 9, 18); + this.wolfTail.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); + this.wolfTail.setRotationPoint(-1.0F, 12.0F, 8.0F); + this.wolfHeadMain.setTextureOffset(16, 14).addBox(-3.0F, -5.0F, 0.0F, 2, 2, 1, f); + this.wolfHeadMain.setTextureOffset(16, 14).addBox(1.0F, -5.0F, 0.0F, 2, 2, 1, f); + this.wolfHeadMain.setTextureOffset(0, 10).addBox(-1.5F, 0.0F, -5.0F, 3, 3, 4, f); + } + + /** + * Sets the models various rotation angles then renders the model. + */ + @Override + public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { + super.render(par1Entity, par2, par3, par4, par5, par6, par7); + this.setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); + + if (this.isChild) { + float f6 = 2.0F; + GL11.glPushMatrix(); + GL11.glTranslatef(0.0F, 5.0F * par7, 2.0F * par7); + this.wolfHeadMain.renderWithRotation(par7); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(1.0F / f6, 1.0F / f6, 1.0F / f6); + GL11.glTranslatef(0.0F, 24.0F * par7, 0.0F); + this.wolfBody.render(par7); + this.wolfLeg1.render(par7); + this.wolfLeg2.render(par7); + this.wolfLeg3.render(par7); + this.wolfLeg4.render(par7); + this.wolfTail.renderWithRotation(par7); + this.wolfMane.render(par7); + GL11.glPopMatrix(); + } else { + this.wolfHeadMain.renderWithRotation(par7); + this.wolfBody.render(par7); + this.wolfLeg1.render(par7); + this.wolfLeg2.render(par7); + this.wolfLeg3.render(par7); + this.wolfLeg4.render(par7); + this.wolfTail.renderWithRotation(par7); + this.wolfMane.render(par7); + } + } + + /** + * Used for easily adding entity-dependent animations. The second and third float params here are the same second + * and third as in the setRotationAngles method. + */ + @Override + public void setLivingAnimations(EntityLivingBase par1EntityLiving, float par2, float par3, float par4) { + EntityDesertWolf entitywolf = (EntityDesertWolf) par1EntityLiving; + + if (entitywolf.isAngry()) { + this.wolfTail.rotateAngleY = 0.0F; + } else { + this.wolfTail.rotateAngleY = MathHelper.cos(par2 * 0.6662F) * 1.4F * par3; + } + + if (entitywolf.isSitting()) { + this.wolfMane.setRotationPoint(-1.0F, 16.0F, -3.0F); + this.wolfMane.rotateAngleX = ((float) Math.PI * 2F / 5F); + this.wolfMane.rotateAngleY = 0.0F; + this.wolfBody.setRotationPoint(0.0F, 18.0F, 0.0F); + this.wolfBody.rotateAngleX = ((float) Math.PI / 4F); + this.wolfTail.setRotationPoint(-1.0F, 21.0F, 6.0F); + this.wolfLeg1.setRotationPoint(-2.5F, 22.0F, 2.0F); + this.wolfLeg1.rotateAngleX = ((float) Math.PI * 3F / 2F); + this.wolfLeg2.setRotationPoint(0.5F, 22.0F, 2.0F); + this.wolfLeg2.rotateAngleX = ((float) Math.PI * 3F / 2F); + this.wolfLeg3.rotateAngleX = 5.811947F; + this.wolfLeg3.setRotationPoint(-2.49F, 17.0F, -4.0F); + this.wolfLeg4.rotateAngleX = 5.811947F; + this.wolfLeg4.setRotationPoint(0.51F, 17.0F, -4.0F); + } else { + this.wolfBody.setRotationPoint(0.0F, 14.0F, 2.0F); + this.wolfBody.rotateAngleX = ((float) Math.PI / 2F); + this.wolfMane.setRotationPoint(-1.0F, 14.0F, -3.0F); + this.wolfMane.rotateAngleX = this.wolfBody.rotateAngleX; + this.wolfTail.setRotationPoint(-1.0F, 12.0F, 8.0F); + this.wolfLeg1.setRotationPoint(-2.5F, 16.0F, 7.0F); + this.wolfLeg2.setRotationPoint(0.5F, 16.0F, 7.0F); + this.wolfLeg3.setRotationPoint(-2.5F, 16.0F, -4.0F); + this.wolfLeg4.setRotationPoint(0.5F, 16.0F, -4.0F); + this.wolfLeg1.rotateAngleX = MathHelper.cos(par2 * 0.6662F) * 1.4F * par3; + this.wolfLeg2.rotateAngleX = MathHelper.cos(par2 * 0.6662F + (float) Math.PI) * 1.4F * par3; + this.wolfLeg3.rotateAngleX = MathHelper.cos(par2 * 0.6662F + (float) Math.PI) * 1.4F * par3; + this.wolfLeg4.rotateAngleX = MathHelper.cos(par2 * 0.6662F) * 1.4F * par3; + } + + this.wolfHeadMain.rotateAngleZ = entitywolf.getInterestedAngle(par4) + entitywolf.getShakeAngle(par4, 0.0F); + this.wolfMane.rotateAngleZ = entitywolf.getShakeAngle(par4, -0.08F); + this.wolfBody.rotateAngleZ = entitywolf.getShakeAngle(par4, -0.16F); + this.wolfTail.rotateAngleZ = entitywolf.getShakeAngle(par4, -0.2F); + } + + /** + * Sets the model's various rotation angles. For bipeds, par1 and par2 are used for animating the movement of arms + * and legs, where par1 represents the time(so that arms and legs swing back and forth) and par2 represents how + * "far" arms and legs can swing at most. + */ + @Override + public void setRotationAngles(float par1, float par2, float par3, float par4, float par5, float par6, Entity par7Entity) { + super.setRotationAngles(par1, par2, par3, par4, par5, par6, par7Entity); + this.wolfHeadMain.rotateAngleX = par5 / (180F / (float) Math.PI); + this.wolfHeadMain.rotateAngleY = par4 / (180F / (float) Math.PI); + this.wolfTail.rotateAngleX = par3; + } } diff --git a/src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java b/src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java index 0abb4f4..83ae24b 100644 --- a/src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java +++ b/src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java @@ -1,9 +1,9 @@ package com.teammetallurgy.atum.client.model.entity; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.client.model.ModelZombie; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.client.model.ModelZombie; @SideOnly(Side.CLIENT) public class ModelDustySkeleton extends ModelZombie { diff --git a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderBandit.java b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderBandit.java index 93f4b71..6025e76 100644 --- a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderBandit.java +++ b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderBandit.java @@ -1,29 +1,9 @@ package com.teammetallurgy.atum.client.render.entity; -import static net.minecraftforge.client.IItemRenderer.ItemRenderType.EQUIPPED; -import static net.minecraftforge.client.IItemRenderer.ItemRendererHelper.BLOCK_3D; -import net.minecraft.block.Block; -import net.minecraft.client.model.ModelBiped; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.entity.RenderBiped; -import net.minecraft.client.renderer.tileentity.TileEntitySkullRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; - -import org.lwjgl.opengl.GL11; - -import com.teammetallurgy.atum.entity.EntityBanditWarrior; -import com.teammetallurgy.atum.items.AtumItems; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.renderer.entity.RenderBiped; @SideOnly(Side.CLIENT) public class RenderBandit extends RenderBiped { diff --git a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java index 92c7945..98fcaba 100644 --- a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java +++ b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java @@ -1,19 +1,15 @@ package com.teammetallurgy.atum.client.render.entity; +import com.teammetallurgy.atum.entity.EntityDesertWolf; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.model.ModelBase; import net.minecraft.client.renderer.entity.RenderLiving; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.passive.EntitySheep; import net.minecraft.util.ResourceLocation; - import org.lwjgl.opengl.GL11; -import com.teammetallurgy.atum.entity.EntityDesertWolf; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - @SideOnly(Side.CLIENT) public class RenderDesertWolf extends RenderLiving { public RenderDesertWolf(ModelBase par1ModelBase, ModelBase par2ModelBase, float par3) { @@ -28,7 +24,7 @@ protected float getTailRotation(EntityDesertWolf par1EntityDesertWolf, float par protected int func_82447_a(EntityDesertWolf par1EntityDesertWolf, int par2, float par3) { float f1; this.bindEntityTexture(par1EntityDesertWolf); - if(par2 == 0 && par1EntityDesertWolf.getWolfShaking()) { + if (par2 == 0 && par1EntityDesertWolf.getWolfShaking()) { f1 = par1EntityDesertWolf.getBrightness(par3) * par1EntityDesertWolf.getShadingWhileShaking(par3); GL11.glColor3f(f1, f1, f1); return 1; diff --git a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderGhost.java b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderGhost.java index 1a00a3d..1be4794 100644 --- a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderGhost.java +++ b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderGhost.java @@ -1,7 +1,8 @@ package com.teammetallurgy.atum.client.render.entity; -import java.util.Random; - +import com.teammetallurgy.atum.entity.EntityGhost; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.model.ModelBase; @@ -17,20 +18,18 @@ import net.minecraft.entity.projectile.EntityArrow; import net.minecraft.util.MathHelper; import net.minecraft.util.ResourceLocation; - import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; -import com.teammetallurgy.atum.entity.EntityGhost; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.Random; @SideOnly(Side.CLIENT) public class RenderGhost extends Render { protected ModelBase mainModel; - /** The model to be used during the render passes. */ + /** + * The model to be used during the render passes. + */ protected ModelBase renderPassModel; public RenderGhost(ModelBase par1ModelBase, float par2) { diff --git a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderPharaoh.java b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderPharaoh.java index ba12743..7d03aa3 100644 --- a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderPharaoh.java +++ b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderPharaoh.java @@ -1,32 +1,13 @@ package com.teammetallurgy.atum.client.render.entity; -import static net.minecraftforge.client.IItemRenderer.ItemRenderType.EQUIPPED; -import static net.minecraftforge.client.IItemRenderer.ItemRendererHelper.BLOCK_3D; - -import com.mojang.authlib.GameProfile; -import net.minecraft.block.Block; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.model.ModelBiped; -import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.entity.RenderBiped; -import net.minecraft.client.renderer.entity.RenderZombie; -import net.minecraft.client.renderer.tileentity.TileEntitySkullRenderer; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.boss.BossStatus; -import net.minecraft.init.Items; -import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; -import net.minecraftforge.client.MinecraftForgeClient; - -import org.lwjgl.opengl.GL11; - -import com.teammetallurgy.atum.entity.EntityPharaoh; -import com.teammetallurgy.atum.items.AtumItems; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class RenderPharaoh extends RenderBiped { @@ -37,7 +18,7 @@ public RenderPharaoh(ModelBiped par1ModelBiped, float par2) { @Override public void doRender(EntityLivingBase par1Entity, double par2, double par4, double par6, float par8, float par9) { - BossStatus.setBossStatus((net.minecraft.entity.boss.IBossDisplayData) par1Entity, true); + BossStatus.setBossStatus((net.minecraft.entity.boss.IBossDisplayData) par1Entity, true); super.doRender(par1Entity, par2, par4, par6, par8, par9); } diff --git a/src/main/java/com/teammetallurgy/atum/client/render/entity/arrow/RenderCustomArrow.java b/src/main/java/com/teammetallurgy/atum/client/render/entity/arrow/RenderCustomArrow.java index 195ec0a..e172fb9 100644 --- a/src/main/java/com/teammetallurgy/atum/client/render/entity/arrow/RenderCustomArrow.java +++ b/src/main/java/com/teammetallurgy/atum/client/render/entity/arrow/RenderCustomArrow.java @@ -1,23 +1,20 @@ package com.teammetallurgy.atum.client.render.entity.arrow; +import com.teammetallurgy.atum.entity.arrow.CustomArrow; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.entity.Render; import net.minecraft.entity.Entity; import net.minecraft.util.MathHelper; import net.minecraft.util.ResourceLocation; - import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; -import com.teammetallurgy.atum.entity.arrow.CustomArrow; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - @SideOnly(Side.CLIENT) public class RenderCustomArrow extends Render { - - + + public void renderArrow(CustomArrow entityArrow, double par2, double par4, double par6, float par8, float par9) { this.bindEntityTexture(entityArrow); GL11.glPushMatrix(); @@ -38,7 +35,7 @@ public void renderArrow(CustomArrow entityArrow, double par2, double par4, doubl GL11.glEnable(GL12.GL_RESCALE_NORMAL); float f11 = (float) entityArrow.arrowShake - par9; - if(f11 > 0.0F) { + if (f11 > 0.0F) { float f12 = -MathHelper.sin(f11 * 3.0F) * f11; GL11.glRotatef(f12, 0.0F, 0.0F, 1.0F); } @@ -61,7 +58,7 @@ public void renderArrow(CustomArrow entityArrow, double par2, double par4, doubl tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double) f6, (double) f9); tessellator.draw(); - for(int i = 0; i < 4; ++i) { + for (int i = 0; i < 4; ++i) { GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); GL11.glNormal3f(0.0F, 0.0F, f10); tessellator.startDrawingQuads(); @@ -87,6 +84,6 @@ public void doRender(Entity par1Entity, double par2, double par4, double par6, f @Override protected ResourceLocation getEntityTexture(Entity entity) { - return new ResourceLocation(((CustomArrow)entity).getTexture()); + return new ResourceLocation(((CustomArrow) entity).getTexture()); } } \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/client/render/entity/arrow/RenderNutsCall.java b/src/main/java/com/teammetallurgy/atum/client/render/entity/arrow/RenderNutsCall.java index 20b9215..6e87793 100644 --- a/src/main/java/com/teammetallurgy/atum/client/render/entity/arrow/RenderNutsCall.java +++ b/src/main/java/com/teammetallurgy/atum/client/render/entity/arrow/RenderNutsCall.java @@ -1,20 +1,17 @@ package com.teammetallurgy.atum.client.render.entity.arrow; +import com.teammetallurgy.atum.entity.arrow.CustomArrow; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.ItemRenderer; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.entity.Render; import net.minecraft.entity.Entity; import net.minecraft.util.MathHelper; import net.minecraft.util.ResourceLocation; - import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; -import com.teammetallurgy.atum.entity.arrow.CustomArrow; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - @SideOnly(Side.CLIENT) public class RenderNutsCall extends Render { @@ -38,7 +35,7 @@ public void renderArrow(CustomArrow par1EntityFireSpearCombined, double par2, do GL11.glEnable(GL12.GL_RESCALE_NORMAL); float f11 = (float) par1EntityFireSpearCombined.arrowShake - par9; - if(f11 > 0.0F) { + if (f11 > 0.0F) { float f12 = -MathHelper.sin(f11 * 3.0F) * f11; GL11.glRotatef(f12, 0.0F, 0.0F, 1.0F); } diff --git a/src/main/java/com/teammetallurgy/atum/client/render/item/RendererItemBow.java b/src/main/java/com/teammetallurgy/atum/client/render/item/RendererItemBow.java index ad4c597..fffc581 100644 --- a/src/main/java/com/teammetallurgy/atum/client/render/item/RendererItemBow.java +++ b/src/main/java/com/teammetallurgy/atum/client/render/item/RendererItemBow.java @@ -8,7 +8,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraftforge.client.IItemRenderer; - import org.lwjgl.opengl.GL11; public class RendererItemBow implements IItemRenderer { diff --git a/src/main/java/com/teammetallurgy/atum/client/render/tileentity/RenderDate.java b/src/main/java/com/teammetallurgy/atum/client/render/tileentity/RenderDate.java index a38705a..74bd15f 100644 --- a/src/main/java/com/teammetallurgy/atum/client/render/tileentity/RenderDate.java +++ b/src/main/java/com/teammetallurgy/atum/client/render/tileentity/RenderDate.java @@ -1,17 +1,15 @@ package com.teammetallurgy.atum.client.render.tileentity; +import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.BlockDate; +import com.teammetallurgy.atum.client.model.tileentity.ModelDate; +import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; import net.minecraft.block.Block; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.Tessellator; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; -import com.teammetallurgy.atum.blocks.AtumBlocks; -import com.teammetallurgy.atum.blocks.BlockDate; -import com.teammetallurgy.atum.client.model.tileentity.ModelDate; - -import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; - public class RenderDate implements ISimpleBlockRenderingHandler { ModelDate modelDate = new ModelDate(); diff --git a/src/main/java/com/teammetallurgy/atum/client/render/tileentity/RenderPapyrus.java b/src/main/java/com/teammetallurgy/atum/client/render/tileentity/RenderPapyrus.java index 6dee346..c94658b 100644 --- a/src/main/java/com/teammetallurgy/atum/client/render/tileentity/RenderPapyrus.java +++ b/src/main/java/com/teammetallurgy/atum/client/render/tileentity/RenderPapyrus.java @@ -1,5 +1,6 @@ package com.teammetallurgy.atum.client.render.tileentity; +import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; import net.minecraft.block.Block; import net.minecraft.client.renderer.EntityRenderer; import net.minecraft.client.renderer.RenderBlocks; @@ -7,7 +8,6 @@ import net.minecraft.init.Blocks; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; -import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; public class RenderPapyrus implements ISimpleBlockRenderingHandler { diff --git a/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java b/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java index 4f03d8e..ca08cc8 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java +++ b/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java @@ -1,17 +1,7 @@ package com.teammetallurgy.atum.entity; -import net.minecraft.entity.EntityList; - import com.teammetallurgy.atum.Atum; -import com.teammetallurgy.atum.entity.arrow.EntityArrowDoubleShot; -import com.teammetallurgy.atum.entity.arrow.EntityArrowExplosive; -import com.teammetallurgy.atum.entity.arrow.EntityArrowFire; -import com.teammetallurgy.atum.entity.arrow.EntityArrowPoison; -import com.teammetallurgy.atum.entity.arrow.EntityArrowQuickdraw; -import com.teammetallurgy.atum.entity.arrow.EntityArrowVelocity; -import com.teammetallurgy.atum.entity.arrow.EntityAtumFishHook; -import com.teammetallurgy.atum.entity.arrow.EntityNutsCall; - +import com.teammetallurgy.atum.entity.arrow.*; import cpw.mods.fml.common.registry.EntityRegistry; public enum AtumEntities { diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityBanditArcher.java b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditArcher.java index 3c2b695..853f694 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityBanditArcher.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditArcher.java @@ -1,20 +1,10 @@ package com.teammetallurgy.atum.entity; +import com.teammetallurgy.atum.items.AtumItems; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.EnumCreatureAttribute; -import net.minecraft.entity.IRangedAttackMob; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.EntityAIArrowAttack; -import net.minecraft.entity.ai.EntityAIHurtByTarget; -import net.minecraft.entity.ai.EntityAILookIdle; -import net.minecraft.entity.ai.EntityAINearestAttackableTarget; -import net.minecraft.entity.ai.EntityAIRestrictSun; -import net.minecraft.entity.ai.EntityAISwimming; -import net.minecraft.entity.ai.EntityAIWander; -import net.minecraft.entity.ai.EntityAIWatchClosest; +import net.minecraft.entity.*; +import net.minecraft.entity.ai.*; import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntityArrow; @@ -23,8 +13,6 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.AtumItems; - public class EntityBanditArcher extends EntityMob implements IRangedAttackMob { private EntityAIArrowAttack aiArrowAttack = new EntityAIArrowAttack(this, 1.0D, 20, 60, 15.0F); diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarlord.java b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarlord.java index 7bc7582..52f26f5 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarlord.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarlord.java @@ -1,5 +1,6 @@ package com.teammetallurgy.atum.entity; +import com.teammetallurgy.atum.items.AtumItems; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.SharedMonsterAttributes; @@ -8,8 +9,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.AtumItems; - public class EntityBanditWarlord extends EntityMob { public EntityBanditWarlord(World par1World) { diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarrior.java b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarrior.java index abfe24c..2f8892b 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarrior.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarrior.java @@ -1,5 +1,6 @@ package com.teammetallurgy.atum.entity; +import com.teammetallurgy.atum.items.AtumItems; import net.minecraft.entity.Entity; import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.SharedMonsterAttributes; @@ -9,82 +10,80 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.AtumItems; - public class EntityBanditWarrior extends EntityMob { - public EntityBanditWarrior(World par1World) { - super(par1World); - this.experienceValue = 8; + public EntityBanditWarrior(World par1World) { + super(par1World); + this.experienceValue = 8; - super.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCIMITAR)); - this.enchantEquipment(); + super.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCIMITAR)); + this.enchantEquipment(); - for (int i = 0; i < this.equipmentDropChances.length; ++i) { - this.equipmentDropChances[i] = 0F; - } - } + for (int i = 0; i < this.equipmentDropChances.length; ++i) { + this.equipmentDropChances[i] = 0F; + } + } - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(30.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(3.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); - } + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(30.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(3.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } - public String getTexture() { - return "atum:textures/entities/BanditWarrior.png"; - } + public String getTexture() { + return "atum:textures/entities/BanditWarrior.png"; + } - @Override - public boolean getCanSpawnHere() { - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - } + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - @Override - protected boolean isValidLightLevel() { - return true; - } + /** + * Checks to make sure the light is not too bright where the mob is spawning + */ + @Override + protected boolean isValidLightLevel() { + return true; + } - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEFINED; - } + /** + * Get this Entity's EnumCreatureAttribute + */ + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } - /** - * Returns the amount of damage a mob should deal. - */ - public int getAttackStrength(Entity par1Entity) { - ItemStack itemstack = this.getHeldItem(); - float f = (float) (this.getMaxHealth() - this.getHealth()) / (float) this.getMaxHealth(); - int i = 3 + MathHelper.floor_float(f * 4.0F); + /** + * Returns the amount of damage a mob should deal. + */ + public int getAttackStrength(Entity par1Entity) { + ItemStack itemstack = this.getHeldItem(); + float f = (float) (this.getMaxHealth() - this.getHealth()) / (float) this.getMaxHealth(); + int i = 3 + MathHelper.floor_float(f * 4.0F); - return i; - } + return i; + } - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity - * has recently been hit by a player. @param par2 - Level of Looting used to - * kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) { - if (rand.nextInt(20) == 0) { - int damage = (int) (AtumItems.ITEM_SCIMITAR.getMaxDamage() - rand.nextInt(AtumItems.ITEM_SCIMITAR.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(AtumItems.ITEM_SCIMITAR, 1, damage), 0.0F); - } + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + if (rand.nextInt(20) == 0) { + int damage = (int) (AtumItems.ITEM_SCIMITAR.getMaxDamage() - rand.nextInt(AtumItems.ITEM_SCIMITAR.getMaxDamage()) * 0.5 + 20); + this.entityDropItem(new ItemStack(AtumItems.ITEM_SCIMITAR, 1, damage), 0.0F); + } - if (rand.nextInt(10) == 0) { - int amount = rand.nextInt(2) + 1; - this.dropItem(Items.gold_nugget, amount); - } - } + if (rand.nextInt(10) == 0) { + int amount = rand.nextInt(2) + 1; + this.dropItem(Items.gold_nugget, amount); + } + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityBarbarian.java b/src/main/java/com/teammetallurgy/atum/entity/EntityBarbarian.java index cde5d07..48618bd 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityBarbarian.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityBarbarian.java @@ -1,5 +1,6 @@ package com.teammetallurgy.atum.entity; +import com.teammetallurgy.atum.items.AtumItems; import net.minecraft.entity.Entity; import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.SharedMonsterAttributes; @@ -9,70 +10,68 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.AtumItems; - public class EntityBarbarian extends EntityMob { - public EntityBarbarian(World par1World) { - super(par1World); - this.experienceValue = 9; + public EntityBarbarian(World par1World) { + super(par1World); + this.experienceValue = 9; - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_GREATSWORD)); - this.enchantEquipment(); + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_GREATSWORD)); + this.enchantEquipment(); - for (int i = 0; i < this.equipmentDropChances.length; ++i) { - this.equipmentDropChances[i] = 0F; - } - } + for (int i = 0; i < this.equipmentDropChances.length; ++i) { + this.equipmentDropChances[i] = 0F; + } + } - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(30.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); - } + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(30.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } - @Override - protected void addRandomArmor() { - } + @Override + protected void addRandomArmor() { + } - @Override - public boolean getCanSpawnHere() { - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - } + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } - @Override - protected boolean isValidLightLevel() { - return true; - } + @Override + protected boolean isValidLightLevel() { + return true; + } - @Override - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEFINED; - } + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } - @Override - protected void dropFewItems(boolean par1, int par2) { - if (rand.nextInt(20) == 0) { - int damage = (int) (AtumItems.ITEM_GREATSWORD.getMaxDamage() - rand.nextInt(AtumItems.ITEM_GREATSWORD.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(AtumItems.ITEM_GREATSWORD, 1, damage), 0.0F); - } + @Override + protected void dropFewItems(boolean par1, int par2) { + if (rand.nextInt(20) == 0) { + int damage = (int) (AtumItems.ITEM_GREATSWORD.getMaxDamage() - rand.nextInt(AtumItems.ITEM_GREATSWORD.getMaxDamage()) * 0.5 + 20); + this.entityDropItem(new ItemStack(AtumItems.ITEM_GREATSWORD, 1, damage), 0.0F); + } - if (rand.nextInt(4) == 0) { - int amount = rand.nextInt(2) + 1; - this.dropItem(Items.gold_nugget, amount); - } - } + if (rand.nextInt(4) == 0) { + int amount = rand.nextInt(2) + 1; + this.dropItem(Items.gold_nugget, amount); + } + } - @Override - protected void attackEntity(Entity mob, float par2) { + @Override + protected void attackEntity(Entity mob, float par2) { - if (!(mob instanceof EntityStoneSoldier || mob instanceof EntityPharaoh)) { - float j = 1.2f; - mob.addVelocity((double) (-MathHelper.sin(this.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), 0.1D, (double) (MathHelper.cos(this.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); - } - super.attackEntity(mob, par2); - } + if (!(mob instanceof EntityStoneSoldier || mob instanceof EntityPharaoh)) { + float j = 1.2f; + mob.addVelocity((double) (-MathHelper.sin(this.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), 0.1D, (double) (MathHelper.cos(this.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); + } + super.attackEntity(mob, par2); + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java b/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java index 22d5f10..7e3b983 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java @@ -1,22 +1,10 @@ package com.teammetallurgy.atum.entity; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityAgeable; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.EntityAIAttackOnCollide; -import net.minecraft.entity.ai.EntityAIFollowOwner; -import net.minecraft.entity.ai.EntityAIHurtByTarget; -import net.minecraft.entity.ai.EntityAILeapAtTarget; -import net.minecraft.entity.ai.EntityAILookIdle; -import net.minecraft.entity.ai.EntityAIMate; -import net.minecraft.entity.ai.EntityAIOwnerHurtByTarget; -import net.minecraft.entity.ai.EntityAIOwnerHurtTarget; -import net.minecraft.entity.ai.EntityAISwimming; -import net.minecraft.entity.ai.EntityAITargetNonTamed; -import net.minecraft.entity.ai.EntityAIWander; -import net.minecraft.entity.ai.EntityAIWatchClosest; +import com.teammetallurgy.atum.items.AtumItems; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.entity.*; +import net.minecraft.entity.ai.*; import net.minecraft.entity.passive.EntityAnimal; import net.minecraft.entity.passive.EntityTameable; import net.minecraft.entity.player.EntityPlayer; @@ -30,496 +18,490 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.AtumItems; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - public class EntityDesertWolf extends EntityTameable { - private float field_70926_e; - private float field_70924_f; - - /** - * true is the wolf is wet else false - */ - private boolean isShaking; - private boolean field_70928_h; - - /** - * This time increases while wolf is shaking and emitting water particles. - */ - private float timeWolfIsShaking; - private float prevTimeWolfIsShaking; - - public EntityDesertWolf(World par1World) { - super(par1World); - this.dataWatcher.addObject(18, new Float(this.getHealth())); - this.dataWatcher.addObject(19, new Byte((byte) 0)); - this.setAngry(true); - this.experienceValue = 6; - - this.setSize(0.6F, 0.8F); - this.getNavigator().setAvoidsWater(true); - this.tasks.addTask(1, new EntityAISwimming(this)); - this.tasks.addTask(2, this.aiSit); - this.tasks.addTask(3, new EntityAILeapAtTarget(this, 0.4F)); - this.tasks.addTask(4, new EntityAIAttackOnCollide(this, 1, true)); - this.tasks.addTask(5, new EntityAIFollowOwner(this, 0.8, 10.0F, 2.0F)); - this.tasks.addTask(6, new EntityAIMate(this, 0.8)); - this.tasks.addTask(7, new EntityAIWander(this, this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).getAttributeValue())); - this.tasks.addTask(8, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); - this.tasks.addTask(9, new EntityAILookIdle(this)); - this.targetTasks.addTask(1, new EntityAIOwnerHurtByTarget(this)); - this.targetTasks.addTask(2, new EntityAIOwnerHurtTarget(this)); - this.targetTasks.addTask(3, new EntityAIHurtByTarget(this, true)); - this.targetTasks.addTask(4, new EntityAITargetNonTamed(this, EntityPlayer.class, 16, true)); - } - - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(8.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.43000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); - } - - /** - * Returns true if the newer Entity AI code should be run - */ - @Override - public boolean isAIEnabled() { - return true; - } - - /** - * Finds the closest player within 16 blocks to attack, or null if this - * Entity isn't interested in attacking (Animals, Spiders at day, peaceful - * PigZombies). - */ - @Override - protected Entity findPlayerToAttack() { - EntityPlayer entityplayer = this.worldObj.getClosestVulnerablePlayerToEntity(this, 16.0D); - return entityplayer != null && this.canEntityBeSeen(entityplayer) ? entityplayer : null; - } - - /** - * Sets the active target the Task system uses for tracking - */ - @Override - public void setAttackTarget(EntityLivingBase par1EntityLiving) { - super.setAttackTarget(par1EntityLiving); - - if (par1EntityLiving instanceof EntityPlayer) { - this.setAngry(true); - } - } - - /** - * main AI tick function, replaces updateEntityActionState - */ - @Override - protected void updateAITick() { - this.dataWatcher.updateObject(18, Float.valueOf(this.getHealth())); - } - - /** - * Checks if the entity's current position is a valid location to spawn this - * entity. - */ - @Override - public boolean getCanSpawnHere() { - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - } - - @Override - public void playSound(String par1Str, float par2, float par3) { - //this.playSound("mob.wolf.step", 0.15F, 1.0F); - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - @Override - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - super.writeEntityToNBT(par1NBTTagCompound); - par1NBTTagCompound.setBoolean("Angry", this.isAngry()); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - @Override - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - super.readEntityFromNBT(par1NBTTagCompound); - this.setAngry(par1NBTTagCompound.getBoolean("Angry")); - - } - - /** - * Determines if an entity can be despawned, used on idle far away entities - */ - @Override - protected boolean canDespawn() { - return this.isAngry(); - } - - /** - * Returns the sound this mob makes while it's alive. - */ - @Override - protected String getLivingSound() { - return this.isAngry() ? "mob.wolf.growl" : (this.rand.nextInt(3) == 0 ? (this.isTamed() && this.dataWatcher.getWatchableObjectInt(18) < 10 ? "mob.wolf.whine" : "mob.wolf.panting") : "mob.wolf.bark"); - } - - /** - * Returns the sound this mob makes when it is hurt. - */ - @Override - protected String getHurtSound() { - return "mob.wolf.hurt"; - } - - /** - * Returns the sound this mob makes on death. - */ - @Override - protected String getDeathSound() { - return "mob.wolf.death"; - } - - /** - * Returns the volume for the sounds this mob makes. - */ - @Override - protected float getSoundVolume() { - return 0.4F; - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity - * has recently been hit by a player. @param par2 - Level of Looting used to - * kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) { - if (rand.nextInt(10) == 0) { - this.dropItem(Items.bone, 1); - } - if (rand.nextInt(4) == 0) { - int amount = rand.nextInt(2) + 1; - this.dropItem(AtumItems.ITEM_PELT, amount); - } - } - - /** - * Called frequently so the entity can update its state every tick as - * required. For example, zombies and skeletons use this to react to - * sunlight and start to burn. - */ - @Override - public void onLivingUpdate() { - super.onLivingUpdate(); - - if (!this.worldObj.isRemote && this.isShaking && !this.field_70928_h && !this.hasPath() && this.onGround) { - this.field_70928_h = true; - this.timeWolfIsShaking = 0.0F; - this.prevTimeWolfIsShaking = 0.0F; - this.worldObj.setEntityState(this, (byte) 8); - } - } - - /** - * Called to update the entity's position/logic. - */ - @Override - public void onUpdate() { - super.onUpdate(); - - if (!this.worldObj.isRemote && this.worldObj.difficultySetting.getDifficultyId() == 0) { - this.setDead(); - return; - } - - this.field_70924_f = this.field_70926_e; - - if (this.func_70922_bv()) { - this.field_70926_e += (1.0F - this.field_70926_e) * 0.4F; - } else { - this.field_70926_e += (0.0F - this.field_70926_e) * 0.4F; - } - - if (this.func_70922_bv()) { - this.numTicksToChaseTarget = 10; - } - - if (this.isWet()) { - this.isShaking = true; - this.field_70928_h = false; - this.timeWolfIsShaking = 0.0F; - this.prevTimeWolfIsShaking = 0.0F; - } else if ((this.isShaking || this.field_70928_h) && this.field_70928_h) { - if (this.timeWolfIsShaking == 0.0F) { - this.playSound("mob.wolf.shake", this.getSoundVolume(), (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F); - } - - this.prevTimeWolfIsShaking = this.timeWolfIsShaking; - this.timeWolfIsShaking += 0.05F; - - if (this.prevTimeWolfIsShaking >= 2.0F) { - this.isShaking = false; - this.field_70928_h = false; - this.prevTimeWolfIsShaking = 0.0F; - this.timeWolfIsShaking = 0.0F; - } - - if (this.timeWolfIsShaking > 0.4F) { - float f = (float) this.boundingBox.minY; - int i = (int) (MathHelper.sin((this.timeWolfIsShaking - 0.4F) * (float) Math.PI) * 7.0F); - - for (int j = 0; j < i; ++j) { - float f1 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; - float f2 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; - this.worldObj.spawnParticle("splash", this.posX + (double) f1, (double) (f + 0.8F), this.posZ + (double) f2, this.motionX, this.motionY, this.motionZ); - } - } - } - } - - @SideOnly(Side.CLIENT) - public boolean getWolfShaking() { - return this.isShaking; - } - - @SideOnly(Side.CLIENT) - /** - * Used when calculating the amount of shading to apply while the wolf is shaking. - */ - public float getShadingWhileShaking(float par1) { - return 0.75F + (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * par1) / 2.0F * 0.25F; - } - - @SideOnly(Side.CLIENT) - public float getShakeAngle(float par1, float par2) { - float f2 = (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * par1 + par2) / 1.8F; - - if (f2 < 0.0F) { - f2 = 0.0F; - } else if (f2 > 1.0F) { - f2 = 1.0F; - } - - return MathHelper.sin(f2 * (float) Math.PI) * MathHelper.sin(f2 * (float) Math.PI * 11.0F) * 0.15F * (float) Math.PI; - } - - @SideOnly(Side.CLIENT) - public float getInterestedAngle(float par1) { - return (this.field_70924_f + (this.field_70926_e - this.field_70924_f) * par1) * 0.15F * (float) Math.PI; - } - - @Override - public float getEyeHeight() { - return this.height * 0.8F; - } - - /** - * The speed it takes to move the entityliving's rotationPitch through the - * faceEntity method. This is only currently use in wolves. - */ - @Override - public int getVerticalFaceSpeed() { - return this.isSitting() ? 20 : super.getVerticalFaceSpeed(); - } - - /** - * Called when the entity is attacked. - */ - @Override - public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { - if (this.isEntityInvulnerable()) { - return false; - } else { - Entity entity = par1DamageSource.getEntity(); - this.aiSit.setSitting(false); - - if (entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) { - par2 = (par2 + 1) / 2; - } - - return super.attackEntityFrom(par1DamageSource, par2); - } - } - - @Override - public boolean attackEntityAsMob(Entity par1Entity) { - int i = this.isTamed() ? 4 : 2; - return par1Entity.attackEntityFrom(DamageSource.causeMobDamage(this), i); - } - - /** - * Called when a player interacts with a mob. e.g. gets milk from a cow, - * gets into the saddle on a pig. - */ - @Override - public boolean interact(EntityPlayer par1EntityPlayer) { - ItemStack itemstack = par1EntityPlayer.inventory.getCurrentItem(); - - if (this.isTamed()) { - if (itemstack != null) { - if (itemstack.getItem() instanceof ItemFood) { - ItemFood itemfood = (ItemFood) itemstack.getItem(); - - if (itemfood.isWolfsFavoriteMeat() && this.dataWatcher.getWatchableObjectInt(18) < 20) { - if (!par1EntityPlayer.capabilities.isCreativeMode) { - --itemstack.stackSize; - } - - this.heal(itemfood.func_150905_g(itemstack)); - - if (itemstack.stackSize <= 0) { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); - } - - return true; - } - } - } - - if (this.func_152114_e(par1EntityPlayer) && !this.worldObj.isRemote && !this.isBreedingItem(itemstack)) { - this.aiSit.setSitting(!this.isSitting()); - this.isJumping = false; - this.setPathToEntity((PathEntity) null); - } - } else if (itemstack != null && itemstack.getItem() == Items.bone && !this.isAngry()) { - if (!par1EntityPlayer.capabilities.isCreativeMode) { - --itemstack.stackSize; - } - - if (itemstack.stackSize <= 0) { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); - } - - if (!this.worldObj.isRemote) { - if (this.rand.nextInt(3) == 0) { - this.setTamed(true); - this.setPathToEntity((PathEntity) null); - this.setAttackTarget((EntityLiving) null); - this.aiSit.setSitting(true); - this.func_152115_b(par1EntityPlayer.getUniqueID().toString()); - this.playTameEffect(true); - this.worldObj.setEntityState(this, (byte) 7); - } else { - this.playTameEffect(false); - this.worldObj.setEntityState(this, (byte) 6); - } - } - - return true; - } - - return super.interact(par1EntityPlayer); - } - - @SideOnly(Side.CLIENT) - @Override - public void handleHealthUpdate(byte par1) { - if (par1 == 8) { - this.field_70928_h = true; - this.timeWolfIsShaking = 0.0F; - this.prevTimeWolfIsShaking = 0.0F; - } else { - super.handleHealthUpdate(par1); - } - } - - @SideOnly(Side.CLIENT) - public float getTailRotation() { - return this.isAngry() ? 1.5393804F : (this.isTamed() ? (0.55F - (float) (20 - this.dataWatcher.getWatchableObjectInt(18)) * 0.02F) * (float) Math.PI : ((float) Math.PI / 5F)); - } - - /** - * Checks if the parameter is an item which this animal can be fed to breed - * it (wheat, carrots or seeds depending on the animal type) - */ - @Override - public boolean isBreedingItem(ItemStack par1ItemStack) { - return par1ItemStack == null ? false : (!(par1ItemStack.getItem() instanceof ItemFood) ? false : ((ItemFood) par1ItemStack.getItem()).isWolfsFavoriteMeat()); - } - - /** - * Will return how many at most can spawn in a chunk at once. - */ - @Override - public int getMaxSpawnedInChunk() { - return 8; - } - - /** - * Determines whether this wolf is angry or not. - */ - public boolean isAngry() { - return (this.dataWatcher.getWatchableObjectByte(16) & 2) != 0; - } - - /** - * Sets whether this wolf is angry or not. - */ - public void setAngry(boolean par1) { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 2))); - } else { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -3))); - } - } - - public void func_70918_i(boolean par1) { - byte b0 = this.dataWatcher.getWatchableObjectByte(19); - - if (par1) { - this.dataWatcher.updateObject(19, Byte.valueOf((byte) 1)); - } else { - this.dataWatcher.updateObject(19, Byte.valueOf((byte) 0)); - } - } - - /** - * Returns true if the mob is currently able to mate with the specified mob. - */ - @Override - public boolean canMateWith(EntityAnimal par1EntityAnimal) { - if (par1EntityAnimal == this) { - return false; - } else if (!this.isTamed()) { - return false; - } else if (!(par1EntityAnimal instanceof EntityDesertWolf)) { - return false; - } else { - EntityDesertWolf entitywolf = (EntityDesertWolf) par1EntityAnimal; - return !entitywolf.isTamed() ? false : (entitywolf.isSitting() ? false : this.isInLove() && entitywolf.isInLove()); - } - } - - public boolean func_70922_bv() { - return this.dataWatcher.getWatchableObjectByte(19) == 1; - } - - @Override - public EntityAgeable createChild(EntityAgeable par1EntityAgeable) { - EntityDesertWolf entitywolf = new EntityDesertWolf(this.worldObj); - String s = this.func_152113_b(); - - if (s != null && s.trim().length() > 0) - { - entitywolf.func_152115_b(s); - entitywolf.setTamed(true); - } - - return entitywolf; - } - - @Override - public EntityLivingBase getOwner() { - return null; - } + private float field_70926_e; + private float field_70924_f; + + /** + * true is the wolf is wet else false + */ + private boolean isShaking; + private boolean field_70928_h; + + /** + * This time increases while wolf is shaking and emitting water particles. + */ + private float timeWolfIsShaking; + private float prevTimeWolfIsShaking; + + public EntityDesertWolf(World par1World) { + super(par1World); + this.dataWatcher.addObject(18, new Float(this.getHealth())); + this.dataWatcher.addObject(19, new Byte((byte) 0)); + this.setAngry(true); + this.experienceValue = 6; + + this.setSize(0.6F, 0.8F); + this.getNavigator().setAvoidsWater(true); + this.tasks.addTask(1, new EntityAISwimming(this)); + this.tasks.addTask(2, this.aiSit); + this.tasks.addTask(3, new EntityAILeapAtTarget(this, 0.4F)); + this.tasks.addTask(4, new EntityAIAttackOnCollide(this, 1, true)); + this.tasks.addTask(5, new EntityAIFollowOwner(this, 0.8, 10.0F, 2.0F)); + this.tasks.addTask(6, new EntityAIMate(this, 0.8)); + this.tasks.addTask(7, new EntityAIWander(this, this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).getAttributeValue())); + this.tasks.addTask(8, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); + this.tasks.addTask(9, new EntityAILookIdle(this)); + this.targetTasks.addTask(1, new EntityAIOwnerHurtByTarget(this)); + this.targetTasks.addTask(2, new EntityAIOwnerHurtTarget(this)); + this.targetTasks.addTask(3, new EntityAIHurtByTarget(this, true)); + this.targetTasks.addTask(4, new EntityAITargetNonTamed(this, EntityPlayer.class, 16, true)); + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(8.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.43000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } + + /** + * Returns true if the newer Entity AI code should be run + */ + @Override + public boolean isAIEnabled() { + return true; + } + + /** + * Finds the closest player within 16 blocks to attack, or null if this + * Entity isn't interested in attacking (Animals, Spiders at day, peaceful + * PigZombies). + */ + @Override + protected Entity findPlayerToAttack() { + EntityPlayer entityplayer = this.worldObj.getClosestVulnerablePlayerToEntity(this, 16.0D); + return entityplayer != null && this.canEntityBeSeen(entityplayer) ? entityplayer : null; + } + + /** + * Sets the active target the Task system uses for tracking + */ + @Override + public void setAttackTarget(EntityLivingBase par1EntityLiving) { + super.setAttackTarget(par1EntityLiving); + + if (par1EntityLiving instanceof EntityPlayer) { + this.setAngry(true); + } + } + + /** + * main AI tick function, replaces updateEntityActionState + */ + @Override + protected void updateAITick() { + this.dataWatcher.updateObject(18, Float.valueOf(this.getHealth())); + } + + /** + * Checks if the entity's current position is a valid location to spawn this + * entity. + */ + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } + + @Override + public void playSound(String par1Str, float par2, float par3) { + //this.playSound("mob.wolf.step", 0.15F, 1.0F); + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + @Override + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + super.writeEntityToNBT(par1NBTTagCompound); + par1NBTTagCompound.setBoolean("Angry", this.isAngry()); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + @Override + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + super.readEntityFromNBT(par1NBTTagCompound); + this.setAngry(par1NBTTagCompound.getBoolean("Angry")); + + } + + /** + * Determines if an entity can be despawned, used on idle far away entities + */ + @Override + protected boolean canDespawn() { + return this.isAngry(); + } + + /** + * Returns the sound this mob makes while it's alive. + */ + @Override + protected String getLivingSound() { + return this.isAngry() ? "mob.wolf.growl" : (this.rand.nextInt(3) == 0 ? (this.isTamed() && this.dataWatcher.getWatchableObjectInt(18) < 10 ? "mob.wolf.whine" : "mob.wolf.panting") : "mob.wolf.bark"); + } + + /** + * Returns the sound this mob makes when it is hurt. + */ + @Override + protected String getHurtSound() { + return "mob.wolf.hurt"; + } + + /** + * Returns the sound this mob makes on death. + */ + @Override + protected String getDeathSound() { + return "mob.wolf.death"; + } + + /** + * Returns the volume for the sounds this mob makes. + */ + @Override + protected float getSoundVolume() { + return 0.4F; + } + + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + if (rand.nextInt(10) == 0) { + this.dropItem(Items.bone, 1); + } + if (rand.nextInt(4) == 0) { + int amount = rand.nextInt(2) + 1; + this.dropItem(AtumItems.ITEM_PELT, amount); + } + } + + /** + * Called frequently so the entity can update its state every tick as + * required. For example, zombies and skeletons use this to react to + * sunlight and start to burn. + */ + @Override + public void onLivingUpdate() { + super.onLivingUpdate(); + + if (!this.worldObj.isRemote && this.isShaking && !this.field_70928_h && !this.hasPath() && this.onGround) { + this.field_70928_h = true; + this.timeWolfIsShaking = 0.0F; + this.prevTimeWolfIsShaking = 0.0F; + this.worldObj.setEntityState(this, (byte) 8); + } + } + + /** + * Called to update the entity's position/logic. + */ + @Override + public void onUpdate() { + super.onUpdate(); + + if (!this.worldObj.isRemote && this.worldObj.difficultySetting.getDifficultyId() == 0) { + this.setDead(); + return; + } + + this.field_70924_f = this.field_70926_e; + + if (this.func_70922_bv()) { + this.field_70926_e += (1.0F - this.field_70926_e) * 0.4F; + } else { + this.field_70926_e += (0.0F - this.field_70926_e) * 0.4F; + } + + if (this.func_70922_bv()) { + this.numTicksToChaseTarget = 10; + } + + if (this.isWet()) { + this.isShaking = true; + this.field_70928_h = false; + this.timeWolfIsShaking = 0.0F; + this.prevTimeWolfIsShaking = 0.0F; + } else if ((this.isShaking || this.field_70928_h) && this.field_70928_h) { + if (this.timeWolfIsShaking == 0.0F) { + this.playSound("mob.wolf.shake", this.getSoundVolume(), (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F); + } + + this.prevTimeWolfIsShaking = this.timeWolfIsShaking; + this.timeWolfIsShaking += 0.05F; + + if (this.prevTimeWolfIsShaking >= 2.0F) { + this.isShaking = false; + this.field_70928_h = false; + this.prevTimeWolfIsShaking = 0.0F; + this.timeWolfIsShaking = 0.0F; + } + + if (this.timeWolfIsShaking > 0.4F) { + float f = (float) this.boundingBox.minY; + int i = (int) (MathHelper.sin((this.timeWolfIsShaking - 0.4F) * (float) Math.PI) * 7.0F); + + for (int j = 0; j < i; ++j) { + float f1 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; + float f2 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; + this.worldObj.spawnParticle("splash", this.posX + (double) f1, (double) (f + 0.8F), this.posZ + (double) f2, this.motionX, this.motionY, this.motionZ); + } + } + } + } + + @SideOnly(Side.CLIENT) + public boolean getWolfShaking() { + return this.isShaking; + } + + @SideOnly(Side.CLIENT) + /** + * Used when calculating the amount of shading to apply while the wolf is shaking. + */ + public float getShadingWhileShaking(float par1) { + return 0.75F + (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * par1) / 2.0F * 0.25F; + } + + @SideOnly(Side.CLIENT) + public float getShakeAngle(float par1, float par2) { + float f2 = (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * par1 + par2) / 1.8F; + + if (f2 < 0.0F) { + f2 = 0.0F; + } else if (f2 > 1.0F) { + f2 = 1.0F; + } + + return MathHelper.sin(f2 * (float) Math.PI) * MathHelper.sin(f2 * (float) Math.PI * 11.0F) * 0.15F * (float) Math.PI; + } + + @SideOnly(Side.CLIENT) + public float getInterestedAngle(float par1) { + return (this.field_70924_f + (this.field_70926_e - this.field_70924_f) * par1) * 0.15F * (float) Math.PI; + } + + @Override + public float getEyeHeight() { + return this.height * 0.8F; + } + + /** + * The speed it takes to move the entityliving's rotationPitch through the + * faceEntity method. This is only currently use in wolves. + */ + @Override + public int getVerticalFaceSpeed() { + return this.isSitting() ? 20 : super.getVerticalFaceSpeed(); + } + + /** + * Called when the entity is attacked. + */ + @Override + public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { + if (this.isEntityInvulnerable()) { + return false; + } else { + Entity entity = par1DamageSource.getEntity(); + this.aiSit.setSitting(false); + + if (entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) { + par2 = (par2 + 1) / 2; + } + + return super.attackEntityFrom(par1DamageSource, par2); + } + } + + @Override + public boolean attackEntityAsMob(Entity par1Entity) { + int i = this.isTamed() ? 4 : 2; + return par1Entity.attackEntityFrom(DamageSource.causeMobDamage(this), i); + } + + /** + * Called when a player interacts with a mob. e.g. gets milk from a cow, + * gets into the saddle on a pig. + */ + @Override + public boolean interact(EntityPlayer par1EntityPlayer) { + ItemStack itemstack = par1EntityPlayer.inventory.getCurrentItem(); + + if (this.isTamed()) { + if (itemstack != null) { + if (itemstack.getItem() instanceof ItemFood) { + ItemFood itemfood = (ItemFood) itemstack.getItem(); + + if (itemfood.isWolfsFavoriteMeat() && this.dataWatcher.getWatchableObjectInt(18) < 20) { + if (!par1EntityPlayer.capabilities.isCreativeMode) { + --itemstack.stackSize; + } + + this.heal(itemfood.func_150905_g(itemstack)); + + if (itemstack.stackSize <= 0) { + par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); + } + + return true; + } + } + } + + if (this.func_152114_e(par1EntityPlayer) && !this.worldObj.isRemote && !this.isBreedingItem(itemstack)) { + this.aiSit.setSitting(!this.isSitting()); + this.isJumping = false; + this.setPathToEntity((PathEntity) null); + } + } else if (itemstack != null && itemstack.getItem() == Items.bone && !this.isAngry()) { + if (!par1EntityPlayer.capabilities.isCreativeMode) { + --itemstack.stackSize; + } + + if (itemstack.stackSize <= 0) { + par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); + } + + if (!this.worldObj.isRemote) { + if (this.rand.nextInt(3) == 0) { + this.setTamed(true); + this.setPathToEntity((PathEntity) null); + this.setAttackTarget((EntityLiving) null); + this.aiSit.setSitting(true); + this.func_152115_b(par1EntityPlayer.getUniqueID().toString()); + this.playTameEffect(true); + this.worldObj.setEntityState(this, (byte) 7); + } else { + this.playTameEffect(false); + this.worldObj.setEntityState(this, (byte) 6); + } + } + + return true; + } + + return super.interact(par1EntityPlayer); + } + + @SideOnly(Side.CLIENT) + @Override + public void handleHealthUpdate(byte par1) { + if (par1 == 8) { + this.field_70928_h = true; + this.timeWolfIsShaking = 0.0F; + this.prevTimeWolfIsShaking = 0.0F; + } else { + super.handleHealthUpdate(par1); + } + } + + @SideOnly(Side.CLIENT) + public float getTailRotation() { + return this.isAngry() ? 1.5393804F : (this.isTamed() ? (0.55F - (float) (20 - this.dataWatcher.getWatchableObjectInt(18)) * 0.02F) * (float) Math.PI : ((float) Math.PI / 5F)); + } + + /** + * Checks if the parameter is an item which this animal can be fed to breed + * it (wheat, carrots or seeds depending on the animal type) + */ + @Override + public boolean isBreedingItem(ItemStack par1ItemStack) { + return par1ItemStack == null ? false : (!(par1ItemStack.getItem() instanceof ItemFood) ? false : ((ItemFood) par1ItemStack.getItem()).isWolfsFavoriteMeat()); + } + + /** + * Will return how many at most can spawn in a chunk at once. + */ + @Override + public int getMaxSpawnedInChunk() { + return 8; + } + + /** + * Determines whether this wolf is angry or not. + */ + public boolean isAngry() { + return (this.dataWatcher.getWatchableObjectByte(16) & 2) != 0; + } + + /** + * Sets whether this wolf is angry or not. + */ + public void setAngry(boolean par1) { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + + if (par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 2))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -3))); + } + } + + public void func_70918_i(boolean par1) { + byte b0 = this.dataWatcher.getWatchableObjectByte(19); + + if (par1) { + this.dataWatcher.updateObject(19, Byte.valueOf((byte) 1)); + } else { + this.dataWatcher.updateObject(19, Byte.valueOf((byte) 0)); + } + } + + /** + * Returns true if the mob is currently able to mate with the specified mob. + */ + @Override + public boolean canMateWith(EntityAnimal par1EntityAnimal) { + if (par1EntityAnimal == this) { + return false; + } else if (!this.isTamed()) { + return false; + } else if (!(par1EntityAnimal instanceof EntityDesertWolf)) { + return false; + } else { + EntityDesertWolf entitywolf = (EntityDesertWolf) par1EntityAnimal; + return !entitywolf.isTamed() ? false : (entitywolf.isSitting() ? false : this.isInLove() && entitywolf.isInLove()); + } + } + + public boolean func_70922_bv() { + return this.dataWatcher.getWatchableObjectByte(19) == 1; + } + + @Override + public EntityAgeable createChild(EntityAgeable par1EntityAgeable) { + EntityDesertWolf entitywolf = new EntityDesertWolf(this.worldObj); + String s = this.func_152113_b(); + + if (s != null && s.trim().length() > 0) { + entitywolf.func_152115_b(s); + entitywolf.setTamed(true); + } + + return entitywolf; + } + + @Override + public EntityLivingBase getOwner() { + return null; + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityDustySkeleton.java b/src/main/java/com/teammetallurgy/atum/entity/EntityDustySkeleton.java index 4e6ca12..737bebf 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityDustySkeleton.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityDustySkeleton.java @@ -9,63 +9,63 @@ public class EntityDustySkeleton extends EntityMob { - boolean onFire = false; + boolean onFire = false; - public EntityDustySkeleton(World par1World) { - super(par1World); - this.isImmuneToFire = true; - this.experienceValue = 6; - } + public EntityDustySkeleton(World par1World) { + super(par1World); + this.isImmuneToFire = true; + this.experienceValue = 6; + } - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20.0D); - double speed = 0.53000000417232513D; - if (this.onFire) { - speed = 0.9D; - } - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(speed); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); - } + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20.0D); + double speed = 0.53000000417232513D; + if (this.onFire) { + speed = 0.9D; + } + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(speed); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } - @Override - public void onUpdate() { - super.onUpdate(); - if (this.isBurning()) { - this.onFire = true; - this.applyEntityAttributes(); - } - } + @Override + public void onUpdate() { + super.onUpdate(); + if (this.isBurning()) { + this.onFire = true; + this.applyEntityAttributes(); + } + } - @Override - public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { - return super.attackEntityFrom(par1DamageSource, par2); - } + @Override + public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { + return super.attackEntityFrom(par1DamageSource, par2); + } - @Override - public boolean getCanSpawnHere() { - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - } + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } - @Override - protected boolean isValidLightLevel() { - return true; - } + @Override + protected boolean isValidLightLevel() { + return true; + } - @Override - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEAD; - } + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEAD; + } - @Override - protected void dropFewItems(boolean par1, int par2) { - switch (this.rand.nextInt(4)) { - case 0: - int amount = rand.nextInt(2) + 1; - this.dropItem(Items.bone, amount); - break; - } - } + @Override + protected void dropFewItems(boolean par1, int par2) { + switch (this.rand.nextInt(4)) { + case 0: + int amount = rand.nextInt(2) + 1; + this.dropItem(Items.bone, amount); + break; + } + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java b/src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java index c63ea21..5a6ab56 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java @@ -1,5 +1,6 @@ package com.teammetallurgy.atum.entity; +import com.teammetallurgy.atum.items.AtumItems; import net.minecraft.block.Block; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; @@ -13,8 +14,6 @@ import net.minecraft.world.World; import net.minecraftforge.common.ForgeHooks; -import com.teammetallurgy.atum.items.AtumItems; - public class EntityGhost extends EntityMob { private int cycleHeight = 0; private int cycleTime = 100; diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityMummy.java b/src/main/java/com/teammetallurgy/atum/entity/EntityMummy.java index 08640c6..c339631 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityMummy.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityMummy.java @@ -1,5 +1,6 @@ package com.teammetallurgy.atum.entity; +import com.teammetallurgy.atum.items.AtumItems; import net.minecraft.entity.Entity; import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.SharedMonsterAttributes; @@ -8,70 +9,68 @@ import net.minecraft.util.DamageSource; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.AtumItems; - public class EntityMummy extends EntityMob { - public EntityMummy(World par1World) { - super(par1World); - this.experienceValue = 8; - } + public EntityMummy(World par1World) { + super(par1World); + this.experienceValue = 8; + } - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(40.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(2.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); - } + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(40.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(2.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } - @Override - public boolean getCanSpawnHere() { - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - } + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } - @Override - protected boolean isValidLightLevel() { - return true; - } + @Override + protected boolean isValidLightLevel() { + return true; + } - @Override - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEAD; - } + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEAD; + } - @Override - public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { - if (par1DamageSource.isFireDamage()) { - par2 += 1; - } - if (this.isBurning()) { - par2 = (int) (par2 * 1.5); - } + @Override + public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { + if (par1DamageSource.isFireDamage()) { + par2 += 1; + } + if (this.isBurning()) { + par2 = (int) (par2 * 1.5); + } - return super.attackEntityFrom(par1DamageSource, par2); - } + return super.attackEntityFrom(par1DamageSource, par2); + } - @Override - public boolean attackEntityAsMob(Entity par1Entity) { - boolean flag = super.attackEntityAsMob(par1Entity); + @Override + public boolean attackEntityAsMob(Entity par1Entity) { + boolean flag = super.attackEntityAsMob(par1Entity); - if (flag && this.isBurning() && this.rand.nextFloat() < (float) this.worldObj.difficultySetting.getDifficultyId() * 0.4F) { - par1Entity.setFire(2 * this.worldObj.difficultySetting.getDifficultyId()); - } + if (flag && this.isBurning() && this.rand.nextFloat() < (float) this.worldObj.difficultySetting.getDifficultyId() * 0.4F) { + par1Entity.setFire(2 * this.worldObj.difficultySetting.getDifficultyId()); + } - return flag; - } + return flag; + } - @Override - protected void dropFewItems(boolean par1, int par2) { - if (rand.nextInt(4) == 0) { - this.dropItem(Items.rotten_flesh, 1); - } - if (rand.nextInt(4) == 0) { - int amount = rand.nextInt(2) + 1; - this.dropItem(AtumItems.ITEM_SCRAP, amount); - } - } + @Override + protected void dropFewItems(boolean par1, int par2) { + if (rand.nextInt(4) == 0) { + this.dropItem(Items.rotten_flesh, 1); + } + if (rand.nextInt(4) == 0) { + int amount = rand.nextInt(2) + 1; + this.dropItem(AtumItems.ITEM_SCRAP, amount); + } + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java b/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java index 43f62d6..b96b8a5 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java @@ -1,381 +1,370 @@ package com.teammetallurgy.atum.entity; -import java.util.List; -import java.util.Random; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import com.teammetallurgy.atum.AtumLoot; +import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityPharaohChest; +import com.teammetallurgy.atum.items.AtumItems; +import cpw.mods.fml.common.FMLCommonHandler; import net.minecraft.block.Block; -import net.minecraft.client.renderer.entity.RenderDragon; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.boss.BossStatus; import net.minecraft.entity.boss.IBossDisplayData; import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.*; import net.minecraft.world.World; -import com.teammetallurgy.atum.AtumLoot; -import com.teammetallurgy.atum.blocks.AtumBlocks; -import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityPharaohChest; -import com.teammetallurgy.atum.items.AtumItems; - -import cpw.mods.fml.common.FMLCommonHandler; +import java.util.List; public class EntityPharaoh extends EntityMob implements IBossDisplayData { - int linkedX; - int linkedY; - int linkedZ; - - int stage; - - public static String[] prefix = {"Ama", "Ata", "Ato", "Bak", "Cal", "Djet", "Eje", "For", "Gol", "Gut", "Hop", "Hor", "Huni", "Iam", "Jor", "Kal", "Khas", "Khor", "Lat", "Mal", "Not", "Oap", "Pra", "Qo", "Ras", "Shas", "Thoth", "Tui", "Uld", "Ver", "Wot", "Xo", "Yat", "Zyt", "Khep"}; - public static String[] suffix = {"Ahat", "Amesh", "Amon", "Anut", "Baroom", "Chanta", "Erant", "Funam", "Daresh", "Djer", "Hotesh", "Khaden", "Kron", "Gorkum", "Ialenter", "Ma'at", "Narmer", "Radeem", "Jaloom", "Lepsha", "Quor", "Oleshet", "Peput", "Talat", "Ulam", "Veresh", "Ranesh", "Snef", "Wollolo", "Hathor", "Intef", "Neferk", "Khatne", "Tepy", "Moret"}; - public static String[] numeral = {"I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII", "XIII", "XIV", "XV"}; - - private int suffixID = 0; - private int prefixID = 0; - private int numID = 0; - private int regenTime = 0; - - public EntityPharaoh(World par1World) { - super(par1World); - this.experienceValue = 250; - stage = 0; - - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCEPTER)); - - for (int i = 0; i < this.equipmentDropChances.length; ++i) { - this.equipmentDropChances[i] = 0F; - } - } - - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(300.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); - } - - public void link(int x, int y, int z) { - linkedX = x; - linkedY = y; - linkedZ = z; - } - - /** - * Makes the entity despawn if requirements are reached - */ - @Override - protected void despawnEntity() { - } - - @Override - public void onDeath(DamageSource par1DamageSource) { - super.onDeath(par1DamageSource); - - if (par1DamageSource.damageType == "player") { - EntityPlayer slayer = (EntityPlayer) par1DamageSource.getEntity(); - if (!worldObj.isRemote) { - List players = FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList; - for (EntityPlayer player : players) { - player.addChatMessage(new ChatComponentText(this.getCommandSenderName() + " " + StatCollector.translateToLocal("chat.atum.killPharaoh") + " " + slayer.getGameProfile().getName())); - } - } - } - - if (linkedX != 0 && linkedY != 0 && linkedZ != 0) { - TileEntity te = worldObj.getTileEntity(linkedX, linkedY, linkedZ); - if (te != null) { - if (te instanceof TileEntityPharaohChest) { - TileEntityPharaohChest tepc = (TileEntityPharaohChest) te; - tepc.setOpenable(); - } - } - } - } - - @Override - public String getCommandSenderName() { - try { - int s = this.dataWatcher.getWatchableObjectInt(18); - int p = this.dataWatcher.getWatchableObjectInt(19); - int n = this.dataWatcher.getWatchableObjectInt(20); - return "Pharaoh " + StatCollector.translateToLocal("entity.atum.pharaoh." + prefix[p]) + StatCollector.translateToLocal("entity.atum.pharaoh." + suffix[s]) + " " + numeral[n]; - } catch (Exception e) { - return ""; - } - } - - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEAD; - } - - /** - * knocks back this entity - */ - @Override - public void knockBack(Entity par1Entity, float par2, double par3, double par5) { - this.isAirBorne = true; - float f = MathHelper.sqrt_double(par3 * par3 + par5 * par5); - float f1 = 0.3F; - this.motionX /= 2.0D; - this.motionY /= 2.0D; - this.motionZ /= 2.0D; - this.motionX -= par3 / (double) f * (double) f1; - this.motionZ -= par5 / (double) f * (double) f1; - - if (this.motionY > 0.4000000059604645D) { - this.motionY = 0.4000000059604645D; - } - } - - @Override - public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { - if (par1DamageSource.isFireDamage()) { - par2 = 0; - } - - if (super.attackEntityFrom(par1DamageSource, par2)) { - if (par1DamageSource.getEntity() != null) { - Entity par1Entity = par1DamageSource.getEntity(); - int j = 0; - if (par1Entity instanceof EntityLiving) { - j += EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, this); - - if (j > 0) { - this.motionX /= 0.6D; - this.motionZ /= 0.6D; - this.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), -0.1D, (double) (-MathHelper.cos(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); - } - } - - } - - if (this.getHealth() < this.getMaxHealth() * 0.75 && stage == 0) { - stage++; - spawnGuards(); - } else if (stage == 1 && this.getHealth() < this.getMaxHealth() * 0.5) { - stage++; - spawnGuards(); - } else if (stage == 2 && this.getHealth() < this.getMaxHealth() * 0.25) { - stage++; - spawnGuards(); - } - return true; - } - - return false; - } - - /** - * Destroys all blocks that aren't associated with 'The End' inside the - * given bounding box. - */ - - private boolean destroyBlocksInAABB(AxisAlignedBB par1AxisAlignedBB) { - int minX = MathHelper.floor_double(par1AxisAlignedBB.minX); - int minY = MathHelper.floor_double(par1AxisAlignedBB.minY); - int minZ = MathHelper.floor_double(par1AxisAlignedBB.minZ); - int maxX = MathHelper.floor_double(par1AxisAlignedBB.maxX); - int maxY = MathHelper.floor_double(par1AxisAlignedBB.maxY); - int maxZ = MathHelper.floor_double(par1AxisAlignedBB.maxZ); - boolean flag = false; - boolean flag1 = false; - - for (int x = minX; x <= maxX; ++x) { - for (int y = minY; y <= maxY; ++y) { - for (int z = minZ; z <= maxZ; ++z) { - Block block = this.worldObj.getBlock(x, y, z); - int metadata = this.worldObj.getBlockMetadata(x, y, z); - - if (block != null) { - if (block != AtumBlocks.BLOCK_LARGEBRICK && block != AtumBlocks.BLOCK_PHARAOHCHEST && block != Blocks.bedrock && block.isBlockSolid(worldObj, x, y, z, 0)) { - block.dropBlockAsItem(worldObj, x, y, z, metadata, 0); - flag1 = this.worldObj.setBlockToAir(x, y, z) || flag1; - } - - flag = true; - } - } - } - } - - if (flag1) { - double d0 = par1AxisAlignedBB.minX + (par1AxisAlignedBB.maxX - par1AxisAlignedBB.minX) * (double) this.rand.nextFloat(); - double d1 = par1AxisAlignedBB.minY + (par1AxisAlignedBB.maxY - par1AxisAlignedBB.minY) * (double) this.rand.nextFloat(); - double d2 = par1AxisAlignedBB.minZ + (par1AxisAlignedBB.maxZ - par1AxisAlignedBB.minZ) * (double) this.rand.nextFloat(); - this.worldObj.spawnParticle("largeexplode", d0, d1, d2, 0.0D, 0.0D, 0.0D); - } - - return flag; - } - - private void spawnGuards() { - int numSpawned = 0; - - if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ - 1)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX, (int) posY, (int) posZ + 1)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX, (int) posY, (int) posZ - 1)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ + 1)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ - 1)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ + 1)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ - 1)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - } - - public boolean trySpawnMummy(int x, int y, int z) { - EntityMummy mummy1 = new EntityMummy(worldObj); - mummy1.setPosition(x, y, z); - if (mummy1.getCanSpawnHere()) { - if (!worldObj.isRemote) - worldObj.spawnEntityInWorld(mummy1); - mummy1.spawnExplosionParticle(); - return true; - } - - return false; - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - @Override - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - super.writeEntityToNBT(par1NBTTagCompound); - par1NBTTagCompound.setInteger("suffix", dataWatcher.getWatchableObjectInt(18)); - par1NBTTagCompound.setInteger("prefix", dataWatcher.getWatchableObjectInt(19)); - par1NBTTagCompound.setInteger("numeral", dataWatcher.getWatchableObjectInt(20)); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - @Override - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - super.readEntityFromNBT(par1NBTTagCompound); - this.dataWatcher.updateObject(16, Float.valueOf(this.prevHealth)); - suffixID = par1NBTTagCompound.getInteger("suffix"); - prefixID = par1NBTTagCompound.getInteger("prefix"); - numID = par1NBTTagCompound.getInteger("numeral"); - this.dataWatcher.updateObject(18, new Integer(suffixID)); - this.dataWatcher.updateObject(19, new Integer(prefixID)); - this.dataWatcher.updateObject(20, new Integer(numID)); - } - - @Override - protected void entityInit() { - super.entityInit(); - this.dataWatcher.addObject(16, new Float(100)); - if (suffixID == 0 && prefixID == 0 && numID == 0) { - suffixID = rand.nextInt(suffix.length); - prefixID = rand.nextInt(prefix.length); - numID = rand.nextInt(numeral.length); - } - this.dataWatcher.addObject(18, new Integer(suffixID)); - this.dataWatcher.addObject(19, new Integer(prefixID)); - this.dataWatcher.addObject(20, new Integer(numID)); - } - - /** - * Called to update the entity's position/logic. - */ - @Override - public void onUpdate() { - super.onUpdate(); - - if (!this.worldObj.isRemote && this.worldObj.difficultySetting.getDifficultyId() == 0) { - TileEntity te = worldObj.getTileEntity(linkedX, linkedY, linkedZ); - if (te instanceof TileEntityPharaohChest) { - ((TileEntityPharaohChest) te).setPharaohDespawned(); - } - this.setDead(); - } - } - - @Override - public void onLivingUpdate() { - if (!this.worldObj.isRemote) { - this.dataWatcher.updateObject(16, Float.valueOf(this.prevHealth)); - } - - if (regenTime++ > 20) { - regenTime = 0; - this.heal(1); - } - - super.onLivingUpdate(); - - if (!worldObj.isRemote) - this.destroyBlocksInAABB(this.boundingBox.expand(0.1, 0, 0.1)); - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity - * has recently been hit by a player. @param par2 - Level of Looting used to - * kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) { - int amount = rand.nextInt(2) + 1; - this.dropItem(Items.gold_ingot, amount); - - this.entityDropItem(AtumLoot.getRandomArtifact(), 0.0F); - } + public static String[] prefix = {"Ama", "Ata", "Ato", "Bak", "Cal", "Djet", "Eje", "For", "Gol", "Gut", "Hop", "Hor", "Huni", "Iam", "Jor", "Kal", "Khas", "Khor", "Lat", "Mal", "Not", "Oap", "Pra", "Qo", "Ras", "Shas", "Thoth", "Tui", "Uld", "Ver", "Wot", "Xo", "Yat", "Zyt", "Khep"}; + public static String[] suffix = {"Ahat", "Amesh", "Amon", "Anut", "Baroom", "Chanta", "Erant", "Funam", "Daresh", "Djer", "Hotesh", "Khaden", "Kron", "Gorkum", "Ialenter", "Ma'at", "Narmer", "Radeem", "Jaloom", "Lepsha", "Quor", "Oleshet", "Peput", "Talat", "Ulam", "Veresh", "Ranesh", "Snef", "Wollolo", "Hathor", "Intef", "Neferk", "Khatne", "Tepy", "Moret"}; + public static String[] numeral = {"I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII", "XIII", "XIV", "XV"}; + int linkedX; + int linkedY; + int linkedZ; + int stage; + private int suffixID = 0; + private int prefixID = 0; + private int numID = 0; + private int regenTime = 0; + + public EntityPharaoh(World par1World) { + super(par1World); + this.experienceValue = 250; + stage = 0; + + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCEPTER)); + + for (int i = 0; i < this.equipmentDropChances.length; ++i) { + this.equipmentDropChances[i] = 0F; + } + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(300.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } + + public void link(int x, int y, int z) { + linkedX = x; + linkedY = y; + linkedZ = z; + } + + /** + * Makes the entity despawn if requirements are reached + */ + @Override + protected void despawnEntity() { + } + + @Override + public void onDeath(DamageSource par1DamageSource) { + super.onDeath(par1DamageSource); + + if (par1DamageSource.damageType == "player") { + EntityPlayer slayer = (EntityPlayer) par1DamageSource.getEntity(); + if (!worldObj.isRemote) { + List players = FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList; + for (EntityPlayer player : players) { + player.addChatMessage(new ChatComponentText(this.getCommandSenderName() + " " + StatCollector.translateToLocal("chat.atum.killPharaoh") + " " + slayer.getGameProfile().getName())); + } + } + } + + if (linkedX != 0 && linkedY != 0 && linkedZ != 0) { + TileEntity te = worldObj.getTileEntity(linkedX, linkedY, linkedZ); + if (te != null) { + if (te instanceof TileEntityPharaohChest) { + TileEntityPharaohChest tepc = (TileEntityPharaohChest) te; + tepc.setOpenable(); + } + } + } + } + + @Override + public String getCommandSenderName() { + try { + int s = this.dataWatcher.getWatchableObjectInt(18); + int p = this.dataWatcher.getWatchableObjectInt(19); + int n = this.dataWatcher.getWatchableObjectInt(20); + return "Pharaoh " + StatCollector.translateToLocal("entity.atum.pharaoh." + prefix[p]) + StatCollector.translateToLocal("entity.atum.pharaoh." + suffix[s]) + " " + numeral[n]; + } catch (Exception e) { + return ""; + } + } + + /** + * Get this Entity's EnumCreatureAttribute + */ + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEAD; + } + + /** + * knocks back this entity + */ + @Override + public void knockBack(Entity par1Entity, float par2, double par3, double par5) { + this.isAirBorne = true; + float f = MathHelper.sqrt_double(par3 * par3 + par5 * par5); + float f1 = 0.3F; + this.motionX /= 2.0D; + this.motionY /= 2.0D; + this.motionZ /= 2.0D; + this.motionX -= par3 / (double) f * (double) f1; + this.motionZ -= par5 / (double) f * (double) f1; + + if (this.motionY > 0.4000000059604645D) { + this.motionY = 0.4000000059604645D; + } + } + + @Override + public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { + if (par1DamageSource.isFireDamage()) { + par2 = 0; + } + + if (super.attackEntityFrom(par1DamageSource, par2)) { + if (par1DamageSource.getEntity() != null) { + Entity par1Entity = par1DamageSource.getEntity(); + int j = 0; + if (par1Entity instanceof EntityLiving) { + j += EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, this); + + if (j > 0) { + this.motionX /= 0.6D; + this.motionZ /= 0.6D; + this.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), -0.1D, (double) (-MathHelper.cos(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); + } + } + + } + + if (this.getHealth() < this.getMaxHealth() * 0.75 && stage == 0) { + stage++; + spawnGuards(); + } else if (stage == 1 && this.getHealth() < this.getMaxHealth() * 0.5) { + stage++; + spawnGuards(); + } else if (stage == 2 && this.getHealth() < this.getMaxHealth() * 0.25) { + stage++; + spawnGuards(); + } + return true; + } + + return false; + } + + /** + * Destroys all blocks that aren't associated with 'The End' inside the + * given bounding box. + */ + + private boolean destroyBlocksInAABB(AxisAlignedBB par1AxisAlignedBB) { + int minX = MathHelper.floor_double(par1AxisAlignedBB.minX); + int minY = MathHelper.floor_double(par1AxisAlignedBB.minY); + int minZ = MathHelper.floor_double(par1AxisAlignedBB.minZ); + int maxX = MathHelper.floor_double(par1AxisAlignedBB.maxX); + int maxY = MathHelper.floor_double(par1AxisAlignedBB.maxY); + int maxZ = MathHelper.floor_double(par1AxisAlignedBB.maxZ); + boolean flag = false; + boolean flag1 = false; + + for (int x = minX; x <= maxX; ++x) { + for (int y = minY; y <= maxY; ++y) { + for (int z = minZ; z <= maxZ; ++z) { + Block block = this.worldObj.getBlock(x, y, z); + int metadata = this.worldObj.getBlockMetadata(x, y, z); + + if (block != null) { + if (block != AtumBlocks.BLOCK_LARGEBRICK && block != AtumBlocks.BLOCK_PHARAOHCHEST && block != Blocks.bedrock && block.isBlockSolid(worldObj, x, y, z, 0)) { + block.dropBlockAsItem(worldObj, x, y, z, metadata, 0); + flag1 = this.worldObj.setBlockToAir(x, y, z) || flag1; + } + + flag = true; + } + } + } + } + + if (flag1) { + double d0 = par1AxisAlignedBB.minX + (par1AxisAlignedBB.maxX - par1AxisAlignedBB.minX) * (double) this.rand.nextFloat(); + double d1 = par1AxisAlignedBB.minY + (par1AxisAlignedBB.maxY - par1AxisAlignedBB.minY) * (double) this.rand.nextFloat(); + double d2 = par1AxisAlignedBB.minZ + (par1AxisAlignedBB.maxZ - par1AxisAlignedBB.minZ) * (double) this.rand.nextFloat(); + this.worldObj.spawnParticle("largeexplode", d0, d1, d2, 0.0D, 0.0D, 0.0D); + } + + return flag; + } + + private void spawnGuards() { + int numSpawned = 0; + + if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ - 1)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + if (trySpawnMummy((int) posX, (int) posY, (int) posZ + 1)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + if (trySpawnMummy((int) posX, (int) posY, (int) posZ - 1)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ + 1)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ - 1)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ + 1)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ - 1)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + } + + public boolean trySpawnMummy(int x, int y, int z) { + EntityMummy mummy1 = new EntityMummy(worldObj); + mummy1.setPosition(x, y, z); + if (mummy1.getCanSpawnHere()) { + if (!worldObj.isRemote) + worldObj.spawnEntityInWorld(mummy1); + mummy1.spawnExplosionParticle(); + return true; + } + + return false; + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + @Override + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + super.writeEntityToNBT(par1NBTTagCompound); + par1NBTTagCompound.setInteger("suffix", dataWatcher.getWatchableObjectInt(18)); + par1NBTTagCompound.setInteger("prefix", dataWatcher.getWatchableObjectInt(19)); + par1NBTTagCompound.setInteger("numeral", dataWatcher.getWatchableObjectInt(20)); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + @Override + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + super.readEntityFromNBT(par1NBTTagCompound); + this.dataWatcher.updateObject(16, Float.valueOf(this.prevHealth)); + suffixID = par1NBTTagCompound.getInteger("suffix"); + prefixID = par1NBTTagCompound.getInteger("prefix"); + numID = par1NBTTagCompound.getInteger("numeral"); + this.dataWatcher.updateObject(18, new Integer(suffixID)); + this.dataWatcher.updateObject(19, new Integer(prefixID)); + this.dataWatcher.updateObject(20, new Integer(numID)); + } + + @Override + protected void entityInit() { + super.entityInit(); + this.dataWatcher.addObject(16, new Float(100)); + if (suffixID == 0 && prefixID == 0 && numID == 0) { + suffixID = rand.nextInt(suffix.length); + prefixID = rand.nextInt(prefix.length); + numID = rand.nextInt(numeral.length); + } + this.dataWatcher.addObject(18, new Integer(suffixID)); + this.dataWatcher.addObject(19, new Integer(prefixID)); + this.dataWatcher.addObject(20, new Integer(numID)); + } + + /** + * Called to update the entity's position/logic. + */ + @Override + public void onUpdate() { + super.onUpdate(); + + if (!this.worldObj.isRemote && this.worldObj.difficultySetting.getDifficultyId() == 0) { + TileEntity te = worldObj.getTileEntity(linkedX, linkedY, linkedZ); + if (te instanceof TileEntityPharaohChest) { + ((TileEntityPharaohChest) te).setPharaohDespawned(); + } + this.setDead(); + } + } + + @Override + public void onLivingUpdate() { + if (!this.worldObj.isRemote) { + this.dataWatcher.updateObject(16, Float.valueOf(this.prevHealth)); + } + + if (regenTime++ > 20) { + regenTime = 0; + this.heal(1); + } + + super.onLivingUpdate(); + + if (!worldObj.isRemote) + this.destroyBlocksInAABB(this.boundingBox.expand(0.1, 0, 0.1)); + } + + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + int amount = rand.nextInt(2) + 1; + this.dropItem(Items.gold_ingot, amount); + + this.entityDropItem(AtumLoot.getRandomArtifact(), 0.0F); + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityStone.java b/src/main/java/com/teammetallurgy/atum/entity/EntityStone.java index 8553931..7962511 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityStone.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityStone.java @@ -1,28 +1,23 @@ package com.teammetallurgy.atum.entity; -import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.monster.EntityMob; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.world.World; -public class EntityStone extends EntityMob -{ +public class EntityStone extends EntityMob { - public EntityStone(World par1World) - { - super(par1World); - } + public EntityStone(World par1World) { + super(par1World); + } - public boolean isPotionApplicable(PotionEffect par1PotionEffect) - { - int i = par1PotionEffect.getPotionID(); + public boolean isPotionApplicable(PotionEffect par1PotionEffect) { + int i = par1PotionEffect.getPotionID(); - if (i == Potion.poison.id) - { - return false; - } + if (i == Potion.poison.id) { + return false; + } - return true; - } + return true; + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityStoneSoldier.java b/src/main/java/com/teammetallurgy/atum/entity/EntityStoneSoldier.java index b46a007..2020577 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityStoneSoldier.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityStoneSoldier.java @@ -1,5 +1,6 @@ package com.teammetallurgy.atum.entity; +import com.teammetallurgy.atum.items.AtumItems; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; @@ -10,97 +11,95 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import com.teammetallurgy.atum.items.AtumItems; - public class EntityStoneSoldier extends EntityStone { - public EntityStoneSoldier(World par1World) { - super(par1World); - this.isImmuneToFire = true; - this.experienceValue = 8; - - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_STONESOLDIER_SWORD)); - - for (int i = 0; i < this.equipmentDropChances.length; ++i) { - this.equipmentDropChances[i] = 0F; - } - } - - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(80.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); - } - - @Override - public boolean getCanSpawnHere() { - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - } - - @Override - protected boolean isValidLightLevel() { - return true; - } - - @Override - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEFINED; - } - - @Override - public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { - if (super.attackEntityFrom(par1DamageSource, par2)) { - if (par1DamageSource.getEntity() != null) { - Entity par1Entity = par1DamageSource.getEntity(); - int j = 0; - if (par1Entity instanceof EntityLiving) { - j += EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, this); - - if (j > 0) { - this.motionX /= 0.6D; - this.motionZ /= 0.6D; - this.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), -0.1D, (double) (-MathHelper.cos(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); - } - } - - } - return true; - } - - return false; - } - - /** - * knocks back this entity - */ - @Override - public void knockBack(Entity par1Entity, float par2, double par3, double par5) { - this.isAirBorne = true; - float f = MathHelper.sqrt_double(par3 * par3 + par5 * par5); - float f1 = 0.2F; - this.motionX /= 2.0D; - this.motionY /= 2.0D; - this.motionZ /= 2.0D; - this.motionX -= par3 / (double) f * (double) f1; - this.motionZ -= par5 / (double) f * (double) f1; - - if (this.motionY > 0.4000000059604645D) { - this.motionY = 0.4000000059604645D; - } - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) { - if (this.rand.nextInt(4) == 0) { - int amount = rand.nextInt(2) + 1; - this.dropItem(AtumItems.ITEM_STONECHUNK, amount); - } - } + public EntityStoneSoldier(World par1World) { + super(par1World); + this.isImmuneToFire = true; + this.experienceValue = 8; + + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_STONESOLDIER_SWORD)); + + for (int i = 0; i < this.equipmentDropChances.length; ++i) { + this.equipmentDropChances[i] = 0F; + } + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(80.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } + + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } + + @Override + protected boolean isValidLightLevel() { + return true; + } + + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } + + @Override + public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { + if (super.attackEntityFrom(par1DamageSource, par2)) { + if (par1DamageSource.getEntity() != null) { + Entity par1Entity = par1DamageSource.getEntity(); + int j = 0; + if (par1Entity instanceof EntityLiving) { + j += EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, this); + + if (j > 0) { + this.motionX /= 0.6D; + this.motionZ /= 0.6D; + this.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), -0.1D, (double) (-MathHelper.cos(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); + } + } + + } + return true; + } + + return false; + } + + /** + * knocks back this entity + */ + @Override + public void knockBack(Entity par1Entity, float par2, double par3, double par5) { + this.isAirBorne = true; + float f = MathHelper.sqrt_double(par3 * par3 + par5 * par5); + float f1 = 0.2F; + this.motionX /= 2.0D; + this.motionY /= 2.0D; + this.motionZ /= 2.0D; + this.motionX -= par3 / (double) f * (double) f1; + this.motionZ -= par5 / (double) f * (double) f1; + + if (this.motionY > 0.4000000059604645D) { + this.motionY = 0.4000000059604645D; + } + } + + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + if (this.rand.nextInt(4) == 0) { + int amount = rand.nextInt(2) + 1; + this.dropItem(AtumItems.ITEM_STONECHUNK, amount); + } + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java index 97344c2..d1e8cd9 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java @@ -1,6 +1,5 @@ package com.teammetallurgy.atum.entity.arrow; -import net.minecraft.entity.Entity; import net.minecraft.entity.projectile.EntityArrow; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java index 61b25d1..8351594 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java @@ -1,10 +1,10 @@ package com.teammetallurgy.atum.entity.arrow; -import java.util.List; - +import cpw.mods.fml.common.registry.IThrowableEntity; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.enchantment.EnchantmentThorns; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; @@ -16,37 +16,37 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.play.server.S2BPacketChangeGameState; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; +import net.minecraft.util.*; import net.minecraft.world.World; -import cpw.mods.fml.common.registry.IThrowableEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; + +import java.util.List; public class EntityArrowDoubleShot extends CustomArrow implements IProjectile, IThrowableEntity { + /** + * 1 if the player can pick up the arrow + */ + public int canBePickedUp = 0; + /** + * Seems to be some sort of timer for animating an arrow. + */ + public int arrowShake = 0; + /** + * The owner of this arrow. + */ + public Entity shootingEntity; private int xTile = -1; private int yTile = -1; private int zTile = -1; private Block inTile = null; private int inData = 0; private boolean inGround = false; - - /** 1 if the player can pick up the arrow */ - public int canBePickedUp = 0; - - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake = 0; - - /** The owner of this arrow. */ - public Entity shootingEntity; private int ticksInGround; private int ticksInAir = 0; private double damage = 2.0D; - /** The amount of knockback an arrow applies when it hits a mob. */ + /** + * The amount of knockback an arrow applies when it hits a mob. + */ private int knockbackStrength; public EntityArrowDoubleShot(World par1World) { @@ -409,7 +409,7 @@ public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { par1NBTTagCompound.setShort("xTile", (short) this.xTile); par1NBTTagCompound.setShort("yTile", (short) this.yTile); par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)Block.getIdFromBlock(this.inTile)); + par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); par1NBTTagCompound.setByte("inData", (byte) this.inData); par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); @@ -472,14 +472,14 @@ public float getShadowSize() { return 0.0F; } - public void setDamage(double par1) { - this.damage = par1; - } - public double getDamage() { return this.damage; } + public void setDamage(double par1) { + this.damage = par1; + } + /** * Sets the amount of knockback the arrow applies when it hits a mob. */ @@ -498,23 +498,23 @@ public boolean canAttackWithItem() { * Whether the arrow has a stream of critical hit particles flying behind * it. */ - public void setIsCritical(boolean par1) { + public boolean getIsCritical() { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); - } else { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); - } + return (b0 & 1) != 0; } /** * Whether the arrow has a stream of critical hit particles flying behind * it. */ - public boolean getIsCritical() { + public void setIsCritical(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; + + if (par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } } @Override diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java index c23e0b0..f4b7a5d 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java @@ -1,10 +1,10 @@ package com.teammetallurgy.atum.entity.arrow; -import java.util.List; - +import cpw.mods.fml.common.registry.IThrowableEntity; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.enchantment.EnchantmentThorns; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; @@ -16,37 +16,37 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.play.server.S2BPacketChangeGameState; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; +import net.minecraft.util.*; import net.minecraft.world.World; -import cpw.mods.fml.common.registry.IThrowableEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; + +import java.util.List; public class EntityArrowExplosive extends CustomArrow implements IProjectile, IThrowableEntity { + /** + * 1 if the player can pick up the arrow + */ + public int canBePickedUp = 0; + /** + * Seems to be some sort of timer for animating an arrow. + */ + public int arrowShake = 0; + /** + * The owner of this arrow. + */ + public Entity shootingEntity; private int xTile = -1; private int yTile = -1; private int zTile = -1; private Block inTile = null; private int inData = 0; private boolean inGround = false; - - /** 1 if the player can pick up the arrow */ - public int canBePickedUp = 0; - - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake = 0; - - /** The owner of this arrow. */ - public Entity shootingEntity; private int ticksInGround; private int ticksInAir = 0; private double damage = 2.0D; - /** The amount of knockback an arrow applies when it hits a mob. */ + /** + * The amount of knockback an arrow applies when it hits a mob. + */ private int knockbackStrength; public EntityArrowExplosive(World par1World) { @@ -417,7 +417,7 @@ public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { par1NBTTagCompound.setShort("xTile", (short) this.xTile); par1NBTTagCompound.setShort("yTile", (short) this.yTile); par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)Block.getIdFromBlock(this.inTile)); + par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); par1NBTTagCompound.setByte("inData", (byte) this.inData); par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); @@ -480,14 +480,14 @@ public float getShadowSize() { return 0.0F; } - public void setDamage(double par1) { - this.damage = par1; - } - public double getDamage() { return this.damage; } + public void setDamage(double par1) { + this.damage = par1; + } + /** * Sets the amount of knockback the arrow applies when it hits a mob. */ @@ -506,23 +506,23 @@ public boolean canAttackWithItem() { * Whether the arrow has a stream of critical hit particles flying behind * it. */ - public void setIsCritical(boolean par1) { + public boolean getIsCritical() { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); - } else { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); - } + return (b0 & 1) != 0; } /** * Whether the arrow has a stream of critical hit particles flying behind * it. */ - public boolean getIsCritical() { + public void setIsCritical(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; + + if (par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } } @Override diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java index c028008..fb0ec54 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java @@ -1,10 +1,10 @@ package com.teammetallurgy.atum.entity.arrow; -import java.util.List; - +import cpw.mods.fml.common.registry.IThrowableEntity; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.enchantment.EnchantmentThorns; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; @@ -17,37 +17,37 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.play.server.S2BPacketChangeGameState; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; +import net.minecraft.util.*; import net.minecraft.world.World; -import cpw.mods.fml.common.registry.IThrowableEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; + +import java.util.List; public class EntityArrowFire extends CustomArrow implements IProjectile, IThrowableEntity { + /** + * 1 if the player can pick up the arrow + */ + public int canBePickedUp = 0; + /** + * Seems to be some sort of timer for animating an arrow. + */ + public int arrowShake = 0; + /** + * The owner of this arrow. + */ + public Entity shootingEntity; private int xTile = -1; private int yTile = -1; private int zTile = -1; private Block inTile = null; private int inData = 0; private boolean inGround = false; - - /** 1 if the player can pick up the arrow */ - public int canBePickedUp = 0; - - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake = 0; - - /** The owner of this arrow. */ - public Entity shootingEntity; private int ticksInGround; private int ticksInAir = 0; private double damage = 2.0D; - /** The amount of knockback an arrow applies when it hits a mob. */ + /** + * The amount of knockback an arrow applies when it hits a mob. + */ private int knockbackStrength; public EntityArrowFire(World par1World) { @@ -413,7 +413,7 @@ public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { par1NBTTagCompound.setShort("xTile", (short) this.xTile); par1NBTTagCompound.setShort("yTile", (short) this.yTile); par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)Block.getIdFromBlock(this.inTile)); + par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); par1NBTTagCompound.setByte("inData", (byte) this.inData); par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); @@ -476,14 +476,14 @@ public float getShadowSize() { return 0.0F; } - public void setDamage(double par1) { - this.damage = par1; - } - public double getDamage() { return this.damage; } + public void setDamage(double par1) { + this.damage = par1; + } + /** * Sets the amount of knockback the arrow applies when it hits a mob. */ @@ -502,23 +502,23 @@ public boolean canAttackWithItem() { * Whether the arrow has a stream of critical hit particles flying behind * it. */ - public void setIsCritical(boolean par1) { + public boolean getIsCritical() { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); - } else { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); - } + return (b0 & 1) != 0; } /** * Whether the arrow has a stream of critical hit particles flying behind * it. */ - public boolean getIsCritical() { + public void setIsCritical(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; + + if (par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } } @Override diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java index 3be9ef8..3fab492 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java @@ -1,10 +1,10 @@ package com.teammetallurgy.atum.entity.arrow; -import java.util.List; - +import cpw.mods.fml.common.registry.IThrowableEntity; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.enchantment.EnchantmentThorns; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; @@ -18,37 +18,37 @@ import net.minecraft.network.play.server.S2BPacketChangeGameState; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; +import net.minecraft.util.*; import net.minecraft.world.World; -import cpw.mods.fml.common.registry.IThrowableEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; + +import java.util.List; public class EntityArrowPoison extends CustomArrow implements IProjectile, IThrowableEntity { + /** + * 1 if the player can pick up the arrow + */ + public int canBePickedUp = 0; + /** + * Seems to be some sort of timer for animating an arrow. + */ + public int arrowShake = 0; + /** + * The owner of this arrow. + */ + public Entity shootingEntity; private int xTile = -1; private int yTile = -1; private int zTile = -1; private Block inTile = null; private int inData = 0; private boolean inGround = false; - - /** 1 if the player can pick up the arrow */ - public int canBePickedUp = 0; - - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake = 0; - - /** The owner of this arrow. */ - public Entity shootingEntity; private int ticksInGround; private int ticksInAir = 0; private double damage = 2.0D; - /** The amount of knockback an arrow applies when it hits a mob. */ + /** + * The amount of knockback an arrow applies when it hits a mob. + */ private int knockbackStrength; public EntityArrowPoison(World par1World) { @@ -476,14 +476,14 @@ public float getShadowSize() { return 0.0F; } - public void setDamage(double par1) { - this.damage = par1; - } - public double getDamage() { return this.damage; } + public void setDamage(double par1) { + this.damage = par1; + } + /** * Sets the amount of knockback the arrow applies when it hits a mob. */ @@ -502,23 +502,23 @@ public boolean canAttackWithItem() { * Whether the arrow has a stream of critical hit particles flying behind * it. */ - public void setIsCritical(boolean par1) { + public boolean getIsCritical() { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); - } else { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); - } + return (b0 & 1) != 0; } /** * Whether the arrow has a stream of critical hit particles flying behind * it. */ - public boolean getIsCritical() { + public void setIsCritical(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; + + if (par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } } @Override diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java index 0d418a7..a18f094 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java @@ -1,10 +1,10 @@ package com.teammetallurgy.atum.entity.arrow; -import java.util.List; - +import cpw.mods.fml.common.registry.IThrowableEntity; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.enchantment.EnchantmentThorns; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; @@ -16,37 +16,37 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.play.server.S2BPacketChangeGameState; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; +import net.minecraft.util.*; import net.minecraft.world.World; -import cpw.mods.fml.common.registry.IThrowableEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; + +import java.util.List; public class EntityArrowQuickdraw extends CustomArrow implements IProjectile, IThrowableEntity { + /** + * 1 if the player can pick up the arrow + */ + public int canBePickedUp = 0; + /** + * Seems to be some sort of timer for animating an arrow. + */ + public int arrowShake = 0; + /** + * The owner of this arrow. + */ + public Entity shootingEntity; private int xTile = -1; private int yTile = -1; private int zTile = -1; private Block inTile = null; private int inData = 0; private boolean inGround = false; - - /** 1 if the player can pick up the arrow */ - public int canBePickedUp = 0; - - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake = 0; - - /** The owner of this arrow. */ - public Entity shootingEntity; private int ticksInGround; private int ticksInAir = 0; private double damage = 2.0D; - /** The amount of knockback an arrow applies when it hits a mob. */ + /** + * The amount of knockback an arrow applies when it hits a mob. + */ private int knockbackStrength; public EntityArrowQuickdraw(World par1World) { @@ -409,7 +409,7 @@ public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { par1NBTTagCompound.setShort("xTile", (short) this.xTile); par1NBTTagCompound.setShort("yTile", (short) this.yTile); par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)Block.getIdFromBlock(this.inTile)); + par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); par1NBTTagCompound.setByte("inData", (byte) this.inData); par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); @@ -472,14 +472,14 @@ public float getShadowSize() { return 0.0F; } - public void setDamage(double par1) { - this.damage = par1; - } - public double getDamage() { return this.damage; } + public void setDamage(double par1) { + this.damage = par1; + } + /** * Sets the amount of knockback the arrow applies when it hits a mob. */ @@ -498,23 +498,23 @@ public boolean canAttackWithItem() { * Whether the arrow has a stream of critical hit particles flying behind * it. */ - public void setIsCritical(boolean par1) { + public boolean getIsCritical() { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); - } else { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); - } + return (b0 & 1) != 0; } /** * Whether the arrow has a stream of critical hit particles flying behind * it. */ - public boolean getIsCritical() { + public void setIsCritical(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; + + if (par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } } @Override diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java index 4f50434..fb10a64 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java @@ -1,10 +1,10 @@ package com.teammetallurgy.atum.entity.arrow; -import java.util.List; - +import cpw.mods.fml.common.registry.IThrowableEntity; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.enchantment.EnchantmentThorns; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; @@ -16,37 +16,37 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.play.server.S2BPacketChangeGameState; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; +import net.minecraft.util.*; import net.minecraft.world.World; -import cpw.mods.fml.common.registry.IThrowableEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; + +import java.util.List; public class EntityArrowVelocity extends CustomArrow implements IProjectile, IThrowableEntity { + /** + * 1 if the player can pick up the arrow + */ + public int canBePickedUp = 0; + /** + * Seems to be some sort of timer for animating an arrow. + */ + public int arrowShake = 0; + /** + * The owner of this arrow. + */ + public Entity shootingEntity; private int xTile = -1; private int yTile = -1; private int zTile = -1; private Block inTile = null; private int inData = 0; private boolean inGround = false; - - /** 1 if the player can pick up the arrow */ - public int canBePickedUp = 0; - - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake = 0; - - /** The owner of this arrow. */ - public Entity shootingEntity; private int ticksInGround; private int ticksInAir = 0; private double damage = 2.0D; - /** The amount of knockback an arrow applies when it hits a mob. */ + /** + * The amount of knockback an arrow applies when it hits a mob. + */ private int knockbackStrength; public EntityArrowVelocity(World par1World) { @@ -409,7 +409,7 @@ public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { par1NBTTagCompound.setShort("xTile", (short) this.xTile); par1NBTTagCompound.setShort("yTile", (short) this.yTile); par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)Block.getIdFromBlock(this.inTile)); + par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); par1NBTTagCompound.setByte("inData", (byte) this.inData); par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); @@ -472,14 +472,14 @@ public float getShadowSize() { return 0.0F; } - public void setDamage(double par1) { - this.damage = par1; - } - public double getDamage() { return this.damage; } + public void setDamage(double par1) { + this.damage = par1; + } + /** * Sets the amount of knockback the arrow applies when it hits a mob. */ @@ -498,23 +498,23 @@ public boolean canAttackWithItem() { * Whether the arrow has a stream of critical hit particles flying behind * it. */ - public void setIsCritical(boolean par1) { + public boolean getIsCritical() { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); - } else { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); - } + return (b0 & 1) != 0; } /** * Whether the arrow has a stream of critical hit particles flying behind * it. */ - public boolean getIsCritical() { + public void setIsCritical(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; + + if (par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } } @Override diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java index 3c66b37..f8ad1e2 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java @@ -1,7 +1,10 @@ package com.teammetallurgy.atum.entity.arrow; -import java.util.List; - +import com.teammetallurgy.atum.AtumFish; +import com.teammetallurgy.atum.AtumIDS; +import com.teammetallurgy.atum.items.AtumItems; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.entity.Entity; @@ -13,45 +16,40 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.stats.StatList; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; +import net.minecraft.util.*; import net.minecraft.world.World; -import com.teammetallurgy.atum.AtumFish; -import com.teammetallurgy.atum.AtumIDS; -import com.teammetallurgy.atum.items.AtumItems; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class EntityAtumFishHook extends EntityFishHook { - /** The tile this entity is on, X position */ + public int shake; + public EntityPlayer angler; + /** + * The entity that the fishing rod is connected to, if any. When you right + * click on the fishing rod and the hook falls on to an entity, this it that + * entity. + */ + public Entity bobber; + /** + * The tile this entity is on, X position + */ private int xTile; - - /** The tile this entity is on, Y position */ + /** + * The tile this entity is on, Y position + */ private int yTile; - - /** The tile this entity is on, Z position */ + /** + * The tile this entity is on, Z position + */ private int zTile; private Block inTile; private boolean inGround; - public int shake; - public EntityPlayer angler; private int ticksInGround; private int ticksInAir; - - /** the number of ticks remaining until this fish can no longer be caught */ - private int ticksCatchable; - /** - * The entity that the fishing rod is connected to, if any. When you right - * click on the fishing rod and the hook falls on to an entity, this it that - * entity. + * the number of ticks remaining until this fish can no longer be caught */ - public Entity bobber; + private int ticksCatchable; private int fishPosRotationIncrements; private double fishX; private double fishY; @@ -394,7 +392,7 @@ public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { par1NBTTagCompound.setShort("xTile", (short) this.xTile); par1NBTTagCompound.setShort("yTile", (short) this.yTile); par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)Block.getIdFromBlock(this.inTile)); + par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); par1NBTTagCompound.setByte("shake", (byte) this.shake); par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); } diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java index bca2f06..56fb894 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java @@ -1,10 +1,10 @@ package com.teammetallurgy.atum.entity.arrow; -import java.util.List; - +import cpw.mods.fml.common.registry.IThrowableEntity; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.enchantment.EnchantmentThorns; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; @@ -16,39 +16,37 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.play.server.S2BPacketChangeGameState; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; +import net.minecraft.util.*; import net.minecraft.world.World; -import cpw.mods.fml.common.registry.IThrowableEntity; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; + +import java.util.List; public class EntityNutsCall extends CustomArrow implements IProjectile, IThrowableEntity { + /** + * 1 if the player can pick up the arrow + */ + public int canBePickedUp = 0; + /** + * Seems to be some sort of timer for animating an arrow. + */ + public int arrowShake = 0; + /** + * The owner of this arrow. + */ + public Entity shootingEntity; + public ItemStack stack; private int xTile = -1; private int yTile = -1; private int zTile = -1; private Block inTile = null; private int inData = 0; private boolean inGround = false; - - /** 1 if the player can pick up the arrow */ - public int canBePickedUp = 0; - - /** Seems to be some sort of timer for animating an arrow. */ - public int arrowShake = 0; - - /** The owner of this arrow. */ - public Entity shootingEntity; private int ticksInGround; private int ticksInAir = 0; private double damage = 2.0D; - - public ItemStack stack; - - /** The amount of knockback an arrow applies when it hits a mob. */ + /** + * The amount of knockback an arrow applies when it hits a mob. + */ private int knockbackStrength; public EntityNutsCall(World par1World) { @@ -414,7 +412,7 @@ public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { par1NBTTagCompound.setShort("xTile", (short) this.xTile); par1NBTTagCompound.setShort("yTile", (short) this.yTile); par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setByte("inTile", (byte)Block.getIdFromBlock(this.inTile)); + par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); par1NBTTagCompound.setByte("inData", (byte) this.inData); par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); @@ -485,14 +483,14 @@ public float getShadowSize() { return 0.0F; } - public void setDamage(double par1) { - this.damage = par1; - } - public double getDamage() { return this.damage; } + public void setDamage(double par1) { + this.damage = par1; + } + /** * Sets the amount of knockback the arrow applies when it hits a mob. */ @@ -511,23 +509,23 @@ public boolean canAttackWithItem() { * Whether the arrow has a stream of critical hit particles flying behind * it. */ - public void setIsCritical(boolean par1) { + public boolean getIsCritical() { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); - } else { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); - } + return (b0 & 1) != 0; } /** * Whether the arrow has a stream of critical hit particles flying behind * it. */ - public boolean getIsCritical() { + public void setIsCritical(boolean par1) { byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; + + if (par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } } @Override diff --git a/src/main/java/com/teammetallurgy/atum/items/AtumItems.java b/src/main/java/com/teammetallurgy/atum/items/AtumItems.java index 83ab375..cea8d8e 100644 --- a/src/main/java/com/teammetallurgy/atum/items/AtumItems.java +++ b/src/main/java/com/teammetallurgy/atum/items/AtumItems.java @@ -1,5 +1,9 @@ package com.teammetallurgy.atum.items; +import com.teammetallurgy.atum.Atum; +import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.items.artifacts.*; +import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; @@ -9,41 +13,6 @@ import net.minecraft.item.ItemSeeds; import net.minecraftforge.common.util.EnumHelper; -import com.teammetallurgy.atum.Atum; -import com.teammetallurgy.atum.blocks.AtumBlocks; -import com.teammetallurgy.atum.items.artifacts.ItemAkersToil; -import com.teammetallurgy.atum.items.artifacts.ItemAmunetsHomecoming; -import com.teammetallurgy.atum.items.artifacts.ItemAnhursMight; -import com.teammetallurgy.atum.items.artifacts.ItemAnubisMercy; -import com.teammetallurgy.atum.items.artifacts.ItemAnuketsBounty; -import com.teammetallurgy.atum.items.artifacts.ItemAtensFury; -import com.teammetallurgy.atum.items.artifacts.ItemGebsBlessing; -import com.teammetallurgy.atum.items.artifacts.ItemGebsSolidarity; -import com.teammetallurgy.atum.items.artifacts.ItemHedetetsSting; -import com.teammetallurgy.atum.items.artifacts.ItemHedetetsVenom; -import com.teammetallurgy.atum.items.artifacts.ItemHorusFlight; -import com.teammetallurgy.atum.items.artifacts.ItemHorusSoaring; -import com.teammetallurgy.atum.items.artifacts.ItemIsisEmbrace; -import com.teammetallurgy.atum.items.artifacts.ItemIsisHealing; -import com.teammetallurgy.atum.items.artifacts.ItemMaatsBalance; -import com.teammetallurgy.atum.items.artifacts.ItemMafdetsQuickness; -import com.teammetallurgy.atum.items.artifacts.ItemMnevisHorns; -import com.teammetallurgy.atum.items.artifacts.ItemMonthusBlast; -import com.teammetallurgy.atum.items.artifacts.ItemMonthusStrike; -import com.teammetallurgy.atum.items.artifacts.ItemNeithsAudacity; -import com.teammetallurgy.atum.items.artifacts.ItemNusFlux; -import com.teammetallurgy.atum.items.artifacts.ItemNutsAgility; -import com.teammetallurgy.atum.items.artifacts.ItemNutsCall; -import com.teammetallurgy.atum.items.artifacts.ItemOsirisWill; -import com.teammetallurgy.atum.items.artifacts.ItemPtahsDecadence; -import com.teammetallurgy.atum.items.artifacts.ItemPtahsDestruction; -import com.teammetallurgy.atum.items.artifacts.ItemRasGlory; -import com.teammetallurgy.atum.items.artifacts.ItemSekhmetsWrath; -import com.teammetallurgy.atum.items.artifacts.ItemShusBreath; -import com.teammetallurgy.atum.items.artifacts.ItemSobeksRage; - -import cpw.mods.fml.common.registry.GameRegistry; - public enum AtumItems { INSTANCE; public static final Item ITEM_SCRAP = new Item().setUnlocalizedName("clothScrap").setTextureName("atum:ClothScrap"); @@ -90,25 +59,18 @@ public enum AtumItems { public static final Item limestoneAxe = new LimestoneAxe(ToolMaterial.STONE).setUnlocalizedName("limestoneAxe"); public static final Item limestoneSword = new LimestoneSword(ToolMaterial.STONE).setUnlocalizedName("limestoneSword"); public static final Item limestoneHoe = new LimestoneHoe(ToolMaterial.STONE).setUnlocalizedName("limestoneHoe"); - - private static ArmorMaterial mummyEnum = EnumHelper.addArmorMaterial("Mummy", 5, new int[] { 1, 3, 2, 1 }, 15); public static final Item mummyHelmet = new ItemTexturedArmor(mummyEnum, 0, 0).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyHelmet").setTextureName("atum:MummyHelmet"); public static final Item mummyChest = new ItemTexturedArmor(mummyEnum, 0, 1).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyChest").setTextureName("atum:MummyChest"); public static final Item mummyLegs = new ItemTexturedArmor(mummyEnum, 0, 2).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_2").setUnlocalizedName("mummyLegs").setTextureName("atum:MummyLegs"); public static final Item mummyBoots = new ItemTexturedArmor(mummyEnum, 0, 3).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyBoots").setTextureName("atum:MummyBoots"); - - private static ArmorMaterial wandererEnum = EnumHelper.addArmorMaterial("Wanderer", 10, new int[] { 2, 3, 3, 2 }, 15); public static final Item wandererHelmet = new ItemTexturedArmor(wandererEnum, 0, 0).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererHelmet").setTextureName("atum:WandererHelmet"); public static final Item wandererChest = new ItemTexturedArmor(wandererEnum, 0, 1).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererChest").setTextureName("atum:WandererChest"); public static final Item wandererLegs = new ItemTexturedArmor(wandererEnum, 0, 2).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_2").setUnlocalizedName("wandererLegs").setTextureName("atum:WandererLegs"); public static final Item wandererBoots = new ItemTexturedArmor(wandererEnum, 0, 3).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererBoots").setTextureName("atum:WandererBoots"); - - private static ArmorMaterial desertEnum = EnumHelper.addArmorMaterial("Desert", 20, new int[] { 3, 6, 5, 3 }, 15); public static final Item desertHelmet = new ItemTexturedArmor(desertEnum, 0, 0).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_1").setUnlocalizedName("desertHelmet").setTextureName("atum:DesertHelmet"); public static final Item desertChest = new ItemTexturedArmor(desertEnum, 0, 1).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_1").setUnlocalizedName("desertChest").setTextureName("atum:DesertChest"); public static final Item desertLegs = new ItemTexturedArmor(desertEnum, 0, 2).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_2").setUnlocalizedName("desertLegs").setTextureName("atum:DesertLegs"); public static final Item desertBoots = new ItemTexturedArmor(desertEnum, 0, 3).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_1").setUnlocalizedName("desertBoots").setTextureName("atum:DesertBoots"); - public static final Item papyrusPlant = new ItemPapyrusPlant(AtumBlocks.BLOCK_PAPYRUS).setUnlocalizedName("papyrusPlant"); public static final Item ITEM_ECTOPLASM = new Item().setUnlocalizedName("ectoplasm").setTextureName("atum:Ectoplasm"); public static final Item ITEM_STONECHUNK = new Item().setUnlocalizedName("stoneChunk").setTextureName("atum:StoneChunk"); @@ -118,6 +80,9 @@ public enum AtumItems { public static final Item ITEM_FLAXSEED = new ItemSeeds(AtumBlocks.BLOCK_FLAX, Blocks.farmland).setUnlocalizedName("flaxSeeds").setTextureName("atum:FlaxSeeds"); public static final Item ITEM_FISH = new ItemFish().setUnlocalizedName("fish"); public static final Item neithsAudacity = new ItemNeithsAudacity().setUnlocalizedName("neithsAudacity"); + private static ArmorMaterial mummyEnum = EnumHelper.addArmorMaterial("Mummy", 5, new int[]{1, 3, 2, 1}, 15); + private static ArmorMaterial wandererEnum = EnumHelper.addArmorMaterial("Wanderer", 10, new int[]{2, 3, 3, 2}, 15); + private static ArmorMaterial desertEnum = EnumHelper.addArmorMaterial("Desert", 20, new int[]{3, 6, 5, 3}, 15); public void registerItems() { this.register(ITEM_SCARAB); diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemAtumBow.java b/src/main/java/com/teammetallurgy/atum/items/ItemAtumBow.java index 0076847..6ba6753 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemAtumBow.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemAtumBow.java @@ -1,16 +1,16 @@ package com.teammetallurgy.atum.items; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBow; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; public class ItemAtumBow extends ItemBow { - public static final String[] bowPullIconNameArray = new String[] { "bow_pull_0", "bow_pull_1", "bow_pull_2" }; + public static final String[] bowPullIconNameArray = new String[]{"bow_pull_0", "bow_pull_1", "bow_pull_2"}; IIcon[] iconArray; public ItemAtumBow() { diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemFish.java b/src/main/java/com/teammetallurgy/atum/items/ItemFish.java index 5a20474..87d31c7 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemFish.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemFish.java @@ -1,14 +1,14 @@ package com.teammetallurgy.atum.items; -import java.util.List; - +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; + +import java.util.List; public class ItemFish extends Item { @@ -33,7 +33,7 @@ public String getUnlocalizedName(ItemStack par1ItemStack) { @Override @SideOnly(Side.CLIENT) public void getSubItems(Item par1, CreativeTabs par2CreativeTabs, List par3List) { - for(int i = 0; i < 4; ++i) { + for (int i = 0; i < 4; ++i) { par3List.add(new ItemStack(par1, 1, i)); } @@ -44,7 +44,7 @@ public void getSubItems(Item par1, CreativeTabs par2CreativeTabs, List par3List) public void registerIcons(IIconRegister par1IIconRegister) { this.icons = new IIcon[4]; - for(int i = 0; i < 4; ++i) { + for (int i = 0; i < 4; ++i) { this.icons[i] = par1IIconRegister.registerIcon("atum:Fish" + i); } } diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemGreatsword.java b/src/main/java/com/teammetallurgy/atum/items/ItemGreatsword.java index 782873e..f9b1f33 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemGreatsword.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemGreatsword.java @@ -1,13 +1,12 @@ package com.teammetallurgy.atum.items; +import com.teammetallurgy.atum.entity.EntityPharaoh; +import com.teammetallurgy.atum.entity.EntityStoneSoldier; import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; import net.minecraft.util.MathHelper; -import com.teammetallurgy.atum.entity.EntityPharaoh; -import com.teammetallurgy.atum.entity.EntityStoneSoldier; - public class ItemGreatsword extends ItemSword { public ItemGreatsword(ToolMaterial par2ToolMaterial) { @@ -16,7 +15,7 @@ public ItemGreatsword(ToolMaterial par2ToolMaterial) { @Override public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase mob, EntityLivingBase player) { - if(!(mob instanceof EntityStoneSoldier) && !(mob instanceof EntityPharaoh)) { + if (!(mob instanceof EntityStoneSoldier) && !(mob instanceof EntityPharaoh)) { float j = 1.2F; mob.addVelocity((double) (-MathHelper.sin(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F), 0.1D, (double) (MathHelper.cos(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F)); } diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java b/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java index f53384f..b8281fe 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java @@ -1,8 +1,7 @@ package com.teammetallurgy.atum.items; -import java.util.List; -import java.util.Random; - +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; @@ -13,8 +12,9 @@ import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; import net.minecraft.util.StatCollector; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; + +import java.util.List; +import java.util.Random; public class ItemLoot extends Item { diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java b/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java index 4b937f8..f320483 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java @@ -1,5 +1,7 @@ package com.teammetallurgy.atum.items; +import com.teammetallurgy.atum.AtumIDS; +import com.teammetallurgy.atum.blocks.AtumBlocks; import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; @@ -10,70 +12,67 @@ import net.minecraft.util.StatCollector; import net.minecraft.world.World; -import com.teammetallurgy.atum.AtumIDS; -import com.teammetallurgy.atum.blocks.AtumBlocks; - public class ItemScarab extends Item { - public ItemScarab() { - super(); - super.maxStackSize = 1; - } + public ItemScarab() { + super(); + super.maxStackSize = 1; + } - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } - @Override - public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int x, int y, int z, int par7, float par8, float par9, float par10) { - if (AtumIDS.ALLOW_CREATION) { + @Override + public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int x, int y, int z, int par7, float par8, float par9, float par10) { + if (AtumIDS.ALLOW_CREATION) { - Block block = par3World.getBlock(x, y, z); - Block temp = null; - if (block == Blocks.sandstone) { - temp = Blocks.sandstone; - } else if (block == AtumBlocks.BLOCK_LARGEBRICK) { - temp = AtumBlocks.BLOCK_LARGEBRICK; - } - if (temp != null) { - if (!(AtumBlocks.BLOCK_PORTAL).tryToCreatePortal(par3World, x, y, z, temp)) { - if (par2EntityPlayer.capabilities.isCreativeMode) { - for (int x1 = -2; x1 < 3; x1++) { - for (int z1 = -2; z1 < 3; z1++) { - par3World.setBlock(x + x1, y, z + z1, temp); - } - } - for (int x1 = -2; x1 < 3; x1++) { - for (int z1 = -2; z1 < 3; z1++) { - if (x1 + x == x + 2 || z1 + z == z + 2 || x1 + x == x - 2 || z1 + z == z - 2) { - par3World.setBlock(x + x1, y + 1, z + z1, temp); - } - } - } - for (int y1 = 2; y1 < 4; y1++) { - for (int x1 = -2; x1 < 3; x1++) { - for (int z1 = -2; z1 < 3; z1++) { - if ((x1 + x == x + 2 && z1 + z == z + 2) || (x1 + x == x - 2 && z1 + z == z + 2) || (x1 + x == x + 2 && z1 + z == z - 2) || (x1 + x == x - 2 && z1 + z == z - 2)) { - par3World.setBlock(x + x1, y + y1, z + z1, temp); - } - } - } - } - } - } else { - --par2EntityPlayer.getCurrentEquippedItem().stackSize; - } - } - } else { - par2EntityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chat.atum.disabled"))); - } + Block block = par3World.getBlock(x, y, z); + Block temp = null; + if (block == Blocks.sandstone) { + temp = Blocks.sandstone; + } else if (block == AtumBlocks.BLOCK_LARGEBRICK) { + temp = AtumBlocks.BLOCK_LARGEBRICK; + } + if (temp != null) { + if (!(AtumBlocks.BLOCK_PORTAL).tryToCreatePortal(par3World, x, y, z, temp)) { + if (par2EntityPlayer.capabilities.isCreativeMode) { + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + par3World.setBlock(x + x1, y, z + z1, temp); + } + } + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + if (x1 + x == x + 2 || z1 + z == z + 2 || x1 + x == x - 2 || z1 + z == z - 2) { + par3World.setBlock(x + x1, y + 1, z + z1, temp); + } + } + } + for (int y1 = 2; y1 < 4; y1++) { + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + if ((x1 + x == x + 2 && z1 + z == z + 2) || (x1 + x == x - 2 && z1 + z == z + 2) || (x1 + x == x + 2 && z1 + z == z - 2) || (x1 + x == x - 2 && z1 + z == z - 2)) { + par3World.setBlock(x + x1, y + y1, z + z1, temp); + } + } + } + } + } + } else { + --par2EntityPlayer.getCurrentEquippedItem().stackSize; + } + } + } else { + par2EntityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chat.atum.disabled"))); + } - return true; - } + return true; + } - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:Scarab"); - } + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:Scarab"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/LimestoneAxe.java b/src/main/java/com/teammetallurgy/atum/items/LimestoneAxe.java index c14efa0..3a6d718 100644 --- a/src/main/java/com/teammetallurgy/atum/items/LimestoneAxe.java +++ b/src/main/java/com/teammetallurgy/atum/items/LimestoneAxe.java @@ -1,12 +1,11 @@ package com.teammetallurgy.atum.items; +import com.teammetallurgy.atum.blocks.AtumBlocks; import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemAxe; import net.minecraft.item.ItemStack; -import com.teammetallurgy.atum.blocks.AtumBlocks; - public class LimestoneAxe extends ItemAxe { public LimestoneAxe(ToolMaterial par2ToolMaterial) { diff --git a/src/main/java/com/teammetallurgy/atum/items/LimestoneHoe.java b/src/main/java/com/teammetallurgy/atum/items/LimestoneHoe.java index d00d013..1d5c403 100644 --- a/src/main/java/com/teammetallurgy/atum/items/LimestoneHoe.java +++ b/src/main/java/com/teammetallurgy/atum/items/LimestoneHoe.java @@ -1,12 +1,11 @@ package com.teammetallurgy.atum.items; +import com.teammetallurgy.atum.blocks.AtumBlocks; import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemHoe; import net.minecraft.item.ItemStack; -import com.teammetallurgy.atum.blocks.AtumBlocks; - public class LimestoneHoe extends ItemHoe { public LimestoneHoe(ToolMaterial par2ToolMaterial) { diff --git a/src/main/java/com/teammetallurgy/atum/items/LimestonePickaxe.java b/src/main/java/com/teammetallurgy/atum/items/LimestonePickaxe.java index f33f8bc..998a2f5 100644 --- a/src/main/java/com/teammetallurgy/atum/items/LimestonePickaxe.java +++ b/src/main/java/com/teammetallurgy/atum/items/LimestonePickaxe.java @@ -1,16 +1,15 @@ package com.teammetallurgy.atum.items; +import com.teammetallurgy.atum.blocks.AtumBlocks; import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemPickaxe; import net.minecraft.item.ItemStack; -import com.teammetallurgy.atum.blocks.AtumBlocks; - public class LimestonePickaxe extends ItemPickaxe { public LimestonePickaxe(ToolMaterial par2ToolMaterial) { - super( par2ToolMaterial); + super(par2ToolMaterial); } @Override diff --git a/src/main/java/com/teammetallurgy/atum/items/LimestoneShovel.java b/src/main/java/com/teammetallurgy/atum/items/LimestoneShovel.java index 730c1c1..e6ea425 100644 --- a/src/main/java/com/teammetallurgy/atum/items/LimestoneShovel.java +++ b/src/main/java/com/teammetallurgy/atum/items/LimestoneShovel.java @@ -1,12 +1,11 @@ package com.teammetallurgy.atum.items; +import com.teammetallurgy.atum.blocks.AtumBlocks; import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemSpade; import net.minecraft.item.ItemStack; -import com.teammetallurgy.atum.blocks.AtumBlocks; - public class LimestoneShovel extends ItemSpade { public LimestoneShovel(ToolMaterial par2ToolMaterial) { diff --git a/src/main/java/com/teammetallurgy/atum/items/LimestoneSword.java b/src/main/java/com/teammetallurgy/atum/items/LimestoneSword.java index b3b0357..9dbe6db 100644 --- a/src/main/java/com/teammetallurgy/atum/items/LimestoneSword.java +++ b/src/main/java/com/teammetallurgy/atum/items/LimestoneSword.java @@ -1,12 +1,11 @@ package com.teammetallurgy.atum.items; +import com.teammetallurgy.atum.blocks.AtumBlocks; import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; -import com.teammetallurgy.atum.blocks.AtumBlocks; - public class LimestoneSword extends ItemSword { public LimestoneSword(ToolMaterial par2ToolMaterial) { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java index 3910969..2f27300 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java @@ -1,7 +1,7 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.List; - +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.EntityLivingBase; @@ -14,11 +14,9 @@ import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraftforge.common.ForgeHooks; - import org.lwjgl.input.Keyboard; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class ItemAkersToil extends ItemSpade { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java index cbf5645..bd05ad9 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java @@ -1,7 +1,7 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.List; - +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; @@ -15,11 +15,9 @@ import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraft.world.chunk.IChunkProvider; - import org.lwjgl.input.Keyboard; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class ItemAmunetsHomecoming extends Item { @@ -28,6 +26,28 @@ public ItemAmunetsHomecoming() { this.setMaxDamage(20); } + public static ChunkCoordinates verifyRespawnCoordinates(World par0World, ChunkCoordinates par1ChunkCoordinates, boolean par2) { + if (!par0World.isRemote) { + IChunkProvider c = par0World.getChunkProvider(); + c.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); + c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); + c.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); + c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); + } + + Block block = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ); + if (block != null && block.isBed(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityLiving) null)) { + ChunkCoordinates material1 = block.getBedSpawnPosition(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityPlayer) null); + return material1; + } else { + Material material = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ).getMaterial(); + Material material1 = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY + 1, par1ChunkCoordinates.posZ).getMaterial(); + boolean flag1 = !material.isSolid() && !material.isLiquid(); + boolean flag2 = !material1.isSolid() && !material1.isLiquid(); + return par2 && flag1 && flag2 ? par1ChunkCoordinates : null; + } + } + @Override public boolean hasEffect(ItemStack par1ItemStack, int pass) { return true; @@ -62,28 +82,6 @@ public ItemStack onItemRightClick(ItemStack par1ItemStack, World par3World, Enti return par1ItemStack; } - public static ChunkCoordinates verifyRespawnCoordinates(World par0World, ChunkCoordinates par1ChunkCoordinates, boolean par2) { - if (!par0World.isRemote) { - IChunkProvider c = par0World.getChunkProvider(); - c.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); - c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); - c.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); - c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); - } - - Block block = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ); - if (block != null && block.isBed(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityLiving) null)) { - ChunkCoordinates material1 = block.getBedSpawnPosition(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityPlayer) null); - return material1; - } else { - Material material = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ).getMaterial(); - Material material1 = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY + 1, par1ChunkCoordinates.posZ).getMaterial(); - boolean flag1 = !material.isSolid() && !material.isLiquid(); - boolean flag2 = !material1.isSolid() && !material1.isLiquid(); - return par2 && flag1 && flag2 ? par1ChunkCoordinates : null; - } - } - @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java index fdd3a4a..7766d42 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java @@ -1,7 +1,7 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.List; - +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; @@ -15,11 +15,9 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; import net.minecraft.world.World; - import org.lwjgl.input.Keyboard; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class ItemAnhursMight extends ItemSword { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java index 6aa71d6..fcd2ead 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java @@ -1,7 +1,8 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.List; - +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +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; @@ -17,12 +18,9 @@ import net.minecraft.world.World; import net.minecraft.world.chunk.IChunkProvider; import net.minecraftforge.event.entity.living.LivingHurtEvent; - import org.lwjgl.input.Keyboard; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class ItemAnubisMercy extends Item { @@ -31,6 +29,28 @@ public ItemAnubisMercy() { this.setMaxDamage(20); } + public static ChunkCoordinates verifyRespawnCoordinates(World par0World, ChunkCoordinates par1ChunkCoordinates, boolean par2) { + if (!par0World.isRemote) { + IChunkProvider c = par0World.getChunkProvider(); + c.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); + c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); + c.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); + c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); + } + + Block block = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ); + if (block != null && block.isBed(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityLiving) null)) { + ChunkCoordinates material1 = block.getBedSpawnPosition(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityPlayer) null); + return material1; + } else { + Material material = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ).getMaterial(); + Material material1 = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY + 1, par1ChunkCoordinates.posZ).getMaterial(); + boolean flag1 = !material.isSolid() && !material.isLiquid(); + boolean flag2 = !material1.isSolid() && !material1.isLiquid(); + return par2 && flag1 && flag2 ? par1ChunkCoordinates : null; + } + } + @Override public boolean hasEffect(ItemStack par1ItemStack, int pass) { return true; @@ -56,9 +76,9 @@ public void onDamage(LivingHurtEvent event) { return; } - float var8 = (float) event.ammount; + float var8 = event.ammount; if (!event.source.isUnblockable()) { - var8 = (float) (event.ammount * (25 - player.getTotalArmorValue()) + player.getAbsorptionAmount()) / 25.0F; + var8 = (event.ammount * (25 - player.getTotalArmorValue()) + player.getAbsorptionAmount()) / 25.0F; } if (player.isPotionActive(Potion.resistance)) { @@ -108,28 +128,6 @@ public void respawnPlayer(World par3World, EntityPlayer par2EntityPlayer) { } - public static ChunkCoordinates verifyRespawnCoordinates(World par0World, ChunkCoordinates par1ChunkCoordinates, boolean par2) { - if (!par0World.isRemote) { - IChunkProvider c = par0World.getChunkProvider(); - c.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); - c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); - c.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); - c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); - } - - Block block = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ); - if (block != null && block.isBed(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityLiving) null)) { - ChunkCoordinates material1 = block.getBedSpawnPosition(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityPlayer) null); - return material1; - } else { - Material material = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ).getMaterial(); - Material material1 = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY + 1, par1ChunkCoordinates.posZ).getMaterial(); - boolean flag1 = !material.isSolid() && !material.isLiquid(); - boolean flag2 = !material1.isSolid() && !material1.isLiquid(); - return par2 && flag1 && flag2 ? par1ChunkCoordinates : null; - } - } - @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java index 7e30f97..ed57017 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java @@ -1,7 +1,8 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.List; - +import com.teammetallurgy.atum.entity.arrow.EntityAtumFishHook; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -13,13 +14,9 @@ import net.minecraft.util.IIcon; import net.minecraft.util.StatCollector; import net.minecraft.world.World; - import org.lwjgl.input.Keyboard; -import com.teammetallurgy.atum.entity.arrow.EntityAtumFishHook; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class ItemAnuketsBounty extends Item { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java index 7ee456a..44109ad 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java @@ -1,7 +1,8 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.List; - +import com.teammetallurgy.atum.entity.arrow.EntityArrowFire; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; @@ -17,17 +18,13 @@ import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; - import org.lwjgl.input.Keyboard; -import com.teammetallurgy.atum.entity.arrow.EntityArrowFire; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class ItemAtensFury extends ItemBow { - public static final String[] bowPullIconNameArray = new String[] { "atens_pull_0", "atens_pull_1", "atens_pull_2" }; + public static final String[] bowPullIconNameArray = new String[]{"atens_pull_0", "atens_pull_1", "atens_pull_2"}; IIcon[] iconArray; public ItemAtensFury() { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java index ab29b4d..0b18511 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java @@ -1,7 +1,7 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.List; - +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; @@ -10,11 +10,9 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; - import org.lwjgl.input.Keyboard; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class ItemGebsBlessing extends ItemHoe { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java index cade820..db34e98 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java @@ -1,7 +1,9 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.List; - +import com.teammetallurgy.atum.items.ItemTexturedArmor; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.Entity; @@ -17,14 +19,9 @@ import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraftforge.event.entity.living.LivingHurtEvent; - import org.lwjgl.input.Keyboard; -import com.teammetallurgy.atum.items.ItemTexturedArmor; - -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class ItemGebsSolidarity extends ItemTexturedArmor { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java index 87aa9c8..692c504 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java @@ -1,7 +1,7 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.List; - +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; @@ -13,11 +13,9 @@ import net.minecraft.potion.PotionEffect; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; - import org.lwjgl.input.Keyboard; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class ItemHedetetsSting extends ItemSword { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java index c7b8e3b..4c2ffc0 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java @@ -1,7 +1,8 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.List; - +import com.teammetallurgy.atum.entity.arrow.EntityArrowPoison; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; @@ -17,17 +18,13 @@ import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; - import org.lwjgl.input.Keyboard; -import com.teammetallurgy.atum.entity.arrow.EntityArrowPoison; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class ItemHedetetsVenom extends ItemBow { - public static final String[] bowPullIconNameArray = new String[] { "HedetetsVenom_pull_0", "HedetetsVenom_pull_1", "HedetetsVenom_pull_2" }; + public static final String[] bowPullIconNameArray = new String[]{"HedetetsVenom_pull_0", "HedetetsVenom_pull_1", "HedetetsVenom_pull_2"}; IIcon[] iconArray; public ItemHedetetsVenom() { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java index 71a7c22..ccb54bf 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java @@ -1,7 +1,10 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.List; - +import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.items.ItemTexturedArmor; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; @@ -11,21 +14,14 @@ import net.minecraft.util.StatCollector; import net.minecraftforge.event.entity.living.LivingEvent.LivingJumpEvent; import net.minecraftforge.event.entity.living.LivingFallEvent; - import org.lwjgl.input.Keyboard; -import com.teammetallurgy.atum.items.AtumItems; -import com.teammetallurgy.atum.items.ItemTexturedArmor; - -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class ItemHorusFlight extends ItemTexturedArmor { public ItemHorusFlight(ArmorMaterial par2ArmorMaterial, int par3, int par4) { super(par2ArmorMaterial, par3, par4); - } @Override diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java index a847ed1..d8076ee 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java @@ -1,7 +1,8 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.List; - +import com.teammetallurgy.atum.entity.arrow.EntityArrowVelocity; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; @@ -16,14 +17,11 @@ import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; -import com.teammetallurgy.atum.entity.arrow.EntityArrowVelocity; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class ItemHorusSoaring extends ItemBow { - public static final String[] bowPullIconNameArray = new String[] { "HorusSoaring_pull_0", "HorusSoaring_pull_1", "HorusSoaring_pull_2" }; + public static final String[] bowPullIconNameArray = new String[]{"HorusSoaring_pull_0", "HorusSoaring_pull_1", "HorusSoaring_pull_2"}; IIcon[] iconArray; public ItemHorusSoaring() { @@ -114,7 +112,7 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye public void registerIcons(IIconRegister par1IIconRegister) { this.itemIcon = par1IIconRegister.registerIcon("atum:HorusSoaring"); this.iconArray = new IIcon[bowPullIconNameArray.length]; - + for (int i = 0; i < this.iconArray.length; ++i) { this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisEmbrace.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisEmbrace.java index fc35010..0d0cb46 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisEmbrace.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisEmbrace.java @@ -1,7 +1,8 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.List; - +import com.teammetallurgy.atum.items.ItemTexturedArmor; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; @@ -9,13 +10,9 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; - import org.lwjgl.input.Keyboard; -import com.teammetallurgy.atum.items.ItemTexturedArmor; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class ItemIsisEmbrace extends ItemTexturedArmor { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java index 3e2ef07..1ac1300 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java @@ -1,7 +1,7 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.List; - +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; @@ -12,11 +12,9 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; import net.minecraft.world.World; - import org.lwjgl.input.Keyboard; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class ItemIsisHealing extends Item { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java index a871688..c6ba37c 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java @@ -1,7 +1,9 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.List; - +import com.teammetallurgy.atum.items.ItemTexturedArmor; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; @@ -14,14 +16,9 @@ import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraftforge.event.entity.living.LivingHurtEvent; - import org.lwjgl.input.Keyboard; -import com.teammetallurgy.atum.items.ItemTexturedArmor; - -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class ItemMaatsBalance extends ItemTexturedArmor { @@ -37,7 +34,7 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { @SubscribeEvent public void onLivingAttack(LivingHurtEvent event) { if (event.entityLiving.getEquipmentInSlot(3) != null && event.entityLiving.getEquipmentInSlot(3).getItem() == this) { - event.ammount = (int) ((float) (event.ammount + 1) / 1.5F) - 1; + event.ammount = (event.ammount + 1) / 1.5F - 1; } if (event.source instanceof EntityDamageSource) { @@ -45,7 +42,7 @@ public void onLivingAttack(LivingHurtEvent event) { if (source.getEntity() != null && source.getEntity() instanceof EntityLiving) { EntityLiving entity = (EntityLiving) source.getEntity(); if (entity.getEquipmentInSlot(3) != null && entity.getEquipmentInSlot(3).getItem() == this) { - event.ammount = (int) ((float) (event.ammount + 1) / 1.5F) - 1; + event.ammount = (event.ammount + 1) / 1.5F - 1; } } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java index abbe5d3..92be477 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java @@ -1,7 +1,7 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.List; - +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; @@ -14,11 +14,9 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; import net.minecraft.world.World; - import org.lwjgl.input.Keyboard; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class ItemMafdetsQuickness extends Item { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java index 285f2dd..9ea131b 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java @@ -1,7 +1,9 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.List; - +import com.teammetallurgy.atum.items.ItemTexturedArmor; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; @@ -12,14 +14,9 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; import net.minecraftforge.event.entity.living.LivingAttackEvent; - import org.lwjgl.input.Keyboard; -import com.teammetallurgy.atum.items.ItemTexturedArmor; - -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class ItemMnevisHorns extends ItemTexturedArmor { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java index 7759d6d..9554e40 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java @@ -1,7 +1,8 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.List; - +import com.teammetallurgy.atum.entity.arrow.EntityArrowExplosive; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; @@ -17,17 +18,13 @@ import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; - import org.lwjgl.input.Keyboard; -import com.teammetallurgy.atum.entity.arrow.EntityArrowExplosive; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class ItemMonthusBlast extends ItemBow { - public static final String[] bowPullIconNameArray = new String[] { "MonthusBlast_pull_0", "MonthusBlast_pull_1", "MonthusBlast_pull_2" }; + public static final String[] bowPullIconNameArray = new String[]{"MonthusBlast_pull_0", "MonthusBlast_pull_1", "MonthusBlast_pull_2"}; IIcon[] iconArray; public ItemMonthusBlast() { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java index ed03e96..f535aa4 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java @@ -1,8 +1,9 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.Iterator; -import java.util.List; - +import com.teammetallurgy.atum.entity.EntityPharaoh; +import com.teammetallurgy.atum.entity.EntityStoneSoldier; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.Minecraft; import net.minecraft.client.particle.EntityCrit2FX; import net.minecraft.client.renderer.texture.IIconRegister; @@ -15,18 +16,13 @@ import net.minecraft.item.ItemAxe; import net.minecraft.item.ItemStack; import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; import net.minecraft.world.World; - import org.lwjgl.input.Keyboard; -import com.teammetallurgy.atum.entity.EntityPharaoh; -import com.teammetallurgy.atum.entity.EntityStoneSoldier; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.Iterator; +import java.util.List; public class ItemMonthusStrike extends ItemAxe { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java index d3c782f..d02119f 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java @@ -1,18 +1,15 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.List; - +import com.teammetallurgy.atum.entity.arrow.EntityArrowDoubleShot; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; -import net.minecraft.item.EnumAction; -import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBow; -import net.minecraft.item.ItemStack; +import net.minecraft.item.*; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; import net.minecraft.util.StatCollector; @@ -20,17 +17,13 @@ import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; import net.minecraftforge.event.entity.player.ArrowNockEvent; - import org.lwjgl.input.Keyboard; -import com.teammetallurgy.atum.entity.arrow.EntityArrowDoubleShot; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class ItemNeithsAudacity extends ItemBow { - public static final String[] bowPullIconNameArray = new String[] { "neiths_pull_0", "neiths_pull_1", "neiths_pull_2" }; + public static final String[] bowPullIconNameArray = new String[]{"neiths_pull_0", "neiths_pull_1", "neiths_pull_2"}; @SideOnly(Side.CLIENT) private IIcon[] iconArray; diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java index 943eb99..6ebdb44 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java @@ -1,7 +1,8 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.List; - +import com.teammetallurgy.atum.entity.EntityStoneSoldier; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.Minecraft; import net.minecraft.client.particle.EntityCrit2FX; import net.minecraft.client.renderer.texture.IIconRegister; @@ -12,17 +13,12 @@ import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; -import net.minecraft.util.DamageSource; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; import net.minecraft.world.World; - import org.lwjgl.input.Keyboard; -import com.teammetallurgy.atum.entity.EntityStoneSoldier; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class ItemNusFlux extends ItemSword { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java index e4d3797..f927432 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java @@ -1,7 +1,8 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.List; - +import com.teammetallurgy.atum.items.ItemTexturedArmor; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; @@ -12,13 +13,9 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; import net.minecraft.world.World; - import org.lwjgl.input.Keyboard; -import com.teammetallurgy.atum.items.ItemTexturedArmor; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class ItemNutsAgility extends ItemTexturedArmor { @@ -39,6 +36,7 @@ public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { } } + @Override @SideOnly(Side.CLIENT) public EnumRarity getRarity(ItemStack par1ItemStack) { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java index e265e5c..8dd852e 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java @@ -1,7 +1,8 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.List; - +import com.teammetallurgy.atum.entity.arrow.EntityNutsCall; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumAction; @@ -11,13 +12,9 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; import net.minecraft.world.World; - import org.lwjgl.input.Keyboard; -import com.teammetallurgy.atum.entity.arrow.EntityNutsCall; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class ItemNutsCall extends Item { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java index 54bd38c..51b2c28 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java @@ -1,9 +1,9 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.List; - +import com.teammetallurgy.atum.items.AtumItems; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.player.EntityPlayer; @@ -13,13 +13,9 @@ import net.minecraft.item.ItemSword; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; - import org.lwjgl.input.Keyboard; -import com.teammetallurgy.atum.items.AtumItems; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class ItemOsirisWill extends ItemSword { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java index cb213be..8c614c7 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java @@ -1,8 +1,7 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.List; -import java.util.Random; - +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.EntityLivingBase; @@ -16,11 +15,10 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; import net.minecraft.world.World; - import org.lwjgl.input.Keyboard; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; +import java.util.Random; public class ItemPtahsDecadence extends ItemPickaxe { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java index a2edc32..2bec75a 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java @@ -1,9 +1,8 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.List; - +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; @@ -11,13 +10,9 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; - import org.lwjgl.input.Keyboard; -import com.teammetallurgy.atum.entity.EntityStoneSoldier; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class ItemPtahsDestruction extends ItemPickaxe { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java index 64c1a3b..b6c2aee 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java @@ -1,7 +1,8 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.List; - +import com.teammetallurgy.atum.items.ItemTexturedArmor; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; @@ -9,13 +10,9 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; - import org.lwjgl.input.Keyboard; -import com.teammetallurgy.atum.items.ItemTexturedArmor; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class ItemRasGlory extends ItemTexturedArmor { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java index 4472137..d736a25 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java @@ -1,7 +1,9 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.List; - +import com.teammetallurgy.atum.items.ItemTexturedArmor; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; @@ -12,14 +14,9 @@ import net.minecraft.util.StatCollector; import net.minecraftforge.event.entity.living.LivingAttackEvent; import net.minecraftforge.event.entity.living.LivingHurtEvent; - import org.lwjgl.input.Keyboard; -import com.teammetallurgy.atum.items.ItemTexturedArmor; - -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class ItemSekhmetsWrath extends ItemTexturedArmor { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java index ed08a48..d42d204 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java @@ -1,7 +1,7 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.List; - +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; @@ -9,7 +9,6 @@ import net.minecraft.entity.projectile.EntityArrow; import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; -import net.minecraft.item.Item; import net.minecraft.item.ItemBow; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; @@ -18,17 +17,13 @@ import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; - import org.lwjgl.input.Keyboard; -import com.teammetallurgy.atum.entity.arrow.EntityArrowQuickdraw; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class ItemShusBreath extends ItemBow { - public static final String[] bowPullIconNameArray = new String[] { "ShusBreath_pull_0", "ShusBreath_pull_1", "ShusBreath_pull_2" }; + public static final String[] bowPullIconNameArray = new String[]{"ShusBreath_pull_0", "ShusBreath_pull_1", "ShusBreath_pull_2"}; IIcon[] iconArray; public ItemShusBreath() { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java index c362dbd..2f11da4 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java @@ -1,9 +1,10 @@ package com.teammetallurgy.atum.items.artifacts; -import java.util.List; - +import com.teammetallurgy.atum.entity.EntityPharaoh; +import com.teammetallurgy.atum.entity.EntityStoneSoldier; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; @@ -13,14 +14,9 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.MathHelper; import net.minecraft.util.StatCollector; - import org.lwjgl.input.Keyboard; -import com.teammetallurgy.atum.entity.EntityPharaoh; -import com.teammetallurgy.atum.entity.EntityStoneSoldier; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.List; public class ItemSobeksRage extends ItemAxe { diff --git a/src/main/java/com/teammetallurgy/atum/lib/handler/CraftingHandler.java b/src/main/java/com/teammetallurgy/atum/lib/handler/CraftingHandler.java index 8cbb291..2f8f675 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/handler/CraftingHandler.java +++ b/src/main/java/com/teammetallurgy/atum/lib/handler/CraftingHandler.java @@ -1,5 +1,8 @@ package com.teammetallurgy.atum.lib.handler; +import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.items.AtumItems; +import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; @@ -7,11 +10,6 @@ import net.minecraftforge.oredict.ShapedOreRecipe; import net.minecraftforge.oredict.ShapelessOreRecipe; -import com.teammetallurgy.atum.blocks.AtumBlocks; -import com.teammetallurgy.atum.items.AtumItems; - -import cpw.mods.fml.common.registry.GameRegistry; - public enum CraftingHandler { INSTANCE; diff --git a/src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java b/src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java index 2615b7a..753122b 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java +++ b/src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java @@ -1,16 +1,5 @@ package com.teammetallurgy.atum.lib.proxy; -import com.teammetallurgy.atum.lib.tickhandler.ClientEvents; -import net.minecraft.client.model.ModelBiped; -import net.minecraft.client.model.ModelZombie; -import net.minecraft.client.renderer.entity.RenderBiped; -import net.minecraft.client.renderer.entity.RenderFish; -import net.minecraft.client.renderer.entity.RenderLiving; -import net.minecraft.entity.Entity; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.MinecraftForgeClient; -import net.minecraftforge.common.MinecraftForge; - import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.blocks.BlockDate; import com.teammetallurgy.atum.blocks.BlockPapyrus; @@ -25,23 +14,22 @@ import com.teammetallurgy.atum.client.render.item.RendererItemBow; import com.teammetallurgy.atum.client.render.tileentity.RenderDate; import com.teammetallurgy.atum.client.render.tileentity.RenderPapyrus; -import com.teammetallurgy.atum.entity.EntityBanditArcher; -import com.teammetallurgy.atum.entity.EntityBanditWarlord; -import com.teammetallurgy.atum.entity.EntityBanditWarrior; -import com.teammetallurgy.atum.entity.EntityBarbarian; -import com.teammetallurgy.atum.entity.EntityDesertWolf; -import com.teammetallurgy.atum.entity.EntityDustySkeleton; -import com.teammetallurgy.atum.entity.EntityGhost; -import com.teammetallurgy.atum.entity.EntityMummy; -import com.teammetallurgy.atum.entity.EntityPharaoh; -import com.teammetallurgy.atum.entity.EntityStoneSoldier; +import com.teammetallurgy.atum.entity.*; import com.teammetallurgy.atum.entity.arrow.CustomArrow; import com.teammetallurgy.atum.entity.arrow.EntityAtumFishHook; import com.teammetallurgy.atum.entity.arrow.EntityNutsCall; import com.teammetallurgy.atum.items.AtumItems; - +import com.teammetallurgy.atum.lib.tickhandler.ClientEvents; import cpw.mods.fml.client.registry.RenderingRegistry; -import cpw.mods.fml.common.FMLCommonHandler; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelZombie; +import net.minecraft.client.renderer.entity.RenderBiped; +import net.minecraft.client.renderer.entity.RenderFish; +import net.minecraft.client.renderer.entity.RenderLiving; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.MinecraftForgeClient; +import net.minecraftforge.common.MinecraftForge; public class ClientProxy extends CommonProxy { @@ -49,12 +37,13 @@ public class ClientProxy extends CommonProxy { public void init() { ClientEvents ticker = new ClientEvents(); MinecraftForge.EVENT_BUS.register(ticker); - FMLCommonHandler.instance().bus().register(ticker); - MinecraftForge.EVENT_BUS.register(AtumItems.sekhmetsWrath); - MinecraftForge.EVENT_BUS.register(AtumItems.mnevisHorns); - MinecraftForge.EVENT_BUS.register(AtumItems.maatsBalance); MinecraftForge.EVENT_BUS.register(AtumItems.anubisMercy); + MinecraftForge.EVENT_BUS.register(AtumItems.gebsSolidarity); + MinecraftForge.EVENT_BUS.register(AtumItems.horusFlight); + MinecraftForge.EVENT_BUS.register(AtumItems.maatsBalance); + MinecraftForge.EVENT_BUS.register(AtumItems.mnevisHorns); + MinecraftForge.EVENT_BUS.register(AtumItems.sekhmetsWrath); } @Override diff --git a/src/main/java/com/teammetallurgy/atum/lib/proxy/CommonProxy.java b/src/main/java/com/teammetallurgy/atum/lib/proxy/CommonProxy.java index 9db6029..a92743c 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/proxy/CommonProxy.java +++ b/src/main/java/com/teammetallurgy/atum/lib/proxy/CommonProxy.java @@ -3,14 +3,11 @@ import com.teammetallurgy.atum.lib.tickhandler.ServerEvents; import net.minecraftforge.common.MinecraftForge; -import cpw.mods.fml.common.FMLCommonHandler; - public class CommonProxy { public void init() { ServerEvents ticker = new ServerEvents(); MinecraftForge.EVENT_BUS.register(ticker); - FMLCommonHandler.instance().bus().register(ticker); } public void initRenders() { diff --git a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientEvents.java b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientEvents.java index fa11282..a4cbe5b 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientEvents.java +++ b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientEvents.java @@ -1,24 +1,21 @@ package com.teammetallurgy.atum.lib.tickhandler; -import java.util.Random; - +import com.teammetallurgy.atum.AtumIDS; +import com.teammetallurgy.atum.items.AtumItems; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.TickEvent; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.ScaledResolution; import net.minecraft.client.renderer.Tessellator; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; -import com.teammetallurgy.atum.AtumIDS; -import com.teammetallurgy.atum.items.AtumItems; - -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.TickEvent; +import java.util.Random; public class ClientEvents { + public static int defaultFog; private boolean raining; private boolean overlay; - public static int defaultFog; @SubscribeEvent public void onRender(TickEvent.RenderTickEvent event) { diff --git a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ServerEvents.java b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ServerEvents.java index edc56cf..3a3fe9f 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ServerEvents.java +++ b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ServerEvents.java @@ -1,15 +1,11 @@ package com.teammetallurgy.atum.lib.tickhandler; -import java.util.EnumSet; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; - import com.teammetallurgy.atum.items.AtumItems; - import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.TickEvent; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; public class ServerEvents { diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumChunkProvider.java b/src/main/java/com/teammetallurgy/atum/world/AtumChunkProvider.java index e7a0f59..75dba67 100644 --- a/src/main/java/com/teammetallurgy/atum/world/AtumChunkProvider.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumChunkProvider.java @@ -1,16 +1,7 @@ package com.teammetallurgy.atum.world; -import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.CAVE; -import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.RAVINE; -import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.ANIMALS; -import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.DUNGEON; -import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.ICE; - -import java.util.List; -import java.util.Random; - import com.teammetallurgy.atum.blocks.AtumBlocks; - +import cpw.mods.fml.common.eventhandler.Event.Result; import net.minecraft.block.Block; import net.minecraft.block.BlockFalling; import net.minecraft.block.material.Material; @@ -25,56 +16,70 @@ import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.chunk.Chunk; import net.minecraft.world.chunk.IChunkProvider; -import net.minecraft.world.gen.MapGenBase; -import net.minecraft.world.gen.MapGenCaves; -import net.minecraft.world.gen.MapGenRavine; -import net.minecraft.world.gen.NoiseGenerator; -import net.minecraft.world.gen.NoiseGeneratorOctaves; -import net.minecraft.world.gen.NoiseGeneratorPerlin; +import net.minecraft.world.gen.*; import net.minecraft.world.gen.structure.MapGenScatteredFeature; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.terraingen.ChunkProviderEvent; import net.minecraftforge.event.terraingen.PopulateChunkEvent; import net.minecraftforge.event.terraingen.TerrainGen; -import cpw.mods.fml.common.eventhandler.Event.Result; + +import java.util.List; +import java.util.Random; + +import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.CAVE; +import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.RAVINE; +import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.*; public class AtumChunkProvider implements IChunkProvider { - /** RNG. */ + private static final String __OBFID = "CL_00000396"; + { + caveGenerator = TerrainGen.getModdedMapGen(caveGenerator, CAVE); + ravineGenerator = TerrainGen.getModdedMapGen(ravineGenerator, RAVINE); + } + /** + * are map structures going to be generated (e.g. strongholds) + */ + private final boolean mapFeaturesEnabled; + private final double[] field_147434_q; + private final float[] parabolicField; + /** + * A NoiseGeneratorOctaves used in generating terrain + */ + public NoiseGeneratorOctaves noiseGen5; + /** + * A NoiseGeneratorOctaves used in generating terrain + */ + public NoiseGeneratorOctaves noiseGen6; + public NoiseGeneratorOctaves mobSpawnerNoise; + double[] field_147427_d; + double[] field_147428_e; + double[] field_147425_f; + double[] field_147426_g; + int[][] field_73219_j = new int[32][32]; + /** + * RNG. + */ private Random rand; private NoiseGeneratorOctaves field_147431_j; private NoiseGeneratorOctaves field_147432_k; private NoiseGeneratorOctaves field_147429_l; private NoiseGeneratorPerlin field_147430_m; - /** A NoiseGeneratorOctaves used in generating terrain */ - public NoiseGeneratorOctaves noiseGen5; - /** A NoiseGeneratorOctaves used in generating terrain */ - public NoiseGeneratorOctaves noiseGen6; - public NoiseGeneratorOctaves mobSpawnerNoise; - /** Reference to the World object. */ + /** + * Reference to the World object. + */ private World worldObj; - /** are map structures going to be generated (e.g. strongholds) */ - private final boolean mapFeaturesEnabled; private WorldType field_147435_p; - private final double[] field_147434_q; - private final float[] parabolicField; private double[] stoneNoise = new double[256]; private MapGenBase caveGenerator = new MapGenCaves(); private MapGenScatteredFeature scatteredFeatureGenerator = new MapGenScatteredFeature(); - /** Holds ravine generator */ + /** + * Holds ravine generator + */ private MapGenBase ravineGenerator = new MapGenRavine(); - /** The biomes that are used to generate the chunk */ + /** + * The biomes that are used to generate the chunk + */ private BiomeGenBase[] biomesForGeneration; - double[] field_147427_d; - double[] field_147428_e; - double[] field_147425_f; - double[] field_147426_g; - int[][] field_73219_j = new int[32][32]; - private static final String __OBFID = "CL_00000396"; - - { - caveGenerator = TerrainGen.getModdedMapGen(caveGenerator, CAVE); - ravineGenerator = TerrainGen.getModdedMapGen(ravineGenerator, RAVINE); - } public AtumChunkProvider(World par1World, long par2, boolean par4) { this.worldObj = par1World; @@ -98,7 +103,7 @@ public AtumChunkProvider(World par1World, long par2, boolean par4) { } } - NoiseGenerator[] noiseGens = { field_147431_j, field_147432_k, field_147429_l, field_147430_m, noiseGen5, noiseGen6, mobSpawnerNoise }; + NoiseGenerator[] noiseGens = {field_147431_j, field_147432_k, field_147429_l, field_147430_m, noiseGen5, noiseGen6, mobSpawnerNoise}; noiseGens = TerrainGen.getModdedNoiseGenerators(par1World, this.rand, noiseGens); this.field_147431_j = (NoiseGeneratorOctaves) noiseGens[0]; this.field_147432_k = (NoiseGeneratorOctaves) noiseGens[1]; @@ -191,101 +196,77 @@ public void replaceBlocksForBiome(int p_147422_1_, int p_147422_2_, Block[] p_14 } } - public void genBiomeTerrain(World p_150560_1_, BiomeGenBase biomegenbase, Random p_150560_2_, Block[] p_150560_3_, byte[] p_150560_4_, int p_150560_5_, int p_150560_6_, double p_150560_7_) - { - boolean flag = true; - Block block = biomegenbase.topBlock; - byte b0 = (byte)(biomegenbase.field_150604_aj & 255); - Block block1 = biomegenbase.fillerBlock; - int k = -1; - int l = (int)(p_150560_7_ / 3.0D + 3.0D + p_150560_2_.nextDouble() * 0.25D); - int i1 = p_150560_5_ & 15; - int j1 = p_150560_6_ & 15; - int k1 = p_150560_3_.length / 256; - - for (int l1 = 255; l1 >= 0; --l1) - { - int i2 = (j1 * 16 + i1) * k1 + l1; - - if (l1 <= 0 + p_150560_2_.nextInt(5)) - { - p_150560_3_[i2] = Blocks.bedrock; - } - else - { - Block block2 = p_150560_3_[i2]; - - if (block2 != null && block2.getMaterial() != Material.air) - { - if (block2 == AtumBlocks.BLOCK_STONE) - { - if (k == -1) - { - if (l <= 0) - { - block = null; - b0 = 0; - block1 = AtumBlocks.BLOCK_STONE; - } - else if (l1 >= 59 && l1 <= 64) - { - block = biomegenbase.topBlock; - b0 = (byte)(biomegenbase.field_150604_aj & 255); - block1 = biomegenbase.fillerBlock; - } - - if (l1 < 63 && (block == null || block.getMaterial() == Material.air)) - { - if (biomegenbase.getFloatTemperature(p_150560_5_, l1, p_150560_6_) < 0.15F) - { - block = Blocks.ice; - b0 = 0; - } - else - { - block = Blocks.water; - b0 = 0; - } - } - - k = l; - - if (l1 >= 62) - { - p_150560_3_[i2] = block; - p_150560_4_[i2] = b0; - } - else if (l1 < 56 - l) - { - block = null; - block1 = Blocks.stone; - p_150560_3_[i2] = Blocks.gravel; - } - else - { - p_150560_3_[i2] = block1; - } - } - else if (k > 0) - { - --k; - p_150560_3_[i2] = block1; - - if (k == 0 && block1 == Blocks.sand) - { - k = p_150560_2_.nextInt(4) + Math.max(0, l1 - 63); - block1 = Blocks.sandstone; - } - } - } - } - else - { - k = -1; - } - } - } - } + public void genBiomeTerrain(World p_150560_1_, BiomeGenBase biomegenbase, Random p_150560_2_, Block[] p_150560_3_, byte[] p_150560_4_, int p_150560_5_, int p_150560_6_, double p_150560_7_) { + boolean flag = true; + Block block = biomegenbase.topBlock; + byte b0 = (byte) (biomegenbase.field_150604_aj & 255); + Block block1 = biomegenbase.fillerBlock; + int k = -1; + int l = (int) (p_150560_7_ / 3.0D + 3.0D + p_150560_2_.nextDouble() * 0.25D); + int i1 = p_150560_5_ & 15; + int j1 = p_150560_6_ & 15; + int k1 = p_150560_3_.length / 256; + + for (int l1 = 255; l1 >= 0; --l1) { + int i2 = (j1 * 16 + i1) * k1 + l1; + + if (l1 <= 0 + p_150560_2_.nextInt(5)) { + p_150560_3_[i2] = Blocks.bedrock; + } else { + Block block2 = p_150560_3_[i2]; + + if (block2 != null && block2.getMaterial() != Material.air) { + if (block2 == AtumBlocks.BLOCK_STONE) { + if (k == -1) { + if (l <= 0) { + block = null; + b0 = 0; + block1 = AtumBlocks.BLOCK_STONE; + } else if (l1 >= 59 && l1 <= 64) { + block = biomegenbase.topBlock; + b0 = (byte) (biomegenbase.field_150604_aj & 255); + block1 = biomegenbase.fillerBlock; + } + + if (l1 < 63 && (block == null || block.getMaterial() == Material.air)) { + if (biomegenbase.getFloatTemperature(p_150560_5_, l1, p_150560_6_) < 0.15F) { + block = Blocks.ice; + b0 = 0; + } else { + block = Blocks.water; + b0 = 0; + } + } + + k = l; + + if (l1 >= 62) { + p_150560_3_[i2] = block; + p_150560_4_[i2] = b0; + } else if (l1 < 56 - l) { + block = null; + block1 = Blocks.stone; + p_150560_3_[i2] = Blocks.gravel; + } else { + p_150560_3_[i2] = block1; + } + } else if (k > 0) { + --k; + p_150560_3_[i2] = block1; + + if (k == 0 && block1 == Blocks.sand) { + k = p_150560_2_.nextInt(4) + Math.max(0, l1 - 63); + block1 = Blocks.sandstone; + } + } + } + } else { + k = -1; + } + } + } + } + /** * loads or generates the chunk at the chunk location specified */ diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumPortalPosition.java b/src/main/java/com/teammetallurgy/atum/world/AtumPortalPosition.java index 22e8e22..4220235 100644 --- a/src/main/java/com/teammetallurgy/atum/world/AtumPortalPosition.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumPortalPosition.java @@ -1,13 +1,12 @@ package com.teammetallurgy.atum.world; import net.minecraft.util.ChunkCoordinates; -import net.minecraft.world.Teleporter; public class AtumPortalPosition extends ChunkCoordinates { - public long lastUpdateTime; + public long lastUpdateTime; public AtumPortalPosition(int par2, int par3, int par4, long par5) { super(par2, par3, par4); - this.lastUpdateTime = par5; + this.lastUpdateTime = par5; } } diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java b/src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java index 0b71f9a..91c9190 100644 --- a/src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java @@ -1,10 +1,6 @@ package com.teammetallurgy.atum.world; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Random; - +import com.teammetallurgy.atum.blocks.AtumBlocks; import net.minecraft.block.Block; import net.minecraft.entity.Entity; import net.minecraft.init.Blocks; @@ -15,409 +11,412 @@ import net.minecraft.world.Teleporter; import net.minecraft.world.WorldServer; -import com.teammetallurgy.atum.blocks.AtumBlocks; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Random; public class AtumTeleporter extends Teleporter { - private final WorldServer worldServerInstance; - private final Random random; - - private final LongHashMap destinationCoordinateCache = new LongHashMap(); - private final List destinationCoordinateKeys = new ArrayList(); - - public AtumTeleporter(WorldServer par1WorldServer) { - super(par1WorldServer); - this.worldServerInstance = par1WorldServer; - this.random = new Random(par1WorldServer.getSeed()); - } - - @Override - public void placeInPortal(Entity par1Entity, double par2, double par4, double par6, float par8) { - if (this.worldServerInstance.provider.dimensionId != 1) { - if (!this.placeInExistingPortal(par1Entity, par2, par4, par6, par8)) { - this.makePortal(par1Entity); - this.placeInExistingPortal(par1Entity, par2, par4, par6, par8); - } - } else { - int i = MathHelper.floor_double(par1Entity.posX); - int j = MathHelper.floor_double(par1Entity.posY) + 2; - int k = MathHelper.floor_double(par1Entity.posZ); - byte b0 = 1; - byte b1 = 0; - - for (int l = -2; l <= 2; ++l) { - for (int i1 = -2; i1 <= 2; ++i1) { - for (int j1 = -1; j1 < 3; ++j1) { - int k1 = i + i1 * b0 + l * b1; - int l1 = j + j1; - int i2 = k + i1 * b1 - l * b0; - boolean flag = j1 < 0; - this.worldServerInstance.setBlock(k1, l1, i2, flag ? Blocks.sandstone : null); - } - } - } - - par1Entity.setLocationAndAngles((double) i, (double) j, (double) k, par1Entity.rotationYaw, 0.0F); - par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D; - } - - } - - @Override - public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4, double par6, float par8) { - short short1 = 128; - double d3 = -1.0D; - int i = 0; - int j = 0; - int k = 0; - int l = MathHelper.floor_double(par1Entity.posX); - int i1 = MathHelper.floor_double(par1Entity.posZ); - long j1 = ChunkCoordIntPair.chunkXZ2Int(l, i1); - boolean flag = true; - double d4; - int k1; - int k2; - double var46; - if (this.destinationCoordinateCache.containsItem(j1)) { - AtumPortalPosition portalposition = (AtumPortalPosition) this.destinationCoordinateCache.getValueByKey(j1); - d3 = 0.0D; - i = portalposition.posX; - j = portalposition.posY; - k = portalposition.posZ; - portalposition.lastUpdateTime = this.worldServerInstance.getTotalWorldTime(); - flag = false; - } else { - for (k1 = l - short1; k1 <= l + short1; ++k1) { - var46 = (double) k1 + 0.5D - par1Entity.posX; - - for (int d9 = i1 - short1; d9 <= i1 + short1; ++d9) { - double d6 = (double) d9 + 0.5D - par1Entity.posZ; - - for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { - if (this.worldServerInstance.getBlock(k1, k2, d9) == AtumBlocks.BLOCK_PORTAL) { - while (this.worldServerInstance.getBlock(k1, k2 - 1, d9) == AtumBlocks.BLOCK_PORTAL) { - --k2; - } - - d4 = (double) k2 + 0.5D - par1Entity.posY; - double l2 = var46 * var46 + d4 * d4 + d6 * d6; - if (d3 < 0.0D || l2 < d3) { - d3 = l2; - i = k1; - j = k2; - k = d9; - } - } - } - } - } - } - - if (d3 >= 0.0D) { - if (flag) { - this.destinationCoordinateCache.add(j1, new AtumPortalPosition(i, j, k, this.worldServerInstance.getTotalWorldTime())); - this.destinationCoordinateKeys.add(Long.valueOf(j1)); - } - - var46 = (double) i + 0.5D; - double var47 = (double) j + 0.5D; - d4 = (double) k + 0.5D; - int j2 = -1; - if (this.worldServerInstance.getBlock(i - 1, j, k) == AtumBlocks.BLOCK_PORTAL) { - j2 = 2; - } - - if (this.worldServerInstance.getBlock(i + 1, j, k) == AtumBlocks.BLOCK_PORTAL) { - j2 = 0; - } - - if (this.worldServerInstance.getBlock(i, j, k - 1) == AtumBlocks.BLOCK_PORTAL) { - j2 = 3; - } - - if (this.worldServerInstance.getBlock(i, j, k + 1) == AtumBlocks.BLOCK_PORTAL) { - j2 = 1; - } - - k2 = par1Entity.getTeleportDirection(); - if (j2 > -1) { - int var48 = Direction.rotateLeft[j2]; - int i3 = Direction.offsetX[j2]; - int j3 = Direction.offsetZ[j2]; - int k3 = Direction.offsetX[var48]; - int l3 = Direction.offsetZ[var48]; - boolean flag1 = !this.worldServerInstance.isAirBlock(i + i3 + k3, j, k + j3 + l3) || !this.worldServerInstance.isAirBlock(i + i3 + k3, j + 1, k + j3 + l3); - boolean flag2 = !this.worldServerInstance.isAirBlock(i + i3, j, k + j3) || !this.worldServerInstance.isAirBlock(i + i3, j + 1, k + j3); - if (flag1 && flag2) { - j2 = Direction.rotateOpposite[j2]; - var48 = Direction.rotateOpposite[var48]; - i3 = Direction.offsetX[j2]; - j3 = Direction.offsetZ[j2]; - k3 = Direction.offsetX[var48]; - l3 = Direction.offsetZ[var48]; - k1 = i - k3; - var46 -= (double) k3; - int f1 = k - l3; - d4 -= (double) l3; - flag1 = !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j, f1 + j3 + l3) || !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j + 1, f1 + j3 + l3); - flag2 = !this.worldServerInstance.isAirBlock(k1 + i3, j, f1 + j3) || !this.worldServerInstance.isAirBlock(k1 + i3, j + 1, f1 + j3); - } - - float var49 = 0.5F; - float f2 = 0.5F; - if (!flag1 && flag2) { - var49 = 1.0F; - } else if (flag1 && !flag2) { - var49 = 0.0F; - } else if (flag1 && flag2) { - f2 = 0.0F; - } - - var46 += (double) ((float) k3 * var49 + f2 * (float) i3); - d4 += (double) ((float) l3 * var49 + f2 * (float) j3); - float f3 = 0.0F; - float f4 = 0.0F; - float f5 = 0.0F; - float f6 = 0.0F; - if (j2 == k2) { - f3 = 1.0F; - f4 = 1.0F; - } else if (j2 == Direction.rotateOpposite[k2]) { - f3 = -1.0F; - f4 = -1.0F; - } else if (j2 == Direction.rotateRight[k2]) { - f5 = 1.0F; - f6 = -1.0F; - } else { - f5 = -1.0F; - f6 = 1.0F; - } - - double d10 = par1Entity.motionX; - double d11 = par1Entity.motionZ; - par1Entity.motionX = d10 * (double) f3 + d11 * (double) f6; - par1Entity.motionZ = d10 * (double) f5 + d11 * (double) f4; - par1Entity.rotationYaw = par8 - (float) (k2 * 90) + (float) (j2 * 90); - } else { - par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D; - } - - par1Entity.setLocationAndAngles(var46, var47, d4, par1Entity.rotationYaw, par1Entity.rotationPitch); - return true; - } else { - return false; - } - } - - @Override - public boolean makePortal(Entity par1Entity) { - byte b0 = 16; - double d0 = -1.0D; - int entityX = MathHelper.floor_double(par1Entity.posX); - int entityY = MathHelper.floor_double(par1Entity.posY); - int entityZ = MathHelper.floor_double(par1Entity.posZ); - int l = entityX; - int i1 = entityY; - int j1 = entityZ; - int k1 = 0; - int l1 = this.random.nextInt(4); - - int i2; - double d1; - double d2; - int k2; - int j2; - int i3; - int l2; - int k3; - int j3; - int i4; - int l3; - int k4; - int j4; - double d3; - double d4; - int i5; - for (i2 = entityX - b0; i2 <= entityX + b0; ++i2) { - d1 = (double) i2 + 0.5D - par1Entity.posX; - - for (j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) { - d2 = (double) j2 + 0.5D - par1Entity.posZ; - - label272: - for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { - if (this.worldServerInstance.isAirBlock(i2, k2, j2)) { - while (k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) { - --k2; - } - - for (i3 = l1; i3 < l1 + 4; ++i3) { - l2 = i3 % 2; - k3 = 1 - l2; - if (i3 % 4 >= 2) { - l2 = -l2; - k3 = -k3; - } - - for (j3 = 0; j3 < 3; ++j3) { - for (i4 = 0; i4 < 4; ++i4) { - for (l3 = -1; l3 < 4; ++l3) { - k4 = i2 + (i4 - 1) * l2 + j3 * k3; - j4 = k2 + l3; - i5 = j2 + (i4 - 1) * k3 - j3 * l2; - if (l3 < 0 && !this.worldServerInstance.getBlock(k4, j4, i5).getMaterial().isSolid() || l3 >= 0 && !this.worldServerInstance.isAirBlock(k4, j4, i5)) { - continue label272; - } - } - } - } - - d4 = (double) k2 + 0.5D - par1Entity.posY; - d3 = d1 * d1 + d4 * d4 + d2 * d2; - if (d0 < 0.0D || d3 < d0) { - d0 = d3; - l = i2; - i1 = k2; - j1 = j2; - k1 = i3 % 4; - } - } - } - } - } - } - - if (d0 < 0.0D) { - for (i2 = entityX - b0; i2 <= entityX + b0; ++i2) { - d1 = (double) i2 + 0.5D - par1Entity.posX; - - for (j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) { - d2 = (double) j2 + 0.5D - par1Entity.posZ; - - label220: - for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { - if (this.worldServerInstance.isAirBlock(i2, k2, j2)) { - while (k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) { - --k2; - } - - for (i3 = l1; i3 < l1 + 2; ++i3) { - l2 = i3 % 2; - k3 = 1 - l2; - - for (j3 = 0; j3 < 4; ++j3) { - for (i4 = -1; i4 < 4; ++i4) { - l3 = i2 + (j3 - 1) * l2; - k4 = k2 + i4; - j4 = j2 + (j3 - 1) * k3; - if (i4 < 0 && !this.worldServerInstance.getBlock(l3, k4, j4).getMaterial().isSolid() || i4 >= 0 && !this.worldServerInstance.isAirBlock(l3, k4, j4)) { - continue label220; - } - } - } - - d4 = (double) k2 + 0.5D - par1Entity.posY; - d3 = d1 * d1 + d4 * d4 + d2 * d2; - if (d0 < 0.0D || d3 < d0) { - d0 = d3; - l = i2; - i1 = k2; - j1 = j2; - k1 = i3 % 2; - } - } - } - } - } - } - } - - i5 = l; - int j5 = i1; - j2 = j1; - int k5 = k1 % 2; - int l5 = 1 - k5; - if (k1 % 4 >= 2) { - k5 = -k5; - l5 = -l5; - } - - boolean flag; - if (d0 < 0.0D) { - if (i1 < 70) { - i1 = 70; - } - - if (i1 > this.worldServerInstance.getActualHeight() - 10) { - i1 = this.worldServerInstance.getActualHeight() - 10; - } - - j5 = i1; - - for (k2 = -1; k2 <= 1; ++k2) { - for (i3 = 1; i3 < 3; ++i3) { - for (l2 = -1; l2 < 3; ++l2) { - k3 = i5 + (i3 - 1) * k5 + k2 * l5; - j3 = j5 + l2; - i4 = j2 + (i3 - 1) * l5 - k2 * k5; - flag = l2 < 0; - this.worldServerInstance.setBlock(k3, j3, i4, flag ? Blocks.sandstone : null); - } - } - } - } - Block block; - if (par1Entity.dimension == 0) { - block = Blocks.sandstone; - } else { - block = AtumBlocks.BLOCK_LARGEBRICK; - } - for (int x1 = -2; x1 < 3; x1++) { - for (int z1 = -2; z1 < 3; z1++) { - - this.worldServerInstance.setBlock(entityX + x1, entityY, entityZ + z1, block); - } - } - for (int x1 = -2; x1 < 3; x1++) { - for (int z1 = -2; z1 < 3; z1++) { - if (x1 == 2 || z1 == 2 || x1 == -2 || z1 == -2) { - this.worldServerInstance.setBlock(entityX + x1, entityY + 1, entityZ + z1, block); - } - } - } - for (int y1 = 2; y1 < 4; y1++) { - for (int x1 = -2; x1 < 3; x1++) { - for (int z1 = -2; z1 < 3; z1++) { - if ((x1 == 2 && z1 == 2) || (x1 == -2 && z1 == 2) || (x1 == 2 && z1 == -2) || (x1 == -2 && z1 == -2)) { - this.worldServerInstance.setBlock(entityX + x1, entityY + y1, entityZ + z1, block); - } - } - } - } - - for (int x1 = -1; x1 < 2; x1++) { - for (int z1 = -1; z1 < 2; z1++) { - this.worldServerInstance.setBlock(x1 + entityX, entityY + 1, z1 + entityZ, AtumBlocks.BLOCK_PORTAL, 0, 2); - } - } - - return true; - } - - @Override - public void removeStalePortalLocations(long par1) { - if (par1 % 100L == 0L) { - Iterator iterator = this.destinationCoordinateKeys.iterator(); - long j = par1 - 600L; - - while (iterator.hasNext()) { - Long olong = (Long) iterator.next(); - AtumPortalPosition portalposition = (AtumPortalPosition) this.destinationCoordinateCache.getValueByKey(olong.longValue()); - if (portalposition == null || portalposition.lastUpdateTime < j) { - iterator.remove(); - this.destinationCoordinateCache.remove(olong.longValue()); - } - } - } - } + private final WorldServer worldServerInstance; + private final Random random; + + private final LongHashMap destinationCoordinateCache = new LongHashMap(); + private final List destinationCoordinateKeys = new ArrayList(); + + public AtumTeleporter(WorldServer par1WorldServer) { + super(par1WorldServer); + this.worldServerInstance = par1WorldServer; + this.random = new Random(par1WorldServer.getSeed()); + } + + @Override + public void placeInPortal(Entity par1Entity, double par2, double par4, double par6, float par8) { + if (this.worldServerInstance.provider.dimensionId != 1) { + if (!this.placeInExistingPortal(par1Entity, par2, par4, par6, par8)) { + this.makePortal(par1Entity); + this.placeInExistingPortal(par1Entity, par2, par4, par6, par8); + } + } else { + int i = MathHelper.floor_double(par1Entity.posX); + int j = MathHelper.floor_double(par1Entity.posY) + 2; + int k = MathHelper.floor_double(par1Entity.posZ); + byte b0 = 1; + byte b1 = 0; + + for (int l = -2; l <= 2; ++l) { + for (int i1 = -2; i1 <= 2; ++i1) { + for (int j1 = -1; j1 < 3; ++j1) { + int k1 = i + i1 * b0 + l * b1; + int l1 = j + j1; + int i2 = k + i1 * b1 - l * b0; + boolean flag = j1 < 0; + this.worldServerInstance.setBlock(k1, l1, i2, flag ? Blocks.sandstone : null); + } + } + } + + par1Entity.setLocationAndAngles((double) i, (double) j, (double) k, par1Entity.rotationYaw, 0.0F); + par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D; + } + + } + + @Override + public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4, double par6, float par8) { + short short1 = 128; + double d3 = -1.0D; + int i = 0; + int j = 0; + int k = 0; + int l = MathHelper.floor_double(par1Entity.posX); + int i1 = MathHelper.floor_double(par1Entity.posZ); + long j1 = ChunkCoordIntPair.chunkXZ2Int(l, i1); + boolean flag = true; + double d4; + int k1; + int k2; + double var46; + if (this.destinationCoordinateCache.containsItem(j1)) { + AtumPortalPosition portalposition = (AtumPortalPosition) this.destinationCoordinateCache.getValueByKey(j1); + d3 = 0.0D; + i = portalposition.posX; + j = portalposition.posY; + k = portalposition.posZ; + portalposition.lastUpdateTime = this.worldServerInstance.getTotalWorldTime(); + flag = false; + } else { + for (k1 = l - short1; k1 <= l + short1; ++k1) { + var46 = (double) k1 + 0.5D - par1Entity.posX; + + for (int d9 = i1 - short1; d9 <= i1 + short1; ++d9) { + double d6 = (double) d9 + 0.5D - par1Entity.posZ; + + for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { + if (this.worldServerInstance.getBlock(k1, k2, d9) == AtumBlocks.BLOCK_PORTAL) { + while (this.worldServerInstance.getBlock(k1, k2 - 1, d9) == AtumBlocks.BLOCK_PORTAL) { + --k2; + } + + d4 = (double) k2 + 0.5D - par1Entity.posY; + double l2 = var46 * var46 + d4 * d4 + d6 * d6; + if (d3 < 0.0D || l2 < d3) { + d3 = l2; + i = k1; + j = k2; + k = d9; + } + } + } + } + } + } + + if (d3 >= 0.0D) { + if (flag) { + this.destinationCoordinateCache.add(j1, new AtumPortalPosition(i, j, k, this.worldServerInstance.getTotalWorldTime())); + this.destinationCoordinateKeys.add(Long.valueOf(j1)); + } + + var46 = (double) i + 0.5D; + double var47 = (double) j + 0.5D; + d4 = (double) k + 0.5D; + int j2 = -1; + if (this.worldServerInstance.getBlock(i - 1, j, k) == AtumBlocks.BLOCK_PORTAL) { + j2 = 2; + } + + if (this.worldServerInstance.getBlock(i + 1, j, k) == AtumBlocks.BLOCK_PORTAL) { + j2 = 0; + } + + if (this.worldServerInstance.getBlock(i, j, k - 1) == AtumBlocks.BLOCK_PORTAL) { + j2 = 3; + } + + if (this.worldServerInstance.getBlock(i, j, k + 1) == AtumBlocks.BLOCK_PORTAL) { + j2 = 1; + } + + k2 = par1Entity.getTeleportDirection(); + if (j2 > -1) { + int var48 = Direction.rotateLeft[j2]; + int i3 = Direction.offsetX[j2]; + int j3 = Direction.offsetZ[j2]; + int k3 = Direction.offsetX[var48]; + int l3 = Direction.offsetZ[var48]; + boolean flag1 = !this.worldServerInstance.isAirBlock(i + i3 + k3, j, k + j3 + l3) || !this.worldServerInstance.isAirBlock(i + i3 + k3, j + 1, k + j3 + l3); + boolean flag2 = !this.worldServerInstance.isAirBlock(i + i3, j, k + j3) || !this.worldServerInstance.isAirBlock(i + i3, j + 1, k + j3); + if (flag1 && flag2) { + j2 = Direction.rotateOpposite[j2]; + var48 = Direction.rotateOpposite[var48]; + i3 = Direction.offsetX[j2]; + j3 = Direction.offsetZ[j2]; + k3 = Direction.offsetX[var48]; + l3 = Direction.offsetZ[var48]; + k1 = i - k3; + var46 -= (double) k3; + int f1 = k - l3; + d4 -= (double) l3; + flag1 = !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j, f1 + j3 + l3) || !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j + 1, f1 + j3 + l3); + flag2 = !this.worldServerInstance.isAirBlock(k1 + i3, j, f1 + j3) || !this.worldServerInstance.isAirBlock(k1 + i3, j + 1, f1 + j3); + } + + float var49 = 0.5F; + float f2 = 0.5F; + if (!flag1 && flag2) { + var49 = 1.0F; + } else if (flag1 && !flag2) { + var49 = 0.0F; + } else if (flag1 && flag2) { + f2 = 0.0F; + } + + var46 += (double) ((float) k3 * var49 + f2 * (float) i3); + d4 += (double) ((float) l3 * var49 + f2 * (float) j3); + float f3 = 0.0F; + float f4 = 0.0F; + float f5 = 0.0F; + float f6 = 0.0F; + if (j2 == k2) { + f3 = 1.0F; + f4 = 1.0F; + } else if (j2 == Direction.rotateOpposite[k2]) { + f3 = -1.0F; + f4 = -1.0F; + } else if (j2 == Direction.rotateRight[k2]) { + f5 = 1.0F; + f6 = -1.0F; + } else { + f5 = -1.0F; + f6 = 1.0F; + } + + double d10 = par1Entity.motionX; + double d11 = par1Entity.motionZ; + par1Entity.motionX = d10 * (double) f3 + d11 * (double) f6; + par1Entity.motionZ = d10 * (double) f5 + d11 * (double) f4; + par1Entity.rotationYaw = par8 - (float) (k2 * 90) + (float) (j2 * 90); + } else { + par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D; + } + + par1Entity.setLocationAndAngles(var46, var47, d4, par1Entity.rotationYaw, par1Entity.rotationPitch); + return true; + } else { + return false; + } + } + + @Override + public boolean makePortal(Entity par1Entity) { + byte b0 = 16; + double d0 = -1.0D; + int entityX = MathHelper.floor_double(par1Entity.posX); + int entityY = MathHelper.floor_double(par1Entity.posY); + int entityZ = MathHelper.floor_double(par1Entity.posZ); + int l = entityX; + int i1 = entityY; + int j1 = entityZ; + int k1 = 0; + int l1 = this.random.nextInt(4); + + int i2; + double d1; + double d2; + int k2; + int j2; + int i3; + int l2; + int k3; + int j3; + int i4; + int l3; + int k4; + int j4; + double d3; + double d4; + int i5; + for (i2 = entityX - b0; i2 <= entityX + b0; ++i2) { + d1 = (double) i2 + 0.5D - par1Entity.posX; + + for (j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) { + d2 = (double) j2 + 0.5D - par1Entity.posZ; + + label272: + for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { + if (this.worldServerInstance.isAirBlock(i2, k2, j2)) { + while (k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) { + --k2; + } + + for (i3 = l1; i3 < l1 + 4; ++i3) { + l2 = i3 % 2; + k3 = 1 - l2; + if (i3 % 4 >= 2) { + l2 = -l2; + k3 = -k3; + } + + for (j3 = 0; j3 < 3; ++j3) { + for (i4 = 0; i4 < 4; ++i4) { + for (l3 = -1; l3 < 4; ++l3) { + k4 = i2 + (i4 - 1) * l2 + j3 * k3; + j4 = k2 + l3; + i5 = j2 + (i4 - 1) * k3 - j3 * l2; + if (l3 < 0 && !this.worldServerInstance.getBlock(k4, j4, i5).getMaterial().isSolid() || l3 >= 0 && !this.worldServerInstance.isAirBlock(k4, j4, i5)) { + continue label272; + } + } + } + } + + d4 = (double) k2 + 0.5D - par1Entity.posY; + d3 = d1 * d1 + d4 * d4 + d2 * d2; + if (d0 < 0.0D || d3 < d0) { + d0 = d3; + l = i2; + i1 = k2; + j1 = j2; + k1 = i3 % 4; + } + } + } + } + } + } + + if (d0 < 0.0D) { + for (i2 = entityX - b0; i2 <= entityX + b0; ++i2) { + d1 = (double) i2 + 0.5D - par1Entity.posX; + + for (j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) { + d2 = (double) j2 + 0.5D - par1Entity.posZ; + + label220: + for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { + if (this.worldServerInstance.isAirBlock(i2, k2, j2)) { + while (k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) { + --k2; + } + + for (i3 = l1; i3 < l1 + 2; ++i3) { + l2 = i3 % 2; + k3 = 1 - l2; + + for (j3 = 0; j3 < 4; ++j3) { + for (i4 = -1; i4 < 4; ++i4) { + l3 = i2 + (j3 - 1) * l2; + k4 = k2 + i4; + j4 = j2 + (j3 - 1) * k3; + if (i4 < 0 && !this.worldServerInstance.getBlock(l3, k4, j4).getMaterial().isSolid() || i4 >= 0 && !this.worldServerInstance.isAirBlock(l3, k4, j4)) { + continue label220; + } + } + } + + d4 = (double) k2 + 0.5D - par1Entity.posY; + d3 = d1 * d1 + d4 * d4 + d2 * d2; + if (d0 < 0.0D || d3 < d0) { + d0 = d3; + l = i2; + i1 = k2; + j1 = j2; + k1 = i3 % 2; + } + } + } + } + } + } + } + + i5 = l; + int j5 = i1; + j2 = j1; + int k5 = k1 % 2; + int l5 = 1 - k5; + if (k1 % 4 >= 2) { + k5 = -k5; + l5 = -l5; + } + + boolean flag; + if (d0 < 0.0D) { + if (i1 < 70) { + i1 = 70; + } + + if (i1 > this.worldServerInstance.getActualHeight() - 10) { + i1 = this.worldServerInstance.getActualHeight() - 10; + } + + j5 = i1; + + for (k2 = -1; k2 <= 1; ++k2) { + for (i3 = 1; i3 < 3; ++i3) { + for (l2 = -1; l2 < 3; ++l2) { + k3 = i5 + (i3 - 1) * k5 + k2 * l5; + j3 = j5 + l2; + i4 = j2 + (i3 - 1) * l5 - k2 * k5; + flag = l2 < 0; + this.worldServerInstance.setBlock(k3, j3, i4, flag ? Blocks.sandstone : null); + } + } + } + } + Block block; + if (par1Entity.dimension == 0) { + block = Blocks.sandstone; + } else { + block = AtumBlocks.BLOCK_LARGEBRICK; + } + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + + this.worldServerInstance.setBlock(entityX + x1, entityY, entityZ + z1, block); + } + } + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + if (x1 == 2 || z1 == 2 || x1 == -2 || z1 == -2) { + this.worldServerInstance.setBlock(entityX + x1, entityY + 1, entityZ + z1, block); + } + } + } + for (int y1 = 2; y1 < 4; y1++) { + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + if ((x1 == 2 && z1 == 2) || (x1 == -2 && z1 == 2) || (x1 == 2 && z1 == -2) || (x1 == -2 && z1 == -2)) { + this.worldServerInstance.setBlock(entityX + x1, entityY + y1, entityZ + z1, block); + } + } + } + } + + for (int x1 = -1; x1 < 2; x1++) { + for (int z1 = -1; z1 < 2; z1++) { + this.worldServerInstance.setBlock(x1 + entityX, entityY + 1, z1 + entityZ, AtumBlocks.BLOCK_PORTAL, 0, 2); + } + } + + return true; + } + + @Override + public void removeStalePortalLocations(long par1) { + if (par1 % 100L == 0L) { + Iterator iterator = this.destinationCoordinateKeys.iterator(); + long j = par1 - 600L; + + while (iterator.hasNext()) { + Long olong = (Long) iterator.next(); + AtumPortalPosition portalposition = (AtumPortalPosition) this.destinationCoordinateCache.getValueByKey(olong.longValue()); + if (portalposition == null || portalposition.lastUpdateTime < j) { + iterator.remove(); + this.destinationCoordinateCache.remove(olong.longValue()); + } + } + } + } } diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumWorldProvider.java b/src/main/java/com/teammetallurgy/atum/world/AtumWorldProvider.java index 1d3ce2f..f5ba92a 100644 --- a/src/main/java/com/teammetallurgy/atum/world/AtumWorldProvider.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumWorldProvider.java @@ -1,7 +1,6 @@ package com.teammetallurgy.atum.world; import com.teammetallurgy.atum.AtumIDS; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.util.MathHelper; diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumWorldServer.java b/src/main/java/com/teammetallurgy/atum/world/AtumWorldServer.java index eb3458e..cd7fc48 100644 --- a/src/main/java/com/teammetallurgy/atum/world/AtumWorldServer.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumWorldServer.java @@ -7,8 +7,6 @@ import net.minecraft.world.WorldSettings; import net.minecraft.world.storage.ISaveHandler; -import com.teammetallurgy.atum.world.AtumTeleporter; - public class AtumWorldServer extends WorldServer { public AtumWorldServer(MinecraftServer par1MinecraftServer, ISaveHandler par2iSaveHandler, String par3Str, int par4, WorldSettings par5WorldSettings, Profiler par6Profiler) { diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumWorlds.java b/src/main/java/com/teammetallurgy/atum/world/AtumWorlds.java index 0a3de86..c229fa1 100644 --- a/src/main/java/com/teammetallurgy/atum/world/AtumWorlds.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumWorlds.java @@ -1,10 +1,9 @@ package com.teammetallurgy.atum.world; -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraftforge.common.DimensionManager; - import com.teammetallurgy.atum.AtumIDS; import com.teammetallurgy.atum.world.biome.BiomeGenAtumDesert; +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraftforge.common.DimensionManager; public enum AtumWorlds { INSTANCE; diff --git a/src/main/java/com/teammetallurgy/atum/world/biome/BiomeDecoratorAtum.java b/src/main/java/com/teammetallurgy/atum/world/biome/BiomeDecoratorAtum.java index 4fe63bc..4c84514 100644 --- a/src/main/java/com/teammetallurgy/atum/world/biome/BiomeDecoratorAtum.java +++ b/src/main/java/com/teammetallurgy/atum/world/biome/BiomeDecoratorAtum.java @@ -1,19 +1,12 @@ package com.teammetallurgy.atum.world.biome; -import java.util.Random; - +import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.world.decorators.WorldGenShrub; import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeDecorator; import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.gen.feature.WorldGenBigMushroom; -import net.minecraft.world.gen.feature.WorldGenCactus; -import net.minecraft.world.gen.feature.WorldGenFlowers; -import net.minecraft.world.gen.feature.WorldGenMinable; -import net.minecraft.world.gen.feature.WorldGenReed; -import net.minecraft.world.gen.feature.WorldGenSand; -import net.minecraft.world.gen.feature.WorldGenWaterlily; -import net.minecraft.world.gen.feature.WorldGenerator; +import net.minecraft.world.gen.feature.*; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType; import net.minecraftforge.event.terraingen.OreGenEvent; @@ -21,8 +14,7 @@ import net.minecraftforge.event.terraingen.OreGenEvent.Pre; import net.minecraftforge.event.terraingen.TerrainGen; -import com.teammetallurgy.atum.blocks.AtumBlocks; -import com.teammetallurgy.atum.world.decorators.WorldGenShrub; +import java.util.Random; public class BiomeDecoratorAtum extends BiomeDecorator { diff --git a/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java b/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java index d0ec4eb..23fa86a 100644 --- a/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java +++ b/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java @@ -1,27 +1,14 @@ package com.teammetallurgy.atum.world.biome; -import java.util.Random; - +import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.entity.*; +import com.teammetallurgy.atum.world.decorators.*; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeDecorator; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.gen.feature.WorldGenerator; -import com.teammetallurgy.atum.blocks.AtumBlocks; -import com.teammetallurgy.atum.entity.EntityBanditArcher; -import com.teammetallurgy.atum.entity.EntityBanditWarlord; -import com.teammetallurgy.atum.entity.EntityBanditWarrior; -import com.teammetallurgy.atum.entity.EntityBarbarian; -import com.teammetallurgy.atum.entity.EntityDesertWolf; -import com.teammetallurgy.atum.entity.EntityDustySkeleton; -import com.teammetallurgy.atum.entity.EntityGhost; -import com.teammetallurgy.atum.entity.EntityMummy; -import com.teammetallurgy.atum.entity.EntityStoneSoldier; -import com.teammetallurgy.atum.world.decorators.WorldGenAtumTrees; -import com.teammetallurgy.atum.world.decorators.WorldGenOasis; -import com.teammetallurgy.atum.world.decorators.WorldGenPalm; -import com.teammetallurgy.atum.world.decorators.WorldGenPyramid; -import com.teammetallurgy.atum.world.decorators.WorldGenRuins; +import java.util.Random; public class BiomeGenAtumDesert extends BiomeGenBase { diff --git a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenAtumTrees.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenAtumTrees.java index f622de9..d92afee 100644 --- a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenAtumTrees.java +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenAtumTrees.java @@ -1,14 +1,13 @@ package com.teammetallurgy.atum.world.decorators; -import java.util.Random; - +import com.teammetallurgy.atum.blocks.AtumBlocks; import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; -import com.teammetallurgy.atum.blocks.AtumBlocks; +import java.util.Random; public class WorldGenAtumTrees extends WorldGenerator { @@ -34,12 +33,12 @@ public WorldGenAtumTrees(boolean par1) { private void generateLeafNodeList() { this.height = (int) ((double) this.heightLimit * this.heightAttenuation); - if(this.height >= this.heightLimit) { + if (this.height >= this.heightLimit) { this.height = this.heightLimit - 1; } int i = (int) (1.382D + Math.pow(this.leafDensity * (double) this.heightLimit / 13.0D, 2.0D)); - if(i < 1) { + if (i < 1) { i = 1; } @@ -54,31 +53,31 @@ private void generateLeafNodeList() { aint[0][3] = l; --j; - while(i1 >= 0) { + while (i1 >= 0) { int j1 = 0; float f = this.layerSize(i1); - if(f < 0.0F) { + if (f < 0.0F) { --j; --i1; } else { - for(double d0 = 0.5D; j1 < i; ++j1) { + for (double d0 = 0.5D; j1 < i; ++j1) { double d1 = this.scaleWidth * (double) f * ((double) this.rand.nextFloat() + 0.328D); double d2 = (double) this.rand.nextFloat() * 2.0D * 3.141592653589793D; int k1 = MathHelper.floor_double(d1 * Math.sin(d2) + (double) this.basePos[0] + d0); int l1 = MathHelper.floor_double(d1 * Math.cos(d2) + (double) this.basePos[2] + d0); int[] aint1 = new int[]{k1, j, l1}; int[] aint2 = new int[]{k1, j + this.leafDistanceLimit, l1}; - if(this.checkBlockLine(aint1, aint2) == -1) { + if (this.checkBlockLine(aint1, aint2) == -1) { int[] aint3 = new int[]{this.basePos[0], this.basePos[1], this.basePos[2]}; double d3 = Math.sqrt(Math.pow((double) Math.abs(this.basePos[0] - aint1[0]), 2.0D) + Math.pow((double) Math.abs(this.basePos[2] - aint1[2]), 2.0D)); double d4 = d3 * this.branchSlope; - if((double) aint1[1] - d4 > (double) l) { + if ((double) aint1[1] - d4 > (double) l) { aint3[1] = l; } else { aint3[1] = (int) ((double) aint1[1] - d4); } - if(this.checkBlockLine(aint3, aint1) == -1) { + if (this.checkBlockLine(aint3, aint1) == -1) { aint[k][0] = k1; aint[k][1] = j; aint[k][2] = l1; @@ -106,21 +105,21 @@ private void genTreeLayer(int par1, int par2, int par3, float par4, byte par5, B int j1 = -i1; int k1 = -i1; - for(aint1[par5] = aint[par5]; j1 <= i1; ++j1) { + for (aint1[par5] = aint[par5]; j1 <= i1; ++j1) { aint1[b1] = aint[b1] + j1; k1 = -i1; - while(k1 <= i1) { + while (k1 <= i1) { double d0 = Math.pow((double) Math.abs(j1) + 0.5D, 2.0D) + Math.pow((double) Math.abs(k1) + 0.5D, 2.0D); - if(d0 > (double) (par4 * par4)) { + if (d0 > (double) (par4 * par4)) { ++k1; } else { aint1[b2] = aint[b2] + k1; Block l1 = this.worldObj.getBlock(aint1[0], aint1[1], aint1[2]); - if(l1 != null && l1 != Blocks.leaves) { + if (l1 != null && l1 != Blocks.leaves) { ++k1; } else { - if(par6 != Blocks.leaves) { + if (par6 != Blocks.leaves) { this.setBlockAndNotifyAdequately(this.worldObj, aint1[0], aint1[1], aint1[2], par6, 0); } @@ -133,15 +132,15 @@ private void genTreeLayer(int par1, int par2, int par3, float par4, byte par5, B } private float layerSize(int par1) { - if((double) par1 < (double) ((float) this.heightLimit) * 0.3D) { + if ((double) par1 < (double) ((float) this.heightLimit) * 0.3D) { return -1.618F; } else { float f = (float) this.heightLimit / 2.0F; float f1 = (float) this.heightLimit / 2.0F - (float) par1; float f2; - if(f1 == 0.0F) { + if (f1 == 0.0F) { f2 = f; - } else if(Math.abs(f1) >= f) { + } else if (Math.abs(f1) >= f) { f2 = 0.0F; } else { f2 = (float) Math.sqrt(Math.pow((double) Math.abs(f), 2.0D) - Math.pow((double) Math.abs(f1), 2.0D)); @@ -159,7 +158,7 @@ private float leafSize(int par1) { private void generateLeafNode(int par1, int par2, int par3) { int l = par2; - for(int i1 = par2 + this.leafDistanceLimit; l < i1; ++l) { + for (int i1 = par2 + this.leafDistanceLimit; l < i1; ++l) { float f = this.leafSize(l - par2); this.genTreeLayer(par1, l, par3, f, (byte) 1, Blocks.leaves); } @@ -171,18 +170,18 @@ private void placeBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger, byte b0 = 0; byte b1; - for(b1 = 0; b0 < 3; ++b0) { + for (b1 = 0; b0 < 3; ++b0) { aint2[b0] = par2ArrayOfInteger[b0] - par1ArrayOfInteger[b0]; - if(Math.abs(aint2[b0]) > Math.abs(aint2[b1])) { + if (Math.abs(aint2[b0]) > Math.abs(aint2[b1])) { b1 = b0; } } - if(aint2[b1] != 0) { + if (aint2[b1] != 0) { byte b2 = otherCoordPairs[b1]; byte b3 = otherCoordPairs[b1 + 3]; byte b4; - if(aint2[b1] > 0) { + if (aint2[b1] > 0) { b4 = 1; } else { b4 = -1; @@ -193,7 +192,7 @@ private void placeBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger, int[] aint3 = new int[]{0, 0, 0}; int j = 0; - for(int k = aint2[b1] + b4; j != k; j += b4) { + for (int k = aint2[b1] + b4; j != k; j += b4) { aint3[b1] = MathHelper.floor_double((double) (par1ArrayOfInteger[b1] + j) + 0.5D); aint3[b2] = MathHelper.floor_double((double) par1ArrayOfInteger[b2] + (double) j * d0 + 0.5D); aint3[b3] = MathHelper.floor_double((double) par1ArrayOfInteger[b3] + (double) j * d1 + 0.5D); @@ -201,10 +200,10 @@ private void placeBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger, int l = Math.abs(aint3[0] - par1ArrayOfInteger[0]); int i1 = Math.abs(aint3[2] - par1ArrayOfInteger[2]); int j1 = Math.max(l, i1); - if(j1 > 0) { - if(l == j1) { + if (j1 > 0) { + if (l == j1) { b5 = 4; - } else if(i1 == j1) { + } else if (i1 == j1) { b5 = 8; } } @@ -218,7 +217,7 @@ private void placeBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger, private void generateLeaves() { int i = 0; - for(int j = this.leafNodes.length; i < j; ++i) { + for (int j = this.leafNodes.length; i < j; ++i) { int k = this.leafNodes[i][0]; int l = this.leafNodes[i][1]; int i1 = this.leafNodes[i][2]; @@ -239,7 +238,7 @@ private void generateTrunk() { int[] aint = new int[]{i, j, l}; int[] aint1 = new int[]{i, k, l}; this.placeBlockLine(aint, aint1, Blocks.log); - if(this.trunkSize == 2) { + if (this.trunkSize == 2) { ++aint[0]; ++aint1[0]; this.placeBlockLine(aint, aint1, Blocks.log); @@ -257,12 +256,12 @@ private void generateLeafNodeBases() { int i = 0; int j = this.leafNodes.length; - for(int[] aint = new int[]{this.basePos[0], this.basePos[1], this.basePos[2]}; i < j; ++i) { + for (int[] aint = new int[]{this.basePos[0], this.basePos[1], this.basePos[2]}; i < j; ++i) { int[] aint1 = this.leafNodes[i]; int[] aint2 = new int[]{aint1[0], aint1[1], aint1[2]}; aint[1] = aint1[3]; int k = aint[1] - this.basePos[1]; - if(this.leafNodeNeedsBase(k)) { + if (this.leafNodeNeedsBase(k)) { this.placeBlockLine(aint, aint2, Blocks.log); } } @@ -274,20 +273,20 @@ private int checkBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger) { byte b0 = 0; byte b1; - for(b1 = 0; b0 < 3; ++b0) { + for (b1 = 0; b0 < 3; ++b0) { aint2[b0] = par2ArrayOfInteger[b0] - par1ArrayOfInteger[b0]; - if(Math.abs(aint2[b0]) > Math.abs(aint2[b1])) { + if (Math.abs(aint2[b0]) > Math.abs(aint2[b1])) { b1 = b0; } } - if(aint2[b1] == 0) { + if (aint2[b1] == 0) { return -1; } else { byte b2 = otherCoordPairs[b1]; byte b3 = otherCoordPairs[b1 + 3]; byte b4; - if(aint2[b1] > 0) { + if (aint2[b1] > 0) { b4 = 1; } else { b4 = -1; @@ -299,12 +298,12 @@ private int checkBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger) { int i = 0; int j; - for(j = aint2[b1] + b4; i != j; i += b4) { + for (j = aint2[b1] + b4; i != j; i += b4) { aint3[b1] = par1ArrayOfInteger[b1] + i; aint3[b2] = MathHelper.floor_double((double) par1ArrayOfInteger[b2] + (double) i * d0); aint3[b3] = MathHelper.floor_double((double) par1ArrayOfInteger[b3] + (double) i * d1); Block k = this.worldObj.getBlock(aint3[0], aint3[1], aint3[2]); - if(k != null && k != Blocks.leaves) { + if (k != null && k != Blocks.leaves) { break; } } @@ -318,13 +317,13 @@ private boolean validTreeLocation() { int[] aint1 = new int[]{this.basePos[0], this.basePos[1] + this.heightLimit - 1, this.basePos[2]}; Block i = this.worldObj.getBlock(this.basePos[0], this.basePos[1] - 1, this.basePos[2]); boolean isValidSoil = i == AtumBlocks.BLOCK_SAND; - if(!isValidSoil) { + if (!isValidSoil) { return false; } else { int j = this.checkBlockLine(aint, aint1); - if(j == -1) { + if (j == -1) { return true; - } else if(j < 6) { + } else if (j < 6) { return false; } else { this.heightLimit = j; @@ -336,7 +335,7 @@ private boolean validTreeLocation() { @Override public void setScale(double par1, double par3, double par5) { this.heightLimitLimit = (int) (par1 * 12.0D); - if(par1 > 0.5D) { + if (par1 > 0.5D) { this.leafDistanceLimit = 5; } @@ -352,11 +351,11 @@ public boolean generate(World par1World, Random par2Random, int par3, int par4, this.basePos[0] = par3; this.basePos[1] = par4; this.basePos[2] = par5; - if(this.heightLimit == 0) { + if (this.heightLimit == 0) { this.heightLimit = 5 + this.rand.nextInt(this.heightLimitLimit); } - if(!this.validTreeLocation()) { + if (!this.validTreeLocation()) { return false; } else { this.generateLeafNodeList(); diff --git a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenOasis.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenOasis.java index 5998721..1e33bce 100644 --- a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenOasis.java +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenOasis.java @@ -1,7 +1,7 @@ package com.teammetallurgy.atum.world.decorators; -import java.util.Random; - +import com.teammetallurgy.atum.AtumLoot; +import com.teammetallurgy.atum.blocks.AtumBlocks; import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.inventory.IInventory; @@ -11,8 +11,7 @@ import net.minecraftforge.common.IPlantable; import net.minecraftforge.common.util.ForgeDirection; -import com.teammetallurgy.atum.AtumLoot; -import com.teammetallurgy.atum.blocks.AtumBlocks; +import java.util.Random; public class WorldGenOasis extends WorldGenerator { @@ -36,41 +35,41 @@ public boolean generate(World world, Random par2Random, int par3, int par4, int int width = par2Random.nextInt(6) + 6; int depth = par2Random.nextInt(5) + 5; Block block = world.getBlock(par3, par4 - 1, par5); - if(block != AtumBlocks.BLOCK_SAND) { + if (block != AtumBlocks.BLOCK_SAND) { return false; } else { block = world.getBlock(par3 + width, world.getHeightValue(par3 + width, par5) - 1, par5); - if(block != AtumBlocks.BLOCK_SAND) { + if (block != AtumBlocks.BLOCK_SAND) { return false; } else { block = world.getBlock(par3, world.getHeightValue(par3, par5 + depth) - 1, par5 + depth); - if(block != AtumBlocks.BLOCK_SAND) { + if (block != AtumBlocks.BLOCK_SAND) { return false; } else { block = world.getBlock(par3 + width, world.getHeightValue(par3 + width, par5 + depth) - 1, par5 + depth); - if(block != AtumBlocks.BLOCK_SAND) { + if (block != AtumBlocks.BLOCK_SAND) { return false; } else { int minHeight = world.getHeightValue(par3, par5); int maxHeight = world.getHeightValue(par3, par5); int height = world.getHeightValue(par3 + width, par5); - if(height < minHeight) { + if (height < minHeight) { minHeight = height; - } else if(height > maxHeight) { + } else if (height > maxHeight) { maxHeight = height; } height = world.getHeightValue(par3, par5 + depth); - if(height < minHeight) { + if (height < minHeight) { minHeight = height; - } else if(height > maxHeight) { + } else if (height > maxHeight) { maxHeight = height; } height = world.getHeightValue(par3 + width, par5 + depth); - if(height < minHeight) { + if (height < minHeight) { minHeight = height; - } else if(height > maxHeight) { + } else if (height > maxHeight) { maxHeight = height; } @@ -79,18 +78,18 @@ public boolean generate(World world, Random par2Random, int par3, int par4, int int z; int dx; int y; - if(maxHeight - minHeight < 6) { + if (maxHeight - minHeight < 6) { float treeCount = (float) width / 2.0F; float chest = (float) depth / 2.0F; - for(papyrus = (int) (0.0F - treeCount - 6.0F); (float) papyrus <= treeCount + 6.0F; ++papyrus) { - for(i = (int) (0.0F - chest - 6.0F); (float) i <= chest + 6.0F; ++i) { + for (papyrus = (int) (0.0F - treeCount - 6.0F); (float) papyrus <= treeCount + 6.0F; ++papyrus) { + for (i = (int) (0.0F - chest - 6.0F); (float) i <= chest + 6.0F; ++i) { float x = (float) (papyrus * papyrus) / (treeCount * treeCount) + (float) (i * i) / (chest * chest); - if(x <= 1.0F) { + if (x <= 1.0F) { z = world.getHeightValue(papyrus + par3, i + par5); - if(world.getBlock(papyrus + par3, z - 1, i + par5) == AtumBlocks.BLOCK_SAND) { + if (world.getBlock(papyrus + par3, z - 1, i + par5) == AtumBlocks.BLOCK_SAND) { world.setBlock(papyrus + par3, z - 1, i + par5, Blocks.water); - if((double) x < 0.6D) { + if ((double) x < 0.6D) { z = world.getHeightValue(papyrus + par3, i + par5); world.setBlock(papyrus + par3, z - 2, i + par5, Blocks.water); } @@ -98,12 +97,12 @@ public boolean generate(World world, Random par2Random, int par3, int par4, int } else { x = (float) (papyrus * papyrus) / ((treeCount + 4.0F) * (treeCount + 4.0F)) + (float) (i * i) / ((chest + 4.0F) * (chest + 4.0F)); z = world.getHeightValue(papyrus + par3, i + par5); - if(world.getBlock(papyrus + par3, z - 1, i + par5) == AtumBlocks.BLOCK_SAND && x < 1.0F) { + if (world.getBlock(papyrus + par3, z - 1, i + par5) == AtumBlocks.BLOCK_SAND && x < 1.0F) { world.setBlock(papyrus + par3, z - 1, i + par5, AtumBlocks.BLOCK_FERTILESOIL); - if((double) x < 0.3D && par2Random.nextInt(8) == 0) { - for(y = -1; y <= 1; ++y) { - for(dx = -1; dx <= 1; ++dx) { - if(AtumBlocks.BLOCK_PAPYRUS.canBlockStay(world, par3 + papyrus + y, z, par5 + i + dx)) { + if ((double) x < 0.3D && par2Random.nextInt(8) == 0) { + for (y = -1; y <= 1; ++y) { + for (dx = -1; dx <= 1; ++dx) { + if (AtumBlocks.BLOCK_PAPYRUS.canBlockStay(world, par3 + papyrus + y, z, par5 + i + dx)) { world.setBlock(papyrus + par3 + y, z, i + par5 + dx, AtumBlocks.BLOCK_PAPYRUS); } } @@ -117,16 +116,16 @@ public boolean generate(World world, Random par2Random, int par3, int par4, int int var24 = 0; - for(int var26 = 0; var26 < 6; ++var26) { + for (int var26 = 0; var26 < 6; ++var26) { papyrus = par2Random.nextInt(width); i = par2Random.nextInt(depth); block = world.getBlock(par3 + papyrus, world.getHeightValue(par3 + papyrus, par5 + i) - 1, par5 + i); - if(block == AtumBlocks.BLOCK_FERTILESOIL) { + if (block == AtumBlocks.BLOCK_FERTILESOIL) { (new WorldGenPalm(true, 5, 0, 0)).generate(world, par2Random, par3 + papyrus, world.getHeightValue(par3 + papyrus, par5 + i), par5 + i); ++var24; } - if(var24 > 2) { + if (var24 > 2) { break; } } @@ -134,34 +133,34 @@ public boolean generate(World world, Random par2Random, int par3, int par4, int boolean var25 = false; boolean var27 = false; - for(i = 0; i < 10; ++i) { + for (i = 0; i < 10; ++i) { int var28 = par2Random.nextInt(width); z = par2Random.nextInt(depth); y = world.getHeightValue(par3 + var28, par5 + z); block = world.getBlock(par3 + var28, y - 1, par5 + z); - if(!var25 && block == AtumBlocks.BLOCK_FERTILESOIL) { + if (!var25 && block == AtumBlocks.BLOCK_FERTILESOIL) { world.setBlock(par3 + var28, y, par5 + z, Blocks.chest); TileEntity var29 = world.getTileEntity(par3 + var28, world.getHeightValue(par3 + var28, par5 + z), par5 + z); AtumLoot.fillChest((IInventory) var29, 5, 0.2F); var25 = true; } else { int dz; - if(!var27 && block.canSustainPlant(world, par3 + var28, y, par5 + z, ForgeDirection.UP, (IPlantable) ((IPlantable) AtumBlocks.BLOCK_PAPYRUS))) { - for(dx = -1; dx <= 1; ++dx) { - for(dz = -1; dz <= 1; ++dz) { - if(block.canSustainPlant(world, par3 + var28 + dx, y, par5 + z + dz, ForgeDirection.UP, (IPlantable) ((IPlantable) AtumBlocks.BLOCK_PAPYRUS))) { + if (!var27 && block.canSustainPlant(world, par3 + var28, y, par5 + z, ForgeDirection.UP, (IPlantable) ((IPlantable) AtumBlocks.BLOCK_PAPYRUS))) { + for (dx = -1; dx <= 1; ++dx) { + for (dz = -1; dz <= 1; ++dz) { + if (block.canSustainPlant(world, par3 + var28 + dx, y, par5 + z + dz, ForgeDirection.UP, (IPlantable) ((IPlantable) AtumBlocks.BLOCK_PAPYRUS))) { world.setBlock(par3 + var28, y, par5 + z, AtumBlocks.BLOCK_PAPYRUS); var27 = true; } } } - } else if(par2Random.nextInt(5) == 0) { - for(dx = -1; dx <= 1; ++dx) { - for(dz = -1; dz <= 1; ++dz) { + } else if (par2Random.nextInt(5) == 0) { + for (dx = -1; dx <= 1; ++dx) { + for (dz = -1; dz <= 1; ++dz) { int currentY = world.getHeightValue(par3 + var28, par5 + z); Block belowID = world.getBlock(par3 + var28 + dx, currentY - 1, par5 + z + dz); Block currentID = world.getBlock(par3 + var28 + dx, currentY, par5 + z + dz); - if(par2Random.nextInt(3) == 0 && belowID == AtumBlocks.BLOCK_FERTILESOIL && currentID == null) { + if (par2Random.nextInt(3) == 0 && belowID == AtumBlocks.BLOCK_FERTILESOIL && currentID == null) { world.setBlock(par3 + var28 + dx, currentY, par5 + z + dz, AtumBlocks.BLOCK_FLAX, 13, 0); } } diff --git a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalace.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalace.java index 6e08a3c..2725bda 100644 --- a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalace.java +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalace.java @@ -1,12 +1,11 @@ package com.teammetallurgy.atum.world.decorators; -import java.util.Random; - +import com.teammetallurgy.atum.blocks.AtumBlocks; import net.minecraft.block.Block; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; -import com.teammetallurgy.atum.blocks.AtumBlocks; +import java.util.Random; public class WorldGenPalace extends WorldGenerator { diff --git a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalm.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalm.java index 068fddf..b1b93e1 100644 --- a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalm.java +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalm.java @@ -1,13 +1,12 @@ package com.teammetallurgy.atum.world.decorators; -import java.util.Random; - +import com.teammetallurgy.atum.blocks.AtumBlocks; import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; -import com.teammetallurgy.atum.blocks.AtumBlocks; +import java.util.Random; public class WorldGenPalm extends WorldGenerator { diff --git a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPyramid.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPyramid.java index 8af30f7..0cadd39 100644 --- a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPyramid.java +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPyramid.java @@ -1,41 +1,19 @@ package com.teammetallurgy.atum.world.decorators; -import static net.minecraftforge.common.util.ForgeDirection.EAST; -import static net.minecraftforge.common.util.ForgeDirection.NORTH; -import static net.minecraftforge.common.util.ForgeDirection.SOUTH; -import static net.minecraftforge.common.util.ForgeDirection.WEST; - -import java.util.ArrayList; -import java.util.Random; - +import com.teammetallurgy.atum.AtumLoot; +import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityPharaohChest; import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; -import com.teammetallurgy.atum.AtumLoot; -import com.teammetallurgy.atum.blocks.AtumBlocks; -import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityPharaohChest; - -public class WorldGenPyramid extends WorldGenerator { - class Pair { - public int x; - public int y; +import java.util.ArrayList; +import java.util.Random; - Pair(int x, int y) { - this.x = x; - this.y = y; - } - - @Override - public boolean equals(Object p) { - if (p instanceof Pair) - return ((Pair) p).x == x && ((Pair) p).y == y; - else - return false; - } - } +import static net.minecraftforge.common.util.ForgeDirection.*; +public class WorldGenPyramid extends WorldGenerator { @Override public boolean generate(World world, Random random, int i, int j, int k) { if (random.nextFloat() > 0.3) @@ -59,7 +37,7 @@ public boolean generate(World world, Random random, int i, int j, int k) { Block id = world.getBlock(x + i, y + j + 3, z + k); if (id == null || id == AtumBlocks.BLOCK_SAND) world.setBlockToAir(x + i, y + j + 3, z + k); - world.setBlock(x + i, y + j + 3, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); + world.setBlock(x + i, y + j + 3, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); } } } @@ -223,4 +201,22 @@ public void generateMaze(boolean[][] array, Random random, int x, int y) { } while (choices.size() > 0); } + + class Pair { + public int x; + public int y; + + Pair(int x, int y) { + this.x = x; + this.y = y; + } + + @Override + public boolean equals(Object p) { + if (p instanceof Pair) + return ((Pair) p).x == x && ((Pair) p).y == y; + else + return false; + } + } } \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenRuins.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenRuins.java index cade3dc..844ddf0 100644 --- a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenRuins.java +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenRuins.java @@ -1,13 +1,12 @@ package com.teammetallurgy.atum.world.decorators; -import java.util.Random; - +import com.teammetallurgy.atum.AtumLoot; +import com.teammetallurgy.atum.blocks.AtumBlocks; import net.minecraft.inventory.IInventory; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; -import com.teammetallurgy.atum.AtumLoot; -import com.teammetallurgy.atum.blocks.AtumBlocks; +import java.util.Random; public class WorldGenRuins extends WorldGenerator { @Override diff --git a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenShrub.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenShrub.java index e9b7266..b434613 100644 --- a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenShrub.java +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenShrub.java @@ -1,12 +1,11 @@ package com.teammetallurgy.atum.world.decorators; -import java.util.Random; - +import com.teammetallurgy.atum.blocks.AtumBlocks; import net.minecraft.block.Block; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; -import com.teammetallurgy.atum.blocks.AtumBlocks; +import java.util.Random; public class WorldGenShrub extends WorldGenerator { @@ -22,12 +21,12 @@ public WorldGenShrub(Block par1, int par2) { public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) { int size = par2Random.nextInt(this.groupSize / 2) + this.groupSize / 2; - for(int i1 = 0; i1 < size; ++i1) { + for (int i1 = 0; i1 < size; ++i1) { byte range = 6; int x = par3 + par2Random.nextInt(range + 1) - range / 2; int z = par5 + par2Random.nextInt(range + 1) - range / 2; int y = par1World.getHeightValue(x, z); - if(par1World.isAirBlock(x, y, z) && AtumBlocks.BLOCK_SHRUB.canBlockStay(par1World, x, y, z)) { + if (par1World.isAirBlock(x, y, z) && AtumBlocks.BLOCK_SHRUB.canBlockStay(par1World, x, y, z)) { par1World.setBlock(x, y, z, this.deadBush); } } From 24dcc9602305e3b380a586a484b807990d6875ec Mon Sep 17 00:00:00 2001 From: lclc98 Date: Tue, 29 Jul 2014 20:43:47 +1000 Subject: [PATCH 063/157] Fixed Crashes --- .../java/com/teammetallurgy/atum/Atum.java | 2 +- .../teammetallurgy/atum/items/AtumItems.java | 138 +++++++++--------- .../atum/world/AtumChunkProvider.java | 12 +- 3 files changed, 78 insertions(+), 74 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/Atum.java b/src/main/java/com/teammetallurgy/atum/Atum.java index 1510b52..4c59e21 100644 --- a/src/main/java/com/teammetallurgy/atum/Atum.java +++ b/src/main/java/com/teammetallurgy/atum/Atum.java @@ -44,7 +44,7 @@ public void init(FMLInitializationEvent event) { AtumBlocks.INSTANCE.registerBlocks(); LOGGER.info("Register Item"); - AtumItems.INSTANCE.registerItems(); + new AtumItems(); LOGGER.info("Register Crafting Recipes"); CraftingHandler.INSTANCE.register(); diff --git a/src/main/java/com/teammetallurgy/atum/items/AtumItems.java b/src/main/java/com/teammetallurgy/atum/items/AtumItems.java index cea8d8e..0b1020c 100644 --- a/src/main/java/com/teammetallurgy/atum/items/AtumItems.java +++ b/src/main/java/com/teammetallurgy/atum/items/AtumItems.java @@ -13,77 +13,81 @@ import net.minecraft.item.ItemSeeds; import net.minecraftforge.common.util.EnumHelper; -public enum AtumItems { - INSTANCE; - public static final Item ITEM_SCRAP = new Item().setUnlocalizedName("clothScrap").setTextureName("atum:ClothScrap"); - public static final Item ITEM_LINEN = new Item().setUnlocalizedName("linen").setTextureName("atum:Linen"); - public static final Item ITEM_SCARAB = new ItemScarab().setUnlocalizedName("scarab"); - public static final Item ITEM_LOOT = new ItemLoot().setUnlocalizedName("loot"); - public static final Item ITEM_DATE = new ItemFood(5, 1.5F, false).setTextureName("atum:Date").setUnlocalizedName("date"); - public static final Item ITEM_SCIMITAR = new ItemScimitar(ToolMaterial.IRON).setUnlocalizedName("scimitar"); - public static final Item ITEM_GREATSWORD = new ItemGreatsword(ToolMaterial.IRON).setUnlocalizedName("greatsword").setTextureName("atum:Greatsword"); - public static final Item ITEM_BOW = new ItemAtumBow().setUnlocalizedName("bow"); - public static final Item ITEM_STONESOLDIER_SWORD = new ItemStoneSoldierSword(ToolMaterial.IRON).setUnlocalizedName("stoneSoldierSword"); - public static final Item ITEM_SCEPTER = new ItemScepter(ToolMaterial.GOLD).setUnlocalizedName("scepter"); - public static final Item ITEM_PTAHSPICK = new ItemPtahsDecadence(ToolMaterial.EMERALD).setUnlocalizedName("ptahsDecadence"); - public static final Item sobeksRage = new ItemSobeksRage(ToolMaterial.EMERALD).setUnlocalizedName("soteksRage"); - public static final Item osirisWill = new ItemOsirisWill(ToolMaterial.EMERALD).setUnlocalizedName("osirisWill"); - public static final Item akersToil = new ItemAkersToil(ToolMaterial.EMERALD).setUnlocalizedName("akersToil"); - public static final Item gebsBlessing = new ItemGebsBlessing(ToolMaterial.EMERALD).setUnlocalizedName("gebsBlessing"); - public static final Item atensFury = new ItemAtensFury().setUnlocalizedName("atensFury"); - public static final Item rasGlory = new ItemRasGlory(ArmorMaterial.DIAMOND, 0, 0).setTextureFile("EgyptianArmor_1").setUnlocalizedName("rasGlory"); - public static final Item sekhmetsWrath = new ItemSekhmetsWrath(1, 1).setTextureFile("EgyptianArmor_1").setUnlocalizedName("sekhmetsWrath"); - public static final Item nutsAgility = new ItemNutsAgility(ArmorMaterial.DIAMOND, 2, 2).setTextureFile("EgyptianArmor_2").setUnlocalizedName("nutsAgility"); - public static final Item horusFlight = new ItemHorusFlight(ArmorMaterial.DIAMOND, 3, 3).setTextureFile("EgyptianArmor_1").setUnlocalizedName("horusFlight"); - public static final Item monthusStrike = new ItemMonthusStrike(ToolMaterial.EMERALD).setUnlocalizedName("monthusStrike"); - public static final Item anhursMight = new ItemAnhursMight(ToolMaterial.EMERALD).setUnlocalizedName("anhursMight"); - public static final Item hedetetsSting = new ItemHedetetsSting(ToolMaterial.EMERALD).setUnlocalizedName("hedetetsSting"); - public static final Item horusSoaring = new ItemHorusSoaring().setUnlocalizedName("horusSoaring"); - public static final Item shusBreath = new ItemShusBreath().setUnlocalizedName("shusBreath"); - public static final Item ptahsDestruction = new ItemPtahsDestruction(ToolMaterial.EMERALD).setUnlocalizedName("ptahsDestruction"); - public static final Item monthusBlast = new ItemMonthusBlast().setUnlocalizedName("monthusBlast"); - public static final Item nusFlux = new ItemNusFlux(ToolMaterial.EMERALD).setUnlocalizedName("nusFlux"); - public static final Item mnevisHorns = new ItemMnevisHorns(ArmorMaterial.DIAMOND, 0, 0).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("mnevisHorns"); - public static final Item isisEmbrace = new ItemIsisEmbrace(ArmorMaterial.DIAMOND, 1, 1).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("isisEmbrace"); - public static final Item maatsBalance = new ItemMaatsBalance(ArmorMaterial.DIAMOND, 2, 2).setTextureFile("RubyArtifactArmor_2").setUnlocalizedName("maatsBalance"); - public static final Item hedetetsVenom = new ItemHedetetsVenom().setUnlocalizedName("hedetetsVenom"); - public static final Item gebsSolidarity = new ItemGebsSolidarity(ArmorMaterial.DIAMOND, 3, 3).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("gebsSolidarity"); - public static final Item nutsCall = new ItemNutsCall().setUnlocalizedName("nutsCall"); - public static final Item anuketsBounty = new ItemAnuketsBounty().setUnlocalizedName("anuketsBounty"); - public static final Item mafdetsQuickness = new ItemMafdetsQuickness().setUnlocalizedName("mafdetsQuickness"); - public static final Item isisHealing = new ItemIsisHealing().setUnlocalizedName("isisHealing"); - public static final Item amunetsHomecoming = new ItemAmunetsHomecoming().setUnlocalizedName("amunetsHomecoming"); - public static final Item anubisMercy = new ItemAnubisMercy().setUnlocalizedName("anubisMercy"); - public static final Item limestoneShovel = new LimestoneShovel(ToolMaterial.STONE).setUnlocalizedName("limestoneShovel"); - public static final Item limestonePickaxe = new LimestonePickaxe(ToolMaterial.STONE).setUnlocalizedName("limestonePickaxe"); - public static final Item limestoneAxe = new LimestoneAxe(ToolMaterial.STONE).setUnlocalizedName("limestoneAxe"); - public static final Item limestoneSword = new LimestoneSword(ToolMaterial.STONE).setUnlocalizedName("limestoneSword"); - public static final Item limestoneHoe = new LimestoneHoe(ToolMaterial.STONE).setUnlocalizedName("limestoneHoe"); - public static final Item mummyHelmet = new ItemTexturedArmor(mummyEnum, 0, 0).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyHelmet").setTextureName("atum:MummyHelmet"); - public static final Item mummyChest = new ItemTexturedArmor(mummyEnum, 0, 1).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyChest").setTextureName("atum:MummyChest"); - public static final Item mummyLegs = new ItemTexturedArmor(mummyEnum, 0, 2).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_2").setUnlocalizedName("mummyLegs").setTextureName("atum:MummyLegs"); - public static final Item mummyBoots = new ItemTexturedArmor(mummyEnum, 0, 3).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyBoots").setTextureName("atum:MummyBoots"); - public static final Item wandererHelmet = new ItemTexturedArmor(wandererEnum, 0, 0).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererHelmet").setTextureName("atum:WandererHelmet"); - public static final Item wandererChest = new ItemTexturedArmor(wandererEnum, 0, 1).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererChest").setTextureName("atum:WandererChest"); - public static final Item wandererLegs = new ItemTexturedArmor(wandererEnum, 0, 2).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_2").setUnlocalizedName("wandererLegs").setTextureName("atum:WandererLegs"); - public static final Item wandererBoots = new ItemTexturedArmor(wandererEnum, 0, 3).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererBoots").setTextureName("atum:WandererBoots"); - public static final Item desertHelmet = new ItemTexturedArmor(desertEnum, 0, 0).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_1").setUnlocalizedName("desertHelmet").setTextureName("atum:DesertHelmet"); - public static final Item desertChest = new ItemTexturedArmor(desertEnum, 0, 1).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_1").setUnlocalizedName("desertChest").setTextureName("atum:DesertChest"); - public static final Item desertLegs = new ItemTexturedArmor(desertEnum, 0, 2).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_2").setUnlocalizedName("desertLegs").setTextureName("atum:DesertLegs"); - public static final Item desertBoots = new ItemTexturedArmor(desertEnum, 0, 3).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_1").setUnlocalizedName("desertBoots").setTextureName("atum:DesertBoots"); - public static final Item papyrusPlant = new ItemPapyrusPlant(AtumBlocks.BLOCK_PAPYRUS).setUnlocalizedName("papyrusPlant"); - public static final Item ITEM_ECTOPLASM = new Item().setUnlocalizedName("ectoplasm").setTextureName("atum:Ectoplasm"); - public static final Item ITEM_STONECHUNK = new Item().setUnlocalizedName("stoneChunk").setTextureName("atum:StoneChunk"); - public static final Item ITEM_SCROLL = new Item().setUnlocalizedName("scroll").setTextureName("atum:Scroll"); - public static final Item ITEM_PELT = new Item().setUnlocalizedName("wolfPelt").setTextureName("atum:WolfPelt"); - public static final Item ITEM_FLAX = new Item().setUnlocalizedName("flax").setTextureName("atum:FlaxItem"); - public static final Item ITEM_FLAXSEED = new ItemSeeds(AtumBlocks.BLOCK_FLAX, Blocks.farmland).setUnlocalizedName("flaxSeeds").setTextureName("atum:FlaxSeeds"); - public static final Item ITEM_FISH = new ItemFish().setUnlocalizedName("fish"); - public static final Item neithsAudacity = new ItemNeithsAudacity().setUnlocalizedName("neithsAudacity"); +public class AtumItems { private static ArmorMaterial mummyEnum = EnumHelper.addArmorMaterial("Mummy", 5, new int[]{1, 3, 2, 1}, 15); private static ArmorMaterial wandererEnum = EnumHelper.addArmorMaterial("Wanderer", 10, new int[]{2, 3, 3, 2}, 15); private static ArmorMaterial desertEnum = EnumHelper.addArmorMaterial("Desert", 20, new int[]{3, 6, 5, 3}, 15); + public static Item ITEM_SCRAP = new Item().setUnlocalizedName("clothScrap").setTextureName("atum:ClothScrap"); + public static Item ITEM_LINEN = new Item().setUnlocalizedName("linen").setTextureName("atum:Linen"); + public static Item ITEM_SCARAB = new ItemScarab().setUnlocalizedName("scarab"); + public static Item ITEM_LOOT = new ItemLoot().setUnlocalizedName("loot"); + public static Item ITEM_DATE = new ItemFood(5, 1.5F, false).setTextureName("atum:Date").setUnlocalizedName("date"); + public static Item ITEM_SCIMITAR = new ItemScimitar(ToolMaterial.IRON).setUnlocalizedName("scimitar"); + public static Item ITEM_GREATSWORD = new ItemGreatsword(ToolMaterial.IRON).setUnlocalizedName("greatsword").setTextureName("atum:Greatsword"); + public static Item ITEM_BOW = new ItemAtumBow().setUnlocalizedName("bow"); + public static Item ITEM_STONESOLDIER_SWORD = new ItemStoneSoldierSword(ToolMaterial.IRON).setUnlocalizedName("stoneSoldierSword"); + public static Item ITEM_SCEPTER = new ItemScepter(ToolMaterial.GOLD).setUnlocalizedName("scepter"); + public static Item ITEM_PTAHSPICK = new ItemPtahsDecadence(ToolMaterial.EMERALD).setUnlocalizedName("ptahsDecadence"); + public static Item sobeksRage = new ItemSobeksRage(ToolMaterial.EMERALD).setUnlocalizedName("soteksRage"); + public static Item osirisWill = new ItemOsirisWill(ToolMaterial.EMERALD).setUnlocalizedName("osirisWill"); + public static Item akersToil = new ItemAkersToil(ToolMaterial.EMERALD).setUnlocalizedName("akersToil"); + public static Item gebsBlessing = new ItemGebsBlessing(ToolMaterial.EMERALD).setUnlocalizedName("gebsBlessing"); + public static Item atensFury = new ItemAtensFury().setUnlocalizedName("atensFury"); + public static Item rasGlory = new ItemRasGlory(ArmorMaterial.DIAMOND, 0, 0).setTextureFile("EgyptianArmor_1").setUnlocalizedName("rasGlory"); + public static Item sekhmetsWrath = new ItemSekhmetsWrath(1, 1).setTextureFile("EgyptianArmor_1").setUnlocalizedName("sekhmetsWrath"); + public static Item nutsAgility = new ItemNutsAgility(ArmorMaterial.DIAMOND, 2, 2).setTextureFile("EgyptianArmor_2").setUnlocalizedName("nutsAgility"); + public static Item horusFlight = new ItemHorusFlight(ArmorMaterial.DIAMOND, 3, 3).setTextureFile("EgyptianArmor_1").setUnlocalizedName("horusFlight"); + public static Item monthusStrike = new ItemMonthusStrike(ToolMaterial.EMERALD).setUnlocalizedName("monthusStrike"); + public static Item anhursMight = new ItemAnhursMight(ToolMaterial.EMERALD).setUnlocalizedName("anhursMight"); + public static Item hedetetsSting = new ItemHedetetsSting(ToolMaterial.EMERALD).setUnlocalizedName("hedetetsSting"); + public static Item horusSoaring = new ItemHorusSoaring().setUnlocalizedName("horusSoaring"); + public static Item shusBreath = new ItemShusBreath().setUnlocalizedName("shusBreath"); + public static Item ptahsDestruction = new ItemPtahsDestruction(ToolMaterial.EMERALD).setUnlocalizedName("ptahsDestruction"); + public static Item monthusBlast = new ItemMonthusBlast().setUnlocalizedName("monthusBlast"); + public static Item nusFlux = new ItemNusFlux(ToolMaterial.EMERALD).setUnlocalizedName("nusFlux"); + public static Item mnevisHorns = new ItemMnevisHorns(ArmorMaterial.DIAMOND, 0, 0).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("mnevisHorns"); + public static Item isisEmbrace = new ItemIsisEmbrace(ArmorMaterial.DIAMOND, 1, 1).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("isisEmbrace"); + public static Item maatsBalance = new ItemMaatsBalance(ArmorMaterial.DIAMOND, 2, 2).setTextureFile("RubyArtifactArmor_2").setUnlocalizedName("maatsBalance"); + public static Item hedetetsVenom = new ItemHedetetsVenom().setUnlocalizedName("hedetetsVenom"); + public static Item gebsSolidarity = new ItemGebsSolidarity(ArmorMaterial.DIAMOND, 3, 3).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("gebsSolidarity"); + public static Item nutsCall = new ItemNutsCall().setUnlocalizedName("nutsCall"); + public static Item anuketsBounty = new ItemAnuketsBounty().setUnlocalizedName("anuketsBounty"); + public static Item mafdetsQuickness = new ItemMafdetsQuickness().setUnlocalizedName("mafdetsQuickness"); + public static Item isisHealing = new ItemIsisHealing().setUnlocalizedName("isisHealing"); + public static Item amunetsHomecoming = new ItemAmunetsHomecoming().setUnlocalizedName("amunetsHomecoming"); + public static Item anubisMercy = new ItemAnubisMercy().setUnlocalizedName("anubisMercy"); + public static Item limestoneShovel = new LimestoneShovel(ToolMaterial.STONE).setUnlocalizedName("limestoneShovel"); + public static Item limestonePickaxe = new LimestonePickaxe(ToolMaterial.STONE).setUnlocalizedName("limestonePickaxe"); + public static Item limestoneAxe = new LimestoneAxe(ToolMaterial.STONE).setUnlocalizedName("limestoneAxe"); + public static Item limestoneSword = new LimestoneSword(ToolMaterial.STONE).setUnlocalizedName("limestoneSword"); + public static Item limestoneHoe = new LimestoneHoe(ToolMaterial.STONE).setUnlocalizedName("limestoneHoe"); + public static Item mummyHelmet = new ItemTexturedArmor(mummyEnum, 0, 0).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyHelmet").setTextureName("atum:MummyHelmet"); + public static Item mummyChest = new ItemTexturedArmor(mummyEnum, 0, 1).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyChest").setTextureName("atum:MummyChest"); + public static Item mummyLegs = new ItemTexturedArmor(mummyEnum, 0, 2).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_2").setUnlocalizedName("mummyLegs").setTextureName("atum:MummyLegs"); + public static Item mummyBoots = new ItemTexturedArmor(mummyEnum, 0, 3).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyBoots").setTextureName("atum:MummyBoots"); + public static Item wandererHelmet = new ItemTexturedArmor(wandererEnum, 0, 0).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererHelmet").setTextureName("atum:WandererHelmet"); + public static Item wandererChest = new ItemTexturedArmor(wandererEnum, 0, 1).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererChest").setTextureName("atum:WandererChest"); + public static Item wandererLegs = new ItemTexturedArmor(wandererEnum, 0, 2).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_2").setUnlocalizedName("wandererLegs").setTextureName("atum:WandererLegs"); + public static Item wandererBoots = new ItemTexturedArmor(wandererEnum, 0, 3).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererBoots").setTextureName("atum:WandererBoots"); + public static Item desertHelmet = new ItemTexturedArmor(desertEnum, 0, 0).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_1").setUnlocalizedName("desertHelmet").setTextureName("atum:DesertHelmet"); + public static Item desertChest = new ItemTexturedArmor(desertEnum, 0, 1).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_1").setUnlocalizedName("desertChest").setTextureName("atum:DesertChest"); + public static Item desertLegs = new ItemTexturedArmor(desertEnum, 0, 2).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_2").setUnlocalizedName("desertLegs").setTextureName("atum:DesertLegs"); + public static Item desertBoots = new ItemTexturedArmor(desertEnum, 0, 3).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_1").setUnlocalizedName("desertBoots").setTextureName("atum:DesertBoots"); + public static Item papyrusPlant = new ItemPapyrusPlant(AtumBlocks.BLOCK_PAPYRUS).setUnlocalizedName("papyrusPlant"); + public static Item ITEM_ECTOPLASM = new Item().setUnlocalizedName("ectoplasm").setTextureName("atum:Ectoplasm"); + public static Item ITEM_STONECHUNK = new Item().setUnlocalizedName("stoneChunk").setTextureName("atum:StoneChunk"); + public static Item ITEM_SCROLL = new Item().setUnlocalizedName("scroll").setTextureName("atum:Scroll"); + public static Item ITEM_PELT = new Item().setUnlocalizedName("wolfPelt").setTextureName("atum:WolfPelt"); + public static Item ITEM_FLAX = new Item().setUnlocalizedName("flax").setTextureName("atum:FlaxItem"); + public static Item ITEM_FLAXSEED = new ItemSeeds(AtumBlocks.BLOCK_FLAX, Blocks.farmland).setUnlocalizedName("flaxSeeds").setTextureName("atum:FlaxSeeds"); + public static Item ITEM_FISH = new ItemFish().setUnlocalizedName("fish"); + public static Item neithsAudacity = new ItemNeithsAudacity().setUnlocalizedName("neithsAudacity"); + + public AtumItems(){ + registerItems(); + } + public void registerItems() { this.register(ITEM_SCARAB); this.register(ITEM_LOOT); diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumChunkProvider.java b/src/main/java/com/teammetallurgy/atum/world/AtumChunkProvider.java index 75dba67..b6e6f38 100644 --- a/src/main/java/com/teammetallurgy/atum/world/AtumChunkProvider.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumChunkProvider.java @@ -31,11 +31,7 @@ import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.*; public class AtumChunkProvider implements IChunkProvider { - private static final String __OBFID = "CL_00000396"; - { - caveGenerator = TerrainGen.getModdedMapGen(caveGenerator, CAVE); - ravineGenerator = TerrainGen.getModdedMapGen(ravineGenerator, RAVINE); - } + /** * are map structures going to be generated (e.g. strongholds) */ @@ -55,7 +51,6 @@ public class AtumChunkProvider implements IChunkProvider { double[] field_147428_e; double[] field_147425_f; double[] field_147426_g; - int[][] field_73219_j = new int[32][32]; /** * RNG. */ @@ -81,6 +76,11 @@ public class AtumChunkProvider implements IChunkProvider { */ private BiomeGenBase[] biomesForGeneration; + { + caveGenerator = TerrainGen.getModdedMapGen(caveGenerator, CAVE); + ravineGenerator = TerrainGen.getModdedMapGen(ravineGenerator, RAVINE); + } + public AtumChunkProvider(World par1World, long par2, boolean par4) { this.worldObj = par1World; this.mapFeaturesEnabled = par4; From 84daf0db1447655b72c97cd5d60c95019251e91d Mon Sep 17 00:00:00 2001 From: lclc98 Date: Tue, 29 Jul 2014 20:44:53 +1000 Subject: [PATCH 064/157] Changed block --- .../java/com/teammetallurgy/atum/Atum.java | 2 +- .../atum/blocks/AtumBlocks.java | 91 ++++++++++--------- 2 files changed, 47 insertions(+), 46 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/Atum.java b/src/main/java/com/teammetallurgy/atum/Atum.java index 4c59e21..e042b96 100644 --- a/src/main/java/com/teammetallurgy/atum/Atum.java +++ b/src/main/java/com/teammetallurgy/atum/Atum.java @@ -41,7 +41,7 @@ public void preInit(FMLPreInitializationEvent event) { @EventHandler public void init(FMLInitializationEvent event) { LOGGER.info("Register Blocks"); - AtumBlocks.INSTANCE.registerBlocks(); + new AtumBlocks(); LOGGER.info("Register Item"); new AtumItems(); diff --git a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java index 602be15..a332991 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java @@ -13,52 +13,53 @@ import net.minecraftforge.common.ForgeHooks; import net.minecraftforge.oredict.OreDictionary; -public enum AtumBlocks { - INSTANCE; - - public static final BlockPortal BLOCK_PORTAL = new BlockPortal(); - public static final Block BLOCK_CURSEDCHEST = new BlockChestSpawner(); - public static final Block BLOCK_SAND = new BlockSands(); - public static final Block BLOCK_STONE = new BlockStones(); - public static final Block BLOCK_WALL = new BlockWalls(BLOCK_STONE); - public static final Block BLOCK_LIMESTONECOBBLE = new BlockAtum("cobble").setBlockTextureName("atum:AtumCobble"); - public static final Block BLOCK_LARGEBRICK = new BlockAtum("largeBrick").setBlockTextureName("atum:AtumBrickLarge"); - public static final Block BLOCK_SMALLBRICK = new BlockAtum("smallBrick").setBlockTextureName("atum:AtumBrickSmall"); - public static final Block BLOCK_CARVEDBRICK = new BlockAtum("carvedBrick").setBlockTextureName("atum:AtumBrickCarved"); - public static final Block BLOCK_SLABS = new BlockAtumSlab(false).setBlockName("slab"); - public static final Block BLOCK_DOUBLESLAB = new BlockAtumSlab(true).setBlockName("doubleSlab"); - public static final Block BLOCK_SMOOTHSTAIRS = new BlockAtumStairs(BLOCK_STONE, 0).setBlockName("smoothStairs"); - public static final Block BLOCK_COBBLESTAIRS = new BlockAtumStairs(BLOCK_LIMESTONECOBBLE, 0).setBlockName("cobbleStairs"); - public static final Block BLOCK_LARGESTONESTAIRS = new BlockAtumStairs(BLOCK_LARGEBRICK, 0).setBlockName("largeStairs"); - public static final Block BLOCK_SMALLSTONESTAIRS = new BlockAtumStairs(BLOCK_SMALLBRICK, 0).setBlockName("smallStairs"); - public static final Block BLOCK_SANDLAYERED = new BlockSandLayered(); - public static final Block BLOCK_CRACKEDLARGEBRICK = new BlockAtum("crackedLargeBrick").setBlockTextureName("atum:AtumCrackedLargeBrick"); - public static final Block BLOCK_CRYSTALGLASS = new BlockAtumGlass("atum:AtumCrystalGlass").setBlockName("crystalGlass"); - public static final Block BLOCK_FRAMEDGLASS = new BlockAtumGlass("atum:AtumFramedGlass").setBlockName("framedGlass"); - public static final Block BLOCK_PALMSAPLING = new BlockPalmSapling(); - public static final Block BLOCK_DATEBLOCK = new BlockDate(); - public static final Block BLOCK_SHRUB = new BlockShrub().setBlockName("shrub").setBlockTextureName("atum:Shrub"); - public static final Block BLOCK_WEED = new BlockShrub().setBlockName("weed").setBlockTextureName("atum:DeadBush"); - public static final Block BLOCK_PAPYRUS = new BlockPapyrus(); - public static final Block BLOCK_FLAX = new BlockFlax(); - public static final Block BLOCK_FERTILESOIL = new BlockFertileSoil(); - public static final Block BLOCK_FERTILESOILTILLED = new BlockFertileSoilTilled(); - public static final Block BLOCK_LOG = new BlockPalmLog(); - public static final Block BLOCK_LEAVES = new BlockLeave(); - public static final Block BLOCK_PLANKS = new BlockAtumPlank(); - public static final Block BLOCK_THINCRYSTALGLASS = new BlockAtumPane("atum:AtumCrystalGlass", "atum:thinglass_top").setBlockName("thinCrystalGlass"); - public static final Block BLOCK_THINFRAMEDGLASS = new BlockAtumPane("atum:AtumFramedGlass", "atum:thinglass_top").setBlockName("thinFramedGlass"); - public static final Block BLOCK_TRAPARROW = new BlockBurningTrap(); - public static final Block BLOCK_PHARAOHCHEST = new BlockPharaohChest(); - public static final Block BLOCK_REDSTONEORE = new BlockAtumRedstone(); - public static final Block BLOCK_COALORE = new BlockAtumOres().setBlockName("coalOre").setBlockTextureName("atum:AtumCoal"); - public static final Block BLOCK_IRONORE = new BlockAtumOres().setBlockName("ironOre").setBlockTextureName("atum:AtumIron"); - public static final Block BLOCK_GOLDORE = new BlockAtumOres().setBlockName("goldOre").setBlockTextureName("atum:AtumGold"); - public static final Block BLOCK_LAPISORE = new BlockAtumOres().setBlockName("lapisOre").setBlockTextureName("atum:AtumLapis"); - public static final Block BLOCK_DIAMONDORE = new BlockAtumOres().setBlockName("diamondOre").setBlockTextureName("atum:AtumDiamond"); - public static final Block BLOCK_FURNACEIDLE = new BlockLimeStoneFurnace(false).setBlockName("furnaceIdle"); - public static final Block BLOCK_FURNACEBURNING = new BlockLimeStoneFurnace(true).setBlockName("furnaceBurning"); +public class AtumBlocks { + public static BlockPortal BLOCK_PORTAL = new BlockPortal(); + public static Block BLOCK_CURSEDCHEST = new BlockChestSpawner(); + public static Block BLOCK_SAND = new BlockSands(); + public static Block BLOCK_STONE = new BlockStones(); + public static Block BLOCK_WALL = new BlockWalls(BLOCK_STONE); + public static Block BLOCK_LIMESTONECOBBLE = new BlockAtum("cobble").setBlockTextureName("atum:AtumCobble"); + public static Block BLOCK_LARGEBRICK = new BlockAtum("largeBrick").setBlockTextureName("atum:AtumBrickLarge"); + public static Block BLOCK_SMALLBRICK = new BlockAtum("smallBrick").setBlockTextureName("atum:AtumBrickSmall"); + public static Block BLOCK_CARVEDBRICK = new BlockAtum("carvedBrick").setBlockTextureName("atum:AtumBrickCarved"); + public static Block BLOCK_SLABS = new BlockAtumSlab(false).setBlockName("slab"); + public static Block BLOCK_DOUBLESLAB = new BlockAtumSlab(true).setBlockName("doubleSlab"); + public static Block BLOCK_SMOOTHSTAIRS = new BlockAtumStairs(BLOCK_STONE, 0).setBlockName("smoothStairs"); + public static Block BLOCK_COBBLESTAIRS = new BlockAtumStairs(BLOCK_LIMESTONECOBBLE, 0).setBlockName("cobbleStairs"); + public static Block BLOCK_LARGESTONESTAIRS = new BlockAtumStairs(BLOCK_LARGEBRICK, 0).setBlockName("largeStairs"); + public static Block BLOCK_SMALLSTONESTAIRS = new BlockAtumStairs(BLOCK_SMALLBRICK, 0).setBlockName("smallStairs"); + public static Block BLOCK_SANDLAYERED = new BlockSandLayered(); + public static Block BLOCK_CRACKEDLARGEBRICK = new BlockAtum("crackedLargeBrick").setBlockTextureName("atum:AtumCrackedLargeBrick"); + public static Block BLOCK_CRYSTALGLASS = new BlockAtumGlass("atum:AtumCrystalGlass").setBlockName("crystalGlass"); + public static Block BLOCK_FRAMEDGLASS = new BlockAtumGlass("atum:AtumFramedGlass").setBlockName("framedGlass"); + public static Block BLOCK_PALMSAPLING = new BlockPalmSapling(); + public static Block BLOCK_DATEBLOCK = new BlockDate(); + public static Block BLOCK_SHRUB = new BlockShrub().setBlockName("shrub").setBlockTextureName("atum:Shrub"); + public static Block BLOCK_WEED = new BlockShrub().setBlockName("weed").setBlockTextureName("atum:DeadBush"); + public static Block BLOCK_PAPYRUS = new BlockPapyrus(); + public static Block BLOCK_FLAX = new BlockFlax(); + public static Block BLOCK_FERTILESOIL = new BlockFertileSoil(); + public static Block BLOCK_FERTILESOILTILLED = new BlockFertileSoilTilled(); + public static Block BLOCK_LOG = new BlockPalmLog(); + public static Block BLOCK_LEAVES = new BlockLeave(); + public static Block BLOCK_PLANKS = new BlockAtumPlank(); + public static Block BLOCK_THINCRYSTALGLASS = new BlockAtumPane("atum:AtumCrystalGlass", "atum:thinglass_top").setBlockName("thinCrystalGlass"); + public static Block BLOCK_THINFRAMEDGLASS = new BlockAtumPane("atum:AtumFramedGlass", "atum:thinglass_top").setBlockName("thinFramedGlass"); + public static Block BLOCK_TRAPARROW = new BlockBurningTrap(); + public static Block BLOCK_PHARAOHCHEST = new BlockPharaohChest(); + public static Block BLOCK_REDSTONEORE = new BlockAtumRedstone(); + public static Block BLOCK_COALORE = new BlockAtumOres().setBlockName("coalOre").setBlockTextureName("atum:AtumCoal"); + public static Block BLOCK_IRONORE = new BlockAtumOres().setBlockName("ironOre").setBlockTextureName("atum:AtumIron"); + public static Block BLOCK_GOLDORE = new BlockAtumOres().setBlockName("goldOre").setBlockTextureName("atum:AtumGold"); + public static Block BLOCK_LAPISORE = new BlockAtumOres().setBlockName("lapisOre").setBlockTextureName("atum:AtumLapis"); + public static Block BLOCK_DIAMONDORE = new BlockAtumOres().setBlockName("diamondOre").setBlockTextureName("atum:AtumDiamond"); + public static Block BLOCK_FURNACEIDLE = new BlockLimeStoneFurnace(false).setBlockName("furnaceIdle"); + public static Block BLOCK_FURNACEBURNING = new BlockLimeStoneFurnace(true).setBlockName("furnaceBurning"); + public AtumBlocks(){ + registerBlocks(); + } public void registerBlocks() { this.register(BLOCK_PORTAL); this.register(BLOCK_CURSEDCHEST); From 2d114fb7a6ef718725b44ac26a5cb7707f6bf308 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Tue, 5 Aug 2014 15:41:16 +1000 Subject: [PATCH 065/157] Bumped Version --- src/main/java/com/teammetallurgy/atum/Atum.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/teammetallurgy/atum/Atum.java b/src/main/java/com/teammetallurgy/atum/Atum.java index e042b96..49f2dff 100644 --- a/src/main/java/com/teammetallurgy/atum/Atum.java +++ b/src/main/java/com/teammetallurgy/atum/Atum.java @@ -22,7 +22,7 @@ public class Atum { public static final String MODID = "atum"; public static final String NAME = "Atum"; - public static final String VERSION = "0.5.9B"; + public static final String VERSION = "0.6.13"; public static final Logger LOGGER = Logger.getLogger(Atum.class.getSimpleName()); @Instance(Atum.MODID) public static Atum instance; From acd14adc1c52bd039e5265c7091d38bcff721779 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Wed, 24 Sep 2014 16:35:24 +1000 Subject: [PATCH 066/157] Reformatted code --- .gitignore | 1 + build.gradle | 1 - build.properties | 2 +- .../java/com/teammetallurgy/atum/Atum.java | 96 +- .../com/teammetallurgy/atum/AtumConfig.java | 36 +- .../teammetallurgy/atum/AtumCreativeTab.java | 14 +- .../atum/AtumEventListener.java | 133 ++- .../com/teammetallurgy/atum/AtumFish.java | 30 +- .../teammetallurgy/atum/AtumGuiHandler.java | 40 +- .../java/com/teammetallurgy/atum/AtumIDS.java | 6 +- .../com/teammetallurgy/atum/AtumLoot.java | 188 +-- .../atum/AtumWeightedLootSet.java | 100 +- .../atum/blocks/AtumBlocks.java | 225 ++-- .../teammetallurgy/atum/blocks/BlockAtum.java | 10 +- .../atum/blocks/BlockAtumGlass.java | 62 +- .../atum/blocks/BlockAtumOres.java | 90 +- .../atum/blocks/BlockAtumPane.java | 10 +- .../atum/blocks/BlockAtumPlank.java | 16 +- .../atum/blocks/BlockAtumRedstone.java | 200 ++-- .../atum/blocks/BlockAtumSlab.java | 84 +- .../atum/blocks/BlockAtumStairs.java | 6 +- .../atum/blocks/BlockBurningTrap.java | 232 ++-- .../atum/blocks/BlockChestSpawner.java | 328 +++--- .../teammetallurgy/atum/blocks/BlockDate.java | 80 +- .../atum/blocks/BlockFertileSoil.java | 220 ++-- .../atum/blocks/BlockFertileSoilTilled.java | 310 ++--- .../teammetallurgy/atum/blocks/BlockFlax.java | 334 +++--- .../atum/blocks/BlockLeave.java | 492 ++++---- .../atum/blocks/BlockLimeStoneFurnace.java | 532 ++++----- .../atum/blocks/BlockPalmLog.java | 168 +-- .../atum/blocks/BlockPalmSapling.java | 160 +-- .../atum/blocks/BlockPapyrus.java | 306 ++--- .../atum/blocks/BlockPharaohChest.java | 342 +++--- .../atum/blocks/BlockPortal.java | 306 +++-- .../atum/blocks/BlockSandLayered.java | 196 ++-- .../atum/blocks/BlockSands.java | 20 +- .../atum/blocks/BlockShrub.java | 52 +- .../atum/blocks/BlockStones.java | 28 +- .../atum/blocks/BlockWalls.java | 62 +- .../atum/blocks/ItemBlockSlab.java | 16 +- .../atum/blocks/ItemBlockWall.java | 16 +- .../tileentity/TileEntityBurningTrap.java | 118 +- .../chests/CursedChestBaseLogic.java | 634 +++++----- .../chests/CursedChestSpawnerLogic.java | 76 +- .../chests/TileEntityChestSpawner.java | 644 +++++----- .../chests/TileEntityPharaohChest.java | 612 +++++----- .../furnace/ContainerLimestoneFurnace.java | 266 ++--- .../furnace/GuiLimestoneFurnace.java | 68 +- .../furnace/TileEntityLimestoneFurnace.java | 776 ++++++------- .../client/model/entity/ModelDesertWolf.java | 344 +++--- .../model/entity/ModelDustySkeleton.java | 40 +- .../client/model/tileentity/ModelDate.java | 62 +- .../client/render/entity/RenderBandit.java | 6 +- .../render/entity/RenderDesertWolf.java | 72 +- .../client/render/entity/RenderGhost.java | 940 +++++++-------- .../client/render/entity/RenderPharaoh.java | 24 +- .../entity/arrow/RenderCustomArrow.java | 130 +-- .../render/entity/arrow/RenderNutsCall.java | 84 +- .../client/render/item/RendererItemBow.java | 176 +-- .../client/render/tileentity/RenderDate.java | 200 ++-- .../render/tileentity/RenderPapyrus.java | 142 +-- .../atum/entity/AtumEntities.java | 126 +- .../atum/entity/EntityBanditArcher.java | 274 ++--- .../atum/entity/EntityBanditWarlord.java | 154 +-- .../atum/entity/EntityBanditWarrior.java | 126 +- .../atum/entity/EntityBarbarian.java | 102 +- .../atum/entity/EntityDesertWolf.java | 970 ++++++++-------- .../atum/entity/EntityDustySkeleton.java | 102 +- .../atum/entity/EntityGhost.java | 240 ++-- .../atum/entity/EntityMummy.java | 104 +- .../atum/entity/EntityPharaoh.java | 684 +++++------ .../atum/entity/EntityStone.java | 20 +- .../atum/entity/EntityStoneSoldier.java | 176 +-- .../atum/entity/arrow/CustomArrow.java | 36 +- .../entity/arrow/EntityArrowDoubleShot.java | 1018 ++++++++-------- .../entity/arrow/EntityArrowExplosive.java | 1034 ++++++++--------- .../atum/entity/arrow/EntityArrowFire.java | 1024 ++++++++-------- .../atum/entity/arrow/EntityArrowPoison.java | 1022 ++++++++-------- .../entity/arrow/EntityArrowQuickdraw.java | 1018 ++++++++-------- .../entity/arrow/EntityArrowVelocity.java | 1018 ++++++++-------- .../atum/entity/arrow/EntityAtumFishHook.java | 892 +++++++------- .../atum/entity/arrow/EntityNutsCall.java | 1030 ++++++++-------- .../teammetallurgy/atum/items/AtumItems.java | 285 ++--- .../atum/items/ItemAtumBow.java | 88 +- .../teammetallurgy/atum/items/ItemFish.java | 72 +- .../atum/items/ItemGreatsword.java | 22 +- .../teammetallurgy/atum/items/ItemLoot.java | 172 +-- .../atum/items/ItemPapyrusPlant.java | 108 +- .../teammetallurgy/atum/items/ItemScarab.java | 112 +- .../atum/items/ItemScepter.java | 14 +- .../atum/items/ItemScimitar.java | 14 +- .../atum/items/ItemStoneSoldierSword.java | 14 +- .../atum/items/ItemTexturedArmor.java | 54 +- .../atum/items/LimestoneAxe.java | 22 +- .../atum/items/LimestoneHoe.java | 22 +- .../atum/items/LimestonePickaxe.java | 22 +- .../atum/items/LimestoneShovel.java | 22 +- .../atum/items/LimestoneSword.java | 22 +- .../atum/items/artifacts/ItemAkersToil.java | 88 +- .../artifacts/ItemAmunetsHomecoming.java | 164 +-- .../atum/items/artifacts/ItemAnhursMight.java | 94 +- .../atum/items/artifacts/ItemAnubisMercy.java | 254 ++-- .../items/artifacts/ItemAnuketsBounty.java | 126 +- .../atum/items/artifacts/ItemAtensFury.java | 246 ++-- .../items/artifacts/ItemGebsBlessing.java | 70 +- .../items/artifacts/ItemGebsSolidarity.java | 138 +-- .../items/artifacts/ItemHedetetsSting.java | 78 +- .../items/artifacts/ItemHedetetsVenom.java | 252 ++-- .../atum/items/artifacts/ItemHorusFlight.java | 88 +- .../items/artifacts/ItemHorusSoaring.java | 246 ++-- .../atum/items/artifacts/ItemIsisEmbrace.java | 62 +- .../atum/items/artifacts/ItemIsisHealing.java | 106 +- .../items/artifacts/ItemMaatsBalance.java | 96 +- .../items/artifacts/ItemMafdetsQuickness.java | 102 +- .../atum/items/artifacts/ItemMnevisHorns.java | 74 +- .../items/artifacts/ItemMonthusBlast.java | 254 ++-- .../items/artifacts/ItemMonthusStrike.java | 204 ++-- .../items/artifacts/ItemNeithsAudacity.java | 360 +++--- .../atum/items/artifacts/ItemNusFlux.java | 110 +- .../atum/items/artifacts/ItemNutsAgility.java | 72 +- .../atum/items/artifacts/ItemNutsCall.java | 148 +-- .../atum/items/artifacts/ItemOsirisWill.java | 92 +- .../items/artifacts/ItemPtahsDecadence.java | 76 +- .../items/artifacts/ItemPtahsDestruction.java | 88 +- .../atum/items/artifacts/ItemRasGlory.java | 72 +- .../items/artifacts/ItemSekhmetsWrath.java | 96 +- .../atum/items/artifacts/ItemShusBreath.java | 266 ++--- .../atum/items/artifacts/ItemSobeksRage.java | 84 +- .../atum/lib/handler/CraftingHandler.java | 132 +-- .../atum/lib/proxy/ClientProxy.java | 142 +-- .../atum/lib/proxy/CommonProxy.java | 16 +- .../atum/lib/tickhandler/ClientEvents.java | 119 +- .../atum/lib/tickhandler/ServerEvents.java | 92 +- .../atum/world/AtumChunkProvider.java | 998 ++++++++-------- .../atum/world/AtumPortalPosition.java | 10 +- .../atum/world/AtumTeleporter.java | 802 ++++++------- .../atum/world/AtumWorldProvider.java | 176 +-- .../atum/world/AtumWorldServer.java | 14 +- .../teammetallurgy/atum/world/AtumWorlds.java | 12 +- .../atum/world/biome/BiomeDecoratorAtum.java | 314 ++--- .../atum/world/biome/BiomeGenAtumDesert.java | 144 +-- .../world/decorators/WorldGenAtumTrees.java | 708 +++++------ .../atum/world/decorators/WorldGenOasis.java | 320 ++--- .../atum/world/decorators/WorldGenPalace.java | 28 +- .../atum/world/decorators/WorldGenPalm.java | 242 ++-- .../world/decorators/WorldGenPyramid.java | 410 +++---- .../atum/world/decorators/WorldGenRuins.java | 152 +-- .../atum/world/decorators/WorldGenShrub.java | 48 +- 148 files changed, 16135 insertions(+), 16149 deletions(-) diff --git a/.gitignore b/.gitignore index c264abf..ad68744 100644 --- a/.gitignore +++ b/.gitignore @@ -226,6 +226,7 @@ pip-log.txt ############# .gradle/ build/ +run/ eclipse/ CREDITS-fml.txt forge-*-*-changelog.txt diff --git a/build.gradle b/build.gradle index 9e40bdd..f24cbad 100644 --- a/build.gradle +++ b/build.gradle @@ -39,7 +39,6 @@ configFile.withReader { minecraft { version = config.minecraft_version + "-" + config.forge_version - assetDir = "eclipse/assets" } task buildInfo() { diff --git a/build.properties b/build.properties index 6b036fe..86f4fca 100644 --- a/build.properties +++ b/build.properties @@ -1,3 +1,3 @@ minecraft_version=1.7.10 -forge_version=10.13.0.1160 +forge_version=10.13.0.1199 mod_version=0.6 \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/Atum.java b/src/main/java/com/teammetallurgy/atum/Atum.java index 49f2dff..e9100bb 100644 --- a/src/main/java/com/teammetallurgy/atum/Atum.java +++ b/src/main/java/com/teammetallurgy/atum/Atum.java @@ -20,51 +20,53 @@ @Mod(modid = Atum.MODID, name = Atum.NAME, version = Atum.VERSION) public class Atum { - public static final String MODID = "atum"; - public static final String NAME = "Atum"; - public static final String VERSION = "0.6.13"; - public static final Logger LOGGER = Logger.getLogger(Atum.class.getSimpleName()); - @Instance(Atum.MODID) - public static Atum instance; - @SidedProxy(clientSide = "com.teammetallurgy.atum.lib.proxy.ClientProxy", serverSide = "com.teammetallurgy.atum.lib.proxy.CommonProxy") - public static CommonProxy proxy; - public static AtumConfig config; - public static CreativeTabs creativeTab = new AtumCreativeTab(); - - @EventHandler - public void preInit(FMLPreInitializationEvent event) { - LOGGER.info("Loading Configuration"); - config = new AtumConfig(event.getSuggestedConfigurationFile()); - config.load(); - } - - @EventHandler - public void init(FMLInitializationEvent event) { - LOGGER.info("Register Blocks"); - new AtumBlocks(); - - LOGGER.info("Register Item"); - new AtumItems(); - - LOGGER.info("Register Crafting Recipes"); - CraftingHandler.INSTANCE.register(); - - LOGGER.info("Register World"); - AtumWorlds.INSTANCE.register(); - - LOGGER.info("Register Entity"); - AtumEntities.INSTANCE.register(); - - LOGGER.info("Register Loot"); - AtumLoot.INSTANCE.register(); - - LOGGER.info("Proxy Init"); - proxy.init(); - proxy.initRenders(); - proxy.initTiles(); - - MinecraftForge.EVENT_BUS.register(new AtumEventListener()); - - NetworkRegistry.INSTANCE.registerGuiHandler(this, new AtumGuiHandler()); - } + public static final String MODID = "atum"; + public static final String NAME = "Atum"; + public static final String VERSION = "0.6.13"; + public static final Logger LOGGER = Logger.getLogger(Atum.class.getSimpleName()); + + @Instance(Atum.MODID) + public static Atum instance; + + @SidedProxy(clientSide = "com.teammetallurgy.atum.lib.proxy.ClientProxy", serverSide = "com.teammetallurgy.atum.lib.proxy.CommonProxy") + public static CommonProxy proxy; + + public static CreativeTabs creativeTab = new AtumCreativeTab(); + + @EventHandler + public void preInit(FMLPreInitializationEvent event) { + LOGGER.info("Loading Configuration"); + AtumConfig config = new AtumConfig(event.getSuggestedConfigurationFile()); + config.load(); + } + + @EventHandler + public void init(FMLInitializationEvent event) { + LOGGER.info("Register Blocks"); + new AtumBlocks(); + + LOGGER.info("Register Item"); + new AtumItems(); + + LOGGER.info("Register Crafting Recipes"); + CraftingHandler.INSTANCE.register(); + + LOGGER.info("Register World"); + AtumWorlds.INSTANCE.register(); + + LOGGER.info("Register Entity"); + AtumEntities.INSTANCE.register(); + + LOGGER.info("Register Loot"); + AtumLoot.INSTANCE.register(); + + LOGGER.info("Proxy Init"); + proxy.init(); + proxy.initRenders(); + proxy.initTiles(); + + MinecraftForge.EVENT_BUS.register(new AtumEventListener()); + + NetworkRegistry.INSTANCE.registerGuiHandler(this, new AtumGuiHandler()); + } } diff --git a/src/main/java/com/teammetallurgy/atum/AtumConfig.java b/src/main/java/com/teammetallurgy/atum/AtumConfig.java index 6284beb..718c8f7 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumConfig.java +++ b/src/main/java/com/teammetallurgy/atum/AtumConfig.java @@ -6,29 +6,29 @@ public class AtumConfig { - private final Configuration CONFIG; + private final Configuration CONFIG; - public AtumConfig(File file) { - System.out.println(file); - this.CONFIG = new Configuration(file); - } + public AtumConfig(File file) { + System.out.println(file); + this.CONFIG = new Configuration(file); + } - public void load() { - this.CONFIG.load(); + public void load() { + this.CONFIG.load(); - AtumIDS.DIMENSION_ID = getInt("Dimension", "Atum", 17); + AtumIDS.DIMENSION_ID = getInt("Dimension", "Atum", 17); - AtumIDS.BIOME_DESERT_ID = getInt("Biome", "Desert", 200); - AtumIDS.ALLOW_CREATION = getBoolean("Scarab", "Create Portal", true); - this.CONFIG.save(); - } + AtumIDS.BIOME_DESERT_ID = getInt("Biome", "Desert", 200); + AtumIDS.ALLOW_CREATION = getBoolean("Scarab", "Create Portal", true); + this.CONFIG.save(); + } - private int getInt(String category, String name, int defaultId) { - return this.CONFIG.get(category, name, defaultId).getInt(); - } + private int getInt(String category, String name, int defaultId) { + return this.CONFIG.get(category, name, defaultId).getInt(); + } - private boolean getBoolean(String category, String name, boolean defaultId) { - return this.CONFIG.get(category, name, defaultId).getBoolean(true); - } + private boolean getBoolean(String category, String name, boolean defaultId) { + return this.CONFIG.get(category, name, defaultId).getBoolean(true); + } } diff --git a/src/main/java/com/teammetallurgy/atum/AtumCreativeTab.java b/src/main/java/com/teammetallurgy/atum/AtumCreativeTab.java index 55090f8..8fee8c5 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumCreativeTab.java +++ b/src/main/java/com/teammetallurgy/atum/AtumCreativeTab.java @@ -6,12 +6,12 @@ public class AtumCreativeTab extends CreativeTabs { - public AtumCreativeTab() { - super("atum"); - } + public AtumCreativeTab() { + super("atum"); + } - @Override - public Item getTabIconItem() { - return AtumItems.ITEM_SCARAB; - } + @Override + public Item getTabIconItem() { + return AtumItems.ITEM_SCARAB; + } } diff --git a/src/main/java/com/teammetallurgy/atum/AtumEventListener.java b/src/main/java/com/teammetallurgy/atum/AtumEventListener.java index 5b7e7b6..ad61f01 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumEventListener.java +++ b/src/main/java/com/teammetallurgy/atum/AtumEventListener.java @@ -9,6 +9,7 @@ import cpw.mods.fml.common.eventhandler.SubscribeEvent; import net.minecraft.block.Block; import net.minecraft.init.Blocks; +import net.minecraftforge.client.event.EntityViewRenderEvent; import net.minecraftforge.event.entity.living.LivingFallEvent; import net.minecraftforge.event.entity.living.LivingHurtEvent; import net.minecraftforge.event.entity.player.BonemealEvent; @@ -17,64 +18,76 @@ import java.util.Random; public class AtumEventListener { - @SubscribeEvent - public void onFallDamage(LivingFallEvent event) { - if (event.entity instanceof EntityGhost || event.entity instanceof EntityPharaoh) { - event.distance = 0.0F; - } - - } - - @SubscribeEvent - public void onLivingHurt(LivingHurtEvent event) { - if (event.source.getDamageType().equals("drown") && (event.entity instanceof EntityPharaoh || event.entity instanceof EntityGhost || event.entity instanceof EntityMummy || event.entity instanceof EntityDustySkeleton || event.entity instanceof EntityStoneSoldier)) { - event.setCanceled(true); - } - - } - - @SubscribeEvent - public boolean onBonemeal(BonemealEvent event) { - if (event.world.isRemote) { - return true; - } else { - Block block = event.world.getBlock(event.x, event.y, event.z); - if (block == AtumBlocks.BLOCK_PALMSAPLING) { - ((BlockPalmSapling) ((BlockPalmSapling) AtumBlocks.BLOCK_PALMSAPLING)).growTree(event.world, event.x, event.y, event.z, new Random()); - event.setResult(Result.ALLOW); - } - - if (block == AtumBlocks.BLOCK_FLAX && event.world.getBlockMetadata(event.x, event.y, event.z) < 5) { - ((BlockFlax) ((BlockFlax) AtumBlocks.BLOCK_FLAX)).fertilize(event.world, event.x, event.y, event.z); - event.setResult(Result.ALLOW); - } - - return false; - } - } - - @SubscribeEvent - public boolean onHoeEvent(UseHoeEvent event) { - Block block = event.world.getBlock(event.x, event.y, event.z); - if (block == AtumBlocks.BLOCK_FERTILESOIL) { - byte block2 = 0; - if (event.current.getItem() == AtumItems.gebsBlessing) { - block2 = 4; - } - - event.world.setBlock(event.x, event.y, event.z, AtumBlocks.BLOCK_FERTILESOILTILLED); - event.world.setBlockMetadataWithNotify(event.x, event.y, event.z, block2, 2); - event.setResult(Result.ALLOW); - event.world.playSoundEffect((double) event.x, (double) event.y, (double) event.z, block.stepSound.getStepResourcePath(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); - return true; - } else if ((block == Blocks.dirt || block == Blocks.grass) && event.current.getItem() == AtumItems.gebsBlessing) { - event.world.setBlock(event.x, event.y, event.z, AtumBlocks.BLOCK_FERTILESOILTILLED); - event.world.setBlockMetadataWithNotify(event.x, event.y, event.z, 12, 2); - event.setResult(Result.ALLOW); - event.world.playSoundEffect((double) event.x, (double) event.y, (double) event.z, block.stepSound.getStepResourcePath(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); - return true; - } else { - return false; - } - } + + @SubscribeEvent + public void renderFog(EntityViewRenderEvent.RenderFogEvent event) { + //if (event.entity.dimension == AtumIDS.DIMENSION_ID) { + //} + if (event.farPlaneDistance > 32) { + event.setResult(Result.DENY); + } + System.out.println(event.farPlaneDistance); + } + + @SubscribeEvent + public void onFallDamage(LivingFallEvent event) { + if (event.entity instanceof EntityGhost || event.entity instanceof EntityPharaoh) { + event.distance = 0.0F; + } + + } + + @SubscribeEvent + public void onLivingHurt(LivingHurtEvent event) { + if (event.source.getDamageType().equals("drown") && (event.entity instanceof EntityPharaoh || event.entity instanceof EntityGhost || event.entity instanceof EntityMummy || event.entity instanceof EntityDustySkeleton || event.entity instanceof EntityStoneSoldier)) { + event.setCanceled(true); + } + + } + + @SubscribeEvent + public boolean onBonemeal(BonemealEvent event) { + if (!event.world.isRemote) { + + Block block = event.world.getBlock(event.x, event.y, event.z); + if (block == AtumBlocks.BLOCK_PALMSAPLING) { + ((BlockPalmSapling) AtumBlocks.BLOCK_PALMSAPLING).growTree(event.world, event.x, event.y, event.z, new Random()); + event.setResult(Result.ALLOW); + } + + if (block == AtumBlocks.BLOCK_FLAX && event.world.getBlockMetadata(event.x, event.y, event.z) < 5) { + ((BlockFlax) AtumBlocks.BLOCK_FLAX).fertilize(event.world, event.x, event.y, event.z); + event.setResult(Result.ALLOW); + } + + return false; + } + return true; + } + + @SubscribeEvent + public boolean onHoeEvent(UseHoeEvent event) { + Block block = event.world.getBlock(event.x, event.y, event.z); + if (block == AtumBlocks.BLOCK_FERTILESOIL) { + byte block2 = 0; + if (event.current.getItem() == AtumItems.gebsBlessing) { + block2 = 4; + } + + event.world.setBlock(event.x, event.y, event.z, AtumBlocks.BLOCK_FERTILESOILTILLED); + event.world.setBlockMetadataWithNotify(event.x, event.y, event.z, block2, 2); + event.setResult(Result.ALLOW); + event.world.playSoundEffect((double) event.x, (double) event.y, (double) event.z, block.stepSound.getStepResourcePath(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); + return true; + } else if ((block == Blocks.dirt || block == Blocks.grass) && event.current.getItem() == AtumItems.gebsBlessing) { + event.world.setBlock(event.x, event.y, event.z, AtumBlocks.BLOCK_FERTILESOILTILLED); + event.world.setBlockMetadataWithNotify(event.x, event.y, event.z, 12, 2); + event.setResult(Result.ALLOW); + event.world.playSoundEffect((double) event.x, (double) event.y, (double) event.z, block.stepSound.getStepResourcePath(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); + return true; + } + + return false; + + } } \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/AtumFish.java b/src/main/java/com/teammetallurgy/atum/AtumFish.java index bb0c0dc..e66de3f 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumFish.java +++ b/src/main/java/com/teammetallurgy/atum/AtumFish.java @@ -5,23 +5,23 @@ import net.minecraft.item.ItemStack; public class AtumFish { - private static AtumWeightedLootSet fish; + private static AtumWeightedLootSet fish; - static { - fish = new AtumWeightedLootSet(); + static { + fish = new AtumWeightedLootSet(); - AtumFish.addFish(new ItemStack(Items.fish, 1, 0), 100); - AtumFish.addFish(new ItemStack(AtumItems.ITEM_FISH, 1, 0), 30); - AtumFish.addFish(new ItemStack(AtumItems.ITEM_FISH, 1, 1), 5); - AtumFish.addFish(new ItemStack(AtumItems.ITEM_FISH, 1, 2), 50); - AtumFish.addFish(new ItemStack(AtumItems.ITEM_FISH, 1, 3), 50); - } + AtumFish.addFish(new ItemStack(Items.fish, 1, 0), 100); + AtumFish.addFish(new ItemStack(AtumItems.ITEM_FISH, 1, 0), 30); + AtumFish.addFish(new ItemStack(AtumItems.ITEM_FISH, 1, 1), 5); + AtumFish.addFish(new ItemStack(AtumItems.ITEM_FISH, 1, 2), 50); + AtumFish.addFish(new ItemStack(AtumItems.ITEM_FISH, 1, 3), 50); + } - public static void addFish(ItemStack fishStack, int probability) { - fish.addLoot(fishStack, probability, 1, 1); - } + public static void addFish(ItemStack fishStack, int probability) { + fish.addLoot(fishStack, probability, 1, 1); + } - public static ItemStack getRandomFish() { - return fish.getRandomLoot(); - } + public static ItemStack getRandomFish() { + return fish.getRandomLoot(); + } } diff --git a/src/main/java/com/teammetallurgy/atum/AtumGuiHandler.java b/src/main/java/com/teammetallurgy/atum/AtumGuiHandler.java index 35cfa46..5c1a6f5 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumGuiHandler.java +++ b/src/main/java/com/teammetallurgy/atum/AtumGuiHandler.java @@ -9,28 +9,28 @@ public class AtumGuiHandler implements IGuiHandler { - @Override - public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { - TileEntityLimestoneFurnace te = (TileEntityLimestoneFurnace) world.getTileEntity(x, y, z); + @Override + public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { + TileEntityLimestoneFurnace te = (TileEntityLimestoneFurnace) world.getTileEntity(x, y, z); - if (te != null) { - if (te instanceof TileEntityLimestoneFurnace) { - return new ContainerLimestoneFurnace(player.inventory, te); - } - } - return null; - } + if (te != null) { + if (te instanceof TileEntityLimestoneFurnace) { + return new ContainerLimestoneFurnace(player.inventory, te); + } + } + return null; + } - @Override - public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { - TileEntityLimestoneFurnace te = (TileEntityLimestoneFurnace) world.getTileEntity(x, y, z); + @Override + public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { + TileEntityLimestoneFurnace te = (TileEntityLimestoneFurnace) world.getTileEntity(x, y, z); - if (te != null) { - if (te instanceof TileEntityLimestoneFurnace) { - return new GuiLimestoneFurnace(player.inventory, te); - } - } - return null; - } + if (te != null) { + if (te instanceof TileEntityLimestoneFurnace) { + return new GuiLimestoneFurnace(player.inventory, te); + } + } + return null; + } } diff --git a/src/main/java/com/teammetallurgy/atum/AtumIDS.java b/src/main/java/com/teammetallurgy/atum/AtumIDS.java index eab74b1..d51478d 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumIDS.java +++ b/src/main/java/com/teammetallurgy/atum/AtumIDS.java @@ -2,8 +2,8 @@ public class AtumIDS { - public static int DIMENSION_ID; - public static int BIOME_DESERT_ID; + public static int DIMENSION_ID; + public static int BIOME_DESERT_ID; - public static boolean ALLOW_CREATION; + public static boolean ALLOW_CREATION; } diff --git a/src/main/java/com/teammetallurgy/atum/AtumLoot.java b/src/main/java/com/teammetallurgy/atum/AtumLoot.java index caa08bd..a14441c 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumLoot.java +++ b/src/main/java/com/teammetallurgy/atum/AtumLoot.java @@ -12,110 +12,110 @@ import java.util.Random; public enum AtumLoot { - INSTANCE; + INSTANCE; - public static List artifacts; - public static AtumWeightedLootSet goodLoot; - public static AtumWeightedLootSet junkLoot; + public static List artifacts; + public static AtumWeightedLootSet goodLoot; + public static AtumWeightedLootSet junkLoot; - public static void addArtifact(ItemStack stack) { - artifacts.add(stack); - } + public static void addArtifact(ItemStack stack) { + artifacts.add(stack); + } - public static ItemStack getRandomLoot() { - return artifacts.get(0); - } + public static ItemStack getRandomLoot() { + return artifacts.get(0); + } - public static ItemStack getRandomArtifact() { + public static ItemStack getRandomArtifact() { - int i = (new Random()).nextInt(artifacts.size()); - return artifacts.get(i).copy(); - } + int i = (new Random()).nextInt(artifacts.size()); + return artifacts.get(i).copy(); + } - public static void fillChest(IInventory inventory, int multiplier, float quality) { - if (inventory == null) { - System.out.println("Error trying to fill empty chest"); - return; - } + public static void fillChest(IInventory inventory, int multiplier, float quality) { + if (inventory == null) { + System.out.println("Error trying to fill empty chest"); + return; + } - Random rand = new Random(); - for (int i = 0; i < multiplier; i++) { - int slot = rand.nextInt(inventory.getSizeInventory()); - float roll = rand.nextFloat(); - ItemStack stack = null; - if (rand.nextFloat() < quality) { - if (roll > 0.20) { - stack = goodLoot.getRandomLoot(); - } else if (roll > 0.005) { - stack = ItemLoot.getRandomLoot(rand, true); - } else { - int randomArtifactID = rand.nextInt(artifacts.size()); - stack = artifacts.get(randomArtifactID).copy(); - } - } else { - stack = junkLoot.getRandomLoot(); - } - inventory.setInventorySlotContents(slot, stack); - } - } + Random rand = new Random(); + for (int i = 0; i < multiplier; i++) { + int slot = rand.nextInt(inventory.getSizeInventory()); + float roll = rand.nextFloat(); + ItemStack stack = null; + if (rand.nextFloat() < quality) { + if (roll > 0.20) { + stack = goodLoot.getRandomLoot(); + } else if (roll > 0.005) { + stack = ItemLoot.getRandomLoot(rand, true); + } else { + int randomArtifactID = rand.nextInt(artifacts.size()); + stack = artifacts.get(randomArtifactID).copy(); + } + } else { + stack = junkLoot.getRandomLoot(); + } + inventory.setInventorySlotContents(slot, stack); + } + } - public void register() { - artifacts = new ArrayList(); - goodLoot = new AtumWeightedLootSet(); - junkLoot = new AtumWeightedLootSet(); + public void register() { + artifacts = new ArrayList(); + goodLoot = new AtumWeightedLootSet(); + junkLoot = new AtumWeightedLootSet(); - ItemStack stack = new ItemStack(AtumItems.ITEM_PTAHSPICK); - artifacts.add(stack); + ItemStack stack = new ItemStack(AtumItems.ITEM_PTAHSPICK); + artifacts.add(stack); - artifacts.add(new ItemStack(AtumItems.sobeksRage)); - artifacts.add(new ItemStack(AtumItems.osirisWill)); - artifacts.add(new ItemStack(AtumItems.akersToil)); - artifacts.add(new ItemStack(AtumItems.gebsBlessing)); - artifacts.add(new ItemStack(AtumItems.atensFury)); - artifacts.add(new ItemStack(AtumItems.rasGlory)); - artifacts.add(new ItemStack(AtumItems.sekhmetsWrath)); - artifacts.add(new ItemStack(AtumItems.nutsAgility)); - artifacts.add(new ItemStack(AtumItems.horusFlight)); - artifacts.add(new ItemStack(AtumItems.monthusStrike)); - artifacts.add(new ItemStack(AtumItems.neithsAudacity)); - artifacts.add(new ItemStack(AtumItems.hedetetsSting)); - artifacts.add(new ItemStack(AtumItems.nusFlux)); - artifacts.add(new ItemStack(AtumItems.anhursMight)); - artifacts.add(new ItemStack(AtumItems.horusSoaring)); - artifacts.add(new ItemStack(AtumItems.shusBreath)); - artifacts.add(new ItemStack(AtumItems.hedetetsVenom)); - artifacts.add(new ItemStack(AtumItems.monthusBlast)); - artifacts.add(new ItemStack(AtumItems.mnevisHorns)); - artifacts.add(new ItemStack(AtumItems.isisEmbrace)); - artifacts.add(new ItemStack(AtumItems.maatsBalance)); - artifacts.add(new ItemStack(AtumItems.nutsCall)); - artifacts.add(new ItemStack(AtumItems.ptahsDestruction)); - artifacts.add(new ItemStack(AtumItems.anuketsBounty)); - artifacts.add(new ItemStack(AtumItems.anubisMercy)); - artifacts.add(new ItemStack(AtumItems.amunetsHomecoming)); - artifacts.add(new ItemStack(AtumItems.isisHealing)); - artifacts.add(new ItemStack(AtumItems.mafdetsQuickness)); + artifacts.add(new ItemStack(AtumItems.sobeksRage)); + artifacts.add(new ItemStack(AtumItems.osirisWill)); + artifacts.add(new ItemStack(AtumItems.akersToil)); + artifacts.add(new ItemStack(AtumItems.gebsBlessing)); + artifacts.add(new ItemStack(AtumItems.atensFury)); + artifacts.add(new ItemStack(AtumItems.rasGlory)); + artifacts.add(new ItemStack(AtumItems.sekhmetsWrath)); + artifacts.add(new ItemStack(AtumItems.nutsAgility)); + artifacts.add(new ItemStack(AtumItems.horusFlight)); + artifacts.add(new ItemStack(AtumItems.monthusStrike)); + artifacts.add(new ItemStack(AtumItems.neithsAudacity)); + artifacts.add(new ItemStack(AtumItems.hedetetsSting)); + artifacts.add(new ItemStack(AtumItems.nusFlux)); + artifacts.add(new ItemStack(AtumItems.anhursMight)); + artifacts.add(new ItemStack(AtumItems.horusSoaring)); + artifacts.add(new ItemStack(AtumItems.shusBreath)); + artifacts.add(new ItemStack(AtumItems.hedetetsVenom)); + artifacts.add(new ItemStack(AtumItems.monthusBlast)); + artifacts.add(new ItemStack(AtumItems.mnevisHorns)); + artifacts.add(new ItemStack(AtumItems.isisEmbrace)); + artifacts.add(new ItemStack(AtumItems.maatsBalance)); + artifacts.add(new ItemStack(AtumItems.nutsCall)); + artifacts.add(new ItemStack(AtumItems.ptahsDestruction)); + artifacts.add(new ItemStack(AtumItems.anuketsBounty)); + artifacts.add(new ItemStack(AtumItems.anubisMercy)); + artifacts.add(new ItemStack(AtumItems.amunetsHomecoming)); + artifacts.add(new ItemStack(AtumItems.isisHealing)); + artifacts.add(new ItemStack(AtumItems.mafdetsQuickness)); - // Junk Loot Stuff - junkLoot.addLoot(new ItemStack(AtumItems.ITEM_FLAXSEED), 5, 1, 2); - junkLoot.addLoot(new ItemStack(Items.stick), 5, 1, 5); - junkLoot.addLoot(new ItemStack(AtumItems.ITEM_DATE), 5, 1, 2); - junkLoot.addLoot(new ItemStack(Items.bone), 10, 1, 3); - junkLoot.addLoot(new ItemStack(Items.bread), 10, 1, 4); - junkLoot.addLoot(new ItemStack(AtumBlocks.BLOCK_SAND), 20, 1, 64); - junkLoot.addLoot(new ItemStack(AtumItems.ITEM_SCIMITAR), 5, 1, 1); - junkLoot.addLoot(new ItemStack(Items.wheat_seeds), 5, 1, 3); - junkLoot.addLoot(new ItemStack(Items.leather), 5, 1, 5); - junkLoot.addLoot(new ItemStack(Items.dye, 1, 3), 5, 1, 3); - junkLoot.addLoot(new ItemStack(Items.saddle), 5, 1, 1); + // Junk Loot Stuff + junkLoot.addLoot(new ItemStack(AtumItems.ITEM_FLAXSEED), 5, 1, 2); + junkLoot.addLoot(new ItemStack(Items.stick), 5, 1, 5); + junkLoot.addLoot(new ItemStack(AtumItems.ITEM_DATE), 5, 1, 2); + junkLoot.addLoot(new ItemStack(Items.bone), 10, 1, 3); + junkLoot.addLoot(new ItemStack(Items.bread), 10, 1, 4); + junkLoot.addLoot(new ItemStack(AtumBlocks.BLOCK_SAND), 20, 1, 64); + junkLoot.addLoot(new ItemStack(AtumItems.ITEM_SCIMITAR), 5, 1, 1); + junkLoot.addLoot(new ItemStack(Items.wheat_seeds), 5, 1, 3); + junkLoot.addLoot(new ItemStack(Items.leather), 5, 1, 5); + junkLoot.addLoot(new ItemStack(Items.dye, 1, 3), 5, 1, 3); + junkLoot.addLoot(new ItemStack(Items.saddle), 5, 1, 1); - // Good Loot - goodLoot.addLoot(new ItemStack(Items.iron_ingot), 38, 1, 3); - goodLoot.addLoot(new ItemStack(Items.gold_ingot), 20, 1, 3); - goodLoot.addLoot(new ItemStack(Items.diamond), 4, 1, 2); - goodLoot.addLoot(new ItemStack(Items.enchanted_book, 1, 1), 5, 1, 1); - ItemStack stick = new ItemStack(Items.stick); - stick.setStackDisplayName("Amazing Stick"); - goodLoot.addLoot(stick, 1, 1, 1); - } + // Good Loot + goodLoot.addLoot(new ItemStack(Items.iron_ingot), 38, 1, 3); + goodLoot.addLoot(new ItemStack(Items.gold_ingot), 20, 1, 3); + goodLoot.addLoot(new ItemStack(Items.diamond), 4, 1, 2); + goodLoot.addLoot(new ItemStack(Items.enchanted_book, 1, 1), 5, 1, 1); + ItemStack stick = new ItemStack(Items.stick); + stick.setStackDisplayName("Amazing Stick"); + goodLoot.addLoot(stick, 1, 1, 1); + } } diff --git a/src/main/java/com/teammetallurgy/atum/AtumWeightedLootSet.java b/src/main/java/com/teammetallurgy/atum/AtumWeightedLootSet.java index 05801b3..685a210 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumWeightedLootSet.java +++ b/src/main/java/com/teammetallurgy/atum/AtumWeightedLootSet.java @@ -10,54 +10,54 @@ import java.util.*; public class AtumWeightedLootSet { - public Map loot; - public Map lootMin; - public Map lootMax; - public int totalWeight; - - public AtumWeightedLootSet() { - loot = new HashMap(); - lootMin = new HashMap(); - lootMax = new HashMap(); - totalWeight = 0; - } - - public void addLoot(ItemStack stack, int weight, int min, int max) { - if (weight <= 0 || stack == null) - return; - - loot.put(totalWeight + weight, stack); - lootMin.put(totalWeight + weight, min); - lootMax.put(totalWeight + weight, max); - totalWeight += weight; - } - - public ItemStack getRandomLoot() { - Random rand = new Random(); - int weight = rand.nextInt(totalWeight); - - ItemStack stack = null; - - Set keySet = loot.keySet(); - Integer[] keys = keySet.toArray(new Integer[keySet.size()]); - Arrays.sort(keys); - - for (Integer key : keys) { - if (key >= weight) { - stack = loot.get(key).copy(); - int min = lootMin.get(key); - int max = lootMax.get(key); - int amount = rand.nextInt(max - min + 1) + min; - stack.stackSize = amount; - if (stack.getItem() == Items.enchanted_book) { - Enchantment enchantment = Enchantment.enchantmentsBookList[rand.nextInt(Enchantment.enchantmentsBookList.length)]; - int l = MathHelper.getRandomIntegerInRange(rand, enchantment.getMinLevel(), enchantment.getMaxLevel()); - ((ItemEnchantedBook) stack.getItem()).addEnchantment(stack, new EnchantmentData(enchantment, l)); - } - break; - } - } - - return stack; - } + public Map loot; + public Map lootMin; + public Map lootMax; + public int totalWeight; + + public AtumWeightedLootSet() { + loot = new HashMap(); + lootMin = new HashMap(); + lootMax = new HashMap(); + totalWeight = 0; + } + + public void addLoot(ItemStack stack, int weight, int min, int max) { + if (weight <= 0 || stack == null) + return; + + loot.put(totalWeight + weight, stack); + lootMin.put(totalWeight + weight, min); + lootMax.put(totalWeight + weight, max); + totalWeight += weight; + } + + public ItemStack getRandomLoot() { + Random rand = new Random(); + int weight = rand.nextInt(totalWeight); + + ItemStack stack = null; + + Set keySet = loot.keySet(); + Integer[] keys = keySet.toArray(new Integer[keySet.size()]); + Arrays.sort(keys); + + for (Integer key : keys) { + if (key >= weight) { + stack = loot.get(key).copy(); + int min = lootMin.get(key); + int max = lootMax.get(key); + int amount = rand.nextInt(max - min + 1) + min; + stack.stackSize = amount; + if (stack.getItem() == Items.enchanted_book) { + Enchantment enchantment = Enchantment.enchantmentsBookList[rand.nextInt(Enchantment.enchantmentsBookList.length)]; + int l = MathHelper.getRandomIntegerInRange(rand, enchantment.getMinLevel(), enchantment.getMaxLevel()); + ((ItemEnchantedBook) stack.getItem()).addEnchantment(stack, new EnchantmentData(enchantment, l)); + } + break; + } + } + + return stack; + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java index a332991..a12b726 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java @@ -14,124 +14,125 @@ import net.minecraftforge.oredict.OreDictionary; public class AtumBlocks { - public static BlockPortal BLOCK_PORTAL = new BlockPortal(); - public static Block BLOCK_CURSEDCHEST = new BlockChestSpawner(); - public static Block BLOCK_SAND = new BlockSands(); - public static Block BLOCK_STONE = new BlockStones(); - public static Block BLOCK_WALL = new BlockWalls(BLOCK_STONE); - public static Block BLOCK_LIMESTONECOBBLE = new BlockAtum("cobble").setBlockTextureName("atum:AtumCobble"); - public static Block BLOCK_LARGEBRICK = new BlockAtum("largeBrick").setBlockTextureName("atum:AtumBrickLarge"); - public static Block BLOCK_SMALLBRICK = new BlockAtum("smallBrick").setBlockTextureName("atum:AtumBrickSmall"); - public static Block BLOCK_CARVEDBRICK = new BlockAtum("carvedBrick").setBlockTextureName("atum:AtumBrickCarved"); - public static Block BLOCK_SLABS = new BlockAtumSlab(false).setBlockName("slab"); - public static Block BLOCK_DOUBLESLAB = new BlockAtumSlab(true).setBlockName("doubleSlab"); - public static Block BLOCK_SMOOTHSTAIRS = new BlockAtumStairs(BLOCK_STONE, 0).setBlockName("smoothStairs"); - public static Block BLOCK_COBBLESTAIRS = new BlockAtumStairs(BLOCK_LIMESTONECOBBLE, 0).setBlockName("cobbleStairs"); - public static Block BLOCK_LARGESTONESTAIRS = new BlockAtumStairs(BLOCK_LARGEBRICK, 0).setBlockName("largeStairs"); - public static Block BLOCK_SMALLSTONESTAIRS = new BlockAtumStairs(BLOCK_SMALLBRICK, 0).setBlockName("smallStairs"); - public static Block BLOCK_SANDLAYERED = new BlockSandLayered(); - public static Block BLOCK_CRACKEDLARGEBRICK = new BlockAtum("crackedLargeBrick").setBlockTextureName("atum:AtumCrackedLargeBrick"); - public static Block BLOCK_CRYSTALGLASS = new BlockAtumGlass("atum:AtumCrystalGlass").setBlockName("crystalGlass"); - public static Block BLOCK_FRAMEDGLASS = new BlockAtumGlass("atum:AtumFramedGlass").setBlockName("framedGlass"); - public static Block BLOCK_PALMSAPLING = new BlockPalmSapling(); - public static Block BLOCK_DATEBLOCK = new BlockDate(); - public static Block BLOCK_SHRUB = new BlockShrub().setBlockName("shrub").setBlockTextureName("atum:Shrub"); - public static Block BLOCK_WEED = new BlockShrub().setBlockName("weed").setBlockTextureName("atum:DeadBush"); - public static Block BLOCK_PAPYRUS = new BlockPapyrus(); - public static Block BLOCK_FLAX = new BlockFlax(); - public static Block BLOCK_FERTILESOIL = new BlockFertileSoil(); - public static Block BLOCK_FERTILESOILTILLED = new BlockFertileSoilTilled(); - public static Block BLOCK_LOG = new BlockPalmLog(); - public static Block BLOCK_LEAVES = new BlockLeave(); - public static Block BLOCK_PLANKS = new BlockAtumPlank(); - public static Block BLOCK_THINCRYSTALGLASS = new BlockAtumPane("atum:AtumCrystalGlass", "atum:thinglass_top").setBlockName("thinCrystalGlass"); - public static Block BLOCK_THINFRAMEDGLASS = new BlockAtumPane("atum:AtumFramedGlass", "atum:thinglass_top").setBlockName("thinFramedGlass"); - public static Block BLOCK_TRAPARROW = new BlockBurningTrap(); - public static Block BLOCK_PHARAOHCHEST = new BlockPharaohChest(); - public static Block BLOCK_REDSTONEORE = new BlockAtumRedstone(); - public static Block BLOCK_COALORE = new BlockAtumOres().setBlockName("coalOre").setBlockTextureName("atum:AtumCoal"); - public static Block BLOCK_IRONORE = new BlockAtumOres().setBlockName("ironOre").setBlockTextureName("atum:AtumIron"); - public static Block BLOCK_GOLDORE = new BlockAtumOres().setBlockName("goldOre").setBlockTextureName("atum:AtumGold"); - public static Block BLOCK_LAPISORE = new BlockAtumOres().setBlockName("lapisOre").setBlockTextureName("atum:AtumLapis"); - public static Block BLOCK_DIAMONDORE = new BlockAtumOres().setBlockName("diamondOre").setBlockTextureName("atum:AtumDiamond"); - public static Block BLOCK_FURNACEIDLE = new BlockLimeStoneFurnace(false).setBlockName("furnaceIdle"); - public static Block BLOCK_FURNACEBURNING = new BlockLimeStoneFurnace(true).setBlockName("furnaceBurning"); + public static BlockPortal BLOCK_PORTAL = new BlockPortal(); + public static Block BLOCK_CURSEDCHEST = new BlockChestSpawner(); + public static Block BLOCK_SAND = new BlockSands(); + public static Block BLOCK_STONE = new BlockStones(); + public static Block BLOCK_WALL = new BlockWalls(BLOCK_STONE); + public static Block BLOCK_LIMESTONECOBBLE = new BlockAtum("cobble").setBlockTextureName("atum:AtumCobble"); + public static Block BLOCK_LARGEBRICK = new BlockAtum("largeBrick").setBlockTextureName("atum:AtumBrickLarge"); + public static Block BLOCK_SMALLBRICK = new BlockAtum("smallBrick").setBlockTextureName("atum:AtumBrickSmall"); + public static Block BLOCK_CARVEDBRICK = new BlockAtum("carvedBrick").setBlockTextureName("atum:AtumBrickCarved"); + public static Block BLOCK_SLABS = new BlockAtumSlab(false).setBlockName("slab"); + public static Block BLOCK_DOUBLESLAB = new BlockAtumSlab(true).setBlockName("doubleSlab"); + public static Block BLOCK_SMOOTHSTAIRS = new BlockAtumStairs(BLOCK_STONE, 0).setBlockName("smoothStairs"); + public static Block BLOCK_COBBLESTAIRS = new BlockAtumStairs(BLOCK_LIMESTONECOBBLE, 0).setBlockName("cobbleStairs"); + public static Block BLOCK_LARGESTONESTAIRS = new BlockAtumStairs(BLOCK_LARGEBRICK, 0).setBlockName("largeStairs"); + public static Block BLOCK_SMALLSTONESTAIRS = new BlockAtumStairs(BLOCK_SMALLBRICK, 0).setBlockName("smallStairs"); + public static Block BLOCK_SANDLAYERED = new BlockSandLayered(); + public static Block BLOCK_CRACKEDLARGEBRICK = new BlockAtum("crackedLargeBrick").setBlockTextureName("atum:AtumCrackedLargeBrick"); + public static Block BLOCK_CRYSTALGLASS = new BlockAtumGlass("atum:AtumCrystalGlass").setBlockName("crystalGlass"); + public static Block BLOCK_FRAMEDGLASS = new BlockAtumGlass("atum:AtumFramedGlass").setBlockName("framedGlass"); + public static Block BLOCK_PALMSAPLING = new BlockPalmSapling(); + public static Block BLOCK_DATEBLOCK = new BlockDate(); + public static Block BLOCK_SHRUB = new BlockShrub().setBlockName("shrub").setBlockTextureName("atum:Shrub"); + public static Block BLOCK_WEED = new BlockShrub().setBlockName("weed").setBlockTextureName("atum:DeadBush"); + public static Block BLOCK_PAPYRUS = new BlockPapyrus(); + public static Block BLOCK_FLAX = new BlockFlax(); + public static Block BLOCK_FERTILESOIL = new BlockFertileSoil(); + public static Block BLOCK_FERTILESOILTILLED = new BlockFertileSoilTilled(); + public static Block BLOCK_LOG = new BlockPalmLog(); + public static Block BLOCK_LEAVES = new BlockLeave(); + public static Block BLOCK_PLANKS = new BlockAtumPlank(); + public static Block BLOCK_THINCRYSTALGLASS = new BlockAtumPane("atum:AtumCrystalGlass", "atum:thinglass_top").setBlockName("thinCrystalGlass"); + public static Block BLOCK_THINFRAMEDGLASS = new BlockAtumPane("atum:AtumFramedGlass", "atum:thinglass_top").setBlockName("thinFramedGlass"); + public static Block BLOCK_TRAPARROW = new BlockBurningTrap(); + public static Block BLOCK_PHARAOHCHEST = new BlockPharaohChest(); + public static Block BLOCK_REDSTONEORE = new BlockAtumRedstone(); + public static Block BLOCK_COALORE = new BlockAtumOres().setBlockName("coalOre").setBlockTextureName("atum:AtumCoal"); + public static Block BLOCK_IRONORE = new BlockAtumOres().setBlockName("ironOre").setBlockTextureName("atum:AtumIron"); + public static Block BLOCK_GOLDORE = new BlockAtumOres().setBlockName("goldOre").setBlockTextureName("atum:AtumGold"); + public static Block BLOCK_LAPISORE = new BlockAtumOres().setBlockName("lapisOre").setBlockTextureName("atum:AtumLapis"); + public static Block BLOCK_DIAMONDORE = new BlockAtumOres().setBlockName("diamondOre").setBlockTextureName("atum:AtumDiamond"); + public static Block BLOCK_FURNACEIDLE = new BlockLimeStoneFurnace(false).setBlockName("furnaceIdle"); + public static Block BLOCK_FURNACEBURNING = new BlockLimeStoneFurnace(true).setBlockName("furnaceBurning"); - public AtumBlocks(){ - registerBlocks(); - } - public void registerBlocks() { - this.register(BLOCK_PORTAL); - this.register(BLOCK_CURSEDCHEST); - this.register(BLOCK_SAND); - this.register(BLOCK_STONE); - this.register(BLOCK_LIMESTONECOBBLE); - this.register(BLOCK_LARGEBRICK); - this.register(BLOCK_SMALLBRICK); - this.register(BLOCK_CARVEDBRICK); - this.register(BLOCK_SMOOTHSTAIRS); - this.register(BLOCK_COBBLESTAIRS); - this.register(BLOCK_LARGESTONESTAIRS); - this.register(BLOCK_SMALLSTONESTAIRS); - this.register(BLOCK_SANDLAYERED); - this.register(BLOCK_CRACKEDLARGEBRICK); - this.register(BLOCK_CRYSTALGLASS); - this.register(BLOCK_FRAMEDGLASS); - this.register(BLOCK_PALMSAPLING); - this.register(BLOCK_DATEBLOCK); - this.register(BLOCK_SHRUB); - this.register(BLOCK_WEED); - this.register(BLOCK_PAPYRUS); - this.register(BLOCK_FLAX); - this.register(BLOCK_FERTILESOIL); - this.register(BLOCK_FERTILESOILTILLED); - this.register(BLOCK_LOG); - this.register(BLOCK_LEAVES); - this.register(BLOCK_PLANKS); - this.register(BLOCK_THINCRYSTALGLASS); - this.register(BLOCK_THINFRAMEDGLASS); - this.register(BLOCK_TRAPARROW); - this.register(BLOCK_PHARAOHCHEST); - this.register(BLOCK_REDSTONEORE); - this.register(BLOCK_COALORE); - this.register(BLOCK_IRONORE); - this.register(BLOCK_GOLDORE); - this.register(BLOCK_LAPISORE); - this.register(BLOCK_DIAMONDORE); - this.register(BLOCK_FURNACEIDLE); - this.register(BLOCK_FURNACEBURNING); + public AtumBlocks() { + registerBlocks(); + } - ForgeHooks.canToolHarvestBlock(BLOCK_SAND, 0, new ItemStack(Items.iron_shovel)); - BLOCK_SAND.setHarvestLevel("shovel", 0); - BLOCK_COALORE.setHarvestLevel("pickaxe", 0); - BLOCK_IRONORE.setHarvestLevel("pickaxe", 1); - BLOCK_GOLDORE.setHarvestLevel("pickaxe", 2); - BLOCK_LAPISORE.setHarvestLevel("pickaxe", 1); - BLOCK_DIAMONDORE.setHarvestLevel("pickaxe", 2); - BLOCK_REDSTONEORE.setHarvestLevel("pickaxe", 2); + public void registerBlocks() { + this.register(BLOCK_PORTAL); + this.register(BLOCK_CURSEDCHEST); + this.register(BLOCK_SAND); + this.register(BLOCK_STONE); + this.register(BLOCK_LIMESTONECOBBLE); + this.register(BLOCK_LARGEBRICK); + this.register(BLOCK_SMALLBRICK); + this.register(BLOCK_CARVEDBRICK); + this.register(BLOCK_SMOOTHSTAIRS); + this.register(BLOCK_COBBLESTAIRS); + this.register(BLOCK_LARGESTONESTAIRS); + this.register(BLOCK_SMALLSTONESTAIRS); + this.register(BLOCK_SANDLAYERED); + this.register(BLOCK_CRACKEDLARGEBRICK); + this.register(BLOCK_CRYSTALGLASS); + this.register(BLOCK_FRAMEDGLASS); + this.register(BLOCK_PALMSAPLING); + this.register(BLOCK_DATEBLOCK); + this.register(BLOCK_SHRUB); + this.register(BLOCK_WEED); + this.register(BLOCK_PAPYRUS); + this.register(BLOCK_FLAX); + this.register(BLOCK_FERTILESOIL); + this.register(BLOCK_FERTILESOILTILLED); + this.register(BLOCK_LOG); + this.register(BLOCK_LEAVES); + this.register(BLOCK_PLANKS); + this.register(BLOCK_THINCRYSTALGLASS); + this.register(BLOCK_THINFRAMEDGLASS); + this.register(BLOCK_TRAPARROW); + this.register(BLOCK_PHARAOHCHEST); + this.register(BLOCK_REDSTONEORE); + this.register(BLOCK_COALORE); + this.register(BLOCK_IRONORE); + this.register(BLOCK_GOLDORE); + this.register(BLOCK_LAPISORE); + this.register(BLOCK_DIAMONDORE); + this.register(BLOCK_FURNACEIDLE); + this.register(BLOCK_FURNACEBURNING); - Blocks.fire.setFireInfo(BLOCK_PLANKS, 5, 20); - Blocks.fire.setFireInfo(BLOCK_LEAVES, 30, 60); - Blocks.fire.setFireInfo(BLOCK_LOG, 5, 5); + ForgeHooks.canToolHarvestBlock(BLOCK_SAND, 0, new ItemStack(Items.iron_shovel)); + BLOCK_SAND.setHarvestLevel("shovel", 0); + BLOCK_COALORE.setHarvestLevel("pickaxe", 0); + BLOCK_IRONORE.setHarvestLevel("pickaxe", 1); + BLOCK_GOLDORE.setHarvestLevel("pickaxe", 2); + BLOCK_LAPISORE.setHarvestLevel("pickaxe", 1); + BLOCK_DIAMONDORE.setHarvestLevel("pickaxe", 2); + BLOCK_REDSTONEORE.setHarvestLevel("pickaxe", 2); - GameRegistry.registerTileEntity(TileEntityChestSpawner.class, "CursedChest"); - GameRegistry.registerTileEntity(TileEntityPharaohChest.class, "PharaohChest"); - GameRegistry.registerTileEntity(TileEntityBurningTrap.class, "BurningTrap"); - GameRegistry.registerTileEntity(TileEntityLimestoneFurnace.class, "LimestoneFurnace"); + Blocks.fire.setFireInfo(BLOCK_PLANKS, 5, 20); + Blocks.fire.setFireInfo(BLOCK_LEAVES, 30, 60); + Blocks.fire.setFireInfo(BLOCK_LOG, 5, 5); - OreDictionary.registerOre("logWood", BLOCK_LOG); - OreDictionary.registerOre("plankWood", BLOCK_PLANKS); + GameRegistry.registerTileEntity(TileEntityChestSpawner.class, "CursedChest"); + GameRegistry.registerTileEntity(TileEntityPharaohChest.class, "PharaohChest"); + GameRegistry.registerTileEntity(TileEntityBurningTrap.class, "BurningTrap"); + GameRegistry.registerTileEntity(TileEntityLimestoneFurnace.class, "LimestoneFurnace"); - GameRegistry.registerBlock(BLOCK_SLABS, ItemBlockSlab.class, BLOCK_SLABS.getUnlocalizedName()); - GameRegistry.registerBlock(BLOCK_DOUBLESLAB, ItemBlockSlab.class, BLOCK_DOUBLESLAB.getUnlocalizedName()); + OreDictionary.registerOre("logWood", BLOCK_LOG); + OreDictionary.registerOre("plankWood", BLOCK_PLANKS); - GameRegistry.registerBlock(BLOCK_WALL, ItemBlockWall.class, BLOCK_WALL.getUnlocalizedName()); - } + GameRegistry.registerBlock(BLOCK_SLABS, ItemBlockSlab.class, BLOCK_SLABS.getUnlocalizedName()); + GameRegistry.registerBlock(BLOCK_DOUBLESLAB, ItemBlockSlab.class, BLOCK_DOUBLESLAB.getUnlocalizedName()); - private void register(Block b) { - if (!(b instanceof BlockDate)) { - b.setCreativeTab(Atum.creativeTab); - } - GameRegistry.registerBlock(b, b.getUnlocalizedName()); - } + GameRegistry.registerBlock(BLOCK_WALL, ItemBlockWall.class, BLOCK_WALL.getUnlocalizedName()); + } + + private void register(Block b) { + if (!(b instanceof BlockDate)) { + b.setCreativeTab(Atum.creativeTab); + } + GameRegistry.registerBlock(b, b.getUnlocalizedName()); + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtum.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtum.java index 28a8de3..0da73d3 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtum.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtum.java @@ -5,10 +5,10 @@ public class BlockAtum extends Block { - public BlockAtum(String unlocalisedName) { - super(Material.rock); - this.setBlockName(unlocalisedName); - this.setHardness(2.0F); - } + public BlockAtum(String unlocalisedName) { + super(Material.rock); + this.setBlockName(unlocalisedName); + this.setHardness(2.0F); + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumGlass.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumGlass.java index 5f9f1de..8d1ba09 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumGlass.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumGlass.java @@ -10,36 +10,36 @@ public class BlockAtumGlass extends BlockBreakable { - public BlockAtumGlass(String texture) { - super(texture, Material.glass, false); - this.setStepSound(Block.soundTypeGrass); - this.setHardness(0.3F); - } - - @Override - public int quantityDropped(Random rand) { - return 0; - } - - @Override - @SideOnly(Side.CLIENT) - public int getRenderBlockPass() { - return 0; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public boolean renderAsNormalBlock() { - return false; - } - - @Override - protected boolean canSilkHarvest() { - return true; - } + public BlockAtumGlass(String texture) { + super(texture, Material.glass, false); + this.setStepSound(Block.soundTypeGrass); + this.setHardness(0.3F); + } + + @Override + public int quantityDropped(Random rand) { + return 0; + } + + @Override + @SideOnly(Side.CLIENT) + public int getRenderBlockPass() { + return 0; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + protected boolean canSilkHarvest() { + return true; + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumOres.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumOres.java index 6455d6a..a41e7ad 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumOres.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumOres.java @@ -10,58 +10,58 @@ public class BlockAtumOres extends BlockOre { - public BlockAtumOres() { - super(); - this.setHardness(3.0F); - this.setResistance(5.0F); - this.setStepSound(Block.soundTypeStone); - } + public BlockAtumOres() { + super(); + this.setHardness(3.0F); + this.setResistance(5.0F); + this.setStepSound(Block.soundTypeStone); + } - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { - return this == AtumBlocks.BLOCK_COALORE ? Items.coal : (this == AtumBlocks.BLOCK_DIAMONDORE ? Items.diamond : (this == AtumBlocks.BLOCK_LAPISORE ? Items.dye : Item.getItemFromBlock(this))); - } + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return this == AtumBlocks.BLOCK_COALORE ? Items.coal : (this == AtumBlocks.BLOCK_DIAMONDORE ? Items.diamond : (this == AtumBlocks.BLOCK_LAPISORE ? Items.dye : Item.getItemFromBlock(this))); + } - @Override - public int quantityDropped(Random par1Random) { - return this == AtumBlocks.BLOCK_LAPISORE ? 4 + par1Random.nextInt(5) : 1; - } + @Override + public int quantityDropped(Random par1Random) { + return this == AtumBlocks.BLOCK_LAPISORE ? 4 + par1Random.nextInt(5) : 1; + } - @Override - public int quantityDroppedWithBonus(int par1, Random par2Random) { - if (par1 > 0 && Item.getItemFromBlock(this) != this.getItemDropped(0, par2Random, par1)) { - int j = par2Random.nextInt(par1 + 2) - 1; - if (j < 0) { - j = 0; - } + @Override + public int quantityDroppedWithBonus(int par1, Random par2Random) { + if (par1 > 0 && Item.getItemFromBlock(this) != this.getItemDropped(0, par2Random, par1)) { + int j = par2Random.nextInt(par1 + 2) - 1; + if (j < 0) { + j = 0; + } - return this.quantityDropped(par2Random) * (j + 1); - } else { - return this.quantityDropped(par2Random); - } - } + return this.quantityDropped(par2Random) * (j + 1); + } else { + return this.quantityDropped(par2Random); + } + } - @Override - public void dropBlockAsItemWithChance(net.minecraft.world.World par1World, int par2, int par3, int par4, int par5, float par6, int par7) { - super.dropBlockAsItemWithChance(par1World, par2, par3, par4, par5, par6, par7); + @Override + public void dropBlockAsItemWithChance(net.minecraft.world.World par1World, int par2, int par3, int par4, int par5, float par6, int par7) { + super.dropBlockAsItemWithChance(par1World, par2, par3, par4, par5, par6, par7); - if (this.getItemDropped(par5, par1World.rand, par7) != Item.getItemFromBlock(this)) { - int j1 = 0; - if (this == AtumBlocks.BLOCK_COALORE) { - j1 = MathHelper.getRandomIntegerInRange(par1World.rand, 0, 2); - } else if (this == AtumBlocks.BLOCK_DIAMONDORE) { - j1 = MathHelper.getRandomIntegerInRange(par1World.rand, 3, 7); - } else if (this == AtumBlocks.BLOCK_LAPISORE) { - j1 = MathHelper.getRandomIntegerInRange(par1World.rand, 2, 5); - } + if (this.getItemDropped(par5, par1World.rand, par7) != Item.getItemFromBlock(this)) { + int j1 = 0; + if (this == AtumBlocks.BLOCK_COALORE) { + j1 = MathHelper.getRandomIntegerInRange(par1World.rand, 0, 2); + } else if (this == AtumBlocks.BLOCK_DIAMONDORE) { + j1 = MathHelper.getRandomIntegerInRange(par1World.rand, 3, 7); + } else if (this == AtumBlocks.BLOCK_LAPISORE) { + j1 = MathHelper.getRandomIntegerInRange(par1World.rand, 2, 5); + } - this.dropXpOnBlockBreak(par1World, par2, par3, par4, j1); - } + this.dropXpOnBlockBreak(par1World, par2, par3, par4, j1); + } - } + } - @Override - public int damageDropped(int par1) { - return this == AtumBlocks.BLOCK_LAPISORE ? 4 : 0; - } + @Override + public int damageDropped(int par1) { + return this == AtumBlocks.BLOCK_LAPISORE ? 4 : 0; + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPane.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPane.java index 73e8a31..6850bec 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPane.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPane.java @@ -6,10 +6,10 @@ public class BlockAtumPane extends BlockPane { - protected BlockAtumPane(String par2Str, String par3Str) { - super(par2Str, par3Str, Material.glass, false); - this.setHardness(0.3F); - this.setStepSound(Block.soundTypeGrass); - } + protected BlockAtumPane(String par2Str, String par3Str) { + super(par2Str, par3Str, Material.glass, false); + this.setHardness(0.3F); + this.setStepSound(Block.soundTypeGrass); + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPlank.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPlank.java index 81a64f4..e86f60e 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPlank.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPlank.java @@ -5,13 +5,13 @@ public class BlockAtumPlank extends Block { - protected BlockAtumPlank() { - super(Material.wood); - this.setBlockName("palmPlanks"); - this.setHardness(2.0F); - this.setResistance(5.0F); - this.setStepSound(Block.soundTypeWood); - this.setBlockTextureName("atum:Planks"); - } + protected BlockAtumPlank() { + super(Material.wood); + this.setBlockName("palmPlanks"); + this.setHardness(2.0F); + this.setResistance(5.0F); + this.setStepSound(Block.soundTypeWood); + this.setBlockTextureName("atum:Planks"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java index 41e7d6d..8cbb0fa 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java @@ -15,104 +15,104 @@ public class BlockAtumRedstone extends Block { - public BlockAtumRedstone() { - super(Material.rock); - this.setBlockName("redstoneOre"); - this.setBlockTextureName("atum:AtumRedstone"); - } - - @Override - public int getLightValue(IBlockAccess world, int x, int y, int z) { - return world.getBlockMetadata(x, y, z) == 1 ? 9 : 0; - } - - @Override - public void onBlockClicked(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer) { - this.glow(par1World, par2, par3, par4); - super.onBlockClicked(par1World, par2, par3, par4, par5EntityPlayer); - } - - @Override - public void onEntityWalking(World par1World, int par2, int par3, int par4, Entity par5Entity) { - this.glow(par1World, par2, par3, par4); - super.onEntityWalking(par1World, par2, par3, par4, par5Entity); - } - - @Override - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { - this.glow(par1World, par2, par3, par4); - return super.onBlockActivated(par1World, par2, par3, par4, par5EntityPlayer, par6, par7, par8, par9); - } - - private void glow(World par1World, int par2, int par3, int par4) { - this.sparkle(par1World, par2, par3, par4); - Block meta = par1World.getBlock(par2, par3, par4); - if (meta != Blocks.stone) { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 1, 2); - } - - } - - @Override - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { - int meta = par1World.getBlockMetadata(par2, par3, par4); - if (meta == 1) { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 2); - } - - } - - @Override - @SideOnly(Side.CLIENT) - public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { - int meta = par1World.getBlockMetadata(par2, par3, par4); - if (meta == 1) { - this.sparkle(par1World, par2, par3, par4); - } - - } - - private void sparkle(World par1World, int par2, int par3, int par4) { - Random random = par1World.rand; - double d0 = 0.0625D; - - for (int l = 0; l < 6; ++l) { - double d1 = (double) ((float) par2 + random.nextFloat()); - double d2 = (double) ((float) par3 + random.nextFloat()); - double d3 = (double) ((float) par4 + random.nextFloat()); - if (l == 0 && !par1World.getBlock(par2, par3 + 1, par4).isOpaqueCube()) { - d2 = (double) (par3 + 1) + d0; - } - - if (l == 1 && !par1World.getBlock(par2, par3 - 1, par4).isOpaqueCube()) { - d2 = (double) (par3 + 0) - d0; - } - - if (l == 2 && !par1World.getBlock(par2, par3, par4 + 1).isOpaqueCube()) { - d3 = (double) (par4 + 1) + d0; - } - - if (l == 3 && !par1World.getBlock(par2, par3, par4 - 1).isOpaqueCube()) { - d3 = (double) (par4 + 0) - d0; - } - - if (l == 4 && !par1World.getBlock(par2 + 1, par3, par4).isOpaqueCube()) { - d1 = (double) (par2 + 1) + d0; - } - - if (l == 5 && !par1World.getBlock(par2 - 1, par3, par4).isOpaqueCube()) { - d1 = (double) (par2 + 0) - d0; - } - - if (d1 < (double) par2 || d1 > (double) (par2 + 1) || d2 < 0.0D || d2 > (double) (par3 + 1) || d3 < (double) par4 || d3 > (double) (par4 + 1)) { - par1World.spawnParticle("reddust", d1, d2, d3, 0.0D, 0.0D, 0.0D); - } - } - - } - - @Override - protected ItemStack createStackedBlock(int par1) { - return new ItemStack(AtumBlocks.BLOCK_REDSTONEORE); - } + public BlockAtumRedstone() { + super(Material.rock); + this.setBlockName("redstoneOre"); + this.setBlockTextureName("atum:AtumRedstone"); + } + + @Override + public int getLightValue(IBlockAccess world, int x, int y, int z) { + return world.getBlockMetadata(x, y, z) == 1 ? 9 : 0; + } + + @Override + public void onBlockClicked(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer) { + this.glow(par1World, par2, par3, par4); + super.onBlockClicked(par1World, par2, par3, par4, par5EntityPlayer); + } + + @Override + public void onEntityWalking(World par1World, int par2, int par3, int par4, Entity par5Entity) { + this.glow(par1World, par2, par3, par4); + super.onEntityWalking(par1World, par2, par3, par4, par5Entity); + } + + @Override + public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { + this.glow(par1World, par2, par3, par4); + return super.onBlockActivated(par1World, par2, par3, par4, par5EntityPlayer, par6, par7, par8, par9); + } + + private void glow(World par1World, int par2, int par3, int par4) { + this.sparkle(par1World, par2, par3, par4); + Block meta = par1World.getBlock(par2, par3, par4); + if (meta != Blocks.stone) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 1, 2); + } + + } + + @Override + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + int meta = par1World.getBlockMetadata(par2, par3, par4); + if (meta == 1) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 2); + } + + } + + @Override + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { + int meta = par1World.getBlockMetadata(par2, par3, par4); + if (meta == 1) { + this.sparkle(par1World, par2, par3, par4); + } + + } + + private void sparkle(World par1World, int par2, int par3, int par4) { + Random random = par1World.rand; + double d0 = 0.0625D; + + for (int l = 0; l < 6; ++l) { + double d1 = (double) ((float) par2 + random.nextFloat()); + double d2 = (double) ((float) par3 + random.nextFloat()); + double d3 = (double) ((float) par4 + random.nextFloat()); + if (l == 0 && !par1World.getBlock(par2, par3 + 1, par4).isOpaqueCube()) { + d2 = (double) (par3 + 1) + d0; + } + + if (l == 1 && !par1World.getBlock(par2, par3 - 1, par4).isOpaqueCube()) { + d2 = (double) (par3 + 0) - d0; + } + + if (l == 2 && !par1World.getBlock(par2, par3, par4 + 1).isOpaqueCube()) { + d3 = (double) (par4 + 1) + d0; + } + + if (l == 3 && !par1World.getBlock(par2, par3, par4 - 1).isOpaqueCube()) { + d3 = (double) (par4 + 0) - d0; + } + + if (l == 4 && !par1World.getBlock(par2 + 1, par3, par4).isOpaqueCube()) { + d1 = (double) (par2 + 1) + d0; + } + + if (l == 5 && !par1World.getBlock(par2 - 1, par3, par4).isOpaqueCube()) { + d1 = (double) (par2 + 0) - d0; + } + + if (d1 < (double) par2 || d1 > (double) (par2 + 1) || d2 < 0.0D || d2 > (double) (par3 + 1) || d3 < (double) par4 || d3 > (double) (par4 + 1)) { + par1World.spawnParticle("reddust", d1, d2, d3, 0.0D, 0.0D, 0.0D); + } + } + + } + + @Override + protected ItemStack createStackedBlock(int par1) { + return new ItemStack(AtumBlocks.BLOCK_REDSTONEORE); + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumSlab.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumSlab.java index db2ab5d..fec3346 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumSlab.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumSlab.java @@ -14,46 +14,46 @@ import java.util.List; public class BlockAtumSlab extends BlockSlab { - public static final String[] slabType = {"smooth", "cracked", "largeBrick", "smallBrick"}; - - public BlockAtumSlab(boolean par2) { - super(par2, Material.rock); - this.setHardness(2.0F); - this.setCreativeTab(Atum.creativeTab); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int par1, int par2) { - par2 %= 4; - if (par2 == 0) - return AtumBlocks.BLOCK_STONE.getIcon(par1, par2 & 0x7); - if (par2 == 1) - return AtumBlocks.BLOCK_LIMESTONECOBBLE.getIcon(par1, par2 & 0x7); - if (par2 == 2) { - return AtumBlocks.BLOCK_LARGEBRICK.getIcon(par1, par2 & 0x7); - } - return AtumBlocks.BLOCK_SMALLBRICK.getIcon(par1, par2 & 0x7); - } - - @Override - protected ItemStack createStackedBlock(int par1) { - return new ItemStack(this, 2, par1 & 0x7); - } - - @Override - @SideOnly(Side.CLIENT) - public void getSubBlocks(Item par1, CreativeTabs tab, List subItems) { - for (int i = 0; i < 4; i++) - subItems.add(new ItemStack(this, 1, i)); - } - - @Override - public String func_150002_b(int var1) { - return this.getUnlocalizedName(); - } - - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister p_149651_1_) { - } + public static final String[] slabType = {"smooth", "cracked", "largeBrick", "smallBrick"}; + + public BlockAtumSlab(boolean par2) { + super(par2, Material.rock); + this.setHardness(2.0F); + this.setCreativeTab(Atum.creativeTab); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int par1, int par2) { + par2 %= 4; + if (par2 == 0) + return AtumBlocks.BLOCK_STONE.getIcon(par1, par2 & 0x7); + if (par2 == 1) + return AtumBlocks.BLOCK_LIMESTONECOBBLE.getIcon(par1, par2 & 0x7); + if (par2 == 2) { + return AtumBlocks.BLOCK_LARGEBRICK.getIcon(par1, par2 & 0x7); + } + return AtumBlocks.BLOCK_SMALLBRICK.getIcon(par1, par2 & 0x7); + } + + @Override + protected ItemStack createStackedBlock(int par1) { + return new ItemStack(this, 2, par1 & 0x7); + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubBlocks(Item par1, CreativeTabs tab, List subItems) { + for (int i = 0; i < 4; i++) + subItems.add(new ItemStack(this, 1, i)); + } + + @Override + public String func_150002_b(int var1) { + return this.getUnlocalizedName(); + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister p_149651_1_) { + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumStairs.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumStairs.java index 1e353fa..ce97dc4 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumStairs.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumStairs.java @@ -5,8 +5,8 @@ public class BlockAtumStairs extends BlockStairs { - protected BlockAtumStairs(Block par2Block, int par3) { - super(par2Block, par3); - } + protected BlockAtumStairs(Block par2Block, int par3) { + super(par2Block, par3); + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockBurningTrap.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockBurningTrap.java index 5a73098..4233a6e 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockBurningTrap.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockBurningTrap.java @@ -24,121 +24,121 @@ public class BlockBurningTrap extends BlockContainer { - public static final IRegistry dispenseBehaviorRegistry = new RegistryDefaulted(new BehaviorDefaultDispenseItem()); - protected Random random = new Random(); - @SideOnly(Side.CLIENT) - protected IIcon fireTrap; - - public BlockBurningTrap() { - super(Material.rock); - this.setBlockName("burningTrap"); - this.setCreativeTab(CreativeTabs.tabRedstone); - this.setHardness(-1.0F); - } - - public static EnumFacing getFacing(int par0) { - return EnumFacing.getFront(par0 & 7); - } - - @Override - public float getBlockHardness(World par1World, int par2, int par3, int par4) { - return par1World.getBlock(par2, par3 + 1, par4) == AtumBlocks.BLOCK_LARGEBRICK && par1World.getBlockMetadata(par2, par3 + 1, par4) == 1 ? -1.0F : super.blockHardness; - } - - @Override - public int tickRate(World par1World) { - return 4; - } - - @Override - public void onBlockAdded(World par1World, int par2, int par3, int par4) { - super.onBlockAdded(par1World, par2, par3, par4); - this.setDispenserDefaultDirection(par1World, par2, par3, par4); - } - - private void setDispenserDefaultDirection(World par1World, int par2, int par3, int par4) { - if (!par1World.isRemote) { - Block l = par1World.getBlock(par2, par3, par4 - 1); - Block i1 = par1World.getBlock(par2, par3, par4 + 1); - Block j1 = par1World.getBlock(par2 - 1, par3, par4); - Block k1 = par1World.getBlock(par2 + 1, par3, par4); - byte b0 = 3; - if (l.isOpaqueCube() && !i1.isOpaqueCube()) { - b0 = 3; - } - - if (i1.isOpaqueCube() && !l.isOpaqueCube()) { - b0 = 2; - } - - if (j1.isOpaqueCube() && !k1.isOpaqueCube()) { - b0 = 5; - } - - if (k1.isOpaqueCube() && !j1.isOpaqueCube()) { - b0 = 4; - } - - par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 2); - } - - } - - @SideOnly(Side.CLIENT) - @Override - public IIcon getIcon(int par1, int par2) { - if (par2 == 0) { - par2 = 3; - } - - int k = par2 & 7; - return par1 == k ? (k != 1 && k != 0 ? this.fireTrap : this.fireTrap) : (k != 1 && k != 0 ? (par1 != 1 && par1 != 0 ? super.blockIcon : this.blockIcon) : this.blockIcon); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister par1IIconRegister) { - this.blockIcon = par1IIconRegister.registerIcon("atum:TrapSide"); - this.fireTrap = par1IIconRegister.registerIcon("atum:TrapFire"); - } - - @Override - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { - if (par1World.isRemote) { - return true; - } else { - TileEntityBurningTrap tileEntityBurningTrap = (TileEntityBurningTrap) par1World.getTileEntity(par2, par3, par4); - if (tileEntityBurningTrap != null) { - ; - } - - return true; - } - } - - @Override - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, Block par5) { - boolean flag = par1World.isBlockIndirectlyGettingPowered(par2, par3, par4) || par1World.isBlockIndirectlyGettingPowered(par2, par3 + 1, par4); - int i1 = par1World.getBlockMetadata(par2, par3, par4); - boolean flag1 = (i1 & 8) != 0; - if (flag && !flag1) { - par1World.scheduleBlockUpdate(par2, par3, par4, this, this.tickRate(par1World)); - par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 | 8, 4); - } else if (!flag && flag1) { - par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 & -9, 4); - } - - } - - @Override - public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLivingBase par5EntityLiving, ItemStack par6ItemStack) { - int l = BlockPistonBase.determineOrientation(par1World, par2, par3, par4, par5EntityLiving); - par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); - } - - @Override - public TileEntity createNewTileEntity(World var1, int var2) { - return new TileEntityBurningTrap(); - } + public static final IRegistry dispenseBehaviorRegistry = new RegistryDefaulted(new BehaviorDefaultDispenseItem()); + protected Random random = new Random(); + @SideOnly(Side.CLIENT) + protected IIcon fireTrap; + + public BlockBurningTrap() { + super(Material.rock); + this.setBlockName("burningTrap"); + this.setCreativeTab(CreativeTabs.tabRedstone); + this.setHardness(-1.0F); + } + + public static EnumFacing getFacing(int par0) { + return EnumFacing.getFront(par0 & 7); + } + + @Override + public float getBlockHardness(World par1World, int par2, int par3, int par4) { + return par1World.getBlock(par2, par3 + 1, par4) == AtumBlocks.BLOCK_LARGEBRICK && par1World.getBlockMetadata(par2, par3 + 1, par4) == 1 ? -1.0F : super.blockHardness; + } + + @Override + public int tickRate(World par1World) { + return 4; + } + + @Override + public void onBlockAdded(World par1World, int par2, int par3, int par4) { + super.onBlockAdded(par1World, par2, par3, par4); + this.setDispenserDefaultDirection(par1World, par2, par3, par4); + } + + private void setDispenserDefaultDirection(World par1World, int par2, int par3, int par4) { + if (!par1World.isRemote) { + Block l = par1World.getBlock(par2, par3, par4 - 1); + Block i1 = par1World.getBlock(par2, par3, par4 + 1); + Block j1 = par1World.getBlock(par2 - 1, par3, par4); + Block k1 = par1World.getBlock(par2 + 1, par3, par4); + byte b0 = 3; + if (l.isOpaqueCube() && !i1.isOpaqueCube()) { + b0 = 3; + } + + if (i1.isOpaqueCube() && !l.isOpaqueCube()) { + b0 = 2; + } + + if (j1.isOpaqueCube() && !k1.isOpaqueCube()) { + b0 = 5; + } + + if (k1.isOpaqueCube() && !j1.isOpaqueCube()) { + b0 = 4; + } + + par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 2); + } + + } + + @SideOnly(Side.CLIENT) + @Override + public IIcon getIcon(int par1, int par2) { + if (par2 == 0) { + par2 = 3; + } + + int k = par2 & 7; + return par1 == k ? (k != 1 && k != 0 ? this.fireTrap : this.fireTrap) : (k != 1 && k != 0 ? (par1 != 1 && par1 != 0 ? super.blockIcon : this.blockIcon) : this.blockIcon); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("atum:TrapSide"); + this.fireTrap = par1IIconRegister.registerIcon("atum:TrapFire"); + } + + @Override + public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { + if (par1World.isRemote) { + return true; + } else { + TileEntityBurningTrap tileEntityBurningTrap = (TileEntityBurningTrap) par1World.getTileEntity(par2, par3, par4); + if (tileEntityBurningTrap != null) { + ; + } + + return true; + } + } + + @Override + public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, Block par5) { + boolean flag = par1World.isBlockIndirectlyGettingPowered(par2, par3, par4) || par1World.isBlockIndirectlyGettingPowered(par2, par3 + 1, par4); + int i1 = par1World.getBlockMetadata(par2, par3, par4); + boolean flag1 = (i1 & 8) != 0; + if (flag && !flag1) { + par1World.scheduleBlockUpdate(par2, par3, par4, this, this.tickRate(par1World)); + par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 | 8, 4); + } else if (!flag && flag1) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 & -9, 4); + } + + } + + @Override + public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLivingBase par5EntityLiving, ItemStack par6ItemStack) { + int l = BlockPistonBase.determineOrientation(par1World, par2, par3, par4, par5EntityLiving); + par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); + } + + @Override + public TileEntity createNewTileEntity(World var1, int var2) { + return new TileEntityBurningTrap(); + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java index 050a513..702e90f 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockChestSpawner.java @@ -27,168 +27,168 @@ public class BlockChestSpawner extends BlockContainer { - protected BlockChestSpawner() { - super(Material.wood); - this.setBlockName("chestSpawner"); - this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); - } - - public static boolean isOcelotBlockingChest(World par0World, int par1, int par2, int par3) { - Iterator iterator = par0World.getEntitiesWithinAABB(EntityOcelot.class, AxisAlignedBB.getBoundingBox((double) par1, (double) (par2 + 1), (double) par3, (double) (par1 + 1), (double) (par2 + 2), (double) (par3 + 1))).iterator(); - - while (iterator.hasNext()) { - EntityOcelot entityocelot1 = (EntityOcelot) iterator.next(); - if (entityocelot1.isSitting()) { - return true; - } - } - - return false; - } - - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { - return Item.getItemFromBlock(Blocks.chest); - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public boolean renderAsNormalBlock() { - return false; - } - - @Override - public int getRenderType() { - return 22; - } - - @Override - public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { - this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); - } - - @Override - public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLivingBase par5EntityLiving, ItemStack par6ItemStack) { - Block l = par1World.getBlock(par2, par3, par4 - 1); - Block i1 = par1World.getBlock(par2, par3, par4 + 1); - Block j1 = par1World.getBlock(par2 - 1, par3, par4); - Block k1 = par1World.getBlock(par2 + 1, par3, par4); - byte b0 = 0; - int l1 = MathHelper.floor_double((double) (par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; - if (l1 == 0) { - b0 = 2; - } - - if (l1 == 1) { - b0 = 5; - } - - if (l1 == 2) { - b0 = 3; - } - - if (l1 == 3) { - b0 = 4; - } - - if (l != this && i1 != this && j1 != this && k1 != this) { - par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); - } else { - if ((l == this || i1 == this) && (b0 == 4 || b0 == 5)) { - if (l == this) { - par1World.setBlockMetadataWithNotify(par2, par3, par4 - 1, b0, 3); - } else { - par1World.setBlockMetadataWithNotify(par2, par3, par4 + 1, b0, 3); - } - - par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); - } - - if ((j1 == this || k1 == this) && (b0 == 2 || b0 == 3)) { - if (j1 == this) { - par1World.setBlockMetadataWithNotify(par2 - 1, par3, par4, b0, 3); - } else { - par1World.setBlockMetadataWithNotify(par2 + 1, par3, par4, b0, 3); - } - - par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); - } - } - - if (par6ItemStack.hasDisplayName()) { - ((TileEntityChestSpawner) par1World.getTileEntity(par2, par3, par4)).func_145976_a(par6ItemStack.getDisplayName()); - } - - } - - @Override - public void breakBlock(World par1World, int par2, int par3, int par4, Block par5, int par6) { - par1World.func_147453_f(par2, par3, par4, par5); - super.breakBlock(par1World, par2, par3, par4, par5, par6); - } - - @Override - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { - if (par1World.isRemote) { - return true; - } else { - IInventory iinventory = this.getInventory(par1World, par2, par3, par4); - if (iinventory != null) { - par5EntityPlayer.displayGUIChest(iinventory); - } - - return true; - } - } - - public IInventory getInventory(World par1World, int par2, int par3, int par4) { - TileEntityChestSpawner object = (TileEntityChestSpawner) par1World.getTileEntity(par2, par3, par4); - return object == null ? null : (par1World.isSideSolid(par2, par3 + 1, par4, ForgeDirection.DOWN) ? null : (isOcelotBlockingChest(par1World, par2, par3, par4) ? null : (IInventory) object)); - } - - @Override - public TileEntity createNewTileEntity(World par1World, int par2) { - TileEntityChestSpawner tileEntityChestSpawner = new TileEntityChestSpawner(); - return tileEntityChestSpawner; - } - - @Override - public boolean canProvidePower() { - return true; - } - - @Override - public int isProvidingWeakPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { - if (!this.canProvidePower()) { - return 0; - } else { - int i1 = ((TileEntityChestSpawner) par1IBlockAccess.getTileEntity(par2, par3, par4)).numPlayersUsing; - return MathHelper.clamp_int(i1, 0, 15); - } - } - - @Override - public int isProvidingStrongPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { - return par5 == 1 ? this.isProvidingWeakPower(par1IBlockAccess, par2, par3, par4, par5) : 0; - } - - @Override - public boolean hasComparatorInputOverride() { - return true; - } - - @Override - public int getComparatorInputOverride(World par1World, int par2, int par3, int par4, int par5) { - return Container.calcRedstoneFromInventory(this.getInventory(par1World, par2, par3, par4)); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister par1IIconRegister) { - this.blockIcon = par1IIconRegister.registerIcon("log_oak"); - } + protected BlockChestSpawner() { + super(Material.wood); + this.setBlockName("chestSpawner"); + this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); + } + + public static boolean isOcelotBlockingChest(World par0World, int par1, int par2, int par3) { + Iterator iterator = par0World.getEntitiesWithinAABB(EntityOcelot.class, AxisAlignedBB.getBoundingBox((double) par1, (double) (par2 + 1), (double) par3, (double) (par1 + 1), (double) (par2 + 2), (double) (par3 + 1))).iterator(); + + while (iterator.hasNext()) { + EntityOcelot entityocelot1 = (EntityOcelot) iterator.next(); + if (entityocelot1.isSitting()) { + return true; + } + } + + return false; + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return Item.getItemFromBlock(Blocks.chest); + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + public int getRenderType() { + return 22; + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { + this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); + } + + @Override + public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLivingBase par5EntityLiving, ItemStack par6ItemStack) { + Block l = par1World.getBlock(par2, par3, par4 - 1); + Block i1 = par1World.getBlock(par2, par3, par4 + 1); + Block j1 = par1World.getBlock(par2 - 1, par3, par4); + Block k1 = par1World.getBlock(par2 + 1, par3, par4); + byte b0 = 0; + int l1 = MathHelper.floor_double((double) (par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + if (l1 == 0) { + b0 = 2; + } + + if (l1 == 1) { + b0 = 5; + } + + if (l1 == 2) { + b0 = 3; + } + + if (l1 == 3) { + b0 = 4; + } + + if (l != this && i1 != this && j1 != this && k1 != this) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); + } else { + if ((l == this || i1 == this) && (b0 == 4 || b0 == 5)) { + if (l == this) { + par1World.setBlockMetadataWithNotify(par2, par3, par4 - 1, b0, 3); + } else { + par1World.setBlockMetadataWithNotify(par2, par3, par4 + 1, b0, 3); + } + + par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); + } + + if ((j1 == this || k1 == this) && (b0 == 2 || b0 == 3)) { + if (j1 == this) { + par1World.setBlockMetadataWithNotify(par2 - 1, par3, par4, b0, 3); + } else { + par1World.setBlockMetadataWithNotify(par2 + 1, par3, par4, b0, 3); + } + + par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); + } + } + + if (par6ItemStack.hasDisplayName()) { + ((TileEntityChestSpawner) par1World.getTileEntity(par2, par3, par4)).func_145976_a(par6ItemStack.getDisplayName()); + } + + } + + @Override + public void breakBlock(World par1World, int par2, int par3, int par4, Block par5, int par6) { + par1World.func_147453_f(par2, par3, par4, par5); + super.breakBlock(par1World, par2, par3, par4, par5, par6); + } + + @Override + public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { + if (par1World.isRemote) { + return true; + } else { + IInventory iinventory = this.getInventory(par1World, par2, par3, par4); + if (iinventory != null) { + par5EntityPlayer.displayGUIChest(iinventory); + } + + return true; + } + } + + public IInventory getInventory(World par1World, int par2, int par3, int par4) { + TileEntityChestSpawner object = (TileEntityChestSpawner) par1World.getTileEntity(par2, par3, par4); + return object == null ? null : (par1World.isSideSolid(par2, par3 + 1, par4, ForgeDirection.DOWN) ? null : (isOcelotBlockingChest(par1World, par2, par3, par4) ? null : (IInventory) object)); + } + + @Override + public TileEntity createNewTileEntity(World par1World, int par2) { + TileEntityChestSpawner tileEntityChestSpawner = new TileEntityChestSpawner(); + return tileEntityChestSpawner; + } + + @Override + public boolean canProvidePower() { + return true; + } + + @Override + public int isProvidingWeakPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + if (!this.canProvidePower()) { + return 0; + } else { + int i1 = ((TileEntityChestSpawner) par1IBlockAccess.getTileEntity(par2, par3, par4)).numPlayersUsing; + return MathHelper.clamp_int(i1, 0, 15); + } + } + + @Override + public int isProvidingStrongPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + return par5 == 1 ? this.isProvidingWeakPower(par1IBlockAccess, par2, par3, par4, par5) : 0; + } + + @Override + public boolean hasComparatorInputOverride() { + return true; + } + + @Override + public int getComparatorInputOverride(World par1World, int par2, int par3, int par4, int par5) { + return Container.calcRedstoneFromInventory(this.getInventory(par1World, par2, par3, par4)); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("log_oak"); + } } \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java index 425da28..3c46257 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java @@ -17,53 +17,53 @@ public class BlockDate extends Block { - public int renderID = RenderingRegistry.getNextAvailableRenderId(); + public int renderID = RenderingRegistry.getNextAvailableRenderId(); - public BlockDate() { - super(Material.plants); - this.setBlockName("date"); - } + public BlockDate() { + super(Material.plants); + this.setBlockName("date"); + } - @Override - public boolean isOpaqueCube() { - return false; - } + @Override + public boolean isOpaqueCube() { + return false; + } - @Override - public boolean renderAsNormalBlock() { - return false; - } + @Override + public boolean renderAsNormalBlock() { + return false; + } - @Override - public int getRenderType() { - return renderID; - } + @Override + public int getRenderType() { + return renderID; + } - @Override - public void onNeighborBlockChange(World world, int x, int y, int z, Block p_149695_5_) { - if (world.getBlock(x, y + 1, z) != AtumBlocks.BLOCK_LEAVES && !world.isRemote) { - EntityItem entityItem = new EntityItem(world, (double) x, (double) y, (double) z, new ItemStack(AtumItems.ITEM_DATE, 0, this.quantityDropped(new Random()))); - entityItem.dropItem(AtumItems.ITEM_DATE, this.quantityDropped(new Random())); - world.setBlockToAir(x, y, z); - } - } + @Override + public void onNeighborBlockChange(World world, int x, int y, int z, Block p_149695_5_) { + if (world.getBlock(x, y + 1, z) != AtumBlocks.BLOCK_LEAVES && !world.isRemote) { + EntityItem entityItem = new EntityItem(world, (double) x, (double) y, (double) z, new ItemStack(AtumItems.ITEM_DATE, 0, this.quantityDropped(new Random()))); + entityItem.dropItem(AtumItems.ITEM_DATE, this.quantityDropped(new Random())); + world.setBlockToAir(x, y, z); + } + } - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { - return AtumItems.ITEM_DATE; - } + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return AtumItems.ITEM_DATE; + } - @Override - public int quantityDropped(Random rand) { - return rand.nextInt(3) + 1; - } + @Override + public int quantityDropped(Random rand) { + return rand.nextInt(3) + 1; + } - @Override - public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) { - return new ItemStack(AtumItems.ITEM_DATE); - } + @Override + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) { + return new ItemStack(AtumItems.ITEM_DATE); + } - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister p_149651_1_) { - } + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister p_149651_1_) { + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java index 884609b..87f1dc2 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java @@ -19,114 +19,114 @@ import java.util.Random; public class BlockFertileSoil extends BlockFarmland { - @SideOnly(Side.CLIENT) - private IIcon iconGrassTop; - - @SideOnly(Side.CLIENT) - private IIcon iconGrassSideOverlay; - - @SideOnly(Side.CLIENT) - private IIcon iconDirt; - - public BlockFertileSoil() { - super(); - this.setBlockName("fertileSoil"); - this.setHardness(0.5F); - this.setStepSound(Block.soundTypeGrass); - setTickRandomly(true); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int par1, int par2) { - if (par2 == 1) { - return this.iconDirt; - } - return par1 == 0 ? Blocks.dirt.getBlockTextureFromSide(par1) : par1 == 1 ? this.iconGrassTop : this.blockIcon; - } - - @Override - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if (!par1World.isRemote) { - if ((par1World.getBlockLightValue(par2, par3 + 1, par4) < 4) && (par1World.getBlockLightOpacity(par2, par3 + 1, par4) > 2)) { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 1, 2); - } else if (par1World.getBlockLightValue(par2, par3 + 1, par4) >= 9) { - for (int l = 0; l < 4; l++) { - int i1 = par2 + par5Random.nextInt(3) - 1; - int j1 = par3 + par5Random.nextInt(5) - 3; - int k1 = par4 + par5Random.nextInt(3) - 1; - Block l1 = par1World.getBlock(i1, j1 + 1, k1); - - if ((par1World.getBlock(i1, j1, k1) == this) && (par1World.getBlockMetadata(i1, j1, k1) == 1) && (par1World.getBlockLightValue(i1, j1 + 1, k1) >= 4) && (par1World.getBlockLightOpacity(i1, j1 + 1, k1) <= 2)) { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 2); - } - } - } - } - } - - @Override - public boolean canSustainPlant(IBlockAccess world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { - EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); - - if ((plant instanceof BlockFlower)) { - return true; - } - - switch (plantType.ordinal()) { - case 1: - return false; - case 2: - return false; - case 3: - return false; - case 4: - return isSideSolid(world, x, y, z, ForgeDirection.UP); - case 5: - return true; - case 6: - return false; - case 7: - boolean hasWater = (world.getBlock(x - 1, y, z).getMaterial() == Material.water) || (world.getBlock(x + 1, y, z).getMaterial() == Material.water) || (world.getBlock(x, y, z - 1).getMaterial() == Material.water) || (world.getBlock(x, y, z + 1).getMaterial() == Material.water); - - return hasWater; - } - - return false; - } - - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { - return Item.getItemFromBlock(AtumBlocks.BLOCK_SAND); - } - - @Override - public IIcon getIcon(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { - if (par1IBlockAccess.getBlockMetadata(par2, par3, par4) == 1) { - return this.iconDirt; - } - - if (par5 == 1) { - return this.iconGrassTop; - } - if (par5 == 0) { - return AtumBlocks.BLOCK_SAND.getBlockTextureFromSide(par5); - } - - return this.blockIcon; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister par1IIconRegister) { - this.blockIcon = par1IIconRegister.registerIcon("atum:FertileSoilSide"); - this.iconDirt = par1IIconRegister.registerIcon("atum:FertileSoil"); - this.iconGrassTop = par1IIconRegister.registerIcon("atum:FertileSoilTop"); - this.iconGrassSideOverlay = par1IIconRegister.registerIcon("grass_side_overlay"); - } - - @SideOnly(Side.CLIENT) - public IIcon getIconSideOverlay() { - return this.iconGrassSideOverlay; - } + @SideOnly(Side.CLIENT) + private IIcon iconGrassTop; + + @SideOnly(Side.CLIENT) + private IIcon iconGrassSideOverlay; + + @SideOnly(Side.CLIENT) + private IIcon iconDirt; + + public BlockFertileSoil() { + super(); + this.setBlockName("fertileSoil"); + this.setHardness(0.5F); + this.setStepSound(Block.soundTypeGrass); + setTickRandomly(true); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int par1, int par2) { + if (par2 == 1) { + return this.iconDirt; + } + return par1 == 0 ? Blocks.dirt.getBlockTextureFromSide(par1) : par1 == 1 ? this.iconGrassTop : this.blockIcon; + } + + @Override + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + if (!par1World.isRemote) { + if ((par1World.getBlockLightValue(par2, par3 + 1, par4) < 4) && (par1World.getBlockLightOpacity(par2, par3 + 1, par4) > 2)) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 1, 2); + } else if (par1World.getBlockLightValue(par2, par3 + 1, par4) >= 9) { + for (int l = 0; l < 4; l++) { + int i1 = par2 + par5Random.nextInt(3) - 1; + int j1 = par3 + par5Random.nextInt(5) - 3; + int k1 = par4 + par5Random.nextInt(3) - 1; + Block l1 = par1World.getBlock(i1, j1 + 1, k1); + + if ((par1World.getBlock(i1, j1, k1) == this) && (par1World.getBlockMetadata(i1, j1, k1) == 1) && (par1World.getBlockLightValue(i1, j1 + 1, k1) >= 4) && (par1World.getBlockLightOpacity(i1, j1 + 1, k1) <= 2)) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 2); + } + } + } + } + } + + @Override + public boolean canSustainPlant(IBlockAccess world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { + EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); + + if ((plant instanceof BlockFlower)) { + return true; + } + + switch (plantType.ordinal()) { + case 1: + return false; + case 2: + return false; + case 3: + return false; + case 4: + return isSideSolid(world, x, y, z, ForgeDirection.UP); + case 5: + return true; + case 6: + return false; + case 7: + boolean hasWater = (world.getBlock(x - 1, y, z).getMaterial() == Material.water) || (world.getBlock(x + 1, y, z).getMaterial() == Material.water) || (world.getBlock(x, y, z - 1).getMaterial() == Material.water) || (world.getBlock(x, y, z + 1).getMaterial() == Material.water); + + return hasWater; + } + + return false; + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return Item.getItemFromBlock(AtumBlocks.BLOCK_SAND); + } + + @Override + public IIcon getIcon(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + if (par1IBlockAccess.getBlockMetadata(par2, par3, par4) == 1) { + return this.iconDirt; + } + + if (par5 == 1) { + return this.iconGrassTop; + } + if (par5 == 0) { + return AtumBlocks.BLOCK_SAND.getBlockTextureFromSide(par5); + } + + return this.blockIcon; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("atum:FertileSoilSide"); + this.iconDirt = par1IIconRegister.registerIcon("atum:FertileSoil"); + this.iconGrassTop = par1IIconRegister.registerIcon("atum:FertileSoilTop"); + this.iconGrassSideOverlay = par1IIconRegister.registerIcon("grass_side_overlay"); + } + + @SideOnly(Side.CLIENT) + public IIcon getIconSideOverlay() { + return this.iconGrassSideOverlay; + } } \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java index 654cdc6..7533918 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoilTilled.java @@ -22,159 +22,159 @@ import java.util.Random; public class BlockFertileSoilTilled extends Block { - @SideOnly(Side.CLIENT) - private IIcon farmlandWet; - @SideOnly(Side.CLIENT) - private IIcon farmlandDry; - - public BlockFertileSoilTilled() { - super(Material.ground); - this.setHardness(0.5F); - this.setBlockName("fertileSoilTilled"); - this.setTickRandomly(true); - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.9375F, 1.0F); - this.setLightOpacity(255); - } - - @Override - @SideOnly(Side.CLIENT) - public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { - int enchanted = (par1World.getBlockMetadata(par2, par3, par4) & 4 & 4) >> 2; - if (enchanted == 1 && par5Random.nextDouble() > 0.6D) { - double d0 = par5Random.nextGaussian() * 0.02D; - double d1 = par5Random.nextGaussian() * 0.02D; - double d2 = par5Random.nextGaussian() * 0.02D; - par1World.spawnParticle("happyVillager", (double) ((float) par2 + par5Random.nextFloat()), (double) par3 + (double) par5Random.nextFloat() * this.getBlockBoundsMaxY() * 0.4D + 1.0D, (double) ((float) par4 + par5Random.nextFloat()), d0, d1, d2); - } - - } - - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { - return AxisAlignedBB.getBoundingBox((double) (par2 + 0), (double) (par3 + 0), (double) (par4 + 0), (double) (par2 + 1), (double) (par3 + 1), (double) (par4 + 1)); - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public boolean renderAsNormalBlock() { - return false; - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int par1, int par2) { - return par2 >> 3 == 0 ? (par1 == 1 ? (par2 > 0 ? this.farmlandWet : this.farmlandDry) : AtumBlocks.BLOCK_FERTILESOIL.getIcon(par1, 1)) : Blocks.farmland.getIcon(par1, par2); - } - - @Override - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { - int meta = par1World.getBlockMetadata(par2, par3, par4); - if (!this.isWaterNearby(par1World, par2, par3, par4) && !par1World.canLightningStrikeAt(par2, par3 + 1, par4)) { - if ((meta & 3) > 0 && Math.random() > 0.5D) { - par1World.setBlockMetadataWithNotify(par2, par3, par4, meta - 1, 2); - } else if (!this.isCropsNearby(par1World, par2, par3, par4)) { - this.revertToDirt(par1World, par2, par3, par4); - } - } else { - par1World.setBlockMetadataWithNotify(par2, par3, par4, meta | 3, 2); - } - - Block block = par1World.getBlock(par2, par3 + 1, par4); - if (block != null) { - for (int i = 0; i < 2; ++i) { - block.updateTick(par1World, par2, par3 + 1, par4, par5Random); - } - } - - } - - @Override - public void onFallenUpon(World par1World, int par2, int par3, int par4, Entity par5Entity, float par6) { - if (!par1World.isRemote && par1World.rand.nextFloat() < par6 - 0.5F) { - if (!(par5Entity instanceof EntityPlayer) && !par1World.getGameRules().getGameRuleBooleanValue("mobGriefing")) { - return; - } - - this.revertToDirt(par1World, par2, par3, par4); - } - - } - - private boolean isCropsNearby(World par1World, int par2, int par3, int par4) { - byte b0 = 0; - - for (int l = par2 - b0; l <= par2 + b0; ++l) { - for (int i1 = par4 - b0; i1 <= par4 + b0; ++i1) { - Block j1 = par1World.getBlock(l, par3 + 1, i1); - if (j1 instanceof IPlantable && this.canSustainPlant(par1World, par2, par3, par4, ForgeDirection.UP, (IPlantable) j1)) { - return true; - } - } - } - - return false; - } - - private boolean isWaterNearby(World par1World, int par2, int par3, int par4) { - for (int l = par2 - 4; l <= par2 + 4; ++l) { - for (int i1 = par3; i1 <= par3 + 1; ++i1) { - for (int j1 = par4 - 4; j1 <= par4 + 4; ++j1) { - if (par1World.getBlock(l, i1, j1).getMaterial() == Material.water) { - return true; - } - } - } - } - - return false; - } - - @Override - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, Block par5) { - super.onNeighborBlockChange(par1World, par2, par3, par4, par5); - Material material = par1World.getBlock(par2, par3 + 1, par4).getMaterial(); - if (material.isSolid()) { - this.revertToDirt(par1World, par2, par3, par4); - } - - } - - @Override - public boolean canSustainPlant(IBlockAccess world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { - EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); - return plantType == EnumPlantType.Crop; - } - - @Override - public Item getItemDropped(int par1, Random p_149650_2_, int p_149650_3_) { - return par1 >> 3 == 0 ? Item.getItemFromBlock(AtumBlocks.BLOCK_SAND) : Item.getItemFromBlock(Blocks.dirt); - } - - public void revertToDirt(World world, int x, int y, int z) { - int type = world.getBlockMetadata(x, y, z) >> 3; - if (type == 0) { - world.setBlock(x, y, z, AtumBlocks.BLOCK_FERTILESOIL); - world.setBlockMetadataWithNotify(x, y, z, 1, 2); - } else { - world.setBlock(x, y, z, Blocks.dirt); - } - - } - - @Override - public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) { - int type = world.getBlockMetadata(x, y, z) >> 3; - return type == 0 ? new ItemStack(AtumBlocks.BLOCK_SAND) : new ItemStack(Blocks.dirt); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister par1IIconRegister) { - this.farmlandWet = par1IIconRegister.registerIcon("farmland_wet"); - this.farmlandDry = par1IIconRegister.registerIcon("farmland_dry"); - } + @SideOnly(Side.CLIENT) + private IIcon farmlandWet; + @SideOnly(Side.CLIENT) + private IIcon farmlandDry; + + public BlockFertileSoilTilled() { + super(Material.ground); + this.setHardness(0.5F); + this.setBlockName("fertileSoilTilled"); + this.setTickRandomly(true); + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.9375F, 1.0F); + this.setLightOpacity(255); + } + + @Override + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { + int enchanted = (par1World.getBlockMetadata(par2, par3, par4) & 4 & 4) >> 2; + if (enchanted == 1 && par5Random.nextDouble() > 0.6D) { + double d0 = par5Random.nextGaussian() * 0.02D; + double d1 = par5Random.nextGaussian() * 0.02D; + double d2 = par5Random.nextGaussian() * 0.02D; + par1World.spawnParticle("happyVillager", (double) ((float) par2 + par5Random.nextFloat()), (double) par3 + (double) par5Random.nextFloat() * this.getBlockBoundsMaxY() * 0.4D + 1.0D, (double) ((float) par4 + par5Random.nextFloat()), d0, d1, d2); + } + + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { + return AxisAlignedBB.getBoundingBox((double) (par2 + 0), (double) (par3 + 0), (double) (par4 + 0), (double) (par2 + 1), (double) (par3 + 1), (double) (par4 + 1)); + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int par1, int par2) { + return par2 >> 3 == 0 ? (par1 == 1 ? (par2 > 0 ? this.farmlandWet : this.farmlandDry) : AtumBlocks.BLOCK_FERTILESOIL.getIcon(par1, 1)) : Blocks.farmland.getIcon(par1, par2); + } + + @Override + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + int meta = par1World.getBlockMetadata(par2, par3, par4); + if (!this.isWaterNearby(par1World, par2, par3, par4) && !par1World.canLightningStrikeAt(par2, par3 + 1, par4)) { + if ((meta & 3) > 0 && Math.random() > 0.5D) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, meta - 1, 2); + } else if (!this.isCropsNearby(par1World, par2, par3, par4)) { + this.revertToDirt(par1World, par2, par3, par4); + } + } else { + par1World.setBlockMetadataWithNotify(par2, par3, par4, meta | 3, 2); + } + + Block block = par1World.getBlock(par2, par3 + 1, par4); + if (block != null) { + for (int i = 0; i < 2; ++i) { + block.updateTick(par1World, par2, par3 + 1, par4, par5Random); + } + } + + } + + @Override + public void onFallenUpon(World par1World, int par2, int par3, int par4, Entity par5Entity, float par6) { + if (!par1World.isRemote && par1World.rand.nextFloat() < par6 - 0.5F) { + if (!(par5Entity instanceof EntityPlayer) && !par1World.getGameRules().getGameRuleBooleanValue("mobGriefing")) { + return; + } + + this.revertToDirt(par1World, par2, par3, par4); + } + + } + + private boolean isCropsNearby(World par1World, int par2, int par3, int par4) { + byte b0 = 0; + + for (int l = par2 - b0; l <= par2 + b0; ++l) { + for (int i1 = par4 - b0; i1 <= par4 + b0; ++i1) { + Block j1 = par1World.getBlock(l, par3 + 1, i1); + if (j1 instanceof IPlantable && this.canSustainPlant(par1World, par2, par3, par4, ForgeDirection.UP, (IPlantable) j1)) { + return true; + } + } + } + + return false; + } + + private boolean isWaterNearby(World par1World, int par2, int par3, int par4) { + for (int l = par2 - 4; l <= par2 + 4; ++l) { + for (int i1 = par3; i1 <= par3 + 1; ++i1) { + for (int j1 = par4 - 4; j1 <= par4 + 4; ++j1) { + if (par1World.getBlock(l, i1, j1).getMaterial() == Material.water) { + return true; + } + } + } + } + + return false; + } + + @Override + public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, Block par5) { + super.onNeighborBlockChange(par1World, par2, par3, par4, par5); + Material material = par1World.getBlock(par2, par3 + 1, par4).getMaterial(); + if (material.isSolid()) { + this.revertToDirt(par1World, par2, par3, par4); + } + + } + + @Override + public boolean canSustainPlant(IBlockAccess world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { + EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); + return plantType == EnumPlantType.Crop; + } + + @Override + public Item getItemDropped(int par1, Random p_149650_2_, int p_149650_3_) { + return par1 >> 3 == 0 ? Item.getItemFromBlock(AtumBlocks.BLOCK_SAND) : Item.getItemFromBlock(Blocks.dirt); + } + + public void revertToDirt(World world, int x, int y, int z) { + int type = world.getBlockMetadata(x, y, z) >> 3; + if (type == 0) { + world.setBlock(x, y, z, AtumBlocks.BLOCK_FERTILESOIL); + world.setBlockMetadataWithNotify(x, y, z, 1, 2); + } else { + world.setBlock(x, y, z, Blocks.dirt); + } + + } + + @Override + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) { + int type = world.getBlockMetadata(x, y, z) >> 3; + return type == 0 ? new ItemStack(AtumBlocks.BLOCK_SAND) : new ItemStack(Blocks.dirt); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.farmlandWet = par1IIconRegister.registerIcon("farmland_wet"); + this.farmlandDry = par1IIconRegister.registerIcon("farmland_dry"); + } } \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java index ff0b48b..e308d38 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java @@ -22,171 +22,171 @@ import java.util.Random; public class BlockFlax extends BlockBush { - @SideOnly(Side.CLIENT) - private IIcon[] iconArray; - - protected BlockFlax() { - super(); - this.setBlockName("flax"); - this.setTickRandomly(true); - float f = 0.5F; - this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 0.25F, 0.5F + f); - this.setCreativeTab((CreativeTabs) null); - this.setHardness(0.0F); - this.setStepSound(Block.soundTypeGrass); - this.disableStats(); - } - - @Override - public EnumPlantType getPlantType(IBlockAccess world, int x, int y, int z) { - return EnumPlantType.Crop; - } - - @Override - public boolean canBlockStay(World par1World, int par2, int par3, int par4) { - if (par1World.getBlockMetadata(par2, par3, par4) >> 3 == 1) { - return par1World.getBlock(par2, par3 - 1, par4) == AtumBlocks.BLOCK_FERTILESOIL; - } else { - Block soil = par1World.getBlock(par2, par3 - 1, par4); - return (par1World.getFullBlockLightValue(par2, par3, par4) >= 8 || par1World.canBlockSeeTheSky(par2, par3, par4)) && soil != null && soil.canSustainPlant(par1World, par2, par3 - 1, par4, ForgeDirection.UP, this); - } - } - - @Override - protected boolean canPlaceBlockOn(Block par1) { - return par1 == Blocks.farmland || par1 == AtumBlocks.BLOCK_FERTILESOILTILLED; - } - - @Override - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { - super.updateTick(par1World, par2, par3, par4, par5Random); - if ((par1World.getBlockLightValue(par2, par3 + 1, par4) & 273) >= 9) { - int l = par1World.getBlockMetadata(par2, par3, par4); - if ((l & 7) < 5) { - float f = this.getGrowthRate(par1World, par2, par3, par4); - if (par5Random.nextInt((int) (25.0F / f) + 1) == 0) { - ++l; - par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); - } - } - } - - } - - public void fertilize(World par1World, int par2, int par3, int par4) { - int l = par1World.getBlockMetadata(par2, par3, par4) + MathHelper.getRandomIntegerInRange(par1World.rand, 2, 3); - if ((l & 7) > 5) { - l -= (l & 7) - 5; - } - - par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); - } - - private float getGrowthRate(World par1World, int par2, int par3, int par4) { - float f = 1.0F; - Block l = par1World.getBlock(par2, par3, par4 - 1); - Block i1 = par1World.getBlock(par2, par3, par4 + 1); - Block j1 = par1World.getBlock(par2 - 1, par3, par4); - Block k1 = par1World.getBlock(par2 + 1, par3, par4); - Block l1 = par1World.getBlock(par2 - 1, par3, par4 - 1); - Block i2 = par1World.getBlock(par2 + 1, par3, par4 - 1); - Block j2 = par1World.getBlock(par2 + 1, par3, par4 + 1); - Block k2 = par1World.getBlock(par2 - 1, par3, par4 + 1); - boolean flag = j1 == this || k1 == this; - boolean flag1 = l == this || i1 == this; - boolean flag2 = l1 == this || i2 == this || j2 == this || k2 == this; - - for (int l2 = par2 - 1; l2 <= par2 + 1; ++l2) { - for (int i3 = par4 - 1; i3 <= par4 + 1; ++i3) { - Block j3 = par1World.getBlock(l2, par3 - 1, i3); - float f1 = 0.0F; - if (j3 != null && j3.canSustainPlant(par1World, l2, par3 - 1, i3, ForgeDirection.UP, this)) { - f1 = 1.0F; - if (j3.isFertile(par1World, l2, par3 - 1, i3)) { - f1 = 3.0F; - } - } - - if (l2 != par2 || i3 != par4) { - f1 /= 4.0F; - } - - f += f1; - } - } - - if (flag2 || flag && flag1) { - f /= 2.0F; - } - - return f; - } - - @SideOnly(Side.CLIENT) - public IIcon getIcon(int par1, int par2) { - int meta = par2 & 7; - if (meta < 0 || meta > 5) { - meta = 5; - } - - return this.iconArray[meta]; - } - - @Override - public int getRenderType() { - return 1; - } - - protected Item getSeedItem() { - return AtumItems.ITEM_FLAXSEED; - } - - protected Item getCropItem() { - return AtumItems.ITEM_FLAX; - } - - @Override - public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int par4, int par5, float par6, int par7) { - super.dropBlockAsItemWithChance(par1World, par2, par3, par4, par5, par6, 0); - } - - @Override - public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) { - ArrayList ret = super.getDrops(world, x, y, z, metadata, fortune); - if ((metadata & 7) >= 5) { - for (int n = 0; n < 3 + fortune; ++n) { - if (world.rand.nextInt(15) <= (metadata & 7)) { - ret.add(new ItemStack(this.getSeedItem(), 1, 0)); - } - } - } - - return ret; - } - - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { - return p_149650_1_ == 5 ? this.getCropItem() : this.getSeedItem(); - } - - @Override - public int quantityDropped(Random par1Random) { - return 1; - } - - @Override - public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) { - return new ItemStack(this.getSeedItem()); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister par1IIconRegister) { - this.iconArray = new IIcon[6]; - - for (int i = 0; i < this.iconArray.length; ++i) { - this.iconArray[i] = par1IIconRegister.registerIcon("atum:Flax_" + i); - } - - } + @SideOnly(Side.CLIENT) + private IIcon[] iconArray; + + protected BlockFlax() { + super(); + this.setBlockName("flax"); + this.setTickRandomly(true); + float f = 0.5F; + this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 0.25F, 0.5F + f); + this.setCreativeTab((CreativeTabs) null); + this.setHardness(0.0F); + this.setStepSound(Block.soundTypeGrass); + this.disableStats(); + } + + @Override + public EnumPlantType getPlantType(IBlockAccess world, int x, int y, int z) { + return EnumPlantType.Crop; + } + + @Override + public boolean canBlockStay(World par1World, int par2, int par3, int par4) { + if (par1World.getBlockMetadata(par2, par3, par4) >> 3 == 1) { + return par1World.getBlock(par2, par3 - 1, par4) == AtumBlocks.BLOCK_FERTILESOIL; + } else { + Block soil = par1World.getBlock(par2, par3 - 1, par4); + return (par1World.getFullBlockLightValue(par2, par3, par4) >= 8 || par1World.canBlockSeeTheSky(par2, par3, par4)) && soil != null && soil.canSustainPlant(par1World, par2, par3 - 1, par4, ForgeDirection.UP, this); + } + } + + @Override + protected boolean canPlaceBlockOn(Block par1) { + return par1 == Blocks.farmland || par1 == AtumBlocks.BLOCK_FERTILESOILTILLED; + } + + @Override + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + super.updateTick(par1World, par2, par3, par4, par5Random); + if ((par1World.getBlockLightValue(par2, par3 + 1, par4) & 273) >= 9) { + int l = par1World.getBlockMetadata(par2, par3, par4); + if ((l & 7) < 5) { + float f = this.getGrowthRate(par1World, par2, par3, par4); + if (par5Random.nextInt((int) (25.0F / f) + 1) == 0) { + ++l; + par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); + } + } + } + + } + + public void fertilize(World par1World, int par2, int par3, int par4) { + int l = par1World.getBlockMetadata(par2, par3, par4) + MathHelper.getRandomIntegerInRange(par1World.rand, 2, 3); + if ((l & 7) > 5) { + l -= (l & 7) - 5; + } + + par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); + } + + private float getGrowthRate(World par1World, int par2, int par3, int par4) { + float f = 1.0F; + Block l = par1World.getBlock(par2, par3, par4 - 1); + Block i1 = par1World.getBlock(par2, par3, par4 + 1); + Block j1 = par1World.getBlock(par2 - 1, par3, par4); + Block k1 = par1World.getBlock(par2 + 1, par3, par4); + Block l1 = par1World.getBlock(par2 - 1, par3, par4 - 1); + Block i2 = par1World.getBlock(par2 + 1, par3, par4 - 1); + Block j2 = par1World.getBlock(par2 + 1, par3, par4 + 1); + Block k2 = par1World.getBlock(par2 - 1, par3, par4 + 1); + boolean flag = j1 == this || k1 == this; + boolean flag1 = l == this || i1 == this; + boolean flag2 = l1 == this || i2 == this || j2 == this || k2 == this; + + for (int l2 = par2 - 1; l2 <= par2 + 1; ++l2) { + for (int i3 = par4 - 1; i3 <= par4 + 1; ++i3) { + Block j3 = par1World.getBlock(l2, par3 - 1, i3); + float f1 = 0.0F; + if (j3 != null && j3.canSustainPlant(par1World, l2, par3 - 1, i3, ForgeDirection.UP, this)) { + f1 = 1.0F; + if (j3.isFertile(par1World, l2, par3 - 1, i3)) { + f1 = 3.0F; + } + } + + if (l2 != par2 || i3 != par4) { + f1 /= 4.0F; + } + + f += f1; + } + } + + if (flag2 || flag && flag1) { + f /= 2.0F; + } + + return f; + } + + @SideOnly(Side.CLIENT) + public IIcon getIcon(int par1, int par2) { + int meta = par2 & 7; + if (meta < 0 || meta > 5) { + meta = 5; + } + + return this.iconArray[meta]; + } + + @Override + public int getRenderType() { + return 1; + } + + protected Item getSeedItem() { + return AtumItems.ITEM_FLAXSEED; + } + + protected Item getCropItem() { + return AtumItems.ITEM_FLAX; + } + + @Override + public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int par4, int par5, float par6, int par7) { + super.dropBlockAsItemWithChance(par1World, par2, par3, par4, par5, par6, 0); + } + + @Override + public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) { + ArrayList ret = super.getDrops(world, x, y, z, metadata, fortune); + if ((metadata & 7) >= 5) { + for (int n = 0; n < 3 + fortune; ++n) { + if (world.rand.nextInt(15) <= (metadata & 7)) { + ret.add(new ItemStack(this.getSeedItem(), 1, 0)); + } + } + } + + return ret; + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return p_149650_1_ == 5 ? this.getCropItem() : this.getSeedItem(); + } + + @Override + public int quantityDropped(Random par1Random) { + return 1; + } + + @Override + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) { + return new ItemStack(this.getSeedItem()); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.iconArray = new IIcon[6]; + + for (int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IIconRegister.registerIcon("atum:Flax_" + i); + } + + } } \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockLeave.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockLeave.java index 956e85f..1784862 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockLeave.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockLeave.java @@ -20,250 +20,250 @@ import java.util.Random; public class BlockLeave extends BlockLeavesBase implements IShearable { - int[] adjacentTreeBlocks; - - protected BlockLeave() { - super(Material.leaves, false); - this.setBlockName("palmLeaves"); - this.setHardness(0.2F); - this.setLightOpacity(1); - this.setStepSound(Block.soundTypeGrass); - this.setTickRandomly(true); - } - - @Override - @SideOnly(Side.CLIENT) - public int getBlockColor() { - double d0 = 0.5D; - double d1 = 1.0D; - return ColorizerFoliage.getFoliageColor(d0, d1); - } - - @Override - @SideOnly(Side.CLIENT) - public int getRenderColor(int par1) { - return ColorizerFoliage.getFoliageColorBasic(); - } - - @Override - @SideOnly(Side.CLIENT) - public int colorMultiplier(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { - int i1 = 0; - int j1 = 0; - int k1 = 0; - - for (int l1 = -1; l1 <= 1; ++l1) { - for (int i2 = -1; i2 <= 1; ++i2) { - int j2 = BiomeGenBase.desert.getBiomeFoliageColor(par2, par3, par4); - i1 += (j2 & 16711680) >> 16; - j1 += (j2 & '\uff00') >> 8; - k1 += j2 & 255; - } - } - - return (i1 / 9 & 255) << 16 | (j1 / 9 & 255) << 8 | k1 / 9 & 255; - } - - @Override - public void breakBlock(World par1World, int par2, int par3, int par4, Block par5, int par6) { - byte b0 = 1; - int j1 = b0 + 1; - if (par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1)) { - for (int k1 = -b0; k1 <= b0; ++k1) { - for (int l1 = -b0; l1 <= b0; ++l1) { - for (int i2 = -b0; i2 <= b0; ++i2) { - Block j2 = par1World.getBlock(par2 + k1, par3 + l1, par4 + i2); - if (j2 != null) { - j2.beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2); - } - } - } - } - } - - } - - @Override - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if (!par1World.isRemote) { - int l = par1World.getBlockMetadata(par2, par3, par4); - if ((l & 8) != 0 && (l & 4) == 0) { - byte b0 = 4; - int i1 = b0 + 1; - byte b1 = 32; - int j1 = b1 * b1; - int k1 = b1 / 2; - if (this.adjacentTreeBlocks == null) { - this.adjacentTreeBlocks = new int[b1 * b1 * b1]; - } - - int l1; - if (par1World.checkChunksExist(par2 - i1, par3 - i1, par4 - i1, par2 + i1, par3 + i1, par4 + i1)) { - int i2; - int j2; - int k2; - for (l1 = -b0; l1 <= b0; ++l1) { - for (i2 = -b0; i2 <= b0; ++i2) { - for (j2 = -b0; j2 <= b0; ++j2) { - Block block = par1World.getBlock(par2 + l1, par3 + i2, par4 + j2); - if (block != null && block.canSustainLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) { - this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = 0; - } else if (block != null && block.isLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) { - this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = -2; - } else { - this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = -1; - } - } - } - } - - for (l1 = 1; l1 <= 4; ++l1) { - for (i2 = -b0; i2 <= b0; ++i2) { - for (j2 = -b0; j2 <= b0; ++j2) { - for (k2 = -b0; k2 <= b0; ++k2) { - if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1] == l1 - 1) { - if (this.adjacentTreeBlocks[(i2 + k1 - 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) { - this.adjacentTreeBlocks[(i2 + k1 - 1) * j1 + (j2 + k1) * b1 + k2 + k1] = l1; - } - - if (this.adjacentTreeBlocks[(i2 + k1 + 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) { - this.adjacentTreeBlocks[(i2 + k1 + 1) * j1 + (j2 + k1) * b1 + k2 + k1] = l1; - } - - if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 - 1) * b1 + k2 + k1] == -2) { - this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 - 1) * b1 + k2 + k1] = l1; - } - - if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 + 1) * b1 + k2 + k1] == -2) { - this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 + 1) * b1 + k2 + k1] = l1; - } - - if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + (k2 + k1 - 1)] == -2) { - this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + (k2 + k1 - 1)] = l1; - } - - if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1 + 1] == -2) { - this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1 + 1] = l1; - } - } - } - } - } - } - } - - l1 = this.adjacentTreeBlocks[k1 * j1 + k1 * b1 + k1]; - if (l1 >= 0) { - par1World.setBlockMetadataWithNotify(par2, par3, par4, l & -9, 4); - } else { - this.removeLeaves(par1World, par2, par3, par4); - } - } - } - - } - - @Override - @SideOnly(Side.CLIENT) - public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if (par1World.canLightningStrikeAt(par2, par3 + 1, par4) && !par1World.doesBlockHaveSolidTopSurface(par1World, par2, par3 - 1, par4) && par5Random.nextInt(15) == 1) { - double d0 = (double) ((float) par2 + par5Random.nextFloat()); - double d1 = (double) par3 - 0.05D; - double d2 = (double) ((float) par4 + par5Random.nextFloat()); - par1World.spawnParticle("dripWater", d0, d1, d2, 0.0D, 0.0D, 0.0D); - } - - } - - private void removeLeaves(World par1World, int par2, int par3, int par4) { - this.dropBlockAsItem(par1World, par2, par3, par4, par1World.getBlockMetadata(par2, par3, par4), 0); - par1World.setBlockToAir(par2, par3, par4); - } - - @Override - public int quantityDropped(Random par1Random) { - return par1Random.nextInt(20) == 0 ? 1 : 0; - } - - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { - return Item.getItemFromBlock(AtumBlocks.BLOCK_PALMSAPLING); - } - - @Override - public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int par4, int par5, float par6, int par7) { - if (!par1World.isRemote) { - int j1 = 20; - if ((par5 & 3) == 3) { - j1 = 40; - } - - if (par7 > 0) { - j1 -= 2 << par7; - if (j1 < 10) { - j1 = 10; - } - } - - if (par1World.rand.nextInt(j1) == 0) { - Item k1 = this.getItemDropped(par5, par1World.rand, par7); - this.dropBlockAsItem(par1World, par2, par3, par4, new ItemStack(k1, 1, this.damageDropped(par5))); - } - } - - } - - @Override - public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6) { - super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6); - } - - @Override - public int damageDropped(int par1) { - return par1 & 3; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int par1, int par2) { - return this.blockIcon; - } - - @Override - protected ItemStack createStackedBlock(int par1) { - return new ItemStack(this, 1, par1 & 3); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister par1IIconRegister) { - this.blockIcon = par1IIconRegister.registerIcon("atum:AtumLeaves"); - } - - @Override - public void beginLeavesDecay(World world, int x, int y, int z) { - world.setBlockMetadataWithNotify(x, y, z, world.getBlockMetadata(x, y, z) | 8, 4); - } - - @Override - public boolean isLeaves(IBlockAccess world, int x, int y, int z) { - return true; - } - - @Override - public boolean isShearable(ItemStack arg0, IBlockAccess arg1, int arg2, int arg3, int arg4) { - return true; - } - - @Override - public ArrayList onSheared(ItemStack arg0, IBlockAccess arg1, int x, int y, int z, int arg5) { - ArrayList ret = new ArrayList(); - ret.add(new ItemStack(this, 1, arg1.getBlockMetadata(x, y, z) & 3)); - return ret; - } + int[] adjacentTreeBlocks; + + protected BlockLeave() { + super(Material.leaves, false); + this.setBlockName("palmLeaves"); + this.setHardness(0.2F); + this.setLightOpacity(1); + this.setStepSound(Block.soundTypeGrass); + this.setTickRandomly(true); + } + + @Override + @SideOnly(Side.CLIENT) + public int getBlockColor() { + double d0 = 0.5D; + double d1 = 1.0D; + return ColorizerFoliage.getFoliageColor(d0, d1); + } + + @Override + @SideOnly(Side.CLIENT) + public int getRenderColor(int par1) { + return ColorizerFoliage.getFoliageColorBasic(); + } + + @Override + @SideOnly(Side.CLIENT) + public int colorMultiplier(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { + int i1 = 0; + int j1 = 0; + int k1 = 0; + + for (int l1 = -1; l1 <= 1; ++l1) { + for (int i2 = -1; i2 <= 1; ++i2) { + int j2 = BiomeGenBase.desert.getBiomeFoliageColor(par2, par3, par4); + i1 += (j2 & 16711680) >> 16; + j1 += (j2 & '\uff00') >> 8; + k1 += j2 & 255; + } + } + + return (i1 / 9 & 255) << 16 | (j1 / 9 & 255) << 8 | k1 / 9 & 255; + } + + @Override + public void breakBlock(World par1World, int par2, int par3, int par4, Block par5, int par6) { + byte b0 = 1; + int j1 = b0 + 1; + if (par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1)) { + for (int k1 = -b0; k1 <= b0; ++k1) { + for (int l1 = -b0; l1 <= b0; ++l1) { + for (int i2 = -b0; i2 <= b0; ++i2) { + Block j2 = par1World.getBlock(par2 + k1, par3 + l1, par4 + i2); + if (j2 != null) { + j2.beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2); + } + } + } + } + } + + } + + @Override + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + if (!par1World.isRemote) { + int l = par1World.getBlockMetadata(par2, par3, par4); + if ((l & 8) != 0 && (l & 4) == 0) { + byte b0 = 4; + int i1 = b0 + 1; + byte b1 = 32; + int j1 = b1 * b1; + int k1 = b1 / 2; + if (this.adjacentTreeBlocks == null) { + this.adjacentTreeBlocks = new int[b1 * b1 * b1]; + } + + int l1; + if (par1World.checkChunksExist(par2 - i1, par3 - i1, par4 - i1, par2 + i1, par3 + i1, par4 + i1)) { + int i2; + int j2; + int k2; + for (l1 = -b0; l1 <= b0; ++l1) { + for (i2 = -b0; i2 <= b0; ++i2) { + for (j2 = -b0; j2 <= b0; ++j2) { + Block block = par1World.getBlock(par2 + l1, par3 + i2, par4 + j2); + if (block != null && block.canSustainLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) { + this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = 0; + } else if (block != null && block.isLeaves(par1World, par2 + l1, par3 + i2, par4 + j2)) { + this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = -2; + } else { + this.adjacentTreeBlocks[(l1 + k1) * j1 + (i2 + k1) * b1 + j2 + k1] = -1; + } + } + } + } + + for (l1 = 1; l1 <= 4; ++l1) { + for (i2 = -b0; i2 <= b0; ++i2) { + for (j2 = -b0; j2 <= b0; ++j2) { + for (k2 = -b0; k2 <= b0; ++k2) { + if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1] == l1 - 1) { + if (this.adjacentTreeBlocks[(i2 + k1 - 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) { + this.adjacentTreeBlocks[(i2 + k1 - 1) * j1 + (j2 + k1) * b1 + k2 + k1] = l1; + } + + if (this.adjacentTreeBlocks[(i2 + k1 + 1) * j1 + (j2 + k1) * b1 + k2 + k1] == -2) { + this.adjacentTreeBlocks[(i2 + k1 + 1) * j1 + (j2 + k1) * b1 + k2 + k1] = l1; + } + + if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 - 1) * b1 + k2 + k1] == -2) { + this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 - 1) * b1 + k2 + k1] = l1; + } + + if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 + 1) * b1 + k2 + k1] == -2) { + this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1 + 1) * b1 + k2 + k1] = l1; + } + + if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + (k2 + k1 - 1)] == -2) { + this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + (k2 + k1 - 1)] = l1; + } + + if (this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1 + 1] == -2) { + this.adjacentTreeBlocks[(i2 + k1) * j1 + (j2 + k1) * b1 + k2 + k1 + 1] = l1; + } + } + } + } + } + } + } + + l1 = this.adjacentTreeBlocks[k1 * j1 + k1 * b1 + k1]; + if (l1 >= 0) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, l & -9, 4); + } else { + this.removeLeaves(par1World, par2, par3, par4); + } + } + } + + } + + @Override + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { + if (par1World.canLightningStrikeAt(par2, par3 + 1, par4) && !par1World.doesBlockHaveSolidTopSurface(par1World, par2, par3 - 1, par4) && par5Random.nextInt(15) == 1) { + double d0 = (double) ((float) par2 + par5Random.nextFloat()); + double d1 = (double) par3 - 0.05D; + double d2 = (double) ((float) par4 + par5Random.nextFloat()); + par1World.spawnParticle("dripWater", d0, d1, d2, 0.0D, 0.0D, 0.0D); + } + + } + + private void removeLeaves(World par1World, int par2, int par3, int par4) { + this.dropBlockAsItem(par1World, par2, par3, par4, par1World.getBlockMetadata(par2, par3, par4), 0); + par1World.setBlockToAir(par2, par3, par4); + } + + @Override + public int quantityDropped(Random par1Random) { + return par1Random.nextInt(20) == 0 ? 1 : 0; + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return Item.getItemFromBlock(AtumBlocks.BLOCK_PALMSAPLING); + } + + @Override + public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int par4, int par5, float par6, int par7) { + if (!par1World.isRemote) { + int j1 = 20; + if ((par5 & 3) == 3) { + j1 = 40; + } + + if (par7 > 0) { + j1 -= 2 << par7; + if (j1 < 10) { + j1 = 10; + } + } + + if (par1World.rand.nextInt(j1) == 0) { + Item k1 = this.getItemDropped(par5, par1World.rand, par7); + this.dropBlockAsItem(par1World, par2, par3, par4, new ItemStack(k1, 1, this.damageDropped(par5))); + } + } + + } + + @Override + public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6) { + super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6); + } + + @Override + public int damageDropped(int par1) { + return par1 & 3; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int par1, int par2) { + return this.blockIcon; + } + + @Override + protected ItemStack createStackedBlock(int par1) { + return new ItemStack(this, 1, par1 & 3); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("atum:AtumLeaves"); + } + + @Override + public void beginLeavesDecay(World world, int x, int y, int z) { + world.setBlockMetadataWithNotify(x, y, z, world.getBlockMetadata(x, y, z) | 8, 4); + } + + @Override + public boolean isLeaves(IBlockAccess world, int x, int y, int z) { + return true; + } + + @Override + public boolean isShearable(ItemStack arg0, IBlockAccess arg1, int arg2, int arg3, int arg4) { + return true; + } + + @Override + public ArrayList onSheared(ItemStack arg0, IBlockAccess arg1, int x, int y, int z, int arg5) { + ArrayList ret = new ArrayList(); + ret.add(new ItemStack(this, 1, arg1.getBlockMetadata(x, y, z) & 3)); + return ret; + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java index b43f2b0..35a2bb4 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockLimeStoneFurnace.java @@ -25,270 +25,270 @@ public class BlockLimeStoneFurnace extends BlockContainer { - /** - * This flag is used to prevent the furnace inventory to be dropped upon - * block removal, is used internally when the furnace block changes from - * idle to active and vice-versa. - */ - private static boolean keepFurnaceInventory = false; - /** - * Is the random generator used by furnace to drop the inventory contents in - * random directions. - */ - private final Random furnaceRand = new Random(); - /** - * True if this is an active furnace, false if idle - */ - private final boolean isActive; - @SideOnly(Side.CLIENT) - private IIcon field_94458_cO; - @SideOnly(Side.CLIENT) - private IIcon field_94459_cP; - - public BlockLimeStoneFurnace(boolean par2) { - super(Material.rock); - isActive = par2; - } - - /** - * Update which block ID the furnace is using depending on whether or not it - * is burning - */ - public static void updateFurnaceBlockState(boolean par0, World par1World, int par2, int par3, int par4) { - int l = par1World.getBlockMetadata(par2, par3, par4); - TileEntity tileentity = par1World.getTileEntity(par2, par3, par4); - keepFurnaceInventory = true; - - if (par0) { - par1World.setBlock(par2, par3, par4, AtumBlocks.BLOCK_FURNACEBURNING); - } else { - par1World.setBlock(par2, par3, par4, AtumBlocks.BLOCK_FURNACEIDLE); - } - - keepFurnaceInventory = false; - par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); - - if (tileentity != null) { - tileentity.validate(); - par1World.setTileEntity(par2, par3, par4, tileentity); - } - } - - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { - return Item.getItemFromBlock(AtumBlocks.BLOCK_FURNACEIDLE); - } - - /** - * Called whenever the block is added into the world. Args: world, x, y, z - */ - @Override - public void onBlockAdded(World par1World, int par2, int par3, int par4) { - super.onBlockAdded(par1World, par2, par3, par4); - this.setDefaultDirection(par1World, par2, par3, par4); - } - - /** - * set a blocks direction - */ - private void setDefaultDirection(World par1World, int par2, int par3, int par4) { - if (!par1World.isRemote) { - Block l = par1World.getBlock(par2, par3, par4 - 1); - Block i1 = par1World.getBlock(par2, par3, par4 + 1); - Block j1 = par1World.getBlock(par2 - 1, par3, par4); - Block k1 = par1World.getBlock(par2 + 1, par3, par4); - byte b0 = 3; - - if (l.isOpaqueCube() && !i1.isOpaqueCube()) { - b0 = 3; - } - - if (i1.isOpaqueCube() && !l.isOpaqueCube()) { - b0 = 2; - } - - if (j1.isOpaqueCube() && !k1.isOpaqueCube()) { - b0 = 5; - } - - if (k1.isOpaqueCube() && !j1.isOpaqueCube()) { - b0 = 4; - } - - par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 2); - } - } - - @SideOnly(Side.CLIENT) - /** - * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata - */ - @Override - public IIcon getIcon(int par1, int par2) { - if (par2 == 0) - par2 = 3; - - return par1 == 1 ? this.field_94458_cO : (par1 == 0 ? this.field_94458_cO : (par1 != par2 ? this.blockIcon : this.field_94459_cP)); - } - - @SideOnly(Side.CLIENT) - /** - * When this method is called, your block should register all the icons it needs with the given IIconRegister. This - * is the only chance you get to register icons. - */ - @Override - public void registerBlockIcons(IIconRegister par1IIconRegister) { - this.blockIcon = par1IIconRegister.registerIcon("Atum:FurnaceTop"); - this.field_94459_cP = par1IIconRegister.registerIcon(this.isActive ? "Atum:FurnaceBurning" : "Atum:FurnaceFront"); - this.field_94458_cO = par1IIconRegister.registerIcon("Atum:FurnaceTop"); - } - - /** - * Called upon block activation (right click on the block.) - */ - @Override - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { - if (par1World.isRemote) { - return true; - } else { - TileEntityLimestoneFurnace tileEntityLimestoneFurnace = (TileEntityLimestoneFurnace) par1World.getTileEntity(par2, par3, par4); - - if (tileEntityLimestoneFurnace != null) { - par5EntityPlayer.openGui(Atum.instance, 0, par1World, par2, par3, par4); - } - - return true; - } - } - - @SideOnly(Side.CLIENT) - /** - * A randomly called display update to be able to add particles or other items for display - */ - @Override - public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if (this.isActive) { - int l = par1World.getBlockMetadata(par2, par3, par4); - float f = (float) par2 + 0.5F; - float f1 = (float) par3 + 0.0F + par5Random.nextFloat() * 6.0F / 16.0F; - float f2 = (float) par4 + 0.5F; - float f3 = 0.52F; - float f4 = par5Random.nextFloat() * 0.6F - 0.3F; - - if (l == 4) { - par1World.spawnParticle("smoke", (double) (f - f3), (double) f1, (double) (f2 + f4), 0.0D, 0.0D, 0.0D); - par1World.spawnParticle("flame", (double) (f - f3), (double) f1, (double) (f2 + f4), 0.0D, 0.0D, 0.0D); - } else if (l == 5) { - par1World.spawnParticle("smoke", (double) (f + f3), (double) f1, (double) (f2 + f4), 0.0D, 0.0D, 0.0D); - par1World.spawnParticle("flame", (double) (f + f3), (double) f1, (double) (f2 + f4), 0.0D, 0.0D, 0.0D); - } else if (l == 2) { - par1World.spawnParticle("smoke", (double) (f + f4), (double) f1, (double) (f2 - f3), 0.0D, 0.0D, 0.0D); - par1World.spawnParticle("flame", (double) (f + f4), (double) f1, (double) (f2 - f3), 0.0D, 0.0D, 0.0D); - } else if (l == 3) { - par1World.spawnParticle("smoke", (double) (f + f4), (double) f1, (double) (f2 + f3), 0.0D, 0.0D, 0.0D); - par1World.spawnParticle("flame", (double) (f + f4), (double) f1, (double) (f2 + f3), 0.0D, 0.0D, 0.0D); - } - } - } - - /** - * Called when the block is placed in the world. - */ - @Override - public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLivingBase par5EntityLiving, ItemStack par6ItemStack) { - int l = MathHelper.floor_double((double) (par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; - - if (l == 0) { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 2, 2); - } - - if (l == 1) { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 5, 2); - } - - if (l == 2) { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 3, 2); - } - - if (l == 3) { - par1World.setBlockMetadataWithNotify(par2, par3, par4, 4, 2); - } - - if (par6ItemStack.hasDisplayName()) { - ((TileEntityLimestoneFurnace) par1World.getTileEntity(par2, par3, par4)).func_94129_a(par6ItemStack.getDisplayName()); - } - } - - /** - * ejects contained items into the world, and notifies neighbours of an - * update, as appropriate - */ - @Override - public void breakBlock(World par1World, int par2, int par3, int par4, Block par5, int par6) { - if (!keepFurnaceInventory) { - TileEntityLimestoneFurnace TileEntityLimestoneFurnace = (TileEntityLimestoneFurnace) par1World.getTileEntity(par2, par3, par4); - - if (TileEntityLimestoneFurnace != null) { - for (int j1 = 0; j1 < TileEntityLimestoneFurnace.getSizeInventory(); ++j1) { - ItemStack itemstack = TileEntityLimestoneFurnace.getStackInSlot(j1); - - if (itemstack != null) { - float f = this.furnaceRand.nextFloat() * 0.8F + 0.1F; - float f1 = this.furnaceRand.nextFloat() * 0.8F + 0.1F; - float f2 = this.furnaceRand.nextFloat() * 0.8F + 0.1F; - - while (itemstack.stackSize > 0) { - int k1 = this.furnaceRand.nextInt(21) + 10; - - if (k1 > itemstack.stackSize) { - k1 = itemstack.stackSize; - } - - itemstack.stackSize -= k1; - EntityItem entityitem = new EntityItem(par1World, (double) ((float) par2 + f), (double) ((float) par3 + f1), (double) ((float) par4 + f2), new ItemStack(itemstack.getItem(), k1, itemstack.getItemDamage())); - - if (itemstack.hasTagCompound()) { - entityitem.getEntityItem().setTagCompound((NBTTagCompound) itemstack.getTagCompound().copy()); - } - - float f3 = 0.05F; - entityitem.motionX = (double) ((float) this.furnaceRand.nextGaussian() * f3); - entityitem.motionY = (double) ((float) this.furnaceRand.nextGaussian() * f3 + 0.2F); - entityitem.motionZ = (double) ((float) this.furnaceRand.nextGaussian() * f3); - par1World.spawnEntityInWorld(entityitem); - } - } - } - - par1World.func_147453_f(par2, par3, par4, par5); - } - } - - super.breakBlock(par1World, par2, par3, par4, par5, par6); - } - - /** - * If this returns true, then comparators facing away from this block will - * use the value from getComparatorInputOverride instead of the actual - * redstone signal strength. - */ - @Override - public boolean hasComparatorInputOverride() { - return true; - } - - /** - * If hasComparatorInputOverride returns true, the return value from this is - * used instead of the redstone signal strength when this block inputs to a - * comparator. - */ - @Override - public int getComparatorInputOverride(World par1World, int par2, int par3, int par4, int par5) { - return Container.calcRedstoneFromInventory((IInventory) par1World.getTileEntity(par2, par3, par4)); - } - - @Override - public TileEntity createNewTileEntity(World var1, int var2) { - return new TileEntityLimestoneFurnace(); - } + /** + * This flag is used to prevent the furnace inventory to be dropped upon + * block removal, is used internally when the furnace block changes from + * idle to active and vice-versa. + */ + private static boolean keepFurnaceInventory = false; + /** + * Is the random generator used by furnace to drop the inventory contents in + * random directions. + */ + private final Random furnaceRand = new Random(); + /** + * True if this is an active furnace, false if idle + */ + private final boolean isActive; + @SideOnly(Side.CLIENT) + private IIcon field_94458_cO; + @SideOnly(Side.CLIENT) + private IIcon field_94459_cP; + + public BlockLimeStoneFurnace(boolean par2) { + super(Material.rock); + isActive = par2; + } + + /** + * Update which block ID the furnace is using depending on whether or not it + * is burning + */ + public static void updateFurnaceBlockState(boolean par0, World par1World, int par2, int par3, int par4) { + int l = par1World.getBlockMetadata(par2, par3, par4); + TileEntity tileentity = par1World.getTileEntity(par2, par3, par4); + keepFurnaceInventory = true; + + if (par0) { + par1World.setBlock(par2, par3, par4, AtumBlocks.BLOCK_FURNACEBURNING); + } else { + par1World.setBlock(par2, par3, par4, AtumBlocks.BLOCK_FURNACEIDLE); + } + + keepFurnaceInventory = false; + par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); + + if (tileentity != null) { + tileentity.validate(); + par1World.setTileEntity(par2, par3, par4, tileentity); + } + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return Item.getItemFromBlock(AtumBlocks.BLOCK_FURNACEIDLE); + } + + /** + * Called whenever the block is added into the world. Args: world, x, y, z + */ + @Override + public void onBlockAdded(World par1World, int par2, int par3, int par4) { + super.onBlockAdded(par1World, par2, par3, par4); + this.setDefaultDirection(par1World, par2, par3, par4); + } + + /** + * set a blocks direction + */ + private void setDefaultDirection(World par1World, int par2, int par3, int par4) { + if (!par1World.isRemote) { + Block l = par1World.getBlock(par2, par3, par4 - 1); + Block i1 = par1World.getBlock(par2, par3, par4 + 1); + Block j1 = par1World.getBlock(par2 - 1, par3, par4); + Block k1 = par1World.getBlock(par2 + 1, par3, par4); + byte b0 = 3; + + if (l.isOpaqueCube() && !i1.isOpaqueCube()) { + b0 = 3; + } + + if (i1.isOpaqueCube() && !l.isOpaqueCube()) { + b0 = 2; + } + + if (j1.isOpaqueCube() && !k1.isOpaqueCube()) { + b0 = 5; + } + + if (k1.isOpaqueCube() && !j1.isOpaqueCube()) { + b0 = 4; + } + + par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 2); + } + } + + @SideOnly(Side.CLIENT) + /** + * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata + */ + @Override + public IIcon getIcon(int par1, int par2) { + if (par2 == 0) + par2 = 3; + + return par1 == 1 ? this.field_94458_cO : (par1 == 0 ? this.field_94458_cO : (par1 != par2 ? this.blockIcon : this.field_94459_cP)); + } + + @SideOnly(Side.CLIENT) + /** + * When this method is called, your block should register all the icons it needs with the given IIconRegister. This + * is the only chance you get to register icons. + */ + @Override + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("Atum:FurnaceTop"); + this.field_94459_cP = par1IIconRegister.registerIcon(this.isActive ? "Atum:FurnaceBurning" : "Atum:FurnaceFront"); + this.field_94458_cO = par1IIconRegister.registerIcon("Atum:FurnaceTop"); + } + + /** + * Called upon block activation (right click on the block.) + */ + @Override + public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { + if (par1World.isRemote) { + return true; + } else { + TileEntityLimestoneFurnace tileEntityLimestoneFurnace = (TileEntityLimestoneFurnace) par1World.getTileEntity(par2, par3, par4); + + if (tileEntityLimestoneFurnace != null) { + par5EntityPlayer.openGui(Atum.instance, 0, par1World, par2, par3, par4); + } + + return true; + } + } + + @SideOnly(Side.CLIENT) + /** + * A randomly called display update to be able to add particles or other items for display + */ + @Override + public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { + if (this.isActive) { + int l = par1World.getBlockMetadata(par2, par3, par4); + float f = (float) par2 + 0.5F; + float f1 = (float) par3 + 0.0F + par5Random.nextFloat() * 6.0F / 16.0F; + float f2 = (float) par4 + 0.5F; + float f3 = 0.52F; + float f4 = par5Random.nextFloat() * 0.6F - 0.3F; + + if (l == 4) { + par1World.spawnParticle("smoke", (double) (f - f3), (double) f1, (double) (f2 + f4), 0.0D, 0.0D, 0.0D); + par1World.spawnParticle("flame", (double) (f - f3), (double) f1, (double) (f2 + f4), 0.0D, 0.0D, 0.0D); + } else if (l == 5) { + par1World.spawnParticle("smoke", (double) (f + f3), (double) f1, (double) (f2 + f4), 0.0D, 0.0D, 0.0D); + par1World.spawnParticle("flame", (double) (f + f3), (double) f1, (double) (f2 + f4), 0.0D, 0.0D, 0.0D); + } else if (l == 2) { + par1World.spawnParticle("smoke", (double) (f + f4), (double) f1, (double) (f2 - f3), 0.0D, 0.0D, 0.0D); + par1World.spawnParticle("flame", (double) (f + f4), (double) f1, (double) (f2 - f3), 0.0D, 0.0D, 0.0D); + } else if (l == 3) { + par1World.spawnParticle("smoke", (double) (f + f4), (double) f1, (double) (f2 + f3), 0.0D, 0.0D, 0.0D); + par1World.spawnParticle("flame", (double) (f + f4), (double) f1, (double) (f2 + f3), 0.0D, 0.0D, 0.0D); + } + } + } + + /** + * Called when the block is placed in the world. + */ + @Override + public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLivingBase par5EntityLiving, ItemStack par6ItemStack) { + int l = MathHelper.floor_double((double) (par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + + if (l == 0) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 2, 2); + } + + if (l == 1) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 5, 2); + } + + if (l == 2) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 3, 2); + } + + if (l == 3) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, 4, 2); + } + + if (par6ItemStack.hasDisplayName()) { + ((TileEntityLimestoneFurnace) par1World.getTileEntity(par2, par3, par4)).func_94129_a(par6ItemStack.getDisplayName()); + } + } + + /** + * ejects contained items into the world, and notifies neighbours of an + * update, as appropriate + */ + @Override + public void breakBlock(World par1World, int par2, int par3, int par4, Block par5, int par6) { + if (!keepFurnaceInventory) { + TileEntityLimestoneFurnace TileEntityLimestoneFurnace = (TileEntityLimestoneFurnace) par1World.getTileEntity(par2, par3, par4); + + if (TileEntityLimestoneFurnace != null) { + for (int j1 = 0; j1 < TileEntityLimestoneFurnace.getSizeInventory(); ++j1) { + ItemStack itemstack = TileEntityLimestoneFurnace.getStackInSlot(j1); + + if (itemstack != null) { + float f = this.furnaceRand.nextFloat() * 0.8F + 0.1F; + float f1 = this.furnaceRand.nextFloat() * 0.8F + 0.1F; + float f2 = this.furnaceRand.nextFloat() * 0.8F + 0.1F; + + while (itemstack.stackSize > 0) { + int k1 = this.furnaceRand.nextInt(21) + 10; + + if (k1 > itemstack.stackSize) { + k1 = itemstack.stackSize; + } + + itemstack.stackSize -= k1; + EntityItem entityitem = new EntityItem(par1World, (double) ((float) par2 + f), (double) ((float) par3 + f1), (double) ((float) par4 + f2), new ItemStack(itemstack.getItem(), k1, itemstack.getItemDamage())); + + if (itemstack.hasTagCompound()) { + entityitem.getEntityItem().setTagCompound((NBTTagCompound) itemstack.getTagCompound().copy()); + } + + float f3 = 0.05F; + entityitem.motionX = (double) ((float) this.furnaceRand.nextGaussian() * f3); + entityitem.motionY = (double) ((float) this.furnaceRand.nextGaussian() * f3 + 0.2F); + entityitem.motionZ = (double) ((float) this.furnaceRand.nextGaussian() * f3); + par1World.spawnEntityInWorld(entityitem); + } + } + } + + par1World.func_147453_f(par2, par3, par4, par5); + } + } + + super.breakBlock(par1World, par2, par3, par4, par5, par6); + } + + /** + * If this returns true, then comparators facing away from this block will + * use the value from getComparatorInputOverride instead of the actual + * redstone signal strength. + */ + @Override + public boolean hasComparatorInputOverride() { + return true; + } + + /** + * If hasComparatorInputOverride returns true, the return value from this is + * used instead of the redstone signal strength when this block inputs to a + * comparator. + */ + @Override + public int getComparatorInputOverride(World par1World, int par2, int par3, int par4, int par5) { + return Container.calcRedstoneFromInventory((IInventory) par1World.getTileEntity(par2, par3, par4)); + } + + @Override + public TileEntity createNewTileEntity(World var1, int var2) { + return new TileEntityLimestoneFurnace(); + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmLog.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmLog.java index dae2e17..8dd80cb 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmLog.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmLog.java @@ -13,89 +13,89 @@ public class BlockPalmLog extends Block { - private IIcon tree_top; - private IIcon tree_side; - - protected BlockPalmLog() { - super(Material.wood); - this.setBlockName("palmLog"); - this.setHardness(2.0F); - this.setStepSound(Block.soundTypeWood); - } - - @Override - public int getRenderType() { - return 31; - } - - @Override - public int quantityDropped(Random par1Random) { - return 1; - } - - @Override - public void breakBlock(World par1World, int par2, int par3, int par4, Block par5, int par6) { - byte b0 = 4; - int j1 = b0 + 1; - if (par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1)) { - for (int k1 = -b0; k1 <= b0; ++k1) { - for (int l1 = -b0; l1 <= b0; ++l1) { - for (int i2 = -b0; i2 <= b0; ++i2) { - Block j2 = par1World.getBlock(par2 + k1, par3 + l1, par4 + i2); - if (j2 != null) { - j2.beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2); - } - } - } - } - } - - } - - @Override - public int onBlockPlaced(World par1World, int par2, int par3, int par4, int par5, float par6, float par7, float par8, int par9) { - int j1 = par9 & 3; - byte b0 = 0; - switch (par5) { - case 0: - case 1: - b0 = 0; - break; - case 2: - case 3: - b0 = 8; - break; - case 4: - case 5: - b0 = 4; - } - - return j1 | b0; - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int par1, int par2) { - int k = par2 & 12; - int l = par2 & 3; - return k == 0 && (par1 == 1 || par1 == 0) ? this.tree_top : (k == 4 && (par1 == 5 || par1 == 4) ? this.tree_top : (k == 8 && (par1 == 2 || par1 == 3) ? this.tree_top : this.tree_side)); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister par1IIconRegister) { - this.tree_top = par1IIconRegister.registerIcon("atum:tree_top"); - this.tree_side = par1IIconRegister.registerIcon("atum:tree_side"); - } - - @Override - public boolean canSustainLeaves(IBlockAccess world, int x, int y, int z) { - return true; - } - - @Override - public boolean isWood(IBlockAccess world, int x, int y, int z) { - return true; - } + private IIcon tree_top; + private IIcon tree_side; + + protected BlockPalmLog() { + super(Material.wood); + this.setBlockName("palmLog"); + this.setHardness(2.0F); + this.setStepSound(Block.soundTypeWood); + } + + @Override + public int getRenderType() { + return 31; + } + + @Override + public int quantityDropped(Random par1Random) { + return 1; + } + + @Override + public void breakBlock(World par1World, int par2, int par3, int par4, Block par5, int par6) { + byte b0 = 4; + int j1 = b0 + 1; + if (par1World.checkChunksExist(par2 - j1, par3 - j1, par4 - j1, par2 + j1, par3 + j1, par4 + j1)) { + for (int k1 = -b0; k1 <= b0; ++k1) { + for (int l1 = -b0; l1 <= b0; ++l1) { + for (int i2 = -b0; i2 <= b0; ++i2) { + Block j2 = par1World.getBlock(par2 + k1, par3 + l1, par4 + i2); + if (j2 != null) { + j2.beginLeavesDecay(par1World, par2 + k1, par3 + l1, par4 + i2); + } + } + } + } + } + + } + + @Override + public int onBlockPlaced(World par1World, int par2, int par3, int par4, int par5, float par6, float par7, float par8, int par9) { + int j1 = par9 & 3; + byte b0 = 0; + switch (par5) { + case 0: + case 1: + b0 = 0; + break; + case 2: + case 3: + b0 = 8; + break; + case 4: + case 5: + b0 = 4; + } + + return j1 | b0; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int par1, int par2) { + int k = par2 & 12; + int l = par2 & 3; + return k == 0 && (par1 == 1 || par1 == 0) ? this.tree_top : (k == 4 && (par1 == 5 || par1 == 4) ? this.tree_top : (k == 8 && (par1 == 2 || par1 == 3) ? this.tree_top : this.tree_side)); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.tree_top = par1IIconRegister.registerIcon("atum:tree_top"); + this.tree_side = par1IIconRegister.registerIcon("atum:tree_side"); + } + + @Override + public boolean canSustainLeaves(IBlockAccess world, int x, int y, int z) { + return true; + } + + @Override + public boolean isWood(IBlockAccess world, int x, int y, int z) { + return true; + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmSapling.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmSapling.java index 777abba..0a53de6 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmSapling.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPalmSapling.java @@ -10,84 +10,84 @@ public class BlockPalmSapling extends BlockBush { - protected BlockPalmSapling() { - super(); - this.setBlockName("palmSapling"); - float f = 0.4F; - this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, f * 2.0F, 0.5F + f); - } - - @Override - public void updateTick(World world, int x, int y, int z, Random rand) { - if (!world.isRemote) { - super.updateTick(world, x, y, z, rand); - if (world.getBlockLightValue(x, y + 1, z) > 9 && rand.nextInt(20) == 0) { - this.growTree(world, x, y, z, rand); - } - } - - } - - public void growTree(World world, int x, int y, int z, Random rand) { - int height = rand.nextInt(4) + 5; - - int i; - for (i = 0; i < height; ++i) { - world.setBlock(x, y + i, z, AtumBlocks.BLOCK_LOG, 0, 2); - } - - world.setBlock(x, y + height, z, AtumBlocks.BLOCK_LEAVES, 0, 2); - - for (i = -1; i < 2; ++i) { - for (int j = -1; j < 2; ++j) { - if (i != 0 || j != 0) { - world.setBlock(x + i, y + height - 1, z + j, AtumBlocks.BLOCK_LEAVES, 0, 2); - } - } - } - - world.setBlock(x + 2, y + height - 1, z, AtumBlocks.BLOCK_LEAVES, 0, 2); - world.setBlock(x + 2, y + height - 2, z, AtumBlocks.BLOCK_LEAVES, 0, 2); - world.setBlock(x + 3, y + height - 2, z, AtumBlocks.BLOCK_LEAVES, 0, 2); - if (rand.nextInt(100) < 15) { - world.setBlock(x + 1, y + height - 2, z, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); - } - - world.setBlock(x - 2, y + height - 1, z, AtumBlocks.BLOCK_LEAVES, 0, 2); - world.setBlock(x - 2, y + height - 2, z, AtumBlocks.BLOCK_LEAVES, 0, 2); - world.setBlock(x - 3, y + height - 2, z, AtumBlocks.BLOCK_LEAVES, 0, 2); - if (rand.nextInt(100) < 15) { - world.setBlock(x - 1, y + height - 2, z, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); - } - - world.setBlock(x, y + height - 1, z + 2, AtumBlocks.BLOCK_LEAVES, 0, 2); - world.setBlock(x, y + height - 2, z + 2, AtumBlocks.BLOCK_LEAVES, 0, 2); - world.setBlock(x, y + height - 2, z + 3, AtumBlocks.BLOCK_LEAVES, 0, 2); - if (rand.nextInt(100) < 15) { - world.setBlock(x, y + height - 2, z + 1, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); - } - - world.setBlock(x, y + height - 1, z - 2, AtumBlocks.BLOCK_LEAVES, 0, 2); - world.setBlock(x, y + height - 2, z - 2, AtumBlocks.BLOCK_LEAVES, 0, 2); - world.setBlock(x, y + height - 2, z - 3, AtumBlocks.BLOCK_LEAVES, 0, 2); - if (rand.nextInt(100) < 15) { - world.setBlock(x, y + height - 2, z - 1, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); - } - - } - - @Override - protected boolean canPlaceBlockOn(Block id) { - return id == AtumBlocks.BLOCK_SAND || id == Blocks.grass || id == Blocks.dirt; - } - - @Override - public boolean canBlockStay(World world, int x, int y, int z) { - return world.getBlock(x, y - 1, z) == AtumBlocks.BLOCK_SAND || world.getBlock(x, y - 1, z) == Blocks.grass || world.getBlock(x, y - 1, z) == Blocks.dirt; - } - - @Override - public void registerBlockIcons(IIconRegister par1IIconRegister) { - this.blockIcon = par1IIconRegister.registerIcon("atum:AtumPalmSapling"); - } + protected BlockPalmSapling() { + super(); + this.setBlockName("palmSapling"); + float f = 0.4F; + this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, f * 2.0F, 0.5F + f); + } + + @Override + public void updateTick(World world, int x, int y, int z, Random rand) { + if (!world.isRemote) { + super.updateTick(world, x, y, z, rand); + if (world.getBlockLightValue(x, y + 1, z) > 9 && rand.nextInt(20) == 0) { + this.growTree(world, x, y, z, rand); + } + } + + } + + public void growTree(World world, int x, int y, int z, Random rand) { + int height = rand.nextInt(4) + 5; + + int i; + for (i = 0; i < height; ++i) { + world.setBlock(x, y + i, z, AtumBlocks.BLOCK_LOG, 0, 2); + } + + world.setBlock(x, y + height, z, AtumBlocks.BLOCK_LEAVES, 0, 2); + + for (i = -1; i < 2; ++i) { + for (int j = -1; j < 2; ++j) { + if (i != 0 || j != 0) { + world.setBlock(x + i, y + height - 1, z + j, AtumBlocks.BLOCK_LEAVES, 0, 2); + } + } + } + + world.setBlock(x + 2, y + height - 1, z, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x + 2, y + height - 2, z, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x + 3, y + height - 2, z, AtumBlocks.BLOCK_LEAVES, 0, 2); + if (rand.nextInt(100) < 15) { + world.setBlock(x + 1, y + height - 2, z, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); + } + + world.setBlock(x - 2, y + height - 1, z, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x - 2, y + height - 2, z, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x - 3, y + height - 2, z, AtumBlocks.BLOCK_LEAVES, 0, 2); + if (rand.nextInt(100) < 15) { + world.setBlock(x - 1, y + height - 2, z, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); + } + + world.setBlock(x, y + height - 1, z + 2, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x, y + height - 2, z + 2, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x, y + height - 2, z + 3, AtumBlocks.BLOCK_LEAVES, 0, 2); + if (rand.nextInt(100) < 15) { + world.setBlock(x, y + height - 2, z + 1, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); + } + + world.setBlock(x, y + height - 1, z - 2, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x, y + height - 2, z - 2, AtumBlocks.BLOCK_LEAVES, 0, 2); + world.setBlock(x, y + height - 2, z - 3, AtumBlocks.BLOCK_LEAVES, 0, 2); + if (rand.nextInt(100) < 15) { + world.setBlock(x, y + height - 2, z - 1, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); + } + + } + + @Override + protected boolean canPlaceBlockOn(Block id) { + return id == AtumBlocks.BLOCK_SAND || id == Blocks.grass || id == Blocks.dirt; + } + + @Override + public boolean canBlockStay(World world, int x, int y, int z) { + return world.getBlock(x, y - 1, z) == AtumBlocks.BLOCK_SAND || world.getBlock(x, y - 1, z) == Blocks.grass || world.getBlock(x, y - 1, z) == Blocks.dirt; + } + + @Override + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("atum:AtumPalmSapling"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPapyrus.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPapyrus.java index f188d43..7d74eed 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockPapyrus.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPapyrus.java @@ -21,157 +21,157 @@ import java.util.Random; public class BlockPapyrus extends Block implements IPlantable { - public int renderID = RenderingRegistry.getNextAvailableRenderId(); - IIcon iconPapyrus; - IIcon iconPapyrusTop; - - public BlockPapyrus() { - super(Material.plants); - this.setBlockName("papyrus"); - this.setHardness(0.0F); - this.setStepSound(Block.soundTypeGrass); - float f = 0.375F; - this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 1.0F, 0.5F + f); - this.setTickRandomly(true); - } - - @Override - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { - if (par5EntityPlayer.capabilities.isCreativeMode) { - this.updateTick(par1World, par2, par3, par4, new Random()); - } - - return super.onBlockActivated(par1World, par2, par3, par4, par5EntityPlayer, par6, par7, par8, par9); - } - - @Override - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if ((double) par5Random.nextFloat() <= 0.75D) { - if (par1World.isAirBlock(par2, par3 + 1, par4)) { - int l; - for (l = 1; par1World.getBlock(par2, par3 - l, par4) == this; ++l) { - ; - } - - if (l < 5) { - int i1 = par1World.getBlockMetadata(par2, par3, par4); - byte reqHeight = 0; - if (l == 1) { - reqHeight = 2; - } else if (l == 2) { - reqHeight = 4; - } else if (l == 3) { - reqHeight = 8; - } else if (l == 4) { - reqHeight = 15; - } - - if (i1 >= reqHeight) { - par1World.setBlock(par2, par3 + 1, par4, this); - par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 4); - } else { - par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 + 1, 4); - } - } - } - - } - } - - @Override - public IIcon getIcon(int par1, int par2) { - return this.iconPapyrus; - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { - boolean top = par1IBlockAccess.getBlock(par2, par3 + 1, par4) != this; - return top ? this.iconPapyrusTop : this.iconPapyrus; - } - - @Override - public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4) { - Block block = par1World.getBlock(par2, par3 - 1, par4); - return block != null && block.canSustainPlant(par1World, par2, par3 - 1, par4, ForgeDirection.UP, this); - } - - @Override - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, Block par5) { - this.checkBlockCoordValid(par1World, par2, par3, par4); - } - - protected final void checkBlockCoordValid(World par1World, int par2, int par3, int par4) { - if (!this.canBlockStay(par1World, par2, par3, par4)) { - this.dropBlockAsItem(par1World, par2, par3, par4, par1World.getBlockMetadata(par2, par3, par4), 0); - par1World.setBlockToAir(par2, par3, par4); - } - - } - - @Override - public boolean canBlockStay(World par1World, int par2, int par3, int par4) { - return this.canPlaceBlockAt(par1World, par2, par3, par4); - } - - @Override - public boolean canSustainPlant(IBlockAccess world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { - EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); - if (plant.getPlant(world, x, y + 1, z) == this) { - return true; - } else if (plantType != EnumPlantType.Beach) { - return false; - } else { - boolean isBeach = this == Blocks.dirt || (Block) this == Blocks.sand; - boolean hasWater = world.getBlock(x - 1, y, z).getMaterial() == Material.water || world.getBlock(x + 1, y, z).getMaterial() == Material.water || world.getBlock(x, y, z - 1).getMaterial() == Material.water || world.getBlock(x, y, z + 1).getMaterial() == Material.water; - return isBeach && hasWater; - } - } - - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { - return null; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public boolean renderAsNormalBlock() { - return false; - } - - @Override - public int getRenderType() { - return renderID; - } - - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { - return AtumItems.papyrusPlant; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister par1IIconRegister) { - this.iconPapyrus = par1IIconRegister.registerIcon("atum:AtumPapyrus"); - this.iconPapyrusTop = par1IIconRegister.registerIcon("atum:AtumPapyrusTop"); - } - - @Override - public Block getPlant(IBlockAccess arg0, int arg1, int arg2, int arg3) { - return this; - } - - @Override - public int getPlantMetadata(IBlockAccess world, int x, int y, int z) { - return world.getBlockMetadata(x, y, z); - } - - @Override - public EnumPlantType getPlantType(IBlockAccess arg0, int arg1, int arg2, int arg3) { - return EnumPlantType.Beach; - } + public int renderID = RenderingRegistry.getNextAvailableRenderId(); + IIcon iconPapyrus; + IIcon iconPapyrusTop; + + public BlockPapyrus() { + super(Material.plants); + this.setBlockName("papyrus"); + this.setHardness(0.0F); + this.setStepSound(Block.soundTypeGrass); + float f = 0.375F; + this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 1.0F, 0.5F + f); + this.setTickRandomly(true); + } + + @Override + public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { + if (par5EntityPlayer.capabilities.isCreativeMode) { + this.updateTick(par1World, par2, par3, par4, new Random()); + } + + return super.onBlockActivated(par1World, par2, par3, par4, par5EntityPlayer, par6, par7, par8, par9); + } + + @Override + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + if ((double) par5Random.nextFloat() <= 0.75D) { + if (par1World.isAirBlock(par2, par3 + 1, par4)) { + int l; + for (l = 1; par1World.getBlock(par2, par3 - l, par4) == this; ++l) { + ; + } + + if (l < 5) { + int i1 = par1World.getBlockMetadata(par2, par3, par4); + byte reqHeight = 0; + if (l == 1) { + reqHeight = 2; + } else if (l == 2) { + reqHeight = 4; + } else if (l == 3) { + reqHeight = 8; + } else if (l == 4) { + reqHeight = 15; + } + + if (i1 >= reqHeight) { + par1World.setBlock(par2, par3 + 1, par4, this); + par1World.setBlockMetadataWithNotify(par2, par3, par4, 0, 4); + } else { + par1World.setBlockMetadataWithNotify(par2, par3, par4, i1 + 1, 4); + } + } + } + + } + } + + @Override + public IIcon getIcon(int par1, int par2) { + return this.iconPapyrus; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + boolean top = par1IBlockAccess.getBlock(par2, par3 + 1, par4) != this; + return top ? this.iconPapyrusTop : this.iconPapyrus; + } + + @Override + public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4) { + Block block = par1World.getBlock(par2, par3 - 1, par4); + return block != null && block.canSustainPlant(par1World, par2, par3 - 1, par4, ForgeDirection.UP, this); + } + + @Override + public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, Block par5) { + this.checkBlockCoordValid(par1World, par2, par3, par4); + } + + protected final void checkBlockCoordValid(World par1World, int par2, int par3, int par4) { + if (!this.canBlockStay(par1World, par2, par3, par4)) { + this.dropBlockAsItem(par1World, par2, par3, par4, par1World.getBlockMetadata(par2, par3, par4), 0); + par1World.setBlockToAir(par2, par3, par4); + } + + } + + @Override + public boolean canBlockStay(World par1World, int par2, int par3, int par4) { + return this.canPlaceBlockAt(par1World, par2, par3, par4); + } + + @Override + public boolean canSustainPlant(IBlockAccess world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { + EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); + if (plant.getPlant(world, x, y + 1, z) == this) { + return true; + } else if (plantType != EnumPlantType.Beach) { + return false; + } else { + boolean isBeach = this == Blocks.dirt || (Block) this == Blocks.sand; + boolean hasWater = world.getBlock(x - 1, y, z).getMaterial() == Material.water || world.getBlock(x + 1, y, z).getMaterial() == Material.water || world.getBlock(x, y, z - 1).getMaterial() == Material.water || world.getBlock(x, y, z + 1).getMaterial() == Material.water; + return isBeach && hasWater; + } + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { + return null; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + public int getRenderType() { + return renderID; + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return AtumItems.papyrusPlant; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.iconPapyrus = par1IIconRegister.registerIcon("atum:AtumPapyrus"); + this.iconPapyrusTop = par1IIconRegister.registerIcon("atum:AtumPapyrusTop"); + } + + @Override + public Block getPlant(IBlockAccess arg0, int arg1, int arg2, int arg3) { + return this; + } + + @Override + public int getPlantMetadata(IBlockAccess world, int x, int y, int z) { + return world.getBlockMetadata(x, y, z); + } + + @Override + public EnumPlantType getPlantType(IBlockAccess arg0, int arg1, int arg2, int arg3) { + return EnumPlantType.Beach; + } } \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java index 064f9ba..62c1e46 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java @@ -28,175 +28,175 @@ public class BlockPharaohChest extends BlockContainer { - protected BlockPharaohChest() { - super(Material.wood); - this.setBlockName("pharaohChest"); - this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); - this.setHardness(4.0F); - } - - public static boolean isOcelotBlockingChest(World par0World, int par1, int par2, int par3) { - Iterator iterator = par0World.getEntitiesWithinAABB(EntityOcelot.class, AxisAlignedBB.getBoundingBox((double) par1, (double) (par2 + 1), (double) par3, (double) (par1 + 1), (double) (par2 + 2), (double) (par3 + 1))).iterator(); - - while (iterator.hasNext()) { - EntityOcelot entityocelot1 = (EntityOcelot) iterator.next(); - if (entityocelot1.isSitting()) { - return true; - } - } - - return false; - } - - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { - return Item.getItemFromBlock(Blocks.chest); - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - public boolean renderAsNormalBlock() { - return false; - } - - @Override - public int getRenderType() { - return 22; - } - - @Override - public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { - this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); - } - - @Override - public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLivingBase par5EntityLiving, ItemStack par6ItemStack) { - Block l = par1World.getBlock(par2, par3, par4 - 1); - Block i1 = par1World.getBlock(par2, par3, par4 + 1); - Block j1 = par1World.getBlock(par2 - 1, par3, par4); - Block k1 = par1World.getBlock(par2 + 1, par3, par4); - byte b0 = 0; - int l1 = MathHelper.floor_double((double) (par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; - if (l1 == 0) { - b0 = 2; - } - - if (l1 == 1) { - b0 = 5; - } - - if (l1 == 2) { - b0 = 3; - } - - if (l1 == 3) { - b0 = 4; - } - - if (l != this && i1 != this && j1 != this && k1 != this) { - par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); - } else { - if ((l == this || i1 == this) && (b0 == 4 || b0 == 5)) { - if (l == this) { - par1World.setBlockMetadataWithNotify(par2, par3, par4 - 1, b0, 3); - } else { - par1World.setBlockMetadataWithNotify(par2, par3, par4 + 1, b0, 3); - } - - par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); - } - - if ((j1 == this || k1 == this) && (b0 == 2 || b0 == 3)) { - if (j1 == this) { - par1World.setBlockMetadataWithNotify(par2 - 1, par3, par4, b0, 3); - } else { - par1World.setBlockMetadataWithNotify(par2 + 1, par3, par4, b0, 3); - } - - par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); - } - } - - if (par6ItemStack.hasDisplayName()) { - ((TileEntityPharaohChest) par1World.getTileEntity(par2, par3, par4)).func_94043_a(par6ItemStack.getDisplayName()); - } - - AtumLoot.fillChest((TileEntityPharaohChest) par1World.getTileEntity(par2, par3, par4), 15, 0.9F); - } - - @Override - public void breakBlock(World world, int x, int y, int z, Block block, int p_149749_6_) { - TileEntityPharaohChest tileEntityPharaohChest = (TileEntityPharaohChest) world.getTileEntity(x, y, z); - if (tileEntityPharaohChest != null) { - world.func_147453_f(x, y, z, block); - } - - super.breakBlock(world, x, y, z, block, p_149749_6_); - } - - @Override - public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { - TileEntity te = par1World.getTileEntity(par2, par3, par4); - if (te instanceof TileEntityPharaohChest) { - TileEntityPharaohChest iinventory = (TileEntityPharaohChest) te; - if (!iinventory.hasSpawned()) { - iinventory.spawn(par5EntityPlayer); - } - } - - if (par1World.isRemote) { - return true; - } else { - IInventory iinventory1 = this.getInventory(par1World, par2, par3, par4); - if (iinventory1 != null) { - par5EntityPlayer.displayGUIChest(iinventory1); - } - - return true; - } - } - - public IInventory getInventory(World par1World, int par2, int par3, int par4) { - TileEntityPharaohChest object = (TileEntityPharaohChest) par1World.getTileEntity(par2, par3, par4); - return object == null ? null : (par1World.isSideSolid(par2, par3 + 1, par4, ForgeDirection.DOWN) ? null : (isOcelotBlockingChest(par1World, par2, par3, par4) ? null : (IInventory) object)); - } - - @Override - public int isProvidingWeakPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { - if (!this.canProvidePower()) { - return 0; - } else { - int i1 = ((TileEntityPharaohChest) par1IBlockAccess.getTileEntity(par2, par3, par4)).numPlayersUsing; - return MathHelper.clamp_int(i1, 0, 15); - } - } - - @Override - public int isProvidingStrongPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { - return par5 == 1 ? this.isProvidingWeakPower(par1IBlockAccess, par2, par3, par4, par5) : 0; - } - - @Override - public boolean hasComparatorInputOverride() { - return true; - } - - @Override - public int getComparatorInputOverride(World par1World, int par2, int par3, int par4, int par5) { - return Container.calcRedstoneFromInventory(this.getInventory(par1World, par2, par3, par4)); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister par1IIconRegister) { - this.blockIcon = par1IIconRegister.registerIcon("log_oak"); - } - - @Override - public TileEntity createNewTileEntity(World var1, int var2) { - return new TileEntityPharaohChest(); - } + protected BlockPharaohChest() { + super(Material.wood); + this.setBlockName("pharaohChest"); + this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); + this.setHardness(4.0F); + } + + public static boolean isOcelotBlockingChest(World par0World, int par1, int par2, int par3) { + Iterator iterator = par0World.getEntitiesWithinAABB(EntityOcelot.class, AxisAlignedBB.getBoundingBox((double) par1, (double) (par2 + 1), (double) par3, (double) (par1 + 1), (double) (par2 + 2), (double) (par3 + 1))).iterator(); + + while (iterator.hasNext()) { + EntityOcelot entityocelot1 = (EntityOcelot) iterator.next(); + if (entityocelot1.isSitting()) { + return true; + } + } + + return false; + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return Item.getItemFromBlock(Blocks.chest); + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + public boolean renderAsNormalBlock() { + return false; + } + + @Override + public int getRenderType() { + return 22; + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { + this.setBlockBounds(0.0625F, 0.0F, 0.0625F, 0.9375F, 0.875F, 0.9375F); + } + + @Override + public void onBlockPlacedBy(World par1World, int par2, int par3, int par4, EntityLivingBase par5EntityLiving, ItemStack par6ItemStack) { + Block l = par1World.getBlock(par2, par3, par4 - 1); + Block i1 = par1World.getBlock(par2, par3, par4 + 1); + Block j1 = par1World.getBlock(par2 - 1, par3, par4); + Block k1 = par1World.getBlock(par2 + 1, par3, par4); + byte b0 = 0; + int l1 = MathHelper.floor_double((double) (par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; + if (l1 == 0) { + b0 = 2; + } + + if (l1 == 1) { + b0 = 5; + } + + if (l1 == 2) { + b0 = 3; + } + + if (l1 == 3) { + b0 = 4; + } + + if (l != this && i1 != this && j1 != this && k1 != this) { + par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); + } else { + if ((l == this || i1 == this) && (b0 == 4 || b0 == 5)) { + if (l == this) { + par1World.setBlockMetadataWithNotify(par2, par3, par4 - 1, b0, 3); + } else { + par1World.setBlockMetadataWithNotify(par2, par3, par4 + 1, b0, 3); + } + + par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); + } + + if ((j1 == this || k1 == this) && (b0 == 2 || b0 == 3)) { + if (j1 == this) { + par1World.setBlockMetadataWithNotify(par2 - 1, par3, par4, b0, 3); + } else { + par1World.setBlockMetadataWithNotify(par2 + 1, par3, par4, b0, 3); + } + + par1World.setBlockMetadataWithNotify(par2, par3, par4, b0, 3); + } + } + + if (par6ItemStack.hasDisplayName()) { + ((TileEntityPharaohChest) par1World.getTileEntity(par2, par3, par4)).func_94043_a(par6ItemStack.getDisplayName()); + } + + AtumLoot.fillChest((TileEntityPharaohChest) par1World.getTileEntity(par2, par3, par4), 15, 0.9F); + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int p_149749_6_) { + TileEntityPharaohChest tileEntityPharaohChest = (TileEntityPharaohChest) world.getTileEntity(x, y, z); + if (tileEntityPharaohChest != null) { + world.func_147453_f(x, y, z, block); + } + + super.breakBlock(world, x, y, z, block, p_149749_6_); + } + + @Override + public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { + TileEntity te = par1World.getTileEntity(par2, par3, par4); + if (te instanceof TileEntityPharaohChest) { + TileEntityPharaohChest iinventory = (TileEntityPharaohChest) te; + if (!iinventory.hasSpawned()) { + iinventory.spawn(par5EntityPlayer); + } + } + + if (par1World.isRemote) { + return true; + } else { + IInventory iinventory1 = this.getInventory(par1World, par2, par3, par4); + if (iinventory1 != null) { + par5EntityPlayer.displayGUIChest(iinventory1); + } + + return true; + } + } + + public IInventory getInventory(World par1World, int par2, int par3, int par4) { + TileEntityPharaohChest object = (TileEntityPharaohChest) par1World.getTileEntity(par2, par3, par4); + return object == null ? null : (par1World.isSideSolid(par2, par3 + 1, par4, ForgeDirection.DOWN) ? null : (isOcelotBlockingChest(par1World, par2, par3, par4) ? null : (IInventory) object)); + } + + @Override + public int isProvidingWeakPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + if (!this.canProvidePower()) { + return 0; + } else { + int i1 = ((TileEntityPharaohChest) par1IBlockAccess.getTileEntity(par2, par3, par4)).numPlayersUsing; + return MathHelper.clamp_int(i1, 0, 15); + } + } + + @Override + public int isProvidingStrongPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + return par5 == 1 ? this.isProvidingWeakPower(par1IBlockAccess, par2, par3, par4, par5) : 0; + } + + @Override + public boolean hasComparatorInputOverride() { + return true; + } + + @Override + public int getComparatorInputOverride(World par1World, int par2, int par3, int par4, int par5) { + return Container.calcRedstoneFromInventory(this.getInventory(par1World, par2, par3, par4)); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("log_oak"); + } + + @Override + public TileEntity createNewTileEntity(World var1, int var2) { + return new TileEntityPharaohChest(); + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java index a227bc6..1bbaa40 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java @@ -1,7 +1,6 @@ package com.teammetallurgy.atum.blocks; import com.teammetallurgy.atum.AtumIDS; -import com.teammetallurgy.atum.lib.tickhandler.ClientEvents; import com.teammetallurgy.atum.world.AtumTeleporter; import cpw.mods.fml.common.ObfuscationReflectionHelper; import cpw.mods.fml.relauncher.Side; @@ -9,7 +8,6 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockBreakable; import net.minecraft.block.material.Material; -import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.Blocks; @@ -24,159 +22,155 @@ public class BlockPortal extends BlockBreakable { - public BlockPortal() { - super("atum:portal", Material.portal, true); - this.setTickRandomly(true); - this.setHardness(-1.0F); - this.setBlockName("portal"); - } - - @Override - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { - super.updateTick(par1World, par2, par3, par4, par5Random); - if (par1World.provider.isSurfaceWorld() && par5Random.nextInt(2000) < par1World.difficultySetting.getDifficultyId()) { - ; - } - - } - - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { - return null; - } - - @Override - public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { - } - - @Override - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, Block par5) { - for (int x = -1; x < 2; x++) { - for (int z = -1; z < 2; z++) { - for (int y = -1; y < 1; y++) { - if (par1World.getBlock(par2 + x, par3 + y, par4 + z) != Blocks.sandstone && par1World.getBlock(par2 + x, par3 + y, par4 + z) != this && par1World.getBlock(par2 + x, par3 + y, par4 + z) != AtumBlocks.BLOCK_LARGEBRICK) { - par1World.setBlockToAir(par2, par3, par4); - } - } - } - } - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - public boolean tryToCreatePortal(World par1World, int x, int y, int z, Block block) { - for (int x1 = -2; x1 < 3; x1++) { - for (int z1 = -2; z1 < 3; z1++) { - Block blocks = par1World.getBlock(x + x1, y, z + z1); - if (blocks != block) { - return false; - } - } - } - for (int x1 = -2; x1 < 3; x1++) { - for (int z1 = -2; z1 < 3; z1++) { - if (x1 + x == x + 2 || z1 + z == z + 2 || x1 + x == x - 2 || z1 + z == z - 2) { - Block blocks = par1World.getBlock(x + x1, y + 1, z + z1); - if (blocks != block) { - return false; - } - } - } - } - for (int y1 = 2; y1 < 4; y1++) { - for (int x1 = -2; x1 < 3; x1++) { - for (int z1 = -2; z1 < 3; z1++) { - if ((x1 + x == x + 2 && z1 + z == z + 2) || (x1 + x == x - 2 && z1 + z == z + 2) || (x1 + x == x + 2 && z1 + z == z - 2) || (x1 + x == x - 2 && z1 + z == z - 2)) { - Block blocks = par1World.getBlock(x + x1, y + y1, z + z1); - if (blocks != block) { - return false; - } - } - } - } - } - for (int x1 = -1; x1 < 2; x1++) { - for (int z1 = -1; z1 < 2; z1++) { - par1World.setBlock(x + x1, y + 1, z + z1, AtumBlocks.BLOCK_PORTAL, 0, 2); - } - } - return true; - } - - @Override - public int quantityDropped(Random par1Random) { - return 0; - } - - @Override - public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int par4, Entity par5Entity) { - if (par5Entity.ridingEntity == null && par5Entity.riddenByEntity == null && par5Entity instanceof EntityPlayerMP) { - EntityPlayerMP player = (EntityPlayerMP) par5Entity; - if (par5Entity.timeUntilPortal == 0 && par5Entity instanceof EntityPlayerMP) { - par5Entity.timeUntilPortal = 100; - MinecraftServer minecraftserver = MinecraftServer.getServer(); - int dimID = par5Entity.dimension; - WorldServer worldserver = minecraftserver.worldServerForDimension(0); - WorldServer worldserver1 = minecraftserver.worldServerForDimension(AtumIDS.DIMENSION_ID); - if (dimID == AtumIDS.DIMENSION_ID) { - minecraftserver.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP) par5Entity, 0, new AtumTeleporter(worldserver)); - if (par1World.isRemote) { - Minecraft.getMinecraft().gameSettings.renderDistanceChunks = ClientEvents.defaultFog; - } - } else { - minecraftserver.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP) par5Entity, AtumIDS.DIMENSION_ID, new AtumTeleporter(worldserver1)); - } - - try { - EntityPlayerMP e = (EntityPlayerMP) player; - ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[]{"lastExperience", "cp", "field_71144_ck"}); - ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[]{"lastHealth", "cm", "field_71149_ch"}); - ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, e, Integer.valueOf(-1), new String[]{"lastFoodLevel", "cn", "field_71146_ci"}); - } catch (Exception var12) { - var12.printStackTrace(); - } - } - } - - } - - @Override - @SideOnly(Side.CLIENT) - public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if (par5Random.nextInt(100) == 0) { - par1World.playSound((double) par2 + 0.5D, (double) par3 + 0.5D, (double) par4 + 0.5D, "portal.portal", 0.5F, par5Random.nextFloat() * 0.4F + 0.8F, false); - } - - for (int l = 0; l < 8; ++l) { - double d0 = (double) ((float) par2 + par5Random.nextFloat()); - double d1 = (double) ((float) par3 + par5Random.nextFloat()); - double d2 = (double) ((float) par4 + par5Random.nextFloat()); - double d3 = 0.0D; - double d4 = 0.0D; - double d5 = 0.0D; - int i1 = par5Random.nextInt(2) * 2 - 1; - d3 = ((double) par5Random.nextFloat() - 0.5D) * 0.5D; - d4 = ((double) par5Random.nextFloat() - 0.5D) * 0.5D; - d5 = ((double) par5Random.nextFloat() - 0.5D) * 0.5D; - if (par5Random.nextDouble() > 0.5D) { - d0 = (double) par2 + 0.5D + 0.25D * (double) i1; - d3 = (double) (par5Random.nextFloat() * 2.0F * (float) i1); - } else { - d2 = (double) par4 + 0.5D + 0.25D * (double) i1; - d5 = (double) (par5Random.nextFloat() * 2.0F * (float) i1); - } - - par1World.spawnParticle("sandportal", d0, d1, d2, d3, d4, d5); - } - - } - - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { - return null; - } + public BlockPortal() { + super("atum:portal", Material.portal, true); + this.setTickRandomly(true); + this.setHardness(-1.0F); + this.setBlockName("portal"); + } + + @Override + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + super.updateTick(par1World, par2, par3, par4, par5Random); + if (par1World.provider.isSurfaceWorld() && par5Random.nextInt(2000) < par1World.difficultySetting.getDifficultyId()) { + ; + } + + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { + return null; + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { + } + + @Override + public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, Block par5) { + for (int x = -1; x < 2; x++) { + for (int z = -1; z < 2; z++) { + for (int y = -1; y < 1; y++) { + if (par1World.getBlock(par2 + x, par3 + y, par4 + z) != Blocks.sandstone && par1World.getBlock(par2 + x, par3 + y, par4 + z) != this && par1World.getBlock(par2 + x, par3 + y, par4 + z) != AtumBlocks.BLOCK_LARGEBRICK) { + par1World.setBlockToAir(par2, par3, par4); + } + } + } + } + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + public boolean tryToCreatePortal(World par1World, int x, int y, int z, Block block) { + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + Block blocks = par1World.getBlock(x + x1, y, z + z1); + if (blocks != block) { + return false; + } + } + } + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + if (x1 + x == x + 2 || z1 + z == z + 2 || x1 + x == x - 2 || z1 + z == z - 2) { + Block blocks = par1World.getBlock(x + x1, y + 1, z + z1); + if (blocks != block) { + return false; + } + } + } + } + for (int y1 = 2; y1 < 4; y1++) { + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + if ((x1 + x == x + 2 && z1 + z == z + 2) || (x1 + x == x - 2 && z1 + z == z + 2) || (x1 + x == x + 2 && z1 + z == z - 2) || (x1 + x == x - 2 && z1 + z == z - 2)) { + Block blocks = par1World.getBlock(x + x1, y + y1, z + z1); + if (blocks != block) { + return false; + } + } + } + } + } + for (int x1 = -1; x1 < 2; x1++) { + for (int z1 = -1; z1 < 2; z1++) { + par1World.setBlock(x + x1, y + 1, z + z1, AtumBlocks.BLOCK_PORTAL, 0, 2); + } + } + return true; + } + + @Override + public int quantityDropped(Random par1Random) { + return 0; + } + + @Override + public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int par4, Entity par5Entity) { + if (par5Entity.ridingEntity == null && par5Entity.riddenByEntity == null && par5Entity instanceof EntityPlayerMP) { + EntityPlayerMP player = (EntityPlayerMP) par5Entity; + if (par5Entity.timeUntilPortal == 0 && par5Entity instanceof EntityPlayerMP) { + par5Entity.timeUntilPortal = 100; + MinecraftServer minecraftserver = MinecraftServer.getServer(); + int dimID = par5Entity.dimension; + WorldServer worldserver = minecraftserver.worldServerForDimension(0); + WorldServer worldserver1 = minecraftserver.worldServerForDimension(AtumIDS.DIMENSION_ID); + if (dimID == AtumIDS.DIMENSION_ID) { + minecraftserver.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP) par5Entity, 0, new AtumTeleporter(worldserver)); + } else { + minecraftserver.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP) par5Entity, AtumIDS.DIMENSION_ID, new AtumTeleporter(worldserver1)); + } + + try { + ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, player, Integer.valueOf(-1), new String[]{"lastExperience", "cp", "field_71144_ck"}); + ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, player, Integer.valueOf(-1), new String[]{"lastHealth", "cm", "field_71149_ch"}); + ObfuscationReflectionHelper.setPrivateValue(EntityPlayerMP.class, player, Integer.valueOf(-1), new String[]{"lastFoodLevel", "cn", "field_71146_ci"}); + } catch (Exception var12) { + var12.printStackTrace(); + } + } + } + + } + + @Override + @SideOnly(Side.CLIENT) + public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random) { + if (par5Random.nextInt(100) == 0) { + par1World.playSound((double) par2 + 0.5D, (double) par3 + 0.5D, (double) par4 + 0.5D, "portal.portal", 0.5F, par5Random.nextFloat() * 0.4F + 0.8F, false); + } + + for (int l = 0; l < 8; ++l) { + double d0 = (double) ((float) par2 + par5Random.nextFloat()); + double d1 = (double) ((float) par3 + par5Random.nextFloat()); + double d2 = (double) ((float) par4 + par5Random.nextFloat()); + double d3 = 0.0D; + double d4 = 0.0D; + double d5 = 0.0D; + int i1 = par5Random.nextInt(2) * 2 - 1; + d3 = ((double) par5Random.nextFloat() - 0.5D) * 0.5D; + d4 = ((double) par5Random.nextFloat() - 0.5D) * 0.5D; + d5 = ((double) par5Random.nextFloat() - 0.5D) * 0.5D; + if (par5Random.nextDouble() > 0.5D) { + d0 = (double) par2 + 0.5D + 0.25D * (double) i1; + d3 = (double) (par5Random.nextFloat() * 2.0F * (float) i1); + } else { + d2 = (double) par4 + 0.5D + 0.25D * (double) i1; + d5 = (double) (par5Random.nextFloat() * 2.0F * (float) i1); + } + + par1World.spawnParticle("sandportal", d0, d1, d2, d3, d4, d5); + } + + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return null; + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockSandLayered.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockSandLayered.java index c966392..65d204a 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockSandLayered.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockSandLayered.java @@ -16,102 +16,102 @@ public class BlockSandLayered extends Block { - public BlockSandLayered() { - super(Material.sand); - this.setBlockName("sandLayer"); - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.125F, 1.0F); - this.setTickRandomly(true); - this.func_96478_d(0); - } - - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister par1IIconRegister) { - this.blockIcon = par1IIconRegister.registerIcon("atum:AtumSand"); - } - - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { - return null; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public boolean renderAsNormalBlock() { - return false; - } - - @Override - public void setBlockBoundsForItemRender() { - this.func_96478_d(0); - } - - @Override - public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { - this.func_96478_d(par1IBlockAccess.getBlockMetadata(par2, par3, par4)); - } - - protected void func_96478_d(int par1) { - int j = par1 & 7; - float f = (float) (2 * (1 + j)) / 16.0F; - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, f, 1.0F); - } - - @Override - public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4) { - Block block = par1World.getBlock(par2, par3 - 1, par4); - return block == null ? false : (block == this ? true : (block == this && (par1World.getBlockMetadata(par2, par3 - 1, par4) & 7) == 7 ? true : (!block.isLeaves(par1World, par2, par3 - 1, par4) && !block.isOpaqueCube() ? false : par1World.getBlock(par2, par3 - 1, par4).getMaterial().blocksMovement()))); - } - - @Override - public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, Block par5) { - this.canSnowStay(par1World, par2, par3, par4); - } - - private boolean canSnowStay(World par1World, int par2, int par3, int par4) { - if (!this.canPlaceBlockAt(par1World, par2, par3, par4)) { - par1World.setBlockToAir(par2, par3, par4); - return false; - } else { - return false; - } - } - - @Override - public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6) { - super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6); - par1World.setBlockToAir(par3, par4, par5); - } - - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { - return null; - } - - @Override - public int quantityDropped(Random par1Random) { - return 0; - } - - @Override - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { - if (par1World.getSavedLightValue(EnumSkyBlock.Block, par2, par3, par4) > 11) { - par1World.setBlockToAir(par2, par3, par4); - } - - } - - @Override - @SideOnly(Side.CLIENT) - public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { - return par5 == 1 ? true : super.shouldSideBeRendered(par1IBlockAccess, par2, par3, par4, par5); - } - - @Override - public int quantityDropped(int meta, int fortune, Random random) { - return (meta & 7) + 1; - } + public BlockSandLayered() { + super(Material.sand); + this.setBlockName("sandLayer"); + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.125F, 1.0F); + this.setTickRandomly(true); + this.func_96478_d(0); + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("atum:AtumSand"); + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4) { + return null; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + public void setBlockBoundsForItemRender() { + this.func_96478_d(0); + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { + this.func_96478_d(par1IBlockAccess.getBlockMetadata(par2, par3, par4)); + } + + protected void func_96478_d(int par1) { + int j = par1 & 7; + float f = (float) (2 * (1 + j)) / 16.0F; + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, f, 1.0F); + } + + @Override + public boolean canPlaceBlockAt(World par1World, int par2, int par3, int par4) { + Block block = par1World.getBlock(par2, par3 - 1, par4); + return block == null ? false : (block == this ? true : (block == this && (par1World.getBlockMetadata(par2, par3 - 1, par4) & 7) == 7 ? true : (!block.isLeaves(par1World, par2, par3 - 1, par4) && !block.isOpaqueCube() ? false : par1World.getBlock(par2, par3 - 1, par4).getMaterial().blocksMovement()))); + } + + @Override + public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, Block par5) { + this.canSnowStay(par1World, par2, par3, par4); + } + + private boolean canSnowStay(World par1World, int par2, int par3, int par4) { + if (!this.canPlaceBlockAt(par1World, par2, par3, par4)) { + par1World.setBlockToAir(par2, par3, par4); + return false; + } else { + return false; + } + } + + @Override + public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6) { + super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6); + par1World.setBlockToAir(par3, par4, par5); + } + + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return null; + } + + @Override + public int quantityDropped(Random par1Random) { + return 0; + } + + @Override + public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { + if (par1World.getSavedLightValue(EnumSkyBlock.Block, par2, par3, par4) > 11) { + par1World.setBlockToAir(par2, par3, par4); + } + + } + + @Override + @SideOnly(Side.CLIENT) + public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { + return par5 == 1 ? true : super.shouldSideBeRendered(par1IBlockAccess, par2, par3, par4, par5); + } + + @Override + public int quantityDropped(int meta, int fortune, Random random) { + return (meta & 7) + 1; + } } \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockSands.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockSands.java index 60fa769..ab32017 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockSands.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockSands.java @@ -6,16 +6,16 @@ public class BlockSands extends Block { - public BlockSands() { - super(Material.sand); - this.setBlockName("sand"); - this.setStepSound(Block.soundTypeSand); - this.setHardness(0.5F); - } + public BlockSands() { + super(Material.sand); + this.setBlockName("sand"); + this.setStepSound(Block.soundTypeSand); + this.setHardness(0.5F); + } - @Override - public void registerBlockIcons(IIconRegister par1IIconRegister) { - this.blockIcon = par1IIconRegister.registerIcon("atum:AtumSand"); - } + @Override + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("atum:AtumSand"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockShrub.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockShrub.java index 4778844..111460a 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockShrub.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockShrub.java @@ -12,31 +12,31 @@ public class BlockShrub extends BlockDeadBush { - protected BlockShrub() { - super(); - this.setHardness(0.0F); - this.setStepSound(Block.soundTypeGrass); - } - - @Override - public boolean canPlaceBlockOn(Block par1) { - return par1 == AtumBlocks.BLOCK_SAND; - } - - @Override - public Item getItemDropped(int par1, Random par2Random, int par3) { - return null; - } - - @Override - public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6) { - if (!par1World.isRemote && par2EntityPlayer.getCurrentEquippedItem() != null && par2EntityPlayer.getCurrentEquippedItem().getItem() == Items.shears) { - //par2EntityPlayer.addStat(StatList.mineBlockStatArray[this], 1); - this.dropBlockAsItem(par1World, par3, par4, par5, new ItemStack(AtumBlocks.BLOCK_SHRUB, 1, par6)); - } else { - super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6); - } - - } + protected BlockShrub() { + super(); + this.setHardness(0.0F); + this.setStepSound(Block.soundTypeGrass); + } + + @Override + public boolean canPlaceBlockOn(Block par1) { + return par1 == AtumBlocks.BLOCK_SAND; + } + + @Override + public Item getItemDropped(int par1, Random par2Random, int par3) { + return null; + } + + @Override + public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6) { + if (!par1World.isRemote && par2EntityPlayer.getCurrentEquippedItem() != null && par2EntityPlayer.getCurrentEquippedItem().getItem() == Items.shears) { + //par2EntityPlayer.addStat(StatList.mineBlockStatArray[this], 1); + this.dropBlockAsItem(par1World, par3, par4, par5, new ItemStack(AtumBlocks.BLOCK_SHRUB, 1, par6)); + } else { + super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6); + } + + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockStones.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockStones.java index 913b269..f9d101e 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockStones.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockStones.java @@ -9,21 +9,21 @@ public class BlockStones extends BlockStone { - public BlockStones() { - super(); - this.setBlockName("stone"); - this.setStepSound(Block.soundTypeSand); - this.setHardness(0.5F); - } + public BlockStones() { + super(); + this.setBlockName("stone"); + this.setStepSound(Block.soundTypeSand); + this.setHardness(0.5F); + } - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { - return Item.getItemFromBlock(AtumBlocks.BLOCK_LIMESTONECOBBLE); - } + @Override + public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + return Item.getItemFromBlock(AtumBlocks.BLOCK_LIMESTONECOBBLE); + } - @Override - public void registerBlockIcons(IIconRegister par1IIconRegister) { - this.blockIcon = par1IIconRegister.registerIcon("atum:AtumStone"); - } + @Override + public void registerBlockIcons(IIconRegister par1IIconRegister) { + this.blockIcon = par1IIconRegister.registerIcon("atum:AtumStone"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockWalls.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockWalls.java index 6236ce3..b85ca9b 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockWalls.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockWalls.java @@ -14,36 +14,36 @@ import java.util.List; public class BlockWalls extends BlockWall { - @SideOnly(Side.CLIENT) - private IIcon[] icon; - - public BlockWalls(Block par2Block) { - super(par2Block); - this.setBlockName("walls"); - this.setCreativeTab(Atum.creativeTab); - } - - @Override - public IIcon getIcon(int side, int meta) { - return this.icon[meta]; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister IIconRegister) { - this.icon = new IIcon[4]; - this.icon[0] = IIconRegister.registerIcon("atum:AtumStone"); - this.icon[1] = IIconRegister.registerIcon("atum:AtumCobble"); - this.icon[2] = IIconRegister.registerIcon("atum:AtumBrickLarge"); - this.icon[3] = IIconRegister.registerIcon("atum:AtumBrickSmall"); - } - - @Override - public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List) { - par3List.add(new ItemStack(par1, 1, 0)); - par3List.add(new ItemStack(par1, 1, 1)); - par3List.add(new ItemStack(par1, 1, 2)); - par3List.add(new ItemStack(par1, 1, 3)); - } + @SideOnly(Side.CLIENT) + private IIcon[] icon; + + public BlockWalls(Block par2Block) { + super(par2Block); + this.setBlockName("walls"); + this.setCreativeTab(Atum.creativeTab); + } + + @Override + public IIcon getIcon(int side, int meta) { + return this.icon[meta]; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister IIconRegister) { + this.icon = new IIcon[4]; + this.icon[0] = IIconRegister.registerIcon("atum:AtumStone"); + this.icon[1] = IIconRegister.registerIcon("atum:AtumCobble"); + this.icon[2] = IIconRegister.registerIcon("atum:AtumBrickLarge"); + this.icon[3] = IIconRegister.registerIcon("atum:AtumBrickSmall"); + } + + @Override + public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List) { + par3List.add(new ItemStack(par1, 1, 0)); + par3List.add(new ItemStack(par1, 1, 1)); + par3List.add(new ItemStack(par1, 1, 2)); + par3List.add(new ItemStack(par1, 1, 3)); + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockSlab.java b/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockSlab.java index 5222056..3f1cfd5 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockSlab.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockSlab.java @@ -5,14 +5,14 @@ import net.minecraft.item.ItemStack; public class ItemBlockSlab extends ItemBlock { - public static final String[] types = {"smooth", "cracked", "largeBrick", "smallBrick"}; + public static final String[] types = {"smooth", "cracked", "largeBrick", "smallBrick"}; - public ItemBlockSlab(Block block) { - super(block); - } + public ItemBlockSlab(Block block) { + super(block); + } - @Override - public String getUnlocalizedName(ItemStack par1ItemStack) { - return "tile." + types[par1ItemStack.getItemDamage()] + "Slab"; - } + @Override + public String getUnlocalizedName(ItemStack par1ItemStack) { + return "tile." + types[par1ItemStack.getItemDamage()] + "Slab"; + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockWall.java b/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockWall.java index fb4da89..ad2d7f8 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockWall.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/ItemBlockWall.java @@ -5,15 +5,15 @@ import net.minecraft.item.ItemStack; public class ItemBlockWall extends ItemBlock { - public static final String[] types = {"smooth", "cracked", "largeBrick", "smallBrick"}; + public static final String[] types = {"smooth", "cracked", "largeBrick", "smallBrick"}; - public ItemBlockWall(Block block) { - super(block); - } + public ItemBlockWall(Block block) { + super(block); + } - @Override - public String getUnlocalizedName(ItemStack par1ItemStack) { - return "tile." + types[par1ItemStack.getItemDamage()] + "Wall"; - } + @Override + public String getUnlocalizedName(ItemStack par1ItemStack) { + return "tile." + types[par1ItemStack.getItemDamage()] + "Wall"; + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java index 4e6073e..0322f04 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/TileEntityBurningTrap.java @@ -16,69 +16,69 @@ public class TileEntityBurningTrap extends TileEntity { - protected String field_94050_c; - private ItemStack[] dispenserContents = new ItemStack[9]; - private Random dispenserRandom = new Random(); + protected String field_94050_c; + private ItemStack[] dispenserContents = new ItemStack[9]; + private Random dispenserRandom = new Random(); - @Override - public void updateEntity() { - EntityPlayer p = super.worldObj.getClosestPlayer((double) super.xCoord, (double) super.yCoord, (double) super.zCoord, 4.0D); - byte range = 1; - int xMin = super.xCoord; - int xMax = super.xCoord + range; - int yMin = super.yCoord; - int yMax = super.yCoord + range; - int zMin = super.zCoord; - int zMax = super.zCoord + range; - EnumFacing facing = EnumFacing.getFront(super.worldObj.getBlockMetadata(super.xCoord, super.yCoord, super.zCoord)); - xMin += facing.getFrontOffsetX() * range; - xMax += facing.getFrontOffsetX() * range; - yMin += facing.getFrontOffsetY() * range; - yMax += facing.getFrontOffsetY() * range; - zMin += facing.getFrontOffsetZ() * range; - zMax += facing.getFrontOffsetZ() * range; - AxisAlignedBB bb = AxisAlignedBB.getBoundingBox((double) xMin, (double) yMin, (double) zMin, (double) xMax, (double) yMax, (double) zMax); - List list = super.worldObj.getEntitiesWithinAABB(EntityMob.class, bb); - if (p != null && bb.isVecInside(Vec3.createVectorHelper(p.posX, p.posY + 0.5D, p.posZ))) { - p.setFire(2); - this.spawnFlames(); - } + @Override + public void updateEntity() { + EntityPlayer p = super.worldObj.getClosestPlayer((double) super.xCoord, (double) super.yCoord, (double) super.zCoord, 4.0D); + byte range = 1; + int xMin = super.xCoord; + int xMax = super.xCoord + range; + int yMin = super.yCoord; + int yMax = super.yCoord + range; + int zMin = super.zCoord; + int zMax = super.zCoord + range; + EnumFacing facing = EnumFacing.getFront(super.worldObj.getBlockMetadata(super.xCoord, super.yCoord, super.zCoord)); + xMin += facing.getFrontOffsetX() * range; + xMax += facing.getFrontOffsetX() * range; + yMin += facing.getFrontOffsetY() * range; + yMax += facing.getFrontOffsetY() * range; + zMin += facing.getFrontOffsetZ() * range; + zMax += facing.getFrontOffsetZ() * range; + AxisAlignedBB bb = AxisAlignedBB.getBoundingBox((double) xMin, (double) yMin, (double) zMin, (double) xMax, (double) yMax, (double) zMax); + List list = super.worldObj.getEntitiesWithinAABB(EntityMob.class, bb); + if (p != null && bb.isVecInside(Vec3.createVectorHelper(p.posX, p.posY + 0.5D, p.posZ))) { + p.setFire(2); + this.spawnFlames(); + } - Iterator i = list.iterator(); + Iterator i = list.iterator(); - while (i.hasNext()) { - Entity e = (Entity) i.next(); - if (e instanceof EntityLiving) { - e.setFire(2); - } - } + while (i.hasNext()) { + Entity e = (Entity) i.next(); + if (e instanceof EntityLiving) { + e.setFire(2); + } + } - } + } - public void spawnFlames() { - Random par5Random = new Random(); - int l = super.worldObj.getBlockMetadata(super.xCoord, super.yCoord, super.zCoord); - float f = (float) super.xCoord + 0.5F; - float f1 = (float) super.yCoord + 0.1875F + par5Random.nextFloat() * 10.0F / 16.0F; - float f2 = (float) super.zCoord + 0.5F; - float f3 = 0.52F; - float f4 = par5Random.nextFloat() * 0.6F - 0.3F; - double mx = par5Random.nextDouble() * 0.08D - 0.04D; - double my = par5Random.nextDouble() * 0.08D - 0.04D; - double mz = par5Random.nextDouble() * 0.08D - 0.04D; - if (l == 4) { - super.worldObj.spawnParticle("smoke", (double) (f - f3), (double) f1, (double) (f2 + f4), mx - 0.1D, my, mz); - super.worldObj.spawnParticle("flame", (double) (f - f3), (double) f1, (double) (f2 + f4), mx - 0.1D, my, mz); - } else if (l == 5) { - super.worldObj.spawnParticle("smoke", (double) (f + f3), (double) f1, (double) (f2 + f4), mx + 0.1D, my, mz); - super.worldObj.spawnParticle("flame", (double) (f + f3), (double) f1, (double) (f2 + f4), mx + 0.1D, my, mz); - } else if (l == 2) { - super.worldObj.spawnParticle("smoke", (double) (f + f4), (double) f1, (double) (f2 - f3), mx, my, mz - 0.1D); - super.worldObj.spawnParticle("flame", (double) (f + f4), (double) f1, (double) (f2 - f3), mx, my, mz - 0.1D); - } else if (l == 3) { - super.worldObj.spawnParticle("smoke", (double) (f + f4), (double) f1, (double) (f2 + f3), mx, my, mz + 0.1D); - super.worldObj.spawnParticle("flame", (double) (f + f4), (double) f1, (double) (f2 + f3), mx, my, mz + 0.1D); - } + public void spawnFlames() { + Random par5Random = new Random(); + int l = super.worldObj.getBlockMetadata(super.xCoord, super.yCoord, super.zCoord); + float f = (float) super.xCoord + 0.5F; + float f1 = (float) super.yCoord + 0.1875F + par5Random.nextFloat() * 10.0F / 16.0F; + float f2 = (float) super.zCoord + 0.5F; + float f3 = 0.52F; + float f4 = par5Random.nextFloat() * 0.6F - 0.3F; + double mx = par5Random.nextDouble() * 0.08D - 0.04D; + double my = par5Random.nextDouble() * 0.08D - 0.04D; + double mz = par5Random.nextDouble() * 0.08D - 0.04D; + if (l == 4) { + super.worldObj.spawnParticle("smoke", (double) (f - f3), (double) f1, (double) (f2 + f4), mx - 0.1D, my, mz); + super.worldObj.spawnParticle("flame", (double) (f - f3), (double) f1, (double) (f2 + f4), mx - 0.1D, my, mz); + } else if (l == 5) { + super.worldObj.spawnParticle("smoke", (double) (f + f3), (double) f1, (double) (f2 + f4), mx + 0.1D, my, mz); + super.worldObj.spawnParticle("flame", (double) (f + f3), (double) f1, (double) (f2 + f4), mx + 0.1D, my, mz); + } else if (l == 2) { + super.worldObj.spawnParticle("smoke", (double) (f + f4), (double) f1, (double) (f2 - f3), mx, my, mz - 0.1D); + super.worldObj.spawnParticle("flame", (double) (f + f4), (double) f1, (double) (f2 - f3), mx, my, mz - 0.1D); + } else if (l == 3) { + super.worldObj.spawnParticle("smoke", (double) (f + f4), (double) f1, (double) (f2 + f3), mx, my, mz + 0.1D); + super.worldObj.spawnParticle("flame", (double) (f + f4), (double) f1, (double) (f2 + f3), mx, my, mz + 0.1D); + } - } + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java index 80f81e2..171e7ad 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java @@ -16,321 +16,321 @@ import java.util.List; public abstract class CursedChestBaseLogic extends MobSpawnerBaseLogic { - /** - * The delay to spawn. - */ - public int spawnDelay = 20; - public double field_98287_c; - public double field_98284_d; - public int minSpawnDelay = 200; - public int maxSpawnDelay = 800; - /** - * A counter for spawn tries. - */ - public int spawnCount = 4; - /** - * The range coefficient for spawning entities around. - */ - public int spawnRange = 4; - private String entityTypeName = "Pig"; - /** - * List of minecart to spawn. - */ - private List minecartToSpawn; - private WeightedRandomMinecart randomMinecart; - private Entity field_98291_j; - private int maxNearbyEntities = 6; - /** - * The distance from which a player activates the spawner. - */ - private int activatingRangeFromPlayer = 16; - - /** - * Gets the entity name that should be spawned. - */ - @Override - public String getEntityNameToSpawn() { - if (this.getRandomEntity() == null) { - if (this.entityTypeName.equals("Minecart")) { - this.entityTypeName = "MinecartRideable"; - } - - return this.entityTypeName; - } else { - return this.getRandomEntity().entityTypeName; - } - } - - @Override - public void setEntityName(String par1Str) { - this.entityTypeName = par1Str; - } - - @Override - public boolean isActivated() { - return this.getSpawnerWorld().getClosestPlayer((double) this.getSpawnerX() + 0.5D, (double) this.getSpawnerY() + 0.5D, (double) this.getSpawnerZ() + 0.5D, (double) this.activatingRangeFromPlayer) != null; - } - - @Override - public void updateSpawner() { - if (this.isActivated()) { - double d0; - - if (this.getSpawnerWorld().isRemote) { - double d1 = (double) ((float) this.getSpawnerX() + this.getSpawnerWorld().rand.nextFloat()); - double d2 = (double) ((float) this.getSpawnerY() + this.getSpawnerWorld().rand.nextFloat()); - d0 = (double) ((float) this.getSpawnerZ() + this.getSpawnerWorld().rand.nextFloat()); - this.getSpawnerWorld().spawnParticle("smoke", d1, d2, d0, 0.0D, 0.0D, 0.0D); - this.getSpawnerWorld().spawnParticle("flame", d1, d2, d0, 0.0D, 0.0D, 0.0D); - - if (this.spawnDelay > 0) { - --this.spawnDelay; - } - - this.field_98284_d = this.field_98287_c; - this.field_98287_c = (this.field_98287_c + (double) (1000.0F / ((float) this.spawnDelay + 200.0F))) % 360.0D; - } else { - if (this.spawnDelay == -1) { - this.func_98273_j(); - } - - if (this.spawnDelay > 0) { - --this.spawnDelay; - return; - } - - boolean flag = false; - - for (int i = 0; i < this.spawnCount; ++i) { - if (this.getSpawnerWorld().difficultySetting.getDifficultyId() == 0) { - return; - } - - Entity entity = EntityList.createEntityByName(this.getEntityNameToSpawn(), this.getSpawnerWorld()); - - if (entity == null) { - return; - } - - int j = this.getSpawnerWorld().getEntitiesWithinAABB(entity.getClass(), AxisAlignedBB.getBoundingBox((double) this.getSpawnerX(), (double) this.getSpawnerY(), (double) this.getSpawnerZ(), (double) (this.getSpawnerX() + 1), (double) (this.getSpawnerY() + 1), (double) (this.getSpawnerZ() + 1)).expand((double) (this.spawnRange * 2), 4.0D, (double) (this.spawnRange * 2))).size(); - - if (j >= this.maxNearbyEntities) { - this.func_98273_j(); - return; - } - - d0 = (double) this.getSpawnerX() + (this.getSpawnerWorld().rand.nextDouble() - this.getSpawnerWorld().rand.nextDouble()) * (double) this.spawnRange; - double d3 = (double) (this.getSpawnerY() + this.getSpawnerWorld().rand.nextInt(3) - 1); - double d4 = (double) this.getSpawnerZ() + (this.getSpawnerWorld().rand.nextDouble() - this.getSpawnerWorld().rand.nextDouble()) * (double) this.spawnRange; - EntityLiving entityliving = entity instanceof EntityLiving ? (EntityLiving) entity : null; - entity.setLocationAndAngles(d0, d3, d4, this.getSpawnerWorld().rand.nextFloat() * 360.0F, 0.0F); - - if (entityliving == null || entityliving.getCanSpawnHere()) { - this.func_98265_a(entity); - this.getSpawnerWorld().playAuxSFX(2004, this.getSpawnerX(), this.getSpawnerY(), this.getSpawnerZ(), 0); - - if (entityliving != null) { - entityliving.spawnExplosionParticle(); - } - - flag = true; - } - } - - if (flag) { - this.func_98273_j(); - } - } - } - } - - @Override - public Entity func_98265_a(Entity par1Entity) { - if (this.getRandomEntity() != null) { - NBTTagCompound nbttagcompound = new NBTTagCompound(); - par1Entity.writeToNBTOptional(nbttagcompound); - Iterator iterator = this.getRandomEntity().field_98222_b.func_150296_c().iterator(); - - while (iterator.hasNext()) { - NBTBase nbtbase = (NBTBase) iterator.next(); - nbttagcompound.setTag(nbtbase.toString(), nbtbase.copy()); - } - - par1Entity.readFromNBT(nbttagcompound); - - if (par1Entity.worldObj != null) { - par1Entity.worldObj.spawnEntityInWorld(par1Entity); - } - - NBTTagCompound nbttagcompound1; - - for (Entity entity1 = par1Entity; nbttagcompound.hasKey("Riding"); nbttagcompound = nbttagcompound1) { - nbttagcompound1 = nbttagcompound.getCompoundTag("Riding"); - Entity entity2 = EntityList.createEntityByName(nbttagcompound1.getString("id"), par1Entity.worldObj); - - if (entity2 != null) { - NBTTagCompound nbttagcompound2 = new NBTTagCompound(); - entity2.writeToNBTOptional(nbttagcompound2); - Iterator iterator1 = nbttagcompound1.func_150296_c().iterator(); - - while (iterator1.hasNext()) { - NBTBase nbtbase1 = (NBTBase) iterator1.next(); - nbttagcompound2.setTag(nbtbase1.toString(), nbtbase1.copy()); - } - - entity2.readFromNBT(nbttagcompound2); - entity2.setLocationAndAngles(entity1.posX, entity1.posY, entity1.posZ, entity1.rotationYaw, entity1.rotationPitch); - - if (par1Entity.worldObj != null) { - par1Entity.worldObj.spawnEntityInWorld(entity2); - } - - entity1.mountEntity(entity2); - } - - entity1 = entity2; - } - } else if (par1Entity instanceof EntityLivingBase && par1Entity.worldObj != null) { - ((EntityLiving) par1Entity).onSpawnWithEgg((IEntityLivingData) null); - this.getSpawnerWorld().spawnEntityInWorld(par1Entity); - } - - return par1Entity; - } - - private void func_98273_j() { - if (this.maxSpawnDelay <= this.minSpawnDelay) { - this.spawnDelay = this.minSpawnDelay; - } else { - int i = this.maxSpawnDelay - this.minSpawnDelay; - this.spawnDelay = this.minSpawnDelay + this.getSpawnerWorld().rand.nextInt(i); - } - - if (this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { - this.setRandomEntity((WeightedRandomMinecart) WeightedRandom.getRandomItem(this.getSpawnerWorld().rand, this.minecartToSpawn)); - } - - this.func_98267_a(1); - } - - @Override - public void readFromNBT(NBTTagCompound par1NBTTagCompound) { - this.entityTypeName = par1NBTTagCompound.getString("EntityId"); - this.spawnDelay = par1NBTTagCompound.getShort("Delay"); - - if (par1NBTTagCompound.hasKey("SpawnPotentials")) { - this.minecartToSpawn = new ArrayList(); - NBTTagList nbttaglist = par1NBTTagCompound.getTagList("SpawnPotentials", 0); - - for (int i = 0; i < nbttaglist.tagCount(); ++i) { - this.minecartToSpawn.add(new WeightedRandomMinecart((NBTTagCompound) nbttaglist.getCompoundTagAt(i))); - } - } else { - this.minecartToSpawn = null; - } - - if (par1NBTTagCompound.hasKey("SpawnData")) { - this.setRandomEntity(new WeightedRandomMinecart(par1NBTTagCompound.getCompoundTag("SpawnData"), this.entityTypeName)); - } else { - this.setRandomEntity((WeightedRandomMinecart) null); - } - - if (par1NBTTagCompound.hasKey("MinSpawnDelay")) { - this.minSpawnDelay = par1NBTTagCompound.getShort("MinSpawnDelay"); - this.maxSpawnDelay = par1NBTTagCompound.getShort("MaxSpawnDelay"); - this.spawnCount = par1NBTTagCompound.getShort("SpawnCount"); - } - - if (par1NBTTagCompound.hasKey("MaxNearbyEntities")) { - this.maxNearbyEntities = par1NBTTagCompound.getShort("MaxNearbyEntities"); - this.activatingRangeFromPlayer = par1NBTTagCompound.getShort("RequiredPlayerRange"); - } - - if (par1NBTTagCompound.hasKey("SpawnRange")) { - this.spawnRange = par1NBTTagCompound.getShort("SpawnRange"); - } - - if (this.getSpawnerWorld() != null && this.getSpawnerWorld().isRemote) { - this.field_98291_j = null; - } - } - - @Override - public void writeToNBT(NBTTagCompound par1NBTTagCompound) { - par1NBTTagCompound.setString("EntityId", this.getEntityNameToSpawn()); - par1NBTTagCompound.setShort("Delay", (short) this.spawnDelay); - par1NBTTagCompound.setShort("MinSpawnDelay", (short) this.minSpawnDelay); - par1NBTTagCompound.setShort("MaxSpawnDelay", (short) this.maxSpawnDelay); - par1NBTTagCompound.setShort("SpawnCount", (short) this.spawnCount); - par1NBTTagCompound.setShort("MaxNearbyEntities", (short) this.maxNearbyEntities); - par1NBTTagCompound.setShort("RequiredPlayerRange", (short) this.activatingRangeFromPlayer); - par1NBTTagCompound.setShort("SpawnRange", (short) this.spawnRange); - - if (this.getRandomEntity() != null) { - par1NBTTagCompound.setTag("SpawnData", (NBTTagCompound) this.getRandomEntity().field_98222_b.copy()); - } - - if (this.getRandomEntity() != null || this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { - NBTTagList nbttaglist = new NBTTagList(); - - if (this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { - Iterator iterator = this.minecartToSpawn.iterator(); - - while (iterator.hasNext()) { - WeightedRandomMinecart weightedrandomminecart = (WeightedRandomMinecart) iterator.next(); - nbttaglist.appendTag(weightedrandomminecart.func_98220_a()); - } - } else { - nbttaglist.appendTag(this.getRandomEntity().func_98220_a()); - } - - par1NBTTagCompound.setTag("SpawnPotentials", nbttaglist); - } - } - - /** - * Sets the delay to minDelay if parameter given is 1, else return false. - */ - @Override - public boolean setDelayToMin(int par1) { - if (par1 == 1 && this.getSpawnerWorld().isRemote) { - this.spawnDelay = this.minSpawnDelay; - return true; - } else { - return false; - } - } - - @Override - @SideOnly(Side.CLIENT) - public Entity func_98281_h() { - if (this.field_98291_j == null) { - Entity entity = EntityList.createEntityByName(this.getEntityNameToSpawn(), (World) null); - entity = this.func_98265_a(entity); - this.field_98291_j = entity; - } - - return this.field_98291_j; - } - - @Override - public WeightedRandomMinecart getRandomEntity() { - return this.randomMinecart; - } - - @Override - public void setRandomEntity(WeightedRandomMinecart par1WeightedRandomMinecart) { - this.randomMinecart = par1WeightedRandomMinecart; - } - - @Override - public abstract void func_98267_a(int i); - - public abstract World getSpawnerWorld(); - - public abstract int getSpawnerX(); - - public abstract int getSpawnerY(); - - public abstract int getSpawnerZ(); + /** + * The delay to spawn. + */ + public int spawnDelay = 20; + public double field_98287_c; + public double field_98284_d; + public int minSpawnDelay = 200; + public int maxSpawnDelay = 800; + /** + * A counter for spawn tries. + */ + public int spawnCount = 4; + /** + * The range coefficient for spawning entities around. + */ + public int spawnRange = 4; + private String entityTypeName = "Pig"; + /** + * List of minecart to spawn. + */ + private List minecartToSpawn; + private WeightedRandomMinecart randomMinecart; + private Entity field_98291_j; + private int maxNearbyEntities = 6; + /** + * The distance from which a player activates the spawner. + */ + private int activatingRangeFromPlayer = 16; + + /** + * Gets the entity name that should be spawned. + */ + @Override + public String getEntityNameToSpawn() { + if (this.getRandomEntity() == null) { + if (this.entityTypeName.equals("Minecart")) { + this.entityTypeName = "MinecartRideable"; + } + + return this.entityTypeName; + } else { + return this.getRandomEntity().entityTypeName; + } + } + + @Override + public void setEntityName(String par1Str) { + this.entityTypeName = par1Str; + } + + @Override + public boolean isActivated() { + return this.getSpawnerWorld().getClosestPlayer((double) this.getSpawnerX() + 0.5D, (double) this.getSpawnerY() + 0.5D, (double) this.getSpawnerZ() + 0.5D, (double) this.activatingRangeFromPlayer) != null; + } + + @Override + public void updateSpawner() { + if (this.isActivated()) { + double d0; + + if (this.getSpawnerWorld().isRemote) { + double d1 = (double) ((float) this.getSpawnerX() + this.getSpawnerWorld().rand.nextFloat()); + double d2 = (double) ((float) this.getSpawnerY() + this.getSpawnerWorld().rand.nextFloat()); + d0 = (double) ((float) this.getSpawnerZ() + this.getSpawnerWorld().rand.nextFloat()); + this.getSpawnerWorld().spawnParticle("smoke", d1, d2, d0, 0.0D, 0.0D, 0.0D); + this.getSpawnerWorld().spawnParticle("flame", d1, d2, d0, 0.0D, 0.0D, 0.0D); + + if (this.spawnDelay > 0) { + --this.spawnDelay; + } + + this.field_98284_d = this.field_98287_c; + this.field_98287_c = (this.field_98287_c + (double) (1000.0F / ((float) this.spawnDelay + 200.0F))) % 360.0D; + } else { + if (this.spawnDelay == -1) { + this.func_98273_j(); + } + + if (this.spawnDelay > 0) { + --this.spawnDelay; + return; + } + + boolean flag = false; + + for (int i = 0; i < this.spawnCount; ++i) { + if (this.getSpawnerWorld().difficultySetting.getDifficultyId() == 0) { + return; + } + + Entity entity = EntityList.createEntityByName(this.getEntityNameToSpawn(), this.getSpawnerWorld()); + + if (entity == null) { + return; + } + + int j = this.getSpawnerWorld().getEntitiesWithinAABB(entity.getClass(), AxisAlignedBB.getBoundingBox((double) this.getSpawnerX(), (double) this.getSpawnerY(), (double) this.getSpawnerZ(), (double) (this.getSpawnerX() + 1), (double) (this.getSpawnerY() + 1), (double) (this.getSpawnerZ() + 1)).expand((double) (this.spawnRange * 2), 4.0D, (double) (this.spawnRange * 2))).size(); + + if (j >= this.maxNearbyEntities) { + this.func_98273_j(); + return; + } + + d0 = (double) this.getSpawnerX() + (this.getSpawnerWorld().rand.nextDouble() - this.getSpawnerWorld().rand.nextDouble()) * (double) this.spawnRange; + double d3 = (double) (this.getSpawnerY() + this.getSpawnerWorld().rand.nextInt(3) - 1); + double d4 = (double) this.getSpawnerZ() + (this.getSpawnerWorld().rand.nextDouble() - this.getSpawnerWorld().rand.nextDouble()) * (double) this.spawnRange; + EntityLiving entityliving = entity instanceof EntityLiving ? (EntityLiving) entity : null; + entity.setLocationAndAngles(d0, d3, d4, this.getSpawnerWorld().rand.nextFloat() * 360.0F, 0.0F); + + if (entityliving == null || entityliving.getCanSpawnHere()) { + this.func_98265_a(entity); + this.getSpawnerWorld().playAuxSFX(2004, this.getSpawnerX(), this.getSpawnerY(), this.getSpawnerZ(), 0); + + if (entityliving != null) { + entityliving.spawnExplosionParticle(); + } + + flag = true; + } + } + + if (flag) { + this.func_98273_j(); + } + } + } + } + + @Override + public Entity func_98265_a(Entity par1Entity) { + if (this.getRandomEntity() != null) { + NBTTagCompound nbttagcompound = new NBTTagCompound(); + par1Entity.writeToNBTOptional(nbttagcompound); + Iterator iterator = this.getRandomEntity().field_98222_b.func_150296_c().iterator(); + + while (iterator.hasNext()) { + NBTBase nbtbase = (NBTBase) iterator.next(); + nbttagcompound.setTag(nbtbase.toString(), nbtbase.copy()); + } + + par1Entity.readFromNBT(nbttagcompound); + + if (par1Entity.worldObj != null) { + par1Entity.worldObj.spawnEntityInWorld(par1Entity); + } + + NBTTagCompound nbttagcompound1; + + for (Entity entity1 = par1Entity; nbttagcompound.hasKey("Riding"); nbttagcompound = nbttagcompound1) { + nbttagcompound1 = nbttagcompound.getCompoundTag("Riding"); + Entity entity2 = EntityList.createEntityByName(nbttagcompound1.getString("id"), par1Entity.worldObj); + + if (entity2 != null) { + NBTTagCompound nbttagcompound2 = new NBTTagCompound(); + entity2.writeToNBTOptional(nbttagcompound2); + Iterator iterator1 = nbttagcompound1.func_150296_c().iterator(); + + while (iterator1.hasNext()) { + NBTBase nbtbase1 = (NBTBase) iterator1.next(); + nbttagcompound2.setTag(nbtbase1.toString(), nbtbase1.copy()); + } + + entity2.readFromNBT(nbttagcompound2); + entity2.setLocationAndAngles(entity1.posX, entity1.posY, entity1.posZ, entity1.rotationYaw, entity1.rotationPitch); + + if (par1Entity.worldObj != null) { + par1Entity.worldObj.spawnEntityInWorld(entity2); + } + + entity1.mountEntity(entity2); + } + + entity1 = entity2; + } + } else if (par1Entity instanceof EntityLivingBase && par1Entity.worldObj != null) { + ((EntityLiving) par1Entity).onSpawnWithEgg((IEntityLivingData) null); + this.getSpawnerWorld().spawnEntityInWorld(par1Entity); + } + + return par1Entity; + } + + private void func_98273_j() { + if (this.maxSpawnDelay <= this.minSpawnDelay) { + this.spawnDelay = this.minSpawnDelay; + } else { + int i = this.maxSpawnDelay - this.minSpawnDelay; + this.spawnDelay = this.minSpawnDelay + this.getSpawnerWorld().rand.nextInt(i); + } + + if (this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { + this.setRandomEntity((WeightedRandomMinecart) WeightedRandom.getRandomItem(this.getSpawnerWorld().rand, this.minecartToSpawn)); + } + + this.func_98267_a(1); + } + + @Override + public void readFromNBT(NBTTagCompound par1NBTTagCompound) { + this.entityTypeName = par1NBTTagCompound.getString("EntityId"); + this.spawnDelay = par1NBTTagCompound.getShort("Delay"); + + if (par1NBTTagCompound.hasKey("SpawnPotentials")) { + this.minecartToSpawn = new ArrayList(); + NBTTagList nbttaglist = par1NBTTagCompound.getTagList("SpawnPotentials", 0); + + for (int i = 0; i < nbttaglist.tagCount(); ++i) { + this.minecartToSpawn.add(new WeightedRandomMinecart((NBTTagCompound) nbttaglist.getCompoundTagAt(i))); + } + } else { + this.minecartToSpawn = null; + } + + if (par1NBTTagCompound.hasKey("SpawnData")) { + this.setRandomEntity(new WeightedRandomMinecart(par1NBTTagCompound.getCompoundTag("SpawnData"), this.entityTypeName)); + } else { + this.setRandomEntity((WeightedRandomMinecart) null); + } + + if (par1NBTTagCompound.hasKey("MinSpawnDelay")) { + this.minSpawnDelay = par1NBTTagCompound.getShort("MinSpawnDelay"); + this.maxSpawnDelay = par1NBTTagCompound.getShort("MaxSpawnDelay"); + this.spawnCount = par1NBTTagCompound.getShort("SpawnCount"); + } + + if (par1NBTTagCompound.hasKey("MaxNearbyEntities")) { + this.maxNearbyEntities = par1NBTTagCompound.getShort("MaxNearbyEntities"); + this.activatingRangeFromPlayer = par1NBTTagCompound.getShort("RequiredPlayerRange"); + } + + if (par1NBTTagCompound.hasKey("SpawnRange")) { + this.spawnRange = par1NBTTagCompound.getShort("SpawnRange"); + } + + if (this.getSpawnerWorld() != null && this.getSpawnerWorld().isRemote) { + this.field_98291_j = null; + } + } + + @Override + public void writeToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setString("EntityId", this.getEntityNameToSpawn()); + par1NBTTagCompound.setShort("Delay", (short) this.spawnDelay); + par1NBTTagCompound.setShort("MinSpawnDelay", (short) this.minSpawnDelay); + par1NBTTagCompound.setShort("MaxSpawnDelay", (short) this.maxSpawnDelay); + par1NBTTagCompound.setShort("SpawnCount", (short) this.spawnCount); + par1NBTTagCompound.setShort("MaxNearbyEntities", (short) this.maxNearbyEntities); + par1NBTTagCompound.setShort("RequiredPlayerRange", (short) this.activatingRangeFromPlayer); + par1NBTTagCompound.setShort("SpawnRange", (short) this.spawnRange); + + if (this.getRandomEntity() != null) { + par1NBTTagCompound.setTag("SpawnData", (NBTTagCompound) this.getRandomEntity().field_98222_b.copy()); + } + + if (this.getRandomEntity() != null || this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { + NBTTagList nbttaglist = new NBTTagList(); + + if (this.minecartToSpawn != null && this.minecartToSpawn.size() > 0) { + Iterator iterator = this.minecartToSpawn.iterator(); + + while (iterator.hasNext()) { + WeightedRandomMinecart weightedrandomminecart = (WeightedRandomMinecart) iterator.next(); + nbttaglist.appendTag(weightedrandomminecart.func_98220_a()); + } + } else { + nbttaglist.appendTag(this.getRandomEntity().func_98220_a()); + } + + par1NBTTagCompound.setTag("SpawnPotentials", nbttaglist); + } + } + + /** + * Sets the delay to minDelay if parameter given is 1, else return false. + */ + @Override + public boolean setDelayToMin(int par1) { + if (par1 == 1 && this.getSpawnerWorld().isRemote) { + this.spawnDelay = this.minSpawnDelay; + return true; + } else { + return false; + } + } + + @Override + @SideOnly(Side.CLIENT) + public Entity func_98281_h() { + if (this.field_98291_j == null) { + Entity entity = EntityList.createEntityByName(this.getEntityNameToSpawn(), (World) null); + entity = this.func_98265_a(entity); + this.field_98291_j = entity; + } + + return this.field_98291_j; + } + + @Override + public WeightedRandomMinecart getRandomEntity() { + return this.randomMinecart; + } + + @Override + public void setRandomEntity(WeightedRandomMinecart par1WeightedRandomMinecart) { + this.randomMinecart = par1WeightedRandomMinecart; + } + + @Override + public abstract void func_98267_a(int i); + + public abstract World getSpawnerWorld(); + + public abstract int getSpawnerX(); + + public abstract int getSpawnerY(); + + public abstract int getSpawnerZ(); } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestSpawnerLogic.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestSpawnerLogic.java index 9836711..c491e61 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestSpawnerLogic.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestSpawnerLogic.java @@ -5,42 +5,42 @@ class CursedChestSpawnerLogic extends CursedChestBaseLogic { - final TileEntityChestSpawner field_98295_a; - - CursedChestSpawnerLogic(TileEntityChestSpawner tileEntityChestSpawner) { - this.field_98295_a = tileEntityChestSpawner; - } - - @Override - public void func_98267_a(int par1) { - this.field_98295_a.getWorldObj().addBlockEvent(this.field_98295_a.xCoord, this.field_98295_a.yCoord, this.field_98295_a.zCoord, Blocks.mob_spawner, par1, 0); - } - - @Override - public World getSpawnerWorld() { - return this.field_98295_a.getWorldObj(); - } - - @Override - public int getSpawnerX() { - return this.field_98295_a.xCoord; - } - - @Override - public int getSpawnerY() { - return this.field_98295_a.yCoord; - } - - @Override - public int getSpawnerZ() { - return this.field_98295_a.zCoord; - } - - @Override - public void setRandomEntity(WeightedRandomMinecart par1WeightedRandomMinecart) { - super.setRandomEntity(par1WeightedRandomMinecart); - if (this.getSpawnerWorld() != null) { - this.getSpawnerWorld().markBlockForUpdate(this.field_98295_a.xCoord, this.field_98295_a.yCoord, this.field_98295_a.zCoord); - } - } + final TileEntityChestSpawner field_98295_a; + + CursedChestSpawnerLogic(TileEntityChestSpawner tileEntityChestSpawner) { + this.field_98295_a = tileEntityChestSpawner; + } + + @Override + public void func_98267_a(int par1) { + this.field_98295_a.getWorldObj().addBlockEvent(this.field_98295_a.xCoord, this.field_98295_a.yCoord, this.field_98295_a.zCoord, Blocks.mob_spawner, par1, 0); + } + + @Override + public World getSpawnerWorld() { + return this.field_98295_a.getWorldObj(); + } + + @Override + public int getSpawnerX() { + return this.field_98295_a.xCoord; + } + + @Override + public int getSpawnerY() { + return this.field_98295_a.yCoord; + } + + @Override + public int getSpawnerZ() { + return this.field_98295_a.zCoord; + } + + @Override + public void setRandomEntity(WeightedRandomMinecart par1WeightedRandomMinecart) { + super.setRandomEntity(par1WeightedRandomMinecart); + if (this.getSpawnerWorld() != null) { + this.getSpawnerWorld().markBlockForUpdate(this.field_98295_a.xCoord, this.field_98295_a.yCoord, this.field_98295_a.zCoord); + } + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java index 040265e..cfc9733 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java @@ -20,327 +20,327 @@ public class TileEntityChestSpawner extends TileEntityChest implements IInventory { - private final CursedChestSpawnerLogic chestSpawner = new CursedChestSpawnerLogic(this); - public float f; - public float g; - public int h; - private ItemStack[] chestContents = new ItemStack[36]; - private int ticksSinceSync; - private int field_94046_i = -1; - private String field_94045_s; - - public TileEntityChestSpawner() { - int entityID = (int) (Math.random() * 6.0D); - if (entityID == 0) { - this.chestSpawner.setEntityName("AtumMummy"); - } - - if (entityID == 1) { - this.chestSpawner.setEntityName("AtumBanditWarrior"); - } - - if (entityID == 2) { - this.chestSpawner.setEntityName("AtumBanditArcher"); - } - - if (entityID == 3) { - this.chestSpawner.setEntityName("AtumDustySkeleton"); - } - - if (entityID == 4) { - this.chestSpawner.setEntityName("AtumDesertGhost"); - } - - if (entityID == 5) { - this.chestSpawner.setEntityName("AtumStoneSoldier"); - } - - if (entityID == 6) { - this.chestSpawner.setEntityName("AtumDesertWolf"); - } - - this.chestSpawner.minSpawnDelay = 0; - } - - public void setSpawnerEntity(String name) { - this.chestSpawner.setEntityName(name); - } - - public void setMaxEntities(int max) { - this.chestSpawner.spawnCount = max; - } - - public void setDelay(int min, int max) { - this.chestSpawner.minSpawnDelay = min; - this.chestSpawner.maxSpawnDelay = max; - } - - public void setRange(int range) { - this.chestSpawner.spawnRange = range; - } - - @Override - public int getSizeInventory() { - return 27; - } - - @Override - public ItemStack getStackInSlot(int par1) { - return this.chestContents[par1]; - } - - @Override - public ItemStack decrStackSize(int par1, int par2) { - if (this.chestContents[par1] != null) { - ItemStack itemstack; - if (this.chestContents[par1].stackSize <= par2) { - itemstack = this.chestContents[par1]; - this.chestContents[par1] = null; - this.markDirty(); - return itemstack; - } else { - itemstack = this.chestContents[par1].splitStack(par2); - if (this.chestContents[par1].stackSize == 0) { - this.chestContents[par1] = null; - } - - this.markDirty(); - return itemstack; - } - } else { - return null; - } - } - - @Override - public ItemStack getStackInSlotOnClosing(int par1) { - if (this.chestContents[par1] != null) { - ItemStack itemstack = this.chestContents[par1]; - this.chestContents[par1] = null; - return itemstack; - } else { - return null; - } - } - - @Override - public void setInventorySlotContents(int par1, ItemStack par2ItemStack) { - this.chestContents[par1] = par2ItemStack; - if (par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) { - par2ItemStack.stackSize = this.getInventoryStackLimit(); - } - - this.markDirty(); - } - - @Override - public String getInventoryName() { - return this.hasCustomInventoryName() ? this.field_94045_s : "container.chest"; - } - - @Override - public boolean hasCustomInventoryName() { - return this.field_94045_s != null && this.field_94045_s.length() > 0; - } - - @Override - public void func_145976_a(String p_145976_1_) { - this.field_94045_s = p_145976_1_; - } - - @Override - public void readFromNBT(NBTTagCompound par1NBTTagCompound) { - super.readFromNBT(par1NBTTagCompound); - NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items", 0); - this.chestContents = new ItemStack[this.getSizeInventory()]; - if (par1NBTTagCompound.hasKey("CustomName")) { - this.field_94045_s = par1NBTTagCompound.getString("CustomName"); - } - - for (int i = 0; i < nbttaglist.tagCount(); ++i) { - NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.getCompoundTagAt(i); - int j = nbttagcompound1.getByte("Slot") & 255; - if (j >= 0 && j < this.chestContents.length) { - this.chestContents[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1); - } - } - - this.chestSpawner.readFromNBT(par1NBTTagCompound); - } - - @Override - public void writeToNBT(NBTTagCompound par1NBTTagCompound) { - super.writeToNBT(par1NBTTagCompound); - NBTTagList nbttaglist = new NBTTagList(); - - for (int i = 0; i < this.chestContents.length; ++i) { - if (this.chestContents[i] != null) { - NBTTagCompound nbttagcompound1 = new NBTTagCompound(); - nbttagcompound1.setByte("Slot", (byte) i); - this.chestContents[i].writeToNBT(nbttagcompound1); - nbttaglist.appendTag(nbttagcompound1); - } - } - - par1NBTTagCompound.setTag("Items", nbttaglist); - if (this.hasCustomInventoryName()) { - par1NBTTagCompound.setString("CustomName", this.field_94045_s); - } - - this.chestSpawner.writeToNBT(par1NBTTagCompound); - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - @Override - public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { - double d0 = 4.0D; - double d1 = 3.0D; - List list = super.worldObj.getEntitiesWithinAABB(EntityMob.class, AxisAlignedBB.getBoundingBox((double) super.xCoord - d0, (double) super.yCoord - d1, (double) super.zCoord - d0, (double) super.xCoord + d0, (double) super.yCoord + d1, (double) super.zCoord + d0)); - if (!list.isEmpty()) { - if (!super.worldObj.isRemote) { - par1EntityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chat.Atum.enemies"))); - } - - return false; - } else { - return super.worldObj.getTileEntity(super.xCoord, super.yCoord, super.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double) super.xCoord + 0.5D, (double) super.yCoord + 0.5D, (double) super.zCoord + 0.5D) <= 64.0D; - } - } - - - @Override - public void updateEntity() { - this.chestSpawner.updateSpawner(); - ++this.ticksSinceSync; - float f; - - if (!this.worldObj.isRemote && this.numPlayersUsing != 0 && (this.ticksSinceSync + this.xCoord + this.yCoord + this.zCoord) % 200 == 0) { - this.numPlayersUsing = 0; - f = 5.0F; - List list = this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox((double) ((float) this.xCoord - f), (double) ((float) this.yCoord - f), (double) ((float) this.zCoord - f), (double) ((float) (this.xCoord + 1) + f), (double) ((float) (this.yCoord + 1) + f), (double) ((float) (this.zCoord + 1) + f))); - Iterator iterator = list.iterator(); - - while (iterator.hasNext()) { - EntityPlayer entityplayer = (EntityPlayer) iterator.next(); - - if (entityplayer.openContainer instanceof ContainerChest) { - IInventory iinventory = ((ContainerChest) entityplayer.openContainer).getLowerChestInventory(); - - if (iinventory == this || iinventory instanceof InventoryLargeChest && ((InventoryLargeChest) iinventory).isPartOfLargeChest(this)) { - ++this.numPlayersUsing; - } - } - } - } - - this.prevLidAngle = this.lidAngle; - f = 0.1F; - double d2; - - if (this.numPlayersUsing > 0 && this.lidAngle == 0.0F && this.adjacentChestZNeg == null && this.adjacentChestXNeg == null) { - double d1 = (double) this.xCoord + 0.5D; - d2 = (double) this.zCoord + 0.5D; - - if (this.adjacentChestZPos != null) { - d2 += 0.5D; - } - - if (this.adjacentChestXPos != null) { - d1 += 0.5D; - } - - this.worldObj.playSoundEffect(d1, (double) this.yCoord + 0.5D, d2, "random.chestopen", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); - } - - if (this.numPlayersUsing == 0 && this.lidAngle > 0.0F || this.numPlayersUsing > 0 && this.lidAngle < 1.0F) { - float f1 = this.lidAngle; - - if (this.numPlayersUsing > 0) { - this.lidAngle += f; - } else { - this.lidAngle -= f; - } - - if (this.lidAngle > 1.0F) { - this.lidAngle = 1.0F; - } - - float f2 = 0.5F; - - if (this.lidAngle < f2 && f1 >= f2 && this.adjacentChestZNeg == null && this.adjacentChestXNeg == null) { - d2 = (double) this.xCoord + 0.5D; - double d0 = (double) this.zCoord + 0.5D; - - if (this.adjacentChestZPos != null) { - d0 += 0.5D; - } - - if (this.adjacentChestXPos != null) { - d2 += 0.5D; - } - - this.worldObj.playSoundEffect(d2, (double) this.yCoord + 0.5D, d0, "random.chestclosed", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); - } - - if (this.lidAngle < 0.0F) { - this.lidAngle = 0.0F; - } - } - } - - @Override - public boolean receiveClientEvent(int par1, int par2) { - if (par1 == 1) { - super.numPlayersUsing = par2; - return true; - } else { - return super.receiveClientEvent(par1, par2); - } - } - - @Override - public void openInventory() { - if (super.numPlayersUsing < 0) { - super.numPlayersUsing = 0; - } - - ++super.numPlayersUsing; - super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numPlayersUsing); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); - } - - @Override - public void closeInventory() { - if (this.getBlockType() != null && this.getBlockType() instanceof BlockChestSpawner) { - --super.numPlayersUsing; - super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numPlayersUsing); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); - } - } - - @Override - public void invalidate() { - super.invalidate(); - this.updateContainingBlockInfo(); - } - - @Override - public int func_145980_j() { - if (this.field_94046_i == -1) { - if (super.worldObj == null || !(this.getBlockType() instanceof BlockChest)) { - return 0; - } - - this.field_94046_i = ((BlockChest) this.getBlockType()).field_149956_a; - } - - return this.field_94046_i; - } + private final CursedChestSpawnerLogic chestSpawner = new CursedChestSpawnerLogic(this); + public float f; + public float g; + public int h; + private ItemStack[] chestContents = new ItemStack[36]; + private int ticksSinceSync; + private int field_94046_i = -1; + private String field_94045_s; + + public TileEntityChestSpawner() { + int entityID = (int) (Math.random() * 6.0D); + if (entityID == 0) { + this.chestSpawner.setEntityName("AtumMummy"); + } + + if (entityID == 1) { + this.chestSpawner.setEntityName("AtumBanditWarrior"); + } + + if (entityID == 2) { + this.chestSpawner.setEntityName("AtumBanditArcher"); + } + + if (entityID == 3) { + this.chestSpawner.setEntityName("AtumDustySkeleton"); + } + + if (entityID == 4) { + this.chestSpawner.setEntityName("AtumDesertGhost"); + } + + if (entityID == 5) { + this.chestSpawner.setEntityName("AtumStoneSoldier"); + } + + if (entityID == 6) { + this.chestSpawner.setEntityName("AtumDesertWolf"); + } + + this.chestSpawner.minSpawnDelay = 0; + } + + public void setSpawnerEntity(String name) { + this.chestSpawner.setEntityName(name); + } + + public void setMaxEntities(int max) { + this.chestSpawner.spawnCount = max; + } + + public void setDelay(int min, int max) { + this.chestSpawner.minSpawnDelay = min; + this.chestSpawner.maxSpawnDelay = max; + } + + public void setRange(int range) { + this.chestSpawner.spawnRange = range; + } + + @Override + public int getSizeInventory() { + return 27; + } + + @Override + public ItemStack getStackInSlot(int par1) { + return this.chestContents[par1]; + } + + @Override + public ItemStack decrStackSize(int par1, int par2) { + if (this.chestContents[par1] != null) { + ItemStack itemstack; + if (this.chestContents[par1].stackSize <= par2) { + itemstack = this.chestContents[par1]; + this.chestContents[par1] = null; + this.markDirty(); + return itemstack; + } else { + itemstack = this.chestContents[par1].splitStack(par2); + if (this.chestContents[par1].stackSize == 0) { + this.chestContents[par1] = null; + } + + this.markDirty(); + return itemstack; + } + } else { + return null; + } + } + + @Override + public ItemStack getStackInSlotOnClosing(int par1) { + if (this.chestContents[par1] != null) { + ItemStack itemstack = this.chestContents[par1]; + this.chestContents[par1] = null; + return itemstack; + } else { + return null; + } + } + + @Override + public void setInventorySlotContents(int par1, ItemStack par2ItemStack) { + this.chestContents[par1] = par2ItemStack; + if (par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) { + par2ItemStack.stackSize = this.getInventoryStackLimit(); + } + + this.markDirty(); + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.field_94045_s : "container.chest"; + } + + @Override + public boolean hasCustomInventoryName() { + return this.field_94045_s != null && this.field_94045_s.length() > 0; + } + + @Override + public void func_145976_a(String p_145976_1_) { + this.field_94045_s = p_145976_1_; + } + + @Override + public void readFromNBT(NBTTagCompound par1NBTTagCompound) { + super.readFromNBT(par1NBTTagCompound); + NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items", 0); + this.chestContents = new ItemStack[this.getSizeInventory()]; + if (par1NBTTagCompound.hasKey("CustomName")) { + this.field_94045_s = par1NBTTagCompound.getString("CustomName"); + } + + for (int i = 0; i < nbttaglist.tagCount(); ++i) { + NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.getCompoundTagAt(i); + int j = nbttagcompound1.getByte("Slot") & 255; + if (j >= 0 && j < this.chestContents.length) { + this.chestContents[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1); + } + } + + this.chestSpawner.readFromNBT(par1NBTTagCompound); + } + + @Override + public void writeToNBT(NBTTagCompound par1NBTTagCompound) { + super.writeToNBT(par1NBTTagCompound); + NBTTagList nbttaglist = new NBTTagList(); + + for (int i = 0; i < this.chestContents.length; ++i) { + if (this.chestContents[i] != null) { + NBTTagCompound nbttagcompound1 = new NBTTagCompound(); + nbttagcompound1.setByte("Slot", (byte) i); + this.chestContents[i].writeToNBT(nbttagcompound1); + nbttaglist.appendTag(nbttagcompound1); + } + } + + par1NBTTagCompound.setTag("Items", nbttaglist); + if (this.hasCustomInventoryName()) { + par1NBTTagCompound.setString("CustomName", this.field_94045_s); + } + + this.chestSpawner.writeToNBT(par1NBTTagCompound); + } + + @Override + public int getInventoryStackLimit() { + return 64; + } + + @Override + public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { + double d0 = 4.0D; + double d1 = 3.0D; + List list = super.worldObj.getEntitiesWithinAABB(EntityMob.class, AxisAlignedBB.getBoundingBox((double) super.xCoord - d0, (double) super.yCoord - d1, (double) super.zCoord - d0, (double) super.xCoord + d0, (double) super.yCoord + d1, (double) super.zCoord + d0)); + if (!list.isEmpty()) { + if (!super.worldObj.isRemote) { + par1EntityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chat.Atum.enemies"))); + } + + return false; + } else { + return super.worldObj.getTileEntity(super.xCoord, super.yCoord, super.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double) super.xCoord + 0.5D, (double) super.yCoord + 0.5D, (double) super.zCoord + 0.5D) <= 64.0D; + } + } + + + @Override + public void updateEntity() { + this.chestSpawner.updateSpawner(); + ++this.ticksSinceSync; + float f; + + if (!this.worldObj.isRemote && this.numPlayersUsing != 0 && (this.ticksSinceSync + this.xCoord + this.yCoord + this.zCoord) % 200 == 0) { + this.numPlayersUsing = 0; + f = 5.0F; + List list = this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox((double) ((float) this.xCoord - f), (double) ((float) this.yCoord - f), (double) ((float) this.zCoord - f), (double) ((float) (this.xCoord + 1) + f), (double) ((float) (this.yCoord + 1) + f), (double) ((float) (this.zCoord + 1) + f))); + Iterator iterator = list.iterator(); + + while (iterator.hasNext()) { + EntityPlayer entityplayer = (EntityPlayer) iterator.next(); + + if (entityplayer.openContainer instanceof ContainerChest) { + IInventory iinventory = ((ContainerChest) entityplayer.openContainer).getLowerChestInventory(); + + if (iinventory == this || iinventory instanceof InventoryLargeChest && ((InventoryLargeChest) iinventory).isPartOfLargeChest(this)) { + ++this.numPlayersUsing; + } + } + } + } + + this.prevLidAngle = this.lidAngle; + f = 0.1F; + double d2; + + if (this.numPlayersUsing > 0 && this.lidAngle == 0.0F && this.adjacentChestZNeg == null && this.adjacentChestXNeg == null) { + double d1 = (double) this.xCoord + 0.5D; + d2 = (double) this.zCoord + 0.5D; + + if (this.adjacentChestZPos != null) { + d2 += 0.5D; + } + + if (this.adjacentChestXPos != null) { + d1 += 0.5D; + } + + this.worldObj.playSoundEffect(d1, (double) this.yCoord + 0.5D, d2, "random.chestopen", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); + } + + if (this.numPlayersUsing == 0 && this.lidAngle > 0.0F || this.numPlayersUsing > 0 && this.lidAngle < 1.0F) { + float f1 = this.lidAngle; + + if (this.numPlayersUsing > 0) { + this.lidAngle += f; + } else { + this.lidAngle -= f; + } + + if (this.lidAngle > 1.0F) { + this.lidAngle = 1.0F; + } + + float f2 = 0.5F; + + if (this.lidAngle < f2 && f1 >= f2 && this.adjacentChestZNeg == null && this.adjacentChestXNeg == null) { + d2 = (double) this.xCoord + 0.5D; + double d0 = (double) this.zCoord + 0.5D; + + if (this.adjacentChestZPos != null) { + d0 += 0.5D; + } + + if (this.adjacentChestXPos != null) { + d2 += 0.5D; + } + + this.worldObj.playSoundEffect(d2, (double) this.yCoord + 0.5D, d0, "random.chestclosed", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); + } + + if (this.lidAngle < 0.0F) { + this.lidAngle = 0.0F; + } + } + } + + @Override + public boolean receiveClientEvent(int par1, int par2) { + if (par1 == 1) { + super.numPlayersUsing = par2; + return true; + } else { + return super.receiveClientEvent(par1, par2); + } + } + + @Override + public void openInventory() { + if (super.numPlayersUsing < 0) { + super.numPlayersUsing = 0; + } + + ++super.numPlayersUsing; + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numPlayersUsing); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); + } + + @Override + public void closeInventory() { + if (this.getBlockType() != null && this.getBlockType() instanceof BlockChestSpawner) { + --super.numPlayersUsing; + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numPlayersUsing); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); + } + } + + @Override + public void invalidate() { + super.invalidate(); + this.updateContainingBlockInfo(); + } + + @Override + public int func_145980_j() { + if (this.field_94046_i == -1) { + if (super.worldObj == null || !(this.getBlockType() instanceof BlockChest)) { + return 0; + } + + this.field_94046_i = ((BlockChest) this.getBlockType()).field_149956_a; + } + + return this.field_94046_i; + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java index e1afb19..d07f449 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java @@ -23,310 +23,310 @@ public class TileEntityPharaohChest extends TileEntityChest implements IInventory { - public float f; - public float g; - public int h; - private ItemStack[] chestContents = new ItemStack[36]; - private int ticksSinceSync; - private int field_94046_i = -1; - private String field_94045_s; - private boolean hasSpawned = false; - private boolean isOpenable = false; - - public int getSizeInventory() { - return 27; - } - - public ItemStack getStackInSlot(int par1) { - return this.chestContents[par1]; - } - - public ItemStack decrStackSize(int par1, int par2) { - if (this.chestContents[par1] != null) { - ItemStack itemstack; - if (this.chestContents[par1].stackSize <= par2) { - itemstack = this.chestContents[par1]; - this.chestContents[par1] = null; - this.markDirty(); - return itemstack; - } else { - itemstack = this.chestContents[par1].splitStack(par2); - if (this.chestContents[par1].stackSize == 0) { - this.chestContents[par1] = null; - } - - this.markDirty(); - return itemstack; - } - } else { - return null; - } - } - - public ItemStack getStackInSlotOnClosing(int par1) { - if (this.chestContents[par1] != null) { - ItemStack itemstack = this.chestContents[par1]; - this.chestContents[par1] = null; - return itemstack; - } else { - return null; - } - } - - public void setInventorySlotContents(int par1, ItemStack par2ItemStack) { - this.chestContents[par1] = par2ItemStack; - if (par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) { - par2ItemStack.stackSize = this.getInventoryStackLimit(); - } - - this.markDirty(); - } - - public String getInvName() { - return this.isInvNameLocalized() ? this.field_94045_s : "container.chest"; - } - - public boolean isInvNameLocalized() { - return this.field_94045_s != null && this.field_94045_s.length() > 0; - } - - public void func_94043_a(String par1Str) { - this.field_94045_s = par1Str; - } - - public void readFromNBT(NBTTagCompound par1NBTTagCompound) { - super.readFromNBT(par1NBTTagCompound); - NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items", 0); - this.chestContents = new ItemStack[this.getSizeInventory()]; - if (par1NBTTagCompound.hasKey("CustomName")) { - this.field_94045_s = par1NBTTagCompound.getString("CustomName"); - } - - for (int i = 0; i < nbttaglist.tagCount(); ++i) { - NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.getCompoundTagAt(i); - int j = nbttagcompound1.getByte("Slot") & 255; - if (j >= 0 && j < this.chestContents.length) { - this.chestContents[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1); - } - } - - this.hasSpawned = par1NBTTagCompound.getBoolean("spawned"); - this.isOpenable = par1NBTTagCompound.getBoolean("openable"); - } - - public void writeToNBT(NBTTagCompound par1NBTTagCompound) { - super.writeToNBT(par1NBTTagCompound); - NBTTagList nbttaglist = new NBTTagList(); - - for (int i = 0; i < this.chestContents.length; ++i) { - if (this.chestContents[i] != null) { - NBTTagCompound nbttagcompound1 = new NBTTagCompound(); - nbttagcompound1.setByte("Slot", (byte) i); - this.chestContents[i].writeToNBT(nbttagcompound1); - nbttaglist.appendTag(nbttagcompound1); - } - } - - par1NBTTagCompound.setTag("Items", nbttaglist); - if (this.isInvNameLocalized()) { - par1NBTTagCompound.setString("CustomName", this.field_94045_s); - } - - par1NBTTagCompound.setBoolean("spawned", this.hasSpawned); - par1NBTTagCompound.setBoolean("openable", this.isOpenable); - } - - public int getInventoryStackLimit() { - return 64; - } - - public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { - return !this.isOpenable ? false : (this.isOpenable && super.worldObj.getTileEntity(super.xCoord, super.yCoord, super.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double) super.xCoord + 0.5D, (double) super.yCoord + 0.5D, (double) super.zCoord + 0.5D) <= 64.0D); - } - - private boolean func_94044_a(int par1, int par2, int par3) { - Block block = this.worldObj.getBlock(par1, par2, par3); - return block != null && block instanceof BlockChest ? ((BlockChest) block).field_149956_a == this.func_98041_l() : false; - } - - @Override - public void updateEntity() { - ++this.ticksSinceSync; - float f; - - if (!this.worldObj.isRemote && this.numPlayersUsing != 0 && (this.ticksSinceSync + this.xCoord + this.yCoord + this.zCoord) % 200 == 0) { - this.numPlayersUsing = 0; - f = 5.0F; - List list = this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox((double) ((float) this.xCoord - f), (double) ((float) this.yCoord - f), (double) ((float) this.zCoord - f), (double) ((float) (this.xCoord + 1) + f), (double) ((float) (this.yCoord + 1) + f), (double) ((float) (this.zCoord + 1) + f))); - Iterator iterator = list.iterator(); - - while (iterator.hasNext()) { - EntityPlayer entityplayer = (EntityPlayer) iterator.next(); - - if (entityplayer.openContainer instanceof ContainerChest) { - IInventory iinventory = ((ContainerChest) entityplayer.openContainer).getLowerChestInventory(); - - if (iinventory == this || iinventory instanceof InventoryLargeChest && ((InventoryLargeChest) iinventory).isPartOfLargeChest(this)) { - ++this.numPlayersUsing; - } - } - } - } - - this.prevLidAngle = this.lidAngle; - f = 0.1F; - double d2; - - if (this.numPlayersUsing > 0 && this.lidAngle == 0.0F && this.adjacentChestZNeg == null && this.adjacentChestXNeg == null) { - double d1 = (double) this.xCoord + 0.5D; - d2 = (double) this.zCoord + 0.5D; - - if (this.adjacentChestZPos != null) { - d2 += 0.5D; - } - - if (this.adjacentChestXPos != null) { - d1 += 0.5D; - } - - this.worldObj.playSoundEffect(d1, (double) this.yCoord + 0.5D, d2, "random.chestopen", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); - } - - if (this.numPlayersUsing == 0 && this.lidAngle > 0.0F || this.numPlayersUsing > 0 && this.lidAngle < 1.0F) { - float f1 = this.lidAngle; - - if (this.numPlayersUsing > 0) { - this.lidAngle += f; - } else { - this.lidAngle -= f; - } - - if (this.lidAngle > 1.0F) { - this.lidAngle = 1.0F; - } - - float f2 = 0.5F; - - if (this.lidAngle < f2 && f1 >= f2 && this.adjacentChestZNeg == null && this.adjacentChestXNeg == null) { - d2 = (double) this.xCoord + 0.5D; - double d0 = (double) this.zCoord + 0.5D; - - if (this.adjacentChestZPos != null) { - d0 += 0.5D; - } - - if (this.adjacentChestXPos != null) { - d2 += 0.5D; - } - - this.worldObj.playSoundEffect(d2, (double) this.yCoord + 0.5D, d0, "random.chestclosed", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); - } - - if (this.lidAngle < 0.0F) { - this.lidAngle = 0.0F; - } - } - } - - public boolean receiveClientEvent(int par1, int par2) { - if (par1 == 1) { - super.numPlayersUsing = par2; - return true; - } else { - return super.receiveClientEvent(par1, par2); - } - } - - @Override - public void openInventory() { - if (super.numPlayersUsing < 0) { - super.numPlayersUsing = 0; - } - - ++super.numPlayersUsing; - super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numPlayersUsing); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); - } - - @Override - public void closeInventory() { - if (this.getBlockType() != null && this.getBlockType() instanceof BlockChestSpawner) { - --super.numPlayersUsing; - super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numPlayersUsing); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); - super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); - } - } - - - public void invalidate() { - super.invalidate(); - this.updateContainingBlockInfo(); - } - - public int func_98041_l() { - if (this.field_94046_i == -1) { - if (super.worldObj == null || !(this.getBlockType() instanceof BlockChest)) { - return 0; - } - - this.field_94046_i = ((BlockChest) this.getBlockType()).field_149956_a; - } - - return this.field_94046_i; - } - - public void setOpenable() { - this.isOpenable = true; - } - - public boolean hasSpawned() { - return this.hasSpawned; - } - - public void spawn(EntityPlayer player) { - EntityPharaoh pharaoh = new EntityPharaoh(super.worldObj); - pharaoh.setPosition((double) super.xCoord + 0.5D, (double) (super.yCoord + 1), (double) super.zCoord + 0.5D); - pharaoh.link(super.xCoord, super.yCoord, super.zCoord); - if (!super.worldObj.isRemote) { - super.worldObj.spawnEntityInWorld(pharaoh); - } - - pharaoh.spawnExplosionParticle(); - this.hasSpawned = true; - EntityMummy mummy1 = new EntityMummy(super.worldObj); - mummy1.setPosition((double) super.xCoord + 0.5D, (double) super.yCoord, (double) super.zCoord - 0.5D); - if (!super.worldObj.isRemote) { - super.worldObj.spawnEntityInWorld(mummy1); - } - - mummy1.spawnExplosionParticle(); - EntityMummy mummy2 = new EntityMummy(super.worldObj); - mummy2.setPosition((double) super.xCoord + 0.5D, (double) super.yCoord, (double) super.zCoord + 1.5D); - if (!super.worldObj.isRemote) { - super.worldObj.spawnEntityInWorld(mummy2); - } - - mummy2.spawnExplosionParticle(); - if (!super.worldObj.isRemote) { - List players = FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList; - Iterator i = players.iterator(); - - while (i.hasNext()) { - EntityPlayer p = (EntityPlayer) i.next(); - p.addChatMessage(new ChatComponentText(pharaoh.getCommandSenderName() + " " + StatCollector.translateToLocal("chat.atum.summonPharaoh") + " " + player.getGameProfile().getName())); - } - } - - if (!super.worldObj.isRemote) { - System.out.println("Playing Sound"); - super.worldObj.playSoundAtEntity(pharaoh, "Atum.pharaohspawn", 1.0F, 1.0F); - } - - } - - public void setPharaohDespawned() { - this.hasSpawned = false; - } + public float f; + public float g; + public int h; + private ItemStack[] chestContents = new ItemStack[36]; + private int ticksSinceSync; + private int field_94046_i = -1; + private String field_94045_s; + private boolean hasSpawned = false; + private boolean isOpenable = false; + + public int getSizeInventory() { + return 27; + } + + public ItemStack getStackInSlot(int par1) { + return this.chestContents[par1]; + } + + public ItemStack decrStackSize(int par1, int par2) { + if (this.chestContents[par1] != null) { + ItemStack itemstack; + if (this.chestContents[par1].stackSize <= par2) { + itemstack = this.chestContents[par1]; + this.chestContents[par1] = null; + this.markDirty(); + return itemstack; + } else { + itemstack = this.chestContents[par1].splitStack(par2); + if (this.chestContents[par1].stackSize == 0) { + this.chestContents[par1] = null; + } + + this.markDirty(); + return itemstack; + } + } else { + return null; + } + } + + public ItemStack getStackInSlotOnClosing(int par1) { + if (this.chestContents[par1] != null) { + ItemStack itemstack = this.chestContents[par1]; + this.chestContents[par1] = null; + return itemstack; + } else { + return null; + } + } + + public void setInventorySlotContents(int par1, ItemStack par2ItemStack) { + this.chestContents[par1] = par2ItemStack; + if (par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) { + par2ItemStack.stackSize = this.getInventoryStackLimit(); + } + + this.markDirty(); + } + + public String getInvName() { + return this.isInvNameLocalized() ? this.field_94045_s : "container.chest"; + } + + public boolean isInvNameLocalized() { + return this.field_94045_s != null && this.field_94045_s.length() > 0; + } + + public void func_94043_a(String par1Str) { + this.field_94045_s = par1Str; + } + + public void readFromNBT(NBTTagCompound par1NBTTagCompound) { + super.readFromNBT(par1NBTTagCompound); + NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items", 0); + this.chestContents = new ItemStack[this.getSizeInventory()]; + if (par1NBTTagCompound.hasKey("CustomName")) { + this.field_94045_s = par1NBTTagCompound.getString("CustomName"); + } + + for (int i = 0; i < nbttaglist.tagCount(); ++i) { + NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.getCompoundTagAt(i); + int j = nbttagcompound1.getByte("Slot") & 255; + if (j >= 0 && j < this.chestContents.length) { + this.chestContents[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1); + } + } + + this.hasSpawned = par1NBTTagCompound.getBoolean("spawned"); + this.isOpenable = par1NBTTagCompound.getBoolean("openable"); + } + + public void writeToNBT(NBTTagCompound par1NBTTagCompound) { + super.writeToNBT(par1NBTTagCompound); + NBTTagList nbttaglist = new NBTTagList(); + + for (int i = 0; i < this.chestContents.length; ++i) { + if (this.chestContents[i] != null) { + NBTTagCompound nbttagcompound1 = new NBTTagCompound(); + nbttagcompound1.setByte("Slot", (byte) i); + this.chestContents[i].writeToNBT(nbttagcompound1); + nbttaglist.appendTag(nbttagcompound1); + } + } + + par1NBTTagCompound.setTag("Items", nbttaglist); + if (this.isInvNameLocalized()) { + par1NBTTagCompound.setString("CustomName", this.field_94045_s); + } + + par1NBTTagCompound.setBoolean("spawned", this.hasSpawned); + par1NBTTagCompound.setBoolean("openable", this.isOpenable); + } + + public int getInventoryStackLimit() { + return 64; + } + + public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { + return !this.isOpenable ? false : (this.isOpenable && super.worldObj.getTileEntity(super.xCoord, super.yCoord, super.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double) super.xCoord + 0.5D, (double) super.yCoord + 0.5D, (double) super.zCoord + 0.5D) <= 64.0D); + } + + private boolean func_94044_a(int par1, int par2, int par3) { + Block block = this.worldObj.getBlock(par1, par2, par3); + return block != null && block instanceof BlockChest ? ((BlockChest) block).field_149956_a == this.func_98041_l() : false; + } + + @Override + public void updateEntity() { + ++this.ticksSinceSync; + float f; + + if (!this.worldObj.isRemote && this.numPlayersUsing != 0 && (this.ticksSinceSync + this.xCoord + this.yCoord + this.zCoord) % 200 == 0) { + this.numPlayersUsing = 0; + f = 5.0F; + List list = this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox((double) ((float) this.xCoord - f), (double) ((float) this.yCoord - f), (double) ((float) this.zCoord - f), (double) ((float) (this.xCoord + 1) + f), (double) ((float) (this.yCoord + 1) + f), (double) ((float) (this.zCoord + 1) + f))); + Iterator iterator = list.iterator(); + + while (iterator.hasNext()) { + EntityPlayer entityplayer = (EntityPlayer) iterator.next(); + + if (entityplayer.openContainer instanceof ContainerChest) { + IInventory iinventory = ((ContainerChest) entityplayer.openContainer).getLowerChestInventory(); + + if (iinventory == this || iinventory instanceof InventoryLargeChest && ((InventoryLargeChest) iinventory).isPartOfLargeChest(this)) { + ++this.numPlayersUsing; + } + } + } + } + + this.prevLidAngle = this.lidAngle; + f = 0.1F; + double d2; + + if (this.numPlayersUsing > 0 && this.lidAngle == 0.0F && this.adjacentChestZNeg == null && this.adjacentChestXNeg == null) { + double d1 = (double) this.xCoord + 0.5D; + d2 = (double) this.zCoord + 0.5D; + + if (this.adjacentChestZPos != null) { + d2 += 0.5D; + } + + if (this.adjacentChestXPos != null) { + d1 += 0.5D; + } + + this.worldObj.playSoundEffect(d1, (double) this.yCoord + 0.5D, d2, "random.chestopen", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); + } + + if (this.numPlayersUsing == 0 && this.lidAngle > 0.0F || this.numPlayersUsing > 0 && this.lidAngle < 1.0F) { + float f1 = this.lidAngle; + + if (this.numPlayersUsing > 0) { + this.lidAngle += f; + } else { + this.lidAngle -= f; + } + + if (this.lidAngle > 1.0F) { + this.lidAngle = 1.0F; + } + + float f2 = 0.5F; + + if (this.lidAngle < f2 && f1 >= f2 && this.adjacentChestZNeg == null && this.adjacentChestXNeg == null) { + d2 = (double) this.xCoord + 0.5D; + double d0 = (double) this.zCoord + 0.5D; + + if (this.adjacentChestZPos != null) { + d0 += 0.5D; + } + + if (this.adjacentChestXPos != null) { + d2 += 0.5D; + } + + this.worldObj.playSoundEffect(d2, (double) this.yCoord + 0.5D, d0, "random.chestclosed", 0.5F, this.worldObj.rand.nextFloat() * 0.1F + 0.9F); + } + + if (this.lidAngle < 0.0F) { + this.lidAngle = 0.0F; + } + } + } + + public boolean receiveClientEvent(int par1, int par2) { + if (par1 == 1) { + super.numPlayersUsing = par2; + return true; + } else { + return super.receiveClientEvent(par1, par2); + } + } + + @Override + public void openInventory() { + if (super.numPlayersUsing < 0) { + super.numPlayersUsing = 0; + } + + ++super.numPlayersUsing; + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numPlayersUsing); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); + } + + @Override + public void closeInventory() { + if (this.getBlockType() != null && this.getBlockType() instanceof BlockChestSpawner) { + --super.numPlayersUsing; + super.worldObj.addBlockEvent(super.xCoord, super.yCoord, super.zCoord, this.getBlockType(), 1, super.numPlayersUsing); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord, super.zCoord, this.getBlockType()); + super.worldObj.notifyBlocksOfNeighborChange(super.xCoord, super.yCoord - 1, super.zCoord, this.getBlockType()); + } + } + + + public void invalidate() { + super.invalidate(); + this.updateContainingBlockInfo(); + } + + public int func_98041_l() { + if (this.field_94046_i == -1) { + if (super.worldObj == null || !(this.getBlockType() instanceof BlockChest)) { + return 0; + } + + this.field_94046_i = ((BlockChest) this.getBlockType()).field_149956_a; + } + + return this.field_94046_i; + } + + public void setOpenable() { + this.isOpenable = true; + } + + public boolean hasSpawned() { + return this.hasSpawned; + } + + public void spawn(EntityPlayer player) { + EntityPharaoh pharaoh = new EntityPharaoh(super.worldObj); + pharaoh.setPosition((double) super.xCoord + 0.5D, (double) (super.yCoord + 1), (double) super.zCoord + 0.5D); + pharaoh.link(super.xCoord, super.yCoord, super.zCoord); + if (!super.worldObj.isRemote) { + super.worldObj.spawnEntityInWorld(pharaoh); + } + + pharaoh.spawnExplosionParticle(); + this.hasSpawned = true; + EntityMummy mummy1 = new EntityMummy(super.worldObj); + mummy1.setPosition((double) super.xCoord + 0.5D, (double) super.yCoord, (double) super.zCoord - 0.5D); + if (!super.worldObj.isRemote) { + super.worldObj.spawnEntityInWorld(mummy1); + } + + mummy1.spawnExplosionParticle(); + EntityMummy mummy2 = new EntityMummy(super.worldObj); + mummy2.setPosition((double) super.xCoord + 0.5D, (double) super.yCoord, (double) super.zCoord + 1.5D); + if (!super.worldObj.isRemote) { + super.worldObj.spawnEntityInWorld(mummy2); + } + + mummy2.spawnExplosionParticle(); + if (!super.worldObj.isRemote) { + List players = FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList; + Iterator i = players.iterator(); + + while (i.hasNext()) { + EntityPlayer p = (EntityPlayer) i.next(); + p.addChatMessage(new ChatComponentText(pharaoh.getCommandSenderName() + " " + StatCollector.translateToLocal("chat.atum.summonPharaoh") + " " + player.getGameProfile().getName())); + } + } + + if (!super.worldObj.isRemote) { + System.out.println("Playing Sound"); + super.worldObj.playSoundAtEntity(pharaoh, "Atum.pharaohspawn", 1.0F, 1.0F); + } + + } + + public void setPharaohDespawned() { + this.hasSpawned = false; + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/ContainerLimestoneFurnace.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/ContainerLimestoneFurnace.java index e0ce1c4..a0493e6 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/ContainerLimestoneFurnace.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/ContainerLimestoneFurnace.java @@ -13,137 +13,137 @@ import net.minecraft.tileentity.TileEntity; public class ContainerLimestoneFurnace extends Container { - private TileEntityLimestoneFurnace furnace; - private int lastCookTime = 0; - private int lastBurnTime = 0; - private int lastItemBurnTime = 0; - - public ContainerLimestoneFurnace(InventoryPlayer par1InventoryPlayer, TileEntity par2TileEntityLimestoneFurnace) { - this.furnace = (TileEntityLimestoneFurnace) par2TileEntityLimestoneFurnace; - this.addSlotToContainer(new Slot(furnace, 0, 56, 17)); - this.addSlotToContainer(new Slot(furnace, 1, 56, 53)); - this.addSlotToContainer(new SlotFurnace(par1InventoryPlayer.player, furnace, 2, 116, 35)); - int i; - - for (i = 0; i < 3; ++i) { - for (int j = 0; j < 9; ++j) { - this.addSlotToContainer(new Slot(par1InventoryPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); - } - } - - for (i = 0; i < 9; ++i) { - this.addSlotToContainer(new Slot(par1InventoryPlayer, i, 8 + i * 18, 142)); - } - } - - @Override - public void addCraftingToCrafters(ICrafting par1ICrafting) { - super.addCraftingToCrafters(par1ICrafting); - par1ICrafting.sendProgressBarUpdate(this, 0, this.furnace.furnaceCookTime); - par1ICrafting.sendProgressBarUpdate(this, 1, this.furnace.furnaceBurnTime); - par1ICrafting.sendProgressBarUpdate(this, 2, this.furnace.currentItemBurnTime); - } - - /** - * Looks for changes made in the container, sends them to every listener. - */ - @Override - public void detectAndSendChanges() { - super.detectAndSendChanges(); - - for (int i = 0; i < this.crafters.size(); ++i) { - ICrafting icrafting = (ICrafting) this.crafters.get(i); - - if (this.lastCookTime != this.furnace.furnaceCookTime) { - icrafting.sendProgressBarUpdate(this, 0, this.furnace.furnaceCookTime); - } - - if (this.lastBurnTime != this.furnace.furnaceBurnTime) { - icrafting.sendProgressBarUpdate(this, 1, this.furnace.furnaceBurnTime); - } - - if (this.lastItemBurnTime != this.furnace.currentItemBurnTime) { - icrafting.sendProgressBarUpdate(this, 2, this.furnace.currentItemBurnTime); - } - } - - this.lastCookTime = this.furnace.furnaceCookTime; - this.lastBurnTime = this.furnace.furnaceBurnTime; - this.lastItemBurnTime = this.furnace.currentItemBurnTime; - } - - @SideOnly(Side.CLIENT) - @Override - public void updateProgressBar(int par1, int par2) { - if (par1 == 0) { - this.furnace.furnaceCookTime = par2; - } - - if (par1 == 1) { - this.furnace.furnaceBurnTime = par2; - } - - if (par1 == 2) { - this.furnace.currentItemBurnTime = par2; - } - } - - @Override - public boolean canInteractWith(EntityPlayer par1EntityPlayer) { - return this.furnace.isUseableByPlayer(par1EntityPlayer); - } - - /** - * Called when a player shift-clicks on a slot. You must override this or you will crash when someone does that. - */ - @Override - public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2) { - ItemStack itemstack = null; - Slot slot = (Slot) this.inventorySlots.get(par2); - - if (slot != null && slot.getHasStack()) { - ItemStack itemstack1 = slot.getStack(); - itemstack = itemstack1.copy(); - - if (par2 == 2) { - if (!this.mergeItemStack(itemstack1, 3, 39, true)) { - return null; - } - - slot.onSlotChange(itemstack1, itemstack); - } else if (par2 != 1 && par2 != 0) { - if (FurnaceRecipes.smelting().getSmeltingResult(itemstack1) != null) { - if (!this.mergeItemStack(itemstack1, 0, 1, false)) { - return null; - } - } else if (TileEntityLimestoneFurnace.isItemFuel(itemstack1)) { - if (!this.mergeItemStack(itemstack1, 1, 2, false)) { - return null; - } - } else if (par2 >= 3 && par2 < 30) { - if (!this.mergeItemStack(itemstack1, 30, 39, false)) { - return null; - } - } else if (par2 >= 30 && par2 < 39 && !this.mergeItemStack(itemstack1, 3, 30, false)) { - return null; - } - } else if (!this.mergeItemStack(itemstack1, 3, 39, false)) { - return null; - } - - if (itemstack1.stackSize == 0) { - slot.putStack((ItemStack) null); - } else { - slot.onSlotChanged(); - } - - if (itemstack1.stackSize == itemstack.stackSize) { - return null; - } - - slot.onPickupFromSlot(par1EntityPlayer, itemstack1); - } - - return itemstack; - } + private TileEntityLimestoneFurnace furnace; + private int lastCookTime = 0; + private int lastBurnTime = 0; + private int lastItemBurnTime = 0; + + public ContainerLimestoneFurnace(InventoryPlayer par1InventoryPlayer, TileEntity par2TileEntityLimestoneFurnace) { + this.furnace = (TileEntityLimestoneFurnace) par2TileEntityLimestoneFurnace; + this.addSlotToContainer(new Slot(furnace, 0, 56, 17)); + this.addSlotToContainer(new Slot(furnace, 1, 56, 53)); + this.addSlotToContainer(new SlotFurnace(par1InventoryPlayer.player, furnace, 2, 116, 35)); + int i; + + for (i = 0; i < 3; ++i) { + for (int j = 0; j < 9; ++j) { + this.addSlotToContainer(new Slot(par1InventoryPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); + } + } + + for (i = 0; i < 9; ++i) { + this.addSlotToContainer(new Slot(par1InventoryPlayer, i, 8 + i * 18, 142)); + } + } + + @Override + public void addCraftingToCrafters(ICrafting par1ICrafting) { + super.addCraftingToCrafters(par1ICrafting); + par1ICrafting.sendProgressBarUpdate(this, 0, this.furnace.furnaceCookTime); + par1ICrafting.sendProgressBarUpdate(this, 1, this.furnace.furnaceBurnTime); + par1ICrafting.sendProgressBarUpdate(this, 2, this.furnace.currentItemBurnTime); + } + + /** + * Looks for changes made in the container, sends them to every listener. + */ + @Override + public void detectAndSendChanges() { + super.detectAndSendChanges(); + + for (int i = 0; i < this.crafters.size(); ++i) { + ICrafting icrafting = (ICrafting) this.crafters.get(i); + + if (this.lastCookTime != this.furnace.furnaceCookTime) { + icrafting.sendProgressBarUpdate(this, 0, this.furnace.furnaceCookTime); + } + + if (this.lastBurnTime != this.furnace.furnaceBurnTime) { + icrafting.sendProgressBarUpdate(this, 1, this.furnace.furnaceBurnTime); + } + + if (this.lastItemBurnTime != this.furnace.currentItemBurnTime) { + icrafting.sendProgressBarUpdate(this, 2, this.furnace.currentItemBurnTime); + } + } + + this.lastCookTime = this.furnace.furnaceCookTime; + this.lastBurnTime = this.furnace.furnaceBurnTime; + this.lastItemBurnTime = this.furnace.currentItemBurnTime; + } + + @SideOnly(Side.CLIENT) + @Override + public void updateProgressBar(int par1, int par2) { + if (par1 == 0) { + this.furnace.furnaceCookTime = par2; + } + + if (par1 == 1) { + this.furnace.furnaceBurnTime = par2; + } + + if (par1 == 2) { + this.furnace.currentItemBurnTime = par2; + } + } + + @Override + public boolean canInteractWith(EntityPlayer par1EntityPlayer) { + return this.furnace.isUseableByPlayer(par1EntityPlayer); + } + + /** + * Called when a player shift-clicks on a slot. You must override this or you will crash when someone does that. + */ + @Override + public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2) { + ItemStack itemstack = null; + Slot slot = (Slot) this.inventorySlots.get(par2); + + if (slot != null && slot.getHasStack()) { + ItemStack itemstack1 = slot.getStack(); + itemstack = itemstack1.copy(); + + if (par2 == 2) { + if (!this.mergeItemStack(itemstack1, 3, 39, true)) { + return null; + } + + slot.onSlotChange(itemstack1, itemstack); + } else if (par2 != 1 && par2 != 0) { + if (FurnaceRecipes.smelting().getSmeltingResult(itemstack1) != null) { + if (!this.mergeItemStack(itemstack1, 0, 1, false)) { + return null; + } + } else if (TileEntityLimestoneFurnace.isItemFuel(itemstack1)) { + if (!this.mergeItemStack(itemstack1, 1, 2, false)) { + return null; + } + } else if (par2 >= 3 && par2 < 30) { + if (!this.mergeItemStack(itemstack1, 30, 39, false)) { + return null; + } + } else if (par2 >= 30 && par2 < 39 && !this.mergeItemStack(itemstack1, 3, 30, false)) { + return null; + } + } else if (!this.mergeItemStack(itemstack1, 3, 39, false)) { + return null; + } + + if (itemstack1.stackSize == 0) { + slot.putStack((ItemStack) null); + } else { + slot.onSlotChanged(); + } + + if (itemstack1.stackSize == itemstack.stackSize) { + return null; + } + + slot.onPickupFromSlot(par1EntityPlayer, itemstack1); + } + + return itemstack; + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java index 3ed3619..ebc60a0 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/GuiLimestoneFurnace.java @@ -11,43 +11,43 @@ @SideOnly(Side.CLIENT) public class GuiLimestoneFurnace extends GuiContainer { - private TileEntityLimestoneFurnace furnaceInventory; + private TileEntityLimestoneFurnace furnaceInventory; - public GuiLimestoneFurnace(InventoryPlayer par1InventoryPlayer, TileEntity par2TileEntityLimestoneFurnace) { - super(new ContainerLimestoneFurnace(par1InventoryPlayer, par2TileEntityLimestoneFurnace)); - this.furnaceInventory = (TileEntityLimestoneFurnace) par2TileEntityLimestoneFurnace; - } + public GuiLimestoneFurnace(InventoryPlayer par1InventoryPlayer, TileEntity par2TileEntityLimestoneFurnace) { + super(new ContainerLimestoneFurnace(par1InventoryPlayer, par2TileEntityLimestoneFurnace)); + this.furnaceInventory = (TileEntityLimestoneFurnace) par2TileEntityLimestoneFurnace; + } - /** - * Draw the foreground layer for the GuiContainer (everything in front of - * the items) - */ - @Override - protected void drawGuiContainerForegroundLayer(int par1, int par2) { - String s = StatCollector.translateToLocal(this.furnaceInventory.getInventoryName()); - this.fontRendererObj.drawString(s, this.xSize / 2 - this.fontRendererObj.getStringWidth(s) / 2, 6, 4210752); - this.fontRendererObj.drawString(StatCollector.translateToLocal("container.inventory"), 8, this.ySize - 96 + 2, 4210752); - } + /** + * Draw the foreground layer for the GuiContainer (everything in front of + * the items) + */ + @Override + protected void drawGuiContainerForegroundLayer(int par1, int par2) { + String s = StatCollector.translateToLocal(this.furnaceInventory.getInventoryName()); + this.fontRendererObj.drawString(s, this.xSize / 2 - this.fontRendererObj.getStringWidth(s) / 2, 6, 4210752); + this.fontRendererObj.drawString(StatCollector.translateToLocal("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + } - /** - * Draw the background layer for the GuiContainer (everything behind the - * items) - */ - @Override - protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - this.mc.renderEngine.bindTexture(new ResourceLocation("textures/gui/container/furnace.png")); - int k = (this.width - this.xSize) / 2; - int l = (this.height - this.ySize) / 2; - this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize); - int i1; + /** + * Draw the background layer for the GuiContainer (everything behind the + * items) + */ + @Override + protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + this.mc.renderEngine.bindTexture(new ResourceLocation("textures/gui/container/furnace.png")); + int k = (this.width - this.xSize) / 2; + int l = (this.height - this.ySize) / 2; + this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize); + int i1; - if (this.furnaceInventory.isBurning()) { - i1 = this.furnaceInventory.getBurnTimeRemainingScaled(12); - this.drawTexturedModalRect(k + 56, l + 36 + 12 - i1, 176, 12 - i1, 14, i1 + 2); - } + if (this.furnaceInventory.isBurning()) { + i1 = this.furnaceInventory.getBurnTimeRemainingScaled(12); + this.drawTexturedModalRect(k + 56, l + 36 + 12 - i1, 176, 12 - i1, 14, i1 + 2); + } - i1 = this.furnaceInventory.getCookProgressScaled(24); - this.drawTexturedModalRect(k + 79, l + 34, 176, 14, i1 + 1, 16); - } + i1 = this.furnaceInventory.getCookProgressScaled(24); + this.drawTexturedModalRect(k + 79, l + 34, 176, 14, i1 + 1, 16); + } } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/TileEntityLimestoneFurnace.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/TileEntityLimestoneFurnace.java index b8b2620..d5cb93b 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/TileEntityLimestoneFurnace.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/TileEntityLimestoneFurnace.java @@ -17,393 +17,393 @@ import net.minecraft.tileentity.TileEntityFurnace; public class TileEntityLimestoneFurnace extends TileEntityFurnace implements ISidedInventory { - private static final int[] field_102010_d = new int[]{0}; - private static final int[] field_102011_e = new int[]{2, 1}; - private static final int[] field_102009_f = new int[]{1}; - /** - * The number of ticks that the furnace will keep burning - */ - public int furnaceBurnTime = 0; - /** - * The number of ticks that a fresh copy of the currently-burning item would - * keep the furnace burning for - */ - public int currentItemBurnTime = 0; - /** - * The number of ticks that the current item has been cooking for - */ - public int furnaceCookTime = 0; - /** - * The ItemStacks that hold the items currently being used in the furnace - */ - private ItemStack[] furnaceItemStacks = new ItemStack[3]; - private String field_94130_e; - - /** - * Returns the number of ticks that the supplied fuel item will keep the - * furnace burning, or 0 if the item isn't fuel - */ - public static int getItemBurnTime(ItemStack par0ItemStack) { - if (par0ItemStack == null) { - return 0; - } else { - Item i = par0ItemStack.getItem(); - Item item = par0ItemStack.getItem(); - - if (par0ItemStack.getItem() instanceof ItemBlock && i != null) { - Block block = Block.getBlockFromItem(i); - - if (block == Blocks.wooden_slab) { - return 150; - } - - if (block.getMaterial() == Material.wood) { - return 300; - } - } - - if (item instanceof ItemTool && ((ItemTool) item).getToolMaterialName().equals("WOOD")) - return 200; - if (item instanceof ItemSword && ((ItemSword) item).getToolMaterialName().equals("WOOD")) - return 200; - if (item instanceof ItemHoe && ((ItemHoe) item).getToolMaterialName().equals("WOOD")) - return 200; - if (i == Items.stick) - return 100; - if (i == Items.coal) - return 1600; - if (i == Items.lava_bucket) - return 20000; - if (Block.getBlockFromItem(i) == Blocks.sapling) - return 100; - if (i == Items.blaze_rod) - return 2400; - return GameRegistry.getFuelValue(par0ItemStack); - } - } - - /** - * Return true if item is a fuel source (getItemBurnTime() > 0). - */ - public static boolean isItemFuel(ItemStack par0ItemStack) { - return getItemBurnTime(par0ItemStack) > 0; - } - - /** - * Returns the number of slots in the inventory. - */ - @Override - public int getSizeInventory() { - return this.furnaceItemStacks.length; - } - - /** - * Returns the stack in slot i - */ - @Override - public ItemStack getStackInSlot(int par1) { - return this.furnaceItemStacks[par1]; - } - - /** - * Removes from an inventory slot (first arg) up to a specified number - * (second arg) of items and returns them in a new stack. - */ - @Override - public ItemStack decrStackSize(int par1, int par2) { - if (this.furnaceItemStacks[par1] != null) { - ItemStack itemstack; - - if (this.furnaceItemStacks[par1].stackSize <= par2) { - itemstack = this.furnaceItemStacks[par1]; - this.furnaceItemStacks[par1] = null; - return itemstack; - } else { - itemstack = this.furnaceItemStacks[par1].splitStack(par2); - - if (this.furnaceItemStacks[par1].stackSize == 0) { - this.furnaceItemStacks[par1] = null; - } - - return itemstack; - } - } else { - return null; - } - } - - /** - * When some containers are closed they call this on each slot, then drop - * whatever it returns as an EntityItem - like when you close a workbench - * GUI. - */ - @Override - public ItemStack getStackInSlotOnClosing(int par1) { - if (this.furnaceItemStacks[par1] != null) { - ItemStack itemstack = this.furnaceItemStacks[par1]; - this.furnaceItemStacks[par1] = null; - return itemstack; - } else { - return null; - } - } - - /** - * Sets the given item stack to the specified slot in the inventory (can be - * crafting or armor sections). - */ - @Override - public void setInventorySlotContents(int par1, ItemStack par2ItemStack) { - this.furnaceItemStacks[par1] = par2ItemStack; - - if (par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) { - par2ItemStack.stackSize = this.getInventoryStackLimit(); - } - } - - /** - * Returns the name of the inventory. - */ - @Override - public String getInventoryName() { - return this.hasCustomInventoryName() ? this.field_94130_e : "container.limestoneFurnace"; - } - - /** - * If this returns false, the inventory name will be used as an unlocalized - * name, and translated into the player's language. Otherwise it will be - * used directly. - */ - @Override - public boolean hasCustomInventoryName() { - return this.field_94130_e != null && this.field_94130_e.length() > 0; - } - - public void func_94129_a(String par1Str) { - this.field_94130_e = par1Str; - } - - /** - * Reads a tile entity from NBT. - */ - @Override - public void readFromNBT(NBTTagCompound par1NBTTagCompound) { - super.readFromNBT(par1NBTTagCompound); - NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items", 0); - this.furnaceItemStacks = new ItemStack[this.getSizeInventory()]; - - for (int i = 0; i < nbttaglist.tagCount(); ++i) { - NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.getCompoundTagAt(i); - byte b0 = nbttagcompound1.getByte("Slot"); - - if (b0 >= 0 && b0 < this.furnaceItemStacks.length) { - this.furnaceItemStacks[b0] = ItemStack.loadItemStackFromNBT(nbttagcompound1); - } - } - - this.furnaceBurnTime = par1NBTTagCompound.getShort("BurnTime"); - this.furnaceCookTime = par1NBTTagCompound.getShort("CookTime"); - this.currentItemBurnTime = getItemBurnTime(this.furnaceItemStacks[1]); - - if (par1NBTTagCompound.hasKey("CustomName")) { - this.field_94130_e = par1NBTTagCompound.getString("CustomName"); - } - } - - /** - * Writes a tile entity to NBT. - */ - @Override - public void writeToNBT(NBTTagCompound par1NBTTagCompound) { - super.writeToNBT(par1NBTTagCompound); - par1NBTTagCompound.setShort("BurnTime", (short) this.furnaceBurnTime); - par1NBTTagCompound.setShort("CookTime", (short) this.furnaceCookTime); - NBTTagList nbttaglist = new NBTTagList(); - - for (int i = 0; i < this.furnaceItemStacks.length; ++i) { - if (this.furnaceItemStacks[i] != null) { - NBTTagCompound nbttagcompound1 = new NBTTagCompound(); - nbttagcompound1.setByte("Slot", (byte) i); - this.furnaceItemStacks[i].writeToNBT(nbttagcompound1); - nbttaglist.appendTag(nbttagcompound1); - } - } - - par1NBTTagCompound.setTag("Items", nbttaglist); - - if (this.hasCustomInventoryName()) { - par1NBTTagCompound.setString("CustomName", this.field_94130_e); - } - } - - /** - * Returns the maximum stack size for a inventory slot. Seems to always be - * 64, possibly will be extended. *Isn't this more of a set than a get?* - */ - @Override - public int getInventoryStackLimit() { - return 64; - } - - @SideOnly(Side.CLIENT) - /** - * Returns an integer between 0 and the passed value representing how close the current item is to being completely - * cooked - */ - public int getCookProgressScaled(int par1) { - return this.furnaceCookTime * par1 / 200; - } - - @SideOnly(Side.CLIENT) - /** - * Returns an integer between 0 and the passed value representing how much burn time is left on the current fuel - * item, where 0 means that the item is exhausted and the passed value means that the item is fresh - */ - public int getBurnTimeRemainingScaled(int par1) { - if (this.currentItemBurnTime == 0) { - this.currentItemBurnTime = 200; - } - - return this.furnaceBurnTime * par1 / this.currentItemBurnTime; - } - - /** - * Returns true if the furnace is currently burning - */ - public boolean isBurning() { - return this.furnaceBurnTime > 0; - } - - /** - * Allows the entity to update its state. Overridden in most subclasses, - * e.g. the mob spawner uses this to count ticks and creates a new spawn - * inside its implementation. - */ - @Override - public void updateEntity() { - boolean flag = this.furnaceBurnTime > 0; - boolean flag1 = false; - - if (this.furnaceBurnTime > 0) { - --this.furnaceBurnTime; - } - - if (!this.worldObj.isRemote) { - if (this.furnaceBurnTime == 0 && this.canSmelt()) { - this.currentItemBurnTime = this.furnaceBurnTime = getItemBurnTime(this.furnaceItemStacks[1]); - - if (this.furnaceBurnTime > 0) { - flag1 = true; - - if (this.furnaceItemStacks[1] != null) { - --this.furnaceItemStacks[1].stackSize; - - if (this.furnaceItemStacks[1].stackSize == 0) { - this.furnaceItemStacks[1] = this.furnaceItemStacks[1].getItem().getContainerItem(furnaceItemStacks[1]); - } - } - } - } - - if (this.isBurning() && this.canSmelt()) { - ++this.furnaceCookTime; - - if (this.furnaceCookTime == 200) { - this.furnaceCookTime = 0; - this.smeltItem(); - flag1 = true; - } - } else { - this.furnaceCookTime = 0; - } - - if (flag != this.furnaceBurnTime > 0) { - flag1 = true; - BlockLimeStoneFurnace.updateFurnaceBlockState(this.furnaceBurnTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord); - } - } - - if (flag1) { - this.markDirty(); - } - } - - /** - * Returns true if the furnace can smelt an item, i.e. has a source item, - * destination stack isn't full, etc. - */ - private boolean canSmelt() { - if (this.furnaceItemStacks[0] == null) { - return false; - } else { - ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(this.furnaceItemStacks[0]); - if (itemstack == null) - return false; - if (this.furnaceItemStacks[2] == null) - return true; - if (!this.furnaceItemStacks[2].isItemEqual(itemstack)) - return false; - int result = furnaceItemStacks[2].stackSize + itemstack.stackSize; - return (result <= getInventoryStackLimit() && result <= itemstack.getMaxStackSize()); - } - } - - /** - * Turn one item from the furnace source stack into the appropriate smelted - * item in the furnace result stack - */ - public void smeltItem() { - if (this.canSmelt()) { - ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(this.furnaceItemStacks[0]); - - if (this.furnaceItemStacks[2] == null) { - this.furnaceItemStacks[2] = itemstack.copy(); - } else if (this.furnaceItemStacks[2].isItemEqual(itemstack)) { - furnaceItemStacks[2].stackSize += itemstack.stackSize; - } - - --this.furnaceItemStacks[0].stackSize; - - if (this.furnaceItemStacks[0].stackSize <= 0) { - this.furnaceItemStacks[0] = null; - } - } - } - - /** - * Do not make give this method the name canInteractWith because it clashes - * with Container - */ - @Override - public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { - return this.worldObj.getTileEntity(this.xCoord, this.yCoord, this.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double) this.xCoord + 0.5D, (double) this.yCoord + 0.5D, (double) this.zCoord + 0.5D) <= 64.0D; - } - - /** - * Returns true if automation is allowed to insert the given stack (ignoring - * stack size) into the given slot. - */ - @Override - public boolean isItemValidForSlot(int par1, ItemStack par2ItemStack) { - return par1 == 2 ? false : (par1 == 1 ? isItemFuel(par2ItemStack) : true); - } - - /** - * Get the size of the side inventory. - */ - @Override - public int[] getAccessibleSlotsFromSide(int par1) { - return par1 == 0 ? field_102011_e : (par1 == 1 ? field_102010_d : field_102009_f); - } - - @Override - public boolean canInsertItem(int par1, ItemStack par2ItemStack, int par3) { - return this.isItemValidForSlot(par1, par2ItemStack); - } - - @Override - public boolean canExtractItem(int par1, ItemStack par2ItemStack, int par3) { - return par3 != 0 || par1 != 1 || par2ItemStack.getItem() == Items.bucket; - } + private static final int[] field_102010_d = new int[]{0}; + private static final int[] field_102011_e = new int[]{2, 1}; + private static final int[] field_102009_f = new int[]{1}; + /** + * The number of ticks that the furnace will keep burning + */ + public int furnaceBurnTime = 0; + /** + * The number of ticks that a fresh copy of the currently-burning item would + * keep the furnace burning for + */ + public int currentItemBurnTime = 0; + /** + * The number of ticks that the current item has been cooking for + */ + public int furnaceCookTime = 0; + /** + * The ItemStacks that hold the items currently being used in the furnace + */ + private ItemStack[] furnaceItemStacks = new ItemStack[3]; + private String field_94130_e; + + /** + * Returns the number of ticks that the supplied fuel item will keep the + * furnace burning, or 0 if the item isn't fuel + */ + public static int getItemBurnTime(ItemStack par0ItemStack) { + if (par0ItemStack == null) { + return 0; + } else { + Item i = par0ItemStack.getItem(); + Item item = par0ItemStack.getItem(); + + if (par0ItemStack.getItem() instanceof ItemBlock && i != null) { + Block block = Block.getBlockFromItem(i); + + if (block == Blocks.wooden_slab) { + return 150; + } + + if (block.getMaterial() == Material.wood) { + return 300; + } + } + + if (item instanceof ItemTool && ((ItemTool) item).getToolMaterialName().equals("WOOD")) + return 200; + if (item instanceof ItemSword && ((ItemSword) item).getToolMaterialName().equals("WOOD")) + return 200; + if (item instanceof ItemHoe && ((ItemHoe) item).getToolMaterialName().equals("WOOD")) + return 200; + if (i == Items.stick) + return 100; + if (i == Items.coal) + return 1600; + if (i == Items.lava_bucket) + return 20000; + if (Block.getBlockFromItem(i) == Blocks.sapling) + return 100; + if (i == Items.blaze_rod) + return 2400; + return GameRegistry.getFuelValue(par0ItemStack); + } + } + + /** + * Return true if item is a fuel source (getItemBurnTime() > 0). + */ + public static boolean isItemFuel(ItemStack par0ItemStack) { + return getItemBurnTime(par0ItemStack) > 0; + } + + /** + * Returns the number of slots in the inventory. + */ + @Override + public int getSizeInventory() { + return this.furnaceItemStacks.length; + } + + /** + * Returns the stack in slot i + */ + @Override + public ItemStack getStackInSlot(int par1) { + return this.furnaceItemStacks[par1]; + } + + /** + * Removes from an inventory slot (first arg) up to a specified number + * (second arg) of items and returns them in a new stack. + */ + @Override + public ItemStack decrStackSize(int par1, int par2) { + if (this.furnaceItemStacks[par1] != null) { + ItemStack itemstack; + + if (this.furnaceItemStacks[par1].stackSize <= par2) { + itemstack = this.furnaceItemStacks[par1]; + this.furnaceItemStacks[par1] = null; + return itemstack; + } else { + itemstack = this.furnaceItemStacks[par1].splitStack(par2); + + if (this.furnaceItemStacks[par1].stackSize == 0) { + this.furnaceItemStacks[par1] = null; + } + + return itemstack; + } + } else { + return null; + } + } + + /** + * When some containers are closed they call this on each slot, then drop + * whatever it returns as an EntityItem - like when you close a workbench + * GUI. + */ + @Override + public ItemStack getStackInSlotOnClosing(int par1) { + if (this.furnaceItemStacks[par1] != null) { + ItemStack itemstack = this.furnaceItemStacks[par1]; + this.furnaceItemStacks[par1] = null; + return itemstack; + } else { + return null; + } + } + + /** + * Sets the given item stack to the specified slot in the inventory (can be + * crafting or armor sections). + */ + @Override + public void setInventorySlotContents(int par1, ItemStack par2ItemStack) { + this.furnaceItemStacks[par1] = par2ItemStack; + + if (par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit()) { + par2ItemStack.stackSize = this.getInventoryStackLimit(); + } + } + + /** + * Returns the name of the inventory. + */ + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.field_94130_e : "container.limestoneFurnace"; + } + + /** + * If this returns false, the inventory name will be used as an unlocalized + * name, and translated into the player's language. Otherwise it will be + * used directly. + */ + @Override + public boolean hasCustomInventoryName() { + return this.field_94130_e != null && this.field_94130_e.length() > 0; + } + + public void func_94129_a(String par1Str) { + this.field_94130_e = par1Str; + } + + /** + * Reads a tile entity from NBT. + */ + @Override + public void readFromNBT(NBTTagCompound par1NBTTagCompound) { + super.readFromNBT(par1NBTTagCompound); + NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items", 0); + this.furnaceItemStacks = new ItemStack[this.getSizeInventory()]; + + for (int i = 0; i < nbttaglist.tagCount(); ++i) { + NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.getCompoundTagAt(i); + byte b0 = nbttagcompound1.getByte("Slot"); + + if (b0 >= 0 && b0 < this.furnaceItemStacks.length) { + this.furnaceItemStacks[b0] = ItemStack.loadItemStackFromNBT(nbttagcompound1); + } + } + + this.furnaceBurnTime = par1NBTTagCompound.getShort("BurnTime"); + this.furnaceCookTime = par1NBTTagCompound.getShort("CookTime"); + this.currentItemBurnTime = getItemBurnTime(this.furnaceItemStacks[1]); + + if (par1NBTTagCompound.hasKey("CustomName")) { + this.field_94130_e = par1NBTTagCompound.getString("CustomName"); + } + } + + /** + * Writes a tile entity to NBT. + */ + @Override + public void writeToNBT(NBTTagCompound par1NBTTagCompound) { + super.writeToNBT(par1NBTTagCompound); + par1NBTTagCompound.setShort("BurnTime", (short) this.furnaceBurnTime); + par1NBTTagCompound.setShort("CookTime", (short) this.furnaceCookTime); + NBTTagList nbttaglist = new NBTTagList(); + + for (int i = 0; i < this.furnaceItemStacks.length; ++i) { + if (this.furnaceItemStacks[i] != null) { + NBTTagCompound nbttagcompound1 = new NBTTagCompound(); + nbttagcompound1.setByte("Slot", (byte) i); + this.furnaceItemStacks[i].writeToNBT(nbttagcompound1); + nbttaglist.appendTag(nbttagcompound1); + } + } + + par1NBTTagCompound.setTag("Items", nbttaglist); + + if (this.hasCustomInventoryName()) { + par1NBTTagCompound.setString("CustomName", this.field_94130_e); + } + } + + /** + * Returns the maximum stack size for a inventory slot. Seems to always be + * 64, possibly will be extended. *Isn't this more of a set than a get?* + */ + @Override + public int getInventoryStackLimit() { + return 64; + } + + @SideOnly(Side.CLIENT) + /** + * Returns an integer between 0 and the passed value representing how close the current item is to being completely + * cooked + */ + public int getCookProgressScaled(int par1) { + return this.furnaceCookTime * par1 / 200; + } + + @SideOnly(Side.CLIENT) + /** + * Returns an integer between 0 and the passed value representing how much burn time is left on the current fuel + * item, where 0 means that the item is exhausted and the passed value means that the item is fresh + */ + public int getBurnTimeRemainingScaled(int par1) { + if (this.currentItemBurnTime == 0) { + this.currentItemBurnTime = 200; + } + + return this.furnaceBurnTime * par1 / this.currentItemBurnTime; + } + + /** + * Returns true if the furnace is currently burning + */ + public boolean isBurning() { + return this.furnaceBurnTime > 0; + } + + /** + * Allows the entity to update its state. Overridden in most subclasses, + * e.g. the mob spawner uses this to count ticks and creates a new spawn + * inside its implementation. + */ + @Override + public void updateEntity() { + boolean flag = this.furnaceBurnTime > 0; + boolean flag1 = false; + + if (this.furnaceBurnTime > 0) { + --this.furnaceBurnTime; + } + + if (!this.worldObj.isRemote) { + if (this.furnaceBurnTime == 0 && this.canSmelt()) { + this.currentItemBurnTime = this.furnaceBurnTime = getItemBurnTime(this.furnaceItemStacks[1]); + + if (this.furnaceBurnTime > 0) { + flag1 = true; + + if (this.furnaceItemStacks[1] != null) { + --this.furnaceItemStacks[1].stackSize; + + if (this.furnaceItemStacks[1].stackSize == 0) { + this.furnaceItemStacks[1] = this.furnaceItemStacks[1].getItem().getContainerItem(furnaceItemStacks[1]); + } + } + } + } + + if (this.isBurning() && this.canSmelt()) { + ++this.furnaceCookTime; + + if (this.furnaceCookTime == 200) { + this.furnaceCookTime = 0; + this.smeltItem(); + flag1 = true; + } + } else { + this.furnaceCookTime = 0; + } + + if (flag != this.furnaceBurnTime > 0) { + flag1 = true; + BlockLimeStoneFurnace.updateFurnaceBlockState(this.furnaceBurnTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord); + } + } + + if (flag1) { + this.markDirty(); + } + } + + /** + * Returns true if the furnace can smelt an item, i.e. has a source item, + * destination stack isn't full, etc. + */ + private boolean canSmelt() { + if (this.furnaceItemStacks[0] == null) { + return false; + } else { + ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(this.furnaceItemStacks[0]); + if (itemstack == null) + return false; + if (this.furnaceItemStacks[2] == null) + return true; + if (!this.furnaceItemStacks[2].isItemEqual(itemstack)) + return false; + int result = furnaceItemStacks[2].stackSize + itemstack.stackSize; + return (result <= getInventoryStackLimit() && result <= itemstack.getMaxStackSize()); + } + } + + /** + * Turn one item from the furnace source stack into the appropriate smelted + * item in the furnace result stack + */ + public void smeltItem() { + if (this.canSmelt()) { + ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(this.furnaceItemStacks[0]); + + if (this.furnaceItemStacks[2] == null) { + this.furnaceItemStacks[2] = itemstack.copy(); + } else if (this.furnaceItemStacks[2].isItemEqual(itemstack)) { + furnaceItemStacks[2].stackSize += itemstack.stackSize; + } + + --this.furnaceItemStacks[0].stackSize; + + if (this.furnaceItemStacks[0].stackSize <= 0) { + this.furnaceItemStacks[0] = null; + } + } + } + + /** + * Do not make give this method the name canInteractWith because it clashes + * with Container + */ + @Override + public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { + return this.worldObj.getTileEntity(this.xCoord, this.yCoord, this.zCoord) != this ? false : par1EntityPlayer.getDistanceSq((double) this.xCoord + 0.5D, (double) this.yCoord + 0.5D, (double) this.zCoord + 0.5D) <= 64.0D; + } + + /** + * Returns true if automation is allowed to insert the given stack (ignoring + * stack size) into the given slot. + */ + @Override + public boolean isItemValidForSlot(int par1, ItemStack par2ItemStack) { + return par1 == 2 ? false : (par1 == 1 ? isItemFuel(par2ItemStack) : true); + } + + /** + * Get the size of the side inventory. + */ + @Override + public int[] getAccessibleSlotsFromSide(int par1) { + return par1 == 0 ? field_102011_e : (par1 == 1 ? field_102010_d : field_102009_f); + } + + @Override + public boolean canInsertItem(int par1, ItemStack par2ItemStack, int par3) { + return this.isItemValidForSlot(par1, par2ItemStack); + } + + @Override + public boolean canExtractItem(int par1, ItemStack par2ItemStack, int par3) { + return par3 != 0 || par1 != 1 || par2ItemStack.getItem() == Items.bucket; + } } diff --git a/src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java b/src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java index 758fc8e..8ee21f6 100644 --- a/src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java +++ b/src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDesertWolf.java @@ -12,176 +12,176 @@ @SideOnly(Side.CLIENT) public class ModelDesertWolf extends ModelBase { - /** - * main box for the wolf head - */ - public ModelRenderer wolfHeadMain; - - /** - * The wolf's body - */ - public ModelRenderer wolfBody; - - /** - * Wolf'se first leg - */ - public ModelRenderer wolfLeg1; - - /** - * Wolf's second leg - */ - public ModelRenderer wolfLeg2; - - /** - * Wolf's third leg - */ - public ModelRenderer wolfLeg3; - - /** - * Wolf's fourth leg - */ - public ModelRenderer wolfLeg4; - - /** - * The wolf's tail - */ - ModelRenderer wolfTail; - - /** - * The wolf's mane - */ - ModelRenderer wolfMane; - - public ModelDesertWolf() { - float f = 0.0F; - float f1 = 13.5F; - this.wolfHeadMain = new ModelRenderer(this, 0, 0); - this.wolfHeadMain.addBox(-3.0F, -3.0F, -2.0F, 6, 6, 4, f); - this.wolfHeadMain.setRotationPoint(-1.0F, f1, -7.0F); - this.wolfBody = new ModelRenderer(this, 18, 14); - this.wolfBody.addBox(-4.0F, -2.0F, -3.0F, 6, 9, 6, f); - this.wolfBody.setRotationPoint(0.0F, 14.0F, 2.0F); - this.wolfMane = new ModelRenderer(this, 21, 0); - this.wolfMane.addBox(-4.0F, -3.0F, -3.0F, 8, 6, 7, f); - this.wolfMane.setRotationPoint(-1.0F, 14.0F, 2.0F); - this.wolfLeg1 = new ModelRenderer(this, 0, 18); - this.wolfLeg1.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); - this.wolfLeg1.setRotationPoint(-2.5F, 16.0F, 7.0F); - this.wolfLeg2 = new ModelRenderer(this, 0, 18); - this.wolfLeg2.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); - this.wolfLeg2.setRotationPoint(0.5F, 16.0F, 7.0F); - this.wolfLeg3 = new ModelRenderer(this, 0, 18); - this.wolfLeg3.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); - this.wolfLeg3.setRotationPoint(-2.5F, 16.0F, -4.0F); - this.wolfLeg4 = new ModelRenderer(this, 0, 18); - this.wolfLeg4.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); - this.wolfLeg4.setRotationPoint(0.5F, 16.0F, -4.0F); - this.wolfTail = new ModelRenderer(this, 9, 18); - this.wolfTail.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); - this.wolfTail.setRotationPoint(-1.0F, 12.0F, 8.0F); - this.wolfHeadMain.setTextureOffset(16, 14).addBox(-3.0F, -5.0F, 0.0F, 2, 2, 1, f); - this.wolfHeadMain.setTextureOffset(16, 14).addBox(1.0F, -5.0F, 0.0F, 2, 2, 1, f); - this.wolfHeadMain.setTextureOffset(0, 10).addBox(-1.5F, 0.0F, -5.0F, 3, 3, 4, f); - } - - /** - * Sets the models various rotation angles then renders the model. - */ - @Override - public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { - super.render(par1Entity, par2, par3, par4, par5, par6, par7); - this.setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); - - if (this.isChild) { - float f6 = 2.0F; - GL11.glPushMatrix(); - GL11.glTranslatef(0.0F, 5.0F * par7, 2.0F * par7); - this.wolfHeadMain.renderWithRotation(par7); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(1.0F / f6, 1.0F / f6, 1.0F / f6); - GL11.glTranslatef(0.0F, 24.0F * par7, 0.0F); - this.wolfBody.render(par7); - this.wolfLeg1.render(par7); - this.wolfLeg2.render(par7); - this.wolfLeg3.render(par7); - this.wolfLeg4.render(par7); - this.wolfTail.renderWithRotation(par7); - this.wolfMane.render(par7); - GL11.glPopMatrix(); - } else { - this.wolfHeadMain.renderWithRotation(par7); - this.wolfBody.render(par7); - this.wolfLeg1.render(par7); - this.wolfLeg2.render(par7); - this.wolfLeg3.render(par7); - this.wolfLeg4.render(par7); - this.wolfTail.renderWithRotation(par7); - this.wolfMane.render(par7); - } - } - - /** - * Used for easily adding entity-dependent animations. The second and third float params here are the same second - * and third as in the setRotationAngles method. - */ - @Override - public void setLivingAnimations(EntityLivingBase par1EntityLiving, float par2, float par3, float par4) { - EntityDesertWolf entitywolf = (EntityDesertWolf) par1EntityLiving; - - if (entitywolf.isAngry()) { - this.wolfTail.rotateAngleY = 0.0F; - } else { - this.wolfTail.rotateAngleY = MathHelper.cos(par2 * 0.6662F) * 1.4F * par3; - } - - if (entitywolf.isSitting()) { - this.wolfMane.setRotationPoint(-1.0F, 16.0F, -3.0F); - this.wolfMane.rotateAngleX = ((float) Math.PI * 2F / 5F); - this.wolfMane.rotateAngleY = 0.0F; - this.wolfBody.setRotationPoint(0.0F, 18.0F, 0.0F); - this.wolfBody.rotateAngleX = ((float) Math.PI / 4F); - this.wolfTail.setRotationPoint(-1.0F, 21.0F, 6.0F); - this.wolfLeg1.setRotationPoint(-2.5F, 22.0F, 2.0F); - this.wolfLeg1.rotateAngleX = ((float) Math.PI * 3F / 2F); - this.wolfLeg2.setRotationPoint(0.5F, 22.0F, 2.0F); - this.wolfLeg2.rotateAngleX = ((float) Math.PI * 3F / 2F); - this.wolfLeg3.rotateAngleX = 5.811947F; - this.wolfLeg3.setRotationPoint(-2.49F, 17.0F, -4.0F); - this.wolfLeg4.rotateAngleX = 5.811947F; - this.wolfLeg4.setRotationPoint(0.51F, 17.0F, -4.0F); - } else { - this.wolfBody.setRotationPoint(0.0F, 14.0F, 2.0F); - this.wolfBody.rotateAngleX = ((float) Math.PI / 2F); - this.wolfMane.setRotationPoint(-1.0F, 14.0F, -3.0F); - this.wolfMane.rotateAngleX = this.wolfBody.rotateAngleX; - this.wolfTail.setRotationPoint(-1.0F, 12.0F, 8.0F); - this.wolfLeg1.setRotationPoint(-2.5F, 16.0F, 7.0F); - this.wolfLeg2.setRotationPoint(0.5F, 16.0F, 7.0F); - this.wolfLeg3.setRotationPoint(-2.5F, 16.0F, -4.0F); - this.wolfLeg4.setRotationPoint(0.5F, 16.0F, -4.0F); - this.wolfLeg1.rotateAngleX = MathHelper.cos(par2 * 0.6662F) * 1.4F * par3; - this.wolfLeg2.rotateAngleX = MathHelper.cos(par2 * 0.6662F + (float) Math.PI) * 1.4F * par3; - this.wolfLeg3.rotateAngleX = MathHelper.cos(par2 * 0.6662F + (float) Math.PI) * 1.4F * par3; - this.wolfLeg4.rotateAngleX = MathHelper.cos(par2 * 0.6662F) * 1.4F * par3; - } - - this.wolfHeadMain.rotateAngleZ = entitywolf.getInterestedAngle(par4) + entitywolf.getShakeAngle(par4, 0.0F); - this.wolfMane.rotateAngleZ = entitywolf.getShakeAngle(par4, -0.08F); - this.wolfBody.rotateAngleZ = entitywolf.getShakeAngle(par4, -0.16F); - this.wolfTail.rotateAngleZ = entitywolf.getShakeAngle(par4, -0.2F); - } - - /** - * Sets the model's various rotation angles. For bipeds, par1 and par2 are used for animating the movement of arms - * and legs, where par1 represents the time(so that arms and legs swing back and forth) and par2 represents how - * "far" arms and legs can swing at most. - */ - @Override - public void setRotationAngles(float par1, float par2, float par3, float par4, float par5, float par6, Entity par7Entity) { - super.setRotationAngles(par1, par2, par3, par4, par5, par6, par7Entity); - this.wolfHeadMain.rotateAngleX = par5 / (180F / (float) Math.PI); - this.wolfHeadMain.rotateAngleY = par4 / (180F / (float) Math.PI); - this.wolfTail.rotateAngleX = par3; - } + /** + * main box for the wolf head + */ + public ModelRenderer wolfHeadMain; + + /** + * The wolf's body + */ + public ModelRenderer wolfBody; + + /** + * Wolf'se first leg + */ + public ModelRenderer wolfLeg1; + + /** + * Wolf's second leg + */ + public ModelRenderer wolfLeg2; + + /** + * Wolf's third leg + */ + public ModelRenderer wolfLeg3; + + /** + * Wolf's fourth leg + */ + public ModelRenderer wolfLeg4; + + /** + * The wolf's tail + */ + ModelRenderer wolfTail; + + /** + * The wolf's mane + */ + ModelRenderer wolfMane; + + public ModelDesertWolf() { + float f = 0.0F; + float f1 = 13.5F; + this.wolfHeadMain = new ModelRenderer(this, 0, 0); + this.wolfHeadMain.addBox(-3.0F, -3.0F, -2.0F, 6, 6, 4, f); + this.wolfHeadMain.setRotationPoint(-1.0F, f1, -7.0F); + this.wolfBody = new ModelRenderer(this, 18, 14); + this.wolfBody.addBox(-4.0F, -2.0F, -3.0F, 6, 9, 6, f); + this.wolfBody.setRotationPoint(0.0F, 14.0F, 2.0F); + this.wolfMane = new ModelRenderer(this, 21, 0); + this.wolfMane.addBox(-4.0F, -3.0F, -3.0F, 8, 6, 7, f); + this.wolfMane.setRotationPoint(-1.0F, 14.0F, 2.0F); + this.wolfLeg1 = new ModelRenderer(this, 0, 18); + this.wolfLeg1.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); + this.wolfLeg1.setRotationPoint(-2.5F, 16.0F, 7.0F); + this.wolfLeg2 = new ModelRenderer(this, 0, 18); + this.wolfLeg2.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); + this.wolfLeg2.setRotationPoint(0.5F, 16.0F, 7.0F); + this.wolfLeg3 = new ModelRenderer(this, 0, 18); + this.wolfLeg3.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); + this.wolfLeg3.setRotationPoint(-2.5F, 16.0F, -4.0F); + this.wolfLeg4 = new ModelRenderer(this, 0, 18); + this.wolfLeg4.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); + this.wolfLeg4.setRotationPoint(0.5F, 16.0F, -4.0F); + this.wolfTail = new ModelRenderer(this, 9, 18); + this.wolfTail.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); + this.wolfTail.setRotationPoint(-1.0F, 12.0F, 8.0F); + this.wolfHeadMain.setTextureOffset(16, 14).addBox(-3.0F, -5.0F, 0.0F, 2, 2, 1, f); + this.wolfHeadMain.setTextureOffset(16, 14).addBox(1.0F, -5.0F, 0.0F, 2, 2, 1, f); + this.wolfHeadMain.setTextureOffset(0, 10).addBox(-1.5F, 0.0F, -5.0F, 3, 3, 4, f); + } + + /** + * Sets the models various rotation angles then renders the model. + */ + @Override + public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7) { + super.render(par1Entity, par2, par3, par4, par5, par6, par7); + this.setRotationAngles(par2, par3, par4, par5, par6, par7, par1Entity); + + if (this.isChild) { + float f6 = 2.0F; + GL11.glPushMatrix(); + GL11.glTranslatef(0.0F, 5.0F * par7, 2.0F * par7); + this.wolfHeadMain.renderWithRotation(par7); + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glScalef(1.0F / f6, 1.0F / f6, 1.0F / f6); + GL11.glTranslatef(0.0F, 24.0F * par7, 0.0F); + this.wolfBody.render(par7); + this.wolfLeg1.render(par7); + this.wolfLeg2.render(par7); + this.wolfLeg3.render(par7); + this.wolfLeg4.render(par7); + this.wolfTail.renderWithRotation(par7); + this.wolfMane.render(par7); + GL11.glPopMatrix(); + } else { + this.wolfHeadMain.renderWithRotation(par7); + this.wolfBody.render(par7); + this.wolfLeg1.render(par7); + this.wolfLeg2.render(par7); + this.wolfLeg3.render(par7); + this.wolfLeg4.render(par7); + this.wolfTail.renderWithRotation(par7); + this.wolfMane.render(par7); + } + } + + /** + * Used for easily adding entity-dependent animations. The second and third float params here are the same second + * and third as in the setRotationAngles method. + */ + @Override + public void setLivingAnimations(EntityLivingBase par1EntityLiving, float par2, float par3, float par4) { + EntityDesertWolf entitywolf = (EntityDesertWolf) par1EntityLiving; + + if (entitywolf.isAngry()) { + this.wolfTail.rotateAngleY = 0.0F; + } else { + this.wolfTail.rotateAngleY = MathHelper.cos(par2 * 0.6662F) * 1.4F * par3; + } + + if (entitywolf.isSitting()) { + this.wolfMane.setRotationPoint(-1.0F, 16.0F, -3.0F); + this.wolfMane.rotateAngleX = ((float) Math.PI * 2F / 5F); + this.wolfMane.rotateAngleY = 0.0F; + this.wolfBody.setRotationPoint(0.0F, 18.0F, 0.0F); + this.wolfBody.rotateAngleX = ((float) Math.PI / 4F); + this.wolfTail.setRotationPoint(-1.0F, 21.0F, 6.0F); + this.wolfLeg1.setRotationPoint(-2.5F, 22.0F, 2.0F); + this.wolfLeg1.rotateAngleX = ((float) Math.PI * 3F / 2F); + this.wolfLeg2.setRotationPoint(0.5F, 22.0F, 2.0F); + this.wolfLeg2.rotateAngleX = ((float) Math.PI * 3F / 2F); + this.wolfLeg3.rotateAngleX = 5.811947F; + this.wolfLeg3.setRotationPoint(-2.49F, 17.0F, -4.0F); + this.wolfLeg4.rotateAngleX = 5.811947F; + this.wolfLeg4.setRotationPoint(0.51F, 17.0F, -4.0F); + } else { + this.wolfBody.setRotationPoint(0.0F, 14.0F, 2.0F); + this.wolfBody.rotateAngleX = ((float) Math.PI / 2F); + this.wolfMane.setRotationPoint(-1.0F, 14.0F, -3.0F); + this.wolfMane.rotateAngleX = this.wolfBody.rotateAngleX; + this.wolfTail.setRotationPoint(-1.0F, 12.0F, 8.0F); + this.wolfLeg1.setRotationPoint(-2.5F, 16.0F, 7.0F); + this.wolfLeg2.setRotationPoint(0.5F, 16.0F, 7.0F); + this.wolfLeg3.setRotationPoint(-2.5F, 16.0F, -4.0F); + this.wolfLeg4.setRotationPoint(0.5F, 16.0F, -4.0F); + this.wolfLeg1.rotateAngleX = MathHelper.cos(par2 * 0.6662F) * 1.4F * par3; + this.wolfLeg2.rotateAngleX = MathHelper.cos(par2 * 0.6662F + (float) Math.PI) * 1.4F * par3; + this.wolfLeg3.rotateAngleX = MathHelper.cos(par2 * 0.6662F + (float) Math.PI) * 1.4F * par3; + this.wolfLeg4.rotateAngleX = MathHelper.cos(par2 * 0.6662F) * 1.4F * par3; + } + + this.wolfHeadMain.rotateAngleZ = entitywolf.getInterestedAngle(par4) + entitywolf.getShakeAngle(par4, 0.0F); + this.wolfMane.rotateAngleZ = entitywolf.getShakeAngle(par4, -0.08F); + this.wolfBody.rotateAngleZ = entitywolf.getShakeAngle(par4, -0.16F); + this.wolfTail.rotateAngleZ = entitywolf.getShakeAngle(par4, -0.2F); + } + + /** + * Sets the model's various rotation angles. For bipeds, par1 and par2 are used for animating the movement of arms + * and legs, where par1 represents the time(so that arms and legs swing back and forth) and par2 represents how + * "far" arms and legs can swing at most. + */ + @Override + public void setRotationAngles(float par1, float par2, float par3, float par4, float par5, float par6, Entity par7Entity) { + super.setRotationAngles(par1, par2, par3, par4, par5, par6, par7Entity); + this.wolfHeadMain.rotateAngleX = par5 / (180F / (float) Math.PI); + this.wolfHeadMain.rotateAngleY = par4 / (180F / (float) Math.PI); + this.wolfTail.rotateAngleX = par3; + } } diff --git a/src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java b/src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java index 83ae24b..d9036bf 100644 --- a/src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java +++ b/src/main/java/com/teammetallurgy/atum/client/model/entity/ModelDustySkeleton.java @@ -7,25 +7,25 @@ @SideOnly(Side.CLIENT) public class ModelDustySkeleton extends ModelZombie { - public ModelDustySkeleton() { - this(0.0F); - } + public ModelDustySkeleton() { + this(0.0F); + } - public ModelDustySkeleton(float par1) { - super(par1, 0.0F, 64, 32); - this.bipedRightArm = new ModelRenderer(this, 40, 16); - this.bipedRightArm.addBox(-1.0F, -2.0F, -1.0F, 2, 12, 2, par1); - this.bipedRightArm.setRotationPoint(-5.0F, 2.0F, 0.0F); - this.bipedLeftArm = new ModelRenderer(this, 40, 16); - this.bipedLeftArm.mirror = true; - this.bipedLeftArm.addBox(-1.0F, -2.0F, -1.0F, 2, 12, 2, par1); - this.bipedLeftArm.setRotationPoint(5.0F, 2.0F, 0.0F); - this.bipedRightLeg = new ModelRenderer(this, 0, 16); - this.bipedRightLeg.addBox(-1.0F, 0.0F, -1.0F, 2, 12, 2, par1); - this.bipedRightLeg.setRotationPoint(-2.0F, 12.0F, 0.0F); - this.bipedLeftLeg = new ModelRenderer(this, 0, 16); - this.bipedLeftLeg.mirror = true; - this.bipedLeftLeg.addBox(-1.0F, 0.0F, -1.0F, 2, 12, 2, par1); - this.bipedLeftLeg.setRotationPoint(2.0F, 12.0F, 0.0F); - } + public ModelDustySkeleton(float par1) { + super(par1, 0.0F, 64, 32); + this.bipedRightArm = new ModelRenderer(this, 40, 16); + this.bipedRightArm.addBox(-1.0F, -2.0F, -1.0F, 2, 12, 2, par1); + this.bipedRightArm.setRotationPoint(-5.0F, 2.0F, 0.0F); + this.bipedLeftArm = new ModelRenderer(this, 40, 16); + this.bipedLeftArm.mirror = true; + this.bipedLeftArm.addBox(-1.0F, -2.0F, -1.0F, 2, 12, 2, par1); + this.bipedLeftArm.setRotationPoint(5.0F, 2.0F, 0.0F); + this.bipedRightLeg = new ModelRenderer(this, 0, 16); + this.bipedRightLeg.addBox(-1.0F, 0.0F, -1.0F, 2, 12, 2, par1); + this.bipedRightLeg.setRotationPoint(-2.0F, 12.0F, 0.0F); + this.bipedLeftLeg = new ModelRenderer(this, 0, 16); + this.bipedLeftLeg.mirror = true; + this.bipedLeftLeg.addBox(-1.0F, 0.0F, -1.0F, 2, 12, 2, par1); + this.bipedLeftLeg.setRotationPoint(2.0F, 12.0F, 0.0F); + } } diff --git a/src/main/java/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java b/src/main/java/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java index 8f2266b..5c2a699 100644 --- a/src/main/java/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java +++ b/src/main/java/com/teammetallurgy/atum/client/model/tileentity/ModelDate.java @@ -6,39 +6,39 @@ public class ModelDate extends ModelBase { - ModelRenderer Fruit; - ModelRenderer Stem; + ModelRenderer Fruit; + ModelRenderer Stem; - public ModelDate() { - super.textureWidth = 32; - super.textureHeight = 32; - this.Fruit = new ModelRenderer(this, 0, 0); - this.Fruit.addBox(0.0F, 0.0F, 0.0F, 6, 8, 6); - this.Fruit.setRotationPoint(-1.0F, 3.0F, -1.0F); - this.Fruit.setTextureSize(32, 32); - this.Fruit.mirror = true; - this.setRotation(this.Fruit, 0.0F, 0.0F, 0.0F); - this.Stem = new ModelRenderer(this, 0, 14); - this.Stem.addBox(0.0F, 0.0F, 0.0F, 2, 6, 2); - this.Stem.setRotationPoint(1.0F, -3.0F, 1.0F); - this.Stem.setTextureSize(32, 32); - this.Stem.mirror = true; - this.setRotation(this.Stem, 0.0F, 0.0F, 0.0F); - } + public ModelDate() { + super.textureWidth = 32; + super.textureHeight = 32; + this.Fruit = new ModelRenderer(this, 0, 0); + this.Fruit.addBox(0.0F, 0.0F, 0.0F, 6, 8, 6); + this.Fruit.setRotationPoint(-1.0F, 3.0F, -1.0F); + this.Fruit.setTextureSize(32, 32); + this.Fruit.mirror = true; + this.setRotation(this.Fruit, 0.0F, 0.0F, 0.0F); + this.Stem = new ModelRenderer(this, 0, 14); + this.Stem.addBox(0.0F, 0.0F, 0.0F, 2, 6, 2); + this.Stem.setRotationPoint(1.0F, -3.0F, 1.0F); + this.Stem.setTextureSize(32, 32); + this.Stem.mirror = true; + this.setRotation(this.Stem, 0.0F, 0.0F, 0.0F); + } - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - this.Fruit.render(f5); - this.Stem.render(f5); - } + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + super.render(entity, f, f1, f2, f3, f4, f5); + this.Fruit.render(f5); + this.Stem.render(f5); + } - private void setRotation(ModelRenderer model, float x, float y, float z) { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } + private void setRotation(ModelRenderer model, float x, float y, float z) { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity par7Entity) { - super.setRotationAngles(f, f1, f2, f3, f4, f5, par7Entity); - } + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity par7Entity) { + super.setRotationAngles(f, f1, f2, f3, f4, f5, par7Entity); + } } diff --git a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderBandit.java b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderBandit.java index 6025e76..4fa7b41 100644 --- a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderBandit.java +++ b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderBandit.java @@ -8,8 +8,8 @@ @SideOnly(Side.CLIENT) public class RenderBandit extends RenderBiped { - public RenderBandit(ModelBiped par1ModelBiped, float par2) { - super(par1ModelBiped, par2); - } + public RenderBandit(ModelBiped par1ModelBiped, float par2) { + super(par1ModelBiped, par2); + } } diff --git a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java index 98fcaba..06ed3ab 100644 --- a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java +++ b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderDesertWolf.java @@ -12,45 +12,45 @@ @SideOnly(Side.CLIENT) public class RenderDesertWolf extends RenderLiving { - public RenderDesertWolf(ModelBase par1ModelBase, ModelBase par2ModelBase, float par3) { - super(par1ModelBase, par3); - this.setRenderPassModel(par2ModelBase); - } + public RenderDesertWolf(ModelBase par1ModelBase, ModelBase par2ModelBase, float par3) { + super(par1ModelBase, par3); + this.setRenderPassModel(par2ModelBase); + } - protected float getTailRotation(EntityDesertWolf par1EntityDesertWolf, float par2) { - return par1EntityDesertWolf.getTailRotation(); - } + protected float getTailRotation(EntityDesertWolf par1EntityDesertWolf, float par2) { + return par1EntityDesertWolf.getTailRotation(); + } - protected int func_82447_a(EntityDesertWolf par1EntityDesertWolf, int par2, float par3) { - float f1; - this.bindEntityTexture(par1EntityDesertWolf); - if (par2 == 0 && par1EntityDesertWolf.getWolfShaking()) { - f1 = par1EntityDesertWolf.getBrightness(par3) * par1EntityDesertWolf.getShadingWhileShaking(par3); - GL11.glColor3f(f1, f1, f1); - return 1; - } else { - return -1; - } - } + protected int func_82447_a(EntityDesertWolf par1EntityDesertWolf, int par2, float par3) { + float f1; + this.bindEntityTexture(par1EntityDesertWolf); + if (par2 == 0 && par1EntityDesertWolf.getWolfShaking()) { + f1 = par1EntityDesertWolf.getBrightness(par3) * par1EntityDesertWolf.getShadingWhileShaking(par3); + GL11.glColor3f(f1, f1, f1); + return 1; + } else { + return -1; + } + } - /** - * Queries whether should render the specified pass or not. - */ - @Override - protected int shouldRenderPass(EntityLivingBase par1EntityLiving, int par2, float par3) { - return this.func_82447_a((EntityDesertWolf) par1EntityLiving, par2, par3); - } + /** + * Queries whether should render the specified pass or not. + */ + @Override + protected int shouldRenderPass(EntityLivingBase par1EntityLiving, int par2, float par3) { + return this.func_82447_a((EntityDesertWolf) par1EntityLiving, par2, par3); + } - /** - * Defines what float the third param in setRotationAngles of ModelBase is - */ - @Override - protected float handleRotationFloat(EntityLivingBase par1EntityLiving, float par2) { - return this.getTailRotation((EntityDesertWolf) par1EntityLiving, par2); - } + /** + * Defines what float the third param in setRotationAngles of ModelBase is + */ + @Override + protected float handleRotationFloat(EntityLivingBase par1EntityLiving, float par2) { + return this.getTailRotation((EntityDesertWolf) par1EntityLiving, par2); + } - @Override - protected ResourceLocation getEntityTexture(Entity entity) { - return new ResourceLocation("atum", "textures/entities/DesertWolf_angry.png"); - } + @Override + protected ResourceLocation getEntityTexture(Entity entity) { + return new ResourceLocation("atum", "textures/entities/DesertWolf_angry.png"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderGhost.java b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderGhost.java index 1be4794..be1510a 100644 --- a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderGhost.java +++ b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderGhost.java @@ -25,474 +25,474 @@ @SideOnly(Side.CLIENT) public class RenderGhost extends Render { - protected ModelBase mainModel; - - /** - * The model to be used during the render passes. - */ - protected ModelBase renderPassModel; - - public RenderGhost(ModelBase par1ModelBase, float par2) { - this.mainModel = par1ModelBase; - this.shadowSize = par2; - } - - /** - * Sets the model to be used in the current render pass (the first render - * pass is done after the primary model is rendered) Args: model - */ - public void setRenderPassModel(ModelBase par1ModelBase) { - this.renderPassModel = par1ModelBase; - } - - /** - * Returns a rotation angle that is inbetween two other rotation angles. - * par1 and par2 are the angles between which to interpolate, par3 is - * probably a float between 0.0 and 1.0 that tells us where "between" the - * two angles we are. Example: par1 = 30, par2 = 50, par3 = 0.5, then return - * = 40 - */ - private float interpolateRotation(float par1, float par2, float par3) { - float f3; - - for (f3 = par2 - par1; f3 < -180.0F; f3 += 360.0F) { - ; - } - - while (f3 >= 180.0F) { - f3 -= 360.0F; - } - - return par1 + par3 * f3; - } - - public void doRenderLiving(EntityLivingBase par1EntityLiving, double par2, double par4, double par6, float par8, float par9) { - GL11.glPushMatrix(); - GL11.glDisable(GL11.GL_CULL_FACE); - - par4 += ((EntityGhost) par1EntityLiving).getFloatingHeight(); - - this.mainModel.onGround = this.renderSwingProgress(par1EntityLiving, par9); - - if (this.renderPassModel != null) { - this.renderPassModel.onGround = this.mainModel.onGround; - } - - this.mainModel.isRiding = par1EntityLiving.isRiding(); - - if (this.renderPassModel != null) { - this.renderPassModel.isRiding = this.mainModel.isRiding; - } - - this.mainModel.isChild = par1EntityLiving.isChild(); - - if (this.renderPassModel != null) { - this.renderPassModel.isChild = this.mainModel.isChild; - } - - try { - float f2 = this.interpolateRotation(par1EntityLiving.prevRenderYawOffset, par1EntityLiving.renderYawOffset, par9); - float f3 = this.interpolateRotation(par1EntityLiving.prevRotationYawHead, par1EntityLiving.rotationYawHead, par9); - float f4 = par1EntityLiving.prevRotationPitch + (par1EntityLiving.rotationPitch - par1EntityLiving.prevRotationPitch) * par9; - this.renderLivingAt(par1EntityLiving, par2, par4, par6); - float f5 = this.handleRotationFloat(par1EntityLiving, par9); - this.rotateCorpse(par1EntityLiving, f5, f2, par9); - float f6 = 0.0625F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - GL11.glScalef(-1.0F, -1.0F, 1.0F); - this.preRenderCallback(par1EntityLiving, par9); - GL11.glTranslatef(0.0F, -24.0F * f6 - 0.0078125F, 0.0F); - float f7 = par1EntityLiving.prevLimbSwingAmount + (par1EntityLiving.limbSwing - par1EntityLiving.prevLimbSwingAmount) * par9; - float f8 = par1EntityLiving.limbSwing - par1EntityLiving.limbSwing * (1.0F - par9); - - if (par1EntityLiving.isChild()) { - f8 *= 3.0F; - } - - if (f7 > 1.0F) { - f7 = 1.0F; - } - - GL11.glEnable(GL11.GL_ALPHA_TEST); - this.mainModel.setLivingAnimations(par1EntityLiving, f8, f7, par9); - this.renderModel(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); - float f9; - int i; - float f10; - float f11; - - for (int j = 0; j < 4; ++j) { - i = this.shouldRenderPass(par1EntityLiving, j, par9); - - if (i > 0) { - this.renderPassModel.setLivingAnimations(par1EntityLiving, f8, f7, par9); - this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); - - if ((i & 240) == 16) { - this.func_82408_c(par1EntityLiving, j, par9); - this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); - } - - if ((i & 15) == 15) { - f9 = (float) par1EntityLiving.ticksExisted + par9; - GL11.glEnable(GL11.GL_BLEND); - f10 = 0.5F; - GL11.glColor4f(f10, f10, f10, 1.0F); - GL11.glDepthFunc(GL11.GL_EQUAL); - GL11.glDepthMask(false); - - for (int k = 0; k < 2; ++k) { - GL11.glDisable(GL11.GL_LIGHTING); - f11 = 0.76F; - GL11.glColor4f(0.5F * f11, 0.25F * f11, 0.8F * f11, 1.0F); - GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glLoadIdentity(); - float f12 = f9 * (0.001F + (float) k * 0.003F) * 20.0F; - float f13 = 0.33333334F; - GL11.glScalef(f13, f13, f13); - GL11.glRotatef(30.0F - (float) k * 60.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(0.0F, f12, 0.0F); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); - } - - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glDepthMask(true); - GL11.glLoadIdentity(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthFunc(GL11.GL_LEQUAL); - } - - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_ALPHA_TEST); - } - } - - GL11.glDepthMask(true); - this.renderEquippedItems(par1EntityLiving, par9); - float f14 = par1EntityLiving.getBrightness(par9); - i = this.getColorMultiplier(par1EntityLiving, f14, par9); - OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapTexUnit); - GL11.glDisable(GL11.GL_TEXTURE_2D); - OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit); - - if ((i >> 24 & 255) > 0 || par1EntityLiving.hurtTime > 0 || par1EntityLiving.deathTime > 0) { - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glDisable(GL11.GL_ALPHA_TEST); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - GL11.glDepthFunc(GL11.GL_EQUAL); - - if (par1EntityLiving.hurtTime > 0 || par1EntityLiving.deathTime > 0) { - GL11.glColor4f(f14, 0.0F, 0.0F, 0.4F); - this.mainModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); - - for (int l = 0; l < 4; ++l) { - if (this.inheritRenderPass(par1EntityLiving, l, par9) >= 0) { - GL11.glColor4f(f14, 0.0F, 0.0F, 0.4F); - this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); - } - } - } - - if ((i >> 24 & 255) > 0) { - f9 = (float) (i >> 16 & 255) / 255.0F; - f10 = (float) (i >> 8 & 255) / 255.0F; - float f15 = (float) (i & 255) / 255.0F; - f11 = (float) (i >> 24 & 255) / 255.0F; - GL11.glColor4f(f9, f10, f15, f11); - this.mainModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); - - for (int i1 = 0; i1 < 4; ++i1) { - if (this.inheritRenderPass(par1EntityLiving, i1, par9) >= 0) { - GL11.glColor4f(f9, f10, f15, f11); - this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); - } - } - } - - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_ALPHA_TEST); - GL11.glEnable(GL11.GL_TEXTURE_2D); - } - - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - } catch (Exception exception) { - exception.printStackTrace(); - } - - OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapTexUnit); - GL11.glEnable(GL11.GL_TEXTURE_2D); - OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glPopMatrix(); - this.passSpecialRender(par1EntityLiving, par2, par4, par6); - } - - /** - * Renders the model in RenderLiving - */ - protected void renderModel(EntityLivingBase par1EntityLiving, float par2, float par3, float par4, float par5, float par6, float par7) { - this.bindEntityTexture(par1EntityLiving); - - if (!par1EntityLiving.isInvisible()) { - this.mainModel.render(par1EntityLiving, par2, par3, par4, par5, par6, par7); - } else if (!par1EntityLiving.isInvisibleToPlayer(Minecraft.getMinecraft().thePlayer)) { - GL11.glPushMatrix(); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 0.15F); - GL11.glDepthMask(false); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - GL11.glAlphaFunc(GL11.GL_GREATER, 0.003921569F); - this.mainModel.render(par1EntityLiving, par2, par3, par4, par5, par6, par7); - GL11.glDisable(GL11.GL_BLEND); - GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F); - GL11.glPopMatrix(); - GL11.glDepthMask(true); - } else { - this.mainModel.setRotationAngles(par2, par3, par4, par5, par6, par7, par1EntityLiving); - } - } - - /** - * Sets a simple glTranslate on a LivingEntity. - */ - protected void renderLivingAt(EntityLivingBase par1EntityLiving, double par2, double par4, double par6) { - GL11.glTranslatef((float) par2, (float) par4, (float) par6); - } - - protected void rotateCorpse(EntityLivingBase par1EntityLiving, float par2, float par3, float par4) { - GL11.glRotatef(180.0F - par3, 0.0F, 1.0F, 0.0F); - - if (par1EntityLiving.deathTime > 0) { - float f3 = ((float) par1EntityLiving.deathTime + par4 - 1.0F) / 20.0F * 1.6F; - f3 = MathHelper.sqrt_float(f3); - - if (f3 > 1.0F) { - f3 = 1.0F; - } - - GL11.glRotatef(f3 * this.getDeathMaxRotation(par1EntityLiving), 0.0F, 0.0F, 1.0F); - } - } - - protected float renderSwingProgress(EntityLivingBase par1EntityLiving, float par2) { - return par1EntityLiving.getSwingProgress(par2); - } - - /** - * Defines what float the third param in setRotationAngles of ModelBase is - */ - protected float handleRotationFloat(EntityLivingBase par1EntityLiving, float par2) { - return (float) par1EntityLiving.ticksExisted + par2; - } - - protected void renderEquippedItems(EntityLivingBase par1EntityLiving, float par2) { - } - - /** - * renders arrows the Entity has been attacked with, attached to it - */ - protected void renderArrowsStuckInEntity(EntityLiving par1EntityLiving, float par2) { - int i = par1EntityLiving.getArrowCountInEntity(); - - if (i > 0) { - EntityArrow entityarrow = new EntityArrow(par1EntityLiving.worldObj, par1EntityLiving.posX, par1EntityLiving.posY, par1EntityLiving.posZ); - Random random = new Random((long) par1EntityLiving.getEntityId()); - RenderHelper.disableStandardItemLighting(); - - for (int j = 0; j < i; ++j) { - GL11.glPushMatrix(); - ModelRenderer modelrenderer = this.mainModel.getRandomModelBox(random); - ModelBox modelbox = (ModelBox) modelrenderer.cubeList.get(random.nextInt(modelrenderer.cubeList.size())); - modelrenderer.postRender(0.0625F); - float f1 = random.nextFloat(); - float f2 = random.nextFloat(); - float f3 = random.nextFloat(); - float f4 = (modelbox.posX1 + (modelbox.posX2 - modelbox.posX1) * f1) / 16.0F; - float f5 = (modelbox.posY1 + (modelbox.posY2 - modelbox.posY1) * f2) / 16.0F; - float f6 = (modelbox.posZ1 + (modelbox.posZ2 - modelbox.posZ1) * f3) / 16.0F; - GL11.glTranslatef(f4, f5, f6); - f1 = f1 * 2.0F - 1.0F; - f2 = f2 * 2.0F - 1.0F; - f3 = f3 * 2.0F - 1.0F; - f1 *= -1.0F; - f2 *= -1.0F; - f3 *= -1.0F; - float f7 = MathHelper.sqrt_float(f1 * f1 + f3 * f3); - entityarrow.prevRotationYaw = entityarrow.rotationYaw = (float) (Math.atan2((double) f1, (double) f3) * 180.0D / Math.PI); - entityarrow.prevRotationPitch = entityarrow.rotationPitch = (float) (Math.atan2((double) f2, (double) f7) * 180.0D / Math.PI); - double d0 = 0.0D; - double d1 = 0.0D; - double d2 = 0.0D; - float f8 = 0.0F; - this.renderManager.renderEntityWithPosYaw(entityarrow, d0, d1, d2, f8, par2); - GL11.glPopMatrix(); - } - - RenderHelper.enableStandardItemLighting(); - } - } - - protected int inheritRenderPass(EntityLivingBase par1EntityLiving, int par2, float par3) { - return this.shouldRenderPass(par1EntityLiving, par2, par3); - } - - /** - * Queries whether should render the specified pass or not. - */ - protected int shouldRenderPass(EntityLivingBase par1EntityLiving, int par2, float par3) { - return -1; - } - - protected void func_82408_c(EntityLivingBase par1EntityLiving, int par2, float par3) { - } - - protected float getDeathMaxRotation(EntityLivingBase par1EntityLiving) { - return 90.0F; - } - - /** - * Returns an ARGB int color back. Args: entityLiving, lightBrightness, - * partialTickTime - */ - protected int getColorMultiplier(EntityLivingBase par1EntityLiving, float par2, float par3) { - return 0; - } - - /** - * Allows the render to do any OpenGL state modifications necessary before - * the model is rendered. Args: entityLiving, partialTickTime - */ - protected void preRenderCallback(EntityLivingBase par1EntityLiving, float par2) { - } - - /** - * Passes the specialRender and renders it - */ - protected void passSpecialRender(EntityLivingBase par1EntityLiving, double par2, double par4, double par6) { - if (Minecraft.isGuiEnabled() && par1EntityLiving != this.renderManager.livingPlayer && !par1EntityLiving.isInvisibleToPlayer(Minecraft.getMinecraft().thePlayer) && (par1EntityLiving.getAlwaysRenderNameTagForRender() || ((EntityLiving) par1EntityLiving).hasCustomNameTag() && par1EntityLiving == this.renderManager.livingPlayer)) { - float f = 1.6F; - float f1 = 0.016666668F * f; - double d3 = par1EntityLiving.getDistanceSqToEntity(this.renderManager.livingPlayer); - float f2 = par1EntityLiving.isSneaking() ? 32.0F : 64.0F; - - if (d3 < (double) (f2 * f2)) { - String s = par1EntityLiving.getCommandSenderName(); - - if (par1EntityLiving.isSneaking()) { - FontRenderer fontrenderer = this.getFontRendererFromRenderManager(); - GL11.glPushMatrix(); - GL11.glTranslatef((float) par2 + 0.0F, (float) par4 + par1EntityLiving.height + 0.5F, (float) par6); - GL11.glNormal3f(0.0F, 1.0F, 0.0F); - GL11.glRotatef(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F); - GL11.glScalef(-f1, -f1, f1); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glTranslatef(0.0F, 0.25F / f1, 0.0F); - GL11.glDepthMask(false); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - Tessellator tessellator = Tessellator.instance; - GL11.glDisable(GL11.GL_TEXTURE_2D); - tessellator.startDrawingQuads(); - int i = fontrenderer.getStringWidth(s) / 2; - tessellator.setColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F); - tessellator.addVertex((double) (-i - 1), -1.0D, 0.0D); - tessellator.addVertex((double) (-i - 1), 8.0D, 0.0D); - tessellator.addVertex((double) (i + 1), 8.0D, 0.0D); - tessellator.addVertex((double) (i + 1), -1.0D, 0.0D); - tessellator.draw(); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glDepthMask(true); - fontrenderer.drawString(s, -fontrenderer.getStringWidth(s) / 2, 0, 553648127); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_BLEND); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glPopMatrix(); - } else { - this.func_96449_a(par1EntityLiving, par2, par4, par6, s, f1, d3); - } - } - } - } - - protected void func_96449_a(EntityLivingBase par1EntityLiving, double par2, double par4, double par6, String par8Str, float par9, double par10) { - if (par1EntityLiving.isPlayerSleeping()) { - this.renderLivingLabel(par1EntityLiving, par8Str, par2, par4 - 1.5D, par6, 64); - } else { - this.renderLivingLabel(par1EntityLiving, par8Str, par2, par4, par6, 64); - } - } - - /** - * Draws the debug or playername text above a living - */ - protected void renderLivingLabel(EntityLivingBase par1EntityLiving, String par2Str, double par3, double par5, double par7, int par9) { - double d3 = par1EntityLiving.getDistanceSqToEntity(this.renderManager.livingPlayer); - - if (d3 <= (double) (par9 * par9)) { - FontRenderer fontrenderer = this.getFontRendererFromRenderManager(); - float f = 1.6F; - float f1 = 0.016666668F * f; - GL11.glPushMatrix(); - GL11.glTranslatef((float) par3 + 0.0F, (float) par5 + par1EntityLiving.height + 0.5F, (float) par7); - GL11.glNormal3f(0.0F, 1.0F, 0.0F); - GL11.glRotatef(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F); - GL11.glScalef(-f1, -f1, f1); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDepthMask(false); - GL11.glDisable(GL11.GL_DEPTH_TEST); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - Tessellator tessellator = Tessellator.instance; - byte b0 = 0; - - if (par2Str.equals("deadmau5")) { - b0 = -10; - } - - GL11.glDisable(GL11.GL_TEXTURE_2D); - tessellator.startDrawingQuads(); - int j = fontrenderer.getStringWidth(par2Str) / 2; - tessellator.setColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F); - tessellator.addVertex((double) (-j - 1), (double) (-1 + b0), 0.0D); - tessellator.addVertex((double) (-j - 1), (double) (8 + b0), 0.0D); - tessellator.addVertex((double) (j + 1), (double) (8 + b0), 0.0D); - tessellator.addVertex((double) (j + 1), (double) (-1 + b0), 0.0D); - tessellator.draw(); - GL11.glEnable(GL11.GL_TEXTURE_2D); - fontrenderer.drawString(par2Str, -fontrenderer.getStringWidth(par2Str) / 2, b0, 553648127); - GL11.glEnable(GL11.GL_DEPTH_TEST); - GL11.glDepthMask(true); - fontrenderer.drawString(par2Str, -fontrenderer.getStringWidth(par2Str) / 2, b0, -1); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_BLEND); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glPopMatrix(); - } - } - - /** - * Actually renders the given argument. This is a synthetic bridge method, - * always casting down its argument and then handing it off to a worker - * function which does the actual work. In all probabilty, the class Render - * is generic (Render= 180.0F) { + f3 -= 360.0F; + } + + return par1 + par3 * f3; + } + + public void doRenderLiving(EntityLivingBase par1EntityLiving, double par2, double par4, double par6, float par8, float par9) { + GL11.glPushMatrix(); + GL11.glDisable(GL11.GL_CULL_FACE); + + par4 += ((EntityGhost) par1EntityLiving).getFloatingHeight(); + + this.mainModel.onGround = this.renderSwingProgress(par1EntityLiving, par9); + + if (this.renderPassModel != null) { + this.renderPassModel.onGround = this.mainModel.onGround; + } + + this.mainModel.isRiding = par1EntityLiving.isRiding(); + + if (this.renderPassModel != null) { + this.renderPassModel.isRiding = this.mainModel.isRiding; + } + + this.mainModel.isChild = par1EntityLiving.isChild(); + + if (this.renderPassModel != null) { + this.renderPassModel.isChild = this.mainModel.isChild; + } + + try { + float f2 = this.interpolateRotation(par1EntityLiving.prevRenderYawOffset, par1EntityLiving.renderYawOffset, par9); + float f3 = this.interpolateRotation(par1EntityLiving.prevRotationYawHead, par1EntityLiving.rotationYawHead, par9); + float f4 = par1EntityLiving.prevRotationPitch + (par1EntityLiving.rotationPitch - par1EntityLiving.prevRotationPitch) * par9; + this.renderLivingAt(par1EntityLiving, par2, par4, par6); + float f5 = this.handleRotationFloat(par1EntityLiving, par9); + this.rotateCorpse(par1EntityLiving, f5, f2, par9); + float f6 = 0.0625F; + GL11.glEnable(GL12.GL_RESCALE_NORMAL); + GL11.glScalef(-1.0F, -1.0F, 1.0F); + this.preRenderCallback(par1EntityLiving, par9); + GL11.glTranslatef(0.0F, -24.0F * f6 - 0.0078125F, 0.0F); + float f7 = par1EntityLiving.prevLimbSwingAmount + (par1EntityLiving.limbSwing - par1EntityLiving.prevLimbSwingAmount) * par9; + float f8 = par1EntityLiving.limbSwing - par1EntityLiving.limbSwing * (1.0F - par9); + + if (par1EntityLiving.isChild()) { + f8 *= 3.0F; + } + + if (f7 > 1.0F) { + f7 = 1.0F; + } + + GL11.glEnable(GL11.GL_ALPHA_TEST); + this.mainModel.setLivingAnimations(par1EntityLiving, f8, f7, par9); + this.renderModel(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); + float f9; + int i; + float f10; + float f11; + + for (int j = 0; j < 4; ++j) { + i = this.shouldRenderPass(par1EntityLiving, j, par9); + + if (i > 0) { + this.renderPassModel.setLivingAnimations(par1EntityLiving, f8, f7, par9); + this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); + + if ((i & 240) == 16) { + this.func_82408_c(par1EntityLiving, j, par9); + this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); + } + + if ((i & 15) == 15) { + f9 = (float) par1EntityLiving.ticksExisted + par9; + GL11.glEnable(GL11.GL_BLEND); + f10 = 0.5F; + GL11.glColor4f(f10, f10, f10, 1.0F); + GL11.glDepthFunc(GL11.GL_EQUAL); + GL11.glDepthMask(false); + + for (int k = 0; k < 2; ++k) { + GL11.glDisable(GL11.GL_LIGHTING); + f11 = 0.76F; + GL11.glColor4f(0.5F * f11, 0.25F * f11, 0.8F * f11, 1.0F); + GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glLoadIdentity(); + float f12 = f9 * (0.001F + (float) k * 0.003F) * 20.0F; + float f13 = 0.33333334F; + GL11.glScalef(f13, f13, f13); + GL11.glRotatef(30.0F - (float) k * 60.0F, 0.0F, 0.0F, 1.0F); + GL11.glTranslatef(0.0F, f12, 0.0F); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); + } + + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glDepthMask(true); + GL11.glLoadIdentity(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDepthFunc(GL11.GL_LEQUAL); + } + + GL11.glDisable(GL11.GL_BLEND); + GL11.glEnable(GL11.GL_ALPHA_TEST); + } + } + + GL11.glDepthMask(true); + this.renderEquippedItems(par1EntityLiving, par9); + float f14 = par1EntityLiving.getBrightness(par9); + i = this.getColorMultiplier(par1EntityLiving, f14, par9); + OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapTexUnit); + GL11.glDisable(GL11.GL_TEXTURE_2D); + OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit); + + if ((i >> 24 & 255) > 0 || par1EntityLiving.hurtTime > 0 || par1EntityLiving.deathTime > 0) { + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glDisable(GL11.GL_ALPHA_TEST); + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + GL11.glDepthFunc(GL11.GL_EQUAL); + + if (par1EntityLiving.hurtTime > 0 || par1EntityLiving.deathTime > 0) { + GL11.glColor4f(f14, 0.0F, 0.0F, 0.4F); + this.mainModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); + + for (int l = 0; l < 4; ++l) { + if (this.inheritRenderPass(par1EntityLiving, l, par9) >= 0) { + GL11.glColor4f(f14, 0.0F, 0.0F, 0.4F); + this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); + } + } + } + + if ((i >> 24 & 255) > 0) { + f9 = (float) (i >> 16 & 255) / 255.0F; + f10 = (float) (i >> 8 & 255) / 255.0F; + float f15 = (float) (i & 255) / 255.0F; + f11 = (float) (i >> 24 & 255) / 255.0F; + GL11.glColor4f(f9, f10, f15, f11); + this.mainModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); + + for (int i1 = 0; i1 < 4; ++i1) { + if (this.inheritRenderPass(par1EntityLiving, i1, par9) >= 0) { + GL11.glColor4f(f9, f10, f15, f11); + this.renderPassModel.render(par1EntityLiving, f8, f7, f5, f3 - f2, f4, f6); + } + } + } + + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glDisable(GL11.GL_BLEND); + GL11.glEnable(GL11.GL_ALPHA_TEST); + GL11.glEnable(GL11.GL_TEXTURE_2D); + } + + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + } catch (Exception exception) { + exception.printStackTrace(); + } + + OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapTexUnit); + GL11.glEnable(GL11.GL_TEXTURE_2D); + OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit); + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glPopMatrix(); + this.passSpecialRender(par1EntityLiving, par2, par4, par6); + } + + /** + * Renders the model in RenderLiving + */ + protected void renderModel(EntityLivingBase par1EntityLiving, float par2, float par3, float par4, float par5, float par6, float par7) { + this.bindEntityTexture(par1EntityLiving); + + if (!par1EntityLiving.isInvisible()) { + this.mainModel.render(par1EntityLiving, par2, par3, par4, par5, par6, par7); + } else if (!par1EntityLiving.isInvisibleToPlayer(Minecraft.getMinecraft().thePlayer)) { + GL11.glPushMatrix(); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 0.15F); + GL11.glDepthMask(false); + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + GL11.glAlphaFunc(GL11.GL_GREATER, 0.003921569F); + this.mainModel.render(par1EntityLiving, par2, par3, par4, par5, par6, par7); + GL11.glDisable(GL11.GL_BLEND); + GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F); + GL11.glPopMatrix(); + GL11.glDepthMask(true); + } else { + this.mainModel.setRotationAngles(par2, par3, par4, par5, par6, par7, par1EntityLiving); + } + } + + /** + * Sets a simple glTranslate on a LivingEntity. + */ + protected void renderLivingAt(EntityLivingBase par1EntityLiving, double par2, double par4, double par6) { + GL11.glTranslatef((float) par2, (float) par4, (float) par6); + } + + protected void rotateCorpse(EntityLivingBase par1EntityLiving, float par2, float par3, float par4) { + GL11.glRotatef(180.0F - par3, 0.0F, 1.0F, 0.0F); + + if (par1EntityLiving.deathTime > 0) { + float f3 = ((float) par1EntityLiving.deathTime + par4 - 1.0F) / 20.0F * 1.6F; + f3 = MathHelper.sqrt_float(f3); + + if (f3 > 1.0F) { + f3 = 1.0F; + } + + GL11.glRotatef(f3 * this.getDeathMaxRotation(par1EntityLiving), 0.0F, 0.0F, 1.0F); + } + } + + protected float renderSwingProgress(EntityLivingBase par1EntityLiving, float par2) { + return par1EntityLiving.getSwingProgress(par2); + } + + /** + * Defines what float the third param in setRotationAngles of ModelBase is + */ + protected float handleRotationFloat(EntityLivingBase par1EntityLiving, float par2) { + return (float) par1EntityLiving.ticksExisted + par2; + } + + protected void renderEquippedItems(EntityLivingBase par1EntityLiving, float par2) { + } + + /** + * renders arrows the Entity has been attacked with, attached to it + */ + protected void renderArrowsStuckInEntity(EntityLiving par1EntityLiving, float par2) { + int i = par1EntityLiving.getArrowCountInEntity(); + + if (i > 0) { + EntityArrow entityarrow = new EntityArrow(par1EntityLiving.worldObj, par1EntityLiving.posX, par1EntityLiving.posY, par1EntityLiving.posZ); + Random random = new Random((long) par1EntityLiving.getEntityId()); + RenderHelper.disableStandardItemLighting(); + + for (int j = 0; j < i; ++j) { + GL11.glPushMatrix(); + ModelRenderer modelrenderer = this.mainModel.getRandomModelBox(random); + ModelBox modelbox = (ModelBox) modelrenderer.cubeList.get(random.nextInt(modelrenderer.cubeList.size())); + modelrenderer.postRender(0.0625F); + float f1 = random.nextFloat(); + float f2 = random.nextFloat(); + float f3 = random.nextFloat(); + float f4 = (modelbox.posX1 + (modelbox.posX2 - modelbox.posX1) * f1) / 16.0F; + float f5 = (modelbox.posY1 + (modelbox.posY2 - modelbox.posY1) * f2) / 16.0F; + float f6 = (modelbox.posZ1 + (modelbox.posZ2 - modelbox.posZ1) * f3) / 16.0F; + GL11.glTranslatef(f4, f5, f6); + f1 = f1 * 2.0F - 1.0F; + f2 = f2 * 2.0F - 1.0F; + f3 = f3 * 2.0F - 1.0F; + f1 *= -1.0F; + f2 *= -1.0F; + f3 *= -1.0F; + float f7 = MathHelper.sqrt_float(f1 * f1 + f3 * f3); + entityarrow.prevRotationYaw = entityarrow.rotationYaw = (float) (Math.atan2((double) f1, (double) f3) * 180.0D / Math.PI); + entityarrow.prevRotationPitch = entityarrow.rotationPitch = (float) (Math.atan2((double) f2, (double) f7) * 180.0D / Math.PI); + double d0 = 0.0D; + double d1 = 0.0D; + double d2 = 0.0D; + float f8 = 0.0F; + this.renderManager.renderEntityWithPosYaw(entityarrow, d0, d1, d2, f8, par2); + GL11.glPopMatrix(); + } + + RenderHelper.enableStandardItemLighting(); + } + } + + protected int inheritRenderPass(EntityLivingBase par1EntityLiving, int par2, float par3) { + return this.shouldRenderPass(par1EntityLiving, par2, par3); + } + + /** + * Queries whether should render the specified pass or not. + */ + protected int shouldRenderPass(EntityLivingBase par1EntityLiving, int par2, float par3) { + return -1; + } + + protected void func_82408_c(EntityLivingBase par1EntityLiving, int par2, float par3) { + } + + protected float getDeathMaxRotation(EntityLivingBase par1EntityLiving) { + return 90.0F; + } + + /** + * Returns an ARGB int color back. Args: entityLiving, lightBrightness, + * partialTickTime + */ + protected int getColorMultiplier(EntityLivingBase par1EntityLiving, float par2, float par3) { + return 0; + } + + /** + * Allows the render to do any OpenGL state modifications necessary before + * the model is rendered. Args: entityLiving, partialTickTime + */ + protected void preRenderCallback(EntityLivingBase par1EntityLiving, float par2) { + } + + /** + * Passes the specialRender and renders it + */ + protected void passSpecialRender(EntityLivingBase par1EntityLiving, double par2, double par4, double par6) { + if (Minecraft.isGuiEnabled() && par1EntityLiving != this.renderManager.livingPlayer && !par1EntityLiving.isInvisibleToPlayer(Minecraft.getMinecraft().thePlayer) && (par1EntityLiving.getAlwaysRenderNameTagForRender() || ((EntityLiving) par1EntityLiving).hasCustomNameTag() && par1EntityLiving == this.renderManager.livingPlayer)) { + float f = 1.6F; + float f1 = 0.016666668F * f; + double d3 = par1EntityLiving.getDistanceSqToEntity(this.renderManager.livingPlayer); + float f2 = par1EntityLiving.isSneaking() ? 32.0F : 64.0F; + + if (d3 < (double) (f2 * f2)) { + String s = par1EntityLiving.getCommandSenderName(); + + if (par1EntityLiving.isSneaking()) { + FontRenderer fontrenderer = this.getFontRendererFromRenderManager(); + GL11.glPushMatrix(); + GL11.glTranslatef((float) par2 + 0.0F, (float) par4 + par1EntityLiving.height + 0.5F, (float) par6); + GL11.glNormal3f(0.0F, 1.0F, 0.0F); + GL11.glRotatef(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F); + GL11.glScalef(-f1, -f1, f1); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glTranslatef(0.0F, 0.25F / f1, 0.0F); + GL11.glDepthMask(false); + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + Tessellator tessellator = Tessellator.instance; + GL11.glDisable(GL11.GL_TEXTURE_2D); + tessellator.startDrawingQuads(); + int i = fontrenderer.getStringWidth(s) / 2; + tessellator.setColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F); + tessellator.addVertex((double) (-i - 1), -1.0D, 0.0D); + tessellator.addVertex((double) (-i - 1), 8.0D, 0.0D); + tessellator.addVertex((double) (i + 1), 8.0D, 0.0D); + tessellator.addVertex((double) (i + 1), -1.0D, 0.0D); + tessellator.draw(); + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glDepthMask(true); + fontrenderer.drawString(s, -fontrenderer.getStringWidth(s) / 2, 0, 553648127); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_BLEND); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glPopMatrix(); + } else { + this.func_96449_a(par1EntityLiving, par2, par4, par6, s, f1, d3); + } + } + } + } + + protected void func_96449_a(EntityLivingBase par1EntityLiving, double par2, double par4, double par6, String par8Str, float par9, double par10) { + if (par1EntityLiving.isPlayerSleeping()) { + this.renderLivingLabel(par1EntityLiving, par8Str, par2, par4 - 1.5D, par6, 64); + } else { + this.renderLivingLabel(par1EntityLiving, par8Str, par2, par4, par6, 64); + } + } + + /** + * Draws the debug or playername text above a living + */ + protected void renderLivingLabel(EntityLivingBase par1EntityLiving, String par2Str, double par3, double par5, double par7, int par9) { + double d3 = par1EntityLiving.getDistanceSqToEntity(this.renderManager.livingPlayer); + + if (d3 <= (double) (par9 * par9)) { + FontRenderer fontrenderer = this.getFontRendererFromRenderManager(); + float f = 1.6F; + float f1 = 0.016666668F * f; + GL11.glPushMatrix(); + GL11.glTranslatef((float) par3 + 0.0F, (float) par5 + par1EntityLiving.height + 0.5F, (float) par7); + GL11.glNormal3f(0.0F, 1.0F, 0.0F); + GL11.glRotatef(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F); + GL11.glScalef(-f1, -f1, f1); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glDepthMask(false); + GL11.glDisable(GL11.GL_DEPTH_TEST); + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + Tessellator tessellator = Tessellator.instance; + byte b0 = 0; + + if (par2Str.equals("deadmau5")) { + b0 = -10; + } + + GL11.glDisable(GL11.GL_TEXTURE_2D); + tessellator.startDrawingQuads(); + int j = fontrenderer.getStringWidth(par2Str) / 2; + tessellator.setColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F); + tessellator.addVertex((double) (-j - 1), (double) (-1 + b0), 0.0D); + tessellator.addVertex((double) (-j - 1), (double) (8 + b0), 0.0D); + tessellator.addVertex((double) (j + 1), (double) (8 + b0), 0.0D); + tessellator.addVertex((double) (j + 1), (double) (-1 + b0), 0.0D); + tessellator.draw(); + GL11.glEnable(GL11.GL_TEXTURE_2D); + fontrenderer.drawString(par2Str, -fontrenderer.getStringWidth(par2Str) / 2, b0, 553648127); + GL11.glEnable(GL11.GL_DEPTH_TEST); + GL11.glDepthMask(true); + fontrenderer.drawString(par2Str, -fontrenderer.getStringWidth(par2Str) / 2, b0, -1); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_BLEND); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glPopMatrix(); + } + } + + /** + * Actually renders the given argument. This is a synthetic bridge method, + * always casting down its argument and then handing it off to a worker + * function which does the actual work. In all probabilty, the class Render + * is generic (Render 0.0F) { - float f12 = -MathHelper.sin(f11 * 3.0F) * f11; - GL11.glRotatef(f12, 0.0F, 0.0F, 1.0F); - } + if (f11 > 0.0F) { + float f12 = -MathHelper.sin(f11 * 3.0F) * f11; + GL11.glRotatef(f12, 0.0F, 0.0F, 1.0F); + } - GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F); - GL11.glScalef(f10, f10, f10); - GL11.glTranslatef(-4.0F, 0.0F, 0.0F); - GL11.glNormal3f(f10, 0.0F, 0.0F); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double) f6, (double) f8); - tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double) f7, (double) f8); - tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double) f7, (double) f9); - tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double) f6, (double) f9); - tessellator.draw(); - GL11.glNormal3f(-f10, 0.0F, 0.0F); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double) f6, (double) f8); - tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double) f7, (double) f8); - tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double) f7, (double) f9); - tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double) f6, (double) f9); - tessellator.draw(); + GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F); + GL11.glScalef(f10, f10, f10); + GL11.glTranslatef(-4.0F, 0.0F, 0.0F); + GL11.glNormal3f(f10, 0.0F, 0.0F); + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double) f6, (double) f8); + tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double) f7, (double) f8); + tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double) f7, (double) f9); + tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double) f6, (double) f9); + tessellator.draw(); + GL11.glNormal3f(-f10, 0.0F, 0.0F); + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double) f6, (double) f8); + tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double) f7, (double) f8); + tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double) f7, (double) f9); + tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double) f6, (double) f9); + tessellator.draw(); - for (int i = 0; i < 4; ++i) { - GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); - GL11.glNormal3f(0.0F, 0.0F, f10); - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(-8.0D, -2.0D, 0.0D, (double) f2, (double) f4); - tessellator.addVertexWithUV(8.0D, -2.0D, 0.0D, (double) f3, (double) f4); - tessellator.addVertexWithUV(8.0D, 2.0D, 0.0D, (double) f3, (double) f5); - tessellator.addVertexWithUV(-8.0D, 2.0D, 0.0D, (double) f2, (double) f5); - tessellator.draw(); - } + for (int i = 0; i < 4; ++i) { + GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); + GL11.glNormal3f(0.0F, 0.0F, f10); + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(-8.0D, -2.0D, 0.0D, (double) f2, (double) f4); + tessellator.addVertexWithUV(8.0D, -2.0D, 0.0D, (double) f3, (double) f4); + tessellator.addVertexWithUV(8.0D, 2.0D, 0.0D, (double) f3, (double) f5); + tessellator.addVertexWithUV(-8.0D, 2.0D, 0.0D, (double) f2, (double) f5); + tessellator.draw(); + } - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - GL11.glPopMatrix(); - } + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + GL11.glPopMatrix(); + } - /** - * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then handing it off to a worker function which does the actual work. In all - * probabilty, the class Render is generic (Render 0.0F) { - float f12 = -MathHelper.sin(f11 * 3.0F) * f11; - GL11.glRotatef(f12, 0.0F, 0.0F, 1.0F); - } + if (f11 > 0.0F) { + float f12 = -MathHelper.sin(f11 * 3.0F) * f11; + GL11.glRotatef(f12, 0.0F, 0.0F, 1.0F); + } - GL11.glScalef(2f, 1.5f, 1.5f); - GL11.glTranslatef(-0.85F, 0.0F, 0.0F); - GL11.glNormal3f(f10, 0.0F, 0.0F); + GL11.glScalef(2f, 1.5f, 1.5f); + GL11.glTranslatef(-0.85F, 0.0F, 0.0F); + GL11.glNormal3f(f10, 0.0F, 0.0F); - ItemRenderer.renderItemIn2D(tessellator, -1f, -10 / 32.0f, -5 / 32.0f, 12 / 32.0f, 32, 32 * 32, 0.0625F); + ItemRenderer.renderItemIn2D(tessellator, -1f, -10 / 32.0f, -5 / 32.0f, 12 / 32.0f, 32, 32 * 32, 0.0625F); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - GL11.glPopMatrix(); - } + GL11.glDisable(GL12.GL_RESCALE_NORMAL); + GL11.glPopMatrix(); + } - /** - * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then handing it off to a worker function which does the actual work. In all - * probabilty, the class Render is generic (Render> 16 & 255) / 255.0F; - float f2 = (float) (l >> 8 & 255) / 255.0F; - float f3 = (float) (l & 255) / 255.0F; - if (EntityRenderer.anaglyphEnable) { - float d0 = (f1 * 30.0F + f2 * 59.0F + f3 * 11.0F) / 100.0F; - float f5 = (f1 * 30.0F + f2 * 70.0F) / 100.0F; - float d1 = (f1 * 30.0F + f3 * 70.0F) / 100.0F; - f1 = d0; - f2 = f5; - f3 = d1; - } + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + Tessellator tessellator = Tessellator.instance; + tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + float f = 1.0F; + int l = block.colorMultiplier(world, x, y, z); + float f1 = (float) (l >> 16 & 255) / 255.0F; + float f2 = (float) (l >> 8 & 255) / 255.0F; + float f3 = (float) (l & 255) / 255.0F; + if (EntityRenderer.anaglyphEnable) { + float d0 = (f1 * 30.0F + f2 * 59.0F + f3 * 11.0F) / 100.0F; + float f5 = (f1 * 30.0F + f2 * 70.0F) / 100.0F; + float d1 = (f1 * 30.0F + f3 * 70.0F) / 100.0F; + f1 = d0; + f2 = f5; + f3 = d1; + } - tessellator.setColorOpaque_F(f * f1, f * f2, f * f3); - double d01 = (double) x; - double d11 = (double) y; - double d2 = (double) z; - if (block == Blocks.tallgrass) { - long icon = (long) (x * 3129871) ^ (long) z * 116129781L ^ (long) y; - icon = icon * icon * 42317861L + icon * 11L; - d01 += ((double) ((float) (icon >> 16 & 15L) / 15.0F) - 0.5D) * 0.5D; - d11 += ((double) ((float) (icon >> 20 & 15L) / 15.0F) - 1.0D) * 0.2D; - d2 += ((double) ((float) (icon >> 24 & 15L) / 15.0F) - 0.5D) * 0.5D; - } + tessellator.setColorOpaque_F(f * f1, f * f2, f * f3); + double d01 = (double) x; + double d11 = (double) y; + double d2 = (double) z; + if (block == Blocks.tallgrass) { + long icon = (long) (x * 3129871) ^ (long) z * 116129781L ^ (long) y; + icon = icon * icon * 42317861L + icon * 11L; + d01 += ((double) ((float) (icon >> 16 & 15L) / 15.0F) - 0.5D) * 0.5D; + d11 += ((double) ((float) (icon >> 20 & 15L) / 15.0F) - 1.0D) * 0.2D; + d2 += ((double) ((float) (icon >> 24 & 15L) / 15.0F) - 0.5D) * 0.5D; + } - IIcon icon1 = block.getBlockTextureFromSide(0); - this.drawCrossedSquares(icon1, block, world.getBlockMetadata(x, y, z), d01, d11, d2, 1.0F); - return true; - } + IIcon icon1 = block.getBlockTextureFromSide(0); + this.drawCrossedSquares(icon1, block, world.getBlockMetadata(x, y, z), d01, d11, d2, 1.0F); + return true; + } - public void drawCrossedSquares(IIcon icon, Block par1Block, int par2, double par3, double par5, double par7, float par9) { - Tessellator tessellator = Tessellator.instance; - double d3 = (double) icon.getMinU(); - double d4 = (double) icon.getMinV(); - double d5 = (double) icon.getMaxU(); - double d6 = (double) icon.getMaxV(); - double d7 = 0.45D * (double) par9; - double d8 = par3 + 0.5D - d7; - double d9 = par3 + 0.5D + d7; - double d10 = par7 + 0.5D - d7; - double d11 = par7 + 0.5D + d7; - tessellator.addVertexWithUV(d8, par5 + (double) par9, d10, d3, d4); - tessellator.addVertexWithUV(d8, par5 + 0.0D, d10, d3, d6); - tessellator.addVertexWithUV(d9, par5 + 0.0D, d11, d5, d6); - tessellator.addVertexWithUV(d9, par5 + (double) par9, d11, d5, d4); - tessellator.addVertexWithUV(d9, par5 + (double) par9, d11, d3, d4); - tessellator.addVertexWithUV(d9, par5 + 0.0D, d11, d3, d6); - tessellator.addVertexWithUV(d8, par5 + 0.0D, d10, d5, d6); - tessellator.addVertexWithUV(d8, par5 + (double) par9, d10, d5, d4); - tessellator.addVertexWithUV(d8, par5 + (double) par9, d11, d3, d4); - tessellator.addVertexWithUV(d8, par5 + 0.0D, d11, d3, d6); - tessellator.addVertexWithUV(d9, par5 + 0.0D, d10, d5, d6); - tessellator.addVertexWithUV(d9, par5 + (double) par9, d10, d5, d4); - tessellator.addVertexWithUV(d9, par5 + (double) par9, d10, d3, d4); - tessellator.addVertexWithUV(d9, par5 + 0.0D, d10, d3, d6); - tessellator.addVertexWithUV(d8, par5 + 0.0D, d11, d5, d6); - tessellator.addVertexWithUV(d8, par5 + (double) par9, d11, d5, d4); - } + public void drawCrossedSquares(IIcon icon, Block par1Block, int par2, double par3, double par5, double par7, float par9) { + Tessellator tessellator = Tessellator.instance; + double d3 = (double) icon.getMinU(); + double d4 = (double) icon.getMinV(); + double d5 = (double) icon.getMaxU(); + double d6 = (double) icon.getMaxV(); + double d7 = 0.45D * (double) par9; + double d8 = par3 + 0.5D - d7; + double d9 = par3 + 0.5D + d7; + double d10 = par7 + 0.5D - d7; + double d11 = par7 + 0.5D + d7; + tessellator.addVertexWithUV(d8, par5 + (double) par9, d10, d3, d4); + tessellator.addVertexWithUV(d8, par5 + 0.0D, d10, d3, d6); + tessellator.addVertexWithUV(d9, par5 + 0.0D, d11, d5, d6); + tessellator.addVertexWithUV(d9, par5 + (double) par9, d11, d5, d4); + tessellator.addVertexWithUV(d9, par5 + (double) par9, d11, d3, d4); + tessellator.addVertexWithUV(d9, par5 + 0.0D, d11, d3, d6); + tessellator.addVertexWithUV(d8, par5 + 0.0D, d10, d5, d6); + tessellator.addVertexWithUV(d8, par5 + (double) par9, d10, d5, d4); + tessellator.addVertexWithUV(d8, par5 + (double) par9, d11, d3, d4); + tessellator.addVertexWithUV(d8, par5 + 0.0D, d11, d3, d6); + tessellator.addVertexWithUV(d9, par5 + 0.0D, d10, d5, d6); + tessellator.addVertexWithUV(d9, par5 + (double) par9, d10, d5, d4); + tessellator.addVertexWithUV(d9, par5 + (double) par9, d10, d3, d4); + tessellator.addVertexWithUV(d9, par5 + 0.0D, d10, d3, d6); + tessellator.addVertexWithUV(d8, par5 + 0.0D, d11, d5, d6); + tessellator.addVertexWithUV(d8, par5 + (double) par9, d11, d5, d4); + } - @Override - public int getRenderId() { - return 0; - } + @Override + public int getRenderId() { + return 0; + } - @Override - public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) { - } + @Override + public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) { + } - @Override - public boolean shouldRender3DInInventory(int arg0) { - return false; - } + @Override + public boolean shouldRender3DInInventory(int arg0) { + return false; + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java b/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java index ca08cc8..beb5be6 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java +++ b/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java @@ -5,68 +5,68 @@ import cpw.mods.fml.common.registry.EntityRegistry; public enum AtumEntities { - INSTANCE; - - public void register() { - int entityID; - - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityMummy.class, "mummy", entityID, Atum.instance, 64, 1, true); - EntityRegistry.registerGlobalEntityID(EntityMummy.class, "mummy", entityID, 0x515838, 0x868F6B); - - entityID++; - EntityRegistry.registerModEntity(EntityBanditWarrior.class, "banditWarrior", entityID, Atum.instance, 64, 1, true); - EntityRegistry.registerGlobalEntityID(EntityBanditWarrior.class, "banditWarrior", entityID, 0xC2C2C2, 0x040F85); - - entityID++; - EntityRegistry.registerModEntity(EntityBanditArcher.class, "banditArcher", entityID, Atum.instance, 64, 1, true); - EntityRegistry.registerGlobalEntityID(EntityBanditArcher.class, "banditArcher", entityID, 0xC2C2C2, 0x7E0C0C); - - entityID++; - EntityRegistry.registerModEntity(EntityPharaoh.class, "pharaoh", entityID, Atum.instance, 64, 1, true); - EntityRegistry.registerGlobalEntityID(EntityPharaoh.class, "pharaoh", entityID, 0xD4BC37, 0x3A4BE0); - - entityID++; - EntityRegistry.registerModEntity(EntityDustySkeleton.class, "dustySkeleton", entityID, Atum.instance, 64, 1, true); - EntityRegistry.registerGlobalEntityID(EntityDustySkeleton.class, "dustySkeleton", entityID, 0xB59C7D, 0x6F5C43); - - entityID++; - EntityRegistry.registerModEntity(EntityGhost.class, "desertGhost", entityID, Atum.instance, 64, 1, true); - EntityRegistry.registerGlobalEntityID(EntityGhost.class, "desertGhost", entityID, 0xE7DBC8, 0xAD9467); - - entityID++; - EntityRegistry.registerModEntity(EntityStoneSoldier.class, "stoneSoldier", entityID, Atum.instance, 64, 1, true); - EntityRegistry.registerGlobalEntityID(EntityStoneSoldier.class, "stoneSoldier", entityID, 0x918354, 0x695D37); - - entityID++; - EntityRegistry.registerModEntity(EntityDesertWolf.class, "desertWolf", entityID, Atum.instance, 64, 1, true); - EntityRegistry.registerGlobalEntityID(EntityDesertWolf.class, "desertWolf", entityID, 0x918354, 0x695D37); - - entityID++; - EntityRegistry.registerModEntity(EntityBanditWarlord.class, "banditWarlord", entityID, Atum.instance, 64, 1, true); - EntityRegistry.registerGlobalEntityID(EntityBanditWarlord.class, "banditWarlord", entityID, 0x918354, 0x695D37); - - entityID++; - EntityRegistry.registerModEntity(EntityBarbarian.class, "barbarian", entityID, Atum.instance, 64, 1, true); - EntityRegistry.registerGlobalEntityID(EntityBarbarian.class, "barbarian", entityID, 0x918354, 0x695D37); - - entityID++; - EntityRegistry.registerModEntity(EntityArrowVelocity.class, "ArrowVeloctiy", entityID, Atum.instance, 64, 1, true); - entityID++; - EntityRegistry.registerModEntity(EntityArrowExplosive.class, "ArrowExplosive", entityID, Atum.instance, 64, 1, true); - entityID++; - EntityRegistry.registerModEntity(EntityArrowPoison.class, "ArrowPoison", entityID, Atum.instance, 64, 1, true); - entityID++; - EntityRegistry.registerModEntity(EntityArrowFire.class, "ArrowFire", entityID, Atum.instance, 64, 1, true); - entityID++; - EntityRegistry.registerModEntity(EntityArrowDoubleShot.class, "ArrowFire", entityID, Atum.instance, 64, 1, true); - entityID++; - EntityRegistry.registerModEntity(EntityArrowQuickdraw.class, "ArrowFire", entityID, Atum.instance, 64, 1, true); - entityID++; - EntityRegistry.registerModEntity(EntityNutsCall.class, "EntityNutsCall", entityID, Atum.instance, 64, 1, true); - entityID++; - EntityRegistry.registerModEntity(EntityAtumFishHook.class, "EntityAtumFishHook", entityID, Atum.instance, 64, 1, false); - - } + INSTANCE; + + public void register() { + int entityID; + + entityID = EntityRegistry.findGlobalUniqueEntityId(); + EntityRegistry.registerModEntity(EntityMummy.class, "mummy", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityMummy.class, "mummy", entityID, 0x515838, 0x868F6B); + + entityID++; + EntityRegistry.registerModEntity(EntityBanditWarrior.class, "banditWarrior", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityBanditWarrior.class, "banditWarrior", entityID, 0xC2C2C2, 0x040F85); + + entityID++; + EntityRegistry.registerModEntity(EntityBanditArcher.class, "banditArcher", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityBanditArcher.class, "banditArcher", entityID, 0xC2C2C2, 0x7E0C0C); + + entityID++; + EntityRegistry.registerModEntity(EntityPharaoh.class, "pharaoh", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityPharaoh.class, "pharaoh", entityID, 0xD4BC37, 0x3A4BE0); + + entityID++; + EntityRegistry.registerModEntity(EntityDustySkeleton.class, "dustySkeleton", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityDustySkeleton.class, "dustySkeleton", entityID, 0xB59C7D, 0x6F5C43); + + entityID++; + EntityRegistry.registerModEntity(EntityGhost.class, "desertGhost", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityGhost.class, "desertGhost", entityID, 0xE7DBC8, 0xAD9467); + + entityID++; + EntityRegistry.registerModEntity(EntityStoneSoldier.class, "stoneSoldier", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityStoneSoldier.class, "stoneSoldier", entityID, 0x918354, 0x695D37); + + entityID++; + EntityRegistry.registerModEntity(EntityDesertWolf.class, "desertWolf", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityDesertWolf.class, "desertWolf", entityID, 0x918354, 0x695D37); + + entityID++; + EntityRegistry.registerModEntity(EntityBanditWarlord.class, "banditWarlord", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityBanditWarlord.class, "banditWarlord", entityID, 0x918354, 0x695D37); + + entityID++; + EntityRegistry.registerModEntity(EntityBarbarian.class, "barbarian", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityBarbarian.class, "barbarian", entityID, 0x918354, 0x695D37); + + entityID++; + EntityRegistry.registerModEntity(EntityArrowVelocity.class, "ArrowVeloctiy", entityID, Atum.instance, 64, 1, true); + entityID++; + EntityRegistry.registerModEntity(EntityArrowExplosive.class, "ArrowExplosive", entityID, Atum.instance, 64, 1, true); + entityID++; + EntityRegistry.registerModEntity(EntityArrowPoison.class, "ArrowPoison", entityID, Atum.instance, 64, 1, true); + entityID++; + EntityRegistry.registerModEntity(EntityArrowFire.class, "ArrowFire", entityID, Atum.instance, 64, 1, true); + entityID++; + EntityRegistry.registerModEntity(EntityArrowDoubleShot.class, "ArrowFire", entityID, Atum.instance, 64, 1, true); + entityID++; + EntityRegistry.registerModEntity(EntityArrowQuickdraw.class, "ArrowFire", entityID, Atum.instance, 64, 1, true); + entityID++; + EntityRegistry.registerModEntity(EntityNutsCall.class, "EntityNutsCall", entityID, Atum.instance, 64, 1, true); + entityID++; + EntityRegistry.registerModEntity(EntityAtumFishHook.class, "EntityAtumFishHook", entityID, Atum.instance, 64, 1, false); + + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityBanditArcher.java b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditArcher.java index 853f694..10889c2 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityBanditArcher.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditArcher.java @@ -14,141 +14,141 @@ import net.minecraft.world.World; public class EntityBanditArcher extends EntityMob implements IRangedAttackMob { - private EntityAIArrowAttack aiArrowAttack = new EntityAIArrowAttack(this, 1.0D, 20, 60, 15.0F); - - public EntityBanditArcher(World par1World) { - super(par1World); - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_BOW)); - this.enchantEquipment(); - - this.setCanPickUpLoot(this.rand.nextFloat() < equipmentDropChances[this.worldObj.difficultySetting.getDifficultyId()]); - this.tasks.addTask(1, new EntityAISwimming(this)); - this.tasks.addTask(2, new EntityAIRestrictSun(this)); - this.tasks.addTask(3, new EntityAIWander(this, 0.8)); - - this.tasks.addTask(4, this.aiArrowAttack); - this.tasks.addTask(5, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); - this.tasks.addTask(6, new EntityAILookIdle(this)); - - this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, false)); - this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 2, true)); - - this.experienceValue = 6; - - } - - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(25.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.25D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); - } - - /** - * Checks if the entity's current position is a valid location to spawn this - * entity. - */ - @Override - public boolean getCanSpawnHere() { - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - } - - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - @Override - protected boolean isValidLightLevel() { - return true; - } - - /** - * Returns true if the newer Entity AI code should be run - */ - @Override - public boolean isAIEnabled() { - return true; - } - - @Override - public boolean attackEntityAsMob(Entity par1Entity) { - if (super.attackEntityAsMob(par1Entity)) { - return true; - } else { - return false; - } - } - - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEFINED; - } - - /** - * Makes entity wear random armor based on difficulty - */ - @Override - protected void addRandomArmor() { - } - - /** - * Attack the specified entity using a ranged attack. - */ - @Override - public void attackEntityWithRangedAttack(EntityLivingBase par1EntityLiving, float par2) { - EntityArrow entityarrow = new EntityArrow(this.worldObj, this, par1EntityLiving, 1.6F, (float) (14 - this.worldObj.difficultySetting.getDifficultyId() * 4)); - int i = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, this.getHeldItem()); - int j = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, this.getHeldItem()); - entityarrow.setDamage((double) (par2 * 2.0F) + this.rand.nextGaussian() * 0.25D + (double) ((float) this.worldObj.difficultySetting.getDifficultyId() * 0.11F)); - - if (i > 0) { - entityarrow.setDamage(entityarrow.getDamage() + (double) i * 0.5D + 0.5D); - } - - if (j > 0) { - entityarrow.setKnockbackStrength(j); - } - - if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, this.getHeldItem()) > 0) { - entityarrow.setFire(100); - } - - this.playSound("random.bow", 1.0F, 1.0F / (this.getRNG().nextFloat() * 0.4F + 0.8F)); - this.worldObj.spawnEntityInWorld(entityarrow); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - @Override - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - super.readEntityFromNBT(par1NBTTagCompound); - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity - * has recently been hit by a player. @param par2 - Level of Looting used to - * kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) { - if (rand.nextInt(20) == 0) { - int damage = (int) (AtumItems.ITEM_BOW.getMaxDamage() - rand.nextInt(AtumItems.ITEM_BOW.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(AtumItems.ITEM_BOW, 1, damage), 0.0F); - } - - if (rand.nextInt(10) == 0) { - int amount = rand.nextInt(2) + 1; - this.dropItem(Items.gold_nugget, amount); - } - - if (rand.nextInt(4) == 0) { - int amount = rand.nextInt(3) + 1; - this.dropItem(Items.arrow, amount); - } - } + private EntityAIArrowAttack aiArrowAttack = new EntityAIArrowAttack(this, 1.0D, 20, 60, 15.0F); + + public EntityBanditArcher(World par1World) { + super(par1World); + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_BOW)); + this.enchantEquipment(); + + this.setCanPickUpLoot(this.rand.nextFloat() < equipmentDropChances[this.worldObj.difficultySetting.getDifficultyId()]); + this.tasks.addTask(1, new EntityAISwimming(this)); + this.tasks.addTask(2, new EntityAIRestrictSun(this)); + this.tasks.addTask(3, new EntityAIWander(this, 0.8)); + + this.tasks.addTask(4, this.aiArrowAttack); + this.tasks.addTask(5, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); + this.tasks.addTask(6, new EntityAILookIdle(this)); + + this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, false)); + this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 2, true)); + + this.experienceValue = 6; + + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(25.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.25D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } + + /** + * Checks if the entity's current position is a valid location to spawn this + * entity. + */ + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } + + /** + * Checks to make sure the light is not too bright where the mob is spawning + */ + @Override + protected boolean isValidLightLevel() { + return true; + } + + /** + * Returns true if the newer Entity AI code should be run + */ + @Override + public boolean isAIEnabled() { + return true; + } + + @Override + public boolean attackEntityAsMob(Entity par1Entity) { + if (super.attackEntityAsMob(par1Entity)) { + return true; + } else { + return false; + } + } + + /** + * Get this Entity's EnumCreatureAttribute + */ + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } + + /** + * Makes entity wear random armor based on difficulty + */ + @Override + protected void addRandomArmor() { + } + + /** + * Attack the specified entity using a ranged attack. + */ + @Override + public void attackEntityWithRangedAttack(EntityLivingBase par1EntityLiving, float par2) { + EntityArrow entityarrow = new EntityArrow(this.worldObj, this, par1EntityLiving, 1.6F, (float) (14 - this.worldObj.difficultySetting.getDifficultyId() * 4)); + int i = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, this.getHeldItem()); + int j = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, this.getHeldItem()); + entityarrow.setDamage((double) (par2 * 2.0F) + this.rand.nextGaussian() * 0.25D + (double) ((float) this.worldObj.difficultySetting.getDifficultyId() * 0.11F)); + + if (i > 0) { + entityarrow.setDamage(entityarrow.getDamage() + (double) i * 0.5D + 0.5D); + } + + if (j > 0) { + entityarrow.setKnockbackStrength(j); + } + + if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, this.getHeldItem()) > 0) { + entityarrow.setFire(100); + } + + this.playSound("random.bow", 1.0F, 1.0F / (this.getRNG().nextFloat() * 0.4F + 0.8F)); + this.worldObj.spawnEntityInWorld(entityarrow); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + @Override + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + super.readEntityFromNBT(par1NBTTagCompound); + } + + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + if (rand.nextInt(20) == 0) { + int damage = (int) (AtumItems.ITEM_BOW.getMaxDamage() - rand.nextInt(AtumItems.ITEM_BOW.getMaxDamage()) * 0.5 + 20); + this.entityDropItem(new ItemStack(AtumItems.ITEM_BOW, 1, damage), 0.0F); + } + + if (rand.nextInt(10) == 0) { + int amount = rand.nextInt(2) + 1; + this.dropItem(Items.gold_nugget, amount); + } + + if (rand.nextInt(4) == 0) { + int amount = rand.nextInt(3) + 1; + this.dropItem(Items.arrow, amount); + } + } } \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarlord.java b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarlord.java index 52f26f5..c5dc52d 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarlord.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarlord.java @@ -11,92 +11,92 @@ public class EntityBanditWarlord extends EntityMob { - public EntityBanditWarlord(World par1World) { - super(par1World); - this.experienceValue = 16; + public EntityBanditWarlord(World par1World) { + super(par1World); + this.experienceValue = 16; - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCIMITAR)); - EnchantmentHelper.addRandomEnchantment(this.rand, this.getHeldItem(), 5 + this.worldObj.difficultySetting.getDifficultyId() * this.rand.nextInt(6)); + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCIMITAR)); + EnchantmentHelper.addRandomEnchantment(this.rand, this.getHeldItem(), 5 + this.worldObj.difficultySetting.getDifficultyId() * this.rand.nextInt(6)); - for (int i = 0; i < this.equipmentDropChances.length; ++i) { - this.equipmentDropChances[i] = 0.05F; - } - } + for (int i = 0; i < this.equipmentDropChances.length; ++i) { + this.equipmentDropChances[i] = 0.05F; + } + } - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(80.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); - } + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(80.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } - @Override - protected void addRandomArmor() { - } + @Override + protected void addRandomArmor() { + } - /** - * Checks if the entity's current position is a valid location to spawn this - * entity. - */ - @Override - public boolean getCanSpawnHere() { - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - } + /** + * Checks if the entity's current position is a valid location to spawn this + * entity. + */ + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } - /** - * Will return how many at most can spawn in a chunk at once. - */ - @Override - public int getMaxSpawnedInChunk() { - return 1; - } + /** + * Will return how many at most can spawn in a chunk at once. + */ + @Override + public int getMaxSpawnedInChunk() { + return 1; + } - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - @Override - protected boolean isValidLightLevel() { - return true; - } + /** + * Checks to make sure the light is not too bright where the mob is spawning + */ + @Override + protected boolean isValidLightLevel() { + return true; + } - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEFINED; - } + /** + * Get this Entity's EnumCreatureAttribute + */ + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity - * has recently been hit by a player. @param par2 - Level of Looting used to - * kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) { - if (rand.nextInt(20) == 0) { - int damage = (int) (AtumItems.ITEM_SCIMITAR.getMaxDamage() - rand.nextInt(AtumItems.ITEM_SCIMITAR.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(AtumItems.ITEM_SCIMITAR, 1, damage), 0.0F); - } + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + if (rand.nextInt(20) == 0) { + int damage = (int) (AtumItems.ITEM_SCIMITAR.getMaxDamage() - rand.nextInt(AtumItems.ITEM_SCIMITAR.getMaxDamage()) * 0.5 + 20); + this.entityDropItem(new ItemStack(AtumItems.ITEM_SCIMITAR, 1, damage), 0.0F); + } - if (rand.nextInt(4) == 0) { - int amount = rand.nextInt(3) + 3; - this.dropItem(Items.gold_nugget, amount); - } + if (rand.nextInt(4) == 0) { + int amount = rand.nextInt(3) + 3; + this.dropItem(Items.gold_nugget, amount); + } - if (rand.nextInt(4) == 0) { - int choice = rand.nextInt(4); - if (choice == 0) { - this.dropItem(AtumItems.wandererHelmet, 1); - } else if (choice == 1) { - this.dropItem(AtumItems.wandererChest, 1); - } else if (choice == 2) { - this.dropItem(AtumItems.wandererLegs, 1); - } else if (choice == 3) { - this.dropItem(AtumItems.wandererBoots, 1); - } - } - } + if (rand.nextInt(4) == 0) { + int choice = rand.nextInt(4); + if (choice == 0) { + this.dropItem(AtumItems.wandererHelmet, 1); + } else if (choice == 1) { + this.dropItem(AtumItems.wandererChest, 1); + } else if (choice == 2) { + this.dropItem(AtumItems.wandererLegs, 1); + } else if (choice == 3) { + this.dropItem(AtumItems.wandererBoots, 1); + } + } + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarrior.java b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarrior.java index 2f8892b..bd7402d 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarrior.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityBanditWarrior.java @@ -12,78 +12,78 @@ public class EntityBanditWarrior extends EntityMob { - public EntityBanditWarrior(World par1World) { - super(par1World); - this.experienceValue = 8; + public EntityBanditWarrior(World par1World) { + super(par1World); + this.experienceValue = 8; - super.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCIMITAR)); - this.enchantEquipment(); + super.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCIMITAR)); + this.enchantEquipment(); - for (int i = 0; i < this.equipmentDropChances.length; ++i) { - this.equipmentDropChances[i] = 0F; - } - } + for (int i = 0; i < this.equipmentDropChances.length; ++i) { + this.equipmentDropChances[i] = 0F; + } + } - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(30.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(3.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); - } + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(30.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(3.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } - public String getTexture() { - return "atum:textures/entities/BanditWarrior.png"; - } + public String getTexture() { + return "atum:textures/entities/BanditWarrior.png"; + } - @Override - public boolean getCanSpawnHere() { - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - } + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - @Override - protected boolean isValidLightLevel() { - return true; - } + /** + * Checks to make sure the light is not too bright where the mob is spawning + */ + @Override + protected boolean isValidLightLevel() { + return true; + } - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEFINED; - } + /** + * Get this Entity's EnumCreatureAttribute + */ + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } - /** - * Returns the amount of damage a mob should deal. - */ - public int getAttackStrength(Entity par1Entity) { - ItemStack itemstack = this.getHeldItem(); - float f = (float) (this.getMaxHealth() - this.getHealth()) / (float) this.getMaxHealth(); - int i = 3 + MathHelper.floor_float(f * 4.0F); + /** + * Returns the amount of damage a mob should deal. + */ + public int getAttackStrength(Entity par1Entity) { + ItemStack itemstack = this.getHeldItem(); + float f = (float) (this.getMaxHealth() - this.getHealth()) / (float) this.getMaxHealth(); + int i = 3 + MathHelper.floor_float(f * 4.0F); - return i; - } + return i; + } - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity - * has recently been hit by a player. @param par2 - Level of Looting used to - * kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) { - if (rand.nextInt(20) == 0) { - int damage = (int) (AtumItems.ITEM_SCIMITAR.getMaxDamage() - rand.nextInt(AtumItems.ITEM_SCIMITAR.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(AtumItems.ITEM_SCIMITAR, 1, damage), 0.0F); - } + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + if (rand.nextInt(20) == 0) { + int damage = (int) (AtumItems.ITEM_SCIMITAR.getMaxDamage() - rand.nextInt(AtumItems.ITEM_SCIMITAR.getMaxDamage()) * 0.5 + 20); + this.entityDropItem(new ItemStack(AtumItems.ITEM_SCIMITAR, 1, damage), 0.0F); + } - if (rand.nextInt(10) == 0) { - int amount = rand.nextInt(2) + 1; - this.dropItem(Items.gold_nugget, amount); - } - } + if (rand.nextInt(10) == 0) { + int amount = rand.nextInt(2) + 1; + this.dropItem(Items.gold_nugget, amount); + } + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityBarbarian.java b/src/main/java/com/teammetallurgy/atum/entity/EntityBarbarian.java index 48618bd..da02a8c 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityBarbarian.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityBarbarian.java @@ -12,66 +12,66 @@ public class EntityBarbarian extends EntityMob { - public EntityBarbarian(World par1World) { - super(par1World); - this.experienceValue = 9; + public EntityBarbarian(World par1World) { + super(par1World); + this.experienceValue = 9; - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_GREATSWORD)); - this.enchantEquipment(); + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_GREATSWORD)); + this.enchantEquipment(); - for (int i = 0; i < this.equipmentDropChances.length; ++i) { - this.equipmentDropChances[i] = 0F; - } - } + for (int i = 0; i < this.equipmentDropChances.length; ++i) { + this.equipmentDropChances[i] = 0F; + } + } - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(30.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); - } + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(30.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } - @Override - protected void addRandomArmor() { - } + @Override + protected void addRandomArmor() { + } - @Override - public boolean getCanSpawnHere() { - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - } + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } - @Override - protected boolean isValidLightLevel() { - return true; - } + @Override + protected boolean isValidLightLevel() { + return true; + } - @Override - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEFINED; - } + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } - @Override - protected void dropFewItems(boolean par1, int par2) { - if (rand.nextInt(20) == 0) { - int damage = (int) (AtumItems.ITEM_GREATSWORD.getMaxDamage() - rand.nextInt(AtumItems.ITEM_GREATSWORD.getMaxDamage()) * 0.5 + 20); - this.entityDropItem(new ItemStack(AtumItems.ITEM_GREATSWORD, 1, damage), 0.0F); - } + @Override + protected void dropFewItems(boolean par1, int par2) { + if (rand.nextInt(20) == 0) { + int damage = (int) (AtumItems.ITEM_GREATSWORD.getMaxDamage() - rand.nextInt(AtumItems.ITEM_GREATSWORD.getMaxDamage()) * 0.5 + 20); + this.entityDropItem(new ItemStack(AtumItems.ITEM_GREATSWORD, 1, damage), 0.0F); + } - if (rand.nextInt(4) == 0) { - int amount = rand.nextInt(2) + 1; - this.dropItem(Items.gold_nugget, amount); - } - } + if (rand.nextInt(4) == 0) { + int amount = rand.nextInt(2) + 1; + this.dropItem(Items.gold_nugget, amount); + } + } - @Override - protected void attackEntity(Entity mob, float par2) { + @Override + protected void attackEntity(Entity mob, float par2) { - if (!(mob instanceof EntityStoneSoldier || mob instanceof EntityPharaoh)) { - float j = 1.2f; - mob.addVelocity((double) (-MathHelper.sin(this.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), 0.1D, (double) (MathHelper.cos(this.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); - } - super.attackEntity(mob, par2); - } + if (!(mob instanceof EntityStoneSoldier || mob instanceof EntityPharaoh)) { + float j = 1.2f; + mob.addVelocity((double) (-MathHelper.sin(this.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), 0.1D, (double) (MathHelper.cos(this.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); + } + super.attackEntity(mob, par2); + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java b/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java index 7e3b983..02f159d 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java @@ -19,489 +19,489 @@ import net.minecraft.world.World; public class EntityDesertWolf extends EntityTameable { - private float field_70926_e; - private float field_70924_f; - - /** - * true is the wolf is wet else false - */ - private boolean isShaking; - private boolean field_70928_h; - - /** - * This time increases while wolf is shaking and emitting water particles. - */ - private float timeWolfIsShaking; - private float prevTimeWolfIsShaking; - - public EntityDesertWolf(World par1World) { - super(par1World); - this.dataWatcher.addObject(18, new Float(this.getHealth())); - this.dataWatcher.addObject(19, new Byte((byte) 0)); - this.setAngry(true); - this.experienceValue = 6; - - this.setSize(0.6F, 0.8F); - this.getNavigator().setAvoidsWater(true); - this.tasks.addTask(1, new EntityAISwimming(this)); - this.tasks.addTask(2, this.aiSit); - this.tasks.addTask(3, new EntityAILeapAtTarget(this, 0.4F)); - this.tasks.addTask(4, new EntityAIAttackOnCollide(this, 1, true)); - this.tasks.addTask(5, new EntityAIFollowOwner(this, 0.8, 10.0F, 2.0F)); - this.tasks.addTask(6, new EntityAIMate(this, 0.8)); - this.tasks.addTask(7, new EntityAIWander(this, this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).getAttributeValue())); - this.tasks.addTask(8, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); - this.tasks.addTask(9, new EntityAILookIdle(this)); - this.targetTasks.addTask(1, new EntityAIOwnerHurtByTarget(this)); - this.targetTasks.addTask(2, new EntityAIOwnerHurtTarget(this)); - this.targetTasks.addTask(3, new EntityAIHurtByTarget(this, true)); - this.targetTasks.addTask(4, new EntityAITargetNonTamed(this, EntityPlayer.class, 16, true)); - } - - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(8.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.43000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); - } - - /** - * Returns true if the newer Entity AI code should be run - */ - @Override - public boolean isAIEnabled() { - return true; - } - - /** - * Finds the closest player within 16 blocks to attack, or null if this - * Entity isn't interested in attacking (Animals, Spiders at day, peaceful - * PigZombies). - */ - @Override - protected Entity findPlayerToAttack() { - EntityPlayer entityplayer = this.worldObj.getClosestVulnerablePlayerToEntity(this, 16.0D); - return entityplayer != null && this.canEntityBeSeen(entityplayer) ? entityplayer : null; - } - - /** - * Sets the active target the Task system uses for tracking - */ - @Override - public void setAttackTarget(EntityLivingBase par1EntityLiving) { - super.setAttackTarget(par1EntityLiving); - - if (par1EntityLiving instanceof EntityPlayer) { - this.setAngry(true); - } - } - - /** - * main AI tick function, replaces updateEntityActionState - */ - @Override - protected void updateAITick() { - this.dataWatcher.updateObject(18, Float.valueOf(this.getHealth())); - } - - /** - * Checks if the entity's current position is a valid location to spawn this - * entity. - */ - @Override - public boolean getCanSpawnHere() { - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - } - - @Override - public void playSound(String par1Str, float par2, float par3) { - //this.playSound("mob.wolf.step", 0.15F, 1.0F); - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - @Override - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - super.writeEntityToNBT(par1NBTTagCompound); - par1NBTTagCompound.setBoolean("Angry", this.isAngry()); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - @Override - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - super.readEntityFromNBT(par1NBTTagCompound); - this.setAngry(par1NBTTagCompound.getBoolean("Angry")); - - } - - /** - * Determines if an entity can be despawned, used on idle far away entities - */ - @Override - protected boolean canDespawn() { - return this.isAngry(); - } - - /** - * Returns the sound this mob makes while it's alive. - */ - @Override - protected String getLivingSound() { - return this.isAngry() ? "mob.wolf.growl" : (this.rand.nextInt(3) == 0 ? (this.isTamed() && this.dataWatcher.getWatchableObjectInt(18) < 10 ? "mob.wolf.whine" : "mob.wolf.panting") : "mob.wolf.bark"); - } - - /** - * Returns the sound this mob makes when it is hurt. - */ - @Override - protected String getHurtSound() { - return "mob.wolf.hurt"; - } - - /** - * Returns the sound this mob makes on death. - */ - @Override - protected String getDeathSound() { - return "mob.wolf.death"; - } - - /** - * Returns the volume for the sounds this mob makes. - */ - @Override - protected float getSoundVolume() { - return 0.4F; - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity - * has recently been hit by a player. @param par2 - Level of Looting used to - * kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) { - if (rand.nextInt(10) == 0) { - this.dropItem(Items.bone, 1); - } - if (rand.nextInt(4) == 0) { - int amount = rand.nextInt(2) + 1; - this.dropItem(AtumItems.ITEM_PELT, amount); - } - } - - /** - * Called frequently so the entity can update its state every tick as - * required. For example, zombies and skeletons use this to react to - * sunlight and start to burn. - */ - @Override - public void onLivingUpdate() { - super.onLivingUpdate(); - - if (!this.worldObj.isRemote && this.isShaking && !this.field_70928_h && !this.hasPath() && this.onGround) { - this.field_70928_h = true; - this.timeWolfIsShaking = 0.0F; - this.prevTimeWolfIsShaking = 0.0F; - this.worldObj.setEntityState(this, (byte) 8); - } - } - - /** - * Called to update the entity's position/logic. - */ - @Override - public void onUpdate() { - super.onUpdate(); - - if (!this.worldObj.isRemote && this.worldObj.difficultySetting.getDifficultyId() == 0) { - this.setDead(); - return; - } - - this.field_70924_f = this.field_70926_e; - - if (this.func_70922_bv()) { - this.field_70926_e += (1.0F - this.field_70926_e) * 0.4F; - } else { - this.field_70926_e += (0.0F - this.field_70926_e) * 0.4F; - } - - if (this.func_70922_bv()) { - this.numTicksToChaseTarget = 10; - } - - if (this.isWet()) { - this.isShaking = true; - this.field_70928_h = false; - this.timeWolfIsShaking = 0.0F; - this.prevTimeWolfIsShaking = 0.0F; - } else if ((this.isShaking || this.field_70928_h) && this.field_70928_h) { - if (this.timeWolfIsShaking == 0.0F) { - this.playSound("mob.wolf.shake", this.getSoundVolume(), (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F); - } - - this.prevTimeWolfIsShaking = this.timeWolfIsShaking; - this.timeWolfIsShaking += 0.05F; - - if (this.prevTimeWolfIsShaking >= 2.0F) { - this.isShaking = false; - this.field_70928_h = false; - this.prevTimeWolfIsShaking = 0.0F; - this.timeWolfIsShaking = 0.0F; - } - - if (this.timeWolfIsShaking > 0.4F) { - float f = (float) this.boundingBox.minY; - int i = (int) (MathHelper.sin((this.timeWolfIsShaking - 0.4F) * (float) Math.PI) * 7.0F); - - for (int j = 0; j < i; ++j) { - float f1 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; - float f2 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; - this.worldObj.spawnParticle("splash", this.posX + (double) f1, (double) (f + 0.8F), this.posZ + (double) f2, this.motionX, this.motionY, this.motionZ); - } - } - } - } - - @SideOnly(Side.CLIENT) - public boolean getWolfShaking() { - return this.isShaking; - } - - @SideOnly(Side.CLIENT) - /** - * Used when calculating the amount of shading to apply while the wolf is shaking. - */ - public float getShadingWhileShaking(float par1) { - return 0.75F + (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * par1) / 2.0F * 0.25F; - } - - @SideOnly(Side.CLIENT) - public float getShakeAngle(float par1, float par2) { - float f2 = (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * par1 + par2) / 1.8F; - - if (f2 < 0.0F) { - f2 = 0.0F; - } else if (f2 > 1.0F) { - f2 = 1.0F; - } - - return MathHelper.sin(f2 * (float) Math.PI) * MathHelper.sin(f2 * (float) Math.PI * 11.0F) * 0.15F * (float) Math.PI; - } - - @SideOnly(Side.CLIENT) - public float getInterestedAngle(float par1) { - return (this.field_70924_f + (this.field_70926_e - this.field_70924_f) * par1) * 0.15F * (float) Math.PI; - } - - @Override - public float getEyeHeight() { - return this.height * 0.8F; - } - - /** - * The speed it takes to move the entityliving's rotationPitch through the - * faceEntity method. This is only currently use in wolves. - */ - @Override - public int getVerticalFaceSpeed() { - return this.isSitting() ? 20 : super.getVerticalFaceSpeed(); - } - - /** - * Called when the entity is attacked. - */ - @Override - public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { - if (this.isEntityInvulnerable()) { - return false; - } else { - Entity entity = par1DamageSource.getEntity(); - this.aiSit.setSitting(false); - - if (entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) { - par2 = (par2 + 1) / 2; - } - - return super.attackEntityFrom(par1DamageSource, par2); - } - } - - @Override - public boolean attackEntityAsMob(Entity par1Entity) { - int i = this.isTamed() ? 4 : 2; - return par1Entity.attackEntityFrom(DamageSource.causeMobDamage(this), i); - } - - /** - * Called when a player interacts with a mob. e.g. gets milk from a cow, - * gets into the saddle on a pig. - */ - @Override - public boolean interact(EntityPlayer par1EntityPlayer) { - ItemStack itemstack = par1EntityPlayer.inventory.getCurrentItem(); - - if (this.isTamed()) { - if (itemstack != null) { - if (itemstack.getItem() instanceof ItemFood) { - ItemFood itemfood = (ItemFood) itemstack.getItem(); - - if (itemfood.isWolfsFavoriteMeat() && this.dataWatcher.getWatchableObjectInt(18) < 20) { - if (!par1EntityPlayer.capabilities.isCreativeMode) { - --itemstack.stackSize; - } - - this.heal(itemfood.func_150905_g(itemstack)); - - if (itemstack.stackSize <= 0) { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); - } - - return true; - } - } - } - - if (this.func_152114_e(par1EntityPlayer) && !this.worldObj.isRemote && !this.isBreedingItem(itemstack)) { - this.aiSit.setSitting(!this.isSitting()); - this.isJumping = false; - this.setPathToEntity((PathEntity) null); - } - } else if (itemstack != null && itemstack.getItem() == Items.bone && !this.isAngry()) { - if (!par1EntityPlayer.capabilities.isCreativeMode) { - --itemstack.stackSize; - } - - if (itemstack.stackSize <= 0) { - par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); - } - - if (!this.worldObj.isRemote) { - if (this.rand.nextInt(3) == 0) { - this.setTamed(true); - this.setPathToEntity((PathEntity) null); - this.setAttackTarget((EntityLiving) null); - this.aiSit.setSitting(true); - this.func_152115_b(par1EntityPlayer.getUniqueID().toString()); - this.playTameEffect(true); - this.worldObj.setEntityState(this, (byte) 7); - } else { - this.playTameEffect(false); - this.worldObj.setEntityState(this, (byte) 6); - } - } - - return true; - } - - return super.interact(par1EntityPlayer); - } - - @SideOnly(Side.CLIENT) - @Override - public void handleHealthUpdate(byte par1) { - if (par1 == 8) { - this.field_70928_h = true; - this.timeWolfIsShaking = 0.0F; - this.prevTimeWolfIsShaking = 0.0F; - } else { - super.handleHealthUpdate(par1); - } - } - - @SideOnly(Side.CLIENT) - public float getTailRotation() { - return this.isAngry() ? 1.5393804F : (this.isTamed() ? (0.55F - (float) (20 - this.dataWatcher.getWatchableObjectInt(18)) * 0.02F) * (float) Math.PI : ((float) Math.PI / 5F)); - } - - /** - * Checks if the parameter is an item which this animal can be fed to breed - * it (wheat, carrots or seeds depending on the animal type) - */ - @Override - public boolean isBreedingItem(ItemStack par1ItemStack) { - return par1ItemStack == null ? false : (!(par1ItemStack.getItem() instanceof ItemFood) ? false : ((ItemFood) par1ItemStack.getItem()).isWolfsFavoriteMeat()); - } - - /** - * Will return how many at most can spawn in a chunk at once. - */ - @Override - public int getMaxSpawnedInChunk() { - return 8; - } - - /** - * Determines whether this wolf is angry or not. - */ - public boolean isAngry() { - return (this.dataWatcher.getWatchableObjectByte(16) & 2) != 0; - } - - /** - * Sets whether this wolf is angry or not. - */ - public void setAngry(boolean par1) { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 2))); - } else { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -3))); - } - } - - public void func_70918_i(boolean par1) { - byte b0 = this.dataWatcher.getWatchableObjectByte(19); - - if (par1) { - this.dataWatcher.updateObject(19, Byte.valueOf((byte) 1)); - } else { - this.dataWatcher.updateObject(19, Byte.valueOf((byte) 0)); - } - } - - /** - * Returns true if the mob is currently able to mate with the specified mob. - */ - @Override - public boolean canMateWith(EntityAnimal par1EntityAnimal) { - if (par1EntityAnimal == this) { - return false; - } else if (!this.isTamed()) { - return false; - } else if (!(par1EntityAnimal instanceof EntityDesertWolf)) { - return false; - } else { - EntityDesertWolf entitywolf = (EntityDesertWolf) par1EntityAnimal; - return !entitywolf.isTamed() ? false : (entitywolf.isSitting() ? false : this.isInLove() && entitywolf.isInLove()); - } - } - - public boolean func_70922_bv() { - return this.dataWatcher.getWatchableObjectByte(19) == 1; - } - - @Override - public EntityAgeable createChild(EntityAgeable par1EntityAgeable) { - EntityDesertWolf entitywolf = new EntityDesertWolf(this.worldObj); - String s = this.func_152113_b(); - - if (s != null && s.trim().length() > 0) { - entitywolf.func_152115_b(s); - entitywolf.setTamed(true); - } - - return entitywolf; - } - - @Override - public EntityLivingBase getOwner() { - return null; - } + private float field_70926_e; + private float field_70924_f; + + /** + * true is the wolf is wet else false + */ + private boolean isShaking; + private boolean field_70928_h; + + /** + * This time increases while wolf is shaking and emitting water particles. + */ + private float timeWolfIsShaking; + private float prevTimeWolfIsShaking; + + public EntityDesertWolf(World par1World) { + super(par1World); + this.dataWatcher.addObject(18, new Float(this.getHealth())); + this.dataWatcher.addObject(19, new Byte((byte) 0)); + this.setAngry(true); + this.experienceValue = 6; + + this.setSize(0.6F, 0.8F); + this.getNavigator().setAvoidsWater(true); + this.tasks.addTask(1, new EntityAISwimming(this)); + this.tasks.addTask(2, this.aiSit); + this.tasks.addTask(3, new EntityAILeapAtTarget(this, 0.4F)); + this.tasks.addTask(4, new EntityAIAttackOnCollide(this, 1, true)); + this.tasks.addTask(5, new EntityAIFollowOwner(this, 0.8, 10.0F, 2.0F)); + this.tasks.addTask(6, new EntityAIMate(this, 0.8)); + this.tasks.addTask(7, new EntityAIWander(this, this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).getAttributeValue())); + this.tasks.addTask(8, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); + this.tasks.addTask(9, new EntityAILookIdle(this)); + this.targetTasks.addTask(1, new EntityAIOwnerHurtByTarget(this)); + this.targetTasks.addTask(2, new EntityAIOwnerHurtTarget(this)); + this.targetTasks.addTask(3, new EntityAIHurtByTarget(this, true)); + this.targetTasks.addTask(4, new EntityAITargetNonTamed(this, EntityPlayer.class, 16, true)); + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(8.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.43000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } + + /** + * Returns true if the newer Entity AI code should be run + */ + @Override + public boolean isAIEnabled() { + return true; + } + + /** + * Finds the closest player within 16 blocks to attack, or null if this + * Entity isn't interested in attacking (Animals, Spiders at day, peaceful + * PigZombies). + */ + @Override + protected Entity findPlayerToAttack() { + EntityPlayer entityplayer = this.worldObj.getClosestVulnerablePlayerToEntity(this, 16.0D); + return entityplayer != null && this.canEntityBeSeen(entityplayer) ? entityplayer : null; + } + + /** + * Sets the active target the Task system uses for tracking + */ + @Override + public void setAttackTarget(EntityLivingBase par1EntityLiving) { + super.setAttackTarget(par1EntityLiving); + + if (par1EntityLiving instanceof EntityPlayer) { + this.setAngry(true); + } + } + + /** + * main AI tick function, replaces updateEntityActionState + */ + @Override + protected void updateAITick() { + this.dataWatcher.updateObject(18, Float.valueOf(this.getHealth())); + } + + /** + * Checks if the entity's current position is a valid location to spawn this + * entity. + */ + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } + + @Override + public void playSound(String par1Str, float par2, float par3) { + //this.playSound("mob.wolf.step", 0.15F, 1.0F); + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + @Override + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + super.writeEntityToNBT(par1NBTTagCompound); + par1NBTTagCompound.setBoolean("Angry", this.isAngry()); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + @Override + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + super.readEntityFromNBT(par1NBTTagCompound); + this.setAngry(par1NBTTagCompound.getBoolean("Angry")); + + } + + /** + * Determines if an entity can be despawned, used on idle far away entities + */ + @Override + protected boolean canDespawn() { + return this.isAngry(); + } + + /** + * Returns the sound this mob makes while it's alive. + */ + @Override + protected String getLivingSound() { + return this.isAngry() ? "mob.wolf.growl" : (this.rand.nextInt(3) == 0 ? (this.isTamed() && this.dataWatcher.getWatchableObjectInt(18) < 10 ? "mob.wolf.whine" : "mob.wolf.panting") : "mob.wolf.bark"); + } + + /** + * Returns the sound this mob makes when it is hurt. + */ + @Override + protected String getHurtSound() { + return "mob.wolf.hurt"; + } + + /** + * Returns the sound this mob makes on death. + */ + @Override + protected String getDeathSound() { + return "mob.wolf.death"; + } + + /** + * Returns the volume for the sounds this mob makes. + */ + @Override + protected float getSoundVolume() { + return 0.4F; + } + + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + if (rand.nextInt(10) == 0) { + this.dropItem(Items.bone, 1); + } + if (rand.nextInt(4) == 0) { + int amount = rand.nextInt(2) + 1; + this.dropItem(AtumItems.ITEM_PELT, amount); + } + } + + /** + * Called frequently so the entity can update its state every tick as + * required. For example, zombies and skeletons use this to react to + * sunlight and start to burn. + */ + @Override + public void onLivingUpdate() { + super.onLivingUpdate(); + + if (!this.worldObj.isRemote && this.isShaking && !this.field_70928_h && !this.hasPath() && this.onGround) { + this.field_70928_h = true; + this.timeWolfIsShaking = 0.0F; + this.prevTimeWolfIsShaking = 0.0F; + this.worldObj.setEntityState(this, (byte) 8); + } + } + + /** + * Called to update the entity's position/logic. + */ + @Override + public void onUpdate() { + super.onUpdate(); + + if (!this.worldObj.isRemote && this.worldObj.difficultySetting.getDifficultyId() == 0) { + this.setDead(); + return; + } + + this.field_70924_f = this.field_70926_e; + + if (this.func_70922_bv()) { + this.field_70926_e += (1.0F - this.field_70926_e) * 0.4F; + } else { + this.field_70926_e += (0.0F - this.field_70926_e) * 0.4F; + } + + if (this.func_70922_bv()) { + this.numTicksToChaseTarget = 10; + } + + if (this.isWet()) { + this.isShaking = true; + this.field_70928_h = false; + this.timeWolfIsShaking = 0.0F; + this.prevTimeWolfIsShaking = 0.0F; + } else if ((this.isShaking || this.field_70928_h) && this.field_70928_h) { + if (this.timeWolfIsShaking == 0.0F) { + this.playSound("mob.wolf.shake", this.getSoundVolume(), (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F); + } + + this.prevTimeWolfIsShaking = this.timeWolfIsShaking; + this.timeWolfIsShaking += 0.05F; + + if (this.prevTimeWolfIsShaking >= 2.0F) { + this.isShaking = false; + this.field_70928_h = false; + this.prevTimeWolfIsShaking = 0.0F; + this.timeWolfIsShaking = 0.0F; + } + + if (this.timeWolfIsShaking > 0.4F) { + float f = (float) this.boundingBox.minY; + int i = (int) (MathHelper.sin((this.timeWolfIsShaking - 0.4F) * (float) Math.PI) * 7.0F); + + for (int j = 0; j < i; ++j) { + float f1 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; + float f2 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; + this.worldObj.spawnParticle("splash", this.posX + (double) f1, (double) (f + 0.8F), this.posZ + (double) f2, this.motionX, this.motionY, this.motionZ); + } + } + } + } + + @SideOnly(Side.CLIENT) + public boolean getWolfShaking() { + return this.isShaking; + } + + @SideOnly(Side.CLIENT) + /** + * Used when calculating the amount of shading to apply while the wolf is shaking. + */ + public float getShadingWhileShaking(float par1) { + return 0.75F + (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * par1) / 2.0F * 0.25F; + } + + @SideOnly(Side.CLIENT) + public float getShakeAngle(float par1, float par2) { + float f2 = (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * par1 + par2) / 1.8F; + + if (f2 < 0.0F) { + f2 = 0.0F; + } else if (f2 > 1.0F) { + f2 = 1.0F; + } + + return MathHelper.sin(f2 * (float) Math.PI) * MathHelper.sin(f2 * (float) Math.PI * 11.0F) * 0.15F * (float) Math.PI; + } + + @SideOnly(Side.CLIENT) + public float getInterestedAngle(float par1) { + return (this.field_70924_f + (this.field_70926_e - this.field_70924_f) * par1) * 0.15F * (float) Math.PI; + } + + @Override + public float getEyeHeight() { + return this.height * 0.8F; + } + + /** + * The speed it takes to move the entityliving's rotationPitch through the + * faceEntity method. This is only currently use in wolves. + */ + @Override + public int getVerticalFaceSpeed() { + return this.isSitting() ? 20 : super.getVerticalFaceSpeed(); + } + + /** + * Called when the entity is attacked. + */ + @Override + public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { + if (this.isEntityInvulnerable()) { + return false; + } else { + Entity entity = par1DamageSource.getEntity(); + this.aiSit.setSitting(false); + + if (entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) { + par2 = (par2 + 1) / 2; + } + + return super.attackEntityFrom(par1DamageSource, par2); + } + } + + @Override + public boolean attackEntityAsMob(Entity par1Entity) { + int i = this.isTamed() ? 4 : 2; + return par1Entity.attackEntityFrom(DamageSource.causeMobDamage(this), i); + } + + /** + * Called when a player interacts with a mob. e.g. gets milk from a cow, + * gets into the saddle on a pig. + */ + @Override + public boolean interact(EntityPlayer par1EntityPlayer) { + ItemStack itemstack = par1EntityPlayer.inventory.getCurrentItem(); + + if (this.isTamed()) { + if (itemstack != null) { + if (itemstack.getItem() instanceof ItemFood) { + ItemFood itemfood = (ItemFood) itemstack.getItem(); + + if (itemfood.isWolfsFavoriteMeat() && this.dataWatcher.getWatchableObjectInt(18) < 20) { + if (!par1EntityPlayer.capabilities.isCreativeMode) { + --itemstack.stackSize; + } + + this.heal(itemfood.func_150905_g(itemstack)); + + if (itemstack.stackSize <= 0) { + par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); + } + + return true; + } + } + } + + if (this.func_152114_e(par1EntityPlayer) && !this.worldObj.isRemote && !this.isBreedingItem(itemstack)) { + this.aiSit.setSitting(!this.isSitting()); + this.isJumping = false; + this.setPathToEntity((PathEntity) null); + } + } else if (itemstack != null && itemstack.getItem() == Items.bone && !this.isAngry()) { + if (!par1EntityPlayer.capabilities.isCreativeMode) { + --itemstack.stackSize; + } + + if (itemstack.stackSize <= 0) { + par1EntityPlayer.inventory.setInventorySlotContents(par1EntityPlayer.inventory.currentItem, (ItemStack) null); + } + + if (!this.worldObj.isRemote) { + if (this.rand.nextInt(3) == 0) { + this.setTamed(true); + this.setPathToEntity((PathEntity) null); + this.setAttackTarget((EntityLiving) null); + this.aiSit.setSitting(true); + this.func_152115_b(par1EntityPlayer.getUniqueID().toString()); + this.playTameEffect(true); + this.worldObj.setEntityState(this, (byte) 7); + } else { + this.playTameEffect(false); + this.worldObj.setEntityState(this, (byte) 6); + } + } + + return true; + } + + return super.interact(par1EntityPlayer); + } + + @SideOnly(Side.CLIENT) + @Override + public void handleHealthUpdate(byte par1) { + if (par1 == 8) { + this.field_70928_h = true; + this.timeWolfIsShaking = 0.0F; + this.prevTimeWolfIsShaking = 0.0F; + } else { + super.handleHealthUpdate(par1); + } + } + + @SideOnly(Side.CLIENT) + public float getTailRotation() { + return this.isAngry() ? 1.5393804F : (this.isTamed() ? (0.55F - (float) (20 - this.dataWatcher.getWatchableObjectInt(18)) * 0.02F) * (float) Math.PI : ((float) Math.PI / 5F)); + } + + /** + * Checks if the parameter is an item which this animal can be fed to breed + * it (wheat, carrots or seeds depending on the animal type) + */ + @Override + public boolean isBreedingItem(ItemStack par1ItemStack) { + return par1ItemStack == null ? false : (!(par1ItemStack.getItem() instanceof ItemFood) ? false : ((ItemFood) par1ItemStack.getItem()).isWolfsFavoriteMeat()); + } + + /** + * Will return how many at most can spawn in a chunk at once. + */ + @Override + public int getMaxSpawnedInChunk() { + return 8; + } + + /** + * Determines whether this wolf is angry or not. + */ + public boolean isAngry() { + return (this.dataWatcher.getWatchableObjectByte(16) & 2) != 0; + } + + /** + * Sets whether this wolf is angry or not. + */ + public void setAngry(boolean par1) { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + + if (par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 2))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -3))); + } + } + + public void func_70918_i(boolean par1) { + byte b0 = this.dataWatcher.getWatchableObjectByte(19); + + if (par1) { + this.dataWatcher.updateObject(19, Byte.valueOf((byte) 1)); + } else { + this.dataWatcher.updateObject(19, Byte.valueOf((byte) 0)); + } + } + + /** + * Returns true if the mob is currently able to mate with the specified mob. + */ + @Override + public boolean canMateWith(EntityAnimal par1EntityAnimal) { + if (par1EntityAnimal == this) { + return false; + } else if (!this.isTamed()) { + return false; + } else if (!(par1EntityAnimal instanceof EntityDesertWolf)) { + return false; + } else { + EntityDesertWolf entitywolf = (EntityDesertWolf) par1EntityAnimal; + return !entitywolf.isTamed() ? false : (entitywolf.isSitting() ? false : this.isInLove() && entitywolf.isInLove()); + } + } + + public boolean func_70922_bv() { + return this.dataWatcher.getWatchableObjectByte(19) == 1; + } + + @Override + public EntityAgeable createChild(EntityAgeable par1EntityAgeable) { + EntityDesertWolf entitywolf = new EntityDesertWolf(this.worldObj); + String s = this.func_152113_b(); + + if (s != null && s.trim().length() > 0) { + entitywolf.func_152115_b(s); + entitywolf.setTamed(true); + } + + return entitywolf; + } + + @Override + public EntityLivingBase getOwner() { + return null; + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityDustySkeleton.java b/src/main/java/com/teammetallurgy/atum/entity/EntityDustySkeleton.java index 737bebf..4e6ca12 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityDustySkeleton.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityDustySkeleton.java @@ -9,63 +9,63 @@ public class EntityDustySkeleton extends EntityMob { - boolean onFire = false; + boolean onFire = false; - public EntityDustySkeleton(World par1World) { - super(par1World); - this.isImmuneToFire = true; - this.experienceValue = 6; - } + public EntityDustySkeleton(World par1World) { + super(par1World); + this.isImmuneToFire = true; + this.experienceValue = 6; + } - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20.0D); - double speed = 0.53000000417232513D; - if (this.onFire) { - speed = 0.9D; - } - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(speed); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); - } + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20.0D); + double speed = 0.53000000417232513D; + if (this.onFire) { + speed = 0.9D; + } + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(speed); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } - @Override - public void onUpdate() { - super.onUpdate(); - if (this.isBurning()) { - this.onFire = true; - this.applyEntityAttributes(); - } - } + @Override + public void onUpdate() { + super.onUpdate(); + if (this.isBurning()) { + this.onFire = true; + this.applyEntityAttributes(); + } + } - @Override - public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { - return super.attackEntityFrom(par1DamageSource, par2); - } + @Override + public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { + return super.attackEntityFrom(par1DamageSource, par2); + } - @Override - public boolean getCanSpawnHere() { - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - } + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } - @Override - protected boolean isValidLightLevel() { - return true; - } + @Override + protected boolean isValidLightLevel() { + return true; + } - @Override - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEAD; - } + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEAD; + } - @Override - protected void dropFewItems(boolean par1, int par2) { - switch (this.rand.nextInt(4)) { - case 0: - int amount = rand.nextInt(2) + 1; - this.dropItem(Items.bone, amount); - break; - } - } + @Override + protected void dropFewItems(boolean par1, int par2) { + switch (this.rand.nextInt(4)) { + case 0: + int amount = rand.nextInt(2) + 1; + this.dropItem(Items.bone, amount); + break; + } + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java b/src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java index 5a6ab56..830eec2 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java @@ -15,124 +15,124 @@ import net.minecraftforge.common.ForgeHooks; public class EntityGhost extends EntityMob { - private int cycleHeight = 0; - private int cycleTime = 100; - - public EntityGhost(World par1World) { - super(par1World); - this.experienceValue = 6; - cycleTime = (int) ((Math.random() * 40) + 80); - cycleHeight = (int) (Math.random() * cycleTime); - } - - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(10.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(1.04D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(2.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); - } - - /** - * Returns true if the newer Entity AI code should be run - */ - @Override - public boolean isAIEnabled() { - return false; - } - - public void onLivingUpdate() { - cycleHeight = (cycleHeight + 1) % cycleTime; - - super.onLivingUpdate(); - } - - /** - * Checks if the entity's current position is a valid location to spawn this - * entity. - */ - @Override - public boolean getCanSpawnHere() { - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - } - - /** - * Checks to make sure the light is not too bright where the mob is spawning - */ - @Override - protected boolean isValidLightLevel() { - return true; - } - - @Override - protected void jump() { - this.motionY = 0.56999998688697815D; - - if (this.isPotionActive(Potion.jump)) { - this.motionY += (double) ((float) (this.getActivePotionEffect(Potion.jump).getAmplifier() + 1) * 0.1F); - } - - if (this.isSprinting()) { - float f = this.rotationYaw * 0.017453292F; - this.motionX -= (double) (MathHelper.sin(f) * 0.2F); - this.motionZ += (double) (MathHelper.cos(f) * 0.2F); - } - - this.isAirBorne = true; - ForgeHooks.onLivingJump(this); - } - - /** - * Plays step sound at given x, y, z for the entity - */ - @Override - protected void func_145780_a(int par1, int par2, int par3, Block par4) { - } - - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEAD; - } - - @Override - public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { - return super.attackEntityFrom(par1DamageSource, par2); - } - - /** - * Basic mob attack. Default to touch of death in EntityCreature. Overridden - * by each mob to define their attack. - */ - @Override - protected void attackEntity(Entity par1Entity, float par2) { - if (this.attackTime <= 0 && par2 < 2.0F && par1Entity.boundingBox.maxY > this.boundingBox.minY && par1Entity.boundingBox.minY < this.boundingBox.maxY) { - this.attackTime = 20; - this.attackEntityAsMob(par1Entity); - if (Math.random() > 0.75 && par1Entity instanceof EntityLiving) { - EntityLiving e = (EntityLiving) par1Entity; - e.addPotionEffect(new PotionEffect(2, 100, 2)); - } - } - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity - * has recently been hit by a player. @param par2 - Level of Looting used to - * kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) { - if (this.rand.nextInt(4) == 0) { - int amount = rand.nextInt(3) + 1; - this.dropItem(AtumItems.ITEM_ECTOPLASM, amount); - } - } - - public double getFloatingHeight() { - return Math.cos(2 * Math.PI * (cycleHeight / (double) cycleTime)) / 3.0F; - } + private int cycleHeight = 0; + private int cycleTime = 100; + + public EntityGhost(World par1World) { + super(par1World); + this.experienceValue = 6; + cycleTime = (int) ((Math.random() * 40) + 80); + cycleHeight = (int) (Math.random() * cycleTime); + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(10.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(1.04D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(2.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } + + /** + * Returns true if the newer Entity AI code should be run + */ + @Override + public boolean isAIEnabled() { + return false; + } + + public void onLivingUpdate() { + cycleHeight = (cycleHeight + 1) % cycleTime; + + super.onLivingUpdate(); + } + + /** + * Checks if the entity's current position is a valid location to spawn this + * entity. + */ + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } + + /** + * Checks to make sure the light is not too bright where the mob is spawning + */ + @Override + protected boolean isValidLightLevel() { + return true; + } + + @Override + protected void jump() { + this.motionY = 0.56999998688697815D; + + if (this.isPotionActive(Potion.jump)) { + this.motionY += (double) ((float) (this.getActivePotionEffect(Potion.jump).getAmplifier() + 1) * 0.1F); + } + + if (this.isSprinting()) { + float f = this.rotationYaw * 0.017453292F; + this.motionX -= (double) (MathHelper.sin(f) * 0.2F); + this.motionZ += (double) (MathHelper.cos(f) * 0.2F); + } + + this.isAirBorne = true; + ForgeHooks.onLivingJump(this); + } + + /** + * Plays step sound at given x, y, z for the entity + */ + @Override + protected void func_145780_a(int par1, int par2, int par3, Block par4) { + } + + /** + * Get this Entity's EnumCreatureAttribute + */ + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEAD; + } + + @Override + public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { + return super.attackEntityFrom(par1DamageSource, par2); + } + + /** + * Basic mob attack. Default to touch of death in EntityCreature. Overridden + * by each mob to define their attack. + */ + @Override + protected void attackEntity(Entity par1Entity, float par2) { + if (this.attackTime <= 0 && par2 < 2.0F && par1Entity.boundingBox.maxY > this.boundingBox.minY && par1Entity.boundingBox.minY < this.boundingBox.maxY) { + this.attackTime = 20; + this.attackEntityAsMob(par1Entity); + if (Math.random() > 0.75 && par1Entity instanceof EntityLiving) { + EntityLiving e = (EntityLiving) par1Entity; + e.addPotionEffect(new PotionEffect(2, 100, 2)); + } + } + } + + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + if (this.rand.nextInt(4) == 0) { + int amount = rand.nextInt(3) + 1; + this.dropItem(AtumItems.ITEM_ECTOPLASM, amount); + } + } + + public double getFloatingHeight() { + return Math.cos(2 * Math.PI * (cycleHeight / (double) cycleTime)) / 3.0F; + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityMummy.java b/src/main/java/com/teammetallurgy/atum/entity/EntityMummy.java index c339631..3aef389 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityMummy.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityMummy.java @@ -11,66 +11,66 @@ public class EntityMummy extends EntityMob { - public EntityMummy(World par1World) { - super(par1World); - this.experienceValue = 8; - } + public EntityMummy(World par1World) { + super(par1World); + this.experienceValue = 8; + } - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(40.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(2.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); - } + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(40.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(2.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } - @Override - public boolean getCanSpawnHere() { - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - } + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } - @Override - protected boolean isValidLightLevel() { - return true; - } + @Override + protected boolean isValidLightLevel() { + return true; + } - @Override - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEAD; - } + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEAD; + } - @Override - public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { - if (par1DamageSource.isFireDamage()) { - par2 += 1; - } - if (this.isBurning()) { - par2 = (int) (par2 * 1.5); - } + @Override + public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { + if (par1DamageSource.isFireDamage()) { + par2 += 1; + } + if (this.isBurning()) { + par2 = (int) (par2 * 1.5); + } - return super.attackEntityFrom(par1DamageSource, par2); - } + return super.attackEntityFrom(par1DamageSource, par2); + } - @Override - public boolean attackEntityAsMob(Entity par1Entity) { - boolean flag = super.attackEntityAsMob(par1Entity); + @Override + public boolean attackEntityAsMob(Entity par1Entity) { + boolean flag = super.attackEntityAsMob(par1Entity); - if (flag && this.isBurning() && this.rand.nextFloat() < (float) this.worldObj.difficultySetting.getDifficultyId() * 0.4F) { - par1Entity.setFire(2 * this.worldObj.difficultySetting.getDifficultyId()); - } + if (flag && this.isBurning() && this.rand.nextFloat() < (float) this.worldObj.difficultySetting.getDifficultyId() * 0.4F) { + par1Entity.setFire(2 * this.worldObj.difficultySetting.getDifficultyId()); + } - return flag; - } + return flag; + } - @Override - protected void dropFewItems(boolean par1, int par2) { - if (rand.nextInt(4) == 0) { - this.dropItem(Items.rotten_flesh, 1); - } - if (rand.nextInt(4) == 0) { - int amount = rand.nextInt(2) + 1; - this.dropItem(AtumItems.ITEM_SCRAP, amount); - } - } + @Override + protected void dropFewItems(boolean par1, int par2) { + if (rand.nextInt(4) == 0) { + this.dropItem(Items.rotten_flesh, 1); + } + if (rand.nextInt(4) == 0) { + int amount = rand.nextInt(2) + 1; + this.dropItem(AtumItems.ITEM_SCRAP, amount); + } + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java b/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java index b96b8a5..9f9445a 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java @@ -25,346 +25,346 @@ import java.util.List; public class EntityPharaoh extends EntityMob implements IBossDisplayData { - public static String[] prefix = {"Ama", "Ata", "Ato", "Bak", "Cal", "Djet", "Eje", "For", "Gol", "Gut", "Hop", "Hor", "Huni", "Iam", "Jor", "Kal", "Khas", "Khor", "Lat", "Mal", "Not", "Oap", "Pra", "Qo", "Ras", "Shas", "Thoth", "Tui", "Uld", "Ver", "Wot", "Xo", "Yat", "Zyt", "Khep"}; - public static String[] suffix = {"Ahat", "Amesh", "Amon", "Anut", "Baroom", "Chanta", "Erant", "Funam", "Daresh", "Djer", "Hotesh", "Khaden", "Kron", "Gorkum", "Ialenter", "Ma'at", "Narmer", "Radeem", "Jaloom", "Lepsha", "Quor", "Oleshet", "Peput", "Talat", "Ulam", "Veresh", "Ranesh", "Snef", "Wollolo", "Hathor", "Intef", "Neferk", "Khatne", "Tepy", "Moret"}; - public static String[] numeral = {"I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII", "XIII", "XIV", "XV"}; - int linkedX; - int linkedY; - int linkedZ; - int stage; - private int suffixID = 0; - private int prefixID = 0; - private int numID = 0; - private int regenTime = 0; - - public EntityPharaoh(World par1World) { - super(par1World); - this.experienceValue = 250; - stage = 0; - - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCEPTER)); - - for (int i = 0; i < this.equipmentDropChances.length; ++i) { - this.equipmentDropChances[i] = 0F; - } - } - - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(300.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); - } - - public void link(int x, int y, int z) { - linkedX = x; - linkedY = y; - linkedZ = z; - } - - /** - * Makes the entity despawn if requirements are reached - */ - @Override - protected void despawnEntity() { - } - - @Override - public void onDeath(DamageSource par1DamageSource) { - super.onDeath(par1DamageSource); - - if (par1DamageSource.damageType == "player") { - EntityPlayer slayer = (EntityPlayer) par1DamageSource.getEntity(); - if (!worldObj.isRemote) { - List players = FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList; - for (EntityPlayer player : players) { - player.addChatMessage(new ChatComponentText(this.getCommandSenderName() + " " + StatCollector.translateToLocal("chat.atum.killPharaoh") + " " + slayer.getGameProfile().getName())); - } - } - } - - if (linkedX != 0 && linkedY != 0 && linkedZ != 0) { - TileEntity te = worldObj.getTileEntity(linkedX, linkedY, linkedZ); - if (te != null) { - if (te instanceof TileEntityPharaohChest) { - TileEntityPharaohChest tepc = (TileEntityPharaohChest) te; - tepc.setOpenable(); - } - } - } - } - - @Override - public String getCommandSenderName() { - try { - int s = this.dataWatcher.getWatchableObjectInt(18); - int p = this.dataWatcher.getWatchableObjectInt(19); - int n = this.dataWatcher.getWatchableObjectInt(20); - return "Pharaoh " + StatCollector.translateToLocal("entity.atum.pharaoh." + prefix[p]) + StatCollector.translateToLocal("entity.atum.pharaoh." + suffix[s]) + " " + numeral[n]; - } catch (Exception e) { - return ""; - } - } - - /** - * Get this Entity's EnumCreatureAttribute - */ - @Override - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEAD; - } - - /** - * knocks back this entity - */ - @Override - public void knockBack(Entity par1Entity, float par2, double par3, double par5) { - this.isAirBorne = true; - float f = MathHelper.sqrt_double(par3 * par3 + par5 * par5); - float f1 = 0.3F; - this.motionX /= 2.0D; - this.motionY /= 2.0D; - this.motionZ /= 2.0D; - this.motionX -= par3 / (double) f * (double) f1; - this.motionZ -= par5 / (double) f * (double) f1; - - if (this.motionY > 0.4000000059604645D) { - this.motionY = 0.4000000059604645D; - } - } - - @Override - public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { - if (par1DamageSource.isFireDamage()) { - par2 = 0; - } - - if (super.attackEntityFrom(par1DamageSource, par2)) { - if (par1DamageSource.getEntity() != null) { - Entity par1Entity = par1DamageSource.getEntity(); - int j = 0; - if (par1Entity instanceof EntityLiving) { - j += EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, this); - - if (j > 0) { - this.motionX /= 0.6D; - this.motionZ /= 0.6D; - this.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), -0.1D, (double) (-MathHelper.cos(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); - } - } - - } - - if (this.getHealth() < this.getMaxHealth() * 0.75 && stage == 0) { - stage++; - spawnGuards(); - } else if (stage == 1 && this.getHealth() < this.getMaxHealth() * 0.5) { - stage++; - spawnGuards(); - } else if (stage == 2 && this.getHealth() < this.getMaxHealth() * 0.25) { - stage++; - spawnGuards(); - } - return true; - } - - return false; - } - - /** - * Destroys all blocks that aren't associated with 'The End' inside the - * given bounding box. - */ - - private boolean destroyBlocksInAABB(AxisAlignedBB par1AxisAlignedBB) { - int minX = MathHelper.floor_double(par1AxisAlignedBB.minX); - int minY = MathHelper.floor_double(par1AxisAlignedBB.minY); - int minZ = MathHelper.floor_double(par1AxisAlignedBB.minZ); - int maxX = MathHelper.floor_double(par1AxisAlignedBB.maxX); - int maxY = MathHelper.floor_double(par1AxisAlignedBB.maxY); - int maxZ = MathHelper.floor_double(par1AxisAlignedBB.maxZ); - boolean flag = false; - boolean flag1 = false; - - for (int x = minX; x <= maxX; ++x) { - for (int y = minY; y <= maxY; ++y) { - for (int z = minZ; z <= maxZ; ++z) { - Block block = this.worldObj.getBlock(x, y, z); - int metadata = this.worldObj.getBlockMetadata(x, y, z); - - if (block != null) { - if (block != AtumBlocks.BLOCK_LARGEBRICK && block != AtumBlocks.BLOCK_PHARAOHCHEST && block != Blocks.bedrock && block.isBlockSolid(worldObj, x, y, z, 0)) { - block.dropBlockAsItem(worldObj, x, y, z, metadata, 0); - flag1 = this.worldObj.setBlockToAir(x, y, z) || flag1; - } - - flag = true; - } - } - } - } - - if (flag1) { - double d0 = par1AxisAlignedBB.minX + (par1AxisAlignedBB.maxX - par1AxisAlignedBB.minX) * (double) this.rand.nextFloat(); - double d1 = par1AxisAlignedBB.minY + (par1AxisAlignedBB.maxY - par1AxisAlignedBB.minY) * (double) this.rand.nextFloat(); - double d2 = par1AxisAlignedBB.minZ + (par1AxisAlignedBB.maxZ - par1AxisAlignedBB.minZ) * (double) this.rand.nextFloat(); - this.worldObj.spawnParticle("largeexplode", d0, d1, d2, 0.0D, 0.0D, 0.0D); - } - - return flag; - } - - private void spawnGuards() { - int numSpawned = 0; - - if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ - 1)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX, (int) posY, (int) posZ + 1)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX, (int) posY, (int) posZ - 1)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ + 1)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ - 1)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ + 1)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ - 1)) { - numSpawned++; - } - if (numSpawned >= 2) - return; - - } - - public boolean trySpawnMummy(int x, int y, int z) { - EntityMummy mummy1 = new EntityMummy(worldObj); - mummy1.setPosition(x, y, z); - if (mummy1.getCanSpawnHere()) { - if (!worldObj.isRemote) - worldObj.spawnEntityInWorld(mummy1); - mummy1.spawnExplosionParticle(); - return true; - } - - return false; - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - @Override - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - super.writeEntityToNBT(par1NBTTagCompound); - par1NBTTagCompound.setInteger("suffix", dataWatcher.getWatchableObjectInt(18)); - par1NBTTagCompound.setInteger("prefix", dataWatcher.getWatchableObjectInt(19)); - par1NBTTagCompound.setInteger("numeral", dataWatcher.getWatchableObjectInt(20)); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - @Override - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - super.readEntityFromNBT(par1NBTTagCompound); - this.dataWatcher.updateObject(16, Float.valueOf(this.prevHealth)); - suffixID = par1NBTTagCompound.getInteger("suffix"); - prefixID = par1NBTTagCompound.getInteger("prefix"); - numID = par1NBTTagCompound.getInteger("numeral"); - this.dataWatcher.updateObject(18, new Integer(suffixID)); - this.dataWatcher.updateObject(19, new Integer(prefixID)); - this.dataWatcher.updateObject(20, new Integer(numID)); - } - - @Override - protected void entityInit() { - super.entityInit(); - this.dataWatcher.addObject(16, new Float(100)); - if (suffixID == 0 && prefixID == 0 && numID == 0) { - suffixID = rand.nextInt(suffix.length); - prefixID = rand.nextInt(prefix.length); - numID = rand.nextInt(numeral.length); - } - this.dataWatcher.addObject(18, new Integer(suffixID)); - this.dataWatcher.addObject(19, new Integer(prefixID)); - this.dataWatcher.addObject(20, new Integer(numID)); - } - - /** - * Called to update the entity's position/logic. - */ - @Override - public void onUpdate() { - super.onUpdate(); - - if (!this.worldObj.isRemote && this.worldObj.difficultySetting.getDifficultyId() == 0) { - TileEntity te = worldObj.getTileEntity(linkedX, linkedY, linkedZ); - if (te instanceof TileEntityPharaohChest) { - ((TileEntityPharaohChest) te).setPharaohDespawned(); - } - this.setDead(); - } - } - - @Override - public void onLivingUpdate() { - if (!this.worldObj.isRemote) { - this.dataWatcher.updateObject(16, Float.valueOf(this.prevHealth)); - } - - if (regenTime++ > 20) { - regenTime = 0; - this.heal(1); - } - - super.onLivingUpdate(); - - if (!worldObj.isRemote) - this.destroyBlocksInAABB(this.boundingBox.expand(0.1, 0, 0.1)); - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity - * has recently been hit by a player. @param par2 - Level of Looting used to - * kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) { - int amount = rand.nextInt(2) + 1; - this.dropItem(Items.gold_ingot, amount); - - this.entityDropItem(AtumLoot.getRandomArtifact(), 0.0F); - } + public static String[] prefix = {"Ama", "Ata", "Ato", "Bak", "Cal", "Djet", "Eje", "For", "Gol", "Gut", "Hop", "Hor", "Huni", "Iam", "Jor", "Kal", "Khas", "Khor", "Lat", "Mal", "Not", "Oap", "Pra", "Qo", "Ras", "Shas", "Thoth", "Tui", "Uld", "Ver", "Wot", "Xo", "Yat", "Zyt", "Khep"}; + public static String[] suffix = {"Ahat", "Amesh", "Amon", "Anut", "Baroom", "Chanta", "Erant", "Funam", "Daresh", "Djer", "Hotesh", "Khaden", "Kron", "Gorkum", "Ialenter", "Ma'at", "Narmer", "Radeem", "Jaloom", "Lepsha", "Quor", "Oleshet", "Peput", "Talat", "Ulam", "Veresh", "Ranesh", "Snef", "Wollolo", "Hathor", "Intef", "Neferk", "Khatne", "Tepy", "Moret"}; + public static String[] numeral = {"I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII", "XIII", "XIV", "XV"}; + int linkedX; + int linkedY; + int linkedZ; + int stage; + private int suffixID = 0; + private int prefixID = 0; + private int numID = 0; + private int regenTime = 0; + + public EntityPharaoh(World par1World) { + super(par1World); + this.experienceValue = 250; + stage = 0; + + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_SCEPTER)); + + for (int i = 0; i < this.equipmentDropChances.length; ++i) { + this.equipmentDropChances[i] = 0F; + } + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(300.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } + + public void link(int x, int y, int z) { + linkedX = x; + linkedY = y; + linkedZ = z; + } + + /** + * Makes the entity despawn if requirements are reached + */ + @Override + protected void despawnEntity() { + } + + @Override + public void onDeath(DamageSource par1DamageSource) { + super.onDeath(par1DamageSource); + + if (par1DamageSource.damageType == "player") { + EntityPlayer slayer = (EntityPlayer) par1DamageSource.getEntity(); + if (!worldObj.isRemote) { + List players = FMLCommonHandler.instance().getMinecraftServerInstance().getConfigurationManager().playerEntityList; + for (EntityPlayer player : players) { + player.addChatMessage(new ChatComponentText(this.getCommandSenderName() + " " + StatCollector.translateToLocal("chat.atum.killPharaoh") + " " + slayer.getGameProfile().getName())); + } + } + } + + if (linkedX != 0 && linkedY != 0 && linkedZ != 0) { + TileEntity te = worldObj.getTileEntity(linkedX, linkedY, linkedZ); + if (te != null) { + if (te instanceof TileEntityPharaohChest) { + TileEntityPharaohChest tepc = (TileEntityPharaohChest) te; + tepc.setOpenable(); + } + } + } + } + + @Override + public String getCommandSenderName() { + try { + int s = this.dataWatcher.getWatchableObjectInt(18); + int p = this.dataWatcher.getWatchableObjectInt(19); + int n = this.dataWatcher.getWatchableObjectInt(20); + return "Pharaoh " + StatCollector.translateToLocal("entity.atum.pharaoh." + prefix[p]) + StatCollector.translateToLocal("entity.atum.pharaoh." + suffix[s]) + " " + numeral[n]; + } catch (Exception e) { + return ""; + } + } + + /** + * Get this Entity's EnumCreatureAttribute + */ + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEAD; + } + + /** + * knocks back this entity + */ + @Override + public void knockBack(Entity par1Entity, float par2, double par3, double par5) { + this.isAirBorne = true; + float f = MathHelper.sqrt_double(par3 * par3 + par5 * par5); + float f1 = 0.3F; + this.motionX /= 2.0D; + this.motionY /= 2.0D; + this.motionZ /= 2.0D; + this.motionX -= par3 / (double) f * (double) f1; + this.motionZ -= par5 / (double) f * (double) f1; + + if (this.motionY > 0.4000000059604645D) { + this.motionY = 0.4000000059604645D; + } + } + + @Override + public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { + if (par1DamageSource.isFireDamage()) { + par2 = 0; + } + + if (super.attackEntityFrom(par1DamageSource, par2)) { + if (par1DamageSource.getEntity() != null) { + Entity par1Entity = par1DamageSource.getEntity(); + int j = 0; + if (par1Entity instanceof EntityLiving) { + j += EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, this); + + if (j > 0) { + this.motionX /= 0.6D; + this.motionZ /= 0.6D; + this.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), -0.1D, (double) (-MathHelper.cos(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); + } + } + + } + + if (this.getHealth() < this.getMaxHealth() * 0.75 && stage == 0) { + stage++; + spawnGuards(); + } else if (stage == 1 && this.getHealth() < this.getMaxHealth() * 0.5) { + stage++; + spawnGuards(); + } else if (stage == 2 && this.getHealth() < this.getMaxHealth() * 0.25) { + stage++; + spawnGuards(); + } + return true; + } + + return false; + } + + /** + * Destroys all blocks that aren't associated with 'The End' inside the + * given bounding box. + */ + + private boolean destroyBlocksInAABB(AxisAlignedBB par1AxisAlignedBB) { + int minX = MathHelper.floor_double(par1AxisAlignedBB.minX); + int minY = MathHelper.floor_double(par1AxisAlignedBB.minY); + int minZ = MathHelper.floor_double(par1AxisAlignedBB.minZ); + int maxX = MathHelper.floor_double(par1AxisAlignedBB.maxX); + int maxY = MathHelper.floor_double(par1AxisAlignedBB.maxY); + int maxZ = MathHelper.floor_double(par1AxisAlignedBB.maxZ); + boolean flag = false; + boolean flag1 = false; + + for (int x = minX; x <= maxX; ++x) { + for (int y = minY; y <= maxY; ++y) { + for (int z = minZ; z <= maxZ; ++z) { + Block block = this.worldObj.getBlock(x, y, z); + int metadata = this.worldObj.getBlockMetadata(x, y, z); + + if (block != null) { + if (block != AtumBlocks.BLOCK_LARGEBRICK && block != AtumBlocks.BLOCK_PHARAOHCHEST && block != Blocks.bedrock && block.isBlockSolid(worldObj, x, y, z, 0)) { + block.dropBlockAsItem(worldObj, x, y, z, metadata, 0); + flag1 = this.worldObj.setBlockToAir(x, y, z) || flag1; + } + + flag = true; + } + } + } + } + + if (flag1) { + double d0 = par1AxisAlignedBB.minX + (par1AxisAlignedBB.maxX - par1AxisAlignedBB.minX) * (double) this.rand.nextFloat(); + double d1 = par1AxisAlignedBB.minY + (par1AxisAlignedBB.maxY - par1AxisAlignedBB.minY) * (double) this.rand.nextFloat(); + double d2 = par1AxisAlignedBB.minZ + (par1AxisAlignedBB.maxZ - par1AxisAlignedBB.minZ) * (double) this.rand.nextFloat(); + this.worldObj.spawnParticle("largeexplode", d0, d1, d2, 0.0D, 0.0D, 0.0D); + } + + return flag; + } + + private void spawnGuards() { + int numSpawned = 0; + + if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ - 1)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + if (trySpawnMummy((int) posX, (int) posY, (int) posZ + 1)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + if (trySpawnMummy((int) posX, (int) posY, (int) posZ - 1)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ + 1)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ - 1)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + if (trySpawnMummy((int) posX - 1, (int) posY, (int) posZ + 1)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + if (trySpawnMummy((int) posX + 1, (int) posY, (int) posZ - 1)) { + numSpawned++; + } + if (numSpawned >= 2) + return; + + } + + public boolean trySpawnMummy(int x, int y, int z) { + EntityMummy mummy1 = new EntityMummy(worldObj); + mummy1.setPosition(x, y, z); + if (mummy1.getCanSpawnHere()) { + if (!worldObj.isRemote) + worldObj.spawnEntityInWorld(mummy1); + mummy1.spawnExplosionParticle(); + return true; + } + + return false; + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + @Override + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + super.writeEntityToNBT(par1NBTTagCompound); + par1NBTTagCompound.setInteger("suffix", dataWatcher.getWatchableObjectInt(18)); + par1NBTTagCompound.setInteger("prefix", dataWatcher.getWatchableObjectInt(19)); + par1NBTTagCompound.setInteger("numeral", dataWatcher.getWatchableObjectInt(20)); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + @Override + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + super.readEntityFromNBT(par1NBTTagCompound); + this.dataWatcher.updateObject(16, Float.valueOf(this.prevHealth)); + suffixID = par1NBTTagCompound.getInteger("suffix"); + prefixID = par1NBTTagCompound.getInteger("prefix"); + numID = par1NBTTagCompound.getInteger("numeral"); + this.dataWatcher.updateObject(18, new Integer(suffixID)); + this.dataWatcher.updateObject(19, new Integer(prefixID)); + this.dataWatcher.updateObject(20, new Integer(numID)); + } + + @Override + protected void entityInit() { + super.entityInit(); + this.dataWatcher.addObject(16, new Float(100)); + if (suffixID == 0 && prefixID == 0 && numID == 0) { + suffixID = rand.nextInt(suffix.length); + prefixID = rand.nextInt(prefix.length); + numID = rand.nextInt(numeral.length); + } + this.dataWatcher.addObject(18, new Integer(suffixID)); + this.dataWatcher.addObject(19, new Integer(prefixID)); + this.dataWatcher.addObject(20, new Integer(numID)); + } + + /** + * Called to update the entity's position/logic. + */ + @Override + public void onUpdate() { + super.onUpdate(); + + if (!this.worldObj.isRemote && this.worldObj.difficultySetting.getDifficultyId() == 0) { + TileEntity te = worldObj.getTileEntity(linkedX, linkedY, linkedZ); + if (te instanceof TileEntityPharaohChest) { + ((TileEntityPharaohChest) te).setPharaohDespawned(); + } + this.setDead(); + } + } + + @Override + public void onLivingUpdate() { + if (!this.worldObj.isRemote) { + this.dataWatcher.updateObject(16, Float.valueOf(this.prevHealth)); + } + + if (regenTime++ > 20) { + regenTime = 0; + this.heal(1); + } + + super.onLivingUpdate(); + + if (!worldObj.isRemote) + this.destroyBlocksInAABB(this.boundingBox.expand(0.1, 0, 0.1)); + } + + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity + * has recently been hit by a player. @param par2 - Level of Looting used to + * kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + int amount = rand.nextInt(2) + 1; + this.dropItem(Items.gold_ingot, amount); + + this.entityDropItem(AtumLoot.getRandomArtifact(), 0.0F); + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityStone.java b/src/main/java/com/teammetallurgy/atum/entity/EntityStone.java index 7962511..6b5cd9e 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityStone.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityStone.java @@ -7,17 +7,17 @@ public class EntityStone extends EntityMob { - public EntityStone(World par1World) { - super(par1World); - } + public EntityStone(World par1World) { + super(par1World); + } - public boolean isPotionApplicable(PotionEffect par1PotionEffect) { - int i = par1PotionEffect.getPotionID(); + public boolean isPotionApplicable(PotionEffect par1PotionEffect) { + int i = par1PotionEffect.getPotionID(); - if (i == Potion.poison.id) { - return false; - } + if (i == Potion.poison.id) { + return false; + } - return true; - } + return true; + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityStoneSoldier.java b/src/main/java/com/teammetallurgy/atum/entity/EntityStoneSoldier.java index 2020577..977281b 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityStoneSoldier.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityStoneSoldier.java @@ -13,93 +13,93 @@ public class EntityStoneSoldier extends EntityStone { - public EntityStoneSoldier(World par1World) { - super(par1World); - this.isImmuneToFire = true; - this.experienceValue = 8; - - this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_STONESOLDIER_SWORD)); - - for (int i = 0; i < this.equipmentDropChances.length; ++i) { - this.equipmentDropChances[i] = 0F; - } - } - - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(80.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); - this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); - this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); - } - - @Override - public boolean getCanSpawnHere() { - return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); - } - - @Override - protected boolean isValidLightLevel() { - return true; - } - - @Override - public EnumCreatureAttribute getCreatureAttribute() { - return EnumCreatureAttribute.UNDEFINED; - } - - @Override - public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { - if (super.attackEntityFrom(par1DamageSource, par2)) { - if (par1DamageSource.getEntity() != null) { - Entity par1Entity = par1DamageSource.getEntity(); - int j = 0; - if (par1Entity instanceof EntityLiving) { - j += EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, this); - - if (j > 0) { - this.motionX /= 0.6D; - this.motionZ /= 0.6D; - this.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), -0.1D, (double) (-MathHelper.cos(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); - } - } - - } - return true; - } - - return false; - } - - /** - * knocks back this entity - */ - @Override - public void knockBack(Entity par1Entity, float par2, double par3, double par5) { - this.isAirBorne = true; - float f = MathHelper.sqrt_double(par3 * par3 + par5 * par5); - float f1 = 0.2F; - this.motionX /= 2.0D; - this.motionY /= 2.0D; - this.motionZ /= 2.0D; - this.motionX -= par3 / (double) f * (double) f1; - this.motionZ -= par5 / (double) f * (double) f1; - - if (this.motionY > 0.4000000059604645D) { - this.motionY = 0.4000000059604645D; - } - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. - */ - @Override - protected void dropFewItems(boolean par1, int par2) { - if (this.rand.nextInt(4) == 0) { - int amount = rand.nextInt(2) + 1; - this.dropItem(AtumItems.ITEM_STONECHUNK, amount); - } - } + public EntityStoneSoldier(World par1World) { + super(par1World); + this.isImmuneToFire = true; + this.experienceValue = 8; + + this.setCurrentItemOrArmor(0, new ItemStack(AtumItems.ITEM_STONESOLDIER_SWORD)); + + for (int i = 0; i < this.equipmentDropChances.length; ++i) { + this.equipmentDropChances[i] = 0F; + } + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(80.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.53000000417232513D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(4.0D); + this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(10.0D); + } + + @Override + public boolean getCanSpawnHere() { + return this.worldObj.checkNoEntityCollision(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && !this.worldObj.isAnyLiquid(this.boundingBox); + } + + @Override + protected boolean isValidLightLevel() { + return true; + } + + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.UNDEFINED; + } + + @Override + public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { + if (super.attackEntityFrom(par1DamageSource, par2)) { + if (par1DamageSource.getEntity() != null) { + Entity par1Entity = par1DamageSource.getEntity(); + int j = 0; + if (par1Entity instanceof EntityLiving) { + j += EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, this); + + if (j > 0) { + this.motionX /= 0.6D; + this.motionZ /= 0.6D; + this.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F), -0.1D, (double) (-MathHelper.cos(par1Entity.rotationYaw * (float) Math.PI / 180.0F) * (float) j * 0.5F)); + } + } + + } + return true; + } + + return false; + } + + /** + * knocks back this entity + */ + @Override + public void knockBack(Entity par1Entity, float par2, double par3, double par5) { + this.isAirBorne = true; + float f = MathHelper.sqrt_double(par3 * par3 + par5 * par5); + float f1 = 0.2F; + this.motionX /= 2.0D; + this.motionY /= 2.0D; + this.motionZ /= 2.0D; + this.motionX -= par3 / (double) f * (double) f1; + this.motionZ -= par5 / (double) f * (double) f1; + + if (this.motionY > 0.4000000059604645D) { + this.motionY = 0.4000000059604645D; + } + } + + /** + * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param par2 - Level of Looting used to kill this mob. + */ + @Override + protected void dropFewItems(boolean par1, int par2) { + if (this.rand.nextInt(4) == 0) { + int amount = rand.nextInt(2) + 1; + this.dropItem(AtumItems.ITEM_STONECHUNK, amount); + } + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java index d1e8cd9..30b46d1 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java @@ -6,27 +6,27 @@ public class CustomArrow extends EntityArrow { - public float arrowShake = 0; + public float arrowShake = 0; - public CustomArrow(World par1World) { - super(par1World); - } + public CustomArrow(World par1World) { + super(par1World); + } - @Override - public void readEntityFromNBT(NBTTagCompound nbttagcompound) { - super.readFromNBT(nbttagcompound); - } + @Override + public void readEntityFromNBT(NBTTagCompound nbttagcompound) { + super.readFromNBT(nbttagcompound); + } - @Override - public void writeEntityToNBT(NBTTagCompound nbttagcompound) { - super.writeToNBT(nbttagcompound); - } + @Override + public void writeEntityToNBT(NBTTagCompound nbttagcompound) { + super.writeToNBT(nbttagcompound); + } - @Override - protected void entityInit() { - } + @Override + protected void entityInit() { + } - public String getTexture() { - return "minecraft:arrow"; - } + public String getTexture() { + return "minecraft:arrow"; + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java index 8351594..786682a 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowDoubleShot.java @@ -22,513 +22,513 @@ import java.util.List; public class EntityArrowDoubleShot extends CustomArrow implements IProjectile, IThrowableEntity { - /** - * 1 if the player can pick up the arrow - */ - public int canBePickedUp = 0; - /** - * Seems to be some sort of timer for animating an arrow. - */ - public int arrowShake = 0; - /** - * The owner of this arrow. - */ - public Entity shootingEntity; - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private Block inTile = null; - private int inData = 0; - private boolean inGround = false; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - - /** - * The amount of knockback an arrow applies when it hits a mob. - */ - private int knockbackStrength; - - public EntityArrowDoubleShot(World par1World) { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - } - - public EntityArrowDoubleShot(World par1World, double par2, double par4, double par6) { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - this.yOffset = 0.0F; - } - - public EntityArrowDoubleShot(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - this.posY = par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; - double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); - - if (d3 >= 1.0E-7D) { - float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float) d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); - } - } - - public EntityArrowDoubleShot(World par1World, EntityLivingBase par2EntityLiving, float par3) { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); - this.posY -= 0.10000000149011612D; - this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); - this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); - this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); - } - - protected void entityInit() { - this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z - * direction. - */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double) f2; - par3 /= (double) f2; - par5 /= (double) f2; - par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; - par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; - par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; - par1 *= (double) par7; - par3 *= (double) par7; - par5 *= (double) par7; - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - /** - * Sets the velocity to the args. Args: x, y, z - */ - public void setVelocity(double par1, double par3, double par5) { - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.ticksInGround = 0; - } - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() { - super.onUpdate(); - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { - float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); - } - - Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - - if (i != null) { - i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - - if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { - this.inGround = true; - } - } - - if (this.arrowShake > 0) { - --this.arrowShake; - } - - if (this.inGround) { - Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - - if (j == this.inTile && k == this.inData) { - ++this.ticksInGround; - - if (this.ticksInGround == 1200) { - this.setDead(); - } - } else { - this.inGround = false; - this.motionX *= (double) (this.rand.nextFloat() * 0.2F); - this.motionY *= (double) (this.rand.nextFloat() * 0.2F); - this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } else { - ++this.ticksInAir; - Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); - vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) { - vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - int l; - float f1; - - for (l = 0; l < list.size(); ++l) { - Entity entity1 = (Entity) list.get(l); - - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - - if (movingobjectposition1 != null) { - double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - - if (d1 < d0 || d0 == 0.0D) { - entity = entity1; - d0 = d1; - } - } - } - } - - if (entity != null) { - movingobjectposition = new MovingObjectPosition(entity); - } - - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { - EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; - - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { - movingobjectposition = null; - } - } - - float f2; - float f3; - - if (movingobjectposition != null) { - if (movingobjectposition.entityHit != null) { - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); - - if (this.getIsCritical()) { - i1 += this.rand.nextInt(i1 / 2 + 2); - } - - DamageSource damagesource = null; - - if (this.shootingEntity == null) { - damagesource = DamageSource.causeThrownDamage(this, this); - } else { - damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { - movingobjectposition.entityHit.setFire(5); - } - - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { - if (movingobjectposition.entityHit instanceof EntityLiving) { - EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; - - if (!this.worldObj.isRemote) { - entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); - } - - if (this.knockbackStrength > 0) { - f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - - if (f3 > 0.0F) { - movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); - } - } - - if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) { - EnchantmentHelper.func_151384_a(entityliving, this.shootingEntity); - EnchantmentHelper.func_151385_b((EntityLivingBase) this.shootingEntity, entityliving); - } - - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { - ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); - } - } - - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - - if (!(movingobjectposition.entityHit instanceof EntityEnderman)) { - this.setDead(); - } - } else { - this.motionX *= -0.10000000149011612D; - this.motionY *= -0.10000000149011612D; - this.motionZ *= -0.10000000149011612D; - this.rotationYaw += 180.0F; - this.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } else { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; - this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - - if (this.inTile != null) { - this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } - } - - if (this.getIsCritical() && worldObj.isRemote) { - for (l = 0; l < 4; ++l) { - this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); - } - } - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) { - this.prevRotationYaw -= 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { - this.prevRotationYaw += 360.0F; - } - - this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; - this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; - float f4 = 0.99F; - f1 = 0.05F; - - if (this.isInWater()) { - for (int j1 = 0; j1 < 4; ++j1) { - f3 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); - } - - f4 = 0.45F; - } - - this.motionX *= (double) f4; - this.motionY *= (double) f4; - this.motionZ *= (double) f4; - this.motionY -= (double) f1; - this.setPosition(this.posX, this.posY, this.posZ); - this.func_145775_I(); - } - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - par1NBTTagCompound.setShort("xTile", (short) this.xTile); - par1NBTTagCompound.setShort("yTile", (short) this.yTile); - par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); - par1NBTTagCompound.setByte("inData", (byte) this.inData); - par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - - if (par1NBTTagCompound.hasKey("damage")) { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if (par1NBTTagCompound.hasKey("pickup")) { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } else if (par1NBTTagCompound.hasKey("player")) { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; - } - } - - /** - * Called by a player entity when they collide with an entity - */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - - if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Items.arrow, 1))) { - flag = false; - } - - if (flag) { - this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they - * walk on. used for spiders and wolves to prevent them from trampling crops - */ - protected boolean canTriggerWalking() { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() { - return 0.0F; - } - - public double getDamage() { - return this.damage; - } - - public void setDamage(double par1) { - this.damage = par1; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int par1) { - this.knockbackStrength = par1; - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - public boolean canAttackWithItem() { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind - * it. - */ - public boolean getIsCritical() { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind - * it. - */ - public void setIsCritical(boolean par1) { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); - } else { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); - } - } - - @Override - public Entity getThrower() { - return shootingEntity; - } - - @Override - public void setThrower(Entity entity) { - shootingEntity = entity; - } - - @Override - public String getTexture() { - return "Atum:textures/projectiles/arrows_double.png"; - } + /** + * 1 if the player can pick up the arrow + */ + public int canBePickedUp = 0; + /** + * Seems to be some sort of timer for animating an arrow. + */ + public int arrowShake = 0; + /** + * The owner of this arrow. + */ + public Entity shootingEntity; + private int xTile = -1; + private int yTile = -1; + private int zTile = -1; + private Block inTile = null; + private int inData = 0; + private boolean inGround = false; + private int ticksInGround; + private int ticksInAir = 0; + private double damage = 2.0D; + + /** + * The amount of knockback an arrow applies when it hits a mob. + */ + private int knockbackStrength; + + public EntityArrowDoubleShot(World par1World) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + } + + public EntityArrowDoubleShot(World par1World, double par2, double par4, double par6) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.setPosition(par2, par4, par6); + this.yOffset = 0.0F; + } + + public EntityArrowDoubleShot(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if (par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.posY = par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + double d0 = par3EntityLiving.posX - par2EntityLiving.posX; + double d1 = par3EntityLiving.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; + double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; + double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); + + if (d3 >= 1.0E-7D) { + float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); + this.yOffset = 0.0F; + float f4 = (float) d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); + } + } + + public EntityArrowDoubleShot(World par1World, EntityLivingBase par2EntityLiving, float par3) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if (par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.setSize(0.5F, 0.5F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.posY -= 0.10000000149011612D; + this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.setPosition(this.posX, this.posY, this.posZ); + this.yOffset = 0.0F; + this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); + this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); + } + + protected void entityInit() { + this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); + } + + /** + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z + * direction. + */ + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double) f2; + par3 /= (double) f2; + par5 /= (double) f2; + par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par1 *= (double) par7; + par3 *= (double) par7; + par5 *= (double) par7; + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + /** + * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, + * posY, posZ, yaw, pitch + */ + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { + this.setPosition(par1, par3, par5); + this.setRotation(par7, par8); + } + + @SideOnly(Side.CLIENT) + /** + * Sets the velocity to the args. Args: x, y, z + */ + public void setVelocity(double par1, double par3, double par5) { + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch; + this.prevRotationYaw = this.rotationYaw; + this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); + this.ticksInGround = 0; + } + } + + /** + * Called to update the entity's position/logic. + */ + public void onUpdate() { + super.onUpdate(); + + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); + } + + Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); + + if (i != null) { + i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + + if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { + this.inGround = true; + } + } + + if (this.arrowShake > 0) { + --this.arrowShake; + } + + if (this.inGround) { + Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); + int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + + if (j == this.inTile && k == this.inData) { + ++this.ticksInGround; + + if (this.ticksInGround == 1200) { + this.setDead(); + } + } else { + this.inGround = false; + this.motionX *= (double) (this.rand.nextFloat() * 0.2F); + this.motionY *= (double) (this.rand.nextFloat() * 0.2F); + this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } + } else { + ++this.ticksInAir; + Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); + vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if (movingobjectposition != null) { + vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + int l; + float f1; + + for (l = 0; l < list.size(); ++l) { + Entity entity1 = (Entity) list.get(l); + + if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { + f1 = 0.3F; + AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); + MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); + + if (movingobjectposition1 != null) { + double d1 = vec3.distanceTo(movingobjectposition1.hitVec); + + if (d1 < d0 || d0 == 0.0D) { + entity = entity1; + d0 = d1; + } + } + } + } + + if (entity != null) { + movingobjectposition = new MovingObjectPosition(entity); + } + + if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; + + if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { + movingobjectposition = null; + } + } + + float f2; + float f3; + + if (movingobjectposition != null) { + if (movingobjectposition.entityHit != null) { + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); + + if (this.getIsCritical()) { + i1 += this.rand.nextInt(i1 / 2 + 2); + } + + DamageSource damagesource = null; + + if (this.shootingEntity == null) { + damagesource = DamageSource.causeThrownDamage(this, this); + } else { + damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); + } + + if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + movingobjectposition.entityHit.setFire(5); + } + + if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if (movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; + + if (!this.worldObj.isRemote) { + entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); + } + + if (this.knockbackStrength > 0) { + f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + + if (f3 > 0.0F) { + movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); + } + } + + if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) { + EnchantmentHelper.func_151384_a(entityliving, this.shootingEntity); + EnchantmentHelper.func_151385_b((EntityLivingBase) this.shootingEntity, entityliving); + } + + if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); + } + } + + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + + if (!(movingobjectposition.entityHit instanceof EntityEnderman)) { + this.setDead(); + } + } else { + this.motionX *= -0.10000000149011612D; + this.motionY *= -0.10000000149011612D; + this.motionZ *= -0.10000000149011612D; + this.rotationYaw += 180.0F; + this.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } else { + this.xTile = movingobjectposition.blockX; + this.yTile = movingobjectposition.blockY; + this.zTile = movingobjectposition.blockZ; + this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); + this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); + this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); + this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; + this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; + this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + this.inGround = true; + this.arrowShake = 7; + this.setIsCritical(false); + + if (this.inTile != null) { + this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + } + } + } + + if (this.getIsCritical() && worldObj.isRemote) { + for (l = 0; l < 4; ++l) { + this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); + } + } + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + ; + } + + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { + this.prevRotationPitch += 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw < -180.0F) { + this.prevRotationYaw -= 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { + this.prevRotationYaw += 360.0F; + } + + this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; + this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; + float f4 = 0.99F; + f1 = 0.05F; + + if (this.isInWater()) { + for (int j1 = 0; j1 < 4; ++j1) { + f3 = 0.25F; + this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); + } + + f4 = 0.45F; + } + + this.motionX *= (double) f4; + this.motionY *= (double) f4; + this.motionZ *= (double) f4; + this.motionY -= (double) f1; + this.setPosition(this.posX, this.posY, this.posZ); + this.func_145775_I(); + } + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short) this.xTile); + par1NBTTagCompound.setShort("yTile", (short) this.yTile); + par1NBTTagCompound.setShort("zTile", (short) this.zTile); + par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); + par1NBTTagCompound.setByte("inData", (byte) this.inData); + par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); + par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); + par1NBTTagCompound.setDouble("damage", this.damage); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); + this.inData = par1NBTTagCompound.getByte("inData") & 255; + this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + + if (par1NBTTagCompound.hasKey("damage")) { + this.damage = par1NBTTagCompound.getDouble("damage"); + } + + if (par1NBTTagCompound.hasKey("pickup")) { + this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); + } else if (par1NBTTagCompound.hasKey("player")) { + this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; + } + } + + /** + * Called by a player entity when they collide with an entity + */ + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; + + if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Items.arrow, 1))) { + flag = false; + } + + if (flag) { + this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + par1EntityPlayer.onItemPickup(this, 1); + this.setDead(); + } + } + } + + /** + * returns if this entity triggers Block.onEntityWalking on the blocks they + * walk on. used for spiders and wolves to prevent them from trampling crops + */ + protected boolean canTriggerWalking() { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() { + return 0.0F; + } + + public double getDamage() { + return this.damage; + } + + public void setDamage(double par1) { + this.damage = par1; + } + + /** + * Sets the amount of knockback the arrow applies when it hits a mob. + */ + public void setKnockbackStrength(int par1) { + this.knockbackStrength = par1; + } + + /** + * If returns false, the item will not inflict any damage against entities. + */ + public boolean canAttackWithItem() { + return false; + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind + * it. + */ + public boolean getIsCritical() { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind + * it. + */ + public void setIsCritical(boolean par1) { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + + if (par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } + } + + @Override + public Entity getThrower() { + return shootingEntity; + } + + @Override + public void setThrower(Entity entity) { + shootingEntity = entity; + } + + @Override + public String getTexture() { + return "Atum:textures/projectiles/arrows_double.png"; + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java index f4b7a5d..80d2895 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowExplosive.java @@ -22,521 +22,521 @@ import java.util.List; public class EntityArrowExplosive extends CustomArrow implements IProjectile, IThrowableEntity { - /** - * 1 if the player can pick up the arrow - */ - public int canBePickedUp = 0; - /** - * Seems to be some sort of timer for animating an arrow. - */ - public int arrowShake = 0; - /** - * The owner of this arrow. - */ - public Entity shootingEntity; - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private Block inTile = null; - private int inData = 0; - private boolean inGround = false; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - - /** - * The amount of knockback an arrow applies when it hits a mob. - */ - private int knockbackStrength; - - public EntityArrowExplosive(World par1World) { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - } - - public EntityArrowExplosive(World par1World, double par2, double par4, double par6) { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - this.yOffset = 0.0F; - } - - public EntityArrowExplosive(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - this.posY = par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; - double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); - - if (d3 >= 1.0E-7D) { - float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float) d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); - } - } - - public EntityArrowExplosive(World par1World, EntityLivingBase par2EntityLiving, float par3) { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); - this.posY -= 0.10000000149011612D; - this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); - this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); - this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); - } - - protected void entityInit() { - this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z - * direction. - */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double) f2; - par3 /= (double) f2; - par5 /= (double) f2; - par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; - par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; - par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; - par1 *= (double) par7; - par3 *= (double) par7; - par5 *= (double) par7; - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - /** - * Sets the velocity to the args. Args: x, y, z - */ - public void setVelocity(double par1, double par3, double par5) { - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.ticksInGround = 0; - } - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() { - super.onUpdate(); - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { - float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); - } - - Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - - if (i != null) { - i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - - if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { - this.worldObj.newExplosion(this, this.posX, this.posY, this.posZ, 2.0F, this.isBurning(), true); - this.inGround = true; - } - } - - if (this.arrowShake > 0) { - --this.arrowShake; - } - - if (this.inGround) { - Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - - if (j == this.inTile && k == this.inData) { - ++this.ticksInGround; - - if (this.ticksInGround == 1200) { - this.setDead(); - } - } else { - this.inGround = false; - this.motionX *= (double) (this.rand.nextFloat() * 0.2F); - this.motionY *= (double) (this.rand.nextFloat() * 0.2F); - this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } else { - ++this.ticksInAir; - Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); - vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) { - vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - int l; - float f1; - - for (l = 0; l < list.size(); ++l) { - Entity entity1 = (Entity) list.get(l); - - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - - if (movingobjectposition1 != null) { - double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - - if (d1 < d0 || d0 == 0.0D) { - entity = entity1; - d0 = d1; - } - } - } - } - - if (entity != null) { - movingobjectposition = new MovingObjectPosition(entity); - } - - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { - EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; - - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { - movingobjectposition = null; - } - } - - float f2; - float f3; - - if (movingobjectposition != null) { - if (movingobjectposition.entityHit != null) { - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); - - if (this.getIsCritical()) { - i1 += this.rand.nextInt(i1 / 2 + 2); - } - - DamageSource damagesource = null; - - if (this.shootingEntity == null) { - damagesource = DamageSource.causeThrownDamage(this, this); - } else { - damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { - movingobjectposition.entityHit.setFire(5); - } - - this.worldObj.createExplosion(this, entity.posX, entity.posY, entity.posZ, 2.0F, true); - - this.setDead(); - - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { - if (movingobjectposition.entityHit instanceof EntityLiving) { - EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; - - if (!this.worldObj.isRemote) { - entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); - } - - if (this.knockbackStrength > 0) { - f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - - if (f3 > 0.0F) { - movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); - } - } - - if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) { - EnchantmentHelper.func_151384_a(entityliving, this.shootingEntity); - EnchantmentHelper.func_151385_b((EntityLivingBase) this.shootingEntity, entityliving); - } - - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { - ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); - } - } - - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - - } else { - this.motionX *= -0.10000000149011612D; - this.motionY *= -0.10000000149011612D; - this.motionZ *= -0.10000000149011612D; - this.rotationYaw += 180.0F; - this.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } else { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; - this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - this.worldObj.createExplosion(this, movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord, 2.0F, true); - this.inGround = true; - this.arrowShake = 7; - this.setDead(); - this.setIsCritical(false); - - if (this.inTile != null) { - this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } - } - - if (this.getIsCritical() && worldObj.isRemote) { - for (l = 0; l < 4; ++l) { - this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); - } - } - - if (Math.random() > 0.0) { - worldObj.spawnParticle("smoke", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX / 10F, (-this.motionY + 0.2D) / 10F, -this.motionZ / 10F); - } - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) { - this.prevRotationYaw -= 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { - this.prevRotationYaw += 360.0F; - } - - this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; - this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; - float f4 = 0.99F; - f1 = 0.15F; - - if (this.isInWater()) { - for (int j1 = 0; j1 < 4; ++j1) { - f3 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); - } - - f4 = 0.8F; - } - - this.motionX *= (double) f4; - this.motionY *= (double) f4; - this.motionZ *= (double) f4; - this.motionY -= (double) f1; - this.setPosition(this.posX, this.posY, this.posZ); - this.func_145775_I(); - } - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - par1NBTTagCompound.setShort("xTile", (short) this.xTile); - par1NBTTagCompound.setShort("yTile", (short) this.yTile); - par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); - par1NBTTagCompound.setByte("inData", (byte) this.inData); - par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - - if (par1NBTTagCompound.hasKey("damage")) { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if (par1NBTTagCompound.hasKey("pickup")) { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } else if (par1NBTTagCompound.hasKey("player")) { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; - } - } - - /** - * Called by a player entity when they collide with an entity - */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - - if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Items.arrow, 1))) { - flag = false; - } - - if (flag) { - this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they - * walk on. used for spiders and wolves to prevent them from trampling crops - */ - protected boolean canTriggerWalking() { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() { - return 0.0F; - } - - public double getDamage() { - return this.damage; - } - - public void setDamage(double par1) { - this.damage = par1; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int par1) { - this.knockbackStrength = par1; - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - public boolean canAttackWithItem() { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind - * it. - */ - public boolean getIsCritical() { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind - * it. - */ - public void setIsCritical(boolean par1) { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); - } else { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); - } - } - - @Override - public Entity getThrower() { - return shootingEntity; - } - - @Override - public void setThrower(Entity entity) { - shootingEntity = entity; - } - - @Override - public String getTexture() { - return "Atum:textures/projectiles/arrows_exploding.png"; - } + /** + * 1 if the player can pick up the arrow + */ + public int canBePickedUp = 0; + /** + * Seems to be some sort of timer for animating an arrow. + */ + public int arrowShake = 0; + /** + * The owner of this arrow. + */ + public Entity shootingEntity; + private int xTile = -1; + private int yTile = -1; + private int zTile = -1; + private Block inTile = null; + private int inData = 0; + private boolean inGround = false; + private int ticksInGround; + private int ticksInAir = 0; + private double damage = 2.0D; + + /** + * The amount of knockback an arrow applies when it hits a mob. + */ + private int knockbackStrength; + + public EntityArrowExplosive(World par1World) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + } + + public EntityArrowExplosive(World par1World, double par2, double par4, double par6) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.setPosition(par2, par4, par6); + this.yOffset = 0.0F; + } + + public EntityArrowExplosive(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if (par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.posY = par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + double d0 = par3EntityLiving.posX - par2EntityLiving.posX; + double d1 = par3EntityLiving.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; + double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; + double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); + + if (d3 >= 1.0E-7D) { + float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); + this.yOffset = 0.0F; + float f4 = (float) d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); + } + } + + public EntityArrowExplosive(World par1World, EntityLivingBase par2EntityLiving, float par3) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if (par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.setSize(0.5F, 0.5F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.posY -= 0.10000000149011612D; + this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.setPosition(this.posX, this.posY, this.posZ); + this.yOffset = 0.0F; + this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); + this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); + } + + protected void entityInit() { + this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); + } + + /** + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z + * direction. + */ + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double) f2; + par3 /= (double) f2; + par5 /= (double) f2; + par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par1 *= (double) par7; + par3 *= (double) par7; + par5 *= (double) par7; + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + /** + * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, + * posY, posZ, yaw, pitch + */ + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { + this.setPosition(par1, par3, par5); + this.setRotation(par7, par8); + } + + @SideOnly(Side.CLIENT) + /** + * Sets the velocity to the args. Args: x, y, z + */ + public void setVelocity(double par1, double par3, double par5) { + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch; + this.prevRotationYaw = this.rotationYaw; + this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); + this.ticksInGround = 0; + } + } + + /** + * Called to update the entity's position/logic. + */ + public void onUpdate() { + super.onUpdate(); + + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); + } + + Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); + + if (i != null) { + i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + + if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { + this.worldObj.newExplosion(this, this.posX, this.posY, this.posZ, 2.0F, this.isBurning(), true); + this.inGround = true; + } + } + + if (this.arrowShake > 0) { + --this.arrowShake; + } + + if (this.inGround) { + Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); + int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + + if (j == this.inTile && k == this.inData) { + ++this.ticksInGround; + + if (this.ticksInGround == 1200) { + this.setDead(); + } + } else { + this.inGround = false; + this.motionX *= (double) (this.rand.nextFloat() * 0.2F); + this.motionY *= (double) (this.rand.nextFloat() * 0.2F); + this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } + } else { + ++this.ticksInAir; + Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); + vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if (movingobjectposition != null) { + vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + int l; + float f1; + + for (l = 0; l < list.size(); ++l) { + Entity entity1 = (Entity) list.get(l); + + if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { + f1 = 0.3F; + AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); + MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); + + if (movingobjectposition1 != null) { + double d1 = vec3.distanceTo(movingobjectposition1.hitVec); + + if (d1 < d0 || d0 == 0.0D) { + entity = entity1; + d0 = d1; + } + } + } + } + + if (entity != null) { + movingobjectposition = new MovingObjectPosition(entity); + } + + if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; + + if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { + movingobjectposition = null; + } + } + + float f2; + float f3; + + if (movingobjectposition != null) { + if (movingobjectposition.entityHit != null) { + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); + + if (this.getIsCritical()) { + i1 += this.rand.nextInt(i1 / 2 + 2); + } + + DamageSource damagesource = null; + + if (this.shootingEntity == null) { + damagesource = DamageSource.causeThrownDamage(this, this); + } else { + damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); + } + + if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + movingobjectposition.entityHit.setFire(5); + } + + this.worldObj.createExplosion(this, entity.posX, entity.posY, entity.posZ, 2.0F, true); + + this.setDead(); + + if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if (movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; + + if (!this.worldObj.isRemote) { + entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); + } + + if (this.knockbackStrength > 0) { + f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + + if (f3 > 0.0F) { + movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); + } + } + + if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) { + EnchantmentHelper.func_151384_a(entityliving, this.shootingEntity); + EnchantmentHelper.func_151385_b((EntityLivingBase) this.shootingEntity, entityliving); + } + + if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); + } + } + + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + + } else { + this.motionX *= -0.10000000149011612D; + this.motionY *= -0.10000000149011612D; + this.motionZ *= -0.10000000149011612D; + this.rotationYaw += 180.0F; + this.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } else { + this.xTile = movingobjectposition.blockX; + this.yTile = movingobjectposition.blockY; + this.zTile = movingobjectposition.blockZ; + this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); + this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); + this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); + this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; + this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; + this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + this.worldObj.createExplosion(this, movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord, 2.0F, true); + this.inGround = true; + this.arrowShake = 7; + this.setDead(); + this.setIsCritical(false); + + if (this.inTile != null) { + this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + } + } + } + + if (this.getIsCritical() && worldObj.isRemote) { + for (l = 0; l < 4; ++l) { + this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); + } + } + + if (Math.random() > 0.0) { + worldObj.spawnParticle("smoke", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX / 10F, (-this.motionY + 0.2D) / 10F, -this.motionZ / 10F); + } + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + ; + } + + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { + this.prevRotationPitch += 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw < -180.0F) { + this.prevRotationYaw -= 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { + this.prevRotationYaw += 360.0F; + } + + this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; + this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; + float f4 = 0.99F; + f1 = 0.15F; + + if (this.isInWater()) { + for (int j1 = 0; j1 < 4; ++j1) { + f3 = 0.25F; + this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); + } + + f4 = 0.8F; + } + + this.motionX *= (double) f4; + this.motionY *= (double) f4; + this.motionZ *= (double) f4; + this.motionY -= (double) f1; + this.setPosition(this.posX, this.posY, this.posZ); + this.func_145775_I(); + } + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short) this.xTile); + par1NBTTagCompound.setShort("yTile", (short) this.yTile); + par1NBTTagCompound.setShort("zTile", (short) this.zTile); + par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); + par1NBTTagCompound.setByte("inData", (byte) this.inData); + par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); + par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); + par1NBTTagCompound.setDouble("damage", this.damage); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); + this.inData = par1NBTTagCompound.getByte("inData") & 255; + this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + + if (par1NBTTagCompound.hasKey("damage")) { + this.damage = par1NBTTagCompound.getDouble("damage"); + } + + if (par1NBTTagCompound.hasKey("pickup")) { + this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); + } else if (par1NBTTagCompound.hasKey("player")) { + this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; + } + } + + /** + * Called by a player entity when they collide with an entity + */ + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; + + if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Items.arrow, 1))) { + flag = false; + } + + if (flag) { + this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + par1EntityPlayer.onItemPickup(this, 1); + this.setDead(); + } + } + } + + /** + * returns if this entity triggers Block.onEntityWalking on the blocks they + * walk on. used for spiders and wolves to prevent them from trampling crops + */ + protected boolean canTriggerWalking() { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() { + return 0.0F; + } + + public double getDamage() { + return this.damage; + } + + public void setDamage(double par1) { + this.damage = par1; + } + + /** + * Sets the amount of knockback the arrow applies when it hits a mob. + */ + public void setKnockbackStrength(int par1) { + this.knockbackStrength = par1; + } + + /** + * If returns false, the item will not inflict any damage against entities. + */ + public boolean canAttackWithItem() { + return false; + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind + * it. + */ + public boolean getIsCritical() { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind + * it. + */ + public void setIsCritical(boolean par1) { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + + if (par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } + } + + @Override + public Entity getThrower() { + return shootingEntity; + } + + @Override + public void setThrower(Entity entity) { + shootingEntity = entity; + } + + @Override + public String getTexture() { + return "Atum:textures/projectiles/arrows_exploding.png"; + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java index fb0ec54..4b7725f 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowFire.java @@ -23,516 +23,516 @@ import java.util.List; public class EntityArrowFire extends CustomArrow implements IProjectile, IThrowableEntity { - /** - * 1 if the player can pick up the arrow - */ - public int canBePickedUp = 0; - /** - * Seems to be some sort of timer for animating an arrow. - */ - public int arrowShake = 0; - /** - * The owner of this arrow. - */ - public Entity shootingEntity; - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private Block inTile = null; - private int inData = 0; - private boolean inGround = false; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - - /** - * The amount of knockback an arrow applies when it hits a mob. - */ - private int knockbackStrength; - - public EntityArrowFire(World par1World) { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - } - - public EntityArrowFire(World par1World, double par2, double par4, double par6) { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - this.yOffset = 0.0F; - } - - public EntityArrowFire(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - this.posY = par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; - double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); - - if (d3 >= 1.0E-7D) { - float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float) d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); - } - } - - public EntityArrowFire(World par1World, EntityLivingBase par2EntityLiving, float par3) { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); - this.posY -= 0.10000000149011612D; - this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); - this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); - this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); - } - - protected void entityInit() { - this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z - * direction. - */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double) f2; - par3 /= (double) f2; - par5 /= (double) f2; - par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; - par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; - par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; - par1 *= (double) par7; - par3 *= (double) par7; - par5 *= (double) par7; - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - /** - * Sets the velocity to the args. Args: x, y, z - */ - public void setVelocity(double par1, double par3, double par5) { - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.ticksInGround = 0; - } - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() { - super.onUpdate(); - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { - float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); - } - - Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - - if (i != null) { - i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - - if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { - this.inGround = true; - } - } - - if (this.arrowShake > 0) { - --this.arrowShake; - } - - if (this.inGround) { - Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - - if (j == this.inTile && k == this.inData) { - ++this.ticksInGround; - - if (worldObj.isAirBlock((int) posX, (int) posY, (int) posZ)) - worldObj.setBlock((int) posX, (int) posY, (int) posZ, Blocks.fire); - - if (this.ticksInGround == 1200) { - this.setDead(); - } - } else { - this.inGround = false; - this.motionX *= (double) (this.rand.nextFloat() * 0.2F); - this.motionY *= (double) (this.rand.nextFloat() * 0.2F); - this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } else { - ++this.ticksInAir; - Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); - vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) { - vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - int l; - float f1; - - for (l = 0; l < list.size(); ++l) { - Entity entity1 = (Entity) list.get(l); - - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - - if (movingobjectposition1 != null) { - double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - - if (d1 < d0 || d0 == 0.0D) { - entity = entity1; - d0 = d1; - } - } - } - } - - if (entity != null) { - movingobjectposition = new MovingObjectPosition(entity); - } - - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { - EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; - - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { - movingobjectposition = null; - } - } - - float f2; - float f3; - - if (movingobjectposition != null) { - if (movingobjectposition.entityHit != null) { - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); - - if (this.getIsCritical()) { - i1 += this.rand.nextInt(i1 / 2 + 2); - } - - DamageSource damagesource = null; - - if (this.shootingEntity == null) { - damagesource = DamageSource.causeThrownDamage(this, this); - } else { - damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { - movingobjectposition.entityHit.setFire(5); - } - - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { - if (movingobjectposition.entityHit instanceof EntityLiving) { - EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; - - if (!this.worldObj.isRemote) { - entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); - } - - if (this.knockbackStrength > 0) { - f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - - if (f3 > 0.0F) { - movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); - } - } - - if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) { - EnchantmentHelper.func_151384_a(entityliving, this.shootingEntity); - EnchantmentHelper.func_151385_b((EntityLivingBase) this.shootingEntity, entityliving); - } - - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { - ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); - } - } - - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - - if (!(movingobjectposition.entityHit instanceof EntityEnderman)) { - this.setDead(); - } - } else { - this.motionX *= -0.10000000149011612D; - this.motionY *= -0.10000000149011612D; - this.motionZ *= -0.10000000149011612D; - this.rotationYaw += 180.0F; - this.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } else { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; - this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - - if (this.inTile != null) { - this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } - } - - if (this.getIsCritical() && worldObj.isRemote) { - for (l = 0; l < 4; ++l) { - this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); - } - } - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) { - this.prevRotationYaw -= 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { - this.prevRotationYaw += 360.0F; - } - - this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; - this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; - float f4 = 0.99F; - f1 = 0.05F; - - if (this.isInWater()) { - for (int j1 = 0; j1 < 4; ++j1) { - f3 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); - } - - f4 = 0.45F; - } - - this.motionX *= (double) f4; - this.motionY *= (double) f4; - this.motionZ *= (double) f4; - this.motionY -= (double) f1; - this.setPosition(this.posX, this.posY, this.posZ); - this.func_145775_I(); - } - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - par1NBTTagCompound.setShort("xTile", (short) this.xTile); - par1NBTTagCompound.setShort("yTile", (short) this.yTile); - par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); - par1NBTTagCompound.setByte("inData", (byte) this.inData); - par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - - if (par1NBTTagCompound.hasKey("damage")) { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if (par1NBTTagCompound.hasKey("pickup")) { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } else if (par1NBTTagCompound.hasKey("player")) { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; - } - } - - /** - * Called by a player entity when they collide with an entity - */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - - if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Items.arrow, 1))) { - flag = false; - } - - if (flag) { - this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they - * walk on. used for spiders and wolves to prevent them from trampling crops - */ - protected boolean canTriggerWalking() { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() { - return 0.0F; - } - - public double getDamage() { - return this.damage; - } - - public void setDamage(double par1) { - this.damage = par1; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int par1) { - this.knockbackStrength = par1; - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - public boolean canAttackWithItem() { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind - * it. - */ - public boolean getIsCritical() { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind - * it. - */ - public void setIsCritical(boolean par1) { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); - } else { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); - } - } - - @Override - public Entity getThrower() { - return shootingEntity; - } - - @Override - public void setThrower(Entity entity) { - shootingEntity = entity; - } - - @Override - public String getTexture() { - return "Atum:textures/projectiles/arrows_fire.png"; - } + /** + * 1 if the player can pick up the arrow + */ + public int canBePickedUp = 0; + /** + * Seems to be some sort of timer for animating an arrow. + */ + public int arrowShake = 0; + /** + * The owner of this arrow. + */ + public Entity shootingEntity; + private int xTile = -1; + private int yTile = -1; + private int zTile = -1; + private Block inTile = null; + private int inData = 0; + private boolean inGround = false; + private int ticksInGround; + private int ticksInAir = 0; + private double damage = 2.0D; + + /** + * The amount of knockback an arrow applies when it hits a mob. + */ + private int knockbackStrength; + + public EntityArrowFire(World par1World) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + } + + public EntityArrowFire(World par1World, double par2, double par4, double par6) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.setPosition(par2, par4, par6); + this.yOffset = 0.0F; + } + + public EntityArrowFire(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if (par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.posY = par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + double d0 = par3EntityLiving.posX - par2EntityLiving.posX; + double d1 = par3EntityLiving.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; + double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; + double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); + + if (d3 >= 1.0E-7D) { + float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); + this.yOffset = 0.0F; + float f4 = (float) d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); + } + } + + public EntityArrowFire(World par1World, EntityLivingBase par2EntityLiving, float par3) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if (par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.setSize(0.5F, 0.5F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.posY -= 0.10000000149011612D; + this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.setPosition(this.posX, this.posY, this.posZ); + this.yOffset = 0.0F; + this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); + this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); + } + + protected void entityInit() { + this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); + } + + /** + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z + * direction. + */ + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double) f2; + par3 /= (double) f2; + par5 /= (double) f2; + par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par1 *= (double) par7; + par3 *= (double) par7; + par5 *= (double) par7; + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + /** + * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, + * posY, posZ, yaw, pitch + */ + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { + this.setPosition(par1, par3, par5); + this.setRotation(par7, par8); + } + + @SideOnly(Side.CLIENT) + /** + * Sets the velocity to the args. Args: x, y, z + */ + public void setVelocity(double par1, double par3, double par5) { + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch; + this.prevRotationYaw = this.rotationYaw; + this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); + this.ticksInGround = 0; + } + } + + /** + * Called to update the entity's position/logic. + */ + public void onUpdate() { + super.onUpdate(); + + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); + } + + Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); + + if (i != null) { + i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + + if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { + this.inGround = true; + } + } + + if (this.arrowShake > 0) { + --this.arrowShake; + } + + if (this.inGround) { + Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); + int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + + if (j == this.inTile && k == this.inData) { + ++this.ticksInGround; + + if (worldObj.isAirBlock((int) posX, (int) posY, (int) posZ)) + worldObj.setBlock((int) posX, (int) posY, (int) posZ, Blocks.fire); + + if (this.ticksInGround == 1200) { + this.setDead(); + } + } else { + this.inGround = false; + this.motionX *= (double) (this.rand.nextFloat() * 0.2F); + this.motionY *= (double) (this.rand.nextFloat() * 0.2F); + this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } + } else { + ++this.ticksInAir; + Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); + vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if (movingobjectposition != null) { + vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + int l; + float f1; + + for (l = 0; l < list.size(); ++l) { + Entity entity1 = (Entity) list.get(l); + + if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { + f1 = 0.3F; + AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); + MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); + + if (movingobjectposition1 != null) { + double d1 = vec3.distanceTo(movingobjectposition1.hitVec); + + if (d1 < d0 || d0 == 0.0D) { + entity = entity1; + d0 = d1; + } + } + } + } + + if (entity != null) { + movingobjectposition = new MovingObjectPosition(entity); + } + + if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; + + if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { + movingobjectposition = null; + } + } + + float f2; + float f3; + + if (movingobjectposition != null) { + if (movingobjectposition.entityHit != null) { + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); + + if (this.getIsCritical()) { + i1 += this.rand.nextInt(i1 / 2 + 2); + } + + DamageSource damagesource = null; + + if (this.shootingEntity == null) { + damagesource = DamageSource.causeThrownDamage(this, this); + } else { + damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); + } + + if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + movingobjectposition.entityHit.setFire(5); + } + + if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if (movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; + + if (!this.worldObj.isRemote) { + entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); + } + + if (this.knockbackStrength > 0) { + f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + + if (f3 > 0.0F) { + movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); + } + } + + if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) { + EnchantmentHelper.func_151384_a(entityliving, this.shootingEntity); + EnchantmentHelper.func_151385_b((EntityLivingBase) this.shootingEntity, entityliving); + } + + if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); + } + } + + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + + if (!(movingobjectposition.entityHit instanceof EntityEnderman)) { + this.setDead(); + } + } else { + this.motionX *= -0.10000000149011612D; + this.motionY *= -0.10000000149011612D; + this.motionZ *= -0.10000000149011612D; + this.rotationYaw += 180.0F; + this.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } else { + this.xTile = movingobjectposition.blockX; + this.yTile = movingobjectposition.blockY; + this.zTile = movingobjectposition.blockZ; + this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); + this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); + this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); + this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; + this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; + this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + this.inGround = true; + this.arrowShake = 7; + this.setIsCritical(false); + + if (this.inTile != null) { + this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + } + } + } + + if (this.getIsCritical() && worldObj.isRemote) { + for (l = 0; l < 4; ++l) { + this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); + } + } + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + ; + } + + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { + this.prevRotationPitch += 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw < -180.0F) { + this.prevRotationYaw -= 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { + this.prevRotationYaw += 360.0F; + } + + this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; + this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; + float f4 = 0.99F; + f1 = 0.05F; + + if (this.isInWater()) { + for (int j1 = 0; j1 < 4; ++j1) { + f3 = 0.25F; + this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); + } + + f4 = 0.45F; + } + + this.motionX *= (double) f4; + this.motionY *= (double) f4; + this.motionZ *= (double) f4; + this.motionY -= (double) f1; + this.setPosition(this.posX, this.posY, this.posZ); + this.func_145775_I(); + } + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short) this.xTile); + par1NBTTagCompound.setShort("yTile", (short) this.yTile); + par1NBTTagCompound.setShort("zTile", (short) this.zTile); + par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); + par1NBTTagCompound.setByte("inData", (byte) this.inData); + par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); + par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); + par1NBTTagCompound.setDouble("damage", this.damage); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); + this.inData = par1NBTTagCompound.getByte("inData") & 255; + this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + + if (par1NBTTagCompound.hasKey("damage")) { + this.damage = par1NBTTagCompound.getDouble("damage"); + } + + if (par1NBTTagCompound.hasKey("pickup")) { + this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); + } else if (par1NBTTagCompound.hasKey("player")) { + this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; + } + } + + /** + * Called by a player entity when they collide with an entity + */ + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; + + if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Items.arrow, 1))) { + flag = false; + } + + if (flag) { + this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + par1EntityPlayer.onItemPickup(this, 1); + this.setDead(); + } + } + } + + /** + * returns if this entity triggers Block.onEntityWalking on the blocks they + * walk on. used for spiders and wolves to prevent them from trampling crops + */ + protected boolean canTriggerWalking() { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() { + return 0.0F; + } + + public double getDamage() { + return this.damage; + } + + public void setDamage(double par1) { + this.damage = par1; + } + + /** + * Sets the amount of knockback the arrow applies when it hits a mob. + */ + public void setKnockbackStrength(int par1) { + this.knockbackStrength = par1; + } + + /** + * If returns false, the item will not inflict any damage against entities. + */ + public boolean canAttackWithItem() { + return false; + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind + * it. + */ + public boolean getIsCritical() { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind + * it. + */ + public void setIsCritical(boolean par1) { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + + if (par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } + } + + @Override + public Entity getThrower() { + return shootingEntity; + } + + @Override + public void setThrower(Entity entity) { + shootingEntity = entity; + } + + @Override + public String getTexture() { + return "Atum:textures/projectiles/arrows_fire.png"; + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java index 3fab492..07dcf62 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowPoison.java @@ -24,515 +24,515 @@ import java.util.List; public class EntityArrowPoison extends CustomArrow implements IProjectile, IThrowableEntity { - /** - * 1 if the player can pick up the arrow - */ - public int canBePickedUp = 0; - /** - * Seems to be some sort of timer for animating an arrow. - */ - public int arrowShake = 0; - /** - * The owner of this arrow. - */ - public Entity shootingEntity; - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private Block inTile = null; - private int inData = 0; - private boolean inGround = false; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - - /** - * The amount of knockback an arrow applies when it hits a mob. - */ - private int knockbackStrength; - - public EntityArrowPoison(World par1World) { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - } - - public EntityArrowPoison(World par1World, double par2, double par4, double par6) { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - this.yOffset = 0.0F; - } - - public EntityArrowPoison(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - this.posY = par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; - double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); - - if (d3 >= 1.0E-7D) { - float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float) d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); - } - } - - public EntityArrowPoison(World par1World, EntityLivingBase par2EntityLiving, float par3) { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); - this.posY -= 0.10000000149011612D; - this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); - this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); - this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); - } - - protected void entityInit() { - this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z - * direction. - */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double) f2; - par3 /= (double) f2; - par5 /= (double) f2; - par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; - par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; - par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; - par1 *= (double) par7; - par3 *= (double) par7; - par5 *= (double) par7; - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - /** - * Sets the velocity to the args. Args: x, y, z - */ - public void setVelocity(double par1, double par3, double par5) { - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.ticksInGround = 0; - } - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() { - super.onUpdate(); - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { - float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); - } - - Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - - if (i != null) { - i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - - if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { - this.inGround = true; - } - } - - if (this.arrowShake > 0) { - --this.arrowShake; - } - - if (this.inGround) { - Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - - if (j == this.inTile && k == this.inData) { - ++this.ticksInGround; - - if (this.ticksInGround == 1200) { - this.setDead(); - } - } else { - this.inGround = false; - this.motionX *= (double) (this.rand.nextFloat() * 0.2F); - this.motionY *= (double) (this.rand.nextFloat() * 0.2F); - this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } else { - ++this.ticksInAir; - Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); - vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) { - vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - int l; - float f1; - - for (l = 0; l < list.size(); ++l) { - Entity entity1 = (Entity) list.get(l); - - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - - if (movingobjectposition1 != null) { - double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - - if (d1 < d0 || d0 == 0.0D) { - entity = entity1; - d0 = d1; - } - } - } - } - - if (entity != null) { - movingobjectposition = new MovingObjectPosition(entity); - } - - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { - EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; - - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { - movingobjectposition = null; - } - } - - float f2; - float f3; - - if (movingobjectposition != null) { - if (movingobjectposition.entityHit != null) { - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); - - if (this.getIsCritical()) { - i1 += this.rand.nextInt(i1 / 2 + 2); - } - - DamageSource damagesource = null; - - if (this.shootingEntity == null) { - damagesource = DamageSource.causeThrownDamage(this, this); - } else { - damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { - movingobjectposition.entityHit.setFire(5); - } - - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { - if (movingobjectposition.entityHit instanceof EntityLiving) { - EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; - - entityliving.addPotionEffect(new PotionEffect(Potion.poison.id, 140, 2, false)); - - if (!this.worldObj.isRemote) { - entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); - } - - if (this.knockbackStrength > 0) { - f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - - if (f3 > 0.0F) { - movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); - } - } - - if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) { - EnchantmentHelper.func_151384_a(entityliving, this.shootingEntity); - EnchantmentHelper.func_151385_b((EntityLivingBase) this.shootingEntity, entityliving); - } - - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { - ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); - } - } - - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - - if (!(movingobjectposition.entityHit instanceof EntityEnderman)) { - this.setDead(); - } - } else { - this.motionX *= -0.10000000149011612D; - this.motionY *= -0.10000000149011612D; - this.motionZ *= -0.10000000149011612D; - this.rotationYaw += 180.0F; - this.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } else { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; - this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - - if (this.inTile != null) { - this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } - } - - if (this.getIsCritical() && worldObj.isRemote) { - for (l = 0; l < 4; ++l) { - this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); - } - } - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) { - this.prevRotationYaw -= 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { - this.prevRotationYaw += 360.0F; - } - - this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; - this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; - float f4 = 0.99F; - f1 = 0.05F; - - if (this.isInWater()) { - for (int j1 = 0; j1 < 4; ++j1) { - f3 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); - } - - f4 = 0.45F; - } - - this.motionX *= (double) f4; - this.motionY *= (double) f4; - this.motionZ *= (double) f4; - this.motionY -= (double) f1; - this.setPosition(this.posX, this.posY, this.posZ); - this.func_145775_I(); - } - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - par1NBTTagCompound.setShort("xTile", (short) this.xTile); - par1NBTTagCompound.setShort("yTile", (short) this.yTile); - par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); - par1NBTTagCompound.setByte("inData", (byte) this.inData); - par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - - if (par1NBTTagCompound.hasKey("damage")) { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if (par1NBTTagCompound.hasKey("pickup")) { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } else if (par1NBTTagCompound.hasKey("player")) { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; - } - } - - /** - * Called by a player entity when they collide with an entity - */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - - if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Items.arrow, 1))) { - flag = false; - } - - if (flag) { - this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they - * walk on. used for spiders and wolves to prevent them from trampling crops - */ - protected boolean canTriggerWalking() { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() { - return 0.0F; - } - - public double getDamage() { - return this.damage; - } - - public void setDamage(double par1) { - this.damage = par1; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int par1) { - this.knockbackStrength = par1; - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - public boolean canAttackWithItem() { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind - * it. - */ - public boolean getIsCritical() { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind - * it. - */ - public void setIsCritical(boolean par1) { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); - } else { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); - } - } - - @Override - public Entity getThrower() { - return shootingEntity; - } - - @Override - public void setThrower(Entity entity) { - shootingEntity = entity; - } - - @Override - public String getTexture() { - return "Atum:textures/projectiles/arrows_poison.png"; - } + /** + * 1 if the player can pick up the arrow + */ + public int canBePickedUp = 0; + /** + * Seems to be some sort of timer for animating an arrow. + */ + public int arrowShake = 0; + /** + * The owner of this arrow. + */ + public Entity shootingEntity; + private int xTile = -1; + private int yTile = -1; + private int zTile = -1; + private Block inTile = null; + private int inData = 0; + private boolean inGround = false; + private int ticksInGround; + private int ticksInAir = 0; + private double damage = 2.0D; + + /** + * The amount of knockback an arrow applies when it hits a mob. + */ + private int knockbackStrength; + + public EntityArrowPoison(World par1World) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + } + + public EntityArrowPoison(World par1World, double par2, double par4, double par6) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.setPosition(par2, par4, par6); + this.yOffset = 0.0F; + } + + public EntityArrowPoison(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if (par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.posY = par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + double d0 = par3EntityLiving.posX - par2EntityLiving.posX; + double d1 = par3EntityLiving.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; + double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; + double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); + + if (d3 >= 1.0E-7D) { + float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); + this.yOffset = 0.0F; + float f4 = (float) d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); + } + } + + public EntityArrowPoison(World par1World, EntityLivingBase par2EntityLiving, float par3) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if (par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.setSize(0.5F, 0.5F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.posY -= 0.10000000149011612D; + this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.setPosition(this.posX, this.posY, this.posZ); + this.yOffset = 0.0F; + this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); + this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); + } + + protected void entityInit() { + this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); + } + + /** + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z + * direction. + */ + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double) f2; + par3 /= (double) f2; + par5 /= (double) f2; + par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par1 *= (double) par7; + par3 *= (double) par7; + par5 *= (double) par7; + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + /** + * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, + * posY, posZ, yaw, pitch + */ + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { + this.setPosition(par1, par3, par5); + this.setRotation(par7, par8); + } + + @SideOnly(Side.CLIENT) + /** + * Sets the velocity to the args. Args: x, y, z + */ + public void setVelocity(double par1, double par3, double par5) { + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch; + this.prevRotationYaw = this.rotationYaw; + this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); + this.ticksInGround = 0; + } + } + + /** + * Called to update the entity's position/logic. + */ + public void onUpdate() { + super.onUpdate(); + + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); + } + + Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); + + if (i != null) { + i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + + if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { + this.inGround = true; + } + } + + if (this.arrowShake > 0) { + --this.arrowShake; + } + + if (this.inGround) { + Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); + int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + + if (j == this.inTile && k == this.inData) { + ++this.ticksInGround; + + if (this.ticksInGround == 1200) { + this.setDead(); + } + } else { + this.inGround = false; + this.motionX *= (double) (this.rand.nextFloat() * 0.2F); + this.motionY *= (double) (this.rand.nextFloat() * 0.2F); + this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } + } else { + ++this.ticksInAir; + Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); + vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if (movingobjectposition != null) { + vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + int l; + float f1; + + for (l = 0; l < list.size(); ++l) { + Entity entity1 = (Entity) list.get(l); + + if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { + f1 = 0.3F; + AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); + MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); + + if (movingobjectposition1 != null) { + double d1 = vec3.distanceTo(movingobjectposition1.hitVec); + + if (d1 < d0 || d0 == 0.0D) { + entity = entity1; + d0 = d1; + } + } + } + } + + if (entity != null) { + movingobjectposition = new MovingObjectPosition(entity); + } + + if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; + + if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { + movingobjectposition = null; + } + } + + float f2; + float f3; + + if (movingobjectposition != null) { + if (movingobjectposition.entityHit != null) { + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); + + if (this.getIsCritical()) { + i1 += this.rand.nextInt(i1 / 2 + 2); + } + + DamageSource damagesource = null; + + if (this.shootingEntity == null) { + damagesource = DamageSource.causeThrownDamage(this, this); + } else { + damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); + } + + if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + movingobjectposition.entityHit.setFire(5); + } + + if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if (movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; + + entityliving.addPotionEffect(new PotionEffect(Potion.poison.id, 140, 2, false)); + + if (!this.worldObj.isRemote) { + entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); + } + + if (this.knockbackStrength > 0) { + f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + + if (f3 > 0.0F) { + movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); + } + } + + if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) { + EnchantmentHelper.func_151384_a(entityliving, this.shootingEntity); + EnchantmentHelper.func_151385_b((EntityLivingBase) this.shootingEntity, entityliving); + } + + if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); + } + } + + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + + if (!(movingobjectposition.entityHit instanceof EntityEnderman)) { + this.setDead(); + } + } else { + this.motionX *= -0.10000000149011612D; + this.motionY *= -0.10000000149011612D; + this.motionZ *= -0.10000000149011612D; + this.rotationYaw += 180.0F; + this.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } else { + this.xTile = movingobjectposition.blockX; + this.yTile = movingobjectposition.blockY; + this.zTile = movingobjectposition.blockZ; + this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); + this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); + this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); + this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; + this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; + this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + this.inGround = true; + this.arrowShake = 7; + this.setIsCritical(false); + + if (this.inTile != null) { + this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + } + } + } + + if (this.getIsCritical() && worldObj.isRemote) { + for (l = 0; l < 4; ++l) { + this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); + } + } + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + ; + } + + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { + this.prevRotationPitch += 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw < -180.0F) { + this.prevRotationYaw -= 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { + this.prevRotationYaw += 360.0F; + } + + this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; + this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; + float f4 = 0.99F; + f1 = 0.05F; + + if (this.isInWater()) { + for (int j1 = 0; j1 < 4; ++j1) { + f3 = 0.25F; + this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); + } + + f4 = 0.45F; + } + + this.motionX *= (double) f4; + this.motionY *= (double) f4; + this.motionZ *= (double) f4; + this.motionY -= (double) f1; + this.setPosition(this.posX, this.posY, this.posZ); + this.func_145775_I(); + } + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short) this.xTile); + par1NBTTagCompound.setShort("yTile", (short) this.yTile); + par1NBTTagCompound.setShort("zTile", (short) this.zTile); + par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); + par1NBTTagCompound.setByte("inData", (byte) this.inData); + par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); + par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); + par1NBTTagCompound.setDouble("damage", this.damage); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); + this.inData = par1NBTTagCompound.getByte("inData") & 255; + this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + + if (par1NBTTagCompound.hasKey("damage")) { + this.damage = par1NBTTagCompound.getDouble("damage"); + } + + if (par1NBTTagCompound.hasKey("pickup")) { + this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); + } else if (par1NBTTagCompound.hasKey("player")) { + this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; + } + } + + /** + * Called by a player entity when they collide with an entity + */ + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; + + if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Items.arrow, 1))) { + flag = false; + } + + if (flag) { + this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + par1EntityPlayer.onItemPickup(this, 1); + this.setDead(); + } + } + } + + /** + * returns if this entity triggers Block.onEntityWalking on the blocks they + * walk on. used for spiders and wolves to prevent them from trampling crops + */ + protected boolean canTriggerWalking() { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() { + return 0.0F; + } + + public double getDamage() { + return this.damage; + } + + public void setDamage(double par1) { + this.damage = par1; + } + + /** + * Sets the amount of knockback the arrow applies when it hits a mob. + */ + public void setKnockbackStrength(int par1) { + this.knockbackStrength = par1; + } + + /** + * If returns false, the item will not inflict any damage against entities. + */ + public boolean canAttackWithItem() { + return false; + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind + * it. + */ + public boolean getIsCritical() { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind + * it. + */ + public void setIsCritical(boolean par1) { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + + if (par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } + } + + @Override + public Entity getThrower() { + return shootingEntity; + } + + @Override + public void setThrower(Entity entity) { + shootingEntity = entity; + } + + @Override + public String getTexture() { + return "Atum:textures/projectiles/arrows_poison.png"; + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java index a18f094..7563571 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowQuickdraw.java @@ -22,513 +22,513 @@ import java.util.List; public class EntityArrowQuickdraw extends CustomArrow implements IProjectile, IThrowableEntity { - /** - * 1 if the player can pick up the arrow - */ - public int canBePickedUp = 0; - /** - * Seems to be some sort of timer for animating an arrow. - */ - public int arrowShake = 0; - /** - * The owner of this arrow. - */ - public Entity shootingEntity; - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private Block inTile = null; - private int inData = 0; - private boolean inGround = false; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - - /** - * The amount of knockback an arrow applies when it hits a mob. - */ - private int knockbackStrength; - - public EntityArrowQuickdraw(World par1World) { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - } - - public EntityArrowQuickdraw(World par1World, double par2, double par4, double par6) { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - this.yOffset = 0.0F; - } - - public EntityArrowQuickdraw(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - this.posY = par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; - double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); - - if (d3 >= 1.0E-7D) { - float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float) d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); - } - } - - public EntityArrowQuickdraw(World par1World, EntityLivingBase par2EntityLiving, float par3) { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); - this.posY -= 0.10000000149011612D; - this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); - this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); - this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); - } - - protected void entityInit() { - this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z - * direction. - */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double) f2; - par3 /= (double) f2; - par5 /= (double) f2; - par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; - par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; - par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; - par1 *= (double) par7; - par3 *= (double) par7; - par5 *= (double) par7; - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - /** - * Sets the velocity to the args. Args: x, y, z - */ - public void setVelocity(double par1, double par3, double par5) { - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.ticksInGround = 0; - } - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() { - super.onUpdate(); - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { - float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); - } - - Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - - if (i != null) { - i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - - if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { - this.inGround = true; - } - } - - if (this.arrowShake > 0) { - --this.arrowShake; - } - - if (this.inGround) { - Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - - if (j == this.inTile && k == this.inData) { - ++this.ticksInGround; - - if (this.ticksInGround == 1200) { - this.setDead(); - } - } else { - this.inGround = false; - this.motionX *= (double) (this.rand.nextFloat() * 0.2F); - this.motionY *= (double) (this.rand.nextFloat() * 0.2F); - this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } else { - ++this.ticksInAir; - Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); - vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) { - vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - int l; - float f1; - - for (l = 0; l < list.size(); ++l) { - Entity entity1 = (Entity) list.get(l); - - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - - if (movingobjectposition1 != null) { - double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - - if (d1 < d0 || d0 == 0.0D) { - entity = entity1; - d0 = d1; - } - } - } - } - - if (entity != null) { - movingobjectposition = new MovingObjectPosition(entity); - } - - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { - EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; - - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { - movingobjectposition = null; - } - } - - float f2; - float f3; - - if (movingobjectposition != null) { - if (movingobjectposition.entityHit != null) { - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); - - if (this.getIsCritical()) { - i1 += this.rand.nextInt(i1 / 2 + 2); - } - - DamageSource damagesource = null; - - if (this.shootingEntity == null) { - damagesource = DamageSource.causeThrownDamage(this, this); - } else { - damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { - movingobjectposition.entityHit.setFire(5); - } - - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { - if (movingobjectposition.entityHit instanceof EntityLiving) { - EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; - - if (!this.worldObj.isRemote) { - entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); - } - - if (this.knockbackStrength > 0) { - f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - - if (f3 > 0.0F) { - movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); - } - } - - if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) { - EnchantmentHelper.func_151384_a(entityliving, this.shootingEntity); - EnchantmentHelper.func_151385_b((EntityLivingBase) this.shootingEntity, entityliving); - } - - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { - ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); - } - } - - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - - if (!(movingobjectposition.entityHit instanceof EntityEnderman)) { - this.setDead(); - } - } else { - this.motionX *= -0.10000000149011612D; - this.motionY *= -0.10000000149011612D; - this.motionZ *= -0.10000000149011612D; - this.rotationYaw += 180.0F; - this.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } else { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; - this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - - if (this.inTile != null) { - this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } - } - - if (this.getIsCritical() && worldObj.isRemote) { - for (l = 0; l < 4; ++l) { - this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); - } - } - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) { - this.prevRotationYaw -= 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { - this.prevRotationYaw += 360.0F; - } - - this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; - this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; - float f4 = 0.99F; - f1 = 0.05F; - - if (this.isInWater()) { - for (int j1 = 0; j1 < 4; ++j1) { - f3 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); - } - - f4 = 0.45F; - } - - this.motionX *= (double) f4; - this.motionY *= (double) f4; - this.motionZ *= (double) f4; - this.motionY -= (double) f1; - this.setPosition(this.posX, this.posY, this.posZ); - this.func_145775_I(); - } - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - par1NBTTagCompound.setShort("xTile", (short) this.xTile); - par1NBTTagCompound.setShort("yTile", (short) this.yTile); - par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); - par1NBTTagCompound.setByte("inData", (byte) this.inData); - par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - - if (par1NBTTagCompound.hasKey("damage")) { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if (par1NBTTagCompound.hasKey("pickup")) { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } else if (par1NBTTagCompound.hasKey("player")) { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; - } - } - - /** - * Called by a player entity when they collide with an entity - */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - - if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Items.arrow, 1))) { - flag = false; - } - - if (flag) { - this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they - * walk on. used for spiders and wolves to prevent them from trampling crops - */ - protected boolean canTriggerWalking() { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() { - return 0.0F; - } - - public double getDamage() { - return this.damage; - } - - public void setDamage(double par1) { - this.damage = par1; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int par1) { - this.knockbackStrength = par1; - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - public boolean canAttackWithItem() { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind - * it. - */ - public boolean getIsCritical() { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind - * it. - */ - public void setIsCritical(boolean par1) { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); - } else { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); - } - } - - @Override - public Entity getThrower() { - return shootingEntity; - } - - @Override - public void setThrower(Entity entity) { - shootingEntity = entity; - } - - @Override - public String getTexture() { - return "Atum:textures/projectiles/arrows_quickdraw.png"; - } + /** + * 1 if the player can pick up the arrow + */ + public int canBePickedUp = 0; + /** + * Seems to be some sort of timer for animating an arrow. + */ + public int arrowShake = 0; + /** + * The owner of this arrow. + */ + public Entity shootingEntity; + private int xTile = -1; + private int yTile = -1; + private int zTile = -1; + private Block inTile = null; + private int inData = 0; + private boolean inGround = false; + private int ticksInGround; + private int ticksInAir = 0; + private double damage = 2.0D; + + /** + * The amount of knockback an arrow applies when it hits a mob. + */ + private int knockbackStrength; + + public EntityArrowQuickdraw(World par1World) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + } + + public EntityArrowQuickdraw(World par1World, double par2, double par4, double par6) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.setPosition(par2, par4, par6); + this.yOffset = 0.0F; + } + + public EntityArrowQuickdraw(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if (par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.posY = par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + double d0 = par3EntityLiving.posX - par2EntityLiving.posX; + double d1 = par3EntityLiving.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; + double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; + double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); + + if (d3 >= 1.0E-7D) { + float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); + this.yOffset = 0.0F; + float f4 = (float) d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); + } + } + + public EntityArrowQuickdraw(World par1World, EntityLivingBase par2EntityLiving, float par3) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if (par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.setSize(0.5F, 0.5F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.posY -= 0.10000000149011612D; + this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.setPosition(this.posX, this.posY, this.posZ); + this.yOffset = 0.0F; + this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); + this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); + } + + protected void entityInit() { + this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); + } + + /** + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z + * direction. + */ + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double) f2; + par3 /= (double) f2; + par5 /= (double) f2; + par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par1 *= (double) par7; + par3 *= (double) par7; + par5 *= (double) par7; + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + /** + * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, + * posY, posZ, yaw, pitch + */ + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { + this.setPosition(par1, par3, par5); + this.setRotation(par7, par8); + } + + @SideOnly(Side.CLIENT) + /** + * Sets the velocity to the args. Args: x, y, z + */ + public void setVelocity(double par1, double par3, double par5) { + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch; + this.prevRotationYaw = this.rotationYaw; + this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); + this.ticksInGround = 0; + } + } + + /** + * Called to update the entity's position/logic. + */ + public void onUpdate() { + super.onUpdate(); + + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); + } + + Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); + + if (i != null) { + i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + + if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { + this.inGround = true; + } + } + + if (this.arrowShake > 0) { + --this.arrowShake; + } + + if (this.inGround) { + Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); + int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + + if (j == this.inTile && k == this.inData) { + ++this.ticksInGround; + + if (this.ticksInGround == 1200) { + this.setDead(); + } + } else { + this.inGround = false; + this.motionX *= (double) (this.rand.nextFloat() * 0.2F); + this.motionY *= (double) (this.rand.nextFloat() * 0.2F); + this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } + } else { + ++this.ticksInAir; + Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); + vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if (movingobjectposition != null) { + vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + int l; + float f1; + + for (l = 0; l < list.size(); ++l) { + Entity entity1 = (Entity) list.get(l); + + if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { + f1 = 0.3F; + AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); + MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); + + if (movingobjectposition1 != null) { + double d1 = vec3.distanceTo(movingobjectposition1.hitVec); + + if (d1 < d0 || d0 == 0.0D) { + entity = entity1; + d0 = d1; + } + } + } + } + + if (entity != null) { + movingobjectposition = new MovingObjectPosition(entity); + } + + if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; + + if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { + movingobjectposition = null; + } + } + + float f2; + float f3; + + if (movingobjectposition != null) { + if (movingobjectposition.entityHit != null) { + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); + + if (this.getIsCritical()) { + i1 += this.rand.nextInt(i1 / 2 + 2); + } + + DamageSource damagesource = null; + + if (this.shootingEntity == null) { + damagesource = DamageSource.causeThrownDamage(this, this); + } else { + damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); + } + + if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + movingobjectposition.entityHit.setFire(5); + } + + if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if (movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; + + if (!this.worldObj.isRemote) { + entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); + } + + if (this.knockbackStrength > 0) { + f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + + if (f3 > 0.0F) { + movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); + } + } + + if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) { + EnchantmentHelper.func_151384_a(entityliving, this.shootingEntity); + EnchantmentHelper.func_151385_b((EntityLivingBase) this.shootingEntity, entityliving); + } + + if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); + } + } + + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + + if (!(movingobjectposition.entityHit instanceof EntityEnderman)) { + this.setDead(); + } + } else { + this.motionX *= -0.10000000149011612D; + this.motionY *= -0.10000000149011612D; + this.motionZ *= -0.10000000149011612D; + this.rotationYaw += 180.0F; + this.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } else { + this.xTile = movingobjectposition.blockX; + this.yTile = movingobjectposition.blockY; + this.zTile = movingobjectposition.blockZ; + this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); + this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); + this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); + this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; + this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; + this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + this.inGround = true; + this.arrowShake = 7; + this.setIsCritical(false); + + if (this.inTile != null) { + this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + } + } + } + + if (this.getIsCritical() && worldObj.isRemote) { + for (l = 0; l < 4; ++l) { + this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); + } + } + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + ; + } + + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { + this.prevRotationPitch += 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw < -180.0F) { + this.prevRotationYaw -= 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { + this.prevRotationYaw += 360.0F; + } + + this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; + this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; + float f4 = 0.99F; + f1 = 0.05F; + + if (this.isInWater()) { + for (int j1 = 0; j1 < 4; ++j1) { + f3 = 0.25F; + this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); + } + + f4 = 0.45F; + } + + this.motionX *= (double) f4; + this.motionY *= (double) f4; + this.motionZ *= (double) f4; + this.motionY -= (double) f1; + this.setPosition(this.posX, this.posY, this.posZ); + this.func_145775_I(); + } + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short) this.xTile); + par1NBTTagCompound.setShort("yTile", (short) this.yTile); + par1NBTTagCompound.setShort("zTile", (short) this.zTile); + par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); + par1NBTTagCompound.setByte("inData", (byte) this.inData); + par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); + par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); + par1NBTTagCompound.setDouble("damage", this.damage); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); + this.inData = par1NBTTagCompound.getByte("inData") & 255; + this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + + if (par1NBTTagCompound.hasKey("damage")) { + this.damage = par1NBTTagCompound.getDouble("damage"); + } + + if (par1NBTTagCompound.hasKey("pickup")) { + this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); + } else if (par1NBTTagCompound.hasKey("player")) { + this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; + } + } + + /** + * Called by a player entity when they collide with an entity + */ + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; + + if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Items.arrow, 1))) { + flag = false; + } + + if (flag) { + this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + par1EntityPlayer.onItemPickup(this, 1); + this.setDead(); + } + } + } + + /** + * returns if this entity triggers Block.onEntityWalking on the blocks they + * walk on. used for spiders and wolves to prevent them from trampling crops + */ + protected boolean canTriggerWalking() { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() { + return 0.0F; + } + + public double getDamage() { + return this.damage; + } + + public void setDamage(double par1) { + this.damage = par1; + } + + /** + * Sets the amount of knockback the arrow applies when it hits a mob. + */ + public void setKnockbackStrength(int par1) { + this.knockbackStrength = par1; + } + + /** + * If returns false, the item will not inflict any damage against entities. + */ + public boolean canAttackWithItem() { + return false; + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind + * it. + */ + public boolean getIsCritical() { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind + * it. + */ + public void setIsCritical(boolean par1) { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + + if (par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } + } + + @Override + public Entity getThrower() { + return shootingEntity; + } + + @Override + public void setThrower(Entity entity) { + shootingEntity = entity; + } + + @Override + public String getTexture() { + return "Atum:textures/projectiles/arrows_quickdraw.png"; + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java index fb10a64..b62d076 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityArrowVelocity.java @@ -22,513 +22,513 @@ import java.util.List; public class EntityArrowVelocity extends CustomArrow implements IProjectile, IThrowableEntity { - /** - * 1 if the player can pick up the arrow - */ - public int canBePickedUp = 0; - /** - * Seems to be some sort of timer for animating an arrow. - */ - public int arrowShake = 0; - /** - * The owner of this arrow. - */ - public Entity shootingEntity; - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private Block inTile = null; - private int inData = 0; - private boolean inGround = false; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - - /** - * The amount of knockback an arrow applies when it hits a mob. - */ - private int knockbackStrength; - - public EntityArrowVelocity(World par1World) { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - } - - public EntityArrowVelocity(World par1World, double par2, double par4, double par6) { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - this.setPosition(par2, par4, par6); - this.yOffset = 0.0F; - } - - public EntityArrowVelocity(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - this.posY = par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; - double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); - - if (d3 >= 1.0E-7D) { - float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float) d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); - } - } - - public EntityArrowVelocity(World par1World, EntityLivingBase par2EntityLiving, float par3) { - super(par1World); - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - this.setSize(0.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); - this.posY -= 0.10000000149011612D; - this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); - this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); - this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); - } - - protected void entityInit() { - this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z - * direction. - */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double) f2; - par3 /= (double) f2; - par5 /= (double) f2; - par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; - par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; - par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; - par1 *= (double) par7; - par3 *= (double) par7; - par5 *= (double) par7; - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - /** - * Sets the velocity to the args. Args: x, y, z - */ - public void setVelocity(double par1, double par3, double par5) { - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.ticksInGround = 0; - } - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() { - super.onUpdate(); - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { - float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); - } - - Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - - if (i != null) { - i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - - if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { - this.inGround = true; - } - } - - if (this.arrowShake > 0) { - --this.arrowShake; - } - - if (this.inGround) { - Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - - if (j == this.inTile && k == this.inData) { - ++this.ticksInGround; - - if (this.ticksInGround == 1200) { - this.setDead(); - } - } else { - this.inGround = false; - this.motionX *= (double) (this.rand.nextFloat() * 0.2F); - this.motionY *= (double) (this.rand.nextFloat() * 0.2F); - this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } else { - ++this.ticksInAir; - Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); - vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) { - vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - int l; - float f1; - - for (l = 0; l < list.size(); ++l) { - Entity entity1 = (Entity) list.get(l); - - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - - if (movingobjectposition1 != null) { - double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - - if (d1 < d0 || d0 == 0.0D) { - entity = entity1; - d0 = d1; - } - } - } - } - - if (entity != null) { - movingobjectposition = new MovingObjectPosition(entity); - } - - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { - EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; - - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { - movingobjectposition = null; - } - } - - float f2; - float f3; - - if (movingobjectposition != null) { - if (movingobjectposition.entityHit != null) { - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); - - if (this.getIsCritical()) { - i1 += this.rand.nextInt(i1 / 2 + 2); - } - - DamageSource damagesource = null; - - if (this.shootingEntity == null) { - damagesource = DamageSource.causeThrownDamage(this, this); - } else { - damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { - movingobjectposition.entityHit.setFire(5); - } - - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { - if (movingobjectposition.entityHit instanceof EntityLiving) { - EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; - - if (!this.worldObj.isRemote) { - entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); - } - - if (this.knockbackStrength > 0) { - f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - - if (f3 > 0.0F) { - movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); - } - } - - if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) { - EnchantmentHelper.func_151384_a(entityliving, this.shootingEntity); - EnchantmentHelper.func_151385_b((EntityLivingBase) this.shootingEntity, entityliving); - } - - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { - ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); - } - } - - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - - if (!(movingobjectposition.entityHit instanceof EntityEnderman)) { - this.setDead(); - } - } else { - this.motionX *= -0.10000000149011612D; - this.motionY *= -0.10000000149011612D; - this.motionZ *= -0.10000000149011612D; - this.rotationYaw += 180.0F; - this.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } else { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; - this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - - if (this.inTile != null) { - this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } - } - - if (this.getIsCritical() && worldObj.isRemote) { - for (l = 0; l < 4; ++l) { - this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); - } - } - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) { - this.prevRotationYaw -= 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { - this.prevRotationYaw += 360.0F; - } - - this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; - this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; - float f4 = 0.99F; - f1 = 0.05F; - - if (this.isInWater()) { - for (int j1 = 0; j1 < 4; ++j1) { - f3 = 0.5F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); - } - - f4 = 0.9F; - } - - this.motionX *= (double) f4; - this.motionY *= (double) f4; - this.motionZ *= (double) f4; - this.motionY -= (double) Math.min(0.05, f1 / (motionX * motionX + motionZ * motionZ)); - this.setPosition(this.posX, this.posY, this.posZ); - this.func_145775_I(); - } - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - par1NBTTagCompound.setShort("xTile", (short) this.xTile); - par1NBTTagCompound.setShort("yTile", (short) this.yTile); - par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); - par1NBTTagCompound.setByte("inData", (byte) this.inData); - par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - - if (par1NBTTagCompound.hasKey("damage")) { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if (par1NBTTagCompound.hasKey("pickup")) { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } else if (par1NBTTagCompound.hasKey("player")) { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; - } - } - - /** - * Called by a player entity when they collide with an entity - */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - - if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Items.arrow, 1))) { - flag = false; - } - - if (flag) { - this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they - * walk on. used for spiders and wolves to prevent them from trampling crops - */ - protected boolean canTriggerWalking() { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() { - return 0.0F; - } - - public double getDamage() { - return this.damage; - } - - public void setDamage(double par1) { - this.damage = par1; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int par1) { - this.knockbackStrength = par1; - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - public boolean canAttackWithItem() { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind - * it. - */ - public boolean getIsCritical() { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind - * it. - */ - public void setIsCritical(boolean par1) { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); - } else { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); - } - } - - @Override - public Entity getThrower() { - return shootingEntity; - } - - @Override - public void setThrower(Entity entity) { - shootingEntity = entity; - } - - @Override - public String getTexture() { - return "Atum:textures/projectiles/arrows_velocity.png"; - } + /** + * 1 if the player can pick up the arrow + */ + public int canBePickedUp = 0; + /** + * Seems to be some sort of timer for animating an arrow. + */ + public int arrowShake = 0; + /** + * The owner of this arrow. + */ + public Entity shootingEntity; + private int xTile = -1; + private int yTile = -1; + private int zTile = -1; + private Block inTile = null; + private int inData = 0; + private boolean inGround = false; + private int ticksInGround; + private int ticksInAir = 0; + private double damage = 2.0D; + + /** + * The amount of knockback an arrow applies when it hits a mob. + */ + private int knockbackStrength; + + public EntityArrowVelocity(World par1World) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + } + + public EntityArrowVelocity(World par1World, double par2, double par4, double par6) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + this.setPosition(par2, par4, par6); + this.yOffset = 0.0F; + } + + public EntityArrowVelocity(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if (par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.posY = par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + double d0 = par3EntityLiving.posX - par2EntityLiving.posX; + double d1 = par3EntityLiving.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; + double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; + double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); + + if (d3 >= 1.0E-7D) { + float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); + this.yOffset = 0.0F; + float f4 = (float) d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); + } + } + + public EntityArrowVelocity(World par1World, EntityLivingBase par2EntityLiving, float par3) { + super(par1World); + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if (par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.setSize(0.5F, 0.5F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.posY -= 0.10000000149011612D; + this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.setPosition(this.posX, this.posY, this.posZ); + this.yOffset = 0.0F; + this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); + this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); + } + + protected void entityInit() { + this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); + } + + /** + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z + * direction. + */ + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double) f2; + par3 /= (double) f2; + par5 /= (double) f2; + par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par1 *= (double) par7; + par3 *= (double) par7; + par5 *= (double) par7; + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + /** + * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, + * posY, posZ, yaw, pitch + */ + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { + this.setPosition(par1, par3, par5); + this.setRotation(par7, par8); + } + + @SideOnly(Side.CLIENT) + /** + * Sets the velocity to the args. Args: x, y, z + */ + public void setVelocity(double par1, double par3, double par5) { + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch; + this.prevRotationYaw = this.rotationYaw; + this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); + this.ticksInGround = 0; + } + } + + /** + * Called to update the entity's position/logic. + */ + public void onUpdate() { + super.onUpdate(); + + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); + } + + Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); + + if (i != null) { + i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + + if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { + this.inGround = true; + } + } + + if (this.arrowShake > 0) { + --this.arrowShake; + } + + if (this.inGround) { + Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); + int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + + if (j == this.inTile && k == this.inData) { + ++this.ticksInGround; + + if (this.ticksInGround == 1200) { + this.setDead(); + } + } else { + this.inGround = false; + this.motionX *= (double) (this.rand.nextFloat() * 0.2F); + this.motionY *= (double) (this.rand.nextFloat() * 0.2F); + this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } + } else { + ++this.ticksInAir; + Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); + vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if (movingobjectposition != null) { + vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + int l; + float f1; + + for (l = 0; l < list.size(); ++l) { + Entity entity1 = (Entity) list.get(l); + + if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { + f1 = 0.3F; + AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); + MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); + + if (movingobjectposition1 != null) { + double d1 = vec3.distanceTo(movingobjectposition1.hitVec); + + if (d1 < d0 || d0 == 0.0D) { + entity = entity1; + d0 = d1; + } + } + } + } + + if (entity != null) { + movingobjectposition = new MovingObjectPosition(entity); + } + + if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; + + if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { + movingobjectposition = null; + } + } + + float f2; + float f3; + + if (movingobjectposition != null) { + if (movingobjectposition.entityHit != null) { + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); + + if (this.getIsCritical()) { + i1 += this.rand.nextInt(i1 / 2 + 2); + } + + DamageSource damagesource = null; + + if (this.shootingEntity == null) { + damagesource = DamageSource.causeThrownDamage(this, this); + } else { + damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); + } + + if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + movingobjectposition.entityHit.setFire(5); + } + + if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if (movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; + + if (!this.worldObj.isRemote) { + entityliving.setArrowCountInEntity(entityliving.getArrowCountInEntity() + 1); + } + + if (this.knockbackStrength > 0) { + f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + + if (f3 > 0.0F) { + movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); + } + } + + if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) { + EnchantmentHelper.func_151384_a(entityliving, this.shootingEntity); + EnchantmentHelper.func_151385_b((EntityLivingBase) this.shootingEntity, entityliving); + } + + if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); + } + } + + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + + if (!(movingobjectposition.entityHit instanceof EntityEnderman)) { + this.setDead(); + } + } else { + this.motionX *= -0.10000000149011612D; + this.motionY *= -0.10000000149011612D; + this.motionZ *= -0.10000000149011612D; + this.rotationYaw += 180.0F; + this.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } else { + this.xTile = movingobjectposition.blockX; + this.yTile = movingobjectposition.blockY; + this.zTile = movingobjectposition.blockZ; + this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); + this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); + this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); + this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; + this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; + this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + this.inGround = true; + this.arrowShake = 7; + this.setIsCritical(false); + + if (this.inTile != null) { + this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + } + } + } + + if (this.getIsCritical() && worldObj.isRemote) { + for (l = 0; l < 4; ++l) { + this.worldObj.spawnParticle("coloredcrit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); + } + } + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + ; + } + + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { + this.prevRotationPitch += 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw < -180.0F) { + this.prevRotationYaw -= 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { + this.prevRotationYaw += 360.0F; + } + + this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; + this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; + float f4 = 0.99F; + f1 = 0.05F; + + if (this.isInWater()) { + for (int j1 = 0; j1 < 4; ++j1) { + f3 = 0.5F; + this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); + } + + f4 = 0.9F; + } + + this.motionX *= (double) f4; + this.motionY *= (double) f4; + this.motionZ *= (double) f4; + this.motionY -= (double) Math.min(0.05, f1 / (motionX * motionX + motionZ * motionZ)); + this.setPosition(this.posX, this.posY, this.posZ); + this.func_145775_I(); + } + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short) this.xTile); + par1NBTTagCompound.setShort("yTile", (short) this.yTile); + par1NBTTagCompound.setShort("zTile", (short) this.zTile); + par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); + par1NBTTagCompound.setByte("inData", (byte) this.inData); + par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); + par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); + par1NBTTagCompound.setDouble("damage", this.damage); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); + this.inData = par1NBTTagCompound.getByte("inData") & 255; + this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + + if (par1NBTTagCompound.hasKey("damage")) { + this.damage = par1NBTTagCompound.getDouble("damage"); + } + + if (par1NBTTagCompound.hasKey("pickup")) { + this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); + } else if (par1NBTTagCompound.hasKey("player")) { + this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; + } + } + + /** + * Called by a player entity when they collide with an entity + */ + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; + + if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Items.arrow, 1))) { + flag = false; + } + + if (flag) { + this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + par1EntityPlayer.onItemPickup(this, 1); + this.setDead(); + } + } + } + + /** + * returns if this entity triggers Block.onEntityWalking on the blocks they + * walk on. used for spiders and wolves to prevent them from trampling crops + */ + protected boolean canTriggerWalking() { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() { + return 0.0F; + } + + public double getDamage() { + return this.damage; + } + + public void setDamage(double par1) { + this.damage = par1; + } + + /** + * Sets the amount of knockback the arrow applies when it hits a mob. + */ + public void setKnockbackStrength(int par1) { + this.knockbackStrength = par1; + } + + /** + * If returns false, the item will not inflict any damage against entities. + */ + public boolean canAttackWithItem() { + return false; + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind + * it. + */ + public boolean getIsCritical() { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind + * it. + */ + public void setIsCritical(boolean par1) { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + + if (par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } + } + + @Override + public Entity getThrower() { + return shootingEntity; + } + + @Override + public void setThrower(Entity entity) { + shootingEntity = entity; + } + + @Override + public String getTexture() { + return "Atum:textures/projectiles/arrows_velocity.png"; + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java index f8ad1e2..7d75c00 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java @@ -22,450 +22,450 @@ import java.util.List; public class EntityAtumFishHook extends EntityFishHook { - public int shake; - public EntityPlayer angler; - /** - * The entity that the fishing rod is connected to, if any. When you right - * click on the fishing rod and the hook falls on to an entity, this it that - * entity. - */ - public Entity bobber; - /** - * The tile this entity is on, X position - */ - private int xTile; - /** - * The tile this entity is on, Y position - */ - private int yTile; - /** - * The tile this entity is on, Z position - */ - private int zTile; - private Block inTile; - private boolean inGround; - private int ticksInGround; - private int ticksInAir; - /** - * the number of ticks remaining until this fish can no longer be caught - */ - private int ticksCatchable; - private int fishPosRotationIncrements; - private double fishX; - private double fishY; - private double fishZ; - private double fishYaw; - private double fishPitch; - @SideOnly(Side.CLIENT) - private double velocityX; - @SideOnly(Side.CLIENT) - private double velocityY; - @SideOnly(Side.CLIENT) - private double velocityZ; - - public EntityAtumFishHook(World par1World) { - super(par1World); - this.xTile = -1; - this.yTile = -1; - this.zTile = -1; - this.inTile = null; - this.inGround = false; - this.shake = 0; - this.ticksInAir = 0; - this.ticksCatchable = 0; - this.bobber = null; - this.setSize(0.25F, 0.25F); - this.ignoreFrustumCheck = true; - } - - @SideOnly(Side.CLIENT) - public EntityAtumFishHook(World par1World, double par2, double par4, double par6, EntityPlayer par8EntityPlayer) { - this(par1World); - this.setPosition(par2, par4, par6); - this.ignoreFrustumCheck = true; - this.angler = par8EntityPlayer; - par8EntityPlayer.fishEntity = this; - } - - public EntityAtumFishHook(World par1World, EntityPlayer par2EntityPlayer) { - super(par1World); - this.xTile = -1; - this.yTile = -1; - this.zTile = -1; - this.inTile = null; - this.inGround = false; - this.shake = 0; - this.ticksInAir = 0; - this.ticksCatchable = 0; - this.bobber = null; - this.ignoreFrustumCheck = true; - this.angler = par2EntityPlayer; - this.angler.fishEntity = this; - this.setSize(0.25F, 0.25F); - this.setLocationAndAngles(par2EntityPlayer.posX, par2EntityPlayer.posY + 1.62D - (double) par2EntityPlayer.yOffset, par2EntityPlayer.posZ, par2EntityPlayer.rotationYaw, par2EntityPlayer.rotationPitch); - this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); - this.posY -= 0.10000000149011612D; - this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - float f = 0.4F; - this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI) * f); - this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI) * f); - this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI) * f); - this.calculateVelocity(this.motionX, this.motionY, this.motionZ, 1.5F, 1.0F); - } - - protected void entityInit() { - } - - @SideOnly(Side.CLIENT) - /** - * Checks if the entity is in range to render by using the past in distance and comparing it to its average edge - * length * 64 * renderDistanceWeight Args: distance - */ - public boolean isInRangeToRenderDist(double par1) { - double d1 = this.boundingBox.getAverageEdgeLength() * 4.0D; - d1 *= 64.0D; - return par1 < d1 * d1; - } - - public void calculateVelocity(double par1, double par3, double par5, float par7, float par8) { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double) f2; - par3 /= (double) f2; - par5 /= (double) f2; - par1 += this.rand.nextGaussian() * 0.007499999832361937D * (double) par8; - par3 += this.rand.nextGaussian() * 0.007499999832361937D * (double) par8; - par5 += this.rand.nextGaussian() * 0.007499999832361937D * (double) par8; - par1 *= (double) par7; - par3 *= (double) par7; - par5 *= (double) par7; - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { - this.fishX = par1; - this.fishY = par3; - this.fishZ = par5; - this.fishYaw = (double) par7; - this.fishPitch = (double) par8; - this.fishPosRotationIncrements = par9; - this.motionX = this.velocityX; - this.motionY = this.velocityY; - this.motionZ = this.velocityZ; - } - - @SideOnly(Side.CLIENT) - /** - * Sets the velocity to the args. Args: x, y, z - */ - public void setVelocity(double par1, double par3, double par5) { - this.velocityX = this.motionX = par1; - this.velocityY = this.motionY = par3; - this.velocityZ = this.motionZ = par5; - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() { - this.onEntityUpdate(); - - if (this.fishPosRotationIncrements > 0) { - double d0 = this.posX + (this.fishX - this.posX) / (double) this.fishPosRotationIncrements; - double d1 = this.posY + (this.fishY - this.posY) / (double) this.fishPosRotationIncrements; - double d2 = this.posZ + (this.fishZ - this.posZ) / (double) this.fishPosRotationIncrements; - double d3 = MathHelper.wrapAngleTo180_double(this.fishYaw - (double) this.rotationYaw); - this.rotationYaw = (float) ((double) this.rotationYaw + d3 / (double) this.fishPosRotationIncrements); - this.rotationPitch = (float) ((double) this.rotationPitch + (this.fishPitch - (double) this.rotationPitch) / (double) this.fishPosRotationIncrements); - --this.fishPosRotationIncrements; - this.setPosition(d0, d1, d2); - this.setRotation(this.rotationYaw, this.rotationPitch); - } else { - if (!this.worldObj.isRemote) { - ItemStack itemstack = this.angler.getCurrentEquippedItem(); - - if (this.angler.isDead || !this.angler.isEntityAlive() || itemstack == null || itemstack.getItem() != AtumItems.anuketsBounty || this.getDistanceSqToEntity(this.angler) > 1024.0D) { - this.setDead(); - this.angler.fishEntity = null; - return; - } - - if (this.bobber != null) { - if (!this.bobber.isDead) { - this.posX = this.bobber.posX; - this.posY = this.bobber.boundingBox.minY + (double) this.bobber.height * 0.8D; - this.posZ = this.bobber.posZ; - return; - } - - this.bobber = null; - } - } - - if (this.shake > 0) { - --this.shake; - } - - if (this.inGround) { - Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - - if (i == this.inTile) { - ++this.ticksInGround; - - if (this.ticksInGround == 1200) { - this.setDead(); - } - - return; - } - - this.inGround = false; - this.motionX *= (double) (this.rand.nextFloat() * 0.2F); - this.motionY *= (double) (this.rand.nextFloat() * 0.2F); - this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } else { - ++this.ticksInAir; - } - - Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks(vec3, vec31); - vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) { - vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d4 = 0.0D; - double d5; - - for (int j = 0; j < list.size(); ++j) { - Entity entity1 = (Entity) list.get(j); - - if (entity1.canBeCollidedWith() && (entity1 != this.angler || this.ticksInAir >= 5)) { - float f = 0.3F; - AxisAlignedBB axisalignedbb = entity1.boundingBox.expand((double) f, (double) f, (double) f); - MovingObjectPosition movingobjectposition1 = axisalignedbb.calculateIntercept(vec3, vec31); - - if (movingobjectposition1 != null) { - d5 = vec3.distanceTo(movingobjectposition1.hitVec); - - if (d5 < d4 || d4 == 0.0D) { - entity = entity1; - d4 = d5; - } - } - } - } - - if (entity != null) { - movingobjectposition = new MovingObjectPosition(entity); - } - - if (movingobjectposition != null) { - if (movingobjectposition.entityHit != null) { - if (movingobjectposition.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.angler), 0)) { - this.bobber = movingobjectposition.entityHit; - } - } else { - this.inGround = true; - } - } - - if (!this.inGround) { - this.moveEntity(this.motionX, this.motionY, this.motionZ); - float f1 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f1) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) { - this.prevRotationYaw -= 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { - this.prevRotationYaw += 360.0F; - } - - this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; - this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; - float f2 = 0.92F; - - if (this.onGround || this.isCollidedHorizontally) { - f2 = 0.5F; - } - - byte b0 = 5; - double d6 = 0.0D; - - for (int k = 0; k < b0; ++k) { - double d7 = this.boundingBox.minY + (this.boundingBox.maxY - this.boundingBox.minY) * (double) (k + 0) / (double) b0 - 0.125D + 0.125D; - double d8 = this.boundingBox.minY + (this.boundingBox.maxY - this.boundingBox.minY) * (double) (k + 1) / (double) b0 - 0.125D + 0.125D; - AxisAlignedBB axisalignedbb1 = AxisAlignedBB.getBoundingBox(this.boundingBox.minX, d7, this.boundingBox.minZ, this.boundingBox.maxX, d8, this.boundingBox.maxZ); - - if (this.worldObj.isAABBInMaterial(axisalignedbb1, Material.water)) { - d6 += 1.0D / (double) b0; - } - } - - if (d6 > 0.0D) { - if (this.ticksCatchable > 0) { - --this.ticksCatchable; - } else { - short short1 = 500; - - if (this.worldObj.canLightningStrikeAt(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY) + 1, MathHelper.floor_double(this.posZ))) { - short1 = 300; - } - - if (this.rand.nextInt(short1) == 0) { - this.ticksCatchable = this.rand.nextInt(30) + 10; - this.motionY -= 0.20000000298023224D; - this.playSound("random.splash", 0.25F, 1.0F + (this.rand.nextFloat() - this.rand.nextFloat()) * 0.4F); - float f3 = (float) MathHelper.floor_double(this.boundingBox.minY); - int l; - float f4; - float f5; - - for (l = 0; (float) l < 1.0F + this.width * 20.0F; ++l) { - f5 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; - f4 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; - this.worldObj.spawnParticle("bubble", this.posX + (double) f5, (double) (f3 + 1.0F), this.posZ + (double) f4, this.motionX, this.motionY - (double) (this.rand.nextFloat() * 0.2F), this.motionZ); - } - - for (l = 0; (float) l < 1.0F + this.width * 20.0F; ++l) { - f5 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; - f4 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; - this.worldObj.spawnParticle("splash", this.posX + (double) f5, (double) (f3 + 1.0F), this.posZ + (double) f4, this.motionX, this.motionY, this.motionZ); - } - } - } - } - - if (this.ticksCatchable > 0) { - this.motionY -= (double) (this.rand.nextFloat() * this.rand.nextFloat() * this.rand.nextFloat()) * 0.2D; - } - - d5 = d6 * 2.0D - 1.0D; - this.motionY += 0.03999999910593033D * d5; - - if (d6 > 0.0D) { - f2 = (float) ((double) f2 * 0.9D); - this.motionY *= 0.8D; - } - - this.motionX *= (double) f2; - this.motionY *= (double) f2; - this.motionZ *= (double) f2; - this.setPosition(this.posX, this.posY, this.posZ); - } - } - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - par1NBTTagCompound.setShort("xTile", (short) this.xTile); - par1NBTTagCompound.setShort("yTile", (short) this.yTile); - par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); - par1NBTTagCompound.setByte("shake", (byte) this.shake); - par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); - this.shake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() { - return 0.0F; - } - - public int catchFish() { - if (this.worldObj.isRemote) { - return 0; - } else { - byte b0 = 0; - - if (this.bobber != null) { - double d0 = this.angler.posX - this.posX; - double d1 = this.angler.posY - this.posY; - double d2 = this.angler.posZ - this.posZ; - double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d1 * d1 + d2 * d2); - double d4 = 0.1D; - this.bobber.motionX += d0 * d4; - this.bobber.motionY += d1 * d4 + (double) MathHelper.sqrt_double(d3) * 0.08D; - this.bobber.motionZ += d2 * d4; - b0 = 3; - } else if (this.ticksCatchable > 0) { - EntityItem entityitem = new EntityItem(this.worldObj, this.posX, this.posY, this.posZ, new ItemStack(Items.fish)); - if (worldObj.provider.dimensionId == AtumIDS.DIMENSION_ID) - entityitem.setEntityItemStack(AtumFish.getRandomFish()); - double d5 = this.angler.posX - this.posX; - double d6 = this.angler.posY - this.posY; - double d7 = this.angler.posZ - this.posZ; - double d8 = (double) MathHelper.sqrt_double(d5 * d5 + d6 * d6 + d7 * d7); - double d9 = 0.1D; - entityitem.motionX = d5 * d9; - entityitem.motionY = d6 * d9 + (double) MathHelper.sqrt_double(d8) * 0.08D; - entityitem.motionZ = d7 * d9; - this.worldObj.spawnEntityInWorld(entityitem); - this.angler.addStat(StatList.fishCaughtStat, 1); - this.angler.worldObj.spawnEntityInWorld(new EntityXPOrb(this.angler.worldObj, this.angler.posX, this.angler.posY + 0.5D, this.angler.posZ + 0.5D, this.rand.nextInt(6) + 1)); - b0 = 1; - } - - if (this.inGround) { - b0 = 2; - } - - this.setDead(); - this.angler.fishEntity = null; - return b0; - } - } - - /** - * Will get destroyed next tick. - */ - public void setDead() { - super.setDead(); - - if (this.angler != null) { - this.angler.fishEntity = null; - } - } + public int shake; + public EntityPlayer angler; + /** + * The entity that the fishing rod is connected to, if any. When you right + * click on the fishing rod and the hook falls on to an entity, this it that + * entity. + */ + public Entity bobber; + /** + * The tile this entity is on, X position + */ + private int xTile; + /** + * The tile this entity is on, Y position + */ + private int yTile; + /** + * The tile this entity is on, Z position + */ + private int zTile; + private Block inTile; + private boolean inGround; + private int ticksInGround; + private int ticksInAir; + /** + * the number of ticks remaining until this fish can no longer be caught + */ + private int ticksCatchable; + private int fishPosRotationIncrements; + private double fishX; + private double fishY; + private double fishZ; + private double fishYaw; + private double fishPitch; + @SideOnly(Side.CLIENT) + private double velocityX; + @SideOnly(Side.CLIENT) + private double velocityY; + @SideOnly(Side.CLIENT) + private double velocityZ; + + public EntityAtumFishHook(World par1World) { + super(par1World); + this.xTile = -1; + this.yTile = -1; + this.zTile = -1; + this.inTile = null; + this.inGround = false; + this.shake = 0; + this.ticksInAir = 0; + this.ticksCatchable = 0; + this.bobber = null; + this.setSize(0.25F, 0.25F); + this.ignoreFrustumCheck = true; + } + + @SideOnly(Side.CLIENT) + public EntityAtumFishHook(World par1World, double par2, double par4, double par6, EntityPlayer par8EntityPlayer) { + this(par1World); + this.setPosition(par2, par4, par6); + this.ignoreFrustumCheck = true; + this.angler = par8EntityPlayer; + par8EntityPlayer.fishEntity = this; + } + + public EntityAtumFishHook(World par1World, EntityPlayer par2EntityPlayer) { + super(par1World); + this.xTile = -1; + this.yTile = -1; + this.zTile = -1; + this.inTile = null; + this.inGround = false; + this.shake = 0; + this.ticksInAir = 0; + this.ticksCatchable = 0; + this.bobber = null; + this.ignoreFrustumCheck = true; + this.angler = par2EntityPlayer; + this.angler.fishEntity = this; + this.setSize(0.25F, 0.25F); + this.setLocationAndAngles(par2EntityPlayer.posX, par2EntityPlayer.posY + 1.62D - (double) par2EntityPlayer.yOffset, par2EntityPlayer.posZ, par2EntityPlayer.rotationYaw, par2EntityPlayer.rotationPitch); + this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.posY -= 0.10000000149011612D; + this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.setPosition(this.posX, this.posY, this.posZ); + this.yOffset = 0.0F; + float f = 0.4F; + this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI) * f); + this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI) * f); + this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI) * f); + this.calculateVelocity(this.motionX, this.motionY, this.motionZ, 1.5F, 1.0F); + } + + protected void entityInit() { + } + + @SideOnly(Side.CLIENT) + /** + * Checks if the entity is in range to render by using the past in distance and comparing it to its average edge + * length * 64 * renderDistanceWeight Args: distance + */ + public boolean isInRangeToRenderDist(double par1) { + double d1 = this.boundingBox.getAverageEdgeLength() * 4.0D; + d1 *= 64.0D; + return par1 < d1 * d1; + } + + public void calculateVelocity(double par1, double par3, double par5, float par7, float par8) { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double) f2; + par3 /= (double) f2; + par5 /= (double) f2; + par1 += this.rand.nextGaussian() * 0.007499999832361937D * (double) par8; + par3 += this.rand.nextGaussian() * 0.007499999832361937D * (double) par8; + par5 += this.rand.nextGaussian() * 0.007499999832361937D * (double) par8; + par1 *= (double) par7; + par3 *= (double) par7; + par5 *= (double) par7; + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + /** + * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, + * posY, posZ, yaw, pitch + */ + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { + this.fishX = par1; + this.fishY = par3; + this.fishZ = par5; + this.fishYaw = (double) par7; + this.fishPitch = (double) par8; + this.fishPosRotationIncrements = par9; + this.motionX = this.velocityX; + this.motionY = this.velocityY; + this.motionZ = this.velocityZ; + } + + @SideOnly(Side.CLIENT) + /** + * Sets the velocity to the args. Args: x, y, z + */ + public void setVelocity(double par1, double par3, double par5) { + this.velocityX = this.motionX = par1; + this.velocityY = this.motionY = par3; + this.velocityZ = this.motionZ = par5; + } + + /** + * Called to update the entity's position/logic. + */ + public void onUpdate() { + this.onEntityUpdate(); + + if (this.fishPosRotationIncrements > 0) { + double d0 = this.posX + (this.fishX - this.posX) / (double) this.fishPosRotationIncrements; + double d1 = this.posY + (this.fishY - this.posY) / (double) this.fishPosRotationIncrements; + double d2 = this.posZ + (this.fishZ - this.posZ) / (double) this.fishPosRotationIncrements; + double d3 = MathHelper.wrapAngleTo180_double(this.fishYaw - (double) this.rotationYaw); + this.rotationYaw = (float) ((double) this.rotationYaw + d3 / (double) this.fishPosRotationIncrements); + this.rotationPitch = (float) ((double) this.rotationPitch + (this.fishPitch - (double) this.rotationPitch) / (double) this.fishPosRotationIncrements); + --this.fishPosRotationIncrements; + this.setPosition(d0, d1, d2); + this.setRotation(this.rotationYaw, this.rotationPitch); + } else { + if (!this.worldObj.isRemote) { + ItemStack itemstack = this.angler.getCurrentEquippedItem(); + + if (this.angler.isDead || !this.angler.isEntityAlive() || itemstack == null || itemstack.getItem() != AtumItems.anuketsBounty || this.getDistanceSqToEntity(this.angler) > 1024.0D) { + this.setDead(); + this.angler.fishEntity = null; + return; + } + + if (this.bobber != null) { + if (!this.bobber.isDead) { + this.posX = this.bobber.posX; + this.posY = this.bobber.boundingBox.minY + (double) this.bobber.height * 0.8D; + this.posZ = this.bobber.posZ; + return; + } + + this.bobber = null; + } + } + + if (this.shake > 0) { + --this.shake; + } + + if (this.inGround) { + Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); + + if (i == this.inTile) { + ++this.ticksInGround; + + if (this.ticksInGround == 1200) { + this.setDead(); + } + + return; + } + + this.inGround = false; + this.motionX *= (double) (this.rand.nextFloat() * 0.2F); + this.motionY *= (double) (this.rand.nextFloat() * 0.2F); + this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } else { + ++this.ticksInAir; + } + + Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks(vec3, vec31); + vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if (movingobjectposition != null) { + vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d4 = 0.0D; + double d5; + + for (int j = 0; j < list.size(); ++j) { + Entity entity1 = (Entity) list.get(j); + + if (entity1.canBeCollidedWith() && (entity1 != this.angler || this.ticksInAir >= 5)) { + float f = 0.3F; + AxisAlignedBB axisalignedbb = entity1.boundingBox.expand((double) f, (double) f, (double) f); + MovingObjectPosition movingobjectposition1 = axisalignedbb.calculateIntercept(vec3, vec31); + + if (movingobjectposition1 != null) { + d5 = vec3.distanceTo(movingobjectposition1.hitVec); + + if (d5 < d4 || d4 == 0.0D) { + entity = entity1; + d4 = d5; + } + } + } + } + + if (entity != null) { + movingobjectposition = new MovingObjectPosition(entity); + } + + if (movingobjectposition != null) { + if (movingobjectposition.entityHit != null) { + if (movingobjectposition.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.angler), 0)) { + this.bobber = movingobjectposition.entityHit; + } + } else { + this.inGround = true; + } + } + + if (!this.inGround) { + this.moveEntity(this.motionX, this.motionY, this.motionZ); + float f1 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f1) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + ; + } + + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { + this.prevRotationPitch += 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw < -180.0F) { + this.prevRotationYaw -= 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { + this.prevRotationYaw += 360.0F; + } + + this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; + this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; + float f2 = 0.92F; + + if (this.onGround || this.isCollidedHorizontally) { + f2 = 0.5F; + } + + byte b0 = 5; + double d6 = 0.0D; + + for (int k = 0; k < b0; ++k) { + double d7 = this.boundingBox.minY + (this.boundingBox.maxY - this.boundingBox.minY) * (double) (k + 0) / (double) b0 - 0.125D + 0.125D; + double d8 = this.boundingBox.minY + (this.boundingBox.maxY - this.boundingBox.minY) * (double) (k + 1) / (double) b0 - 0.125D + 0.125D; + AxisAlignedBB axisalignedbb1 = AxisAlignedBB.getBoundingBox(this.boundingBox.minX, d7, this.boundingBox.minZ, this.boundingBox.maxX, d8, this.boundingBox.maxZ); + + if (this.worldObj.isAABBInMaterial(axisalignedbb1, Material.water)) { + d6 += 1.0D / (double) b0; + } + } + + if (d6 > 0.0D) { + if (this.ticksCatchable > 0) { + --this.ticksCatchable; + } else { + short short1 = 500; + + if (this.worldObj.canLightningStrikeAt(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY) + 1, MathHelper.floor_double(this.posZ))) { + short1 = 300; + } + + if (this.rand.nextInt(short1) == 0) { + this.ticksCatchable = this.rand.nextInt(30) + 10; + this.motionY -= 0.20000000298023224D; + this.playSound("random.splash", 0.25F, 1.0F + (this.rand.nextFloat() - this.rand.nextFloat()) * 0.4F); + float f3 = (float) MathHelper.floor_double(this.boundingBox.minY); + int l; + float f4; + float f5; + + for (l = 0; (float) l < 1.0F + this.width * 20.0F; ++l) { + f5 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; + f4 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; + this.worldObj.spawnParticle("bubble", this.posX + (double) f5, (double) (f3 + 1.0F), this.posZ + (double) f4, this.motionX, this.motionY - (double) (this.rand.nextFloat() * 0.2F), this.motionZ); + } + + for (l = 0; (float) l < 1.0F + this.width * 20.0F; ++l) { + f5 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; + f4 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; + this.worldObj.spawnParticle("splash", this.posX + (double) f5, (double) (f3 + 1.0F), this.posZ + (double) f4, this.motionX, this.motionY, this.motionZ); + } + } + } + } + + if (this.ticksCatchable > 0) { + this.motionY -= (double) (this.rand.nextFloat() * this.rand.nextFloat() * this.rand.nextFloat()) * 0.2D; + } + + d5 = d6 * 2.0D - 1.0D; + this.motionY += 0.03999999910593033D * d5; + + if (d6 > 0.0D) { + f2 = (float) ((double) f2 * 0.9D); + this.motionY *= 0.8D; + } + + this.motionX *= (double) f2; + this.motionY *= (double) f2; + this.motionZ *= (double) f2; + this.setPosition(this.posX, this.posY, this.posZ); + } + } + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short) this.xTile); + par1NBTTagCompound.setShort("yTile", (short) this.yTile); + par1NBTTagCompound.setShort("zTile", (short) this.zTile); + par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); + par1NBTTagCompound.setByte("shake", (byte) this.shake); + par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); + this.shake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() { + return 0.0F; + } + + public int catchFish() { + if (this.worldObj.isRemote) { + return 0; + } else { + byte b0 = 0; + + if (this.bobber != null) { + double d0 = this.angler.posX - this.posX; + double d1 = this.angler.posY - this.posY; + double d2 = this.angler.posZ - this.posZ; + double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d1 * d1 + d2 * d2); + double d4 = 0.1D; + this.bobber.motionX += d0 * d4; + this.bobber.motionY += d1 * d4 + (double) MathHelper.sqrt_double(d3) * 0.08D; + this.bobber.motionZ += d2 * d4; + b0 = 3; + } else if (this.ticksCatchable > 0) { + EntityItem entityitem = new EntityItem(this.worldObj, this.posX, this.posY, this.posZ, new ItemStack(Items.fish)); + if (worldObj.provider.dimensionId == AtumIDS.DIMENSION_ID) + entityitem.setEntityItemStack(AtumFish.getRandomFish()); + double d5 = this.angler.posX - this.posX; + double d6 = this.angler.posY - this.posY; + double d7 = this.angler.posZ - this.posZ; + double d8 = (double) MathHelper.sqrt_double(d5 * d5 + d6 * d6 + d7 * d7); + double d9 = 0.1D; + entityitem.motionX = d5 * d9; + entityitem.motionY = d6 * d9 + (double) MathHelper.sqrt_double(d8) * 0.08D; + entityitem.motionZ = d7 * d9; + this.worldObj.spawnEntityInWorld(entityitem); + this.angler.addStat(StatList.fishCaughtStat, 1); + this.angler.worldObj.spawnEntityInWorld(new EntityXPOrb(this.angler.worldObj, this.angler.posX, this.angler.posY + 0.5D, this.angler.posZ + 0.5D, this.rand.nextInt(6) + 1)); + b0 = 1; + } + + if (this.inGround) { + b0 = 2; + } + + this.setDead(); + this.angler.fishEntity = null; + return b0; + } + } + + /** + * Will get destroyed next tick. + */ + public void setDead() { + super.setDead(); + + if (this.angler != null) { + this.angler.fishEntity = null; + } + } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java index 56fb894..8eda344 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityNutsCall.java @@ -22,519 +22,519 @@ import java.util.List; public class EntityNutsCall extends CustomArrow implements IProjectile, IThrowableEntity { - /** - * 1 if the player can pick up the arrow - */ - public int canBePickedUp = 0; - /** - * Seems to be some sort of timer for animating an arrow. - */ - public int arrowShake = 0; - /** - * The owner of this arrow. - */ - public Entity shootingEntity; - public ItemStack stack; - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private Block inTile = null; - private int inData = 0; - private boolean inGround = false; - private int ticksInGround; - private int ticksInAir = 0; - private double damage = 2.0D; - /** - * The amount of knockback an arrow applies when it hits a mob. - */ - private int knockbackStrength; - - public EntityNutsCall(World par1World) { - super(par1World); - this.renderDistanceWeight = 10.0D; - isImmuneToFire = true; - this.setSize(1.5F, 0.5F); - } - - public EntityNutsCall(World par1World, double par2, double par4, double par6) { - super(par1World); - this.renderDistanceWeight = 10.0D; - isImmuneToFire = true; - this.setSize(1.5F, 0.5F); - this.setPosition(par2, par4, par6); - this.yOffset = 0.0F; - } - - public EntityNutsCall(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { - super(par1World); - isImmuneToFire = true; - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - this.posY = par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight() - 0.10000000149011612D; - double d0 = par3EntityLiving.posX - par2EntityLiving.posX; - double d1 = par3EntityLiving.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; - double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; - double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); - - if (d3 >= 1.0E-7D) { - float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; - float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); - double d4 = d0 / d3; - double d5 = d2 / d3; - this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); - this.yOffset = 0.0F; - float f4 = (float) d3 * 0.2F; - this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); - } - } - - public EntityNutsCall(World par1World, EntityLivingBase par2EntityLiving, float par3) { - super(par1World); - isImmuneToFire = true; - this.renderDistanceWeight = 10.0D; - this.shootingEntity = par2EntityLiving; - - if (par2EntityLiving instanceof EntityPlayer) { - this.canBePickedUp = 1; - } - - this.setSize(1.5F, 0.5F); - this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); - this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); - this.posY -= 0.10000000149011612D; - this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); - this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); - this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); - } - - public void setStack(ItemStack stack) { - this.stack = stack; - } - - protected void entityInit() { - this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); - } - - /** - * Similar to setArrowHeading, it's point the throwable entity to a x, y, z - * direction. - */ - public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { - float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); - par1 /= (double) f2; - par3 /= (double) f2; - par5 /= (double) f2; - par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; - par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; - par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; - par1 *= (double) par7; - par3 *= (double) par7; - par5 *= (double) par7; - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); - this.ticksInGround = 0; - } - - @SideOnly(Side.CLIENT) - /** - * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, - * posY, posZ, yaw, pitch - */ - public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { - this.setPosition(par1, par3, par5); - this.setRotation(par7, par8); - } - - @SideOnly(Side.CLIENT) - /** - * Sets the velocity to the args. Args: x, y, z - */ - public void setVelocity(double par1, double par3, double par5) { - this.motionX = par1; - this.motionY = par3; - this.motionZ = par5; - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { - float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.ticksInGround = 0; - } - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() { - super.onUpdate(); - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { - float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); - } - - Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - - if (i != null) { - i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); - AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); - - if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { - this.inGround = true; - } - } - - if (this.arrowShake > 0) { - --this.arrowShake; - } - - if (this.inGround) { - Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - - if (j == this.inTile && k == this.inData) { - ++this.ticksInGround; - - if (this.ticksInGround == 20000) { - this.setDead(); - } - } else { - this.inGround = false; - this.motionX *= (double) (this.rand.nextFloat() * 0.2F); - this.motionY *= (double) (this.rand.nextFloat() * 0.2F); - this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } - } else { - ++this.ticksInAir; - Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); - vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - - if (movingobjectposition != null) { - vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); - } - - Entity entity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double d0 = 0.0D; - int l; - float f1; - - for (l = 0; l < list.size(); ++l) { - Entity entity1 = (Entity) list.get(l); - - if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); - - if (movingobjectposition1 != null) { - double d1 = vec3.distanceTo(movingobjectposition1.hitVec); - - if (d1 < d0 || d0 == 0.0D) { - entity = entity1; - d0 = d1; - } - } - } - } - - if (entity != null) { - movingobjectposition = new MovingObjectPosition(entity); - } - - if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { - EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; - - if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { - movingobjectposition = null; - } - } - - float f2; - float f3; - - if (movingobjectposition != null) { - if (movingobjectposition.entityHit != null) { - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); - - if (this.getIsCritical()) { - i1 += this.rand.nextInt(i1 / 2 + 2); - } - - DamageSource damagesource = null; - - if (this.shootingEntity == null) { - damagesource = DamageSource.causeThrownDamage(this, this); - } else { - damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); - } - - if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { - movingobjectposition.entityHit.setFire(5); - } - - if (Math.random() > 0.5) - worldObj.addWeatherEffect(new EntityLightningBolt(worldObj, (double) posX, (double) posY, (double) posZ)); - - if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { - if (movingobjectposition.entityHit instanceof EntityLiving) { - EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; - - if (this.knockbackStrength > 0) { - f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - - if (f3 > 0.0F) { - movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); - } - } - - if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) { - EnchantmentHelper.func_151384_a(entityliving, this.shootingEntity); - EnchantmentHelper.func_151385_b((EntityLivingBase) this.shootingEntity, entityliving); - } - - if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { - ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); - } - } - - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - } else { - this.motionX *= -0.10000000149011612D; - this.motionY *= -0.10000000149011612D; - this.motionZ *= -0.10000000149011612D; - this.rotationYaw += 180.0F; - this.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } else { - this.xTile = movingobjectposition.blockX; - this.yTile = movingobjectposition.blockY; - this.zTile = movingobjectposition.blockZ; - this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); - this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); - this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); - this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); - this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; - this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; - this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; - this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - this.inGround = true; - this.arrowShake = 7; - this.setIsCritical(false); - - if (this.inTile != null) { - this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); - } - } - } - - if (this.getIsCritical()) { - for (l = 0; l < 4; ++l) { - this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); - } - } - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) { - this.prevRotationYaw -= 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { - this.prevRotationYaw += 360.0F; - } - - this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; - this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; - float f4 = 0.99F; - f1 = 0.05F; - - if (this.isInWater()) { - for (int j1 = 0; j1 < 4; ++j1) { - f3 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); - } - - f4 = 0.45F; - } - - this.motionX *= (double) f4; - this.motionY *= (double) f4; - this.motionZ *= (double) f4; - this.motionY -= (double) f1; - this.setPosition(this.posX, this.posY, this.posZ); - this.func_145775_I(); - } - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { - par1NBTTagCompound.setShort("xTile", (short) this.xTile); - par1NBTTagCompound.setShort("yTile", (short) this.yTile); - par1NBTTagCompound.setShort("zTile", (short) this.zTile); - par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); - par1NBTTagCompound.setByte("inData", (byte) this.inData); - par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); - par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); - par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); - par1NBTTagCompound.setDouble("damage", this.damage); - - NBTTagCompound stackTag = new NBTTagCompound(); - stack.writeToNBT(stackTag); - - par1NBTTagCompound.setTag("itemstack", stackTag); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { - this.xTile = par1NBTTagCompound.getShort("xTile"); - this.yTile = par1NBTTagCompound.getShort("yTile"); - this.zTile = par1NBTTagCompound.getShort("zTile"); - this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); - this.inData = par1NBTTagCompound.getByte("inData") & 255; - this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; - this.inGround = par1NBTTagCompound.getByte("inGround") == 1; - - if (par1NBTTagCompound.hasKey("damage")) { - this.damage = par1NBTTagCompound.getDouble("damage"); - } - - if (par1NBTTagCompound.hasKey("pickup")) { - this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); - } else if (par1NBTTagCompound.hasKey("player")) { - this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; - } - - NBTTagCompound stackTag = par1NBTTagCompound.getCompoundTag("itemstack"); - stack = ItemStack.loadItemStackFromNBT(stackTag); - } - - /** - * Called by a player entity when they collide with an entity - */ - public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { - if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { - boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; - - if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(stack)) { - flag = false; - } - - if (flag) { - this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - par1EntityPlayer.onItemPickup(this, 1); - this.setDead(); - } - } - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they - * walk on. used for spiders and wolves to prevent them from trampling crops - */ - protected boolean canTriggerWalking() { - return false; - } - - @SideOnly(Side.CLIENT) - public float getShadowSize() { - return 0.0F; - } - - public double getDamage() { - return this.damage; - } - - public void setDamage(double par1) { - this.damage = par1; - } - - /** - * Sets the amount of knockback the arrow applies when it hits a mob. - */ - public void setKnockbackStrength(int par1) { - this.knockbackStrength = par1; - } - - /** - * If returns false, the item will not inflict any damage against entities. - */ - public boolean canAttackWithItem() { - return false; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind - * it. - */ - public boolean getIsCritical() { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - return (b0 & 1) != 0; - } - - /** - * Whether the arrow has a stream of critical hit particles flying behind - * it. - */ - public void setIsCritical(boolean par1) { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (par1) { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); - } else { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); - } - } - - @Override - public Entity getThrower() { - return shootingEntity; - } - - @Override - public void setThrower(Entity entity) { - shootingEntity = entity; - } + /** + * 1 if the player can pick up the arrow + */ + public int canBePickedUp = 0; + /** + * Seems to be some sort of timer for animating an arrow. + */ + public int arrowShake = 0; + /** + * The owner of this arrow. + */ + public Entity shootingEntity; + public ItemStack stack; + private int xTile = -1; + private int yTile = -1; + private int zTile = -1; + private Block inTile = null; + private int inData = 0; + private boolean inGround = false; + private int ticksInGround; + private int ticksInAir = 0; + private double damage = 2.0D; + /** + * The amount of knockback an arrow applies when it hits a mob. + */ + private int knockbackStrength; + + public EntityNutsCall(World par1World) { + super(par1World); + this.renderDistanceWeight = 10.0D; + isImmuneToFire = true; + this.setSize(1.5F, 0.5F); + } + + public EntityNutsCall(World par1World, double par2, double par4, double par6) { + super(par1World); + this.renderDistanceWeight = 10.0D; + isImmuneToFire = true; + this.setSize(1.5F, 0.5F); + this.setPosition(par2, par4, par6); + this.yOffset = 0.0F; + } + + public EntityNutsCall(World par1World, EntityLivingBase par2EntityLiving, EntityLiving par3EntityLiving, float par4, float par5) { + super(par1World); + isImmuneToFire = true; + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if (par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.posY = par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight() - 0.10000000149011612D; + double d0 = par3EntityLiving.posX - par2EntityLiving.posX; + double d1 = par3EntityLiving.boundingBox.minY + (double) (par3EntityLiving.height / 3.0F) - this.posY; + double d2 = par3EntityLiving.posZ - par2EntityLiving.posZ; + double d3 = (double) MathHelper.sqrt_double(d0 * d0 + d2 * d2); + + if (d3 >= 1.0E-7D) { + float f2 = (float) (Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F; + float f3 = (float) (-(Math.atan2(d1, d3) * 180.0D / Math.PI)); + double d4 = d0 / d3; + double d5 = d2 / d3; + this.setLocationAndAngles(par2EntityLiving.posX + d4, this.posY, par2EntityLiving.posZ + d5, f2, f3); + this.yOffset = 0.0F; + float f4 = (float) d3 * 0.2F; + this.setThrowableHeading(d0, d1 + (double) f4, d2, par4, par5); + } + } + + public EntityNutsCall(World par1World, EntityLivingBase par2EntityLiving, float par3) { + super(par1World); + isImmuneToFire = true; + this.renderDistanceWeight = 10.0D; + this.shootingEntity = par2EntityLiving; + + if (par2EntityLiving instanceof EntityPlayer) { + this.canBePickedUp = 1; + } + + this.setSize(1.5F, 0.5F); + this.setLocationAndAngles(par2EntityLiving.posX, par2EntityLiving.posY + (double) par2EntityLiving.getEyeHeight(), par2EntityLiving.posZ, par2EntityLiving.rotationYaw, par2EntityLiving.rotationPitch); + this.posX -= (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.posY -= 0.10000000149011612D; + this.posZ -= (double) (MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * 0.16F); + this.setPosition(this.posX, this.posY, this.posZ); + this.yOffset = 0.0F; + this.motionX = (double) (-MathHelper.sin(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionZ = (double) (MathHelper.cos(this.rotationYaw / 180.0F * (float) Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float) Math.PI)); + this.motionY = (double) (-MathHelper.sin(this.rotationPitch / 180.0F * (float) Math.PI)); + this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, par3 * 1.5F, 1.0F); + } + + public void setStack(ItemStack stack) { + this.stack = stack; + } + + protected void entityInit() { + this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); + } + + /** + * Similar to setArrowHeading, it's point the throwable entity to a x, y, z + * direction. + */ + public void setThrowableHeading(double par1, double par3, double par5, float par7, float par8) { + float f2 = MathHelper.sqrt_double(par1 * par1 + par3 * par3 + par5 * par5); + par1 /= (double) f2; + par3 /= (double) f2; + par5 /= (double) f2; + par1 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par3 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par5 += this.rand.nextGaussian() * (double) (this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double) par8; + par1 *= (double) par7; + par3 *= (double) par7; + par5 *= (double) par7; + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + float f3 = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f3) * 180.0D / Math.PI); + this.ticksInGround = 0; + } + + @SideOnly(Side.CLIENT) + /** + * Sets the position and rotation. Only difference from the other one is no bounding on the rotation. Args: posX, + * posY, posZ, yaw, pitch + */ + public void setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9) { + this.setPosition(par1, par3, par5); + this.setRotation(par7, par8); + } + + @SideOnly(Side.CLIENT) + /** + * Sets the velocity to the args. Args: x, y, z + */ + public void setVelocity(double par1, double par3, double par5) { + this.motionX = par1; + this.motionY = par3; + this.motionZ = par5; + + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(par1 * par1 + par5 * par5); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(par1, par5) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(par3, (double) f) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch; + this.prevRotationYaw = this.rotationYaw; + this.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); + this.ticksInGround = 0; + } + } + + /** + * Called to update the entity's position/logic. + */ + public void onUpdate() { + super.onUpdate(); + + if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { + float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f) * 180.0D / Math.PI); + } + + Block i = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); + + if (i != null) { + i.setBlockBoundsBasedOnState(this.worldObj, this.xTile, this.yTile, this.zTile); + AxisAlignedBB axisalignedbb = i.getCollisionBoundingBoxFromPool(this.worldObj, this.xTile, this.yTile, this.zTile); + + if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ))) { + this.inGround = true; + } + } + + if (this.arrowShake > 0) { + --this.arrowShake; + } + + if (this.inGround) { + Block j = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); + int k = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + + if (j == this.inTile && k == this.inData) { + ++this.ticksInGround; + + if (this.ticksInGround == 20000) { + this.setDead(); + } + } else { + this.inGround = false; + this.motionX *= (double) (this.rand.nextFloat() * 0.2F); + this.motionY *= (double) (this.rand.nextFloat() * 0.2F); + this.motionZ *= (double) (this.rand.nextFloat() * 0.2F); + this.ticksInGround = 0; + this.ticksInAir = 0; + } + } else { + ++this.ticksInAir; + Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + MovingObjectPosition movingobjectposition = this.worldObj.func_147447_a(vec31, vec3, false, true, false); + vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); + vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + + if (movingobjectposition != null) { + vec31 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord); + } + + Entity entity = null; + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); + double d0 = 0.0D; + int l; + float f1; + + for (l = 0; l < list.size(); ++l) { + Entity entity1 = (Entity) list.get(l); + + if (entity1.canBeCollidedWith() && (entity1 != this.shootingEntity || this.ticksInAir >= 5)) { + f1 = 0.3F; + AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double) f1, (double) f1, (double) f1); + MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec3, vec31); + + if (movingobjectposition1 != null) { + double d1 = vec3.distanceTo(movingobjectposition1.hitVec); + + if (d1 < d0 || d0 == 0.0D) { + entity = entity1; + d0 = d1; + } + } + } + } + + if (entity != null) { + movingobjectposition = new MovingObjectPosition(entity); + } + + if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) { + EntityPlayer entityplayer = (EntityPlayer) movingobjectposition.entityHit; + + if (entityplayer.capabilities.disableDamage || this.shootingEntity instanceof EntityPlayer && !((EntityPlayer) this.shootingEntity).canAttackPlayer(entityplayer)) { + movingobjectposition = null; + } + } + + float f2; + float f3; + + if (movingobjectposition != null) { + if (movingobjectposition.entityHit != null) { + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + int i1 = MathHelper.ceiling_double_int((double) f2 * this.damage); + + if (this.getIsCritical()) { + i1 += this.rand.nextInt(i1 / 2 + 2); + } + + DamageSource damagesource = null; + + if (this.shootingEntity == null) { + damagesource = DamageSource.causeThrownDamage(this, this); + } else { + damagesource = DamageSource.causeThrownDamage(this, this.shootingEntity); + } + + if (this.isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) { + movingobjectposition.entityHit.setFire(5); + } + + if (Math.random() > 0.5) + worldObj.addWeatherEffect(new EntityLightningBolt(worldObj, (double) posX, (double) posY, (double) posZ)); + + if (movingobjectposition.entityHit.attackEntityFrom(damagesource, i1)) { + if (movingobjectposition.entityHit instanceof EntityLiving) { + EntityLiving entityliving = (EntityLiving) movingobjectposition.entityHit; + + if (this.knockbackStrength > 0) { + f3 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + + if (f3 > 0.0F) { + movingobjectposition.entityHit.addVelocity(this.motionX * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3, 0.1D, this.motionZ * (double) this.knockbackStrength * 0.6000000238418579D / (double) f3); + } + } + + if (this.shootingEntity != null && this.shootingEntity instanceof EntityLivingBase) { + EnchantmentHelper.func_151384_a(entityliving, this.shootingEntity); + EnchantmentHelper.func_151385_b((EntityLivingBase) this.shootingEntity, entityliving); + } + + if (this.shootingEntity != null && movingobjectposition.entityHit != this.shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && this.shootingEntity instanceof EntityPlayerMP) { + ((EntityPlayerMP) this.shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F)); + } + } + + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + } else { + this.motionX *= -0.10000000149011612D; + this.motionY *= -0.10000000149011612D; + this.motionZ *= -0.10000000149011612D; + this.rotationYaw += 180.0F; + this.prevRotationYaw += 180.0F; + this.ticksInAir = 0; + } + } else { + this.xTile = movingobjectposition.blockX; + this.yTile = movingobjectposition.blockY; + this.zTile = movingobjectposition.blockZ; + this.inTile = this.worldObj.getBlock(this.xTile, this.yTile, this.zTile); + this.inData = this.worldObj.getBlockMetadata(this.xTile, this.yTile, this.zTile); + this.motionX = (double) ((float) (movingobjectposition.hitVec.xCoord - this.posX)); + this.motionY = (double) ((float) (movingobjectposition.hitVec.yCoord - this.posY)); + this.motionZ = (double) ((float) (movingobjectposition.hitVec.zCoord - this.posZ)); + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); + this.posX -= this.motionX / (double) f2 * 0.05000000074505806D; + this.posY -= this.motionY / (double) f2 * 0.05000000074505806D; + this.posZ -= this.motionZ / (double) f2 * 0.05000000074505806D; + this.playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); + this.inGround = true; + this.arrowShake = 7; + this.setIsCritical(false); + + if (this.inTile != null) { + this.inTile.onEntityCollidedWithBlock(this.worldObj, this.xTile, this.yTile, this.zTile, this); + } + } + } + + if (this.getIsCritical()) { + for (l = 0; l < 4; ++l) { + this.worldObj.spawnParticle("crit", this.posX + this.motionX * (double) l / 4.0D, this.posY + this.motionY * (double) l / 4.0D, this.posZ + this.motionZ * (double) l / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ); + } + } + + this.posX += this.motionX; + this.posY += this.motionY; + this.posZ += this.motionZ; + f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for (this.rotationPitch = (float) (Math.atan2(this.motionY, (double) f2) * 180.0D / Math.PI); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + ; + } + + while (this.rotationPitch - this.prevRotationPitch >= 180.0F) { + this.prevRotationPitch += 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw < -180.0F) { + this.prevRotationYaw -= 360.0F; + } + + while (this.rotationYaw - this.prevRotationYaw >= 180.0F) { + this.prevRotationYaw += 360.0F; + } + + this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; + this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; + float f4 = 0.99F; + f1 = 0.05F; + + if (this.isInWater()) { + for (int j1 = 0; j1 < 4; ++j1) { + f3 = 0.25F; + this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double) f3, this.posY - this.motionY * (double) f3, this.posZ - this.motionZ * (double) f3, this.motionX, this.motionY, this.motionZ); + } + + f4 = 0.45F; + } + + this.motionX *= (double) f4; + this.motionY *= (double) f4; + this.motionZ *= (double) f4; + this.motionY -= (double) f1; + this.setPosition(this.posX, this.posY, this.posZ); + this.func_145775_I(); + } + } + + /** + * (abstract) Protected helper method to write subclass entity data to NBT. + */ + public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) { + par1NBTTagCompound.setShort("xTile", (short) this.xTile); + par1NBTTagCompound.setShort("yTile", (short) this.yTile); + par1NBTTagCompound.setShort("zTile", (short) this.zTile); + par1NBTTagCompound.setByte("inTile", (byte) Block.getIdFromBlock(this.inTile)); + par1NBTTagCompound.setByte("inData", (byte) this.inData); + par1NBTTagCompound.setByte("shake", (byte) this.arrowShake); + par1NBTTagCompound.setByte("inGround", (byte) (this.inGround ? 1 : 0)); + par1NBTTagCompound.setByte("pickup", (byte) this.canBePickedUp); + par1NBTTagCompound.setDouble("damage", this.damage); + + NBTTagCompound stackTag = new NBTTagCompound(); + stack.writeToNBT(stackTag); + + par1NBTTagCompound.setTag("itemstack", stackTag); + } + + /** + * (abstract) Protected helper method to read subclass entity data from NBT. + */ + public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) { + this.xTile = par1NBTTagCompound.getShort("xTile"); + this.yTile = par1NBTTagCompound.getShort("yTile"); + this.zTile = par1NBTTagCompound.getShort("zTile"); + this.inTile = Block.getBlockById(par1NBTTagCompound.getByte("inTile") & 255); + this.inData = par1NBTTagCompound.getByte("inData") & 255; + this.arrowShake = par1NBTTagCompound.getByte("shake") & 255; + this.inGround = par1NBTTagCompound.getByte("inGround") == 1; + + if (par1NBTTagCompound.hasKey("damage")) { + this.damage = par1NBTTagCompound.getDouble("damage"); + } + + if (par1NBTTagCompound.hasKey("pickup")) { + this.canBePickedUp = par1NBTTagCompound.getByte("pickup"); + } else if (par1NBTTagCompound.hasKey("player")) { + this.canBePickedUp = par1NBTTagCompound.getBoolean("player") ? 1 : 0; + } + + NBTTagCompound stackTag = par1NBTTagCompound.getCompoundTag("itemstack"); + stack = ItemStack.loadItemStackFromNBT(stackTag); + } + + /** + * Called by a player entity when they collide with an entity + */ + public void onCollideWithPlayer(EntityPlayer par1EntityPlayer) { + if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0) { + boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && par1EntityPlayer.capabilities.isCreativeMode; + + if (this.canBePickedUp == 1 && !par1EntityPlayer.inventory.addItemStackToInventory(stack)) { + flag = false; + } + + if (flag) { + this.playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); + par1EntityPlayer.onItemPickup(this, 1); + this.setDead(); + } + } + } + + /** + * returns if this entity triggers Block.onEntityWalking on the blocks they + * walk on. used for spiders and wolves to prevent them from trampling crops + */ + protected boolean canTriggerWalking() { + return false; + } + + @SideOnly(Side.CLIENT) + public float getShadowSize() { + return 0.0F; + } + + public double getDamage() { + return this.damage; + } + + public void setDamage(double par1) { + this.damage = par1; + } + + /** + * Sets the amount of knockback the arrow applies when it hits a mob. + */ + public void setKnockbackStrength(int par1) { + this.knockbackStrength = par1; + } + + /** + * If returns false, the item will not inflict any damage against entities. + */ + public boolean canAttackWithItem() { + return false; + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind + * it. + */ + public boolean getIsCritical() { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + return (b0 & 1) != 0; + } + + /** + * Whether the arrow has a stream of critical hit particles flying behind + * it. + */ + public void setIsCritical(boolean par1) { + byte b0 = this.dataWatcher.getWatchableObjectByte(16); + + if (par1) { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 1))); + } else { + this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -2))); + } + } + + @Override + public Entity getThrower() { + return shootingEntity; + } + + @Override + public void setThrower(Entity entity) { + shootingEntity = entity; + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/AtumItems.java b/src/main/java/com/teammetallurgy/atum/items/AtumItems.java index 0b1020c..429cf46 100644 --- a/src/main/java/com/teammetallurgy/atum/items/AtumItems.java +++ b/src/main/java/com/teammetallurgy/atum/items/AtumItems.java @@ -14,151 +14,152 @@ import net.minecraftforge.common.util.EnumHelper; public class AtumItems { - private static ArmorMaterial mummyEnum = EnumHelper.addArmorMaterial("Mummy", 5, new int[]{1, 3, 2, 1}, 15); - private static ArmorMaterial wandererEnum = EnumHelper.addArmorMaterial("Wanderer", 10, new int[]{2, 3, 3, 2}, 15); - private static ArmorMaterial desertEnum = EnumHelper.addArmorMaterial("Desert", 20, new int[]{3, 6, 5, 3}, 15); - public static Item ITEM_SCRAP = new Item().setUnlocalizedName("clothScrap").setTextureName("atum:ClothScrap"); - public static Item ITEM_LINEN = new Item().setUnlocalizedName("linen").setTextureName("atum:Linen"); - public static Item ITEM_SCARAB = new ItemScarab().setUnlocalizedName("scarab"); - public static Item ITEM_LOOT = new ItemLoot().setUnlocalizedName("loot"); - public static Item ITEM_DATE = new ItemFood(5, 1.5F, false).setTextureName("atum:Date").setUnlocalizedName("date"); - public static Item ITEM_SCIMITAR = new ItemScimitar(ToolMaterial.IRON).setUnlocalizedName("scimitar"); - public static Item ITEM_GREATSWORD = new ItemGreatsword(ToolMaterial.IRON).setUnlocalizedName("greatsword").setTextureName("atum:Greatsword"); - public static Item ITEM_BOW = new ItemAtumBow().setUnlocalizedName("bow"); - public static Item ITEM_STONESOLDIER_SWORD = new ItemStoneSoldierSword(ToolMaterial.IRON).setUnlocalizedName("stoneSoldierSword"); - public static Item ITEM_SCEPTER = new ItemScepter(ToolMaterial.GOLD).setUnlocalizedName("scepter"); - public static Item ITEM_PTAHSPICK = new ItemPtahsDecadence(ToolMaterial.EMERALD).setUnlocalizedName("ptahsDecadence"); - public static Item sobeksRage = new ItemSobeksRage(ToolMaterial.EMERALD).setUnlocalizedName("soteksRage"); - public static Item osirisWill = new ItemOsirisWill(ToolMaterial.EMERALD).setUnlocalizedName("osirisWill"); - public static Item akersToil = new ItemAkersToil(ToolMaterial.EMERALD).setUnlocalizedName("akersToil"); - public static Item gebsBlessing = new ItemGebsBlessing(ToolMaterial.EMERALD).setUnlocalizedName("gebsBlessing"); - public static Item atensFury = new ItemAtensFury().setUnlocalizedName("atensFury"); - public static Item rasGlory = new ItemRasGlory(ArmorMaterial.DIAMOND, 0, 0).setTextureFile("EgyptianArmor_1").setUnlocalizedName("rasGlory"); - public static Item sekhmetsWrath = new ItemSekhmetsWrath(1, 1).setTextureFile("EgyptianArmor_1").setUnlocalizedName("sekhmetsWrath"); - public static Item nutsAgility = new ItemNutsAgility(ArmorMaterial.DIAMOND, 2, 2).setTextureFile("EgyptianArmor_2").setUnlocalizedName("nutsAgility"); - public static Item horusFlight = new ItemHorusFlight(ArmorMaterial.DIAMOND, 3, 3).setTextureFile("EgyptianArmor_1").setUnlocalizedName("horusFlight"); - public static Item monthusStrike = new ItemMonthusStrike(ToolMaterial.EMERALD).setUnlocalizedName("monthusStrike"); - public static Item anhursMight = new ItemAnhursMight(ToolMaterial.EMERALD).setUnlocalizedName("anhursMight"); - public static Item hedetetsSting = new ItemHedetetsSting(ToolMaterial.EMERALD).setUnlocalizedName("hedetetsSting"); - public static Item horusSoaring = new ItemHorusSoaring().setUnlocalizedName("horusSoaring"); - public static Item shusBreath = new ItemShusBreath().setUnlocalizedName("shusBreath"); - public static Item ptahsDestruction = new ItemPtahsDestruction(ToolMaterial.EMERALD).setUnlocalizedName("ptahsDestruction"); - public static Item monthusBlast = new ItemMonthusBlast().setUnlocalizedName("monthusBlast"); - public static Item nusFlux = new ItemNusFlux(ToolMaterial.EMERALD).setUnlocalizedName("nusFlux"); - public static Item mnevisHorns = new ItemMnevisHorns(ArmorMaterial.DIAMOND, 0, 0).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("mnevisHorns"); - public static Item isisEmbrace = new ItemIsisEmbrace(ArmorMaterial.DIAMOND, 1, 1).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("isisEmbrace"); - public static Item maatsBalance = new ItemMaatsBalance(ArmorMaterial.DIAMOND, 2, 2).setTextureFile("RubyArtifactArmor_2").setUnlocalizedName("maatsBalance"); - public static Item hedetetsVenom = new ItemHedetetsVenom().setUnlocalizedName("hedetetsVenom"); - public static Item gebsSolidarity = new ItemGebsSolidarity(ArmorMaterial.DIAMOND, 3, 3).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("gebsSolidarity"); - public static Item nutsCall = new ItemNutsCall().setUnlocalizedName("nutsCall"); - public static Item anuketsBounty = new ItemAnuketsBounty().setUnlocalizedName("anuketsBounty"); - public static Item mafdetsQuickness = new ItemMafdetsQuickness().setUnlocalizedName("mafdetsQuickness"); - public static Item isisHealing = new ItemIsisHealing().setUnlocalizedName("isisHealing"); - public static Item amunetsHomecoming = new ItemAmunetsHomecoming().setUnlocalizedName("amunetsHomecoming"); - public static Item anubisMercy = new ItemAnubisMercy().setUnlocalizedName("anubisMercy"); - public static Item limestoneShovel = new LimestoneShovel(ToolMaterial.STONE).setUnlocalizedName("limestoneShovel"); - public static Item limestonePickaxe = new LimestonePickaxe(ToolMaterial.STONE).setUnlocalizedName("limestonePickaxe"); - public static Item limestoneAxe = new LimestoneAxe(ToolMaterial.STONE).setUnlocalizedName("limestoneAxe"); - public static Item limestoneSword = new LimestoneSword(ToolMaterial.STONE).setUnlocalizedName("limestoneSword"); - public static Item limestoneHoe = new LimestoneHoe(ToolMaterial.STONE).setUnlocalizedName("limestoneHoe"); - public static Item mummyHelmet = new ItemTexturedArmor(mummyEnum, 0, 0).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyHelmet").setTextureName("atum:MummyHelmet"); - public static Item mummyChest = new ItemTexturedArmor(mummyEnum, 0, 1).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyChest").setTextureName("atum:MummyChest"); - public static Item mummyLegs = new ItemTexturedArmor(mummyEnum, 0, 2).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_2").setUnlocalizedName("mummyLegs").setTextureName("atum:MummyLegs"); - public static Item mummyBoots = new ItemTexturedArmor(mummyEnum, 0, 3).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyBoots").setTextureName("atum:MummyBoots"); - public static Item wandererHelmet = new ItemTexturedArmor(wandererEnum, 0, 0).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererHelmet").setTextureName("atum:WandererHelmet"); - public static Item wandererChest = new ItemTexturedArmor(wandererEnum, 0, 1).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererChest").setTextureName("atum:WandererChest"); - public static Item wandererLegs = new ItemTexturedArmor(wandererEnum, 0, 2).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_2").setUnlocalizedName("wandererLegs").setTextureName("atum:WandererLegs"); - public static Item wandererBoots = new ItemTexturedArmor(wandererEnum, 0, 3).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererBoots").setTextureName("atum:WandererBoots"); - public static Item desertHelmet = new ItemTexturedArmor(desertEnum, 0, 0).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_1").setUnlocalizedName("desertHelmet").setTextureName("atum:DesertHelmet"); - public static Item desertChest = new ItemTexturedArmor(desertEnum, 0, 1).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_1").setUnlocalizedName("desertChest").setTextureName("atum:DesertChest"); - public static Item desertLegs = new ItemTexturedArmor(desertEnum, 0, 2).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_2").setUnlocalizedName("desertLegs").setTextureName("atum:DesertLegs"); - public static Item desertBoots = new ItemTexturedArmor(desertEnum, 0, 3).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_1").setUnlocalizedName("desertBoots").setTextureName("atum:DesertBoots"); - public static Item papyrusPlant = new ItemPapyrusPlant(AtumBlocks.BLOCK_PAPYRUS).setUnlocalizedName("papyrusPlant"); - public static Item ITEM_ECTOPLASM = new Item().setUnlocalizedName("ectoplasm").setTextureName("atum:Ectoplasm"); - public static Item ITEM_STONECHUNK = new Item().setUnlocalizedName("stoneChunk").setTextureName("atum:StoneChunk"); - public static Item ITEM_SCROLL = new Item().setUnlocalizedName("scroll").setTextureName("atum:Scroll"); - public static Item ITEM_PELT = new Item().setUnlocalizedName("wolfPelt").setTextureName("atum:WolfPelt"); - public static Item ITEM_FLAX = new Item().setUnlocalizedName("flax").setTextureName("atum:FlaxItem"); - public static Item ITEM_FLAXSEED = new ItemSeeds(AtumBlocks.BLOCK_FLAX, Blocks.farmland).setUnlocalizedName("flaxSeeds").setTextureName("atum:FlaxSeeds"); - public static Item ITEM_FISH = new ItemFish().setUnlocalizedName("fish"); - public static Item neithsAudacity = new ItemNeithsAudacity().setUnlocalizedName("neithsAudacity"); + private static ArmorMaterial mummyEnum = EnumHelper.addArmorMaterial("Mummy", 5, new int[]{1, 3, 2, 1}, 15); + private static ArmorMaterial wandererEnum = EnumHelper.addArmorMaterial("Wanderer", 10, new int[]{2, 3, 3, 2}, 15); + private static ArmorMaterial desertEnum = EnumHelper.addArmorMaterial("Desert", 20, new int[]{3, 6, 5, 3}, 15); + + public static Item ITEM_SCRAP = new Item().setUnlocalizedName("clothScrap").setTextureName("atum:ClothScrap"); + public static Item ITEM_LINEN = new Item().setUnlocalizedName("linen").setTextureName("atum:Linen"); + public static Item ITEM_SCARAB = new ItemScarab().setUnlocalizedName("scarab"); + public static Item ITEM_LOOT = new ItemLoot().setUnlocalizedName("loot"); + public static Item ITEM_DATE = new ItemFood(5, 1.5F, false).setTextureName("atum:Date").setUnlocalizedName("date"); + public static Item ITEM_SCIMITAR = new ItemScimitar(ToolMaterial.IRON).setUnlocalizedName("scimitar"); + public static Item ITEM_GREATSWORD = new ItemGreatsword(ToolMaterial.IRON).setUnlocalizedName("greatsword").setTextureName("atum:Greatsword"); + public static Item ITEM_BOW = new ItemAtumBow().setUnlocalizedName("bow"); + public static Item ITEM_STONESOLDIER_SWORD = new ItemStoneSoldierSword(ToolMaterial.IRON).setUnlocalizedName("stoneSoldierSword"); + public static Item ITEM_SCEPTER = new ItemScepter(ToolMaterial.GOLD).setUnlocalizedName("scepter"); + public static Item ITEM_PTAHSPICK = new ItemPtahsDecadence(ToolMaterial.EMERALD).setUnlocalizedName("ptahsDecadence"); + public static Item sobeksRage = new ItemSobeksRage(ToolMaterial.EMERALD).setUnlocalizedName("soteksRage"); + public static Item osirisWill = new ItemOsirisWill(ToolMaterial.EMERALD).setUnlocalizedName("osirisWill"); + public static Item akersToil = new ItemAkersToil(ToolMaterial.EMERALD).setUnlocalizedName("akersToil"); + public static Item gebsBlessing = new ItemGebsBlessing(ToolMaterial.EMERALD).setUnlocalizedName("gebsBlessing"); + public static Item atensFury = new ItemAtensFury().setUnlocalizedName("atensFury"); + public static Item rasGlory = new ItemRasGlory(ArmorMaterial.DIAMOND, 0, 0).setTextureFile("EgyptianArmor_1").setUnlocalizedName("rasGlory"); + public static Item sekhmetsWrath = new ItemSekhmetsWrath(1, 1).setTextureFile("EgyptianArmor_1").setUnlocalizedName("sekhmetsWrath"); + public static Item nutsAgility = new ItemNutsAgility(ArmorMaterial.DIAMOND, 2, 2).setTextureFile("EgyptianArmor_2").setUnlocalizedName("nutsAgility"); + public static Item horusFlight = new ItemHorusFlight(ArmorMaterial.DIAMOND, 3, 3).setTextureFile("EgyptianArmor_1").setUnlocalizedName("horusFlight"); + public static Item monthusStrike = new ItemMonthusStrike(ToolMaterial.EMERALD).setUnlocalizedName("monthusStrike"); + public static Item anhursMight = new ItemAnhursMight(ToolMaterial.EMERALD).setUnlocalizedName("anhursMight"); + public static Item hedetetsSting = new ItemHedetetsSting(ToolMaterial.EMERALD).setUnlocalizedName("hedetetsSting"); + public static Item horusSoaring = new ItemHorusSoaring().setUnlocalizedName("horusSoaring"); + public static Item shusBreath = new ItemShusBreath().setUnlocalizedName("shusBreath"); + public static Item ptahsDestruction = new ItemPtahsDestruction(ToolMaterial.EMERALD).setUnlocalizedName("ptahsDestruction"); + public static Item monthusBlast = new ItemMonthusBlast().setUnlocalizedName("monthusBlast"); + public static Item nusFlux = new ItemNusFlux(ToolMaterial.EMERALD).setUnlocalizedName("nusFlux"); + public static Item mnevisHorns = new ItemMnevisHorns(ArmorMaterial.DIAMOND, 0, 0).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("mnevisHorns"); + public static Item isisEmbrace = new ItemIsisEmbrace(ArmorMaterial.DIAMOND, 1, 1).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("isisEmbrace"); + public static Item maatsBalance = new ItemMaatsBalance(ArmorMaterial.DIAMOND, 2, 2).setTextureFile("RubyArtifactArmor_2").setUnlocalizedName("maatsBalance"); + public static Item hedetetsVenom = new ItemHedetetsVenom().setUnlocalizedName("hedetetsVenom"); + public static Item gebsSolidarity = new ItemGebsSolidarity(ArmorMaterial.DIAMOND, 3, 3).setTextureFile("RubyArtifactArmor_1").setUnlocalizedName("gebsSolidarity"); + public static Item nutsCall = new ItemNutsCall().setUnlocalizedName("nutsCall"); + public static Item anuketsBounty = new ItemAnuketsBounty().setUnlocalizedName("anuketsBounty"); + public static Item mafdetsQuickness = new ItemMafdetsQuickness().setUnlocalizedName("mafdetsQuickness"); + public static Item isisHealing = new ItemIsisHealing().setUnlocalizedName("isisHealing"); + public static Item amunetsHomecoming = new ItemAmunetsHomecoming().setUnlocalizedName("amunetsHomecoming"); + public static Item anubisMercy = new ItemAnubisMercy().setUnlocalizedName("anubisMercy"); + public static Item limestoneShovel = new LimestoneShovel(ToolMaterial.STONE).setUnlocalizedName("limestoneShovel"); + public static Item limestonePickaxe = new LimestonePickaxe(ToolMaterial.STONE).setUnlocalizedName("limestonePickaxe"); + public static Item limestoneAxe = new LimestoneAxe(ToolMaterial.STONE).setUnlocalizedName("limestoneAxe"); + public static Item limestoneSword = new LimestoneSword(ToolMaterial.STONE).setUnlocalizedName("limestoneSword"); + public static Item limestoneHoe = new LimestoneHoe(ToolMaterial.STONE).setUnlocalizedName("limestoneHoe"); + public static Item mummyHelmet = new ItemTexturedArmor(mummyEnum, 0, 0).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyHelmet").setTextureName("atum:MummyHelmet"); + public static Item mummyChest = new ItemTexturedArmor(mummyEnum, 0, 1).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyChest").setTextureName("atum:MummyChest"); + public static Item mummyLegs = new ItemTexturedArmor(mummyEnum, 0, 2).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_2").setUnlocalizedName("mummyLegs").setTextureName("atum:MummyLegs"); + public static Item mummyBoots = new ItemTexturedArmor(mummyEnum, 0, 3).setRepairItem(ITEM_SCRAP).setTextureFile("MummyArmor_1").setUnlocalizedName("mummyBoots").setTextureName("atum:MummyBoots"); + public static Item wandererHelmet = new ItemTexturedArmor(wandererEnum, 0, 0).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererHelmet").setTextureName("atum:WandererHelmet"); + public static Item wandererChest = new ItemTexturedArmor(wandererEnum, 0, 1).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererChest").setTextureName("atum:WandererChest"); + public static Item wandererLegs = new ItemTexturedArmor(wandererEnum, 0, 2).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_2").setUnlocalizedName("wandererLegs").setTextureName("atum:WandererLegs"); + public static Item wandererBoots = new ItemTexturedArmor(wandererEnum, 0, 3).setRepairItem(ITEM_LINEN).setTextureFile("WandererArmor_1").setUnlocalizedName("wandererBoots").setTextureName("atum:WandererBoots"); + public static Item desertHelmet = new ItemTexturedArmor(desertEnum, 0, 0).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_1").setUnlocalizedName("desertHelmet").setTextureName("atum:DesertHelmet"); + public static Item desertChest = new ItemTexturedArmor(desertEnum, 0, 1).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_1").setUnlocalizedName("desertChest").setTextureName("atum:DesertChest"); + public static Item desertLegs = new ItemTexturedArmor(desertEnum, 0, 2).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_2").setUnlocalizedName("desertLegs").setTextureName("atum:DesertLegs"); + public static Item desertBoots = new ItemTexturedArmor(desertEnum, 0, 3).setRepairItem(Items.iron_ingot).setTextureFile("DesertArmor_1").setUnlocalizedName("desertBoots").setTextureName("atum:DesertBoots"); + public static Item papyrusPlant = new ItemPapyrusPlant(AtumBlocks.BLOCK_PAPYRUS).setUnlocalizedName("papyrusPlant"); + public static Item ITEM_ECTOPLASM = new Item().setUnlocalizedName("ectoplasm").setTextureName("atum:Ectoplasm"); + public static Item ITEM_STONECHUNK = new Item().setUnlocalizedName("stoneChunk").setTextureName("atum:StoneChunk"); + public static Item ITEM_SCROLL = new Item().setUnlocalizedName("scroll").setTextureName("atum:Scroll"); + public static Item ITEM_PELT = new Item().setUnlocalizedName("wolfPelt").setTextureName("atum:WolfPelt"); + public static Item ITEM_FLAX = new Item().setUnlocalizedName("flax").setTextureName("atum:FlaxItem"); + public static Item ITEM_FLAXSEED = new ItemSeeds(AtumBlocks.BLOCK_FLAX, Blocks.farmland).setUnlocalizedName("flaxSeeds").setTextureName("atum:FlaxSeeds"); + public static Item ITEM_FISH = new ItemFish().setUnlocalizedName("fish"); + public static Item neithsAudacity = new ItemNeithsAudacity().setUnlocalizedName("neithsAudacity"); - public AtumItems(){ - registerItems(); - } + public AtumItems() { + registerItems(); + } - public void registerItems() { - this.register(ITEM_SCARAB); - this.register(ITEM_LOOT); - this.register(ITEM_DATE); - this.register(ITEM_SCIMITAR); - this.register(ITEM_GREATSWORD); - this.register(ITEM_SCEPTER); - this.register(ITEM_STONESOLDIER_SWORD); - this.register(ITEM_BOW); - this.register(ITEM_PTAHSPICK); - this.register(sobeksRage); - this.register(osirisWill); - this.register(akersToil); - this.register(gebsBlessing); - this.register(atensFury); - this.register(rasGlory); - this.register(sekhmetsWrath); - this.register(nutsAgility); - this.register(horusFlight); - this.register(monthusStrike); - this.register(anhursMight); - this.register(hedetetsSting); - this.register(horusSoaring); - this.register(shusBreath); - this.register(ptahsDestruction); - this.register(monthusBlast); - this.register(nusFlux); - this.register(mnevisHorns); - this.register(isisEmbrace); - this.register(maatsBalance); - this.register(hedetetsVenom); - this.register(gebsSolidarity); - this.register(nutsCall); - this.register(anuketsBounty); - this.register(mafdetsQuickness); - this.register(isisHealing); - this.register(amunetsHomecoming); - this.register(anubisMercy); - this.register(limestoneShovel); - this.register(limestonePickaxe); - this.register(limestoneAxe); - this.register(limestoneSword); - this.register(limestoneHoe); - this.register(mummyHelmet); - this.register(mummyChest); - this.register(mummyLegs); - this.register(mummyBoots); - this.register(wandererHelmet); - this.register(wandererChest); - this.register(wandererLegs); - this.register(wandererBoots); - this.register(desertHelmet); - this.register(desertChest); - this.register(desertLegs); - this.register(desertBoots); - this.register(papyrusPlant); - this.register(ITEM_ECTOPLASM); - this.register(ITEM_STONECHUNK); - this.register(ITEM_SCRAP); - this.register(ITEM_SCROLL); - this.register(ITEM_PELT); - this.register(ITEM_LINEN); - this.register(ITEM_FLAX); - this.register(ITEM_FLAXSEED); - this.register(ITEM_FISH); - this.register(neithsAudacity); - } + public void registerItems() { + this.register(ITEM_SCARAB); + this.register(ITEM_LOOT); + this.register(ITEM_DATE); + this.register(ITEM_SCIMITAR); + this.register(ITEM_GREATSWORD); + this.register(ITEM_SCEPTER); + this.register(ITEM_STONESOLDIER_SWORD); + this.register(ITEM_BOW); + this.register(ITEM_PTAHSPICK); + this.register(sobeksRage); + this.register(osirisWill); + this.register(akersToil); + this.register(gebsBlessing); + this.register(atensFury); + this.register(rasGlory); + this.register(sekhmetsWrath); + this.register(nutsAgility); + this.register(horusFlight); + this.register(monthusStrike); + this.register(anhursMight); + this.register(hedetetsSting); + this.register(horusSoaring); + this.register(shusBreath); + this.register(ptahsDestruction); + this.register(monthusBlast); + this.register(nusFlux); + this.register(mnevisHorns); + this.register(isisEmbrace); + this.register(maatsBalance); + this.register(hedetetsVenom); + this.register(gebsSolidarity); + this.register(nutsCall); + this.register(anuketsBounty); + this.register(mafdetsQuickness); + this.register(isisHealing); + this.register(amunetsHomecoming); + this.register(anubisMercy); + this.register(limestoneShovel); + this.register(limestonePickaxe); + this.register(limestoneAxe); + this.register(limestoneSword); + this.register(limestoneHoe); + this.register(mummyHelmet); + this.register(mummyChest); + this.register(mummyLegs); + this.register(mummyBoots); + this.register(wandererHelmet); + this.register(wandererChest); + this.register(wandererLegs); + this.register(wandererBoots); + this.register(desertHelmet); + this.register(desertChest); + this.register(desertLegs); + this.register(desertBoots); + this.register(papyrusPlant); + this.register(ITEM_ECTOPLASM); + this.register(ITEM_STONECHUNK); + this.register(ITEM_SCRAP); + this.register(ITEM_SCROLL); + this.register(ITEM_PELT); + this.register(ITEM_LINEN); + this.register(ITEM_FLAX); + this.register(ITEM_FLAXSEED); + this.register(ITEM_FISH); + this.register(neithsAudacity); + } - private void register(Item item) { - GameRegistry.registerItem(item, item.getUnlocalizedName()); - item.setCreativeTab(Atum.creativeTab); - } + private void register(Item item) { + GameRegistry.registerItem(item, item.getUnlocalizedName()); + item.setCreativeTab(Atum.creativeTab); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemAtumBow.java b/src/main/java/com/teammetallurgy/atum/items/ItemAtumBow.java index 6ba6753..0911240 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemAtumBow.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemAtumBow.java @@ -10,49 +10,49 @@ public class ItemAtumBow extends ItemBow { - public static final String[] bowPullIconNameArray = new String[]{"bow_pull_0", "bow_pull_1", "bow_pull_2"}; - IIcon[] iconArray; - - public ItemAtumBow() { - super(); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister par1IIconRegister) { - this.iconArray = new IIcon[bowPullIconNameArray.length]; - - this.itemIcon = par1IIconRegister.registerIcon("atum:Bow"); - for (int i = 0; i < this.iconArray.length; ++i) { - this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); - } - - } - - @Override - public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { - if (usingItem != null) { - int j = this.getMaxItemUseDuration(stack) - useRemaining; - if (j >= 18) { - return this.getItemIconForUseDuration(2); - } - - if (j > 13) { - return this.getItemIconForUseDuration(1); - } - - if (j > 0) { - return this.getItemIconForUseDuration(0); - } - } - - return this.getIcon(stack, renderPass); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getItemIconForUseDuration(int par1) { - return this.iconArray[par1]; - } + public static final String[] bowPullIconNameArray = new String[]{"bow_pull_0", "bow_pull_1", "bow_pull_2"}; + IIcon[] iconArray; + + public ItemAtumBow() { + super(); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IIconRegister) { + this.iconArray = new IIcon[bowPullIconNameArray.length]; + + this.itemIcon = par1IIconRegister.registerIcon("atum:Bow"); + for (int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); + } + + } + + @Override + public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + if (usingItem != null) { + int j = this.getMaxItemUseDuration(stack) - useRemaining; + if (j >= 18) { + return this.getItemIconForUseDuration(2); + } + + if (j > 13) { + return this.getItemIconForUseDuration(1); + } + + if (j > 0) { + return this.getItemIconForUseDuration(0); + } + } + + return this.getIcon(stack, renderPass); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getItemIconForUseDuration(int par1) { + return this.iconArray[par1]; + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemFish.java b/src/main/java/com/teammetallurgy/atum/items/ItemFish.java index 87d31c7..a21d474 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemFish.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemFish.java @@ -12,40 +12,40 @@ public class ItemFish extends Item { - IIcon[] icons; - - public ItemFish() { - super(); - this.setHasSubtypes(true); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(int par1) { - return this.icons[par1]; - } - - @Override - public String getUnlocalizedName(ItemStack par1ItemStack) { - return this.getUnlocalizedName() + "." + par1ItemStack.getItemDamage(); - } - - @Override - @SideOnly(Side.CLIENT) - public void getSubItems(Item par1, CreativeTabs par2CreativeTabs, List par3List) { - for (int i = 0; i < 4; ++i) { - par3List.add(new ItemStack(par1, 1, i)); - } - - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister par1IIconRegister) { - this.icons = new IIcon[4]; - - for (int i = 0; i < 4; ++i) { - this.icons[i] = par1IIconRegister.registerIcon("atum:Fish" + i); - } - } + IIcon[] icons; + + public ItemFish() { + super(); + this.setHasSubtypes(true); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamage(int par1) { + return this.icons[par1]; + } + + @Override + public String getUnlocalizedName(ItemStack par1ItemStack) { + return this.getUnlocalizedName() + "." + par1ItemStack.getItemDamage(); + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubItems(Item par1, CreativeTabs par2CreativeTabs, List par3List) { + for (int i = 0; i < 4; ++i) { + par3List.add(new ItemStack(par1, 1, i)); + } + + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IIconRegister) { + this.icons = new IIcon[4]; + + for (int i = 0; i < 4; ++i) { + this.icons[i] = par1IIconRegister.registerIcon("atum:Fish" + i); + } + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemGreatsword.java b/src/main/java/com/teammetallurgy/atum/items/ItemGreatsword.java index f9b1f33..425076a 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemGreatsword.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemGreatsword.java @@ -9,17 +9,17 @@ public class ItemGreatsword extends ItemSword { - public ItemGreatsword(ToolMaterial par2ToolMaterial) { - super(par2ToolMaterial); - } + public ItemGreatsword(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } - @Override - public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase mob, EntityLivingBase player) { - if (!(mob instanceof EntityStoneSoldier) && !(mob instanceof EntityPharaoh)) { - float j = 1.2F; - mob.addVelocity((double) (-MathHelper.sin(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F), 0.1D, (double) (MathHelper.cos(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F)); - } + @Override + public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase mob, EntityLivingBase player) { + if (!(mob instanceof EntityStoneSoldier) && !(mob instanceof EntityPharaoh)) { + float j = 1.2F; + mob.addVelocity((double) (-MathHelper.sin(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F), 0.1D, (double) (MathHelper.cos(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F)); + } - return super.hitEntity(par1ItemStack, mob, player); - } + return super.hitEntity(par1ItemStack, mob, player); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java b/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java index b8281fe..5d5be69 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java @@ -18,90 +18,90 @@ public class ItemLoot extends Item { - private static String[] typeArray = new String[]{"idol", "necklace", "ring", "broach", "scepter"}; - private static String[] qualityArray = new String[]{"dirty", "silver", "gold", "sapphire", "ruby", "emerald", "diamond"}; - IIcon[] iconArray; - - public ItemLoot() { - super(); - this.setHasSubtypes(true); - this.setMaxDamage(0); - } - - public static ItemStack getRandomLoot(Random rand, boolean isDirty) { - int type = rand.nextInt(typeArray.length); - int quality = rand.nextInt(qualityArray.length - 1) + 1; - return new ItemStack(AtumItems.ITEM_LOOT, 1, type << 5 | quality << 1 | (isDirty ? 1 : 0)); - } - - @Override - public String getUnlocalizedName(ItemStack par1ItemStack) { - int quality = par1ItemStack.getItemDamage() >> 1 & 15; - return super.getUnlocalizedName() + "." + qualityArray[quality]; - } - - @Override - public String getItemStackDisplayName(ItemStack par1ItemStack) { - int type = par1ItemStack.getItemDamage() >> 5 & 15; - return super.getItemStackDisplayName(par1ItemStack) + " " + StatCollector.translateToLocal("item.loot." + typeArray[type] + ".name"); - } - - @Override - public boolean onEntityItemUpdate(EntityItem entityItem) { - Block id = entityItem.worldObj.getBlock(MathHelper.floor_double(entityItem.posX), MathHelper.floor_double(entityItem.posY), MathHelper.floor_double(entityItem.posZ)); - if (id == Blocks.water || id == Blocks.flowing_water) { - ItemStack item = entityItem.getEntityItem(); - int damage = item.getItemDamage() >> 1; - int quality = damage & 15; - if (quality == 0) { - damage |= (int) (Math.random() * 6.0D) + 1; - } - - item.setItemDamage(damage << 1); - entityItem.setEntityItemStack(item); - } - - return super.onEntityItemUpdate(entityItem); - } - - @Override - @SideOnly(Side.CLIENT) - public void getSubItems(Item par1, CreativeTabs par2CreativeTabs, List par3List) { - for (int type = 0; type < typeArray.length; ++type) { - par3List.add(new ItemStack(par1, 1, type << 5 | 1)); - - for (int quality = 1; quality < qualityArray.length; ++quality) { - par3List.add(new ItemStack(par1, 1, type << 5 | quality << 1)); - } - } - - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(int par1) { - int dirty = par1 & 1; - int quality = par1 >> 1 & 15; - int type = par1 >> 5 & 15; - return dirty == 1 ? this.iconArray[type * 7] : this.iconArray[type * 7 + quality]; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister par1IIconRegister) { - this.iconArray = new IIcon[typeArray.length * (qualityArray.length + 1)]; - - for (int type = 0; type < 5; ++type) { - this.iconArray[type * 7] = par1IIconRegister.registerIcon("atum:Dirty" + firstUpperCase(typeArray[type])); - - for (int quality = 1; quality < 7; ++quality) { - this.iconArray[type * 7 + quality] = par1IIconRegister.registerIcon("atum:" + firstUpperCase(qualityArray[quality]) + firstUpperCase(typeArray[type])); - } - } - - } - - public String firstUpperCase(String s) { - return Character.toString(s.charAt(0)).toUpperCase() + s.substring(1, s.length()); - } + private static String[] typeArray = new String[]{"idol", "necklace", "ring", "broach", "scepter"}; + private static String[] qualityArray = new String[]{"dirty", "silver", "gold", "sapphire", "ruby", "emerald", "diamond"}; + IIcon[] iconArray; + + public ItemLoot() { + super(); + this.setHasSubtypes(true); + this.setMaxDamage(0); + } + + public static ItemStack getRandomLoot(Random rand, boolean isDirty) { + int type = rand.nextInt(typeArray.length); + int quality = rand.nextInt(qualityArray.length - 1) + 1; + return new ItemStack(AtumItems.ITEM_LOOT, 1, type << 5 | quality << 1 | (isDirty ? 1 : 0)); + } + + @Override + public String getUnlocalizedName(ItemStack par1ItemStack) { + int quality = par1ItemStack.getItemDamage() >> 1 & 15; + return super.getUnlocalizedName() + "." + qualityArray[quality]; + } + + @Override + public String getItemStackDisplayName(ItemStack par1ItemStack) { + int type = par1ItemStack.getItemDamage() >> 5 & 15; + return super.getItemStackDisplayName(par1ItemStack) + " " + StatCollector.translateToLocal("item.loot." + typeArray[type] + ".name"); + } + + @Override + public boolean onEntityItemUpdate(EntityItem entityItem) { + Block id = entityItem.worldObj.getBlock(MathHelper.floor_double(entityItem.posX), MathHelper.floor_double(entityItem.posY), MathHelper.floor_double(entityItem.posZ)); + if (id == Blocks.water || id == Blocks.flowing_water) { + ItemStack item = entityItem.getEntityItem(); + int damage = item.getItemDamage() >> 1; + int quality = damage & 15; + if (quality == 0) { + damage |= (int) (Math.random() * 6.0D) + 1; + } + + item.setItemDamage(damage << 1); + entityItem.setEntityItemStack(item); + } + + return super.onEntityItemUpdate(entityItem); + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubItems(Item par1, CreativeTabs par2CreativeTabs, List par3List) { + for (int type = 0; type < typeArray.length; ++type) { + par3List.add(new ItemStack(par1, 1, type << 5 | 1)); + + for (int quality = 1; quality < qualityArray.length; ++quality) { + par3List.add(new ItemStack(par1, 1, type << 5 | quality << 1)); + } + } + + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamage(int par1) { + int dirty = par1 & 1; + int quality = par1 >> 1 & 15; + int type = par1 >> 5 & 15; + return dirty == 1 ? this.iconArray[type * 7] : this.iconArray[type * 7 + quality]; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IIconRegister) { + this.iconArray = new IIcon[typeArray.length * (qualityArray.length + 1)]; + + for (int type = 0; type < 5; ++type) { + this.iconArray[type * 7] = par1IIconRegister.registerIcon("atum:Dirty" + firstUpperCase(typeArray[type])); + + for (int quality = 1; quality < 7; ++quality) { + this.iconArray[type * 7 + quality] = par1IIconRegister.registerIcon("atum:" + firstUpperCase(qualityArray[quality]) + firstUpperCase(typeArray[type])); + } + } + + } + + public String firstUpperCase(String s) { + return Character.toString(s.charAt(0)).toUpperCase() + s.substring(1, s.length()); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemPapyrusPlant.java b/src/main/java/com/teammetallurgy/atum/items/ItemPapyrusPlant.java index 236fd81..63d7f15 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemPapyrusPlant.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemPapyrusPlant.java @@ -11,70 +11,70 @@ public class ItemPapyrusPlant extends Item { - private Block spawnID; + private Block spawnID; - public ItemPapyrusPlant(Block par2Block) { - super(); - this.spawnID = par2Block; - } + public ItemPapyrusPlant(Block par2Block) { + super(); + this.spawnID = par2Block; + } - @Override - public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) { - Block i1 = par3World.getBlock(par4, par5, par6); - if (i1 == Blocks.snow && (par3World.getBlockMetadata(par4, par5, par6) & 7) < 1) { - par7 = 1; - } else if (i1 != Blocks.vine && i1 != Blocks.tallgrass && i1 != Blocks.deadbush) { - if (par7 == 0) { - --par5; - } + @Override + public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) { + Block i1 = par3World.getBlock(par4, par5, par6); + if (i1 == Blocks.snow && (par3World.getBlockMetadata(par4, par5, par6) & 7) < 1) { + par7 = 1; + } else if (i1 != Blocks.vine && i1 != Blocks.tallgrass && i1 != Blocks.deadbush) { + if (par7 == 0) { + --par5; + } - if (par7 == 1) { - ++par5; - } + if (par7 == 1) { + ++par5; + } - if (par7 == 2) { - --par6; - } + if (par7 == 2) { + --par6; + } - if (par7 == 3) { - ++par6; - } + if (par7 == 3) { + ++par6; + } - if (par7 == 4) { - --par4; - } + if (par7 == 4) { + --par4; + } - if (par7 == 5) { - ++par4; - } - } + if (par7 == 5) { + ++par4; + } + } - if (!par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack)) { - return false; - } else if (par1ItemStack.stackSize == 0) { - return false; - } else { - if (par3World.canPlaceEntityOnSide(this.spawnID, par4, par5, par6, false, par7, (Entity) null, par1ItemStack)) { - Block block = this.spawnID; - int j1 = block.onBlockPlaced(par3World, par4, par5, par6, par7, par8, par9, par10, 0); - if (par3World.setBlock(par4, par5, par6, this.spawnID, j1, 3)) { - if (par3World.getBlock(par4, par5, par6) == this.spawnID) { - this.spawnID.onBlockPlacedBy(par3World, par4, par5, par6, par2EntityPlayer, par1ItemStack); - this.spawnID.onPostBlockPlaced(par3World, par4, par5, par6, j1); - } + if (!par2EntityPlayer.canPlayerEdit(par4, par5, par6, par7, par1ItemStack)) { + return false; + } else if (par1ItemStack.stackSize == 0) { + return false; + } else { + if (par3World.canPlaceEntityOnSide(this.spawnID, par4, par5, par6, false, par7, (Entity) null, par1ItemStack)) { + Block block = this.spawnID; + int j1 = block.onBlockPlaced(par3World, par4, par5, par6, par7, par8, par9, par10, 0); + if (par3World.setBlock(par4, par5, par6, this.spawnID, j1, 3)) { + if (par3World.getBlock(par4, par5, par6) == this.spawnID) { + this.spawnID.onBlockPlacedBy(par3World, par4, par5, par6, par2EntityPlayer, par1ItemStack); + this.spawnID.onPostBlockPlaced(par3World, par4, par5, par6, j1); + } - par3World.playSoundEffect((double) ((float) par4 + 0.5F), (double) ((float) par5 + 0.5F), (double) ((float) par6 + 0.5F), block.stepSound.getStepResourcePath(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); - --par1ItemStack.stackSize; - } - } + par3World.playSoundEffect((double) ((float) par4 + 0.5F), (double) ((float) par5 + 0.5F), (double) ((float) par6 + 0.5F), block.stepSound.getStepResourcePath(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); + --par1ItemStack.stackSize; + } + } - return true; - } - } + return true; + } + } - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:PapyrusPlantItem"); - } + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:PapyrusPlantItem"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java b/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java index f320483..5b42c22 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java @@ -14,65 +14,65 @@ public class ItemScarab extends Item { - public ItemScarab() { - super(); - super.maxStackSize = 1; - } + public ItemScarab() { + super(); + super.maxStackSize = 1; + } - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } - @Override - public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int x, int y, int z, int par7, float par8, float par9, float par10) { - if (AtumIDS.ALLOW_CREATION) { + @Override + public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int x, int y, int z, int par7, float par8, float par9, float par10) { + if (AtumIDS.ALLOW_CREATION) { - Block block = par3World.getBlock(x, y, z); - Block temp = null; - if (block == Blocks.sandstone) { - temp = Blocks.sandstone; - } else if (block == AtumBlocks.BLOCK_LARGEBRICK) { - temp = AtumBlocks.BLOCK_LARGEBRICK; - } - if (temp != null) { - if (!(AtumBlocks.BLOCK_PORTAL).tryToCreatePortal(par3World, x, y, z, temp)) { - if (par2EntityPlayer.capabilities.isCreativeMode) { - for (int x1 = -2; x1 < 3; x1++) { - for (int z1 = -2; z1 < 3; z1++) { - par3World.setBlock(x + x1, y, z + z1, temp); - } - } - for (int x1 = -2; x1 < 3; x1++) { - for (int z1 = -2; z1 < 3; z1++) { - if (x1 + x == x + 2 || z1 + z == z + 2 || x1 + x == x - 2 || z1 + z == z - 2) { - par3World.setBlock(x + x1, y + 1, z + z1, temp); - } - } - } - for (int y1 = 2; y1 < 4; y1++) { - for (int x1 = -2; x1 < 3; x1++) { - for (int z1 = -2; z1 < 3; z1++) { - if ((x1 + x == x + 2 && z1 + z == z + 2) || (x1 + x == x - 2 && z1 + z == z + 2) || (x1 + x == x + 2 && z1 + z == z - 2) || (x1 + x == x - 2 && z1 + z == z - 2)) { - par3World.setBlock(x + x1, y + y1, z + z1, temp); - } - } - } - } - } - } else { - --par2EntityPlayer.getCurrentEquippedItem().stackSize; - } - } - } else { - par2EntityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chat.atum.disabled"))); - } + Block block = par3World.getBlock(x, y, z); + Block temp = null; + if (block == Blocks.sandstone) { + temp = Blocks.sandstone; + } else if (block == AtumBlocks.BLOCK_LARGEBRICK) { + temp = AtumBlocks.BLOCK_LARGEBRICK; + } + if (temp != null) { + if (!(AtumBlocks.BLOCK_PORTAL).tryToCreatePortal(par3World, x, y, z, temp)) { + if (par2EntityPlayer.capabilities.isCreativeMode) { + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + par3World.setBlock(x + x1, y, z + z1, temp); + } + } + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + if (x1 + x == x + 2 || z1 + z == z + 2 || x1 + x == x - 2 || z1 + z == z - 2) { + par3World.setBlock(x + x1, y + 1, z + z1, temp); + } + } + } + for (int y1 = 2; y1 < 4; y1++) { + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + if ((x1 + x == x + 2 && z1 + z == z + 2) || (x1 + x == x - 2 && z1 + z == z + 2) || (x1 + x == x + 2 && z1 + z == z - 2) || (x1 + x == x - 2 && z1 + z == z - 2)) { + par3World.setBlock(x + x1, y + y1, z + z1, temp); + } + } + } + } + } + } else { + --par2EntityPlayer.getCurrentEquippedItem().stackSize; + } + } + } else { + par2EntityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chat.atum.disabled"))); + } - return true; - } + return true; + } - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:Scarab"); - } + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:Scarab"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemScepter.java b/src/main/java/com/teammetallurgy/atum/items/ItemScepter.java index 2ff2d58..791d8c0 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemScepter.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemScepter.java @@ -5,12 +5,12 @@ public class ItemScepter extends ItemSword { - public ItemScepter(ToolMaterial par2ToolMaterial) { - super(par2ToolMaterial); - } + public ItemScepter(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:Scepter"); - } + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:Scepter"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemScimitar.java b/src/main/java/com/teammetallurgy/atum/items/ItemScimitar.java index fc9c84e..9b07d1d 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemScimitar.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemScimitar.java @@ -5,12 +5,12 @@ public class ItemScimitar extends ItemSword { - public ItemScimitar(ToolMaterial par2ToolMaterial) { - super(par2ToolMaterial); - } + public ItemScimitar(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:Scimitar"); - } + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:Scimitar"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java b/src/main/java/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java index 9f5293e..ddfb540 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemStoneSoldierSword.java @@ -5,12 +5,12 @@ public class ItemStoneSoldierSword extends ItemSword { - public ItemStoneSoldierSword(ToolMaterial par2ToolMaterial) { - super(par2ToolMaterial); - } + public ItemStoneSoldierSword(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:StoneSoldierSword"); - } + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:StoneSoldierSword"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemTexturedArmor.java b/src/main/java/com/teammetallurgy/atum/items/ItemTexturedArmor.java index 6e3c909..2487da8 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemTexturedArmor.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemTexturedArmor.java @@ -8,32 +8,32 @@ public class ItemTexturedArmor extends ItemArmor { - private String textureFile; - private Item repairItem = null; - private IIcon[] armour; - - public ItemTexturedArmor(ArmorMaterial par2ArmorMaterial, int par3, int par4) { - super(par2ArmorMaterial, par3, par4); - } - - public ItemTexturedArmor setRepairItem(Item item) { - this.repairItem = item; - return this; - } - - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.getItem() == this.repairItem; - } - - public ItemTexturedArmor setTextureFile(String filename) { - this.textureFile = filename; - return this; - } - - @Override - public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { - return "atum:textures/armor/" + this.textureFile + ".png"; - } + private String textureFile; + private Item repairItem = null; + private IIcon[] armour; + + public ItemTexturedArmor(ArmorMaterial par2ArmorMaterial, int par3, int par4) { + super(par2ArmorMaterial, par3, par4); + } + + public ItemTexturedArmor setRepairItem(Item item) { + this.repairItem = item; + return this; + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == this.repairItem; + } + + public ItemTexturedArmor setTextureFile(String filename) { + this.textureFile = filename; + return this; + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { + return "atum:textures/armor/" + this.textureFile + ".png"; + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/LimestoneAxe.java b/src/main/java/com/teammetallurgy/atum/items/LimestoneAxe.java index 3a6d718..bfab67f 100644 --- a/src/main/java/com/teammetallurgy/atum/items/LimestoneAxe.java +++ b/src/main/java/com/teammetallurgy/atum/items/LimestoneAxe.java @@ -8,17 +8,17 @@ public class LimestoneAxe extends ItemAxe { - public LimestoneAxe(ToolMaterial par2ToolMaterial) { - super(par2ToolMaterial); - } + public LimestoneAxe(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return Block.getBlockFromItem(par2ItemStack.getItem()) == AtumBlocks.BLOCK_LIMESTONECOBBLE; - } + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return Block.getBlockFromItem(par2ItemStack.getItem()) == AtumBlocks.BLOCK_LIMESTONECOBBLE; + } - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:LimestoneAxe"); - } + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:LimestoneAxe"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/LimestoneHoe.java b/src/main/java/com/teammetallurgy/atum/items/LimestoneHoe.java index 1d5c403..60cd83e 100644 --- a/src/main/java/com/teammetallurgy/atum/items/LimestoneHoe.java +++ b/src/main/java/com/teammetallurgy/atum/items/LimestoneHoe.java @@ -8,17 +8,17 @@ public class LimestoneHoe extends ItemHoe { - public LimestoneHoe(ToolMaterial par2ToolMaterial) { - super(par2ToolMaterial); - } + public LimestoneHoe(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return Block.getBlockFromItem(par2ItemStack.getItem()) == AtumBlocks.BLOCK_LIMESTONECOBBLE; - } + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return Block.getBlockFromItem(par2ItemStack.getItem()) == AtumBlocks.BLOCK_LIMESTONECOBBLE; + } - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:LimestoneHoe"); - } + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:LimestoneHoe"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/LimestonePickaxe.java b/src/main/java/com/teammetallurgy/atum/items/LimestonePickaxe.java index 998a2f5..a19ed2c 100644 --- a/src/main/java/com/teammetallurgy/atum/items/LimestonePickaxe.java +++ b/src/main/java/com/teammetallurgy/atum/items/LimestonePickaxe.java @@ -8,17 +8,17 @@ public class LimestonePickaxe extends ItemPickaxe { - public LimestonePickaxe(ToolMaterial par2ToolMaterial) { - super(par2ToolMaterial); - } + public LimestonePickaxe(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return Block.getBlockFromItem(par2ItemStack.getItem()) == AtumBlocks.BLOCK_LIMESTONECOBBLE; - } + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return Block.getBlockFromItem(par2ItemStack.getItem()) == AtumBlocks.BLOCK_LIMESTONECOBBLE; + } - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:LimestonePickaxe"); - } + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:LimestonePickaxe"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/LimestoneShovel.java b/src/main/java/com/teammetallurgy/atum/items/LimestoneShovel.java index e6ea425..a59f3db 100644 --- a/src/main/java/com/teammetallurgy/atum/items/LimestoneShovel.java +++ b/src/main/java/com/teammetallurgy/atum/items/LimestoneShovel.java @@ -8,17 +8,17 @@ public class LimestoneShovel extends ItemSpade { - public LimestoneShovel(ToolMaterial par2ToolMaterial) { - super(par2ToolMaterial); - } + public LimestoneShovel(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return Block.getBlockFromItem(par2ItemStack.getItem()) == AtumBlocks.BLOCK_LIMESTONECOBBLE; - } + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return Block.getBlockFromItem(par2ItemStack.getItem()) == AtumBlocks.BLOCK_LIMESTONECOBBLE; + } - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:LimestoneShovel"); - } + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:LimestoneShovel"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/LimestoneSword.java b/src/main/java/com/teammetallurgy/atum/items/LimestoneSword.java index 9dbe6db..6e5da77 100644 --- a/src/main/java/com/teammetallurgy/atum/items/LimestoneSword.java +++ b/src/main/java/com/teammetallurgy/atum/items/LimestoneSword.java @@ -8,17 +8,17 @@ public class LimestoneSword extends ItemSword { - public LimestoneSword(ToolMaterial par2ToolMaterial) { - super(par2ToolMaterial); - } + public LimestoneSword(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return Block.getBlockFromItem(par2ItemStack.getItem()) == AtumBlocks.BLOCK_LIMESTONECOBBLE; - } + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return Block.getBlockFromItem(par2ItemStack.getItem()) == AtumBlocks.BLOCK_LIMESTONECOBBLE; + } - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:LimestoneSword"); - } + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:LimestoneSword"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java index 2f27300..fea250a 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAkersToil.java @@ -20,57 +20,57 @@ public class ItemAkersToil extends ItemSpade { - public ItemAkersToil(ToolMaterial par2ToolMaterial) { - super(par2ToolMaterial); - } + public ItemAkersToil(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } - @Override - public float getDigSpeed(ItemStack stack, Block block, int meta) { - if (ForgeHooks.isToolEffective(stack, block, meta)) { - return super.efficiencyOnProperMaterial * 3.0F; - } + @Override + public float getDigSpeed(ItemStack stack, Block block, int meta) { + if (ForgeHooks.isToolEffective(stack, block, meta)) { + return super.efficiencyOnProperMaterial * 3.0F; + } - return 1.0F; - } + return 1.0F; + } - @Override - public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, Block par3, int par4, int par5, int par6, EntityLivingBase par7EntityLiving) { - if (par7EntityLiving instanceof EntityPlayer) { - ((EntityPlayer) par7EntityLiving).getFoodStats().addExhaustion(-0.025F); - } + @Override + public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, Block par3, int par4, int par5, int par6, EntityLivingBase par7EntityLiving) { + if (par7EntityLiving instanceof EntityPlayer) { + ((EntityPlayer) par7EntityLiving).getFoodStats().addExhaustion(-0.025F); + } - return false; - } + return false; + } - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); - } else { - par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.getItem() == Items.diamond; - } + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:AkersToil"); - } + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:AkersToil"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java index bd05ad9..abe5b3a 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAmunetsHomecoming.java @@ -21,86 +21,86 @@ public class ItemAmunetsHomecoming extends Item { - public ItemAmunetsHomecoming() { - super(); - this.setMaxDamage(20); - } - - public static ChunkCoordinates verifyRespawnCoordinates(World par0World, ChunkCoordinates par1ChunkCoordinates, boolean par2) { - if (!par0World.isRemote) { - IChunkProvider c = par0World.getChunkProvider(); - c.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); - c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); - c.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); - c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); - } - - Block block = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ); - if (block != null && block.isBed(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityLiving) null)) { - ChunkCoordinates material1 = block.getBedSpawnPosition(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityPlayer) null); - return material1; - } else { - Material material = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ).getMaterial(); - Material material1 = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY + 1, par1ChunkCoordinates.posZ).getMaterial(); - boolean flag1 = !material.isSolid() && !material.isLiquid(); - boolean flag2 = !material1.isSolid() && !material1.isLiquid(); - return par2 && flag1 && flag2 ? par1ChunkCoordinates : null; - } - } - - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } - - @Override - // TODO FIX - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par3World, EntityPlayer par2EntityPlayer) { - ChunkCoordinates spawn = par2EntityPlayer.getBedLocation(par2EntityPlayer.dimension); - if (spawn == null) { - spawn = par3World.getSpawnPoint(); - } - - if (spawn == null) { - spawn = par3World.getSpawnPoint(); - } - - spawn = verifyRespawnCoordinates(par3World, spawn, false); - if (spawn == null) { - spawn = par3World.getSpawnPoint(); - } - - par2EntityPlayer.rotationPitch = 0.0F; - par2EntityPlayer.rotationYaw = 0.0F; - par2EntityPlayer.setPositionAndUpdate((double) spawn.posX + 0.5D, (double) spawn.posY + 0.1D, (double) spawn.posZ); - - while (!par3World.getCollidingBoundingBoxes(par2EntityPlayer, par2EntityPlayer.boundingBox).isEmpty()) { - par2EntityPlayer.setPosition(par2EntityPlayer.posX, par2EntityPlayer.posY + 1.0D, par2EntityPlayer.posZ); - } - - par1ItemStack.damageItem(1, par2EntityPlayer); - return par1ItemStack; - } - - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } - - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); - } else { - par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:AmunetsHomecoming"); - } + public ItemAmunetsHomecoming() { + super(); + this.setMaxDamage(20); + } + + public static ChunkCoordinates verifyRespawnCoordinates(World par0World, ChunkCoordinates par1ChunkCoordinates, boolean par2) { + if (!par0World.isRemote) { + IChunkProvider c = par0World.getChunkProvider(); + c.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); + c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); + c.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); + c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); + } + + Block block = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ); + if (block != null && block.isBed(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityLiving) null)) { + ChunkCoordinates material1 = block.getBedSpawnPosition(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityPlayer) null); + return material1; + } else { + Material material = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ).getMaterial(); + Material material1 = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY + 1, par1ChunkCoordinates.posZ).getMaterial(); + boolean flag1 = !material.isSolid() && !material.isLiquid(); + boolean flag2 = !material1.isSolid() && !material1.isLiquid(); + return par2 && flag1 && flag2 ? par1ChunkCoordinates : null; + } + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + // TODO FIX + public ItemStack onItemRightClick(ItemStack par1ItemStack, World par3World, EntityPlayer par2EntityPlayer) { + ChunkCoordinates spawn = par2EntityPlayer.getBedLocation(par2EntityPlayer.dimension); + if (spawn == null) { + spawn = par3World.getSpawnPoint(); + } + + if (spawn == null) { + spawn = par3World.getSpawnPoint(); + } + + spawn = verifyRespawnCoordinates(par3World, spawn, false); + if (spawn == null) { + spawn = par3World.getSpawnPoint(); + } + + par2EntityPlayer.rotationPitch = 0.0F; + par2EntityPlayer.rotationYaw = 0.0F; + par2EntityPlayer.setPositionAndUpdate((double) spawn.posX + 0.5D, (double) spawn.posY + 0.1D, (double) spawn.posZ); + + while (!par3World.getCollidingBoundingBoxes(par2EntityPlayer, par2EntityPlayer.boundingBox).isEmpty()) { + par2EntityPlayer.setPosition(par2EntityPlayer.posX, par2EntityPlayer.posY + 1.0D, par2EntityPlayer.posZ); + } + + par1ItemStack.damageItem(1, par2EntityPlayer); + return par1ItemStack; + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:AmunetsHomecoming"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java index 7766d42..b2085e6 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java @@ -21,60 +21,60 @@ public class ItemAnhursMight extends ItemSword { - public ItemAnhursMight(ToolMaterial par2ToolMaterial) { - super(par2ToolMaterial); - } + public ItemAnhursMight(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } - @Override - public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase par2EntityLiving, EntityLivingBase par3EntityLiving) { - if (Math.random() > 0.5D) { - par2EntityLiving.addPotionEffect(new PotionEffect(21, 80, 1, false)); - par2EntityLiving.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 80, 6, false)); - } + @Override + public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase par2EntityLiving, EntityLivingBase par3EntityLiving) { + if (Math.random() > 0.5D) { + par2EntityLiving.addPotionEffect(new PotionEffect(21, 80, 1, false)); + par2EntityLiving.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 80, 6, false)); + } - return super.hitEntity(par1ItemStack, par2EntityLiving, par3EntityLiving); - } + return super.hitEntity(par1ItemStack, par2EntityLiving, par3EntityLiving); + } - @Override - public void onUpdate(ItemStack stack, World world, Entity entity, int par4, boolean par5) { - if (entity instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) entity; - if (player.getCurrentEquippedItem() != null && player.getCurrentEquippedItem().getItem() == this) { - player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 2, 0, false)); - } - } + @Override + public void onUpdate(ItemStack stack, World world, Entity entity, int par4, boolean par5) { + if (entity instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) entity; + if (player.getCurrentEquippedItem() != null && player.getCurrentEquippedItem().getItem() == this) { + player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 2, 0, false)); + } + } - } + } - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); - } else { - par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.getItem() == Items.diamond; - } + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:AnhursMight"); - } + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:AnhursMight"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java index fcd2ead..5fde346 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java @@ -24,131 +24,131 @@ public class ItemAnubisMercy extends Item { - public ItemAnubisMercy() { - super(); - this.setMaxDamage(20); - } - - public static ChunkCoordinates verifyRespawnCoordinates(World par0World, ChunkCoordinates par1ChunkCoordinates, boolean par2) { - if (!par0World.isRemote) { - IChunkProvider c = par0World.getChunkProvider(); - c.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); - c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); - c.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); - c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); - } - - Block block = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ); - if (block != null && block.isBed(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityLiving) null)) { - ChunkCoordinates material1 = block.getBedSpawnPosition(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityPlayer) null); - return material1; - } else { - Material material = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ).getMaterial(); - Material material1 = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY + 1, par1ChunkCoordinates.posZ).getMaterial(); - boolean flag1 = !material.isSolid() && !material.isLiquid(); - boolean flag2 = !material1.isSolid() && !material1.isLiquid(); - return par2 && flag1 && flag2 ? par1ChunkCoordinates : null; - } - } - - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } - - @SubscribeEvent - public void onDamage(LivingHurtEvent event) { - if (event.entityLiving instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) event.entityLiving; - ItemStack stack = null; - ItemStack[] damageAmount = player.inventory.mainInventory; - int resistance = damageAmount.length; - - for (int i = 0; i < resistance; ++i) { - ItemStack currStack = damageAmount[i]; - if (currStack != null && currStack.getItem() == this) { - stack = currStack; - break; - } - } - - if (stack == null) { - return; - } - - float var8 = event.ammount; - if (!event.source.isUnblockable()) { - var8 = (event.ammount * (25 - player.getTotalArmorValue()) + player.getAbsorptionAmount()) / 25.0F; - } - - if (player.isPotionActive(Potion.resistance)) { - resistance = 25 - (player.getActivePotionEffect(Potion.resistance).getAmplifier() + 1) * 5; - var8 = var8 * (float) resistance / 25.0F; - } - - if (Math.ceil((double) var8) >= (double) player.getHealth()) { - event.setCanceled(true); - this.respawnPlayer(event.entityLiving.worldObj, player); - player.setHealth(player.getMaxHealth()); - player.getFoodStats().setFoodLevel(20); - player.getFoodStats().setFoodSaturationLevel(20.0F); - // player.spawnExplosionParticle(); - stack.damageItem(1, player); - System.out.println(stack.getItemDamage()); - if (stack.getItemDamage() >= 20) { - stack = null; - } - } - } - - } - - public void respawnPlayer(World par3World, EntityPlayer par2EntityPlayer) { - ChunkCoordinates spawn = par2EntityPlayer.getBedLocation(par2EntityPlayer.dimension); - if (spawn == null) { - spawn = par3World.getSpawnPoint(); - } - - if (spawn == null) { - spawn = par3World.getSpawnPoint(); - } - - spawn = verifyRespawnCoordinates(par3World, spawn, false); - if (spawn == null) { - spawn = par3World.getSpawnPoint(); - } - - par2EntityPlayer.rotationPitch = 0.0F; - par2EntityPlayer.rotationYaw = 0.0F; - par2EntityPlayer.setPositionAndUpdate((double) spawn.posX + 0.5D, (double) spawn.posY + 0.1D, (double) spawn.posZ); - - while (!par3World.getCollidingBoundingBoxes(par2EntityPlayer, par2EntityPlayer.boundingBox).isEmpty()) { - par2EntityPlayer.setPosition(par2EntityPlayer.posX, par2EntityPlayer.posY + 1.0D, par2EntityPlayer.posZ); - } - - } - - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } - - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); - } else { - par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - // TODO - par3List.add(par1ItemStack.getMaxDamage() - par1ItemStack.getItemDamage() + " Uses Remaining"); - } - - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:AnubisMercy"); - } + public ItemAnubisMercy() { + super(); + this.setMaxDamage(20); + } + + public static ChunkCoordinates verifyRespawnCoordinates(World par0World, ChunkCoordinates par1ChunkCoordinates, boolean par2) { + if (!par0World.isRemote) { + IChunkProvider c = par0World.getChunkProvider(); + c.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); + c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ - 3 >> 4); + c.loadChunk(par1ChunkCoordinates.posX - 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); + c.loadChunk(par1ChunkCoordinates.posX + 3 >> 4, par1ChunkCoordinates.posZ + 3 >> 4); + } + + Block block = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ); + if (block != null && block.isBed(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityLiving) null)) { + ChunkCoordinates material1 = block.getBedSpawnPosition(par0World, par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ, (EntityPlayer) null); + return material1; + } else { + Material material = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY, par1ChunkCoordinates.posZ).getMaterial(); + Material material1 = par0World.getBlock(par1ChunkCoordinates.posX, par1ChunkCoordinates.posY + 1, par1ChunkCoordinates.posZ).getMaterial(); + boolean flag1 = !material.isSolid() && !material.isLiquid(); + boolean flag2 = !material1.isSolid() && !material1.isLiquid(); + return par2 && flag1 && flag2 ? par1ChunkCoordinates : null; + } + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @SubscribeEvent + public void onDamage(LivingHurtEvent event) { + if (event.entityLiving instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) event.entityLiving; + ItemStack stack = null; + ItemStack[] damageAmount = player.inventory.mainInventory; + int resistance = damageAmount.length; + + for (int i = 0; i < resistance; ++i) { + ItemStack currStack = damageAmount[i]; + if (currStack != null && currStack.getItem() == this) { + stack = currStack; + break; + } + } + + if (stack == null) { + return; + } + + float var8 = event.ammount; + if (!event.source.isUnblockable()) { + var8 = (event.ammount * (25 - player.getTotalArmorValue()) + player.getAbsorptionAmount()) / 25.0F; + } + + if (player.isPotionActive(Potion.resistance)) { + resistance = 25 - (player.getActivePotionEffect(Potion.resistance).getAmplifier() + 1) * 5; + var8 = var8 * (float) resistance / 25.0F; + } + + if (Math.ceil((double) var8) >= (double) player.getHealth()) { + event.setCanceled(true); + this.respawnPlayer(event.entityLiving.worldObj, player); + player.setHealth(player.getMaxHealth()); + player.getFoodStats().setFoodLevel(20); + player.getFoodStats().setFoodSaturationLevel(20.0F); + // player.spawnExplosionParticle(); + stack.damageItem(1, player); + System.out.println(stack.getItemDamage()); + if (stack.getItemDamage() >= 20) { + stack = null; + } + } + } + + } + + public void respawnPlayer(World par3World, EntityPlayer par2EntityPlayer) { + ChunkCoordinates spawn = par2EntityPlayer.getBedLocation(par2EntityPlayer.dimension); + if (spawn == null) { + spawn = par3World.getSpawnPoint(); + } + + if (spawn == null) { + spawn = par3World.getSpawnPoint(); + } + + spawn = verifyRespawnCoordinates(par3World, spawn, false); + if (spawn == null) { + spawn = par3World.getSpawnPoint(); + } + + par2EntityPlayer.rotationPitch = 0.0F; + par2EntityPlayer.rotationYaw = 0.0F; + par2EntityPlayer.setPositionAndUpdate((double) spawn.posX + 0.5D, (double) spawn.posY + 0.1D, (double) spawn.posZ); + + while (!par3World.getCollidingBoundingBoxes(par2EntityPlayer, par2EntityPlayer.boundingBox).isEmpty()) { + par2EntityPlayer.setPosition(par2EntityPlayer.posX, par2EntityPlayer.posY + 1.0D, par2EntityPlayer.posZ); + } + + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + // TODO + par3List.add(par1ItemStack.getMaxDamage() - par1ItemStack.getItemDamage() + " Uses Remaining"); + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:AnubisMercy"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java index ed57017..8f6443c 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java @@ -20,78 +20,78 @@ public class ItemAnuketsBounty extends Item { - @SideOnly(Side.CLIENT) - private IIcon theIcon; + @SideOnly(Side.CLIENT) + private IIcon theIcon; - public ItemAnuketsBounty() { - super(); - this.setMaxDamage(64); - this.setMaxStackSize(1); - this.setCreativeTab(CreativeTabs.tabTools); - } + public ItemAnuketsBounty() { + super(); + this.setMaxDamage(64); + this.setMaxStackSize(1); + this.setCreativeTab(CreativeTabs.tabTools); + } - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } - @Override - @SideOnly(Side.CLIENT) - public boolean isFull3D() { - return true; - } + @Override + @SideOnly(Side.CLIENT) + public boolean isFull3D() { + return true; + } - @Override - @SideOnly(Side.CLIENT) - public boolean shouldRotateAroundWhenRendering() { - return true; - } + @Override + @SideOnly(Side.CLIENT) + public boolean shouldRotateAroundWhenRendering() { + return true; + } - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { - if (par3EntityPlayer.fishEntity != null) { - int i = par3EntityPlayer.fishEntity.func_146034_e(); - par1ItemStack.damageItem(i, par3EntityPlayer); - par3EntityPlayer.swingItem(); - } else { - par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 0.5F, 0.4F / (Item.itemRand.nextFloat() * 0.4F + 0.8F)); - if (!par2World.isRemote) { - par2World.spawnEntityInWorld(new EntityAtumFishHook(par2World, par3EntityPlayer)); - } - par3EntityPlayer.swingItem(); - } + @Override + public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { + if (par3EntityPlayer.fishEntity != null) { + int i = par3EntityPlayer.fishEntity.func_146034_e(); + par1ItemStack.damageItem(i, par3EntityPlayer); + par3EntityPlayer.swingItem(); + } else { + par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 0.5F, 0.4F / (Item.itemRand.nextFloat() * 0.4F + 0.8F)); + if (!par2World.isRemote) { + par2World.spawnEntityInWorld(new EntityAtumFishHook(par2World, par3EntityPlayer)); + } + par3EntityPlayer.swingItem(); + } - return par1ItemStack; - } + return par1ItemStack; + } - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:AnuketsBounty"); - this.theIcon = par1IIconRegister.registerIcon("fishing_rod_cast"); - } + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:AnuketsBounty"); + this.theIcon = par1IIconRegister.registerIcon("fishing_rod_cast"); + } - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); - } else { - par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } - //TODO - par3List.add(par1ItemStack.getMaxDamage() - par1ItemStack.getItemDamage() + " Uses Remaining"); - } + //TODO + par3List.add(par1ItemStack.getMaxDamage() - par1ItemStack.getItemDamage() + " Uses Remaining"); + } - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.getItem() == Items.diamond; - } + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java index 44109ad..3103f57 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAtensFury.java @@ -24,128 +24,128 @@ public class ItemAtensFury extends ItemBow { - public static final String[] bowPullIconNameArray = new String[]{"atens_pull_0", "atens_pull_1", "atens_pull_2"}; - IIcon[] iconArray; - - public ItemAtensFury() { - super(); - this.setMaxDamage(650); - } - - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } - - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.getItem() == Items.diamond; - } - - @Override - public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { - int j = this.getMaxItemUseDuration(par1ItemStack) - par4; - ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); - MinecraftForge.EVENT_BUS.post(event); - if (!event.isCanceled()) { - j = event.charge; - boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - if (flag || par3EntityPlayer.inventory.hasItem(Items.arrow)) { - float f = (float) j / 20.0F; - f = (f * f + f * 2.0F) / 3.0F; - if ((double) f < 0.1D) { - return; - } - - if (f > 1.0F) { - f = 1.0F; - } - - EntityArrowFire entityarrow = new EntityArrowFire(par2World, par3EntityPlayer, f * 2.0F); - entityarrow.setDamage(entityarrow.getDamage() * 1.5D); - if (f == 1.0F) { - entityarrow.setIsCritical(true); - } - - int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - if (k > 0) { - entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); - } - - int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - if (l > 0) { - entityarrow.setKnockbackStrength(l); - } - - entityarrow.setFire(100); - par1ItemStack.damageItem(1, par3EntityPlayer); - par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - if (flag) { - entityarrow.canBePickedUp = 2; - } else { - par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); - } - - if (!par2World.isRemote) { - par2World.spawnEntityInWorld(entityarrow); - } - } - - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister par1IIconRegister) { - this.iconArray = new IIcon[bowPullIconNameArray.length]; - this.itemIcon = par1IIconRegister.registerIcon("atum:AtensFury"); - for (int i = 0; i < this.iconArray.length; ++i) { - this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); - } - - } - - @Override - public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { - if (usingItem != null) { - int j = this.getMaxItemUseDuration(stack) - useRemaining; - if (j >= 18) { - return this.getItemIconForUseDuration(2); - } - - if (j > 13) { - return this.getItemIconForUseDuration(1); - } - - if (j > 0) { - return this.getItemIconForUseDuration(0); - } - } - - return this.getIcon(stack, renderPass); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getItemIconForUseDuration(int par1) { - return this.iconArray[par1]; - } - - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } - - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); - } else { - par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } + public static final String[] bowPullIconNameArray = new String[]{"atens_pull_0", "atens_pull_1", "atens_pull_2"}; + IIcon[] iconArray; + + public ItemAtensFury() { + super(); + this.setMaxDamage(650); + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { + int j = this.getMaxItemUseDuration(par1ItemStack) - par4; + ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); + MinecraftForge.EVENT_BUS.post(event); + if (!event.isCanceled()) { + j = event.charge; + boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; + if (flag || par3EntityPlayer.inventory.hasItem(Items.arrow)) { + float f = (float) j / 20.0F; + f = (f * f + f * 2.0F) / 3.0F; + if ((double) f < 0.1D) { + return; + } + + if (f > 1.0F) { + f = 1.0F; + } + + EntityArrowFire entityarrow = new EntityArrowFire(par2World, par3EntityPlayer, f * 2.0F); + entityarrow.setDamage(entityarrow.getDamage() * 1.5D); + if (f == 1.0F) { + entityarrow.setIsCritical(true); + } + + int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); + if (k > 0) { + entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + } + + int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); + if (l > 0) { + entityarrow.setKnockbackStrength(l); + } + + entityarrow.setFire(100); + par1ItemStack.damageItem(1, par3EntityPlayer); + par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); + if (flag) { + entityarrow.canBePickedUp = 2; + } else { + par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); + } + + if (!par2World.isRemote) { + par2World.spawnEntityInWorld(entityarrow); + } + } + + } + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IIconRegister) { + this.iconArray = new IIcon[bowPullIconNameArray.length]; + this.itemIcon = par1IIconRegister.registerIcon("atum:AtensFury"); + for (int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); + } + + } + + @Override + public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + if (usingItem != null) { + int j = this.getMaxItemUseDuration(stack) - useRemaining; + if (j >= 18) { + return this.getItemIconForUseDuration(2); + } + + if (j > 13) { + return this.getItemIconForUseDuration(1); + } + + if (j > 0) { + return this.getItemIconForUseDuration(0); + } + } + + return this.getIcon(stack, renderPass); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getItemIconForUseDuration(int par1) { + return this.iconArray[par1]; + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java index 0b18511..a10a280 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsBlessing.java @@ -16,39 +16,39 @@ public class ItemGebsBlessing extends ItemHoe { - public ItemGebsBlessing(ToolMaterial par2ToolMaterial) { - super(par2ToolMaterial); - } - - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } - - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } - - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); - } else { - par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.getItem() == Items.diamond; - } - - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:GebsBlessing"); - } + public ItemGebsBlessing(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:GebsBlessing"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java index db34e98..856c89c 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java @@ -25,84 +25,84 @@ public class ItemGebsSolidarity extends ItemTexturedArmor { - public ItemGebsSolidarity(ArmorMaterial par2ArmorMaterial, int par3, int par4) { - super(par2ArmorMaterial, par3, par4); - } + public ItemGebsSolidarity(ArmorMaterial par2ArmorMaterial, int par3, int par4) { + super(par2ArmorMaterial, par3, par4); + } - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } - @SubscribeEvent - public void onLivingAttack(LivingHurtEvent event) { - DamageSource par1DamageSource = event.source; - if (par1DamageSource.getEntity() != null) { - Entity par1Entity = par1DamageSource.getEntity(); - byte j = 0; - if (par1Entity instanceof EntityLiving) { - int j1 = j + EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, event.entityLiving); - System.out.println("undo knockback " + j1); - if (j1 >= 0) { - event.entityLiving.motionX /= 0.6D; - event.entityLiving.motionZ /= 0.6D; - event.entityLiving.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * 3.1415927F / 180.0F) * (float) j1 * 0.5F), -0.1D, (double) (-MathHelper.cos(par1Entity.rotationYaw * 3.1415927F / 180.0F) * (float) j1 * 0.5F)); - } - } + @SubscribeEvent + public void onLivingAttack(LivingHurtEvent event) { + DamageSource par1DamageSource = event.source; + if (par1DamageSource.getEntity() != null) { + Entity par1Entity = par1DamageSource.getEntity(); + byte j = 0; + if (par1Entity instanceof EntityLiving) { + int j1 = j + EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, event.entityLiving); + System.out.println("undo knockback " + j1); + if (j1 >= 0) { + event.entityLiving.motionX /= 0.6D; + event.entityLiving.motionZ /= 0.6D; + event.entityLiving.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * 3.1415927F / 180.0F) * (float) j1 * 0.5F), -0.1D, (double) (-MathHelper.cos(par1Entity.rotationYaw * 3.1415927F / 180.0F) * (float) j1 * 0.5F)); + } + } - EntityLivingBase player = event.entityLiving; - double d0 = par1DamageSource.getEntity().posX - player.posX; + EntityLivingBase player = event.entityLiving; + double d0 = par1DamageSource.getEntity().posX - player.posX; - double d1; - for (d1 = par1DamageSource.getEntity().posZ - player.posZ; d0 * d0 + d1 * d1 < 1.0E-4D; d1 = (Math.random() - Math.random()) * 0.01D) { - d0 = (Math.random() - Math.random()) * 0.01D; - } + double d1; + for (d1 = par1DamageSource.getEntity().posZ - player.posZ; d0 * d0 + d1 * d1 < 1.0E-4D; d1 = (Math.random() - Math.random()) * 0.01D) { + d0 = (Math.random() - Math.random()) * 0.01D; + } - player.isAirBorne = true; - float f = MathHelper.sqrt_double(d0 * d0 + d1 * d1); - float f1 = 0.2F; - player.motionX += d0 / (double) f * (double) f1; - player.motionZ += d1 / (double) f * (double) f1; - player.motionX *= 2.0D; - player.motionY *= 2.0D; - player.motionZ *= 2.0D; - if (player.motionY > 0.4000000059604645D) { - player.motionY = 0.4000000059604645D; - } - } + player.isAirBorne = true; + float f = MathHelper.sqrt_double(d0 * d0 + d1 * d1); + float f1 = 0.2F; + player.motionX += d0 / (double) f * (double) f1; + player.motionZ += d1 / (double) f * (double) f1; + player.motionX *= 2.0D; + player.motionY *= 2.0D; + player.motionZ *= 2.0D; + if (player.motionY > 0.4000000059604645D) { + player.motionY = 0.4000000059604645D; + } + } - } + } - @Override - public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { - double magnitude = Math.sqrt(player.motionX * player.motionX + player.motionZ * player.motionZ); - player.capabilities.setPlayerWalkSpeed((float) ((double) player.capabilities.getWalkSpeed() * 0.5D)); - } + @Override + public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { + double magnitude = Math.sqrt(player.motionX * player.motionX + player.motionZ * player.motionZ); + player.capabilities.setPlayerWalkSpeed((float) ((double) player.capabilities.getWalkSpeed() * 0.5D)); + } - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); - } else { - par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.getItem() == Items.diamond; - } + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:GebsSolidarity"); - } + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:GebsSolidarity"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java index 692c504..9cf86aa 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsSting.java @@ -19,49 +19,49 @@ public class ItemHedetetsSting extends ItemSword { - public ItemHedetetsSting(ToolMaterial par2ToolMaterial) { - super(par2ToolMaterial); - } + public ItemHedetetsSting(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } - @Override - public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase par2EntityLiving, EntityLivingBase par3EntityLiving) { - if (super.hitEntity(par1ItemStack, par2EntityLiving, par3EntityLiving)) { - par2EntityLiving.addPotionEffect(new PotionEffect(Potion.poison.id, 140, 2, false)); - return true; - } else { - return false; - } - } + @Override + public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase par2EntityLiving, EntityLivingBase par3EntityLiving) { + if (super.hitEntity(par1ItemStack, par2EntityLiving, par3EntityLiving)) { + par2EntityLiving.addPotionEffect(new PotionEffect(Potion.poison.id, 140, 2, false)); + return true; + } else { + return false; + } + } - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); - } else { - par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.getItem() == Items.diamond; - } + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:HedetetsSting"); - } + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:HedetetsSting"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java index 4c2ffc0..4b8c20b 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHedetetsVenom.java @@ -24,131 +24,131 @@ public class ItemHedetetsVenom extends ItemBow { - public static final String[] bowPullIconNameArray = new String[]{"HedetetsVenom_pull_0", "HedetetsVenom_pull_1", "HedetetsVenom_pull_2"}; - IIcon[] iconArray; - - public ItemHedetetsVenom() { - super(); - this.setMaxDamage(650); - } - - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } - - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.getItem() == Items.diamond; - } - - @Override - public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { - int j = this.getMaxItemUseDuration(par1ItemStack) - par4; - ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); - MinecraftForge.EVENT_BUS.post(event); - if (!event.isCanceled()) { - j = event.charge; - boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - if (flag || par3EntityPlayer.inventory.hasItem(Items.arrow)) { - float f = (float) j / 20.0F; - f = (f * f + f * 2.0F) / 3.0F; - if ((double) f < 0.1D) { - return; - } - - if (f > 1.0F) { - f = 1.0F; - } - - EntityArrowPoison entityarrow = new EntityArrowPoison(par2World, par3EntityPlayer, f * 3.0F); - entityarrow.setDamage(entityarrow.getDamage() * 1.5D); - if (f == 1.0F) { - entityarrow.setIsCritical(true); - } - - int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - if (k > 0) { - entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); - } - - int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - if (l > 0) { - entityarrow.setKnockbackStrength(l); - } - - if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { - entityarrow.setFire(100); - } - - par1ItemStack.damageItem(1, par3EntityPlayer); - par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - if (flag) { - entityarrow.canBePickedUp = 2; - } else { - par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); - } - - if (!par2World.isRemote) { - par2World.spawnEntityInWorld(entityarrow); - } - } - - } - } - - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } - - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); - } else { - par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister par1IIconRegister) { - this.iconArray = new IIcon[bowPullIconNameArray.length]; - this.itemIcon = par1IIconRegister.registerIcon("atum:HedetetsVenom"); - for (int i = 0; i < this.iconArray.length; ++i) { - this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); - } - - } - - @Override - public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { - if (usingItem != null) { - int j = this.getMaxItemUseDuration(stack) - useRemaining; - if (j >= 18) { - return this.getItemIconForUseDuration(2); - } - - if (j > 13) { - return this.getItemIconForUseDuration(1); - } - - if (j > 0) { - return this.getItemIconForUseDuration(0); - } - } - - return this.getIcon(stack, renderPass); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getItemIconForUseDuration(int par1) { - return this.iconArray[par1]; - } + public static final String[] bowPullIconNameArray = new String[]{"HedetetsVenom_pull_0", "HedetetsVenom_pull_1", "HedetetsVenom_pull_2"}; + IIcon[] iconArray; + + public ItemHedetetsVenom() { + super(); + this.setMaxDamage(650); + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { + int j = this.getMaxItemUseDuration(par1ItemStack) - par4; + ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); + MinecraftForge.EVENT_BUS.post(event); + if (!event.isCanceled()) { + j = event.charge; + boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; + if (flag || par3EntityPlayer.inventory.hasItem(Items.arrow)) { + float f = (float) j / 20.0F; + f = (f * f + f * 2.0F) / 3.0F; + if ((double) f < 0.1D) { + return; + } + + if (f > 1.0F) { + f = 1.0F; + } + + EntityArrowPoison entityarrow = new EntityArrowPoison(par2World, par3EntityPlayer, f * 3.0F); + entityarrow.setDamage(entityarrow.getDamage() * 1.5D); + if (f == 1.0F) { + entityarrow.setIsCritical(true); + } + + int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); + if (k > 0) { + entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + } + + int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); + if (l > 0) { + entityarrow.setKnockbackStrength(l); + } + + if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { + entityarrow.setFire(100); + } + + par1ItemStack.damageItem(1, par3EntityPlayer); + par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); + if (flag) { + entityarrow.canBePickedUp = 2; + } else { + par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); + } + + if (!par2World.isRemote) { + par2World.spawnEntityInWorld(entityarrow); + } + } + + } + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IIconRegister) { + this.iconArray = new IIcon[bowPullIconNameArray.length]; + this.itemIcon = par1IIconRegister.registerIcon("atum:HedetetsVenom"); + for (int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); + } + + } + + @Override + public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + if (usingItem != null) { + int j = this.getMaxItemUseDuration(stack) - useRemaining; + if (j >= 18) { + return this.getItemIconForUseDuration(2); + } + + if (j > 13) { + return this.getItemIconForUseDuration(1); + } + + if (j > 0) { + return this.getItemIconForUseDuration(0); + } + } + + return this.getIcon(stack, renderPass); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getItemIconForUseDuration(int par1) { + return this.iconArray[par1]; + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java index ccb54bf..3a4b316 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java @@ -20,57 +20,57 @@ public class ItemHorusFlight extends ItemTexturedArmor { - public ItemHorusFlight(ArmorMaterial par2ArmorMaterial, int par3, int par4) { - super(par2ArmorMaterial, par3, par4); - } + public ItemHorusFlight(ArmorMaterial par2ArmorMaterial, int par3, int par4) { + super(par2ArmorMaterial, par3, par4); + } - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } - @SubscribeEvent - public void onJump(LivingJumpEvent event) { - if (event.entityLiving.getEquipmentInSlot(0) != null && event.entityLiving.getEquipmentInSlot(0).getItem() == this) { - event.entityLiving.motionY += 0.2D; - event.entityLiving.motionX *= 1.2D; - event.entityLiving.motionZ *= 1.2D; - } + @SubscribeEvent + public void onJump(LivingJumpEvent event) { + if (event.entityLiving.getEquipmentInSlot(0) != null && event.entityLiving.getEquipmentInSlot(0).getItem() == this) { + event.entityLiving.motionY += 0.2D; + event.entityLiving.motionX *= 1.2D; + event.entityLiving.motionZ *= 1.2D; + } - } + } - @SubscribeEvent - public void onFallDamage(LivingFallEvent event) { - if (event.entityLiving.getEquipmentInSlot(0) != null && event.entityLiving.getEquipmentInSlot(0).getItem() == AtumItems.horusFlight) { - event.distance = 0.0F; - } + @SubscribeEvent + public void onFallDamage(LivingFallEvent event) { + if (event.entityLiving.getEquipmentInSlot(0) != null && event.entityLiving.getEquipmentInSlot(0).getItem() == AtumItems.horusFlight) { + event.distance = 0.0F; + } - } + } - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); - } else { - par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.getItem() == Items.diamond; - } + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:HorusFlight"); - } + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:HorusFlight"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java index d8076ee..8da7f38 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java @@ -21,128 +21,128 @@ public class ItemHorusSoaring extends ItemBow { - public static final String[] bowPullIconNameArray = new String[]{"HorusSoaring_pull_0", "HorusSoaring_pull_1", "HorusSoaring_pull_2"}; - IIcon[] iconArray; - - public ItemHorusSoaring() { - super(); - this.setMaxDamage(650); - - } - - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } - - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.getItem() == Items.diamond; - } - - @Override - public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { - int j = this.getMaxItemUseDuration(par1ItemStack) - par4; - ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); - MinecraftForge.EVENT_BUS.post(event); - if (!event.isCanceled()) { - j = event.charge; - boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - if (flag || par3EntityPlayer.inventory.hasItem(Items.arrow)) { - float f = (float) j / 20.0F; - f = (f * f + f * 2.0F) / 3.0F; - if ((double) f < 0.1D) { - return; - } - - if (f > 1.0F) { - f = 1.0F; - } - - EntityArrowVelocity entityarrow = new EntityArrowVelocity(par2World, par3EntityPlayer, f * 3.0F); - entityarrow.setDamage(entityarrow.getDamage() * 1.5D); - if (f == 1.0F) { - entityarrow.setIsCritical(true); - } - - int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - if (k > 0) { - entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); - } - - int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - if (l > 0) { - entityarrow.setKnockbackStrength(l); - } - - if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { - entityarrow.setFire(100); - } - - par1ItemStack.damageItem(1, par3EntityPlayer); - par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - if (flag) { - entityarrow.canBePickedUp = 2; - } else { - par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); - } - - if (!par2World.isRemote) { - par2World.spawnEntityInWorld(entityarrow); - } - } - - } - } - - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } - - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - par3List.add("Velocity I"); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:HorusSoaring"); - this.iconArray = new IIcon[bowPullIconNameArray.length]; - - for (int i = 0; i < this.iconArray.length; ++i) { - this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); - } - - } - - @Override - public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { - if (usingItem != null) { - int j = this.getMaxItemUseDuration(stack) - useRemaining; - if (j >= 18) { - return this.getItemIconForUseDuration(2); - } - - if (j > 13) { - return this.getItemIconForUseDuration(1); - } - - if (j > 0) { - return this.getItemIconForUseDuration(0); - } - } - - return this.getIcon(stack, renderPass); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getItemIconForUseDuration(int par1) { - return this.iconArray[par1]; - } + public static final String[] bowPullIconNameArray = new String[]{"HorusSoaring_pull_0", "HorusSoaring_pull_1", "HorusSoaring_pull_2"}; + IIcon[] iconArray; + + public ItemHorusSoaring() { + super(); + this.setMaxDamage(650); + + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { + int j = this.getMaxItemUseDuration(par1ItemStack) - par4; + ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); + MinecraftForge.EVENT_BUS.post(event); + if (!event.isCanceled()) { + j = event.charge; + boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; + if (flag || par3EntityPlayer.inventory.hasItem(Items.arrow)) { + float f = (float) j / 20.0F; + f = (f * f + f * 2.0F) / 3.0F; + if ((double) f < 0.1D) { + return; + } + + if (f > 1.0F) { + f = 1.0F; + } + + EntityArrowVelocity entityarrow = new EntityArrowVelocity(par2World, par3EntityPlayer, f * 3.0F); + entityarrow.setDamage(entityarrow.getDamage() * 1.5D); + if (f == 1.0F) { + entityarrow.setIsCritical(true); + } + + int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); + if (k > 0) { + entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + } + + int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); + if (l > 0) { + entityarrow.setKnockbackStrength(l); + } + + if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { + entityarrow.setFire(100); + } + + par1ItemStack.damageItem(1, par3EntityPlayer); + par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); + if (flag) { + entityarrow.canBePickedUp = 2; + } else { + par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); + } + + if (!par2World.isRemote) { + par2World.spawnEntityInWorld(entityarrow); + } + } + + } + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + par3List.add("Velocity I"); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:HorusSoaring"); + this.iconArray = new IIcon[bowPullIconNameArray.length]; + + for (int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); + } + + } + + @Override + public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + if (usingItem != null) { + int j = this.getMaxItemUseDuration(stack) - useRemaining; + if (j >= 18) { + return this.getItemIconForUseDuration(2); + } + + if (j > 13) { + return this.getItemIconForUseDuration(1); + } + + if (j > 0) { + return this.getItemIconForUseDuration(0); + } + } + + return this.getIcon(stack, renderPass); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getItemIconForUseDuration(int par1) { + return this.iconArray[par1]; + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisEmbrace.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisEmbrace.java index 0d0cb46..3d6aa5f 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisEmbrace.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisEmbrace.java @@ -16,35 +16,35 @@ public class ItemIsisEmbrace extends ItemTexturedArmor { - public ItemIsisEmbrace(ArmorMaterial par2ArmorMaterial, int par3, int par4) { - super(par2ArmorMaterial, par3, par4); - this.setRepairItem(Items.diamond); - } - - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } - - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } - - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); - } else { - par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:IsisEmbrace"); - } + public ItemIsisEmbrace(ArmorMaterial par2ArmorMaterial, int par3, int par4) { + super(par2ArmorMaterial, par3, par4); + this.setRepairItem(Items.diamond); + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:IsisEmbrace"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java index 1ac1300..8af1204 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java @@ -18,66 +18,66 @@ public class ItemIsisHealing extends Item { - public ItemIsisHealing() { - super(); - this.setMaxDamage(400); - } + public ItemIsisHealing() { + super(); + this.setMaxDamage(400); + } - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } - @Override - public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { - if (par3Entity instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) par3Entity; - if (player.onGround && player.inventory.mainInventory[player.inventory.currentItem] != null && player.inventory.mainInventory[player.inventory.currentItem].getItem() == this) { - this.doEffect(player, par1ItemStack); - } - } + @Override + public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { + if (par3Entity instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) par3Entity; + if (player.onGround && player.inventory.mainInventory[player.inventory.currentItem] != null && player.inventory.mainInventory[player.inventory.currentItem].getItem() == this) { + this.doEffect(player, par1ItemStack); + } + } - } + } - public void doEffect(EntityPlayer player, ItemStack item) { - if (Math.random() <= 0.05D) { - if (player.getHealth() < player.getMaxHealth()) { - player.heal(1); - if (!player.capabilities.isCreativeMode) { - if (item.getItemDamage() == 1) { - item.damageItem(1, player); - } else { - item.setItemDamage(item.getItemDamage() + 1); - } - } - } + public void doEffect(EntityPlayer player, ItemStack item) { + if (Math.random() <= 0.05D) { + if (player.getHealth() < player.getMaxHealth()) { + player.heal(1); + if (!player.capabilities.isCreativeMode) { + if (item.getItemDamage() == 1) { + item.damageItem(1, player); + } else { + item.setItemDamage(item.getItemDamage() + 1); + } + } + } - } - } + } + } - @Override - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } + @Override + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); - } else { - par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.getItem() == Items.diamond; - } + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:IsisHealing"); - } + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:IsisHealing"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java index c6ba37c..6412944 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMaatsBalance.java @@ -22,61 +22,61 @@ public class ItemMaatsBalance extends ItemTexturedArmor { - public ItemMaatsBalance(ArmorMaterial par2ArmorMaterial, int par3, int par4) { - super(par2ArmorMaterial, par3, par4); - } + public ItemMaatsBalance(ArmorMaterial par2ArmorMaterial, int par3, int par4) { + super(par2ArmorMaterial, par3, par4); + } - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } - @SubscribeEvent - public void onLivingAttack(LivingHurtEvent event) { - if (event.entityLiving.getEquipmentInSlot(3) != null && event.entityLiving.getEquipmentInSlot(3).getItem() == this) { - event.ammount = (event.ammount + 1) / 1.5F - 1; - } + @SubscribeEvent + public void onLivingAttack(LivingHurtEvent event) { + if (event.entityLiving.getEquipmentInSlot(3) != null && event.entityLiving.getEquipmentInSlot(3).getItem() == this) { + event.ammount = (event.ammount + 1) / 1.5F - 1; + } - if (event.source instanceof EntityDamageSource) { - EntityDamageSource source = (EntityDamageSource) event.source; - if (source.getEntity() != null && source.getEntity() instanceof EntityLiving) { - EntityLiving entity = (EntityLiving) source.getEntity(); - if (entity.getEquipmentInSlot(3) != null && entity.getEquipmentInSlot(3).getItem() == this) { - event.ammount = (event.ammount + 1) / 1.5F - 1; - } - } - } + if (event.source instanceof EntityDamageSource) { + EntityDamageSource source = (EntityDamageSource) event.source; + if (source.getEntity() != null && source.getEntity() instanceof EntityLiving) { + EntityLiving entity = (EntityLiving) source.getEntity(); + if (entity.getEquipmentInSlot(3) != null && entity.getEquipmentInSlot(3).getItem() == this) { + event.ammount = (event.ammount + 1) / 1.5F - 1; + } + } + } - } + } - @Override - public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { - } + @Override + public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { + } - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); - } else { - par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.getItem() == Items.diamond; - } + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:MaatsBalance"); - } + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:MaatsBalance"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java index 92be477..1623425 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java @@ -20,65 +20,65 @@ public class ItemMafdetsQuickness extends Item { - public ItemMafdetsQuickness() { - super(); - this.setMaxDamage(24000); - } + public ItemMafdetsQuickness() { + super(); + this.setMaxDamage(24000); + } - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } - @Override - public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { - if (par3Entity instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) par3Entity; - if (player.inventory.armorInventory[1] != null && player.inventory.armorInventory[1].getItem() == this) { - doEffect(player, player.inventory.armorInventory[1]); - } - } + @Override + public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { + if (par3Entity instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) par3Entity; + if (player.inventory.armorInventory[1] != null && player.inventory.armorInventory[1].getItem() == this) { + doEffect(player, player.inventory.armorInventory[1]); + } + } - } + } - public void doEffect(EntityPlayer player, ItemStack item) { - player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 2, 0, false)); - if (!player.capabilities.isCreativeMode) { - if (item.getItemDamage() == 1) { - item.damageItem(1, player); - } else { - item.setItemDamage(item.getItemDamage() + 1); - } - } + public void doEffect(EntityPlayer player, ItemStack item) { + player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 2, 0, false)); + if (!player.capabilities.isCreativeMode) { + if (item.getItemDamage() == 1) { + item.damageItem(1, player); + } else { + item.setItemDamage(item.getItemDamage() + 1); + } + } - } + } - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); - } else { - par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } - par3List.add((double) ((par1ItemStack.getMaxDamage() - par1ItemStack.getItemDamage()) / 12) / 100.0D + " Minutes Remaining"); - } + par3List.add((double) ((par1ItemStack.getMaxDamage() - par1ItemStack.getItemDamage()) / 12) / 100.0D + " Minutes Remaining"); + } - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.getItem() == Items.diamond; - } + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:MafdetsQuickness"); - } + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:MafdetsQuickness"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java index 9ea131b..9bd65da 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMnevisHorns.java @@ -20,48 +20,48 @@ public class ItemMnevisHorns extends ItemTexturedArmor { - public ItemMnevisHorns(ArmorMaterial par2ArmorMaterial, int par3, int par4) { - super(par2ArmorMaterial, par3, par4); - } + public ItemMnevisHorns(ArmorMaterial par2ArmorMaterial, int par3, int par4) { + super(par2ArmorMaterial, par3, par4); + } - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } - @SubscribeEvent - public void onLivingAttack(LivingAttackEvent event) { - if (event.entityLiving.getEquipmentInSlot(3) != null && event.entityLiving.getEquipmentInSlot(3).getItem() == this && event.source instanceof EntityDamageSource) { - EntityDamageSource source = (EntityDamageSource) event.source; - if (source.getEntity() != null) { - source.getEntity().attackEntityFrom(DamageSource.generic, (int) ((double) event.ammount / 2.0D)); - } - } + @SubscribeEvent + public void onLivingAttack(LivingAttackEvent event) { + if (event.entityLiving.getEquipmentInSlot(3) != null && event.entityLiving.getEquipmentInSlot(3).getItem() == this && event.source instanceof EntityDamageSource) { + EntityDamageSource source = (EntityDamageSource) event.source; + if (source.getEntity() != null) { + source.getEntity().attackEntityFrom(DamageSource.generic, (int) ((double) event.ammount / 2.0D)); + } + } - } + } - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); - } else { - par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.getItem() == Items.diamond; - } + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:MnevisHorns"); - } + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:MnevisHorns"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java index 9554e40..64a323b 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusBlast.java @@ -24,132 +24,132 @@ public class ItemMonthusBlast extends ItemBow { - public static final String[] bowPullIconNameArray = new String[]{"MonthusBlast_pull_0", "MonthusBlast_pull_1", "MonthusBlast_pull_2"}; - IIcon[] iconArray; - - public ItemMonthusBlast() { - super(); - this.setMaxDamage(650); - } - - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } - - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.getItem() == Items.diamond; - } - - @Override - public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { - int j = this.getMaxItemUseDuration(par1ItemStack) - par4; - j = (int) ((double) j * 0.667D); - ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); - MinecraftForge.EVENT_BUS.post(event); - if (!event.isCanceled()) { - j = event.charge; - boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - if (flag || par3EntityPlayer.inventory.hasItem(Items.arrow)) { - float f = (float) j / 20.0F; - f = (f * f + f * 2.0F) / 3.0F; - if ((double) f < 0.1D) { - return; - } - - if (f > 1.0F) { - f = 1.0F; - } - - EntityArrowExplosive entityarrow = new EntityArrowExplosive(par2World, par3EntityPlayer, f * 1.5F); - entityarrow.setDamage(entityarrow.getDamage() * 1.5D); - if (f == 1.0F) { - entityarrow.setIsCritical(true); - } - - int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - if (k > 0) { - entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); - } - - int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - if (l > 0) { - entityarrow.setKnockbackStrength(l); - } - - if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { - entityarrow.setFire(100); - } - - par1ItemStack.damageItem(1, par3EntityPlayer); - par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - if (flag) { - entityarrow.canBePickedUp = 2; - } else { - par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); - } - - if (!par2World.isRemote) { - par2World.spawnEntityInWorld(entityarrow); - } - } - - } - } - - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } - - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); - } else { - par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister par1IIconRegister) { - this.iconArray = new IIcon[bowPullIconNameArray.length]; - this.itemIcon = par1IIconRegister.registerIcon("atum:MonthusBlast"); - for (int i = 0; i < this.iconArray.length; ++i) { - this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); - } - - } - - @Override - public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { - if (usingItem != null) { - int j = this.getMaxItemUseDuration(stack) - useRemaining; - if (j >= 27) { - return this.getItemIconForUseDuration(2); - } - - if (j > 18) { - return this.getItemIconForUseDuration(1); - } - - if (j > 0) { - return this.getItemIconForUseDuration(0); - } - } - - return this.getIcon(stack, renderPass); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getItemIconForUseDuration(int par1) { - return this.iconArray[par1]; - } + public static final String[] bowPullIconNameArray = new String[]{"MonthusBlast_pull_0", "MonthusBlast_pull_1", "MonthusBlast_pull_2"}; + IIcon[] iconArray; + + public ItemMonthusBlast() { + super(); + this.setMaxDamage(650); + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { + int j = this.getMaxItemUseDuration(par1ItemStack) - par4; + j = (int) ((double) j * 0.667D); + ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); + MinecraftForge.EVENT_BUS.post(event); + if (!event.isCanceled()) { + j = event.charge; + boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; + if (flag || par3EntityPlayer.inventory.hasItem(Items.arrow)) { + float f = (float) j / 20.0F; + f = (f * f + f * 2.0F) / 3.0F; + if ((double) f < 0.1D) { + return; + } + + if (f > 1.0F) { + f = 1.0F; + } + + EntityArrowExplosive entityarrow = new EntityArrowExplosive(par2World, par3EntityPlayer, f * 1.5F); + entityarrow.setDamage(entityarrow.getDamage() * 1.5D); + if (f == 1.0F) { + entityarrow.setIsCritical(true); + } + + int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); + if (k > 0) { + entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + } + + int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); + if (l > 0) { + entityarrow.setKnockbackStrength(l); + } + + if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { + entityarrow.setFire(100); + } + + par1ItemStack.damageItem(1, par3EntityPlayer); + par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); + if (flag) { + entityarrow.canBePickedUp = 2; + } else { + par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); + } + + if (!par2World.isRemote) { + par2World.spawnEntityInWorld(entityarrow); + } + } + + } + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IIconRegister) { + this.iconArray = new IIcon[bowPullIconNameArray.length]; + this.itemIcon = par1IIconRegister.registerIcon("atum:MonthusBlast"); + for (int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); + } + + } + + @Override + public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + if (usingItem != null) { + int j = this.getMaxItemUseDuration(stack) - useRemaining; + if (j >= 27) { + return this.getItemIconForUseDuration(2); + } + + if (j > 18) { + return this.getItemIconForUseDuration(1); + } + + if (j > 0) { + return this.getItemIconForUseDuration(0); + } + } + + return this.getIcon(stack, renderPass); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getItemIconForUseDuration(int par1) { + return this.iconArray[par1]; + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java index f535aa4..8e4967f 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMonthusStrike.java @@ -26,106 +26,106 @@ public class ItemMonthusStrike extends ItemAxe { - public ItemMonthusStrike(ToolMaterial par2ToolMaterial) { - super(par2ToolMaterial); - - } - - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } - - @Override - public int getMaxItemUseDuration(ItemStack par1ItemStack) { - return 7200; - } - - @Override - public EnumAction getItemUseAction(ItemStack par1ItemStack) { - return EnumAction.bow; - } - - @Override - public void onUpdate(ItemStack stack, World world, Entity player, int par4, boolean par5) { - } - - @Override - public void onPlayerStoppedUsing(ItemStack par1ItemStack, World world, EntityPlayer player, int par4) { - int j = this.getMaxItemUseDuration(par1ItemStack) - par4; - if (j > 21) { - AxisAlignedBB bb = player.boundingBox.copy(); - bb = bb.expand(3.0D, 3.0D, 3.0D); - List list = world.getEntitiesWithinAABB(EntityLiving.class, bb); - Iterator i = list.iterator(); - - while (i.hasNext()) { - Entity entity = (Entity) i.next(); - if (entity != player && !(entity instanceof EntityStoneSoldier) && !(entity instanceof EntityPharaoh)) { - double dx = entity.posX - player.posX; - double dz = entity.posZ - player.posZ; - double magnitude = Math.sqrt(dx * dx + dz * dz); - dx /= magnitude; - dz /= magnitude; - entity.isAirBorne = true; - entity.addVelocity(dx * 2.5D, 0.3D, dz * 2.5D); - if (entity.motionY > 0.4000000059604645D) { - entity.motionY = 0.4000000059604645D; - } - - // ((EntityLiving) - // entity).attackEntityFrom(DamageSource.generic, - // this.getDamageVsEntity(entity, par1ItemStack)); - if (world.isRemote) { - this.spawnParticle(world, entity); - } - } - } - - par1ItemStack.damageItem(4, player); - } - } - - @SideOnly(Side.CLIENT) - public void spawnParticle(World world, Entity entity) { - Minecraft.getMinecraft().effectRenderer.addEffect(new EntityCrit2FX(world, entity)); - } - - @Override - public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - player.setItemInUse(stack, this.getMaxItemUseDuration(stack)); - return stack; - } - - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } - - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); - } else { - par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - // @Override - // public float getDamageVsEntity(Entity par1Entity, ItemStack stack) { - // return 4 + super.toolMaterial.getDamageVsEntity(); - // } - - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.getItem() == Items.diamond; - } - - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:MonthusStrike"); - } + public ItemMonthusStrike(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + public int getMaxItemUseDuration(ItemStack par1ItemStack) { + return 7200; + } + + @Override + public EnumAction getItemUseAction(ItemStack par1ItemStack) { + return EnumAction.bow; + } + + @Override + public void onUpdate(ItemStack stack, World world, Entity player, int par4, boolean par5) { + } + + @Override + public void onPlayerStoppedUsing(ItemStack par1ItemStack, World world, EntityPlayer player, int par4) { + int j = this.getMaxItemUseDuration(par1ItemStack) - par4; + if (j > 21) { + AxisAlignedBB bb = player.boundingBox.copy(); + bb = bb.expand(3.0D, 3.0D, 3.0D); + List list = world.getEntitiesWithinAABB(EntityLiving.class, bb); + Iterator i = list.iterator(); + + while (i.hasNext()) { + Entity entity = (Entity) i.next(); + if (entity != player && !(entity instanceof EntityStoneSoldier) && !(entity instanceof EntityPharaoh)) { + double dx = entity.posX - player.posX; + double dz = entity.posZ - player.posZ; + double magnitude = Math.sqrt(dx * dx + dz * dz); + dx /= magnitude; + dz /= magnitude; + entity.isAirBorne = true; + entity.addVelocity(dx * 2.5D, 0.3D, dz * 2.5D); + if (entity.motionY > 0.4000000059604645D) { + entity.motionY = 0.4000000059604645D; + } + + // ((EntityLiving) + // entity).attackEntityFrom(DamageSource.generic, + // this.getDamageVsEntity(entity, par1ItemStack)); + if (world.isRemote) { + this.spawnParticle(world, entity); + } + } + } + + par1ItemStack.damageItem(4, player); + } + } + + @SideOnly(Side.CLIENT) + public void spawnParticle(World world, Entity entity) { + Minecraft.getMinecraft().effectRenderer.addEffect(new EntityCrit2FX(world, entity)); + } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + player.setItemInUse(stack, this.getMaxItemUseDuration(stack)); + return stack; + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + // @Override + // public float getDamageVsEntity(Entity par1Entity, ItemStack stack) { + // return 4 + super.toolMaterial.getDamageVsEntity(); + // } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:MonthusStrike"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java index d02119f..caf360d 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNeithsAudacity.java @@ -23,185 +23,185 @@ public class ItemNeithsAudacity extends ItemBow { - public static final String[] bowPullIconNameArray = new String[]{"neiths_pull_0", "neiths_pull_1", "neiths_pull_2"}; - @SideOnly(Side.CLIENT) - private IIcon[] iconArray; - - public ItemNeithsAudacity() { - super(); - super.maxStackSize = 1; - this.setMaxDamage(384); - this.setCreativeTab(CreativeTabs.tabCombat); - } - - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } - - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } - - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); - } else { - par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - @Override - public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { - int j = this.getMaxItemUseDuration(par1ItemStack) - par4; - ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); - MinecraftForge.EVENT_BUS.post(event); - if (!event.isCanceled()) { - j = event.charge; - boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - if (flag || par3EntityPlayer.inventory.hasItemStack(new ItemStack(Items.arrow, 2))) { - float f = (float) j / 20.0F; - f = (f * f + f * 2.0F) / 3.0F; - if ((double) f < 0.1D) { - return; - } - - if (f > 1.0F) { - f = 1.0F; - } - - EntityArrowDoubleShot entityarrow = new EntityArrowDoubleShot(par2World, par3EntityPlayer, f * 2.0F); - EntityArrowDoubleShot entityarrow1 = new EntityArrowDoubleShot(par2World, par3EntityPlayer, f * 2.0F); - entityarrow.motionX += Math.random() * 0.4D - 0.2D; - entityarrow.motionY += Math.random() * 0.4D - 0.2D; - entityarrow.motionZ += Math.random() * 0.4D - 0.2D; - entityarrow1.motionX += Math.random() * 0.4D - 0.2D; - entityarrow1.motionY += Math.random() * 0.4D - 0.2D; - entityarrow1.motionZ += Math.random() * 0.4D - 0.2D; - entityarrow.setDamage(entityarrow.getDamage() + 0.5D); - entityarrow1.setDamage(entityarrow.getDamage() + 0.5D); - if (f == 1.0F) { - entityarrow.setIsCritical(true); - entityarrow1.setIsCritical(true); - } - - int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - if (k > 0) { - entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); - entityarrow1.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); - } - - int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - if (l > 0) { - entityarrow.setKnockbackStrength(l); - entityarrow1.setKnockbackStrength(l); - } - - if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { - entityarrow.setFire(100); - entityarrow1.setFire(100); - } - - par1ItemStack.damageItem(1, par3EntityPlayer); - par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - if (flag) { - entityarrow.canBePickedUp = 2; - entityarrow1.canBePickedUp = 2; - } else { - par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); - par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); - } - - if (!par2World.isRemote) { - par2World.spawnEntityInWorld(entityarrow); - par2World.spawnEntityInWorld(entityarrow1); - } - } - - } - } - - @Override - public ItemStack onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { - return par1ItemStack; - } - - @Override - public int getMaxItemUseDuration(ItemStack par1ItemStack) { - return 72000; - } - - @Override - public EnumAction getItemUseAction(ItemStack par1ItemStack) { - return EnumAction.bow; - } - - @Override - public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { - ArrowNockEvent event = new ArrowNockEvent(par3EntityPlayer, par1ItemStack); - MinecraftForge.EVENT_BUS.post(event); - if (event.isCanceled()) { - return event.result; - } else { - if (par3EntityPlayer.capabilities.isCreativeMode || par3EntityPlayer.inventory.hasItem(Items.arrow)) { - par3EntityPlayer.setItemInUse(par1ItemStack, this.getMaxItemUseDuration(par1ItemStack)); - } - - return par1ItemStack; - } - } - - @Override - public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { - if (usingItem != null) { - int j = this.getMaxItemUseDuration(stack) - useRemaining; - if (j >= 18) { - return this.getItemIconForUseDuration(2); - } - - if (j > 13) { - return this.getItemIconForUseDuration(1); - } - - if (j > 0) { - return this.getItemIconForUseDuration(0); - } - } - - return this.getIcon(stack, renderPass); - } - - @Override - public int getItemEnchantability() { - return 1; - } - - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.getItem() == Items.diamond; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister par1IIconRegister) { - this.iconArray = new IIcon[bowPullIconNameArray.length]; - this.itemIcon = par1IIconRegister.registerIcon("atum:NeithsAudacity"); - - for (int i = 0; i < this.iconArray.length; ++i) { - this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); - } - - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getItemIconForUseDuration(int par1) { - return this.iconArray[par1]; - } + public static final String[] bowPullIconNameArray = new String[]{"neiths_pull_0", "neiths_pull_1", "neiths_pull_2"}; + @SideOnly(Side.CLIENT) + private IIcon[] iconArray; + + public ItemNeithsAudacity() { + super(); + super.maxStackSize = 1; + this.setMaxDamage(384); + this.setCreativeTab(CreativeTabs.tabCombat); + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { + int j = this.getMaxItemUseDuration(par1ItemStack) - par4; + ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); + MinecraftForge.EVENT_BUS.post(event); + if (!event.isCanceled()) { + j = event.charge; + boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; + if (flag || par3EntityPlayer.inventory.hasItemStack(new ItemStack(Items.arrow, 2))) { + float f = (float) j / 20.0F; + f = (f * f + f * 2.0F) / 3.0F; + if ((double) f < 0.1D) { + return; + } + + if (f > 1.0F) { + f = 1.0F; + } + + EntityArrowDoubleShot entityarrow = new EntityArrowDoubleShot(par2World, par3EntityPlayer, f * 2.0F); + EntityArrowDoubleShot entityarrow1 = new EntityArrowDoubleShot(par2World, par3EntityPlayer, f * 2.0F); + entityarrow.motionX += Math.random() * 0.4D - 0.2D; + entityarrow.motionY += Math.random() * 0.4D - 0.2D; + entityarrow.motionZ += Math.random() * 0.4D - 0.2D; + entityarrow1.motionX += Math.random() * 0.4D - 0.2D; + entityarrow1.motionY += Math.random() * 0.4D - 0.2D; + entityarrow1.motionZ += Math.random() * 0.4D - 0.2D; + entityarrow.setDamage(entityarrow.getDamage() + 0.5D); + entityarrow1.setDamage(entityarrow.getDamage() + 0.5D); + if (f == 1.0F) { + entityarrow.setIsCritical(true); + entityarrow1.setIsCritical(true); + } + + int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); + if (k > 0) { + entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + entityarrow1.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + } + + int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); + if (l > 0) { + entityarrow.setKnockbackStrength(l); + entityarrow1.setKnockbackStrength(l); + } + + if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { + entityarrow.setFire(100); + entityarrow1.setFire(100); + } + + par1ItemStack.damageItem(1, par3EntityPlayer); + par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (Item.itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); + if (flag) { + entityarrow.canBePickedUp = 2; + entityarrow1.canBePickedUp = 2; + } else { + par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); + par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); + } + + if (!par2World.isRemote) { + par2World.spawnEntityInWorld(entityarrow); + par2World.spawnEntityInWorld(entityarrow1); + } + } + + } + } + + @Override + public ItemStack onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { + return par1ItemStack; + } + + @Override + public int getMaxItemUseDuration(ItemStack par1ItemStack) { + return 72000; + } + + @Override + public EnumAction getItemUseAction(ItemStack par1ItemStack) { + return EnumAction.bow; + } + + @Override + public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { + ArrowNockEvent event = new ArrowNockEvent(par3EntityPlayer, par1ItemStack); + MinecraftForge.EVENT_BUS.post(event); + if (event.isCanceled()) { + return event.result; + } else { + if (par3EntityPlayer.capabilities.isCreativeMode || par3EntityPlayer.inventory.hasItem(Items.arrow)) { + par3EntityPlayer.setItemInUse(par1ItemStack, this.getMaxItemUseDuration(par1ItemStack)); + } + + return par1ItemStack; + } + } + + @Override + public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + if (usingItem != null) { + int j = this.getMaxItemUseDuration(stack) - useRemaining; + if (j >= 18) { + return this.getItemIconForUseDuration(2); + } + + if (j > 13) { + return this.getItemIconForUseDuration(1); + } + + if (j > 0) { + return this.getItemIconForUseDuration(0); + } + } + + return this.getIcon(stack, renderPass); + } + + @Override + public int getItemEnchantability() { + return 1; + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IIconRegister) { + this.iconArray = new IIcon[bowPullIconNameArray.length]; + this.itemIcon = par1IIconRegister.registerIcon("atum:NeithsAudacity"); + + for (int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); + } + + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getItemIconForUseDuration(int par1) { + return this.iconArray[par1]; + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java index 6ebdb44..8dddbca 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNusFlux.java @@ -22,69 +22,69 @@ public class ItemNusFlux extends ItemSword { - public ItemNusFlux(ToolMaterial par2ToolMaterial) { - super(par2ToolMaterial); + public ItemNusFlux(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); - } + } - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } - @Override - public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase entity, EntityLivingBase player) { - if (!player.worldObj.isRemote && Math.random() > 0.75D && !(entity instanceof EntityStoneSoldier)) { - double dx = entity.posX - player.posX; - double dz = entity.posZ - player.posZ; - double magnitude = Math.sqrt(dx * dx + dz * dz); - dx /= magnitude; - dz /= magnitude; - entity.isAirBorne = true; - entity.addVelocity(dx / 2.0D, 1.5D, dz / 2.0D); - if (entity.motionY > 1.0D) { - entity.motionY = 1.0D; - } + @Override + public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase entity, EntityLivingBase player) { + if (!player.worldObj.isRemote && Math.random() > 0.75D && !(entity instanceof EntityStoneSoldier)) { + double dx = entity.posX - player.posX; + double dz = entity.posZ - player.posZ; + double magnitude = Math.sqrt(dx * dx + dz * dz); + dx /= magnitude; + dz /= magnitude; + entity.isAirBorne = true; + entity.addVelocity(dx / 2.0D, 1.5D, dz / 2.0D); + if (entity.motionY > 1.0D) { + entity.motionY = 1.0D; + } - // entity.attackEntityFrom(DamageSource.generic, - // this.getDamageVsEntity(entity, par1ItemStack)); - if (player.worldObj.isRemote) { - this.spawnParticle(player.worldObj, entity); - } - } + // entity.attackEntityFrom(DamageSource.generic, + // this.getDamageVsEntity(entity, par1ItemStack)); + if (player.worldObj.isRemote) { + this.spawnParticle(player.worldObj, entity); + } + } - return super.hitEntity(par1ItemStack, entity, player); - } + return super.hitEntity(par1ItemStack, entity, player); + } - @SideOnly(Side.CLIENT) - public void spawnParticle(World world, Entity entity) { - Minecraft.getMinecraft().effectRenderer.addEffect(new EntityCrit2FX(world, entity)); - } + @SideOnly(Side.CLIENT) + public void spawnParticle(World world, Entity entity) { + Minecraft.getMinecraft().effectRenderer.addEffect(new EntityCrit2FX(world, entity)); + } - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); - } else { - par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.getItem() == Items.diamond; - } + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:NusFlux"); - } + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:NusFlux"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java index f927432..fb4d77f 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java @@ -19,48 +19,48 @@ public class ItemNutsAgility extends ItemTexturedArmor { - public ItemNutsAgility(ArmorMaterial par2ArmorMaterial, int par3, int par4) { - super(par2ArmorMaterial, par3, par4); + public ItemNutsAgility(ArmorMaterial par2ArmorMaterial, int par3, int par4) { + super(par2ArmorMaterial, par3, par4); - } + } - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } - @Override - public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { - if (player.inventory.armorInventory[1] != null && player.inventory.armorInventory[1].getItem() == this) { - player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 2, 0, false)); - } + @Override + public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { + if (player.inventory.armorInventory[1] != null && player.inventory.armorInventory[1].getItem() == this) { + player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 2, 0, false)); + } - } + } - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); - } else { - par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.getItem() == Items.diamond; - } + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:NutsAgility"); - } + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:NutsAgility"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java index 8dd852e..bf9e82c 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java @@ -18,78 +18,78 @@ public class ItemNutsCall extends Item { - public ItemNutsCall() { - super(); - this.setMaxDamage(650); - this.setMaxStackSize(1); - - } - - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } - - @Override - public int getMaxItemUseDuration(ItemStack par1ItemStack) { - return 7200; - } - - @Override - public EnumAction getItemUseAction(ItemStack par1ItemStack) { - return EnumAction.bow; - } - - @SideOnly(Side.CLIENT) - public boolean shouldRotateAroundWhenRendering() { - return false; - } - - @Override - public void onPlayerStoppedUsing(ItemStack par1ItemStack, World world, EntityPlayer player, int par4) { - int j = this.getMaxItemUseDuration(par1ItemStack) - par4; - System.out.println("charge strength: " + j); - if (j > 21) { - j = 21; - } - - EntityNutsCall spear = new EntityNutsCall(world, player, (float) j / 25.0F + 0.25F); - spear.setDamage(spear.getDamage() * 2.0D); - spear.setStack(par1ItemStack); - if (!world.isRemote) { - world.spawnEntityInWorld(spear); - world.updateEntity(spear); - } - - par1ItemStack.damageItem(4, player); - player.inventory.setInventorySlotContents(player.inventory.currentItem, (ItemStack) null); - } - - @Override - public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - player.setItemInUse(stack, this.getMaxItemUseDuration(stack)); - return stack; - } - - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } - - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); - } else { - par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:NutsCall"); - } + public ItemNutsCall() { + super(); + this.setMaxDamage(650); + this.setMaxStackSize(1); + + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + public int getMaxItemUseDuration(ItemStack par1ItemStack) { + return 7200; + } + + @Override + public EnumAction getItemUseAction(ItemStack par1ItemStack) { + return EnumAction.bow; + } + + @SideOnly(Side.CLIENT) + public boolean shouldRotateAroundWhenRendering() { + return false; + } + + @Override + public void onPlayerStoppedUsing(ItemStack par1ItemStack, World world, EntityPlayer player, int par4) { + int j = this.getMaxItemUseDuration(par1ItemStack) - par4; + System.out.println("charge strength: " + j); + if (j > 21) { + j = 21; + } + + EntityNutsCall spear = new EntityNutsCall(world, player, (float) j / 25.0F + 0.25F); + spear.setDamage(spear.getDamage() * 2.0D); + spear.setStack(par1ItemStack); + if (!world.isRemote) { + world.spawnEntityInWorld(spear); + world.updateEntity(spear); + } + + par1ItemStack.damageItem(4, player); + player.inventory.setInventorySlotContents(player.inventory.currentItem, (ItemStack) null); + } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + player.setItemInUse(stack, this.getMaxItemUseDuration(stack)); + return stack; + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:NutsCall"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java index 51b2c28..c43effb 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemOsirisWill.java @@ -19,58 +19,58 @@ public class ItemOsirisWill extends ItemSword { - public ItemOsirisWill(ToolMaterial par2ToolMaterial) { - super(par2ToolMaterial); - } + public ItemOsirisWill(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } - // @Override - // public float getDamageVsEntity(Entity par1Entity, ItemStack stack) { - // int damage = 0; - // - // for (int i = 0; i < 4; ++i) { - // damage = (int) ((double) damage + Math.random() * 4.0D + 1.0D); - // } - // return super.getDamageVsEntity(par1Entity, stack) + damage; - // } + // @Override + // public float getDamageVsEntity(Entity par1Entity, ItemStack stack) { + // int damage = 0; + // + // for (int i = 0; i < 4; ++i) { + // damage = (int) ((double) damage + Math.random() * 4.0D + 1.0D); + // } + // return super.getDamageVsEntity(par1Entity, stack) + damage; + // } - @Override - public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase mob, EntityLivingBase player) { - if (!mob.isEntityAlive() && Math.random() < 0.5D && mob.getCreatureAttribute() == EnumCreatureAttribute.UNDEAD) { - mob.dropItem(AtumItems.ITEM_ECTOPLASM, 1); - } + @Override + public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase mob, EntityLivingBase player) { + if (!mob.isEntityAlive() && Math.random() < 0.5D && mob.getCreatureAttribute() == EnumCreatureAttribute.UNDEAD) { + mob.dropItem(AtumItems.ITEM_ECTOPLASM, 1); + } - return super.hitEntity(par1ItemStack, mob, player); - } + return super.hitEntity(par1ItemStack, mob, player); + } - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); - } else { - par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.getItem() == Items.diamond; - } + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:OsirisWill"); - } + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:OsirisWill"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java index 8c614c7..5613924 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDecadence.java @@ -22,49 +22,49 @@ public class ItemPtahsDecadence extends ItemPickaxe { - public ItemPtahsDecadence(ToolMaterial par2ToolMaterial) { - super(par2ToolMaterial); - } + public ItemPtahsDecadence(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + } - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } - @Override - public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, Block block, int x, int y, int z, EntityLivingBase par7EntityLivingBase) { - Item dropID = block.getItemDropped(par2World.getBlockMetadata(x, y, z), new Random(), 0); - if (dropID == Items.diamond) { - Blocks.diamond_ore.dropBlockAsItem(par2World, x, y, z, 0, 0); - } + @Override + public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, Block block, int x, int y, int z, EntityLivingBase par7EntityLivingBase) { + Item dropID = block.getItemDropped(par2World.getBlockMetadata(x, y, z), new Random(), 0); + if (dropID == Items.diamond) { + Blocks.diamond_ore.dropBlockAsItem(par2World, x, y, z, 0, 0); + } - return super.onBlockDestroyed(par1ItemStack, par2World, block, x, y, z, par7EntityLivingBase); - } + return super.onBlockDestroyed(par1ItemStack, par2World, block, x, y, z, par7EntityLivingBase); + } - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); - } else { - par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.getItem() == Items.diamond; - } + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:PtahsDecadence"); - } + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:PtahsDecadence"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java index 2bec75a..7020142 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemPtahsDestruction.java @@ -16,48 +16,48 @@ public class ItemPtahsDestruction extends ItemPickaxe { - public ItemPtahsDestruction(ToolMaterial par2ToolMaterial) { - super(par2ToolMaterial); - super.efficiencyOnProperMaterial = 11.0F; - - } - - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } - - // @Override - // public float getDamageVsEntity(Entity entity, ItemStack stack) { - // float damage = 4 + super.toolMaterial.getDamageVsEntity(); - // return entity instanceof EntityStoneSoldier ? (int) ((double) damage * - // (2.0D + Math.random())) : damage; - // } - - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } - - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); - } else { - par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.getItem() == Items.diamond; - } - - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:PtahsDestruction"); - } + public ItemPtahsDestruction(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); + super.efficiencyOnProperMaterial = 11.0F; + + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + // @Override + // public float getDamageVsEntity(Entity entity, ItemStack stack) { + // float damage = 4 + super.toolMaterial.getDamageVsEntity(); + // return entity instanceof EntityStoneSoldier ? (int) ((double) damage * + // (2.0D + Math.random())) : damage; + // } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:PtahsDestruction"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java index b6c2aee..aeffe78 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java @@ -16,40 +16,40 @@ public class ItemRasGlory extends ItemTexturedArmor { - public ItemRasGlory(ArmorMaterial par2ArmorMaterial, int par3, int par4) { - super(par2ArmorMaterial, par3, par4); - - } - - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } - - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } - - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); - } else { - par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.getItem() == Items.diamond; - } - - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:RasGlory"); - } + public ItemRasGlory(ArmorMaterial par2ArmorMaterial, int par3, int par4) { + super(par2ArmorMaterial, par3, par4); + + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:RasGlory"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java index d736a25..0443247 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java @@ -20,61 +20,61 @@ public class ItemSekhmetsWrath extends ItemTexturedArmor { - public ItemSekhmetsWrath(int par3, int par4) { - super(ArmorMaterial.DIAMOND, par3, par4); - } + public ItemSekhmetsWrath(int par3, int par4) { + super(ArmorMaterial.DIAMOND, par3, par4); + } - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } - @SubscribeEvent - public void onLivingAttack(LivingAttackEvent event) { - if (event.entityLiving.getEquipmentInSlot(2) != null && event.entityLiving.getEquipmentInSlot(2).getItem() == this && event.source instanceof EntityDamageSource) { - EntityDamageSource source = (EntityDamageSource) event.source; - if (source.getEntity() != null && Math.random() > 0.5D) { - source.getEntity().setFire(10); - } - } + @SubscribeEvent + public void onLivingAttack(LivingAttackEvent event) { + if (event.entityLiving.getEquipmentInSlot(2) != null && event.entityLiving.getEquipmentInSlot(2).getItem() == this && event.source instanceof EntityDamageSource) { + EntityDamageSource source = (EntityDamageSource) event.source; + if (source.getEntity() != null && Math.random() > 0.5D) { + source.getEntity().setFire(10); + } + } - } + } - @SubscribeEvent - public void onLivingAttack(LivingHurtEvent event) { - if (event.entityLiving.getEquipmentInSlot(2) != null && event.entityLiving.getEquipmentInSlot(2).getItem() == this && event.source.isFireDamage()) { - event.ammount /= 2; - if (event.ammount == 0 && Math.random() > 0.5D) { - event.ammount = 1; - } - } + @SubscribeEvent + public void onLivingAttack(LivingHurtEvent event) { + if (event.entityLiving.getEquipmentInSlot(2) != null && event.entityLiving.getEquipmentInSlot(2).getItem() == this && event.source.isFireDamage()) { + event.ammount /= 2; + if (event.ammount == 0 && Math.random() > 0.5D) { + event.ammount = 1; + } + } - } + } - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); - } else { - par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.getItem() == Items.diamond; - } + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:SekhmetsWrath"); - } + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:SekhmetsWrath"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java index d42d204..e017515 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemShusBreath.java @@ -23,138 +23,138 @@ public class ItemShusBreath extends ItemBow { - public static final String[] bowPullIconNameArray = new String[]{"ShusBreath_pull_0", "ShusBreath_pull_1", "ShusBreath_pull_2"}; - IIcon[] iconArray; - - public ItemShusBreath() { - super(); - this.setMaxDamage(650); - } - - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } - - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.getItem() == Items.diamond; - } - - @Override - public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { - int j = this.getMaxItemUseDuration(par1ItemStack) - par4; - - ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); - MinecraftForge.EVENT_BUS.post(event); - if (event.isCanceled()) { - return; - } - j = event.charge; - - boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; - - if (flag || par3EntityPlayer.inventory.hasItem(Items.arrow)) { - float f = (float) j / 20.0F; - f = (f * f + f * 2.0F) / 3.0F; - - if ((double) f < 0.1D) { - return; - } - - if (f > 1.0F) { - f = 1.0F; - } - - EntityArrow entityarrow = new EntityArrow(par2World, par3EntityPlayer, f * 2.0F); - - if (f == 1.0F) { - entityarrow.setIsCritical(true); - } - - int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); - - if (k > 0) { - entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); - } - - int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); - - if (l > 0) { - entityarrow.setKnockbackStrength(l); - } - - if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { - entityarrow.setFire(100); - } - - par1ItemStack.damageItem(1, par3EntityPlayer); - par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - - if (flag) { - entityarrow.canBePickedUp = 2; - } else { - par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); - } - - if (!par2World.isRemote) { - par2World.spawnEntityInWorld(entityarrow); - } - } - } - - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } - - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); - } else { - par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister par1IIconRegister) { - this.iconArray = new IIcon[bowPullIconNameArray.length]; - this.itemIcon = par1IIconRegister.registerIcon("atum:ShusBreath"); - for (int i = 0; i < this.iconArray.length; ++i) { - this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); - } - - } - - @Override - public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { - if (usingItem != null) { - int j = this.getMaxItemUseDuration(stack) - useRemaining; - if (j >= 9) { - return this.getItemIconForUseDuration(2); - } - - if (j > 5) { - return this.getItemIconForUseDuration(1); - } - - if (j > 0) { - return this.getItemIconForUseDuration(0); - } - } - - return this.getIcon(stack, renderPass); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getItemIconForUseDuration(int par1) { - return this.iconArray[par1]; - } + public static final String[] bowPullIconNameArray = new String[]{"ShusBreath_pull_0", "ShusBreath_pull_1", "ShusBreath_pull_2"}; + IIcon[] iconArray; + + public ItemShusBreath() { + super(); + this.setMaxDamage(650); + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } + + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } + + @Override + public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4) { + int j = this.getMaxItemUseDuration(par1ItemStack) - par4; + + ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j); + MinecraftForge.EVENT_BUS.post(event); + if (event.isCanceled()) { + return; + } + j = event.charge; + + boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0; + + if (flag || par3EntityPlayer.inventory.hasItem(Items.arrow)) { + float f = (float) j / 20.0F; + f = (f * f + f * 2.0F) / 3.0F; + + if ((double) f < 0.1D) { + return; + } + + if (f > 1.0F) { + f = 1.0F; + } + + EntityArrow entityarrow = new EntityArrow(par2World, par3EntityPlayer, f * 2.0F); + + if (f == 1.0F) { + entityarrow.setIsCritical(true); + } + + int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack); + + if (k > 0) { + entityarrow.setDamage(entityarrow.getDamage() + (double) k * 0.5D + 0.5D); + } + + int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack); + + if (l > 0) { + entityarrow.setKnockbackStrength(l); + } + + if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0) { + entityarrow.setFire(100); + } + + par1ItemStack.damageItem(1, par3EntityPlayer); + par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); + + if (flag) { + entityarrow.canBePickedUp = 2; + } else { + par3EntityPlayer.inventory.consumeInventoryItem(Items.arrow); + } + + if (!par2World.isRemote) { + par2World.spawnEntityInWorld(entityarrow); + } + } + } + + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } + + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister par1IIconRegister) { + this.iconArray = new IIcon[bowPullIconNameArray.length]; + this.itemIcon = par1IIconRegister.registerIcon("atum:ShusBreath"); + for (int i = 0; i < this.iconArray.length; ++i) { + this.iconArray[i] = par1IIconRegister.registerIcon("atum:" + bowPullIconNameArray[i]); + } + + } + + @Override + public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) { + if (usingItem != null) { + int j = this.getMaxItemUseDuration(stack) - useRemaining; + if (j >= 9) { + return this.getItemIconForUseDuration(2); + } + + if (j > 5) { + return this.getItemIconForUseDuration(1); + } + + if (j > 0) { + return this.getItemIconForUseDuration(0); + } + } + + return this.getIcon(stack, renderPass); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getItemIconForUseDuration(int par1) { + return this.iconArray[par1]; + } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java index 2f11da4..ca02aac 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSobeksRage.java @@ -20,55 +20,55 @@ public class ItemSobeksRage extends ItemAxe { - public ItemSobeksRage(ToolMaterial par2ToolMaterial) { - super(par2ToolMaterial); + public ItemSobeksRage(ToolMaterial par2ToolMaterial) { + super(par2ToolMaterial); - } + } - @Override - public boolean hasEffect(ItemStack par1ItemStack, int pass) { - return true; - } + @Override + public boolean hasEffect(ItemStack par1ItemStack, int pass) { + return true; + } - // @Override - // public float getDamageVsEntity(Entity entity, ItemStack stack) { - // return 4 + super.toolMaterial.getDamageVsEntity(); - // } + // @Override + // public float getDamageVsEntity(Entity entity, ItemStack stack) { + // return 4 + super.toolMaterial.getDamageVsEntity(); + // } - @Override - public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase mob, EntityLivingBase player) { - if (!(mob instanceof EntityStoneSoldier) && !(mob instanceof EntityPharaoh)) { - float j = 4.0F; - mob.addVelocity((double) (-MathHelper.sin(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F), 0.1D, (double) (MathHelper.cos(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F)); - } + @Override + public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase mob, EntityLivingBase player) { + if (!(mob instanceof EntityStoneSoldier) && !(mob instanceof EntityPharaoh)) { + float j = 4.0F; + mob.addVelocity((double) (-MathHelper.sin(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F), 0.1D, (double) (MathHelper.cos(player.rotationYaw * 3.1415927F / 180.0F) * j * 0.5F)); + } - return super.hitEntity(par1ItemStack, mob, player); - } + return super.hitEntity(par1ItemStack, mob, player); + } - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack par1ItemStack) { - return EnumRarity.rare; - } + @Override + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(ItemStack par1ItemStack) { + return EnumRarity.rare; + } - @Override - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - if (Keyboard.isKeyDown(42)) { - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); - par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); - } else { - par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); - } - } + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } + } - @Override - public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { - return par2ItemStack.getItem() == Items.diamond; - } + @Override + public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { + return par2ItemStack.getItem() == Items.diamond; + } - @Override - public void registerIcons(IIconRegister par1IIconRegister) { - this.itemIcon = par1IIconRegister.registerIcon("atum:SobeksRage"); - } + @Override + public void registerIcons(IIconRegister par1IIconRegister) { + this.itemIcon = par1IIconRegister.registerIcon("atum:SobeksRage"); + } } diff --git a/src/main/java/com/teammetallurgy/atum/lib/handler/CraftingHandler.java b/src/main/java/com/teammetallurgy/atum/lib/handler/CraftingHandler.java index 2f8f675..0d77d62 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/handler/CraftingHandler.java +++ b/src/main/java/com/teammetallurgy/atum/lib/handler/CraftingHandler.java @@ -11,75 +11,75 @@ import net.minecraftforge.oredict.ShapelessOreRecipe; public enum CraftingHandler { - INSTANCE; + INSTANCE; - public void register() { - addRecipes(); - addSmeltingRecipes(); - addShapelessRecipes(); - } + public void register() { + addRecipes(); + addSmeltingRecipes(); + addShapelessRecipes(); + } - private void addRecipes() { - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(AtumBlocks.BLOCK_LARGEBRICK, 4), "XX", "XX", 'X', AtumBlocks.BLOCK_STONE)); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(AtumBlocks.BLOCK_SMALLBRICK, 4), "XX", "XX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE)); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(AtumBlocks.BLOCK_CARVEDBRICK, 1), AtumBlocks.BLOCK_STONE)); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SMOOTHSTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_STONE); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_COBBLESTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_LARGESTONESTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_LARGEBRICK); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SMALLSTONESTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_SMALLBRICK); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 0), "XXX", 'X', AtumBlocks.BLOCK_STONE); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 1), "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 2), "XXX", 'X', AtumBlocks.BLOCK_LARGEBRICK); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 3), "XXX", 'X', AtumBlocks.BLOCK_SMALLBRICK); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 0), "XXX", "XXX", 'X', AtumBlocks.BLOCK_STONE); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 1), "XXX", "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 2), "XXX", "XXX", 'X', AtumBlocks.BLOCK_LARGEBRICK); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 3), "XXX", "XXX", 'X', AtumBlocks.BLOCK_SMALLBRICK); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_FRAMEDGLASS), " X ", "XSX", " X ", 'X', Items.stick, 'S', AtumBlocks.BLOCK_CRYSTALGLASS); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_CRACKEDLARGEBRICK, 4), "XX", "XX", 'X', AtumItems.ITEM_STONECHUNK); - GameRegistry.addRecipe(new ItemStack(Items.experience_bottle), " X ", "XBX", " X ", 'X', AtumItems.ITEM_ECTOPLASM, 'B', Items.potionitem); - GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneSword), "L", "L", "S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); - GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneShovel), "L", "S", "S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); - GameRegistry.addRecipe(new ItemStack(AtumItems.limestonePickaxe), "LLL", " S ", " S ", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); - GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneAxe), "LL", "LS", " S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); - GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneHoe), "LL", " S", " S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); - GameRegistry.addRecipe(new ItemStack(AtumItems.mummyHelmet), "XXX", "X X", 'X', AtumItems.ITEM_SCRAP); - GameRegistry.addRecipe(new ItemStack(AtumItems.mummyChest), "X X", "XXX", "XXX", 'X', AtumItems.ITEM_SCRAP); - GameRegistry.addRecipe(new ItemStack(AtumItems.mummyLegs), "XXX", "X X", "X X", 'X', AtumItems.ITEM_SCRAP); - GameRegistry.addRecipe(new ItemStack(AtumItems.mummyBoots), "X X", "X X", 'X', AtumItems.ITEM_SCRAP); - GameRegistry.addRecipe(new ItemStack(AtumItems.wandererHelmet), "XXX", "X X", 'X', AtumItems.ITEM_LINEN); - GameRegistry.addRecipe(new ItemStack(AtumItems.wandererChest), "X X", "XXX", "XXX", 'X', AtumItems.ITEM_LINEN); - GameRegistry.addRecipe(new ItemStack(AtumItems.wandererLegs), "XXX", "X X", "X X", 'X', AtumItems.ITEM_LINEN); - GameRegistry.addRecipe(new ItemStack(AtumItems.wandererBoots), "X X", "X X", 'X', AtumItems.ITEM_LINEN); - GameRegistry.addRecipe(new ItemStack(AtumItems.ITEM_LINEN), "XXX", 'X', AtumItems.ITEM_FLAX); - GameRegistry.addRecipe(new ItemStack(Items.glass_bottle, 3), "X X", " X ", 'X', AtumBlocks.BLOCK_CRYSTALGLASS); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_THINCRYSTALGLASS, 16), "XXX", "XXX", 'X', AtumBlocks.BLOCK_CRYSTALGLASS); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_THINFRAMEDGLASS, 16), "XXX", "XXX", 'X', AtumBlocks.BLOCK_FRAMEDGLASS); - GameRegistry.addRecipe(new ItemStack(AtumItems.ITEM_SCROLL), "XXX", "SXS", "XXX", 'X', AtumItems.papyrusPlant, 'S', Items.stick); - GameRegistry.addRecipe(new ItemStack(AtumItems.ITEM_SCARAB), " G ", "GDG", " G ", 'G', Items.gold_ingot, 'D', Items.diamond); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_FURNACEIDLE), "XXX", "X X", "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); - } + private void addRecipes() { + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(AtumBlocks.BLOCK_LARGEBRICK, 4), "XX", "XX", 'X', AtumBlocks.BLOCK_STONE)); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(AtumBlocks.BLOCK_SMALLBRICK, 4), "XX", "XX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE)); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(AtumBlocks.BLOCK_CARVEDBRICK, 1), AtumBlocks.BLOCK_STONE)); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SMOOTHSTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_STONE); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_COBBLESTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_LARGESTONESTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_LARGEBRICK); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SMALLSTONESTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_SMALLBRICK); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 0), "XXX", 'X', AtumBlocks.BLOCK_STONE); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 1), "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 2), "XXX", 'X', AtumBlocks.BLOCK_LARGEBRICK); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 3), "XXX", 'X', AtumBlocks.BLOCK_SMALLBRICK); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 0), "XXX", "XXX", 'X', AtumBlocks.BLOCK_STONE); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 1), "XXX", "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 2), "XXX", "XXX", 'X', AtumBlocks.BLOCK_LARGEBRICK); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 3), "XXX", "XXX", 'X', AtumBlocks.BLOCK_SMALLBRICK); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_FRAMEDGLASS), " X ", "XSX", " X ", 'X', Items.stick, 'S', AtumBlocks.BLOCK_CRYSTALGLASS); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_CRACKEDLARGEBRICK, 4), "XX", "XX", 'X', AtumItems.ITEM_STONECHUNK); + GameRegistry.addRecipe(new ItemStack(Items.experience_bottle), " X ", "XBX", " X ", 'X', AtumItems.ITEM_ECTOPLASM, 'B', Items.potionitem); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneSword), "L", "L", "S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneShovel), "L", "S", "S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestonePickaxe), "LLL", " S ", " S ", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneAxe), "LL", "LS", " S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.limestoneHoe), "LL", " S", " S", 'L', AtumBlocks.BLOCK_LIMESTONECOBBLE, 'S', Items.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.mummyHelmet), "XXX", "X X", 'X', AtumItems.ITEM_SCRAP); + GameRegistry.addRecipe(new ItemStack(AtumItems.mummyChest), "X X", "XXX", "XXX", 'X', AtumItems.ITEM_SCRAP); + GameRegistry.addRecipe(new ItemStack(AtumItems.mummyLegs), "XXX", "X X", "X X", 'X', AtumItems.ITEM_SCRAP); + GameRegistry.addRecipe(new ItemStack(AtumItems.mummyBoots), "X X", "X X", 'X', AtumItems.ITEM_SCRAP); + GameRegistry.addRecipe(new ItemStack(AtumItems.wandererHelmet), "XXX", "X X", 'X', AtumItems.ITEM_LINEN); + GameRegistry.addRecipe(new ItemStack(AtumItems.wandererChest), "X X", "XXX", "XXX", 'X', AtumItems.ITEM_LINEN); + GameRegistry.addRecipe(new ItemStack(AtumItems.wandererLegs), "XXX", "X X", "X X", 'X', AtumItems.ITEM_LINEN); + GameRegistry.addRecipe(new ItemStack(AtumItems.wandererBoots), "X X", "X X", 'X', AtumItems.ITEM_LINEN); + GameRegistry.addRecipe(new ItemStack(AtumItems.ITEM_LINEN), "XXX", 'X', AtumItems.ITEM_FLAX); + GameRegistry.addRecipe(new ItemStack(Items.glass_bottle, 3), "X X", " X ", 'X', AtumBlocks.BLOCK_CRYSTALGLASS); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_THINCRYSTALGLASS, 16), "XXX", "XXX", 'X', AtumBlocks.BLOCK_CRYSTALGLASS); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_THINFRAMEDGLASS, 16), "XXX", "XXX", 'X', AtumBlocks.BLOCK_FRAMEDGLASS); + GameRegistry.addRecipe(new ItemStack(AtumItems.ITEM_SCROLL), "XXX", "SXS", "XXX", 'X', AtumItems.papyrusPlant, 'S', Items.stick); + GameRegistry.addRecipe(new ItemStack(AtumItems.ITEM_SCARAB), " G ", "GDG", " G ", 'G', Items.gold_ingot, 'D', Items.diamond); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_FURNACEIDLE), "XXX", "X X", "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); + } - private void addSmeltingRecipes() { - FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_IRONORE, new ItemStack(Items.iron_ingot), 0.7F); - FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_COALORE, new ItemStack(Items.coal), 0.1F); - FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_REDSTONEORE, new ItemStack(Items.redstone), 0.7F); - FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_LAPISORE, new ItemStack(Items.dye, 1, 4), 0.2F); - FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_GOLDORE, new ItemStack(Items.gold_ingot), 1.0F); - FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_DIAMONDORE, new ItemStack(Items.diamond), 1.0F); - FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_LOG, new ItemStack(Items.coal, 1, 1), 0.15F); - FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_LIMESTONECOBBLE, new ItemStack(AtumBlocks.BLOCK_STONE), 0.1F); - FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_SAND, new ItemStack(AtumBlocks.BLOCK_CRYSTALGLASS), 0.1F); - } + private void addSmeltingRecipes() { + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_IRONORE, new ItemStack(Items.iron_ingot), 0.7F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_COALORE, new ItemStack(Items.coal), 0.1F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_REDSTONEORE, new ItemStack(Items.redstone), 0.7F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_LAPISORE, new ItemStack(Items.dye, 1, 4), 0.2F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_GOLDORE, new ItemStack(Items.gold_ingot), 1.0F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_DIAMONDORE, new ItemStack(Items.diamond), 1.0F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_LOG, new ItemStack(Items.coal, 1, 1), 0.15F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_LIMESTONECOBBLE, new ItemStack(AtumBlocks.BLOCK_STONE), 0.1F); + FurnaceRecipes.smelting().func_151393_a(AtumBlocks.BLOCK_SAND, new ItemStack(AtumBlocks.BLOCK_CRYSTALGLASS), 0.1F); + } - private void addShapelessRecipes() { - GameRegistry.addShapelessRecipe(new ItemStack(AtumBlocks.BLOCK_PLANKS, 4), AtumBlocks.BLOCK_LOG); - GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertHelmet), AtumItems.wandererHelmet, Items.iron_helmet); - GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertChest), AtumItems.wandererChest, Items.iron_chestplate); - GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertLegs), AtumItems.wandererLegs, Items.iron_leggings); - GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertBoots), AtumItems.wandererBoots, Items.iron_boots); - GameRegistry.addShapelessRecipe(new ItemStack(Blocks.sand), AtumBlocks.BLOCK_SAND); - GameRegistry.addShapelessRecipe(new ItemStack(Items.string, 3), AtumItems.ITEM_FLAX); - } + private void addShapelessRecipes() { + GameRegistry.addShapelessRecipe(new ItemStack(AtumBlocks.BLOCK_PLANKS, 4), AtumBlocks.BLOCK_LOG); + GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertHelmet), AtumItems.wandererHelmet, Items.iron_helmet); + GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertChest), AtumItems.wandererChest, Items.iron_chestplate); + GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertLegs), AtumItems.wandererLegs, Items.iron_leggings); + GameRegistry.addShapelessRecipe(new ItemStack(AtumItems.desertBoots), AtumItems.wandererBoots, Items.iron_boots); + GameRegistry.addShapelessRecipe(new ItemStack(Blocks.sand), AtumBlocks.BLOCK_SAND); + GameRegistry.addShapelessRecipe(new ItemStack(Items.string, 3), AtumItems.ITEM_FLAX); + } } diff --git a/src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java b/src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java index 753122b..06b704e 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java +++ b/src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java @@ -33,84 +33,84 @@ public class ClientProxy extends CommonProxy { - @Override - public void init() { - ClientEvents ticker = new ClientEvents(); - MinecraftForge.EVENT_BUS.register(ticker); + @Override + public void init() { + ClientEvents ticker = new ClientEvents(); + MinecraftForge.EVENT_BUS.register(ticker); - MinecraftForge.EVENT_BUS.register(AtumItems.anubisMercy); - MinecraftForge.EVENT_BUS.register(AtumItems.gebsSolidarity); - MinecraftForge.EVENT_BUS.register(AtumItems.horusFlight); - MinecraftForge.EVENT_BUS.register(AtumItems.maatsBalance); - MinecraftForge.EVENT_BUS.register(AtumItems.mnevisHorns); - MinecraftForge.EVENT_BUS.register(AtumItems.sekhmetsWrath); - } + MinecraftForge.EVENT_BUS.register(AtumItems.anubisMercy); + MinecraftForge.EVENT_BUS.register(AtumItems.gebsSolidarity); + MinecraftForge.EVENT_BUS.register(AtumItems.horusFlight); + MinecraftForge.EVENT_BUS.register(AtumItems.maatsBalance); + MinecraftForge.EVENT_BUS.register(AtumItems.mnevisHorns); + MinecraftForge.EVENT_BUS.register(AtumItems.sekhmetsWrath); + } - @Override - public void initRenders() { - MinecraftForgeClient.registerItemRenderer(AtumItems.ITEM_BOW, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.atensFury, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.horusSoaring, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.neithsAudacity, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.shusBreath, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.hedetetsVenom, new RendererItemBow()); - MinecraftForgeClient.registerItemRenderer(AtumItems.monthusBlast, new RendererItemBow()); - RenderingRegistry.registerBlockHandler(((BlockPapyrus) AtumBlocks.BLOCK_PAPYRUS).renderID, new RenderPapyrus()); - RenderingRegistry.registerBlockHandler(((BlockDate) AtumBlocks.BLOCK_DATEBLOCK).renderID, new RenderDate()); + @Override + public void initRenders() { + MinecraftForgeClient.registerItemRenderer(AtumItems.ITEM_BOW, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.atensFury, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.horusSoaring, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.neithsAudacity, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.shusBreath, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.hedetetsVenom, new RendererItemBow()); + MinecraftForgeClient.registerItemRenderer(AtumItems.monthusBlast, new RendererItemBow()); + RenderingRegistry.registerBlockHandler(((BlockPapyrus) AtumBlocks.BLOCK_PAPYRUS).renderID, new RenderPapyrus()); + RenderingRegistry.registerBlockHandler(((BlockDate) AtumBlocks.BLOCK_DATEBLOCK).renderID, new RenderDate()); - RenderingRegistry.registerEntityRenderingHandler(EntityMummy.class, new RenderLiving(new ModelZombie(), 0.5F) { + RenderingRegistry.registerEntityRenderingHandler(EntityMummy.class, new RenderLiving(new ModelZombie(), 0.5F) { - @Override - protected ResourceLocation getEntityTexture(Entity entity) { - return new ResourceLocation("atum", "textures/entities/Mummy.png"); - } - }); - RenderingRegistry.registerEntityRenderingHandler(EntityBanditWarrior.class, new RenderBiped(new ModelBiped(), 0.5F) { - @Override - protected ResourceLocation getEntityTexture(Entity par1Entity) { - return new ResourceLocation("atum", "textures/entities/BanditWarrior.png"); - } - }); - RenderingRegistry.registerEntityRenderingHandler(EntityBarbarian.class, new RenderBiped(new ModelBiped(), 0.5F) { - @Override - protected ResourceLocation getEntityTexture(Entity par1Entity) { - return new ResourceLocation("atum", "textures/entities/Barbarian.png"); - } - }); - RenderingRegistry.registerEntityRenderingHandler(EntityBanditArcher.class, new RenderBandit(new ModelBiped(), 0.5F) { - @Override - protected ResourceLocation getEntityTexture(Entity par1Entity) { - return new ResourceLocation("atum", "textures/entities/BanditArcher.png"); - } - }); - RenderingRegistry.registerEntityRenderingHandler(EntityBanditWarlord.class, new RenderBiped(new ModelBiped(), 0.5F) { - @Override - protected ResourceLocation getEntityTexture(Entity par1Entity) { - return new ResourceLocation("atum", "textures/entities/BanditWarlord.png"); - } - }); + @Override + protected ResourceLocation getEntityTexture(Entity entity) { + return new ResourceLocation("atum", "textures/entities/Mummy.png"); + } + }); + RenderingRegistry.registerEntityRenderingHandler(EntityBanditWarrior.class, new RenderBiped(new ModelBiped(), 0.5F) { + @Override + protected ResourceLocation getEntityTexture(Entity par1Entity) { + return new ResourceLocation("atum", "textures/entities/BanditWarrior.png"); + } + }); + RenderingRegistry.registerEntityRenderingHandler(EntityBarbarian.class, new RenderBiped(new ModelBiped(), 0.5F) { + @Override + protected ResourceLocation getEntityTexture(Entity par1Entity) { + return new ResourceLocation("atum", "textures/entities/Barbarian.png"); + } + }); + RenderingRegistry.registerEntityRenderingHandler(EntityBanditArcher.class, new RenderBandit(new ModelBiped(), 0.5F) { + @Override + protected ResourceLocation getEntityTexture(Entity par1Entity) { + return new ResourceLocation("atum", "textures/entities/BanditArcher.png"); + } + }); + RenderingRegistry.registerEntityRenderingHandler(EntityBanditWarlord.class, new RenderBiped(new ModelBiped(), 0.5F) { + @Override + protected ResourceLocation getEntityTexture(Entity par1Entity) { + return new ResourceLocation("atum", "textures/entities/BanditWarlord.png"); + } + }); - RenderingRegistry.registerEntityRenderingHandler(EntityPharaoh.class, new RenderPharaoh(new ModelBiped(), 0.5F)); + RenderingRegistry.registerEntityRenderingHandler(EntityPharaoh.class, new RenderPharaoh(new ModelBiped(), 0.5F)); - RenderingRegistry.registerEntityRenderingHandler(EntityDustySkeleton.class, new RenderBiped(new ModelDustySkeleton(), 0.5F) { - @Override - protected ResourceLocation getEntityTexture(Entity par1Entity) { - return new ResourceLocation("atum", "textures/entities/DustySkeleton.png"); - } - }); + RenderingRegistry.registerEntityRenderingHandler(EntityDustySkeleton.class, new RenderBiped(new ModelDustySkeleton(), 0.5F) { + @Override + protected ResourceLocation getEntityTexture(Entity par1Entity) { + return new ResourceLocation("atum", "textures/entities/DustySkeleton.png"); + } + }); - RenderingRegistry.registerEntityRenderingHandler(EntityGhost.class, new RenderGhost(new ModelZombie(), 0.5F)); - RenderingRegistry.registerEntityRenderingHandler(EntityStoneSoldier.class, new RenderBiped(new ModelBiped(), 0.5F) { - @Override - protected ResourceLocation getEntityTexture(Entity par1Entity) { - return new ResourceLocation("atum", "textures/entities/StoneSoldier.png"); - } - }); + RenderingRegistry.registerEntityRenderingHandler(EntityGhost.class, new RenderGhost(new ModelZombie(), 0.5F)); + RenderingRegistry.registerEntityRenderingHandler(EntityStoneSoldier.class, new RenderBiped(new ModelBiped(), 0.5F) { + @Override + protected ResourceLocation getEntityTexture(Entity par1Entity) { + return new ResourceLocation("atum", "textures/entities/StoneSoldier.png"); + } + }); - RenderingRegistry.registerEntityRenderingHandler(EntityDesertWolf.class, new RenderDesertWolf(new ModelDesertWolf(), new ModelDesertWolf(), 0.5F)); + RenderingRegistry.registerEntityRenderingHandler(EntityDesertWolf.class, new RenderDesertWolf(new ModelDesertWolf(), new ModelDesertWolf(), 0.5F)); - RenderingRegistry.registerEntityRenderingHandler(CustomArrow.class, new RenderCustomArrow()); - RenderingRegistry.registerEntityRenderingHandler(EntityNutsCall.class, new RenderNutsCall()); - RenderingRegistry.registerEntityRenderingHandler(EntityAtumFishHook.class, new RenderFish()); - } + RenderingRegistry.registerEntityRenderingHandler(CustomArrow.class, new RenderCustomArrow()); + RenderingRegistry.registerEntityRenderingHandler(EntityNutsCall.class, new RenderNutsCall()); + RenderingRegistry.registerEntityRenderingHandler(EntityAtumFishHook.class, new RenderFish()); + } } diff --git a/src/main/java/com/teammetallurgy/atum/lib/proxy/CommonProxy.java b/src/main/java/com/teammetallurgy/atum/lib/proxy/CommonProxy.java index a92743c..723eca9 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/proxy/CommonProxy.java +++ b/src/main/java/com/teammetallurgy/atum/lib/proxy/CommonProxy.java @@ -5,15 +5,15 @@ public class CommonProxy { - public void init() { - ServerEvents ticker = new ServerEvents(); - MinecraftForge.EVENT_BUS.register(ticker); - } + public void init() { + ServerEvents ticker = new ServerEvents(); + MinecraftForge.EVENT_BUS.register(ticker); + } - public void initRenders() { - } + public void initRenders() { + } - public void initTiles() { - } + public void initTiles() { + } } diff --git a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientEvents.java b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientEvents.java index a4cbe5b..49cfad3 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientEvents.java +++ b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientEvents.java @@ -13,76 +13,51 @@ import java.util.Random; public class ClientEvents { - public static int defaultFog; - private boolean raining; - private boolean overlay; - - @SubscribeEvent - public void onRender(TickEvent.RenderTickEvent event) { - EntityPlayer player = Minecraft.getMinecraft().thePlayer; - - if (player != null && player.getCurrentArmor(3) != null) { - if (player.getCurrentArmor(3).getItem() == AtumItems.mummyHelmet) { - ScaledResolution scaledresolution = new ScaledResolution(Minecraft.getMinecraft(), Minecraft.getMinecraft().displayWidth, Minecraft.getMinecraft().displayHeight); - int par1 = scaledresolution.getScaledWidth(); - int par2 = scaledresolution.getScaledHeight(); - - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation("atum", "textures/hud/mummyblur")); - Tessellator tessellator = Tessellator.instance; - tessellator.startDrawingQuads(); - tessellator.addVertexWithUV(0.0D, par2, -100, 0.0D, 1.0D); - tessellator.addVertexWithUV(par1, par2, -100, 1.0D, 1.0D); - tessellator.addVertexWithUV(par1, 0.0D, -100, 1.0D, 0.0D); - tessellator.addVertexWithUV(0.0D, 0.0D, -100, 0.0D, 0.0D); - tessellator.draw(); - } - } - } - - @SubscribeEvent - public void onUpdate(TickEvent.PlayerTickEvent event) { - EntityPlayer player = event.player; - - boolean nightvision = false; - - if (player.getCurrentArmor(3) != null) { - if (player.getCurrentArmor(3).getItem() == AtumItems.rasGlory) { - nightvision = true; - } - - } - - if (player.dimension == AtumIDS.DIMENSION_ID) { - if (Minecraft.getMinecraft().gameSettings.renderDistanceChunks > 2) { - defaultFog = Minecraft.getMinecraft().gameSettings.renderDistanceChunks; - Minecraft.getMinecraft().gameSettings.renderDistanceChunks = nightvision ? 3 : 2; - } - - if (player.worldObj.isRaining()) { - raining = true; - if (Minecraft.getMinecraft().gameSettings.renderDistanceChunks < (nightvision ? 3 : 2)) { - Minecraft.getMinecraft().gameSettings.renderDistanceChunks = nightvision ? 3 : 2; - } - - Random random = new Random(); - int particlesPerTick = (3 - Minecraft.getMinecraft().gameSettings.particleSetting) * 6; - for (int i = 0; i < particlesPerTick; i++) { - float x = random.nextInt(4) - 2; - float z = random.nextInt(4) - 2; - float y = (random.nextFloat() - 0.7F) * 2F; - - float vx = 0.1F + random.nextFloat() * 0.1F; - float vz = 0.1F + random.nextFloat() * 0.1F; - - player.worldObj.spawnParticle("sand", player.posX + x, player.posY + y, player.posZ + z, vx + player.motionX, 0.0D, vz + player.motionZ); - } - } else { - if (raining == true && defaultFog < (nightvision ? 1 : 2)) { - raining = false; - Minecraft.getMinecraft().gameSettings.renderDistanceChunks = nightvision ? 3 : 2; - - } - } - } - } + private boolean raining; + + @SubscribeEvent + public void onRender(TickEvent.RenderTickEvent event) { + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + + if (player != null && player.getCurrentArmor(3) != null) { + if (player.getCurrentArmor(3).getItem() == AtumItems.mummyHelmet) { + ScaledResolution scaledresolution = new ScaledResolution(Minecraft.getMinecraft(), Minecraft.getMinecraft().displayWidth, Minecraft.getMinecraft().displayHeight); + int par1 = scaledresolution.getScaledWidth(); + int par2 = scaledresolution.getScaledHeight(); + + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation("atum", "textures/hud/mummyblur")); + Tessellator tessellator = Tessellator.instance; + tessellator.startDrawingQuads(); + tessellator.addVertexWithUV(0.0D, par2, -100, 0.0D, 1.0D); + tessellator.addVertexWithUV(par1, par2, -100, 1.0D, 1.0D); + tessellator.addVertexWithUV(par1, 0.0D, -100, 1.0D, 0.0D); + tessellator.addVertexWithUV(0.0D, 0.0D, -100, 0.0D, 0.0D); + tessellator.draw(); + } + } + } + + @SubscribeEvent + public void onUpdate(TickEvent.PlayerTickEvent event) { + EntityPlayer player = event.player; + + if (player.dimension == AtumIDS.DIMENSION_ID) { + if (player.worldObj.isRaining()) { + raining = true; + + Random random = new Random(); + int particlesPerTick = (3 - Minecraft.getMinecraft().gameSettings.particleSetting) * 6; + for (int i = 0; i < particlesPerTick; i++) { + float x = random.nextInt(4) - 2; + float z = random.nextInt(4) - 2; + float y = (random.nextFloat() - 0.7F) * 2F; + + float vx = 0.1F + random.nextFloat() * 0.1F; + float vz = 0.1F + random.nextFloat() * 0.1F; + + player.worldObj.spawnParticle("sand", player.posX + x, player.posY + y, player.posZ + z, vx + player.motionX, 0.0D, vz + player.motionZ); + } + } + } + } } diff --git a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ServerEvents.java b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ServerEvents.java index 3a3fe9f..a1f85c0 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ServerEvents.java +++ b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ServerEvents.java @@ -9,51 +9,51 @@ public class ServerEvents { - private boolean raining; - - @SubscribeEvent - public void onServerTick(TickEvent.PlayerTickEvent event) { - EntityPlayer player = event.player; - - if (player.worldObj.getTotalWorldTime() % 60L == 0L) { - - if (player.getCurrentArmor(2) != null) { - if (player.getCurrentArmor(2).getItem() == AtumItems.isisEmbrace) { - player.heal(1); - } - } - } - - if (player.worldObj.getTotalWorldTime() % 10L == 0L) { - if (player.getCurrentArmor(3) != null) { - if (player.getCurrentArmor(3).getItem() == AtumItems.rasGlory) { - player.addPotionEffect(new PotionEffect(16, 340, 0, true)); - } else { - if (player.isPotionActive(16)) { - player.clearActivePotions(); - } - } - } - - if (player.getCurrentArmor(2) != null) { - if (player.getCurrentArmor(2).getItem() == AtumItems.sekhmetsWrath) { - player.addPotionEffect(new PotionEffect(12, 240, 0, true)); - } - } - - if (player.getCurrentArmor(1) != null) { - if (player.getCurrentArmor(1).getItem() == AtumItems.nutsAgility) { - player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 240, 1, true)); - player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 240, 1, true)); - } - } - - if (player.getCurrentArmor(0) != null) { - if (player.getCurrentArmor(0).getItem() == AtumItems.horusFlight) { - player.addPotionEffect(new PotionEffect(8, 240, 1, true)); - } - } - } - } + private boolean raining; + + @SubscribeEvent + public void onServerTick(TickEvent.PlayerTickEvent event) { + EntityPlayer player = event.player; + + if (player.worldObj.getTotalWorldTime() % 60L == 0L) { + + if (player.getCurrentArmor(2) != null) { + if (player.getCurrentArmor(2).getItem() == AtumItems.isisEmbrace) { + player.heal(1); + } + } + } + + if (player.worldObj.getTotalWorldTime() % 10L == 0L) { + if (player.getCurrentArmor(3) != null) { + if (player.getCurrentArmor(3).getItem() == AtumItems.rasGlory) { + player.addPotionEffect(new PotionEffect(16, 340, 0, true)); + } else { + if (player.isPotionActive(16)) { + player.clearActivePotions(); + } + } + } + + if (player.getCurrentArmor(2) != null) { + if (player.getCurrentArmor(2).getItem() == AtumItems.sekhmetsWrath) { + player.addPotionEffect(new PotionEffect(12, 240, 0, true)); + } + } + + if (player.getCurrentArmor(1) != null) { + if (player.getCurrentArmor(1).getItem() == AtumItems.nutsAgility) { + player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 240, 1, true)); + player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 240, 1, true)); + } + } + + if (player.getCurrentArmor(0) != null) { + if (player.getCurrentArmor(0).getItem() == AtumItems.horusFlight) { + player.addPotionEffect(new PotionEffect(8, 240, 1, true)); + } + } + } + } } \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumChunkProvider.java b/src/main/java/com/teammetallurgy/atum/world/AtumChunkProvider.java index b6e6f38..d380c6c 100644 --- a/src/main/java/com/teammetallurgy/atum/world/AtumChunkProvider.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumChunkProvider.java @@ -32,503 +32,503 @@ public class AtumChunkProvider implements IChunkProvider { - /** - * are map structures going to be generated (e.g. strongholds) - */ - private final boolean mapFeaturesEnabled; - private final double[] field_147434_q; - private final float[] parabolicField; - /** - * A NoiseGeneratorOctaves used in generating terrain - */ - public NoiseGeneratorOctaves noiseGen5; - /** - * A NoiseGeneratorOctaves used in generating terrain - */ - public NoiseGeneratorOctaves noiseGen6; - public NoiseGeneratorOctaves mobSpawnerNoise; - double[] field_147427_d; - double[] field_147428_e; - double[] field_147425_f; - double[] field_147426_g; - /** - * RNG. - */ - private Random rand; - private NoiseGeneratorOctaves field_147431_j; - private NoiseGeneratorOctaves field_147432_k; - private NoiseGeneratorOctaves field_147429_l; - private NoiseGeneratorPerlin field_147430_m; - /** - * Reference to the World object. - */ - private World worldObj; - private WorldType field_147435_p; - private double[] stoneNoise = new double[256]; - private MapGenBase caveGenerator = new MapGenCaves(); - private MapGenScatteredFeature scatteredFeatureGenerator = new MapGenScatteredFeature(); - /** - * Holds ravine generator - */ - private MapGenBase ravineGenerator = new MapGenRavine(); - /** - * The biomes that are used to generate the chunk - */ - private BiomeGenBase[] biomesForGeneration; - - { - caveGenerator = TerrainGen.getModdedMapGen(caveGenerator, CAVE); - ravineGenerator = TerrainGen.getModdedMapGen(ravineGenerator, RAVINE); - } - - public AtumChunkProvider(World par1World, long par2, boolean par4) { - this.worldObj = par1World; - this.mapFeaturesEnabled = par4; - this.field_147435_p = par1World.getWorldInfo().getTerrainType(); - this.rand = new Random(par2); - this.field_147431_j = new NoiseGeneratorOctaves(this.rand, 16); - this.field_147432_k = new NoiseGeneratorOctaves(this.rand, 16); - this.field_147429_l = new NoiseGeneratorOctaves(this.rand, 8); - this.field_147430_m = new NoiseGeneratorPerlin(this.rand, 4); - this.noiseGen5 = new NoiseGeneratorOctaves(this.rand, 10); - this.noiseGen6 = new NoiseGeneratorOctaves(this.rand, 16); - this.mobSpawnerNoise = new NoiseGeneratorOctaves(this.rand, 8); - this.field_147434_q = new double[825]; - this.parabolicField = new float[25]; - - for (int j = -2; j <= 2; ++j) { - for (int k = -2; k <= 2; ++k) { - float f = 10.0F / MathHelper.sqrt_float((float) (j * j + k * k) + 0.2F); - this.parabolicField[j + 2 + (k + 2) * 5] = f; - } - } - - NoiseGenerator[] noiseGens = {field_147431_j, field_147432_k, field_147429_l, field_147430_m, noiseGen5, noiseGen6, mobSpawnerNoise}; - noiseGens = TerrainGen.getModdedNoiseGenerators(par1World, this.rand, noiseGens); - this.field_147431_j = (NoiseGeneratorOctaves) noiseGens[0]; - this.field_147432_k = (NoiseGeneratorOctaves) noiseGens[1]; - this.field_147429_l = (NoiseGeneratorOctaves) noiseGens[2]; - this.field_147430_m = (NoiseGeneratorPerlin) noiseGens[3]; - this.noiseGen5 = (NoiseGeneratorOctaves) noiseGens[4]; - this.noiseGen6 = (NoiseGeneratorOctaves) noiseGens[5]; - this.mobSpawnerNoise = (NoiseGeneratorOctaves) noiseGens[6]; - } - - public void func_147424_a(int p_147424_1_, int p_147424_2_, Block[] p_147424_3_) { - byte b0 = 63; - this.biomesForGeneration = this.worldObj.getWorldChunkManager().getBiomesForGeneration(this.biomesForGeneration, p_147424_1_ * 4 - 2, p_147424_2_ * 4 - 2, 10, 10); - this.func_147423_a(p_147424_1_ * 4, 0, p_147424_2_ * 4); - - for (int k = 0; k < 4; ++k) { - int l = k * 5; - int i1 = (k + 1) * 5; - - for (int j1 = 0; j1 < 4; ++j1) { - int k1 = (l + j1) * 33; - int l1 = (l + j1 + 1) * 33; - int i2 = (i1 + j1) * 33; - int j2 = (i1 + j1 + 1) * 33; - - for (int k2 = 0; k2 < 32; ++k2) { - double d0 = 0.125D; - double d1 = this.field_147434_q[k1 + k2]; - double d2 = this.field_147434_q[l1 + k2]; - double d3 = this.field_147434_q[i2 + k2]; - double d4 = this.field_147434_q[j2 + k2]; - double d5 = (this.field_147434_q[k1 + k2 + 1] - d1) * d0; - double d6 = (this.field_147434_q[l1 + k2 + 1] - d2) * d0; - double d7 = (this.field_147434_q[i2 + k2 + 1] - d3) * d0; - double d8 = (this.field_147434_q[j2 + k2 + 1] - d4) * d0; - - for (int l2 = 0; l2 < 8; ++l2) { - double d9 = 0.25D; - double d10 = d1; - double d11 = d2; - double d12 = (d3 - d1) * d9; - double d13 = (d4 - d2) * d9; - - for (int i3 = 0; i3 < 4; ++i3) { - int j3 = i3 + k * 4 << 12 | 0 + j1 * 4 << 8 | k2 * 8 + l2; - short short1 = 256; - j3 -= short1; - double d14 = 0.25D; - double d16 = (d11 - d10) * d14; - double d15 = d10 - d16; - - for (int k3 = 0; k3 < 4; ++k3) { - if ((d15 += d16) > 0.0D) { - p_147424_3_[j3 += short1] = AtumBlocks.BLOCK_STONE; - } else if (k2 * 8 + l2 < b0) { - p_147424_3_[j3 += short1] = AtumBlocks.BLOCK_STONE; - } else { - p_147424_3_[j3 += short1] = null; - } - } - - d10 += d12; - d11 += d13; - } - - d1 += d5; - d2 += d6; - d3 += d7; - d4 += d8; - } - } - } - } - } - - public void replaceBlocksForBiome(int p_147422_1_, int p_147422_2_, Block[] p_147422_3_, byte[] p_147422_4_, BiomeGenBase[] p_147422_5_) { - ChunkProviderEvent.ReplaceBiomeBlocks event = new ChunkProviderEvent.ReplaceBiomeBlocks(this, p_147422_1_, p_147422_2_, p_147422_3_, p_147422_5_); - MinecraftForge.EVENT_BUS.post(event); - if (event.getResult() == Result.DENY) - return; - - double d0 = 0.03125D; - this.stoneNoise = this.field_147430_m.func_151599_a(this.stoneNoise, (double) (p_147422_1_ * 16), (double) (p_147422_2_ * 16), 16, 16, d0 * 2.0D, d0 * 2.0D, 1.0D); - - for (int k = 0; k < 16; ++k) { - for (int l = 0; l < 16; ++l) { - BiomeGenBase biomegenbase = p_147422_5_[l + k * 16]; - genBiomeTerrain(this.worldObj, biomegenbase, this.rand, p_147422_3_, p_147422_4_, p_147422_1_ * 16 + k, p_147422_2_ * 16 + l, this.stoneNoise[l + k * 16]); - } - } - } - - public void genBiomeTerrain(World p_150560_1_, BiomeGenBase biomegenbase, Random p_150560_2_, Block[] p_150560_3_, byte[] p_150560_4_, int p_150560_5_, int p_150560_6_, double p_150560_7_) { - boolean flag = true; - Block block = biomegenbase.topBlock; - byte b0 = (byte) (biomegenbase.field_150604_aj & 255); - Block block1 = biomegenbase.fillerBlock; - int k = -1; - int l = (int) (p_150560_7_ / 3.0D + 3.0D + p_150560_2_.nextDouble() * 0.25D); - int i1 = p_150560_5_ & 15; - int j1 = p_150560_6_ & 15; - int k1 = p_150560_3_.length / 256; - - for (int l1 = 255; l1 >= 0; --l1) { - int i2 = (j1 * 16 + i1) * k1 + l1; - - if (l1 <= 0 + p_150560_2_.nextInt(5)) { - p_150560_3_[i2] = Blocks.bedrock; - } else { - Block block2 = p_150560_3_[i2]; - - if (block2 != null && block2.getMaterial() != Material.air) { - if (block2 == AtumBlocks.BLOCK_STONE) { - if (k == -1) { - if (l <= 0) { - block = null; - b0 = 0; - block1 = AtumBlocks.BLOCK_STONE; - } else if (l1 >= 59 && l1 <= 64) { - block = biomegenbase.topBlock; - b0 = (byte) (biomegenbase.field_150604_aj & 255); - block1 = biomegenbase.fillerBlock; - } - - if (l1 < 63 && (block == null || block.getMaterial() == Material.air)) { - if (biomegenbase.getFloatTemperature(p_150560_5_, l1, p_150560_6_) < 0.15F) { - block = Blocks.ice; - b0 = 0; - } else { - block = Blocks.water; - b0 = 0; - } - } - - k = l; - - if (l1 >= 62) { - p_150560_3_[i2] = block; - p_150560_4_[i2] = b0; - } else if (l1 < 56 - l) { - block = null; - block1 = Blocks.stone; - p_150560_3_[i2] = Blocks.gravel; - } else { - p_150560_3_[i2] = block1; - } - } else if (k > 0) { - --k; - p_150560_3_[i2] = block1; - - if (k == 0 && block1 == Blocks.sand) { - k = p_150560_2_.nextInt(4) + Math.max(0, l1 - 63); - block1 = Blocks.sandstone; - } - } - } - } else { - k = -1; - } - } - } - } - - /** - * loads or generates the chunk at the chunk location specified - */ - public Chunk loadChunk(int par1, int par2) { - return this.provideChunk(par1, par2); - } - - /** - * Will return back a chunk, if it doesn't exist and its not a MP client it - * will generates all the blocks for the specified chunk from the map seed - * and chunk seed - */ - public Chunk provideChunk(int par1, int par2) { - this.rand.setSeed((long) par1 * 341873128712L + (long) par2 * 132897987541L); - Block[] ablock = new Block[65536]; - byte[] abyte = new byte[65536]; - this.func_147424_a(par1, par2, ablock); - this.biomesForGeneration = this.worldObj.getWorldChunkManager().loadBlockGeneratorData(this.biomesForGeneration, par1 * 16, par2 * 16, 16, 16); - this.replaceBlocksForBiome(par1, par2, ablock, abyte, this.biomesForGeneration); - this.caveGenerator.func_151539_a(this, this.worldObj, par1, par2, ablock); - this.ravineGenerator.func_151539_a(this, this.worldObj, par1, par2, ablock); - - if (this.mapFeaturesEnabled) { - this.scatteredFeatureGenerator.func_151539_a(this, this.worldObj, par1, par2, ablock); - } - - Chunk chunk = new Chunk(this.worldObj, ablock, abyte, par1, par2); - byte[] abyte1 = chunk.getBiomeArray(); - - for (int k = 0; k < abyte1.length; ++k) { - abyte1[k] = (byte) this.biomesForGeneration[k].biomeID; - } - - chunk.generateSkylightMap(); - return chunk; - } - - private void func_147423_a(int p_147423_1_, int p_147423_2_, int p_147423_3_) { - double d0 = 684.412D; - double d1 = 684.412D; - double d2 = 512.0D; - double d3 = 512.0D; - this.field_147426_g = this.noiseGen6.generateNoiseOctaves(this.field_147426_g, p_147423_1_, p_147423_3_, 5, 5, 200.0D, 200.0D, 0.5D); - this.field_147427_d = this.field_147429_l.generateNoiseOctaves(this.field_147427_d, p_147423_1_, p_147423_2_, p_147423_3_, 5, 33, 5, 8.555150000000001D, 4.277575000000001D, 8.555150000000001D); - this.field_147428_e = this.field_147431_j.generateNoiseOctaves(this.field_147428_e, p_147423_1_, p_147423_2_, p_147423_3_, 5, 33, 5, 684.412D, 684.412D, 684.412D); - this.field_147425_f = this.field_147432_k.generateNoiseOctaves(this.field_147425_f, p_147423_1_, p_147423_2_, p_147423_3_, 5, 33, 5, 684.412D, 684.412D, 684.412D); - boolean flag1 = false; - boolean flag = false; - int l = 0; - int i1 = 0; - double d4 = 8.5D; - - for (int j1 = 0; j1 < 5; ++j1) { - for (int k1 = 0; k1 < 5; ++k1) { - float f = 0.0F; - float f1 = 0.0F; - float f2 = 0.0F; - byte b0 = 2; - BiomeGenBase biomegenbase = this.biomesForGeneration[j1 + 2 + (k1 + 2) * 10]; - - for (int l1 = -b0; l1 <= b0; ++l1) { - for (int i2 = -b0; i2 <= b0; ++i2) { - BiomeGenBase biomegenbase1 = this.biomesForGeneration[j1 + l1 + 2 + (k1 + i2 + 2) * 10]; - float f3 = biomegenbase1.rootHeight; - float f4 = biomegenbase1.heightVariation; - - if (this.field_147435_p == WorldType.AMPLIFIED && f3 > 0.0F) { - f3 = 1.0F + f3 * 2.0F; - f4 = 1.0F + f4 * 4.0F; - } - - float f5 = this.parabolicField[l1 + 2 + (i2 + 2) * 5] / (f3 + 2.0F); - - if (biomegenbase1.rootHeight > biomegenbase.rootHeight) { - f5 /= 2.0F; - } - - f += f4 * f5; - f1 += f3 * f5; - f2 += f5; - } - } - - f /= f2; - f1 /= f2; - f = f * 0.9F + 0.1F; - f1 = (f1 * 4.0F - 1.0F) / 8.0F; - double d12 = this.field_147426_g[i1] / 8000.0D; - - if (d12 < 0.0D) { - d12 = -d12 * 0.3D; - } - - d12 = d12 * 3.0D - 2.0D; - - if (d12 < 0.0D) { - d12 /= 2.0D; - - if (d12 < -1.0D) { - d12 = -1.0D; - } - - d12 /= 1.4D; - d12 /= 2.0D; - } else { - if (d12 > 1.0D) { - d12 = 1.0D; - } - - d12 /= 8.0D; - } - - ++i1; - double d13 = (double) f1; - double d14 = (double) f; - d13 += d12 * 0.2D; - d13 = d13 * 8.5D / 8.0D; - double d5 = 8.5D + d13 * 4.0D; - - for (int j2 = 0; j2 < 33; ++j2) { - double d6 = ((double) j2 - d5) * 12.0D * 128.0D / 256.0D / d14; - - if (d6 < 0.0D) { - d6 *= 4.0D; - } - - double d7 = this.field_147428_e[l] / 512.0D; - double d8 = this.field_147425_f[l] / 512.0D; - double d9 = (this.field_147427_d[l] / 10.0D + 1.0D) / 2.0D; - double d10 = MathHelper.denormalizeClamp(d7, d8, d9) - d6; - - if (j2 > 29) { - double d11 = (double) ((float) (j2 - 29) / 3.0F); - d10 = d10 * (1.0D - d11) + -10.0D * d11; - } - - this.field_147434_q[l] = d10; - ++l; - } - } - } - } - - /** - * Checks to see if a chunk exists at x, y - */ - public boolean chunkExists(int par1, int par2) { - return true; - } - - /** - * Populates chunk with ores etc etc - */ - public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) { - BlockFalling.fallInstantly = true; - int k = par2 * 16; - int l = par3 * 16; - BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(k + 16, l + 16); - this.rand.setSeed(this.worldObj.getSeed()); - long i1 = this.rand.nextLong() / 2L * 2L + 1L; - long j1 = this.rand.nextLong() / 2L * 2L + 1L; - this.rand.setSeed((long) par2 * i1 + (long) par3 * j1 ^ this.worldObj.getSeed()); - boolean flag = false; - - MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Pre(par1IChunkProvider, worldObj, rand, par2, par3, flag)); - - if (this.mapFeaturesEnabled) { - this.scatteredFeatureGenerator.generateStructuresInChunk(this.worldObj, this.rand, par2, par3); - } - - int k1; - int l1; - int i2; - - boolean doGen = TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag, DUNGEON); - - biomegenbase.decorate(this.worldObj, this.rand, k, l); - if (TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag, ANIMALS)) { - SpawnerAnimals.performWorldGenSpawning(this.worldObj, biomegenbase, k + 8, l + 8, 16, 16, this.rand); - } - k += 8; - l += 8; - - doGen = TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag, ICE); - for (k1 = 0; doGen && k1 < 16; ++k1) { - for (l1 = 0; l1 < 16; ++l1) { - i2 = this.worldObj.getPrecipitationHeight(k + k1, l + l1); - - if (this.worldObj.isBlockFreezable(k1 + k, i2 - 1, l1 + l)) { - this.worldObj.setBlock(k1 + k, i2 - 1, l1 + l, Blocks.ice, 0, 2); - } - - if (this.worldObj.func_147478_e(k1 + k, i2, l1 + l, true)) { - this.worldObj.setBlock(k1 + k, i2, l1 + l, Blocks.snow_layer, 0, 2); - } - } - } - - MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Post(par1IChunkProvider, worldObj, rand, par2, par3, flag)); - - BlockFalling.fallInstantly = false; - } - - /** - * Two modes of operation: if passed true, save all Chunks in one go. If - * passed false, save up to two chunks. Return true if all chunks have been - * saved. - */ - public boolean saveChunks(boolean par1, IProgressUpdate par2IProgressUpdate) { - return true; - } - - /** - * Save extra data not associated with any Chunk. Not saved during autosave, - * only during world unload. Currently unimplemented. - */ - public void saveExtraData() { - } - - /** - * Unloads chunks that are marked to be unloaded. This is not guaranteed to - * unload every such chunk. - */ - public boolean unloadQueuedChunks() { - return false; - } - - /** - * Returns if the IChunkProvider supports saving. - */ - public boolean canSave() { - return true; - } - - /** - * Converts the instance data to a readable string. - */ - public String makeString() { - return "RandomLevelSource"; - } - - /** - * Returns a list of creatures of the specified type that can spawn at the - * given location. - */ - public List getPossibleCreatures(EnumCreatureType par1EnumCreatureType, int par2, int par3, int par4) { - BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(par2, par4); - return par1EnumCreatureType == EnumCreatureType.monster && this.scatteredFeatureGenerator.func_143030_a(par2, par3, par4) ? this.scatteredFeatureGenerator.getScatteredFeatureSpawnList() : biomegenbase.getSpawnableList(par1EnumCreatureType); - } - - public int getLoadedChunkCount() { - return 0; - } - - public void recreateStructures(int par1, int par2) { - if (this.mapFeaturesEnabled) { - this.scatteredFeatureGenerator.func_151539_a(this, this.worldObj, par1, par2, (Block[]) null); - } - } - - @Override - public ChunkPosition func_147416_a(World var1, String var2, int var3, int var4, int var5) { - return null; - } + /** + * are map structures going to be generated (e.g. strongholds) + */ + private final boolean mapFeaturesEnabled; + private final double[] field_147434_q; + private final float[] parabolicField; + /** + * A NoiseGeneratorOctaves used in generating terrain + */ + public NoiseGeneratorOctaves noiseGen5; + /** + * A NoiseGeneratorOctaves used in generating terrain + */ + public NoiseGeneratorOctaves noiseGen6; + public NoiseGeneratorOctaves mobSpawnerNoise; + double[] field_147427_d; + double[] field_147428_e; + double[] field_147425_f; + double[] field_147426_g; + /** + * RNG. + */ + private Random rand; + private NoiseGeneratorOctaves field_147431_j; + private NoiseGeneratorOctaves field_147432_k; + private NoiseGeneratorOctaves field_147429_l; + private NoiseGeneratorPerlin field_147430_m; + /** + * Reference to the World object. + */ + private World worldObj; + private WorldType field_147435_p; + private double[] stoneNoise = new double[256]; + private MapGenBase caveGenerator = new MapGenCaves(); + private MapGenScatteredFeature scatteredFeatureGenerator = new MapGenScatteredFeature(); + /** + * Holds ravine generator + */ + private MapGenBase ravineGenerator = new MapGenRavine(); + /** + * The biomes that are used to generate the chunk + */ + private BiomeGenBase[] biomesForGeneration; + + { + caveGenerator = TerrainGen.getModdedMapGen(caveGenerator, CAVE); + ravineGenerator = TerrainGen.getModdedMapGen(ravineGenerator, RAVINE); + } + + public AtumChunkProvider(World par1World, long par2, boolean par4) { + this.worldObj = par1World; + this.mapFeaturesEnabled = par4; + this.field_147435_p = par1World.getWorldInfo().getTerrainType(); + this.rand = new Random(par2); + this.field_147431_j = new NoiseGeneratorOctaves(this.rand, 16); + this.field_147432_k = new NoiseGeneratorOctaves(this.rand, 16); + this.field_147429_l = new NoiseGeneratorOctaves(this.rand, 8); + this.field_147430_m = new NoiseGeneratorPerlin(this.rand, 4); + this.noiseGen5 = new NoiseGeneratorOctaves(this.rand, 10); + this.noiseGen6 = new NoiseGeneratorOctaves(this.rand, 16); + this.mobSpawnerNoise = new NoiseGeneratorOctaves(this.rand, 8); + this.field_147434_q = new double[825]; + this.parabolicField = new float[25]; + + for (int j = -2; j <= 2; ++j) { + for (int k = -2; k <= 2; ++k) { + float f = 10.0F / MathHelper.sqrt_float((float) (j * j + k * k) + 0.2F); + this.parabolicField[j + 2 + (k + 2) * 5] = f; + } + } + + NoiseGenerator[] noiseGens = {field_147431_j, field_147432_k, field_147429_l, field_147430_m, noiseGen5, noiseGen6, mobSpawnerNoise}; + noiseGens = TerrainGen.getModdedNoiseGenerators(par1World, this.rand, noiseGens); + this.field_147431_j = (NoiseGeneratorOctaves) noiseGens[0]; + this.field_147432_k = (NoiseGeneratorOctaves) noiseGens[1]; + this.field_147429_l = (NoiseGeneratorOctaves) noiseGens[2]; + this.field_147430_m = (NoiseGeneratorPerlin) noiseGens[3]; + this.noiseGen5 = (NoiseGeneratorOctaves) noiseGens[4]; + this.noiseGen6 = (NoiseGeneratorOctaves) noiseGens[5]; + this.mobSpawnerNoise = (NoiseGeneratorOctaves) noiseGens[6]; + } + + public void func_147424_a(int p_147424_1_, int p_147424_2_, Block[] p_147424_3_) { + byte b0 = 63; + this.biomesForGeneration = this.worldObj.getWorldChunkManager().getBiomesForGeneration(this.biomesForGeneration, p_147424_1_ * 4 - 2, p_147424_2_ * 4 - 2, 10, 10); + this.func_147423_a(p_147424_1_ * 4, 0, p_147424_2_ * 4); + + for (int k = 0; k < 4; ++k) { + int l = k * 5; + int i1 = (k + 1) * 5; + + for (int j1 = 0; j1 < 4; ++j1) { + int k1 = (l + j1) * 33; + int l1 = (l + j1 + 1) * 33; + int i2 = (i1 + j1) * 33; + int j2 = (i1 + j1 + 1) * 33; + + for (int k2 = 0; k2 < 32; ++k2) { + double d0 = 0.125D; + double d1 = this.field_147434_q[k1 + k2]; + double d2 = this.field_147434_q[l1 + k2]; + double d3 = this.field_147434_q[i2 + k2]; + double d4 = this.field_147434_q[j2 + k2]; + double d5 = (this.field_147434_q[k1 + k2 + 1] - d1) * d0; + double d6 = (this.field_147434_q[l1 + k2 + 1] - d2) * d0; + double d7 = (this.field_147434_q[i2 + k2 + 1] - d3) * d0; + double d8 = (this.field_147434_q[j2 + k2 + 1] - d4) * d0; + + for (int l2 = 0; l2 < 8; ++l2) { + double d9 = 0.25D; + double d10 = d1; + double d11 = d2; + double d12 = (d3 - d1) * d9; + double d13 = (d4 - d2) * d9; + + for (int i3 = 0; i3 < 4; ++i3) { + int j3 = i3 + k * 4 << 12 | 0 + j1 * 4 << 8 | k2 * 8 + l2; + short short1 = 256; + j3 -= short1; + double d14 = 0.25D; + double d16 = (d11 - d10) * d14; + double d15 = d10 - d16; + + for (int k3 = 0; k3 < 4; ++k3) { + if ((d15 += d16) > 0.0D) { + p_147424_3_[j3 += short1] = AtumBlocks.BLOCK_STONE; + } else if (k2 * 8 + l2 < b0) { + p_147424_3_[j3 += short1] = AtumBlocks.BLOCK_STONE; + } else { + p_147424_3_[j3 += short1] = null; + } + } + + d10 += d12; + d11 += d13; + } + + d1 += d5; + d2 += d6; + d3 += d7; + d4 += d8; + } + } + } + } + } + + public void replaceBlocksForBiome(int p_147422_1_, int p_147422_2_, Block[] p_147422_3_, byte[] p_147422_4_, BiomeGenBase[] p_147422_5_) { + ChunkProviderEvent.ReplaceBiomeBlocks event = new ChunkProviderEvent.ReplaceBiomeBlocks(this, p_147422_1_, p_147422_2_, p_147422_3_, p_147422_5_); + MinecraftForge.EVENT_BUS.post(event); + if (event.getResult() == Result.DENY) + return; + + double d0 = 0.03125D; + this.stoneNoise = this.field_147430_m.func_151599_a(this.stoneNoise, (double) (p_147422_1_ * 16), (double) (p_147422_2_ * 16), 16, 16, d0 * 2.0D, d0 * 2.0D, 1.0D); + + for (int k = 0; k < 16; ++k) { + for (int l = 0; l < 16; ++l) { + BiomeGenBase biomegenbase = p_147422_5_[l + k * 16]; + genBiomeTerrain(this.worldObj, biomegenbase, this.rand, p_147422_3_, p_147422_4_, p_147422_1_ * 16 + k, p_147422_2_ * 16 + l, this.stoneNoise[l + k * 16]); + } + } + } + + public void genBiomeTerrain(World p_150560_1_, BiomeGenBase biomegenbase, Random p_150560_2_, Block[] p_150560_3_, byte[] p_150560_4_, int p_150560_5_, int p_150560_6_, double p_150560_7_) { + boolean flag = true; + Block block = biomegenbase.topBlock; + byte b0 = (byte) (biomegenbase.field_150604_aj & 255); + Block block1 = biomegenbase.fillerBlock; + int k = -1; + int l = (int) (p_150560_7_ / 3.0D + 3.0D + p_150560_2_.nextDouble() * 0.25D); + int i1 = p_150560_5_ & 15; + int j1 = p_150560_6_ & 15; + int k1 = p_150560_3_.length / 256; + + for (int l1 = 255; l1 >= 0; --l1) { + int i2 = (j1 * 16 + i1) * k1 + l1; + + if (l1 <= 0 + p_150560_2_.nextInt(5)) { + p_150560_3_[i2] = Blocks.bedrock; + } else { + Block block2 = p_150560_3_[i2]; + + if (block2 != null && block2.getMaterial() != Material.air) { + if (block2 == AtumBlocks.BLOCK_STONE) { + if (k == -1) { + if (l <= 0) { + block = null; + b0 = 0; + block1 = AtumBlocks.BLOCK_STONE; + } else if (l1 >= 59 && l1 <= 64) { + block = biomegenbase.topBlock; + b0 = (byte) (biomegenbase.field_150604_aj & 255); + block1 = biomegenbase.fillerBlock; + } + + if (l1 < 63 && (block == null || block.getMaterial() == Material.air)) { + if (biomegenbase.getFloatTemperature(p_150560_5_, l1, p_150560_6_) < 0.15F) { + block = Blocks.ice; + b0 = 0; + } else { + block = Blocks.water; + b0 = 0; + } + } + + k = l; + + if (l1 >= 62) { + p_150560_3_[i2] = block; + p_150560_4_[i2] = b0; + } else if (l1 < 56 - l) { + block = null; + block1 = Blocks.stone; + p_150560_3_[i2] = Blocks.gravel; + } else { + p_150560_3_[i2] = block1; + } + } else if (k > 0) { + --k; + p_150560_3_[i2] = block1; + + if (k == 0 && block1 == Blocks.sand) { + k = p_150560_2_.nextInt(4) + Math.max(0, l1 - 63); + block1 = Blocks.sandstone; + } + } + } + } else { + k = -1; + } + } + } + } + + /** + * loads or generates the chunk at the chunk location specified + */ + public Chunk loadChunk(int par1, int par2) { + return this.provideChunk(par1, par2); + } + + /** + * Will return back a chunk, if it doesn't exist and its not a MP client it + * will generates all the blocks for the specified chunk from the map seed + * and chunk seed + */ + public Chunk provideChunk(int par1, int par2) { + this.rand.setSeed((long) par1 * 341873128712L + (long) par2 * 132897987541L); + Block[] ablock = new Block[65536]; + byte[] abyte = new byte[65536]; + this.func_147424_a(par1, par2, ablock); + this.biomesForGeneration = this.worldObj.getWorldChunkManager().loadBlockGeneratorData(this.biomesForGeneration, par1 * 16, par2 * 16, 16, 16); + this.replaceBlocksForBiome(par1, par2, ablock, abyte, this.biomesForGeneration); + this.caveGenerator.func_151539_a(this, this.worldObj, par1, par2, ablock); + this.ravineGenerator.func_151539_a(this, this.worldObj, par1, par2, ablock); + + if (this.mapFeaturesEnabled) { + this.scatteredFeatureGenerator.func_151539_a(this, this.worldObj, par1, par2, ablock); + } + + Chunk chunk = new Chunk(this.worldObj, ablock, abyte, par1, par2); + byte[] abyte1 = chunk.getBiomeArray(); + + for (int k = 0; k < abyte1.length; ++k) { + abyte1[k] = (byte) this.biomesForGeneration[k].biomeID; + } + + chunk.generateSkylightMap(); + return chunk; + } + + private void func_147423_a(int p_147423_1_, int p_147423_2_, int p_147423_3_) { + double d0 = 684.412D; + double d1 = 684.412D; + double d2 = 512.0D; + double d3 = 512.0D; + this.field_147426_g = this.noiseGen6.generateNoiseOctaves(this.field_147426_g, p_147423_1_, p_147423_3_, 5, 5, 200.0D, 200.0D, 0.5D); + this.field_147427_d = this.field_147429_l.generateNoiseOctaves(this.field_147427_d, p_147423_1_, p_147423_2_, p_147423_3_, 5, 33, 5, 8.555150000000001D, 4.277575000000001D, 8.555150000000001D); + this.field_147428_e = this.field_147431_j.generateNoiseOctaves(this.field_147428_e, p_147423_1_, p_147423_2_, p_147423_3_, 5, 33, 5, 684.412D, 684.412D, 684.412D); + this.field_147425_f = this.field_147432_k.generateNoiseOctaves(this.field_147425_f, p_147423_1_, p_147423_2_, p_147423_3_, 5, 33, 5, 684.412D, 684.412D, 684.412D); + boolean flag1 = false; + boolean flag = false; + int l = 0; + int i1 = 0; + double d4 = 8.5D; + + for (int j1 = 0; j1 < 5; ++j1) { + for (int k1 = 0; k1 < 5; ++k1) { + float f = 0.0F; + float f1 = 0.0F; + float f2 = 0.0F; + byte b0 = 2; + BiomeGenBase biomegenbase = this.biomesForGeneration[j1 + 2 + (k1 + 2) * 10]; + + for (int l1 = -b0; l1 <= b0; ++l1) { + for (int i2 = -b0; i2 <= b0; ++i2) { + BiomeGenBase biomegenbase1 = this.biomesForGeneration[j1 + l1 + 2 + (k1 + i2 + 2) * 10]; + float f3 = biomegenbase1.rootHeight; + float f4 = biomegenbase1.heightVariation; + + if (this.field_147435_p == WorldType.AMPLIFIED && f3 > 0.0F) { + f3 = 1.0F + f3 * 2.0F; + f4 = 1.0F + f4 * 4.0F; + } + + float f5 = this.parabolicField[l1 + 2 + (i2 + 2) * 5] / (f3 + 2.0F); + + if (biomegenbase1.rootHeight > biomegenbase.rootHeight) { + f5 /= 2.0F; + } + + f += f4 * f5; + f1 += f3 * f5; + f2 += f5; + } + } + + f /= f2; + f1 /= f2; + f = f * 0.9F + 0.1F; + f1 = (f1 * 4.0F - 1.0F) / 8.0F; + double d12 = this.field_147426_g[i1] / 8000.0D; + + if (d12 < 0.0D) { + d12 = -d12 * 0.3D; + } + + d12 = d12 * 3.0D - 2.0D; + + if (d12 < 0.0D) { + d12 /= 2.0D; + + if (d12 < -1.0D) { + d12 = -1.0D; + } + + d12 /= 1.4D; + d12 /= 2.0D; + } else { + if (d12 > 1.0D) { + d12 = 1.0D; + } + + d12 /= 8.0D; + } + + ++i1; + double d13 = (double) f1; + double d14 = (double) f; + d13 += d12 * 0.2D; + d13 = d13 * 8.5D / 8.0D; + double d5 = 8.5D + d13 * 4.0D; + + for (int j2 = 0; j2 < 33; ++j2) { + double d6 = ((double) j2 - d5) * 12.0D * 128.0D / 256.0D / d14; + + if (d6 < 0.0D) { + d6 *= 4.0D; + } + + double d7 = this.field_147428_e[l] / 512.0D; + double d8 = this.field_147425_f[l] / 512.0D; + double d9 = (this.field_147427_d[l] / 10.0D + 1.0D) / 2.0D; + double d10 = MathHelper.denormalizeClamp(d7, d8, d9) - d6; + + if (j2 > 29) { + double d11 = (double) ((float) (j2 - 29) / 3.0F); + d10 = d10 * (1.0D - d11) + -10.0D * d11; + } + + this.field_147434_q[l] = d10; + ++l; + } + } + } + } + + /** + * Checks to see if a chunk exists at x, y + */ + public boolean chunkExists(int par1, int par2) { + return true; + } + + /** + * Populates chunk with ores etc etc + */ + public void populate(IChunkProvider par1IChunkProvider, int par2, int par3) { + BlockFalling.fallInstantly = true; + int k = par2 * 16; + int l = par3 * 16; + BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(k + 16, l + 16); + this.rand.setSeed(this.worldObj.getSeed()); + long i1 = this.rand.nextLong() / 2L * 2L + 1L; + long j1 = this.rand.nextLong() / 2L * 2L + 1L; + this.rand.setSeed((long) par2 * i1 + (long) par3 * j1 ^ this.worldObj.getSeed()); + boolean flag = false; + + MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Pre(par1IChunkProvider, worldObj, rand, par2, par3, flag)); + + if (this.mapFeaturesEnabled) { + this.scatteredFeatureGenerator.generateStructuresInChunk(this.worldObj, this.rand, par2, par3); + } + + int k1; + int l1; + int i2; + + boolean doGen = TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag, DUNGEON); + + biomegenbase.decorate(this.worldObj, this.rand, k, l); + if (TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag, ANIMALS)) { + SpawnerAnimals.performWorldGenSpawning(this.worldObj, biomegenbase, k + 8, l + 8, 16, 16, this.rand); + } + k += 8; + l += 8; + + doGen = TerrainGen.populate(par1IChunkProvider, worldObj, rand, par2, par3, flag, ICE); + for (k1 = 0; doGen && k1 < 16; ++k1) { + for (l1 = 0; l1 < 16; ++l1) { + i2 = this.worldObj.getPrecipitationHeight(k + k1, l + l1); + + if (this.worldObj.isBlockFreezable(k1 + k, i2 - 1, l1 + l)) { + this.worldObj.setBlock(k1 + k, i2 - 1, l1 + l, Blocks.ice, 0, 2); + } + + if (this.worldObj.func_147478_e(k1 + k, i2, l1 + l, true)) { + this.worldObj.setBlock(k1 + k, i2, l1 + l, Blocks.snow_layer, 0, 2); + } + } + } + + MinecraftForge.EVENT_BUS.post(new PopulateChunkEvent.Post(par1IChunkProvider, worldObj, rand, par2, par3, flag)); + + BlockFalling.fallInstantly = false; + } + + /** + * Two modes of operation: if passed true, save all Chunks in one go. If + * passed false, save up to two chunks. Return true if all chunks have been + * saved. + */ + public boolean saveChunks(boolean par1, IProgressUpdate par2IProgressUpdate) { + return true; + } + + /** + * Save extra data not associated with any Chunk. Not saved during autosave, + * only during world unload. Currently unimplemented. + */ + public void saveExtraData() { + } + + /** + * Unloads chunks that are marked to be unloaded. This is not guaranteed to + * unload every such chunk. + */ + public boolean unloadQueuedChunks() { + return false; + } + + /** + * Returns if the IChunkProvider supports saving. + */ + public boolean canSave() { + return true; + } + + /** + * Converts the instance data to a readable string. + */ + public String makeString() { + return "RandomLevelSource"; + } + + /** + * Returns a list of creatures of the specified type that can spawn at the + * given location. + */ + public List getPossibleCreatures(EnumCreatureType par1EnumCreatureType, int par2, int par3, int par4) { + BiomeGenBase biomegenbase = this.worldObj.getBiomeGenForCoords(par2, par4); + return par1EnumCreatureType == EnumCreatureType.monster && this.scatteredFeatureGenerator.func_143030_a(par2, par3, par4) ? this.scatteredFeatureGenerator.getScatteredFeatureSpawnList() : biomegenbase.getSpawnableList(par1EnumCreatureType); + } + + public int getLoadedChunkCount() { + return 0; + } + + public void recreateStructures(int par1, int par2) { + if (this.mapFeaturesEnabled) { + this.scatteredFeatureGenerator.func_151539_a(this, this.worldObj, par1, par2, (Block[]) null); + } + } + + @Override + public ChunkPosition func_147416_a(World var1, String var2, int var3, int var4, int var5) { + return null; + } } \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumPortalPosition.java b/src/main/java/com/teammetallurgy/atum/world/AtumPortalPosition.java index 4220235..e7d70cd 100644 --- a/src/main/java/com/teammetallurgy/atum/world/AtumPortalPosition.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumPortalPosition.java @@ -3,10 +3,10 @@ import net.minecraft.util.ChunkCoordinates; public class AtumPortalPosition extends ChunkCoordinates { - public long lastUpdateTime; + public long lastUpdateTime; - public AtumPortalPosition(int par2, int par3, int par4, long par5) { - super(par2, par3, par4); - this.lastUpdateTime = par5; - } + public AtumPortalPosition(int par2, int par3, int par4, long par5) { + super(par2, par3, par4); + this.lastUpdateTime = par5; + } } diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java b/src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java index 91c9190..5aa8286 100644 --- a/src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java @@ -18,405 +18,405 @@ public class AtumTeleporter extends Teleporter { - private final WorldServer worldServerInstance; - private final Random random; - - private final LongHashMap destinationCoordinateCache = new LongHashMap(); - private final List destinationCoordinateKeys = new ArrayList(); - - public AtumTeleporter(WorldServer par1WorldServer) { - super(par1WorldServer); - this.worldServerInstance = par1WorldServer; - this.random = new Random(par1WorldServer.getSeed()); - } - - @Override - public void placeInPortal(Entity par1Entity, double par2, double par4, double par6, float par8) { - if (this.worldServerInstance.provider.dimensionId != 1) { - if (!this.placeInExistingPortal(par1Entity, par2, par4, par6, par8)) { - this.makePortal(par1Entity); - this.placeInExistingPortal(par1Entity, par2, par4, par6, par8); - } - } else { - int i = MathHelper.floor_double(par1Entity.posX); - int j = MathHelper.floor_double(par1Entity.posY) + 2; - int k = MathHelper.floor_double(par1Entity.posZ); - byte b0 = 1; - byte b1 = 0; - - for (int l = -2; l <= 2; ++l) { - for (int i1 = -2; i1 <= 2; ++i1) { - for (int j1 = -1; j1 < 3; ++j1) { - int k1 = i + i1 * b0 + l * b1; - int l1 = j + j1; - int i2 = k + i1 * b1 - l * b0; - boolean flag = j1 < 0; - this.worldServerInstance.setBlock(k1, l1, i2, flag ? Blocks.sandstone : null); - } - } - } - - par1Entity.setLocationAndAngles((double) i, (double) j, (double) k, par1Entity.rotationYaw, 0.0F); - par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D; - } - - } - - @Override - public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4, double par6, float par8) { - short short1 = 128; - double d3 = -1.0D; - int i = 0; - int j = 0; - int k = 0; - int l = MathHelper.floor_double(par1Entity.posX); - int i1 = MathHelper.floor_double(par1Entity.posZ); - long j1 = ChunkCoordIntPair.chunkXZ2Int(l, i1); - boolean flag = true; - double d4; - int k1; - int k2; - double var46; - if (this.destinationCoordinateCache.containsItem(j1)) { - AtumPortalPosition portalposition = (AtumPortalPosition) this.destinationCoordinateCache.getValueByKey(j1); - d3 = 0.0D; - i = portalposition.posX; - j = portalposition.posY; - k = portalposition.posZ; - portalposition.lastUpdateTime = this.worldServerInstance.getTotalWorldTime(); - flag = false; - } else { - for (k1 = l - short1; k1 <= l + short1; ++k1) { - var46 = (double) k1 + 0.5D - par1Entity.posX; - - for (int d9 = i1 - short1; d9 <= i1 + short1; ++d9) { - double d6 = (double) d9 + 0.5D - par1Entity.posZ; - - for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { - if (this.worldServerInstance.getBlock(k1, k2, d9) == AtumBlocks.BLOCK_PORTAL) { - while (this.worldServerInstance.getBlock(k1, k2 - 1, d9) == AtumBlocks.BLOCK_PORTAL) { - --k2; - } - - d4 = (double) k2 + 0.5D - par1Entity.posY; - double l2 = var46 * var46 + d4 * d4 + d6 * d6; - if (d3 < 0.0D || l2 < d3) { - d3 = l2; - i = k1; - j = k2; - k = d9; - } - } - } - } - } - } - - if (d3 >= 0.0D) { - if (flag) { - this.destinationCoordinateCache.add(j1, new AtumPortalPosition(i, j, k, this.worldServerInstance.getTotalWorldTime())); - this.destinationCoordinateKeys.add(Long.valueOf(j1)); - } - - var46 = (double) i + 0.5D; - double var47 = (double) j + 0.5D; - d4 = (double) k + 0.5D; - int j2 = -1; - if (this.worldServerInstance.getBlock(i - 1, j, k) == AtumBlocks.BLOCK_PORTAL) { - j2 = 2; - } - - if (this.worldServerInstance.getBlock(i + 1, j, k) == AtumBlocks.BLOCK_PORTAL) { - j2 = 0; - } - - if (this.worldServerInstance.getBlock(i, j, k - 1) == AtumBlocks.BLOCK_PORTAL) { - j2 = 3; - } - - if (this.worldServerInstance.getBlock(i, j, k + 1) == AtumBlocks.BLOCK_PORTAL) { - j2 = 1; - } - - k2 = par1Entity.getTeleportDirection(); - if (j2 > -1) { - int var48 = Direction.rotateLeft[j2]; - int i3 = Direction.offsetX[j2]; - int j3 = Direction.offsetZ[j2]; - int k3 = Direction.offsetX[var48]; - int l3 = Direction.offsetZ[var48]; - boolean flag1 = !this.worldServerInstance.isAirBlock(i + i3 + k3, j, k + j3 + l3) || !this.worldServerInstance.isAirBlock(i + i3 + k3, j + 1, k + j3 + l3); - boolean flag2 = !this.worldServerInstance.isAirBlock(i + i3, j, k + j3) || !this.worldServerInstance.isAirBlock(i + i3, j + 1, k + j3); - if (flag1 && flag2) { - j2 = Direction.rotateOpposite[j2]; - var48 = Direction.rotateOpposite[var48]; - i3 = Direction.offsetX[j2]; - j3 = Direction.offsetZ[j2]; - k3 = Direction.offsetX[var48]; - l3 = Direction.offsetZ[var48]; - k1 = i - k3; - var46 -= (double) k3; - int f1 = k - l3; - d4 -= (double) l3; - flag1 = !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j, f1 + j3 + l3) || !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j + 1, f1 + j3 + l3); - flag2 = !this.worldServerInstance.isAirBlock(k1 + i3, j, f1 + j3) || !this.worldServerInstance.isAirBlock(k1 + i3, j + 1, f1 + j3); - } - - float var49 = 0.5F; - float f2 = 0.5F; - if (!flag1 && flag2) { - var49 = 1.0F; - } else if (flag1 && !flag2) { - var49 = 0.0F; - } else if (flag1 && flag2) { - f2 = 0.0F; - } - - var46 += (double) ((float) k3 * var49 + f2 * (float) i3); - d4 += (double) ((float) l3 * var49 + f2 * (float) j3); - float f3 = 0.0F; - float f4 = 0.0F; - float f5 = 0.0F; - float f6 = 0.0F; - if (j2 == k2) { - f3 = 1.0F; - f4 = 1.0F; - } else if (j2 == Direction.rotateOpposite[k2]) { - f3 = -1.0F; - f4 = -1.0F; - } else if (j2 == Direction.rotateRight[k2]) { - f5 = 1.0F; - f6 = -1.0F; - } else { - f5 = -1.0F; - f6 = 1.0F; - } - - double d10 = par1Entity.motionX; - double d11 = par1Entity.motionZ; - par1Entity.motionX = d10 * (double) f3 + d11 * (double) f6; - par1Entity.motionZ = d10 * (double) f5 + d11 * (double) f4; - par1Entity.rotationYaw = par8 - (float) (k2 * 90) + (float) (j2 * 90); - } else { - par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D; - } - - par1Entity.setLocationAndAngles(var46, var47, d4, par1Entity.rotationYaw, par1Entity.rotationPitch); - return true; - } else { - return false; - } - } - - @Override - public boolean makePortal(Entity par1Entity) { - byte b0 = 16; - double d0 = -1.0D; - int entityX = MathHelper.floor_double(par1Entity.posX); - int entityY = MathHelper.floor_double(par1Entity.posY); - int entityZ = MathHelper.floor_double(par1Entity.posZ); - int l = entityX; - int i1 = entityY; - int j1 = entityZ; - int k1 = 0; - int l1 = this.random.nextInt(4); - - int i2; - double d1; - double d2; - int k2; - int j2; - int i3; - int l2; - int k3; - int j3; - int i4; - int l3; - int k4; - int j4; - double d3; - double d4; - int i5; - for (i2 = entityX - b0; i2 <= entityX + b0; ++i2) { - d1 = (double) i2 + 0.5D - par1Entity.posX; - - for (j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) { - d2 = (double) j2 + 0.5D - par1Entity.posZ; - - label272: - for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { - if (this.worldServerInstance.isAirBlock(i2, k2, j2)) { - while (k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) { - --k2; - } - - for (i3 = l1; i3 < l1 + 4; ++i3) { - l2 = i3 % 2; - k3 = 1 - l2; - if (i3 % 4 >= 2) { - l2 = -l2; - k3 = -k3; - } - - for (j3 = 0; j3 < 3; ++j3) { - for (i4 = 0; i4 < 4; ++i4) { - for (l3 = -1; l3 < 4; ++l3) { - k4 = i2 + (i4 - 1) * l2 + j3 * k3; - j4 = k2 + l3; - i5 = j2 + (i4 - 1) * k3 - j3 * l2; - if (l3 < 0 && !this.worldServerInstance.getBlock(k4, j4, i5).getMaterial().isSolid() || l3 >= 0 && !this.worldServerInstance.isAirBlock(k4, j4, i5)) { - continue label272; - } - } - } - } - - d4 = (double) k2 + 0.5D - par1Entity.posY; - d3 = d1 * d1 + d4 * d4 + d2 * d2; - if (d0 < 0.0D || d3 < d0) { - d0 = d3; - l = i2; - i1 = k2; - j1 = j2; - k1 = i3 % 4; - } - } - } - } - } - } - - if (d0 < 0.0D) { - for (i2 = entityX - b0; i2 <= entityX + b0; ++i2) { - d1 = (double) i2 + 0.5D - par1Entity.posX; - - for (j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) { - d2 = (double) j2 + 0.5D - par1Entity.posZ; - - label220: - for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { - if (this.worldServerInstance.isAirBlock(i2, k2, j2)) { - while (k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) { - --k2; - } - - for (i3 = l1; i3 < l1 + 2; ++i3) { - l2 = i3 % 2; - k3 = 1 - l2; - - for (j3 = 0; j3 < 4; ++j3) { - for (i4 = -1; i4 < 4; ++i4) { - l3 = i2 + (j3 - 1) * l2; - k4 = k2 + i4; - j4 = j2 + (j3 - 1) * k3; - if (i4 < 0 && !this.worldServerInstance.getBlock(l3, k4, j4).getMaterial().isSolid() || i4 >= 0 && !this.worldServerInstance.isAirBlock(l3, k4, j4)) { - continue label220; - } - } - } - - d4 = (double) k2 + 0.5D - par1Entity.posY; - d3 = d1 * d1 + d4 * d4 + d2 * d2; - if (d0 < 0.0D || d3 < d0) { - d0 = d3; - l = i2; - i1 = k2; - j1 = j2; - k1 = i3 % 2; - } - } - } - } - } - } - } - - i5 = l; - int j5 = i1; - j2 = j1; - int k5 = k1 % 2; - int l5 = 1 - k5; - if (k1 % 4 >= 2) { - k5 = -k5; - l5 = -l5; - } - - boolean flag; - if (d0 < 0.0D) { - if (i1 < 70) { - i1 = 70; - } - - if (i1 > this.worldServerInstance.getActualHeight() - 10) { - i1 = this.worldServerInstance.getActualHeight() - 10; - } - - j5 = i1; - - for (k2 = -1; k2 <= 1; ++k2) { - for (i3 = 1; i3 < 3; ++i3) { - for (l2 = -1; l2 < 3; ++l2) { - k3 = i5 + (i3 - 1) * k5 + k2 * l5; - j3 = j5 + l2; - i4 = j2 + (i3 - 1) * l5 - k2 * k5; - flag = l2 < 0; - this.worldServerInstance.setBlock(k3, j3, i4, flag ? Blocks.sandstone : null); - } - } - } - } - Block block; - if (par1Entity.dimension == 0) { - block = Blocks.sandstone; - } else { - block = AtumBlocks.BLOCK_LARGEBRICK; - } - for (int x1 = -2; x1 < 3; x1++) { - for (int z1 = -2; z1 < 3; z1++) { - - this.worldServerInstance.setBlock(entityX + x1, entityY, entityZ + z1, block); - } - } - for (int x1 = -2; x1 < 3; x1++) { - for (int z1 = -2; z1 < 3; z1++) { - if (x1 == 2 || z1 == 2 || x1 == -2 || z1 == -2) { - this.worldServerInstance.setBlock(entityX + x1, entityY + 1, entityZ + z1, block); - } - } - } - for (int y1 = 2; y1 < 4; y1++) { - for (int x1 = -2; x1 < 3; x1++) { - for (int z1 = -2; z1 < 3; z1++) { - if ((x1 == 2 && z1 == 2) || (x1 == -2 && z1 == 2) || (x1 == 2 && z1 == -2) || (x1 == -2 && z1 == -2)) { - this.worldServerInstance.setBlock(entityX + x1, entityY + y1, entityZ + z1, block); - } - } - } - } - - for (int x1 = -1; x1 < 2; x1++) { - for (int z1 = -1; z1 < 2; z1++) { - this.worldServerInstance.setBlock(x1 + entityX, entityY + 1, z1 + entityZ, AtumBlocks.BLOCK_PORTAL, 0, 2); - } - } - - return true; - } - - @Override - public void removeStalePortalLocations(long par1) { - if (par1 % 100L == 0L) { - Iterator iterator = this.destinationCoordinateKeys.iterator(); - long j = par1 - 600L; - - while (iterator.hasNext()) { - Long olong = (Long) iterator.next(); - AtumPortalPosition portalposition = (AtumPortalPosition) this.destinationCoordinateCache.getValueByKey(olong.longValue()); - if (portalposition == null || portalposition.lastUpdateTime < j) { - iterator.remove(); - this.destinationCoordinateCache.remove(olong.longValue()); - } - } - } - } + private final WorldServer worldServerInstance; + private final Random random; + + private final LongHashMap destinationCoordinateCache = new LongHashMap(); + private final List destinationCoordinateKeys = new ArrayList(); + + public AtumTeleporter(WorldServer par1WorldServer) { + super(par1WorldServer); + this.worldServerInstance = par1WorldServer; + this.random = new Random(par1WorldServer.getSeed()); + } + + @Override + public void placeInPortal(Entity par1Entity, double par2, double par4, double par6, float par8) { + if (this.worldServerInstance.provider.dimensionId != 1) { + if (!this.placeInExistingPortal(par1Entity, par2, par4, par6, par8)) { + this.makePortal(par1Entity); + this.placeInExistingPortal(par1Entity, par2, par4, par6, par8); + } + } else { + int i = MathHelper.floor_double(par1Entity.posX); + int j = MathHelper.floor_double(par1Entity.posY) + 2; + int k = MathHelper.floor_double(par1Entity.posZ); + byte b0 = 1; + byte b1 = 0; + + for (int l = -2; l <= 2; ++l) { + for (int i1 = -2; i1 <= 2; ++i1) { + for (int j1 = -1; j1 < 3; ++j1) { + int k1 = i + i1 * b0 + l * b1; + int l1 = j + j1; + int i2 = k + i1 * b1 - l * b0; + boolean flag = j1 < 0; + this.worldServerInstance.setBlock(k1, l1, i2, flag ? Blocks.sandstone : null); + } + } + } + + par1Entity.setLocationAndAngles((double) i, (double) j, (double) k, par1Entity.rotationYaw, 0.0F); + par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D; + } + + } + + @Override + public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4, double par6, float par8) { + short short1 = 128; + double d3 = -1.0D; + int i = 0; + int j = 0; + int k = 0; + int l = MathHelper.floor_double(par1Entity.posX); + int i1 = MathHelper.floor_double(par1Entity.posZ); + long j1 = ChunkCoordIntPair.chunkXZ2Int(l, i1); + boolean flag = true; + double d4; + int k1; + int k2; + double var46; + if (this.destinationCoordinateCache.containsItem(j1)) { + AtumPortalPosition portalposition = (AtumPortalPosition) this.destinationCoordinateCache.getValueByKey(j1); + d3 = 0.0D; + i = portalposition.posX; + j = portalposition.posY; + k = portalposition.posZ; + portalposition.lastUpdateTime = this.worldServerInstance.getTotalWorldTime(); + flag = false; + } else { + for (k1 = l - short1; k1 <= l + short1; ++k1) { + var46 = (double) k1 + 0.5D - par1Entity.posX; + + for (int d9 = i1 - short1; d9 <= i1 + short1; ++d9) { + double d6 = (double) d9 + 0.5D - par1Entity.posZ; + + for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { + if (this.worldServerInstance.getBlock(k1, k2, d9) == AtumBlocks.BLOCK_PORTAL) { + while (this.worldServerInstance.getBlock(k1, k2 - 1, d9) == AtumBlocks.BLOCK_PORTAL) { + --k2; + } + + d4 = (double) k2 + 0.5D - par1Entity.posY; + double l2 = var46 * var46 + d4 * d4 + d6 * d6; + if (d3 < 0.0D || l2 < d3) { + d3 = l2; + i = k1; + j = k2; + k = d9; + } + } + } + } + } + } + + if (d3 >= 0.0D) { + if (flag) { + this.destinationCoordinateCache.add(j1, new AtumPortalPosition(i, j, k, this.worldServerInstance.getTotalWorldTime())); + this.destinationCoordinateKeys.add(Long.valueOf(j1)); + } + + var46 = (double) i + 0.5D; + double var47 = (double) j + 0.5D; + d4 = (double) k + 0.5D; + int j2 = -1; + if (this.worldServerInstance.getBlock(i - 1, j, k) == AtumBlocks.BLOCK_PORTAL) { + j2 = 2; + } + + if (this.worldServerInstance.getBlock(i + 1, j, k) == AtumBlocks.BLOCK_PORTAL) { + j2 = 0; + } + + if (this.worldServerInstance.getBlock(i, j, k - 1) == AtumBlocks.BLOCK_PORTAL) { + j2 = 3; + } + + if (this.worldServerInstance.getBlock(i, j, k + 1) == AtumBlocks.BLOCK_PORTAL) { + j2 = 1; + } + + k2 = par1Entity.getTeleportDirection(); + if (j2 > -1) { + int var48 = Direction.rotateLeft[j2]; + int i3 = Direction.offsetX[j2]; + int j3 = Direction.offsetZ[j2]; + int k3 = Direction.offsetX[var48]; + int l3 = Direction.offsetZ[var48]; + boolean flag1 = !this.worldServerInstance.isAirBlock(i + i3 + k3, j, k + j3 + l3) || !this.worldServerInstance.isAirBlock(i + i3 + k3, j + 1, k + j3 + l3); + boolean flag2 = !this.worldServerInstance.isAirBlock(i + i3, j, k + j3) || !this.worldServerInstance.isAirBlock(i + i3, j + 1, k + j3); + if (flag1 && flag2) { + j2 = Direction.rotateOpposite[j2]; + var48 = Direction.rotateOpposite[var48]; + i3 = Direction.offsetX[j2]; + j3 = Direction.offsetZ[j2]; + k3 = Direction.offsetX[var48]; + l3 = Direction.offsetZ[var48]; + k1 = i - k3; + var46 -= (double) k3; + int f1 = k - l3; + d4 -= (double) l3; + flag1 = !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j, f1 + j3 + l3) || !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j + 1, f1 + j3 + l3); + flag2 = !this.worldServerInstance.isAirBlock(k1 + i3, j, f1 + j3) || !this.worldServerInstance.isAirBlock(k1 + i3, j + 1, f1 + j3); + } + + float var49 = 0.5F; + float f2 = 0.5F; + if (!flag1 && flag2) { + var49 = 1.0F; + } else if (flag1 && !flag2) { + var49 = 0.0F; + } else if (flag1 && flag2) { + f2 = 0.0F; + } + + var46 += (double) ((float) k3 * var49 + f2 * (float) i3); + d4 += (double) ((float) l3 * var49 + f2 * (float) j3); + float f3 = 0.0F; + float f4 = 0.0F; + float f5 = 0.0F; + float f6 = 0.0F; + if (j2 == k2) { + f3 = 1.0F; + f4 = 1.0F; + } else if (j2 == Direction.rotateOpposite[k2]) { + f3 = -1.0F; + f4 = -1.0F; + } else if (j2 == Direction.rotateRight[k2]) { + f5 = 1.0F; + f6 = -1.0F; + } else { + f5 = -1.0F; + f6 = 1.0F; + } + + double d10 = par1Entity.motionX; + double d11 = par1Entity.motionZ; + par1Entity.motionX = d10 * (double) f3 + d11 * (double) f6; + par1Entity.motionZ = d10 * (double) f5 + d11 * (double) f4; + par1Entity.rotationYaw = par8 - (float) (k2 * 90) + (float) (j2 * 90); + } else { + par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D; + } + + par1Entity.setLocationAndAngles(var46, var47, d4, par1Entity.rotationYaw, par1Entity.rotationPitch); + return true; + } else { + return false; + } + } + + @Override + public boolean makePortal(Entity par1Entity) { + byte b0 = 16; + double d0 = -1.0D; + int entityX = MathHelper.floor_double(par1Entity.posX); + int entityY = MathHelper.floor_double(par1Entity.posY); + int entityZ = MathHelper.floor_double(par1Entity.posZ); + int l = entityX; + int i1 = entityY; + int j1 = entityZ; + int k1 = 0; + int l1 = this.random.nextInt(4); + + int i2; + double d1; + double d2; + int k2; + int j2; + int i3; + int l2; + int k3; + int j3; + int i4; + int l3; + int k4; + int j4; + double d3; + double d4; + int i5; + for (i2 = entityX - b0; i2 <= entityX + b0; ++i2) { + d1 = (double) i2 + 0.5D - par1Entity.posX; + + for (j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) { + d2 = (double) j2 + 0.5D - par1Entity.posZ; + + label272: + for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { + if (this.worldServerInstance.isAirBlock(i2, k2, j2)) { + while (k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) { + --k2; + } + + for (i3 = l1; i3 < l1 + 4; ++i3) { + l2 = i3 % 2; + k3 = 1 - l2; + if (i3 % 4 >= 2) { + l2 = -l2; + k3 = -k3; + } + + for (j3 = 0; j3 < 3; ++j3) { + for (i4 = 0; i4 < 4; ++i4) { + for (l3 = -1; l3 < 4; ++l3) { + k4 = i2 + (i4 - 1) * l2 + j3 * k3; + j4 = k2 + l3; + i5 = j2 + (i4 - 1) * k3 - j3 * l2; + if (l3 < 0 && !this.worldServerInstance.getBlock(k4, j4, i5).getMaterial().isSolid() || l3 >= 0 && !this.worldServerInstance.isAirBlock(k4, j4, i5)) { + continue label272; + } + } + } + } + + d4 = (double) k2 + 0.5D - par1Entity.posY; + d3 = d1 * d1 + d4 * d4 + d2 * d2; + if (d0 < 0.0D || d3 < d0) { + d0 = d3; + l = i2; + i1 = k2; + j1 = j2; + k1 = i3 % 4; + } + } + } + } + } + } + + if (d0 < 0.0D) { + for (i2 = entityX - b0; i2 <= entityX + b0; ++i2) { + d1 = (double) i2 + 0.5D - par1Entity.posX; + + for (j2 = entityZ - b0; j2 <= entityZ + b0; ++j2) { + d2 = (double) j2 + 0.5D - par1Entity.posZ; + + label220: + for (k2 = this.worldServerInstance.getActualHeight() - 1; k2 >= 0; --k2) { + if (this.worldServerInstance.isAirBlock(i2, k2, j2)) { + while (k2 > 0 && this.worldServerInstance.isAirBlock(i2, k2 - 1, j2)) { + --k2; + } + + for (i3 = l1; i3 < l1 + 2; ++i3) { + l2 = i3 % 2; + k3 = 1 - l2; + + for (j3 = 0; j3 < 4; ++j3) { + for (i4 = -1; i4 < 4; ++i4) { + l3 = i2 + (j3 - 1) * l2; + k4 = k2 + i4; + j4 = j2 + (j3 - 1) * k3; + if (i4 < 0 && !this.worldServerInstance.getBlock(l3, k4, j4).getMaterial().isSolid() || i4 >= 0 && !this.worldServerInstance.isAirBlock(l3, k4, j4)) { + continue label220; + } + } + } + + d4 = (double) k2 + 0.5D - par1Entity.posY; + d3 = d1 * d1 + d4 * d4 + d2 * d2; + if (d0 < 0.0D || d3 < d0) { + d0 = d3; + l = i2; + i1 = k2; + j1 = j2; + k1 = i3 % 2; + } + } + } + } + } + } + } + + i5 = l; + int j5 = i1; + j2 = j1; + int k5 = k1 % 2; + int l5 = 1 - k5; + if (k1 % 4 >= 2) { + k5 = -k5; + l5 = -l5; + } + + boolean flag; + if (d0 < 0.0D) { + if (i1 < 70) { + i1 = 70; + } + + if (i1 > this.worldServerInstance.getActualHeight() - 10) { + i1 = this.worldServerInstance.getActualHeight() - 10; + } + + j5 = i1; + + for (k2 = -1; k2 <= 1; ++k2) { + for (i3 = 1; i3 < 3; ++i3) { + for (l2 = -1; l2 < 3; ++l2) { + k3 = i5 + (i3 - 1) * k5 + k2 * l5; + j3 = j5 + l2; + i4 = j2 + (i3 - 1) * l5 - k2 * k5; + flag = l2 < 0; + this.worldServerInstance.setBlock(k3, j3, i4, flag ? Blocks.sandstone : null); + } + } + } + } + Block block; + if (par1Entity.dimension == 0) { + block = Blocks.sandstone; + } else { + block = AtumBlocks.BLOCK_LARGEBRICK; + } + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + + this.worldServerInstance.setBlock(entityX + x1, entityY, entityZ + z1, block); + } + } + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + if (x1 == 2 || z1 == 2 || x1 == -2 || z1 == -2) { + this.worldServerInstance.setBlock(entityX + x1, entityY + 1, entityZ + z1, block); + } + } + } + for (int y1 = 2; y1 < 4; y1++) { + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + if ((x1 == 2 && z1 == 2) || (x1 == -2 && z1 == 2) || (x1 == 2 && z1 == -2) || (x1 == -2 && z1 == -2)) { + this.worldServerInstance.setBlock(entityX + x1, entityY + y1, entityZ + z1, block); + } + } + } + } + + for (int x1 = -1; x1 < 2; x1++) { + for (int z1 = -1; z1 < 2; z1++) { + this.worldServerInstance.setBlock(x1 + entityX, entityY + 1, z1 + entityZ, AtumBlocks.BLOCK_PORTAL, 0, 2); + } + } + + return true; + } + + @Override + public void removeStalePortalLocations(long par1) { + if (par1 % 100L == 0L) { + Iterator iterator = this.destinationCoordinateKeys.iterator(); + long j = par1 - 600L; + + while (iterator.hasNext()) { + Long olong = (Long) iterator.next(); + AtumPortalPosition portalposition = (AtumPortalPosition) this.destinationCoordinateCache.getValueByKey(olong.longValue()); + if (portalposition == null || portalposition.lastUpdateTime < j) { + iterator.remove(); + this.destinationCoordinateCache.remove(olong.longValue()); + } + } + } + } } diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumWorldProvider.java b/src/main/java/com/teammetallurgy/atum/world/AtumWorldProvider.java index f5ba92a..44a8b5d 100644 --- a/src/main/java/com/teammetallurgy/atum/world/AtumWorldProvider.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumWorldProvider.java @@ -10,92 +10,92 @@ import net.minecraft.world.chunk.IChunkProvider; public class AtumWorldProvider extends WorldProvider { - @Override - public String getDimensionName() { - return "Atum"; - } - - @Override - protected void registerWorldChunkManager() { - this.worldChunkMgr = new WorldChunkManagerHell(AtumWorlds.BIOME_DESERT, 5); - this.dimensionId = AtumIDS.DIMENSION_ID; - } - - @Override - public IChunkProvider createChunkGenerator() { - return new AtumChunkProvider(super.worldObj, super.worldObj.getSeed(), true); - } - - @Override - protected void generateLightBrightnessTable() { - float f = 0.0F; - - for (int i = 0; i <= 15; ++i) { - float scaledBrightness = (float) i / 15.0F; - float f1 = 1.0F - scaledBrightness; - if (i < 5) { - super.lightBrightnessTable[i] = 0.5F * scaledBrightness / (f1 * 3.0F + 1.0F) * (1.0F - f) + f; - } else { - super.lightBrightnessTable[i] = scaledBrightness / (f1 * 3.0F + 1.0F) * (1.0F - f) + f; - } - } - - } - - @Override - public float calculateCelestialAngle(long par1, float par3) { - int j = (int) (par1 % 48000L); - float f1 = ((float) j + par3) / 48000.0F - 0.25F; - if (f1 < 0.0F) { - ++f1; - } - - if (f1 > 1.0F) { - --f1; - } - - float f2 = f1; - f1 = 1.0F - (float) ((Math.cos((double) f1 * 3.141592653589793D) + 1.0D) / 2.0D); - f1 = f2 + (f1 - f2) / 3.0F; - return f1; - } - - @Override - @SideOnly(Side.CLIENT) - public Vec3 getFogColor(float par1, float par2) { - float f2 = MathHelper.cos(par1 * 3.1415927F * 2.0F) * 2.0F + 0.5F; - if (f2 < 0.2F) { - f2 = 0.2F; - } - - if (f2 > 1.0F) { - f2 = 1.0F; - } - - float f3 = 0.7529412F; - float f4 = 0.84705883F; - float f5 = 1.0F; - float var10000 = f3 * (f2 * 0.94F + 0.06F); - var10000 = f4 * (f2 * 0.94F + 0.06F); - var10000 = f5 * (f2 * 0.91F + 0.09F); - f3 = 0.9F * f2; - f4 = 0.75F * f2; - f5 = 0.6F * f2; - return Vec3.createVectorHelper((double) f3, (double) f4, (double) f5); - } - - @Override - public boolean doesXZShowFog(int par1, int par2) { - return false; - } - - @Override - public String getWelcomeMessage() { - return "Entering Atum"; - } - - @Override - public String getDepartMessage() { - return "Leaving Atum"; - } + @Override + public String getDimensionName() { + return "Atum"; + } + + @Override + protected void registerWorldChunkManager() { + this.worldChunkMgr = new WorldChunkManagerHell(AtumWorlds.BIOME_DESERT, 5); + this.dimensionId = AtumIDS.DIMENSION_ID; + } + + @Override + public IChunkProvider createChunkGenerator() { + return new AtumChunkProvider(super.worldObj, super.worldObj.getSeed(), true); + } + + @Override + protected void generateLightBrightnessTable() { + float f = 0.0F; + + for (int i = 0; i <= 15; ++i) { + float scaledBrightness = (float) i / 15.0F; + float f1 = 1.0F - scaledBrightness; + if (i < 5) { + super.lightBrightnessTable[i] = 0.5F * scaledBrightness / (f1 * 3.0F + 1.0F) * (1.0F - f) + f; + } else { + super.lightBrightnessTable[i] = scaledBrightness / (f1 * 3.0F + 1.0F) * (1.0F - f) + f; + } + } + + } + + @Override + public float calculateCelestialAngle(long par1, float par3) { + int j = (int) (par1 % 48000L); + float f1 = ((float) j + par3) / 48000.0F - 0.25F; + if (f1 < 0.0F) { + ++f1; + } + + if (f1 > 1.0F) { + --f1; + } + + float f2 = f1; + f1 = 1.0F - (float) ((Math.cos((double) f1 * 3.141592653589793D) + 1.0D) / 2.0D); + f1 = f2 + (f1 - f2) / 3.0F; + return f1; + } + + @Override + @SideOnly(Side.CLIENT) + public Vec3 getFogColor(float par1, float par2) { + float f2 = MathHelper.cos(par1 * 3.1415927F * 2.0F) * 2.0F + 0.5F; + if (f2 < 0.2F) { + f2 = 0.2F; + } + + if (f2 > 1.0F) { + f2 = 1.0F; + } + + float f3 = 0.7529412F; + float f4 = 0.84705883F; + float f5 = 1.0F; + float var10000 = f3 * (f2 * 0.94F + 0.06F); + var10000 = f4 * (f2 * 0.94F + 0.06F); + var10000 = f5 * (f2 * 0.91F + 0.09F); + f3 = 0.9F * f2; + f4 = 0.75F * f2; + f5 = 0.6F * f2; + return Vec3.createVectorHelper((double) f3, (double) f4, (double) f5); + } + + @Override + public boolean doesXZShowFog(int par1, int par2) { + return false; + } + + @Override + public String getWelcomeMessage() { + return "Entering Atum"; + } + + @Override + public String getDepartMessage() { + return "Leaving Atum"; + } } diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumWorldServer.java b/src/main/java/com/teammetallurgy/atum/world/AtumWorldServer.java index cd7fc48..6554aa8 100644 --- a/src/main/java/com/teammetallurgy/atum/world/AtumWorldServer.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumWorldServer.java @@ -9,12 +9,12 @@ public class AtumWorldServer extends WorldServer { - public AtumWorldServer(MinecraftServer par1MinecraftServer, ISaveHandler par2iSaveHandler, String par3Str, int par4, WorldSettings par5WorldSettings, Profiler par6Profiler) { - super(par1MinecraftServer, par2iSaveHandler, par3Str, par4, par5WorldSettings, par6Profiler); - } + public AtumWorldServer(MinecraftServer par1MinecraftServer, ISaveHandler par2iSaveHandler, String par3Str, int par4, WorldSettings par5WorldSettings, Profiler par6Profiler) { + super(par1MinecraftServer, par2iSaveHandler, par3Str, par4, par5WorldSettings, par6Profiler); + } - @Override - public Teleporter getDefaultTeleporter() { - return new AtumTeleporter(this); - } + @Override + public Teleporter getDefaultTeleporter() { + return new AtumTeleporter(this); + } } diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumWorlds.java b/src/main/java/com/teammetallurgy/atum/world/AtumWorlds.java index c229fa1..d66437f 100644 --- a/src/main/java/com/teammetallurgy/atum/world/AtumWorlds.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumWorlds.java @@ -6,12 +6,12 @@ import net.minecraftforge.common.DimensionManager; public enum AtumWorlds { - INSTANCE; + INSTANCE; - public static final BiomeGenBase BIOME_DESERT = new BiomeGenAtumDesert(AtumIDS.BIOME_DESERT_ID); + public static final BiomeGenBase BIOME_DESERT = new BiomeGenAtumDesert(AtumIDS.BIOME_DESERT_ID); - public void register() { - DimensionManager.registerProviderType(AtumIDS.DIMENSION_ID, AtumWorldProvider.class, true); - DimensionManager.registerDimension(AtumIDS.DIMENSION_ID, AtumIDS.DIMENSION_ID); - } + public void register() { + DimensionManager.registerProviderType(AtumIDS.DIMENSION_ID, AtumWorldProvider.class, true); + DimensionManager.registerDimension(AtumIDS.DIMENSION_ID, AtumIDS.DIMENSION_ID); + } } diff --git a/src/main/java/com/teammetallurgy/atum/world/biome/BiomeDecoratorAtum.java b/src/main/java/com/teammetallurgy/atum/world/biome/BiomeDecoratorAtum.java index 4c84514..02b49b1 100644 --- a/src/main/java/com/teammetallurgy/atum/world/biome/BiomeDecoratorAtum.java +++ b/src/main/java/com/teammetallurgy/atum/world/biome/BiomeDecoratorAtum.java @@ -18,161 +18,161 @@ public class BiomeDecoratorAtum extends BiomeDecorator { - private float shrubChance; - - public BiomeDecoratorAtum() { - super(); - this.sandGen = new WorldGenSand(AtumBlocks.BLOCK_SAND, 7); - this.gravelAsSandGen = new WorldGenSand(Blocks.gravel, 6); - this.dirtGen = new WorldGenMinable(Blocks.dirt, 32); - this.gravelGen = new WorldGenMinable(Blocks.gravel, 32); - this.coalGen = new WorldGenMinable(AtumBlocks.BLOCK_COALORE, 16, AtumBlocks.BLOCK_STONE); - this.ironGen = new WorldGenMinable(AtumBlocks.BLOCK_IRONORE, 8, AtumBlocks.BLOCK_STONE); - this.goldGen = new WorldGenMinable(AtumBlocks.BLOCK_GOLDORE, 8, AtumBlocks.BLOCK_STONE); - this.redstoneGen = new WorldGenMinable(AtumBlocks.BLOCK_REDSTONEORE, 7, AtumBlocks.BLOCK_STONE); - this.diamondGen = new WorldGenMinable(AtumBlocks.BLOCK_DIAMONDORE, 7, AtumBlocks.BLOCK_STONE); - this.lapisGen = new WorldGenMinable(AtumBlocks.BLOCK_LAPISORE, 6); - - this.mushroomBrownGen = new WorldGenFlowers(Blocks.brown_mushroom); - this.mushroomRedGen = new WorldGenFlowers(Blocks.red_mushroom); - this.bigMushroomGen = new WorldGenBigMushroom(); - this.reedGen = new WorldGenReed(); - this.cactusGen = new WorldGenCactus(); - this.waterlilyGen = new WorldGenWaterlily(); - this.waterlilyPerChunk = 0; - this.treesPerChunk = 0; - this.flowersPerChunk = 2; - this.grassPerChunk = 1; - this.deadBushPerChunk = 1; - this.shrubChance = 0.3F; - this.mushroomsPerChunk = 0; - this.reedsPerChunk = 0; - this.cactiPerChunk = 0; - this.sandPerChunk = 1; - this.sandPerChunk2 = 3; - this.clayPerChunk = 1; - this.bigMushroomsPerChunk = 0; - this.generateLakes = false; - } - - @Override - public void decorateChunk(World world, Random random, BiomeGenBase biomeGenBase, int x, int z) { - if (this.currentWorld != null) { - throw new RuntimeException("Already decorating!!"); - } else { - this.currentWorld = world; - this.randomGenerator = random; - this.chunk_X = x; - this.chunk_Z = z; - this.genDecorations(biomeGenBase); - this.currentWorld = null; - this.randomGenerator = null; - } - } - - @Override - protected void genDecorations(BiomeGenBase biome) { - MinecraftForge.EVENT_BUS.post(new Pre(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z)); - this.generateOres(); - boolean doGen = TerrainGen.decorate(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z, EventType.SAND_PASS2); - - int i; - int j; - int k; - long time; - for (i = 0; doGen && i < this.sandPerChunk; ++i) { - j = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - k = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - time = System.nanoTime(); - this.sandGen.generate(this.currentWorld, this.randomGenerator, j, this.currentWorld.getTopSolidOrLiquidBlock(j, k), k); - } - - i = this.treesPerChunk; - if (this.randomGenerator.nextInt(10) == 0) { - ++i; - } - - time = System.nanoTime(); - doGen = TerrainGen.decorate(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z, EventType.GRASS); - - int l; - int i1; - for (j = 0; doGen && j < this.grassPerChunk; ++j) { - k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - l = this.randomGenerator.nextInt(128); - i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - WorldGenerator worldgenerator1 = biome.getRandomWorldGenForGrass(this.randomGenerator); - worldgenerator1.generate(this.currentWorld, this.randomGenerator, k, l, i1); - } - - if (this.randomGenerator.nextFloat() < this.shrubChance) { - k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - l = this.randomGenerator.nextInt(128); - i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - time = System.nanoTime(); - (new WorldGenShrub(AtumBlocks.BLOCK_SHRUB, 8)).generate(this.currentWorld, this.randomGenerator, k, l, i1); - } - - if (this.randomGenerator.nextFloat() < this.shrubChance) { - k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; - l = this.randomGenerator.nextInt(128); - i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; - time = System.nanoTime(); - (new WorldGenShrub(AtumBlocks.BLOCK_WEED, 8)).generate(this.currentWorld, this.randomGenerator, k, l, i1); - } - - MinecraftForge.EVENT_BUS.post(new Post(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z)); - } - - @Override - protected void genStandardOre1(int par1, WorldGenerator par2WorldGenerator, int par3, int par4) { - for (int l = 0; l < par1; ++l) { - int i1 = this.chunk_X + this.randomGenerator.nextInt(16); - int j1 = this.randomGenerator.nextInt(par4 - par3) + par3; - int k1 = this.chunk_Z + this.randomGenerator.nextInt(16); - par2WorldGenerator.generate(this.currentWorld, this.randomGenerator, i1, j1, k1); - } - - } - - @Override - protected void genStandardOre2(int par1, WorldGenerator par2WorldGenerator, int par3, int par4) { - for (int l = 0; l < par1; ++l) { - int i1 = this.chunk_X + this.randomGenerator.nextInt(16); - int j1 = this.randomGenerator.nextInt(par4) + this.randomGenerator.nextInt(par4) + (par3 - par4); - int k1 = this.chunk_Z + this.randomGenerator.nextInt(16); - par2WorldGenerator.generate(this.currentWorld, this.randomGenerator, i1, j1, k1); - } - - } - - @Override - protected void generateOres() { - MinecraftForge.ORE_GEN_BUS.post(new OreGenEvent.Pre(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z)); - if (TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.coalGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.COAL)) { - this.genStandardOre1(20, this.coalGen, 0, 128); - } - - if (TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.ironGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.IRON)) { - this.genStandardOre1(20, this.ironGen, 0, 64); - } - - if (TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.goldGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.GOLD)) { - this.genStandardOre1(2, this.goldGen, 0, 32); - } - - if (TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.redstoneGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.REDSTONE)) { - this.genStandardOre1(8, this.redstoneGen, 0, 16); - } - - if (TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.diamondGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.DIAMOND)) { - this.genStandardOre1(1, this.diamondGen, 0, 16); - } - - if (TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.lapisGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.LAPIS)) { - this.genStandardOre2(1, this.lapisGen, 16, 16); - } - - MinecraftForge.ORE_GEN_BUS.post(new OreGenEvent.Post(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z)); - } + private float shrubChance; + + public BiomeDecoratorAtum() { + super(); + this.sandGen = new WorldGenSand(AtumBlocks.BLOCK_SAND, 7); + this.gravelAsSandGen = new WorldGenSand(Blocks.gravel, 6); + this.dirtGen = new WorldGenMinable(Blocks.dirt, 32); + this.gravelGen = new WorldGenMinable(Blocks.gravel, 32); + this.coalGen = new WorldGenMinable(AtumBlocks.BLOCK_COALORE, 16, AtumBlocks.BLOCK_STONE); + this.ironGen = new WorldGenMinable(AtumBlocks.BLOCK_IRONORE, 8, AtumBlocks.BLOCK_STONE); + this.goldGen = new WorldGenMinable(AtumBlocks.BLOCK_GOLDORE, 8, AtumBlocks.BLOCK_STONE); + this.redstoneGen = new WorldGenMinable(AtumBlocks.BLOCK_REDSTONEORE, 7, AtumBlocks.BLOCK_STONE); + this.diamondGen = new WorldGenMinable(AtumBlocks.BLOCK_DIAMONDORE, 7, AtumBlocks.BLOCK_STONE); + this.lapisGen = new WorldGenMinable(AtumBlocks.BLOCK_LAPISORE, 6); + + this.mushroomBrownGen = new WorldGenFlowers(Blocks.brown_mushroom); + this.mushroomRedGen = new WorldGenFlowers(Blocks.red_mushroom); + this.bigMushroomGen = new WorldGenBigMushroom(); + this.reedGen = new WorldGenReed(); + this.cactusGen = new WorldGenCactus(); + this.waterlilyGen = new WorldGenWaterlily(); + this.waterlilyPerChunk = 0; + this.treesPerChunk = 0; + this.flowersPerChunk = 2; + this.grassPerChunk = 1; + this.deadBushPerChunk = 1; + this.shrubChance = 0.3F; + this.mushroomsPerChunk = 0; + this.reedsPerChunk = 0; + this.cactiPerChunk = 0; + this.sandPerChunk = 1; + this.sandPerChunk2 = 3; + this.clayPerChunk = 1; + this.bigMushroomsPerChunk = 0; + this.generateLakes = false; + } + + @Override + public void decorateChunk(World world, Random random, BiomeGenBase biomeGenBase, int x, int z) { + if (this.currentWorld != null) { + throw new RuntimeException("Already decorating!!"); + } else { + this.currentWorld = world; + this.randomGenerator = random; + this.chunk_X = x; + this.chunk_Z = z; + this.genDecorations(biomeGenBase); + this.currentWorld = null; + this.randomGenerator = null; + } + } + + @Override + protected void genDecorations(BiomeGenBase biome) { + MinecraftForge.EVENT_BUS.post(new Pre(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z)); + this.generateOres(); + boolean doGen = TerrainGen.decorate(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z, EventType.SAND_PASS2); + + int i; + int j; + int k; + long time; + for (i = 0; doGen && i < this.sandPerChunk; ++i) { + j = this.chunk_X + this.randomGenerator.nextInt(16) + 8; + k = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; + time = System.nanoTime(); + this.sandGen.generate(this.currentWorld, this.randomGenerator, j, this.currentWorld.getTopSolidOrLiquidBlock(j, k), k); + } + + i = this.treesPerChunk; + if (this.randomGenerator.nextInt(10) == 0) { + ++i; + } + + time = System.nanoTime(); + doGen = TerrainGen.decorate(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z, EventType.GRASS); + + int l; + int i1; + for (j = 0; doGen && j < this.grassPerChunk; ++j) { + k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; + l = this.randomGenerator.nextInt(128); + i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; + WorldGenerator worldgenerator1 = biome.getRandomWorldGenForGrass(this.randomGenerator); + worldgenerator1.generate(this.currentWorld, this.randomGenerator, k, l, i1); + } + + if (this.randomGenerator.nextFloat() < this.shrubChance) { + k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; + l = this.randomGenerator.nextInt(128); + i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; + time = System.nanoTime(); + (new WorldGenShrub(AtumBlocks.BLOCK_SHRUB, 8)).generate(this.currentWorld, this.randomGenerator, k, l, i1); + } + + if (this.randomGenerator.nextFloat() < this.shrubChance) { + k = this.chunk_X + this.randomGenerator.nextInt(16) + 8; + l = this.randomGenerator.nextInt(128); + i1 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8; + time = System.nanoTime(); + (new WorldGenShrub(AtumBlocks.BLOCK_WEED, 8)).generate(this.currentWorld, this.randomGenerator, k, l, i1); + } + + MinecraftForge.EVENT_BUS.post(new Post(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z)); + } + + @Override + protected void genStandardOre1(int par1, WorldGenerator par2WorldGenerator, int par3, int par4) { + for (int l = 0; l < par1; ++l) { + int i1 = this.chunk_X + this.randomGenerator.nextInt(16); + int j1 = this.randomGenerator.nextInt(par4 - par3) + par3; + int k1 = this.chunk_Z + this.randomGenerator.nextInt(16); + par2WorldGenerator.generate(this.currentWorld, this.randomGenerator, i1, j1, k1); + } + + } + + @Override + protected void genStandardOre2(int par1, WorldGenerator par2WorldGenerator, int par3, int par4) { + for (int l = 0; l < par1; ++l) { + int i1 = this.chunk_X + this.randomGenerator.nextInt(16); + int j1 = this.randomGenerator.nextInt(par4) + this.randomGenerator.nextInt(par4) + (par3 - par4); + int k1 = this.chunk_Z + this.randomGenerator.nextInt(16); + par2WorldGenerator.generate(this.currentWorld, this.randomGenerator, i1, j1, k1); + } + + } + + @Override + protected void generateOres() { + MinecraftForge.ORE_GEN_BUS.post(new OreGenEvent.Pre(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z)); + if (TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.coalGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.COAL)) { + this.genStandardOre1(20, this.coalGen, 0, 128); + } + + if (TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.ironGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.IRON)) { + this.genStandardOre1(20, this.ironGen, 0, 64); + } + + if (TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.goldGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.GOLD)) { + this.genStandardOre1(2, this.goldGen, 0, 32); + } + + if (TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.redstoneGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.REDSTONE)) { + this.genStandardOre1(8, this.redstoneGen, 0, 16); + } + + if (TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.diamondGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.DIAMOND)) { + this.genStandardOre1(1, this.diamondGen, 0, 16); + } + + if (TerrainGen.generateOre(this.currentWorld, this.randomGenerator, this.lapisGen, this.chunk_X, this.chunk_Z, OreGenEvent.GenerateMinable.EventType.LAPIS)) { + this.genStandardOre2(1, this.lapisGen, 16, 16); + } + + MinecraftForge.ORE_GEN_BUS.post(new OreGenEvent.Post(this.currentWorld, this.randomGenerator, this.chunk_X, this.chunk_Z)); + } } diff --git a/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java b/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java index 23fa86a..e51ef2a 100644 --- a/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java +++ b/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java @@ -12,85 +12,85 @@ public class BiomeGenAtumDesert extends BiomeGenBase { - public WorldGenerator treeGenerator; - public WorldGenerator palmGenerator; - public WorldGenerator ruinsGenerator; + public WorldGenerator treeGenerator; + public WorldGenerator palmGenerator; + public WorldGenerator ruinsGenerator; - public BiomeGenAtumDesert(int par1) { - super(par1); - super.spawnableCreatureList.clear(); - this.topBlock = AtumBlocks.BLOCK_SAND; - this.fillerBlock = AtumBlocks.BLOCK_STONE; + public BiomeGenAtumDesert(int par1) { + super(par1); + super.spawnableCreatureList.clear(); + this.topBlock = AtumBlocks.BLOCK_SAND; + this.fillerBlock = AtumBlocks.BLOCK_STONE; - super.theBiomeDecorator.treesPerChunk = 1; - super.theBiomeDecorator.deadBushPerChunk = 5; - super.theBiomeDecorator.reedsPerChunk = 0; - super.theBiomeDecorator.cactiPerChunk = 0; - this.treeGenerator = new WorldGenAtumTrees(true); - this.palmGenerator = new WorldGenPalm(true); - this.ruinsGenerator = new WorldGenRuins(); - super.spawnableMonsterList.clear(); - super.spawnableCreatureList.clear(); - super.spawnableWaterCreatureList.clear(); - super.spawnableCaveCreatureList.clear(); - this.setColor(16421912); - this.setBiomeName("biome.desert.name"); - this.setDisableRain(); - this.setTemperatureRainfall(2.0F, 0.0F); - this.setHeight(new Height(0.1F, 0.2F)); - super.spawnableMonsterList.add(new SpawnListEntry(EntityMummy.class, 6, 4, 4)); - super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditWarlord.class, 1, 1, 1)); - super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditWarrior.class, 6, 2, 2)); - super.spawnableMonsterList.add(new SpawnListEntry(EntityBarbarian.class, 2, 4, 4)); - super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditArcher.class, 6, 4, 4)); - super.spawnableMonsterList.add(new SpawnListEntry(EntityDustySkeleton.class, 6, 4, 4)); - super.spawnableMonsterList.add(new SpawnListEntry(EntityGhost.class, 6, 4, 4)); - super.spawnableMonsterList.add(new SpawnListEntry(EntityDesertWolf.class, 6, 4, 4)); - super.spawnableMonsterList.add(new SpawnListEntry(EntityStoneSoldier.class, 6, 4, 4)); - } + super.theBiomeDecorator.treesPerChunk = 1; + super.theBiomeDecorator.deadBushPerChunk = 5; + super.theBiomeDecorator.reedsPerChunk = 0; + super.theBiomeDecorator.cactiPerChunk = 0; + this.treeGenerator = new WorldGenAtumTrees(true); + this.palmGenerator = new WorldGenPalm(true); + this.ruinsGenerator = new WorldGenRuins(); + super.spawnableMonsterList.clear(); + super.spawnableCreatureList.clear(); + super.spawnableWaterCreatureList.clear(); + super.spawnableCaveCreatureList.clear(); + this.setColor(16421912); + this.setBiomeName("biome.desert.name"); + this.setDisableRain(); + this.setTemperatureRainfall(2.0F, 0.0F); + this.setHeight(new Height(0.1F, 0.2F)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityMummy.class, 6, 4, 4)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditWarlord.class, 1, 1, 1)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditWarrior.class, 6, 2, 2)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityBarbarian.class, 2, 4, 4)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityBanditArcher.class, 6, 4, 4)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityDustySkeleton.class, 6, 4, 4)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityGhost.class, 6, 4, 4)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityDesertWolf.class, 6, 4, 4)); + super.spawnableMonsterList.add(new SpawnListEntry(EntityStoneSoldier.class, 6, 4, 4)); + } - @Override - public BiomeDecorator createBiomeDecorator() { - return new BiomeDecoratorAtum(); - } + @Override + public BiomeDecorator createBiomeDecorator() { + return new BiomeDecoratorAtum(); + } - @Override - public void decorate(World par1World, Random par2Random, int par3, int par4) { - super.decorate(par1World, par2Random, par3, par4); - int k; - int l; - if (par2Random.nextInt(100) == 0) { - k = par3 + par2Random.nextInt(16) + 8; - l = par4 + par2Random.nextInt(16) + 8; - (new WorldGenOasis(false)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); - } + @Override + public void decorate(World par1World, Random par2Random, int par3, int par4) { + super.decorate(par1World, par2Random, par3, par4); + int k; + int l; + if (par2Random.nextInt(100) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + (new WorldGenOasis(false)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); + } - if (par2Random.nextInt(20) == 0) { - k = par3 + par2Random.nextInt(16) + 8; - l = par4 + par2Random.nextInt(16) + 8; - this.ruinsGenerator.generate(par1World, par2Random, k, par1World.getHeightValue(k, l) + 1, l); - } + if (par2Random.nextInt(20) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + this.ruinsGenerator.generate(par1World, par2Random, k, par1World.getHeightValue(k, l) + 1, l); + } - int height; - if (par2Random.nextInt(5) == 0) { - k = par3 + par2Random.nextInt(16) + 8; - l = par4 + par2Random.nextInt(16) + 8; - height = par2Random.nextInt(4) + 5; - (new WorldGenPalm(true, height, 0, 0)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); - } + int height; + if (par2Random.nextInt(5) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + height = par2Random.nextInt(4) + 5; + (new WorldGenPalm(true, height, 0, 0)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); + } - if (par2Random.nextInt(7) == 0) { - k = par3 + par2Random.nextInt(16) + 8; - l = par4 + par2Random.nextInt(16) + 8; - height = par2Random.nextInt(4) + 4; - (new WorldGenAtumTrees(true)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); - } + if (par2Random.nextInt(7) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + height = par2Random.nextInt(4) + 4; + (new WorldGenAtumTrees(true)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); + } - if (par2Random.nextInt(120) == 0) { - k = par3 + par2Random.nextInt(16) + 8; - l = par4 + par2Random.nextInt(16) + 8; - (new WorldGenPyramid()).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); - } + if (par2Random.nextInt(120) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + (new WorldGenPyramid()).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); + } // if (par2Random.nextInt(160) == 0) { // k = par3 + par2Random.nextInt(16) + 8; @@ -102,5 +102,5 @@ public void decorate(World par1World, Random par2Random, int par3, int par4) { // (new WorldGenPalace()).generate(par1World, par2Random, k, height, l); // } - } + } } diff --git a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenAtumTrees.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenAtumTrees.java index d92afee..ef635f6 100644 --- a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenAtumTrees.java +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenAtumTrees.java @@ -11,359 +11,359 @@ public class WorldGenAtumTrees extends WorldGenerator { - static final byte[] otherCoordPairs = new byte[]{(byte) 2, (byte) 0, (byte) 0, (byte) 1, (byte) 2, (byte) 1}; - Random rand = new Random(); - World worldObj; - int[] basePos = new int[]{0, 0, 0}; - int heightLimit = 0; - int height; - double heightAttenuation = 0.618D; - double branchDensity = 1.0D; - double branchSlope = 0.381D; - double scaleWidth = 1.0D; - double leafDensity = 1.0D; - int trunkSize = 1; - int heightLimitLimit = 12; - int leafDistanceLimit = 4; - int[][] leafNodes; - - public WorldGenAtumTrees(boolean par1) { - super(par1); - } - - private void generateLeafNodeList() { - this.height = (int) ((double) this.heightLimit * this.heightAttenuation); - if (this.height >= this.heightLimit) { - this.height = this.heightLimit - 1; - } - - int i = (int) (1.382D + Math.pow(this.leafDensity * (double) this.heightLimit / 13.0D, 2.0D)); - if (i < 1) { - i = 1; - } - - int[][] aint = new int[i * this.heightLimit][4]; - int j = this.basePos[1] + this.heightLimit - this.leafDistanceLimit; - int k = 1; - int l = this.basePos[1] + this.height; - int i1 = j - this.basePos[1]; - aint[0][0] = this.basePos[0]; - aint[0][1] = j; - aint[0][2] = this.basePos[2]; - aint[0][3] = l; - --j; - - while (i1 >= 0) { - int j1 = 0; - float f = this.layerSize(i1); - if (f < 0.0F) { - --j; - --i1; - } else { - for (double d0 = 0.5D; j1 < i; ++j1) { - double d1 = this.scaleWidth * (double) f * ((double) this.rand.nextFloat() + 0.328D); - double d2 = (double) this.rand.nextFloat() * 2.0D * 3.141592653589793D; - int k1 = MathHelper.floor_double(d1 * Math.sin(d2) + (double) this.basePos[0] + d0); - int l1 = MathHelper.floor_double(d1 * Math.cos(d2) + (double) this.basePos[2] + d0); - int[] aint1 = new int[]{k1, j, l1}; - int[] aint2 = new int[]{k1, j + this.leafDistanceLimit, l1}; - if (this.checkBlockLine(aint1, aint2) == -1) { - int[] aint3 = new int[]{this.basePos[0], this.basePos[1], this.basePos[2]}; - double d3 = Math.sqrt(Math.pow((double) Math.abs(this.basePos[0] - aint1[0]), 2.0D) + Math.pow((double) Math.abs(this.basePos[2] - aint1[2]), 2.0D)); - double d4 = d3 * this.branchSlope; - if ((double) aint1[1] - d4 > (double) l) { - aint3[1] = l; - } else { - aint3[1] = (int) ((double) aint1[1] - d4); - } - - if (this.checkBlockLine(aint3, aint1) == -1) { - aint[k][0] = k1; - aint[k][1] = j; - aint[k][2] = l1; - aint[k][3] = aint3[1]; - ++k; - } - } - } - - --j; - --i1; - } - } - - this.leafNodes = new int[k][4]; - System.arraycopy(aint, 0, this.leafNodes, 0, k); - } - - private void genTreeLayer(int par1, int par2, int par3, float par4, byte par5, Block par6) { - int i1 = (int) ((double) par4 + 0.618D); - byte b1 = otherCoordPairs[par5]; - byte b2 = otherCoordPairs[par5 + 3]; - int[] aint = new int[]{par1, par2, par3}; - int[] aint1 = new int[]{0, 0, 0}; - int j1 = -i1; - int k1 = -i1; - - for (aint1[par5] = aint[par5]; j1 <= i1; ++j1) { - aint1[b1] = aint[b1] + j1; - k1 = -i1; - - while (k1 <= i1) { - double d0 = Math.pow((double) Math.abs(j1) + 0.5D, 2.0D) + Math.pow((double) Math.abs(k1) + 0.5D, 2.0D); - if (d0 > (double) (par4 * par4)) { - ++k1; - } else { - aint1[b2] = aint[b2] + k1; - Block l1 = this.worldObj.getBlock(aint1[0], aint1[1], aint1[2]); - if (l1 != null && l1 != Blocks.leaves) { - ++k1; - } else { - if (par6 != Blocks.leaves) { - this.setBlockAndNotifyAdequately(this.worldObj, aint1[0], aint1[1], aint1[2], par6, 0); - } - - ++k1; - } - } - } - } - - } - - private float layerSize(int par1) { - if ((double) par1 < (double) ((float) this.heightLimit) * 0.3D) { - return -1.618F; - } else { - float f = (float) this.heightLimit / 2.0F; - float f1 = (float) this.heightLimit / 2.0F - (float) par1; - float f2; - if (f1 == 0.0F) { - f2 = f; - } else if (Math.abs(f1) >= f) { - f2 = 0.0F; - } else { - f2 = (float) Math.sqrt(Math.pow((double) Math.abs(f), 2.0D) - Math.pow((double) Math.abs(f1), 2.0D)); - } - - f2 *= 0.5F; - return f2; - } - } - - private float leafSize(int par1) { - return par1 >= 0 && par1 < this.leafDistanceLimit ? (par1 != 0 && par1 != this.leafDistanceLimit - 1 ? 3.0F : 2.0F) : -1.0F; - } - - private void generateLeafNode(int par1, int par2, int par3) { - int l = par2; - - for (int i1 = par2 + this.leafDistanceLimit; l < i1; ++l) { - float f = this.leafSize(l - par2); - this.genTreeLayer(par1, l, par3, f, (byte) 1, Blocks.leaves); - } - - } - - private void placeBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger, Block par3) { - int[] aint2 = new int[]{0, 0, 0}; - byte b0 = 0; - - byte b1; - for (b1 = 0; b0 < 3; ++b0) { - aint2[b0] = par2ArrayOfInteger[b0] - par1ArrayOfInteger[b0]; - if (Math.abs(aint2[b0]) > Math.abs(aint2[b1])) { - b1 = b0; - } - } - - if (aint2[b1] != 0) { - byte b2 = otherCoordPairs[b1]; - byte b3 = otherCoordPairs[b1 + 3]; - byte b4; - if (aint2[b1] > 0) { - b4 = 1; - } else { - b4 = -1; - } - - double d0 = (double) aint2[b2] / (double) aint2[b1]; - double d1 = (double) aint2[b3] / (double) aint2[b1]; - int[] aint3 = new int[]{0, 0, 0}; - int j = 0; - - for (int k = aint2[b1] + b4; j != k; j += b4) { - aint3[b1] = MathHelper.floor_double((double) (par1ArrayOfInteger[b1] + j) + 0.5D); - aint3[b2] = MathHelper.floor_double((double) par1ArrayOfInteger[b2] + (double) j * d0 + 0.5D); - aint3[b3] = MathHelper.floor_double((double) par1ArrayOfInteger[b3] + (double) j * d1 + 0.5D); - byte b5 = 0; - int l = Math.abs(aint3[0] - par1ArrayOfInteger[0]); - int i1 = Math.abs(aint3[2] - par1ArrayOfInteger[2]); - int j1 = Math.max(l, i1); - if (j1 > 0) { - if (l == j1) { - b5 = 4; - } else if (i1 == j1) { - b5 = 8; - } - } - - this.setBlockAndNotifyAdequately(this.worldObj, aint3[0], aint3[1], aint3[2], par3, b5); - } - } - - } - - private void generateLeaves() { - int i = 0; - - for (int j = this.leafNodes.length; i < j; ++i) { - int k = this.leafNodes[i][0]; - int l = this.leafNodes[i][1]; - int i1 = this.leafNodes[i][2]; - this.generateLeafNode(k, l, i1); - } - - } - - private boolean leafNodeNeedsBase(int par1) { - return (double) par1 >= (double) this.heightLimit * 0.2D; - } - - private void generateTrunk() { - int i = this.basePos[0]; - int j = this.basePos[1]; - int k = this.basePos[1] + this.height; - int l = this.basePos[2]; - int[] aint = new int[]{i, j, l}; - int[] aint1 = new int[]{i, k, l}; - this.placeBlockLine(aint, aint1, Blocks.log); - if (this.trunkSize == 2) { - ++aint[0]; - ++aint1[0]; - this.placeBlockLine(aint, aint1, Blocks.log); - ++aint[2]; - ++aint1[2]; - this.placeBlockLine(aint, aint1, Blocks.log); - aint[0] += -1; - aint1[0] += -1; - this.placeBlockLine(aint, aint1, Blocks.log); - } - - } - - private void generateLeafNodeBases() { - int i = 0; - int j = this.leafNodes.length; - - for (int[] aint = new int[]{this.basePos[0], this.basePos[1], this.basePos[2]}; i < j; ++i) { - int[] aint1 = this.leafNodes[i]; - int[] aint2 = new int[]{aint1[0], aint1[1], aint1[2]}; - aint[1] = aint1[3]; - int k = aint[1] - this.basePos[1]; - if (this.leafNodeNeedsBase(k)) { - this.placeBlockLine(aint, aint2, Blocks.log); - } - } - - } - - private int checkBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger) { - int[] aint2 = new int[]{0, 0, 0}; - byte b0 = 0; - - byte b1; - for (b1 = 0; b0 < 3; ++b0) { - aint2[b0] = par2ArrayOfInteger[b0] - par1ArrayOfInteger[b0]; - if (Math.abs(aint2[b0]) > Math.abs(aint2[b1])) { - b1 = b0; - } - } - - if (aint2[b1] == 0) { - return -1; - } else { - byte b2 = otherCoordPairs[b1]; - byte b3 = otherCoordPairs[b1 + 3]; - byte b4; - if (aint2[b1] > 0) { - b4 = 1; - } else { - b4 = -1; - } - - double d0 = (double) aint2[b2] / (double) aint2[b1]; - double d1 = (double) aint2[b3] / (double) aint2[b1]; - int[] aint3 = new int[]{0, 0, 0}; - int i = 0; - - int j; - for (j = aint2[b1] + b4; i != j; i += b4) { - aint3[b1] = par1ArrayOfInteger[b1] + i; - aint3[b2] = MathHelper.floor_double((double) par1ArrayOfInteger[b2] + (double) i * d0); - aint3[b3] = MathHelper.floor_double((double) par1ArrayOfInteger[b3] + (double) i * d1); - Block k = this.worldObj.getBlock(aint3[0], aint3[1], aint3[2]); - if (k != null && k != Blocks.leaves) { - break; - } - } - - return i == j ? -1 : Math.abs(i); - } - } - - private boolean validTreeLocation() { - int[] aint = new int[]{this.basePos[0], this.basePos[1], this.basePos[2]}; - int[] aint1 = new int[]{this.basePos[0], this.basePos[1] + this.heightLimit - 1, this.basePos[2]}; - Block i = this.worldObj.getBlock(this.basePos[0], this.basePos[1] - 1, this.basePos[2]); - boolean isValidSoil = i == AtumBlocks.BLOCK_SAND; - if (!isValidSoil) { - return false; - } else { - int j = this.checkBlockLine(aint, aint1); - if (j == -1) { - return true; - } else if (j < 6) { - return false; - } else { - this.heightLimit = j; - return true; - } - } - } - - @Override - public void setScale(double par1, double par3, double par5) { - this.heightLimitLimit = (int) (par1 * 12.0D); - if (par1 > 0.5D) { - this.leafDistanceLimit = 5; - } - - this.scaleWidth = par3; - this.leafDensity = par5; - } - - @Override - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) { - this.worldObj = par1World; - long l = par2Random.nextLong(); - this.rand.setSeed(l); - this.basePos[0] = par3; - this.basePos[1] = par4; - this.basePos[2] = par5; - if (this.heightLimit == 0) { - this.heightLimit = 5 + this.rand.nextInt(this.heightLimitLimit); - } - - if (!this.validTreeLocation()) { - return false; - } else { - this.generateLeafNodeList(); - this.generateLeaves(); - this.generateTrunk(); - this.generateLeafNodeBases(); - return true; - } - } + static final byte[] otherCoordPairs = new byte[]{(byte) 2, (byte) 0, (byte) 0, (byte) 1, (byte) 2, (byte) 1}; + Random rand = new Random(); + World worldObj; + int[] basePos = new int[]{0, 0, 0}; + int heightLimit = 0; + int height; + double heightAttenuation = 0.618D; + double branchDensity = 1.0D; + double branchSlope = 0.381D; + double scaleWidth = 1.0D; + double leafDensity = 1.0D; + int trunkSize = 1; + int heightLimitLimit = 12; + int leafDistanceLimit = 4; + int[][] leafNodes; + + public WorldGenAtumTrees(boolean par1) { + super(par1); + } + + private void generateLeafNodeList() { + this.height = (int) ((double) this.heightLimit * this.heightAttenuation); + if (this.height >= this.heightLimit) { + this.height = this.heightLimit - 1; + } + + int i = (int) (1.382D + Math.pow(this.leafDensity * (double) this.heightLimit / 13.0D, 2.0D)); + if (i < 1) { + i = 1; + } + + int[][] aint = new int[i * this.heightLimit][4]; + int j = this.basePos[1] + this.heightLimit - this.leafDistanceLimit; + int k = 1; + int l = this.basePos[1] + this.height; + int i1 = j - this.basePos[1]; + aint[0][0] = this.basePos[0]; + aint[0][1] = j; + aint[0][2] = this.basePos[2]; + aint[0][3] = l; + --j; + + while (i1 >= 0) { + int j1 = 0; + float f = this.layerSize(i1); + if (f < 0.0F) { + --j; + --i1; + } else { + for (double d0 = 0.5D; j1 < i; ++j1) { + double d1 = this.scaleWidth * (double) f * ((double) this.rand.nextFloat() + 0.328D); + double d2 = (double) this.rand.nextFloat() * 2.0D * 3.141592653589793D; + int k1 = MathHelper.floor_double(d1 * Math.sin(d2) + (double) this.basePos[0] + d0); + int l1 = MathHelper.floor_double(d1 * Math.cos(d2) + (double) this.basePos[2] + d0); + int[] aint1 = new int[]{k1, j, l1}; + int[] aint2 = new int[]{k1, j + this.leafDistanceLimit, l1}; + if (this.checkBlockLine(aint1, aint2) == -1) { + int[] aint3 = new int[]{this.basePos[0], this.basePos[1], this.basePos[2]}; + double d3 = Math.sqrt(Math.pow((double) Math.abs(this.basePos[0] - aint1[0]), 2.0D) + Math.pow((double) Math.abs(this.basePos[2] - aint1[2]), 2.0D)); + double d4 = d3 * this.branchSlope; + if ((double) aint1[1] - d4 > (double) l) { + aint3[1] = l; + } else { + aint3[1] = (int) ((double) aint1[1] - d4); + } + + if (this.checkBlockLine(aint3, aint1) == -1) { + aint[k][0] = k1; + aint[k][1] = j; + aint[k][2] = l1; + aint[k][3] = aint3[1]; + ++k; + } + } + } + + --j; + --i1; + } + } + + this.leafNodes = new int[k][4]; + System.arraycopy(aint, 0, this.leafNodes, 0, k); + } + + private void genTreeLayer(int par1, int par2, int par3, float par4, byte par5, Block par6) { + int i1 = (int) ((double) par4 + 0.618D); + byte b1 = otherCoordPairs[par5]; + byte b2 = otherCoordPairs[par5 + 3]; + int[] aint = new int[]{par1, par2, par3}; + int[] aint1 = new int[]{0, 0, 0}; + int j1 = -i1; + int k1 = -i1; + + for (aint1[par5] = aint[par5]; j1 <= i1; ++j1) { + aint1[b1] = aint[b1] + j1; + k1 = -i1; + + while (k1 <= i1) { + double d0 = Math.pow((double) Math.abs(j1) + 0.5D, 2.0D) + Math.pow((double) Math.abs(k1) + 0.5D, 2.0D); + if (d0 > (double) (par4 * par4)) { + ++k1; + } else { + aint1[b2] = aint[b2] + k1; + Block l1 = this.worldObj.getBlock(aint1[0], aint1[1], aint1[2]); + if (l1 != null && l1 != Blocks.leaves) { + ++k1; + } else { + if (par6 != Blocks.leaves) { + this.setBlockAndNotifyAdequately(this.worldObj, aint1[0], aint1[1], aint1[2], par6, 0); + } + + ++k1; + } + } + } + } + + } + + private float layerSize(int par1) { + if ((double) par1 < (double) ((float) this.heightLimit) * 0.3D) { + return -1.618F; + } else { + float f = (float) this.heightLimit / 2.0F; + float f1 = (float) this.heightLimit / 2.0F - (float) par1; + float f2; + if (f1 == 0.0F) { + f2 = f; + } else if (Math.abs(f1) >= f) { + f2 = 0.0F; + } else { + f2 = (float) Math.sqrt(Math.pow((double) Math.abs(f), 2.0D) - Math.pow((double) Math.abs(f1), 2.0D)); + } + + f2 *= 0.5F; + return f2; + } + } + + private float leafSize(int par1) { + return par1 >= 0 && par1 < this.leafDistanceLimit ? (par1 != 0 && par1 != this.leafDistanceLimit - 1 ? 3.0F : 2.0F) : -1.0F; + } + + private void generateLeafNode(int par1, int par2, int par3) { + int l = par2; + + for (int i1 = par2 + this.leafDistanceLimit; l < i1; ++l) { + float f = this.leafSize(l - par2); + this.genTreeLayer(par1, l, par3, f, (byte) 1, Blocks.leaves); + } + + } + + private void placeBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger, Block par3) { + int[] aint2 = new int[]{0, 0, 0}; + byte b0 = 0; + + byte b1; + for (b1 = 0; b0 < 3; ++b0) { + aint2[b0] = par2ArrayOfInteger[b0] - par1ArrayOfInteger[b0]; + if (Math.abs(aint2[b0]) > Math.abs(aint2[b1])) { + b1 = b0; + } + } + + if (aint2[b1] != 0) { + byte b2 = otherCoordPairs[b1]; + byte b3 = otherCoordPairs[b1 + 3]; + byte b4; + if (aint2[b1] > 0) { + b4 = 1; + } else { + b4 = -1; + } + + double d0 = (double) aint2[b2] / (double) aint2[b1]; + double d1 = (double) aint2[b3] / (double) aint2[b1]; + int[] aint3 = new int[]{0, 0, 0}; + int j = 0; + + for (int k = aint2[b1] + b4; j != k; j += b4) { + aint3[b1] = MathHelper.floor_double((double) (par1ArrayOfInteger[b1] + j) + 0.5D); + aint3[b2] = MathHelper.floor_double((double) par1ArrayOfInteger[b2] + (double) j * d0 + 0.5D); + aint3[b3] = MathHelper.floor_double((double) par1ArrayOfInteger[b3] + (double) j * d1 + 0.5D); + byte b5 = 0; + int l = Math.abs(aint3[0] - par1ArrayOfInteger[0]); + int i1 = Math.abs(aint3[2] - par1ArrayOfInteger[2]); + int j1 = Math.max(l, i1); + if (j1 > 0) { + if (l == j1) { + b5 = 4; + } else if (i1 == j1) { + b5 = 8; + } + } + + this.setBlockAndNotifyAdequately(this.worldObj, aint3[0], aint3[1], aint3[2], par3, b5); + } + } + + } + + private void generateLeaves() { + int i = 0; + + for (int j = this.leafNodes.length; i < j; ++i) { + int k = this.leafNodes[i][0]; + int l = this.leafNodes[i][1]; + int i1 = this.leafNodes[i][2]; + this.generateLeafNode(k, l, i1); + } + + } + + private boolean leafNodeNeedsBase(int par1) { + return (double) par1 >= (double) this.heightLimit * 0.2D; + } + + private void generateTrunk() { + int i = this.basePos[0]; + int j = this.basePos[1]; + int k = this.basePos[1] + this.height; + int l = this.basePos[2]; + int[] aint = new int[]{i, j, l}; + int[] aint1 = new int[]{i, k, l}; + this.placeBlockLine(aint, aint1, Blocks.log); + if (this.trunkSize == 2) { + ++aint[0]; + ++aint1[0]; + this.placeBlockLine(aint, aint1, Blocks.log); + ++aint[2]; + ++aint1[2]; + this.placeBlockLine(aint, aint1, Blocks.log); + aint[0] += -1; + aint1[0] += -1; + this.placeBlockLine(aint, aint1, Blocks.log); + } + + } + + private void generateLeafNodeBases() { + int i = 0; + int j = this.leafNodes.length; + + for (int[] aint = new int[]{this.basePos[0], this.basePos[1], this.basePos[2]}; i < j; ++i) { + int[] aint1 = this.leafNodes[i]; + int[] aint2 = new int[]{aint1[0], aint1[1], aint1[2]}; + aint[1] = aint1[3]; + int k = aint[1] - this.basePos[1]; + if (this.leafNodeNeedsBase(k)) { + this.placeBlockLine(aint, aint2, Blocks.log); + } + } + + } + + private int checkBlockLine(int[] par1ArrayOfInteger, int[] par2ArrayOfInteger) { + int[] aint2 = new int[]{0, 0, 0}; + byte b0 = 0; + + byte b1; + for (b1 = 0; b0 < 3; ++b0) { + aint2[b0] = par2ArrayOfInteger[b0] - par1ArrayOfInteger[b0]; + if (Math.abs(aint2[b0]) > Math.abs(aint2[b1])) { + b1 = b0; + } + } + + if (aint2[b1] == 0) { + return -1; + } else { + byte b2 = otherCoordPairs[b1]; + byte b3 = otherCoordPairs[b1 + 3]; + byte b4; + if (aint2[b1] > 0) { + b4 = 1; + } else { + b4 = -1; + } + + double d0 = (double) aint2[b2] / (double) aint2[b1]; + double d1 = (double) aint2[b3] / (double) aint2[b1]; + int[] aint3 = new int[]{0, 0, 0}; + int i = 0; + + int j; + for (j = aint2[b1] + b4; i != j; i += b4) { + aint3[b1] = par1ArrayOfInteger[b1] + i; + aint3[b2] = MathHelper.floor_double((double) par1ArrayOfInteger[b2] + (double) i * d0); + aint3[b3] = MathHelper.floor_double((double) par1ArrayOfInteger[b3] + (double) i * d1); + Block k = this.worldObj.getBlock(aint3[0], aint3[1], aint3[2]); + if (k != null && k != Blocks.leaves) { + break; + } + } + + return i == j ? -1 : Math.abs(i); + } + } + + private boolean validTreeLocation() { + int[] aint = new int[]{this.basePos[0], this.basePos[1], this.basePos[2]}; + int[] aint1 = new int[]{this.basePos[0], this.basePos[1] + this.heightLimit - 1, this.basePos[2]}; + Block i = this.worldObj.getBlock(this.basePos[0], this.basePos[1] - 1, this.basePos[2]); + boolean isValidSoil = i == AtumBlocks.BLOCK_SAND; + if (!isValidSoil) { + return false; + } else { + int j = this.checkBlockLine(aint, aint1); + if (j == -1) { + return true; + } else if (j < 6) { + return false; + } else { + this.heightLimit = j; + return true; + } + } + } + + @Override + public void setScale(double par1, double par3, double par5) { + this.heightLimitLimit = (int) (par1 * 12.0D); + if (par1 > 0.5D) { + this.leafDistanceLimit = 5; + } + + this.scaleWidth = par3; + this.leafDensity = par5; + } + + @Override + public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) { + this.worldObj = par1World; + long l = par2Random.nextLong(); + this.rand.setSeed(l); + this.basePos[0] = par3; + this.basePos[1] = par4; + this.basePos[2] = par5; + if (this.heightLimit == 0) { + this.heightLimit = 5 + this.rand.nextInt(this.heightLimitLimit); + } + + if (!this.validTreeLocation()) { + return false; + } else { + this.generateLeafNodeList(); + this.generateLeaves(); + this.generateTrunk(); + this.generateLeafNodeBases(); + return true; + } + } } diff --git a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenOasis.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenOasis.java index 1e33bce..dd8850f 100644 --- a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenOasis.java +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenOasis.java @@ -15,164 +15,164 @@ public class WorldGenOasis extends WorldGenerator { - private final int minTreeHeight; - private final int metaWood; - private final int metaLeaves; - - public WorldGenOasis(boolean par1) { - this(par1, 4, 0, 0); - } - - public WorldGenOasis(boolean par1, int par2, int par3, int par4) { - super(par1); - this.minTreeHeight = par2; - this.metaWood = par3; - this.metaLeaves = par4; - } - - @Override - public boolean generate(World world, Random par2Random, int par3, int par4, int par5) { - int width = par2Random.nextInt(6) + 6; - int depth = par2Random.nextInt(5) + 5; - Block block = world.getBlock(par3, par4 - 1, par5); - if (block != AtumBlocks.BLOCK_SAND) { - return false; - } else { - block = world.getBlock(par3 + width, world.getHeightValue(par3 + width, par5) - 1, par5); - if (block != AtumBlocks.BLOCK_SAND) { - return false; - } else { - block = world.getBlock(par3, world.getHeightValue(par3, par5 + depth) - 1, par5 + depth); - if (block != AtumBlocks.BLOCK_SAND) { - return false; - } else { - block = world.getBlock(par3 + width, world.getHeightValue(par3 + width, par5 + depth) - 1, par5 + depth); - if (block != AtumBlocks.BLOCK_SAND) { - return false; - } else { - int minHeight = world.getHeightValue(par3, par5); - int maxHeight = world.getHeightValue(par3, par5); - int height = world.getHeightValue(par3 + width, par5); - if (height < minHeight) { - minHeight = height; - } else if (height > maxHeight) { - maxHeight = height; - } - - height = world.getHeightValue(par3, par5 + depth); - if (height < minHeight) { - minHeight = height; - } else if (height > maxHeight) { - maxHeight = height; - } - - height = world.getHeightValue(par3 + width, par5 + depth); - if (height < minHeight) { - minHeight = height; - } else if (height > maxHeight) { - maxHeight = height; - } - - int papyrus; - int i; - int z; - int dx; - int y; - if (maxHeight - minHeight < 6) { - float treeCount = (float) width / 2.0F; - float chest = (float) depth / 2.0F; - - for (papyrus = (int) (0.0F - treeCount - 6.0F); (float) papyrus <= treeCount + 6.0F; ++papyrus) { - for (i = (int) (0.0F - chest - 6.0F); (float) i <= chest + 6.0F; ++i) { - float x = (float) (papyrus * papyrus) / (treeCount * treeCount) + (float) (i * i) / (chest * chest); - if (x <= 1.0F) { - z = world.getHeightValue(papyrus + par3, i + par5); - if (world.getBlock(papyrus + par3, z - 1, i + par5) == AtumBlocks.BLOCK_SAND) { - world.setBlock(papyrus + par3, z - 1, i + par5, Blocks.water); - if ((double) x < 0.6D) { - z = world.getHeightValue(papyrus + par3, i + par5); - world.setBlock(papyrus + par3, z - 2, i + par5, Blocks.water); - } - } - } else { - x = (float) (papyrus * papyrus) / ((treeCount + 4.0F) * (treeCount + 4.0F)) + (float) (i * i) / ((chest + 4.0F) * (chest + 4.0F)); - z = world.getHeightValue(papyrus + par3, i + par5); - if (world.getBlock(papyrus + par3, z - 1, i + par5) == AtumBlocks.BLOCK_SAND && x < 1.0F) { - world.setBlock(papyrus + par3, z - 1, i + par5, AtumBlocks.BLOCK_FERTILESOIL); - if ((double) x < 0.3D && par2Random.nextInt(8) == 0) { - for (y = -1; y <= 1; ++y) { - for (dx = -1; dx <= 1; ++dx) { - if (AtumBlocks.BLOCK_PAPYRUS.canBlockStay(world, par3 + papyrus + y, z, par5 + i + dx)) { - world.setBlock(papyrus + par3 + y, z, i + par5 + dx, AtumBlocks.BLOCK_PAPYRUS); - } - } - } - } - } - } - } - } - } - - int var24 = 0; - - for (int var26 = 0; var26 < 6; ++var26) { - papyrus = par2Random.nextInt(width); - i = par2Random.nextInt(depth); - block = world.getBlock(par3 + papyrus, world.getHeightValue(par3 + papyrus, par5 + i) - 1, par5 + i); - if (block == AtumBlocks.BLOCK_FERTILESOIL) { - (new WorldGenPalm(true, 5, 0, 0)).generate(world, par2Random, par3 + papyrus, world.getHeightValue(par3 + papyrus, par5 + i), par5 + i); - ++var24; - } - - if (var24 > 2) { - break; - } - } - - boolean var25 = false; - boolean var27 = false; - - for (i = 0; i < 10; ++i) { - int var28 = par2Random.nextInt(width); - z = par2Random.nextInt(depth); - y = world.getHeightValue(par3 + var28, par5 + z); - block = world.getBlock(par3 + var28, y - 1, par5 + z); - if (!var25 && block == AtumBlocks.BLOCK_FERTILESOIL) { - world.setBlock(par3 + var28, y, par5 + z, Blocks.chest); - TileEntity var29 = world.getTileEntity(par3 + var28, world.getHeightValue(par3 + var28, par5 + z), par5 + z); - AtumLoot.fillChest((IInventory) var29, 5, 0.2F); - var25 = true; - } else { - int dz; - if (!var27 && block.canSustainPlant(world, par3 + var28, y, par5 + z, ForgeDirection.UP, (IPlantable) ((IPlantable) AtumBlocks.BLOCK_PAPYRUS))) { - for (dx = -1; dx <= 1; ++dx) { - for (dz = -1; dz <= 1; ++dz) { - if (block.canSustainPlant(world, par3 + var28 + dx, y, par5 + z + dz, ForgeDirection.UP, (IPlantable) ((IPlantable) AtumBlocks.BLOCK_PAPYRUS))) { - world.setBlock(par3 + var28, y, par5 + z, AtumBlocks.BLOCK_PAPYRUS); - var27 = true; - } - } - } - } else if (par2Random.nextInt(5) == 0) { - for (dx = -1; dx <= 1; ++dx) { - for (dz = -1; dz <= 1; ++dz) { - int currentY = world.getHeightValue(par3 + var28, par5 + z); - Block belowID = world.getBlock(par3 + var28 + dx, currentY - 1, par5 + z + dz); - Block currentID = world.getBlock(par3 + var28 + dx, currentY, par5 + z + dz); - if (par2Random.nextInt(3) == 0 && belowID == AtumBlocks.BLOCK_FERTILESOIL && currentID == null) { - world.setBlock(par3 + var28 + dx, currentY, par5 + z + dz, AtumBlocks.BLOCK_FLAX, 13, 0); - } - } - } - } - } - } - - return false; - } - } - } - } - } + private final int minTreeHeight; + private final int metaWood; + private final int metaLeaves; + + public WorldGenOasis(boolean par1) { + this(par1, 4, 0, 0); + } + + public WorldGenOasis(boolean par1, int par2, int par3, int par4) { + super(par1); + this.minTreeHeight = par2; + this.metaWood = par3; + this.metaLeaves = par4; + } + + @Override + public boolean generate(World world, Random par2Random, int par3, int par4, int par5) { + int width = par2Random.nextInt(6) + 6; + int depth = par2Random.nextInt(5) + 5; + Block block = world.getBlock(par3, par4 - 1, par5); + if (block != AtumBlocks.BLOCK_SAND) { + return false; + } else { + block = world.getBlock(par3 + width, world.getHeightValue(par3 + width, par5) - 1, par5); + if (block != AtumBlocks.BLOCK_SAND) { + return false; + } else { + block = world.getBlock(par3, world.getHeightValue(par3, par5 + depth) - 1, par5 + depth); + if (block != AtumBlocks.BLOCK_SAND) { + return false; + } else { + block = world.getBlock(par3 + width, world.getHeightValue(par3 + width, par5 + depth) - 1, par5 + depth); + if (block != AtumBlocks.BLOCK_SAND) { + return false; + } else { + int minHeight = world.getHeightValue(par3, par5); + int maxHeight = world.getHeightValue(par3, par5); + int height = world.getHeightValue(par3 + width, par5); + if (height < minHeight) { + minHeight = height; + } else if (height > maxHeight) { + maxHeight = height; + } + + height = world.getHeightValue(par3, par5 + depth); + if (height < minHeight) { + minHeight = height; + } else if (height > maxHeight) { + maxHeight = height; + } + + height = world.getHeightValue(par3 + width, par5 + depth); + if (height < minHeight) { + minHeight = height; + } else if (height > maxHeight) { + maxHeight = height; + } + + int papyrus; + int i; + int z; + int dx; + int y; + if (maxHeight - minHeight < 6) { + float treeCount = (float) width / 2.0F; + float chest = (float) depth / 2.0F; + + for (papyrus = (int) (0.0F - treeCount - 6.0F); (float) papyrus <= treeCount + 6.0F; ++papyrus) { + for (i = (int) (0.0F - chest - 6.0F); (float) i <= chest + 6.0F; ++i) { + float x = (float) (papyrus * papyrus) / (treeCount * treeCount) + (float) (i * i) / (chest * chest); + if (x <= 1.0F) { + z = world.getHeightValue(papyrus + par3, i + par5); + if (world.getBlock(papyrus + par3, z - 1, i + par5) == AtumBlocks.BLOCK_SAND) { + world.setBlock(papyrus + par3, z - 1, i + par5, Blocks.water); + if ((double) x < 0.6D) { + z = world.getHeightValue(papyrus + par3, i + par5); + world.setBlock(papyrus + par3, z - 2, i + par5, Blocks.water); + } + } + } else { + x = (float) (papyrus * papyrus) / ((treeCount + 4.0F) * (treeCount + 4.0F)) + (float) (i * i) / ((chest + 4.0F) * (chest + 4.0F)); + z = world.getHeightValue(papyrus + par3, i + par5); + if (world.getBlock(papyrus + par3, z - 1, i + par5) == AtumBlocks.BLOCK_SAND && x < 1.0F) { + world.setBlock(papyrus + par3, z - 1, i + par5, AtumBlocks.BLOCK_FERTILESOIL); + if ((double) x < 0.3D && par2Random.nextInt(8) == 0) { + for (y = -1; y <= 1; ++y) { + for (dx = -1; dx <= 1; ++dx) { + if (AtumBlocks.BLOCK_PAPYRUS.canBlockStay(world, par3 + papyrus + y, z, par5 + i + dx)) { + world.setBlock(papyrus + par3 + y, z, i + par5 + dx, AtumBlocks.BLOCK_PAPYRUS); + } + } + } + } + } + } + } + } + } + + int var24 = 0; + + for (int var26 = 0; var26 < 6; ++var26) { + papyrus = par2Random.nextInt(width); + i = par2Random.nextInt(depth); + block = world.getBlock(par3 + papyrus, world.getHeightValue(par3 + papyrus, par5 + i) - 1, par5 + i); + if (block == AtumBlocks.BLOCK_FERTILESOIL) { + (new WorldGenPalm(true, 5, 0, 0)).generate(world, par2Random, par3 + papyrus, world.getHeightValue(par3 + papyrus, par5 + i), par5 + i); + ++var24; + } + + if (var24 > 2) { + break; + } + } + + boolean var25 = false; + boolean var27 = false; + + for (i = 0; i < 10; ++i) { + int var28 = par2Random.nextInt(width); + z = par2Random.nextInt(depth); + y = world.getHeightValue(par3 + var28, par5 + z); + block = world.getBlock(par3 + var28, y - 1, par5 + z); + if (!var25 && block == AtumBlocks.BLOCK_FERTILESOIL) { + world.setBlock(par3 + var28, y, par5 + z, Blocks.chest); + TileEntity var29 = world.getTileEntity(par3 + var28, world.getHeightValue(par3 + var28, par5 + z), par5 + z); + AtumLoot.fillChest((IInventory) var29, 5, 0.2F); + var25 = true; + } else { + int dz; + if (!var27 && block.canSustainPlant(world, par3 + var28, y, par5 + z, ForgeDirection.UP, (IPlantable) ((IPlantable) AtumBlocks.BLOCK_PAPYRUS))) { + for (dx = -1; dx <= 1; ++dx) { + for (dz = -1; dz <= 1; ++dz) { + if (block.canSustainPlant(world, par3 + var28 + dx, y, par5 + z + dz, ForgeDirection.UP, (IPlantable) ((IPlantable) AtumBlocks.BLOCK_PAPYRUS))) { + world.setBlock(par3 + var28, y, par5 + z, AtumBlocks.BLOCK_PAPYRUS); + var27 = true; + } + } + } + } else if (par2Random.nextInt(5) == 0) { + for (dx = -1; dx <= 1; ++dx) { + for (dz = -1; dz <= 1; ++dz) { + int currentY = world.getHeightValue(par3 + var28, par5 + z); + Block belowID = world.getBlock(par3 + var28 + dx, currentY - 1, par5 + z + dz); + Block currentID = world.getBlock(par3 + var28 + dx, currentY, par5 + z + dz); + if (par2Random.nextInt(3) == 0 && belowID == AtumBlocks.BLOCK_FERTILESOIL && currentID == null) { + world.setBlock(par3 + var28 + dx, currentY, par5 + z + dz, AtumBlocks.BLOCK_FLAX, 13, 0); + } + } + } + } + } + } + + return false; + } + } + } + } + } } diff --git a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalace.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalace.java index 2725bda..c4e0bed 100644 --- a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalace.java +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalace.java @@ -9,20 +9,20 @@ public class WorldGenPalace extends WorldGenerator { - public Block largeLimestoneBricks; - public Block smallLimestoneBricks; - public Block carvedLimestone; - public Block largeLimestoneBricksStairs; + public Block largeLimestoneBricks; + public Block smallLimestoneBricks; + public Block carvedLimestone; + public Block largeLimestoneBricksStairs; - public WorldGenPalace() { - this.largeLimestoneBricks = AtumBlocks.BLOCK_LARGEBRICK; - this.smallLimestoneBricks = AtumBlocks.BLOCK_SMALLBRICK; - this.carvedLimestone = AtumBlocks.BLOCK_CARVEDBRICK; - this.largeLimestoneBricksStairs = AtumBlocks.BLOCK_LARGESTONESTAIRS; - } + public WorldGenPalace() { + this.largeLimestoneBricks = AtumBlocks.BLOCK_LARGEBRICK; + this.smallLimestoneBricks = AtumBlocks.BLOCK_SMALLBRICK; + this.carvedLimestone = AtumBlocks.BLOCK_CARVEDBRICK; + this.largeLimestoneBricksStairs = AtumBlocks.BLOCK_LARGESTONESTAIRS; + } - @Override - public boolean generate(World world, Random random, int i, int j, int k) { + @Override + public boolean generate(World world, Random random, int i, int j, int k) { // world.setBlock(i + 0, j + 0, k + 8, this.largeLimestoneBricks); // world.setBlock(i + 0, j + 0, k + 9, this.largeLimestoneBricks); // world.setBlock(i + 0, j + 0, k + 10, this.largeLimestoneBricks); @@ -6209,6 +6209,6 @@ public boolean generate(World world, Random random, int i, int j, int k) { // world.setBlockMetadataWithNotify(i + 38, j + 6, k + 47, this.largeLimestoneBricksStairs, 1); // world.setBlockMetadataWithNotify(i + 38, j + 6, k + 48, this.largeLimestoneBricksStairs, 1); // world.setBlockMetadataWithNotify(i + 38, j + 6, k + 49, this.largeLimestoneBricksStairs, 1); - return true; - } + return true; + } } diff --git a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalm.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalm.java index b1b93e1..0271183 100644 --- a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalm.java +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalm.java @@ -10,125 +10,125 @@ public class WorldGenPalm extends WorldGenerator { - private final int minTreeHeight; - private final int metaWood; - private final int metaLeaves; - - public WorldGenPalm(boolean par1) { - this(par1, 5, 0, 0); - } - - public WorldGenPalm(boolean par1, int par2, int par3, int par4) { - super(par1); - this.minTreeHeight = par2; - this.metaWood = par3; - this.metaLeaves = par4; - } - - @Override - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) { - int l = par2Random.nextInt(3) + this.minTreeHeight; - boolean flag = true; - Block blocks = par1World.getBlock(par3, par4 - 1, par5); - if ((blocks == AtumBlocks.BLOCK_SAND || blocks == AtumBlocks.BLOCK_FERTILESOIL || blocks == Blocks.dirt) && par4 >= 1 && par4 + l + 1 <= 256) { - int i1; - int j1; - Block k1; - for (i1 = par4; i1 <= par4 + 1 + l; ++i1) { - byte b0 = 1; - if (i1 == par4) { - b0 = 0; - } - - if (i1 >= par4 + 1 + l - 2) { - b0 = 2; - } - - for (int soil = par3 - b0; soil <= par3 + b0 && flag; ++soil) { - for (j1 = par5 - b0; j1 <= par5 + b0 && flag; ++j1) { - if (i1 >= 0 && i1 < 256) { - k1 = par1World.getBlock(soil, i1, j1); - if (k1 != null && !k1.isLeaves(par1World, soil, i1, j1) && k1 != AtumBlocks.BLOCK_FERTILESOIL && k1 != Blocks.dirt && !k1.isWood(par1World, soil, i1, j1)) { - flag = false; - } - } else { - flag = false; - } - } - } - } - - if (!flag) { - return false; - } else { - Block var21 = par1World.getBlock(par3, par4 - 1, par5); - if (par4 >= 256 - l - 1) { - return false; - } else { - if (var21 != null) { - var21.onPlantGrow(par1World, par3, par4 - 1, par5, par3, par4, par5); - } - - boolean var20 = true; - boolean var22 = false; - this.spawnLeaf(par1World, par3, par4 + l + 1, par5); - - for (int block = -1; block <= 1; ++block) { - for (int z = -1; z <= 1; ++z) { - if (block != 0 || z != 0) { - this.spawnLeaf(par1World, par3 + block, par4 + l, par5 + z); - } - } - } - - this.spawnLeaf(par1World, par3 + 2, par4 + l, par5); - this.spawnLeaf(par1World, par3 - 2, par4 + l, par5); - this.spawnLeaf(par1World, par3, par4 + l, par5 + 2); - this.spawnLeaf(par1World, par3, par4 + l, par5 - 2); - this.spawnLeaf(par1World, par3, par4 + l - 1, par5 - 2); - this.spawnLeaf(par1World, par3, par4 + l - 1, par5 + 2); - this.spawnLeaf(par1World, par3 + 2, par4 + l - 1, par5); - this.spawnLeaf(par1World, par3 - 2, par4 + l - 1, par5); - this.spawnLeaf(par1World, par3, par4 + l - 1, par5 - 3); - this.spawnLeaf(par1World, par3, par4 + l - 1, par5 + 3); - this.spawnLeaf(par1World, par3 + 3, par4 + l - 1, par5); - this.spawnLeaf(par1World, par3 - 3, par4 + l - 1, par5); - if (par2Random.nextInt(100) < 15) { - par1World.setBlock(par3 + 1, par4 + l - 1, par5, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); - } - - if (par2Random.nextInt(100) < 15) { - par1World.setBlock(par3 - 1, par4 + l - 1, par5, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); - } - - if (par2Random.nextInt(100) < 15) { - par1World.setBlock(par3, par4 + l - 1, par5 + 1, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); - } - - if (par2Random.nextInt(100) < 15) { - par1World.setBlock(par3, par4 + l - 1, par5 - 1, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); - } - - for (j1 = 0; j1 <= l; ++j1) { - Block var23 = par1World.getBlock(par3, par4 + j1, par5); - if (var23 == null || var23.isLeaves(par1World, par3, par4 + j1, par5)) { - this.setBlockAndNotifyAdequately(par1World, par3, par4 + j1, par5, AtumBlocks.BLOCK_LOG, this.metaWood); - } - } - - return true; - } - } - } else { - return false; - } - } - - public void spawnLeaf(World par1World, int x, int y, int z) { - Block block = par1World.getBlock(x, y, z); - if (block == null || block.canBeReplacedByLeaves(par1World, x, y, z)) { - this.setBlockAndNotifyAdequately(par1World, x, y, z, AtumBlocks.BLOCK_LEAVES, this.metaLeaves); - } - - } + private final int minTreeHeight; + private final int metaWood; + private final int metaLeaves; + + public WorldGenPalm(boolean par1) { + this(par1, 5, 0, 0); + } + + public WorldGenPalm(boolean par1, int par2, int par3, int par4) { + super(par1); + this.minTreeHeight = par2; + this.metaWood = par3; + this.metaLeaves = par4; + } + + @Override + public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) { + int l = par2Random.nextInt(3) + this.minTreeHeight; + boolean flag = true; + Block blocks = par1World.getBlock(par3, par4 - 1, par5); + if ((blocks == AtumBlocks.BLOCK_SAND || blocks == AtumBlocks.BLOCK_FERTILESOIL || blocks == Blocks.dirt) && par4 >= 1 && par4 + l + 1 <= 256) { + int i1; + int j1; + Block k1; + for (i1 = par4; i1 <= par4 + 1 + l; ++i1) { + byte b0 = 1; + if (i1 == par4) { + b0 = 0; + } + + if (i1 >= par4 + 1 + l - 2) { + b0 = 2; + } + + for (int soil = par3 - b0; soil <= par3 + b0 && flag; ++soil) { + for (j1 = par5 - b0; j1 <= par5 + b0 && flag; ++j1) { + if (i1 >= 0 && i1 < 256) { + k1 = par1World.getBlock(soil, i1, j1); + if (k1 != null && !k1.isLeaves(par1World, soil, i1, j1) && k1 != AtumBlocks.BLOCK_FERTILESOIL && k1 != Blocks.dirt && !k1.isWood(par1World, soil, i1, j1)) { + flag = false; + } + } else { + flag = false; + } + } + } + } + + if (!flag) { + return false; + } else { + Block var21 = par1World.getBlock(par3, par4 - 1, par5); + if (par4 >= 256 - l - 1) { + return false; + } else { + if (var21 != null) { + var21.onPlantGrow(par1World, par3, par4 - 1, par5, par3, par4, par5); + } + + boolean var20 = true; + boolean var22 = false; + this.spawnLeaf(par1World, par3, par4 + l + 1, par5); + + for (int block = -1; block <= 1; ++block) { + for (int z = -1; z <= 1; ++z) { + if (block != 0 || z != 0) { + this.spawnLeaf(par1World, par3 + block, par4 + l, par5 + z); + } + } + } + + this.spawnLeaf(par1World, par3 + 2, par4 + l, par5); + this.spawnLeaf(par1World, par3 - 2, par4 + l, par5); + this.spawnLeaf(par1World, par3, par4 + l, par5 + 2); + this.spawnLeaf(par1World, par3, par4 + l, par5 - 2); + this.spawnLeaf(par1World, par3, par4 + l - 1, par5 - 2); + this.spawnLeaf(par1World, par3, par4 + l - 1, par5 + 2); + this.spawnLeaf(par1World, par3 + 2, par4 + l - 1, par5); + this.spawnLeaf(par1World, par3 - 2, par4 + l - 1, par5); + this.spawnLeaf(par1World, par3, par4 + l - 1, par5 - 3); + this.spawnLeaf(par1World, par3, par4 + l - 1, par5 + 3); + this.spawnLeaf(par1World, par3 + 3, par4 + l - 1, par5); + this.spawnLeaf(par1World, par3 - 3, par4 + l - 1, par5); + if (par2Random.nextInt(100) < 15) { + par1World.setBlock(par3 + 1, par4 + l - 1, par5, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); + } + + if (par2Random.nextInt(100) < 15) { + par1World.setBlock(par3 - 1, par4 + l - 1, par5, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); + } + + if (par2Random.nextInt(100) < 15) { + par1World.setBlock(par3, par4 + l - 1, par5 + 1, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); + } + + if (par2Random.nextInt(100) < 15) { + par1World.setBlock(par3, par4 + l - 1, par5 - 1, AtumBlocks.BLOCK_DATEBLOCK, 0, 2); + } + + for (j1 = 0; j1 <= l; ++j1) { + Block var23 = par1World.getBlock(par3, par4 + j1, par5); + if (var23 == null || var23.isLeaves(par1World, par3, par4 + j1, par5)) { + this.setBlockAndNotifyAdequately(par1World, par3, par4 + j1, par5, AtumBlocks.BLOCK_LOG, this.metaWood); + } + } + + return true; + } + } + } else { + return false; + } + } + + public void spawnLeaf(World par1World, int x, int y, int z) { + Block block = par1World.getBlock(x, y, z); + if (block == null || block.canBeReplacedByLeaves(par1World, x, y, z)) { + this.setBlockAndNotifyAdequately(par1World, x, y, z, AtumBlocks.BLOCK_LEAVES, this.metaLeaves); + } + + } } diff --git a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPyramid.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPyramid.java index 0cadd39..e4533a3 100644 --- a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPyramid.java +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPyramid.java @@ -14,209 +14,209 @@ import static net.minecraftforge.common.util.ForgeDirection.*; public class WorldGenPyramid extends WorldGenerator { - @Override - public boolean generate(World world, Random random, int i, int j, int k) { - if (random.nextFloat() > 0.3) - j -= 8; - - int width = 17; - int depth = 17; - - boolean[][] maze = new boolean[17][17]; - - ArrayList points = new ArrayList(); - - int zIn = 9; - - maze[0][zIn] = true; - generateMaze(maze, random, 1, zIn); - - for (int y = -6; y < 10; y++) { - for (int x = y; x <= width - y; x++) { - for (int z = y; z <= depth - y; z++) { - Block id = world.getBlock(x + i, y + j + 3, z + k); - if (id == null || id == AtumBlocks.BLOCK_SAND) - world.setBlockToAir(x + i, y + j + 3, z + k); - world.setBlock(x + i, y + j + 3, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); - } - } - } - - for (int x = -3; x < width + 3; x++) { - for (int z = -3; z < depth + 3; z++) { - if (x >= 0 && x < width && z >= 0 && z < depth) { - world.setBlockToAir(x + i, j, z + k); - world.setBlock(x + i, j - 1, z + k, AtumBlocks.BLOCK_STONE); - if (!maze[x][z]) { - if (random.nextFloat() > 0.1F) { - world.setBlock(x + i, j, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); - Block temp = world.getBlock(x + i, j + 1, z + k); - if (temp != null) { - temp.setBlockUnbreakable(); - } - } else - placeTrap(world, x + i, j, z + k); - world.setBlock(x + i, j + 1, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); - Block temp = world.getBlock(x + i, j + 1, z + k); - if (temp != null) { - temp.setBlockUnbreakable(); - } - - world.setBlock(x + i, j + 2, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); - temp = world.getBlock(x + i, j + 2, z + k); - if (temp != null) { - temp.setBlockUnbreakable(); - } - } else { - int meta = random.nextInt(5); - world.setBlock(x + i, j, z + k, AtumBlocks.BLOCK_SANDLAYERED, meta, 0); - world.setBlockToAir(x + i, j + 1, z + k); - world.setBlockToAir(x + i, j + 2, z + k); - } - world.setBlock(x + i, j + 3, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); - Block temp = world.getBlock(x + i, j + 3, z + k); - if (temp != null) { - temp.setBlockUnbreakable(); - } - } - } - } - - world.setBlockToAir(i - 1, j, k + zIn); - world.setBlockToAir(i - 1, j + 1, k + zIn); - world.setBlockToAir(i - 2, j, k + zIn); - world.setBlockToAir(i - 2, j + 1, k + zIn); - world.setBlockToAir(i - 3, j, k + zIn); - world.setBlockToAir(i - 3, j + 1, k + zIn); - world.setBlockToAir(i - 4, j, k + zIn); - world.setBlockToAir(i - 4, j + 1, k + zIn); - - for (int y = 4; y < 8; y++) { - for (int x = 6; x < 12; x++) { - for (int z = 6; z < 12; z++) { - world.setBlockToAir(i + x, j + y, k + z); - } - } - } - - world.setBlock(i + 11, j + 6, k + 7, Blocks.torch, 2, 0); - world.setBlock(i + 11, j + 6, k + 10, Blocks.torch, 2, 0); - - world.setBlock(i + 10, j + 4, k + 8, AtumBlocks.BLOCK_PHARAOHCHEST, 0, 2); - try { - TileEntityPharaohChest te = (TileEntityPharaohChest) world.getTileEntity(i + 10, j + 4, k + 8); - AtumLoot.fillChest(te, 15, 0.9f); - } catch (ClassCastException e) { - } - if (world.isAirBlock(i + 7, j + 1, k + 7)) { - placeLadders(world, i + 7, j, k + 7, 4); - } else { - boolean found = false; - for (int dx = -1; dx <= 1; dx++) { - if (found) - break; - - for (int dz = -1; dz <= 1; dz++) { - if (world.isAirBlock(i + 7 + dx, j + 1, k + 7 + dz)) { - placeLadders(world, i + 7 + dx, j, k + 7 + dz, 3); - found = true; - break; - } - } - } - } - - return false; - } - - public void placeTrap(World world, int x, int y, int z) { - int meta = 0; - if (world.isSideSolid(x, y, z + 1, NORTH)) { - meta = 3; - ; - } - - if (world.isSideSolid(x, y, z - 1, SOUTH)) { - meta = 4; - } - - if (world.isSideSolid(x + 1, y, z, WEST)) { - meta = 5; - } - - if (world.isSideSolid(x - 1, y, z, EAST)) { - meta = 2; - } - - world.setBlock(x, y, z, AtumBlocks.BLOCK_TRAPARROW, meta, 0); - } - - public void placeLadders(World world, int x, int y, int z, int height) { - int meta = 0; - if (world.isSideSolid(x, y, z + 1, NORTH)) { - meta = 2; - ; - } - - if (world.isSideSolid(x, y, z - 1, SOUTH)) { - meta = 3; - } - - if (world.isSideSolid(x + 1, y, z, WEST)) { - meta = 4; - } - - if (world.isSideSolid(x - 1, y, z, EAST)) { - meta = 5; - } - - for (int i = 0; i < height; i++) - world.setBlock(x, y + i, z, Blocks.ladder, meta, 0); - } - - public void generateMaze(boolean[][] array, Random random, int x, int y) { - int dx = 0; - int dy = 0; - - ArrayList choices = new ArrayList(); - do { - choices.clear(); - if (x + 2 < 16 && array[x + 2][y] == false) - choices.add(new Pair(2, 0)); - if (x - 2 >= 0 && array[x - 2][y] == false) - choices.add(new Pair(-2, 0)); - if (y + 2 < 16 && array[x][y + 2] == false) - choices.add(new Pair(0, 2)); - if (y - 2 >= 0 && array[x][y - 2] == false) - choices.add(new Pair(0, -2)); - - if (choices.size() > 0) { - int i = random.nextInt(choices.size()); - Pair choice = choices.get(i); - choices.remove(i); - array[choice.x + x][choice.y + y] = true; - array[x + choice.x / 2][y + choice.y / 2] = true; - generateMaze(array, random, x + choice.x, y + choice.y); - } - - } while (choices.size() > 0); - } - - class Pair { - public int x; - public int y; - - Pair(int x, int y) { - this.x = x; - this.y = y; - } - - @Override - public boolean equals(Object p) { - if (p instanceof Pair) - return ((Pair) p).x == x && ((Pair) p).y == y; - else - return false; - } - } + @Override + public boolean generate(World world, Random random, int i, int j, int k) { + if (random.nextFloat() > 0.3) + j -= 8; + + int width = 17; + int depth = 17; + + boolean[][] maze = new boolean[17][17]; + + ArrayList points = new ArrayList(); + + int zIn = 9; + + maze[0][zIn] = true; + generateMaze(maze, random, 1, zIn); + + for (int y = -6; y < 10; y++) { + for (int x = y; x <= width - y; x++) { + for (int z = y; z <= depth - y; z++) { + Block id = world.getBlock(x + i, y + j + 3, z + k); + if (id == null || id == AtumBlocks.BLOCK_SAND) + world.setBlockToAir(x + i, y + j + 3, z + k); + world.setBlock(x + i, y + j + 3, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); + } + } + } + + for (int x = -3; x < width + 3; x++) { + for (int z = -3; z < depth + 3; z++) { + if (x >= 0 && x < width && z >= 0 && z < depth) { + world.setBlockToAir(x + i, j, z + k); + world.setBlock(x + i, j - 1, z + k, AtumBlocks.BLOCK_STONE); + if (!maze[x][z]) { + if (random.nextFloat() > 0.1F) { + world.setBlock(x + i, j, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); + Block temp = world.getBlock(x + i, j + 1, z + k); + if (temp != null) { + temp.setBlockUnbreakable(); + } + } else + placeTrap(world, x + i, j, z + k); + world.setBlock(x + i, j + 1, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); + Block temp = world.getBlock(x + i, j + 1, z + k); + if (temp != null) { + temp.setBlockUnbreakable(); + } + + world.setBlock(x + i, j + 2, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); + temp = world.getBlock(x + i, j + 2, z + k); + if (temp != null) { + temp.setBlockUnbreakable(); + } + } else { + int meta = random.nextInt(5); + world.setBlock(x + i, j, z + k, AtumBlocks.BLOCK_SANDLAYERED, meta, 0); + world.setBlockToAir(x + i, j + 1, z + k); + world.setBlockToAir(x + i, j + 2, z + k); + } + world.setBlock(x + i, j + 3, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); + Block temp = world.getBlock(x + i, j + 3, z + k); + if (temp != null) { + temp.setBlockUnbreakable(); + } + } + } + } + + world.setBlockToAir(i - 1, j, k + zIn); + world.setBlockToAir(i - 1, j + 1, k + zIn); + world.setBlockToAir(i - 2, j, k + zIn); + world.setBlockToAir(i - 2, j + 1, k + zIn); + world.setBlockToAir(i - 3, j, k + zIn); + world.setBlockToAir(i - 3, j + 1, k + zIn); + world.setBlockToAir(i - 4, j, k + zIn); + world.setBlockToAir(i - 4, j + 1, k + zIn); + + for (int y = 4; y < 8; y++) { + for (int x = 6; x < 12; x++) { + for (int z = 6; z < 12; z++) { + world.setBlockToAir(i + x, j + y, k + z); + } + } + } + + world.setBlock(i + 11, j + 6, k + 7, Blocks.torch, 2, 0); + world.setBlock(i + 11, j + 6, k + 10, Blocks.torch, 2, 0); + + world.setBlock(i + 10, j + 4, k + 8, AtumBlocks.BLOCK_PHARAOHCHEST, 0, 2); + try { + TileEntityPharaohChest te = (TileEntityPharaohChest) world.getTileEntity(i + 10, j + 4, k + 8); + AtumLoot.fillChest(te, 15, 0.9f); + } catch (ClassCastException e) { + } + if (world.isAirBlock(i + 7, j + 1, k + 7)) { + placeLadders(world, i + 7, j, k + 7, 4); + } else { + boolean found = false; + for (int dx = -1; dx <= 1; dx++) { + if (found) + break; + + for (int dz = -1; dz <= 1; dz++) { + if (world.isAirBlock(i + 7 + dx, j + 1, k + 7 + dz)) { + placeLadders(world, i + 7 + dx, j, k + 7 + dz, 3); + found = true; + break; + } + } + } + } + + return false; + } + + public void placeTrap(World world, int x, int y, int z) { + int meta = 0; + if (world.isSideSolid(x, y, z + 1, NORTH)) { + meta = 3; + ; + } + + if (world.isSideSolid(x, y, z - 1, SOUTH)) { + meta = 4; + } + + if (world.isSideSolid(x + 1, y, z, WEST)) { + meta = 5; + } + + if (world.isSideSolid(x - 1, y, z, EAST)) { + meta = 2; + } + + world.setBlock(x, y, z, AtumBlocks.BLOCK_TRAPARROW, meta, 0); + } + + public void placeLadders(World world, int x, int y, int z, int height) { + int meta = 0; + if (world.isSideSolid(x, y, z + 1, NORTH)) { + meta = 2; + ; + } + + if (world.isSideSolid(x, y, z - 1, SOUTH)) { + meta = 3; + } + + if (world.isSideSolid(x + 1, y, z, WEST)) { + meta = 4; + } + + if (world.isSideSolid(x - 1, y, z, EAST)) { + meta = 5; + } + + for (int i = 0; i < height; i++) + world.setBlock(x, y + i, z, Blocks.ladder, meta, 0); + } + + public void generateMaze(boolean[][] array, Random random, int x, int y) { + int dx = 0; + int dy = 0; + + ArrayList choices = new ArrayList(); + do { + choices.clear(); + if (x + 2 < 16 && array[x + 2][y] == false) + choices.add(new Pair(2, 0)); + if (x - 2 >= 0 && array[x - 2][y] == false) + choices.add(new Pair(-2, 0)); + if (y + 2 < 16 && array[x][y + 2] == false) + choices.add(new Pair(0, 2)); + if (y - 2 >= 0 && array[x][y - 2] == false) + choices.add(new Pair(0, -2)); + + if (choices.size() > 0) { + int i = random.nextInt(choices.size()); + Pair choice = choices.get(i); + choices.remove(i); + array[choice.x + x][choice.y + y] = true; + array[x + choice.x / 2][y + choice.y / 2] = true; + generateMaze(array, random, x + choice.x, y + choice.y); + } + + } while (choices.size() > 0); + } + + class Pair { + public int x; + public int y; + + Pair(int x, int y) { + this.x = x; + this.y = y; + } + + @Override + public boolean equals(Object p) { + if (p instanceof Pair) + return ((Pair) p).x == x && ((Pair) p).y == y; + else + return false; + } + } } \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenRuins.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenRuins.java index 844ddf0..2a3cb62 100644 --- a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenRuins.java +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenRuins.java @@ -9,85 +9,85 @@ import java.util.Random; public class WorldGenRuins extends WorldGenerator { - @Override - public boolean generate(World world, Random random, int i, int j, int k) { - int width = random.nextInt(4) + 6; - int depth = random.nextInt(2) + 5; - int height = world.getHeightValue(i, k); - int x2; - int z2; - if (world.getHeightValue(i + width, k + depth) >= height) { - x2 = i + width; - z2 = k + depth; - } else if (world.getHeightValue(i - width, k + depth) >= height) { - x2 = i - width; - z2 = k + depth; - } else if (world.getHeightValue(i + width, k - depth) >= height) { - x2 = i + width; - z2 = k - depth; - } else { - if (world.getHeightValue(i - width, k - depth) < height) { - return false; - } + @Override + public boolean generate(World world, Random random, int i, int j, int k) { + int width = random.nextInt(4) + 6; + int depth = random.nextInt(2) + 5; + int height = world.getHeightValue(i, k); + int x2; + int z2; + if (world.getHeightValue(i + width, k + depth) >= height) { + x2 = i + width; + z2 = k + depth; + } else if (world.getHeightValue(i - width, k + depth) >= height) { + x2 = i - width; + z2 = k + depth; + } else if (world.getHeightValue(i + width, k - depth) >= height) { + x2 = i + width; + z2 = k - depth; + } else { + if (world.getHeightValue(i - width, k - depth) < height) { + return false; + } - x2 = i - width; - z2 = k - depth; - } + x2 = i - width; + z2 = k - depth; + } - int chestX; - int chestZ; - int chestY; - for (chestX = Math.min(x2, i); chestX <= Math.max(x2, i); ++chestX) { - for (chestZ = Math.min(z2, k); chestZ <= Math.max(z2, k); ++chestZ) { - int meta = random.nextInt(4); + int chestX; + int chestZ; + int chestY; + for (chestX = Math.min(x2, i); chestX <= Math.max(x2, i); ++chestX) { + for (chestZ = Math.min(z2, k); chestZ <= Math.max(z2, k); ++chestZ) { + int meta = random.nextInt(4); - for (chestY = -1; chestY < 15; ++chestY) { - if (chestX != x2 && chestZ != z2 && chestX != i && chestZ != k && chestY != -1) { - world.setBlockToAir(chestX, chestY + height, chestZ); - } else if (chestY < meta) { - if ((double) random.nextFloat() > 0.1D) { - world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_LARGEBRICK); - } else { - world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_SMALLBRICK); - } - } else if (chestY == meta && (double) random.nextFloat() > 0.7D) { - if ((double) random.nextFloat() > 0.1D) { - world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_SLABS, 2, 0); - } else { - world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_SLABS, 3, 0); - } - } - } - } - } + for (chestY = -1; chestY < 15; ++chestY) { + if (chestX != x2 && chestZ != z2 && chestX != i && chestZ != k && chestY != -1) { + world.setBlockToAir(chestX, chestY + height, chestZ); + } else if (chestY < meta) { + if ((double) random.nextFloat() > 0.1D) { + world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_LARGEBRICK); + } else { + world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_SMALLBRICK); + } + } else if (chestY == meta && (double) random.nextFloat() > 0.7D) { + if ((double) random.nextFloat() > 0.1D) { + world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_SLABS, 2, 0); + } else { + world.setBlock(chestX, chestY + height, chestZ, AtumBlocks.BLOCK_SLABS, 3, 0); + } + } + } + } + } - chestX = width / 2 + i; - chestZ = Math.max(z2, k) - 1; - boolean var16 = false; - if ((double) random.nextFloat() > 0.5D) { - chestX = random.nextInt(width - 1) + 1 + Math.min(i, x2); - if ((double) random.nextFloat() > 0.5D) { - chestZ = Math.max(z2, k) - 1; - var16 = true; - } else { - chestZ = Math.min(z2, k) + 1; - var16 = true; - } - } else { - chestZ = random.nextInt(depth - 1) + 1 + Math.min(k, z2); - if ((double) random.nextFloat() > 0.5D) { - chestX = Math.max(x2, i) - 1; - var16 = true; - } else { - chestX = Math.min(x2, i) + 1; - var16 = true; - } - } + chestX = width / 2 + i; + chestZ = Math.max(z2, k) - 1; + boolean var16 = false; + if ((double) random.nextFloat() > 0.5D) { + chestX = random.nextInt(width - 1) + 1 + Math.min(i, x2); + if ((double) random.nextFloat() > 0.5D) { + chestZ = Math.max(z2, k) - 1; + var16 = true; + } else { + chestZ = Math.min(z2, k) + 1; + var16 = true; + } + } else { + chestZ = random.nextInt(depth - 1) + 1 + Math.min(k, z2); + if ((double) random.nextFloat() > 0.5D) { + chestX = Math.max(x2, i) - 1; + var16 = true; + } else { + chestX = Math.min(x2, i) + 1; + var16 = true; + } + } - chestY = world.getHeightValue(chestX, chestZ); - world.setBlock(chestX, chestY, chestZ, AtumBlocks.BLOCK_CURSEDCHEST, 0, 2); - IInventory chest = (IInventory) world.getTileEntity(chestX, chestY, chestZ); - AtumLoot.fillChest(chest, 5, 0.5F); - return false; - } + chestY = world.getHeightValue(chestX, chestZ); + world.setBlock(chestX, chestY, chestZ, AtumBlocks.BLOCK_CURSEDCHEST, 0, 2); + IInventory chest = (IInventory) world.getTileEntity(chestX, chestY, chestZ); + AtumLoot.fillChest(chest, 5, 0.5F); + return false; + } } diff --git a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenShrub.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenShrub.java index b434613..7c88b99 100644 --- a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenShrub.java +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenShrub.java @@ -9,28 +9,28 @@ public class WorldGenShrub extends WorldGenerator { - private Block deadBush; - private int groupSize; - - public WorldGenShrub(Block par1, int par2) { - this.deadBush = par1; - this.groupSize = par2; - } - - @Override - public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) { - int size = par2Random.nextInt(this.groupSize / 2) + this.groupSize / 2; - - for (int i1 = 0; i1 < size; ++i1) { - byte range = 6; - int x = par3 + par2Random.nextInt(range + 1) - range / 2; - int z = par5 + par2Random.nextInt(range + 1) - range / 2; - int y = par1World.getHeightValue(x, z); - if (par1World.isAirBlock(x, y, z) && AtumBlocks.BLOCK_SHRUB.canBlockStay(par1World, x, y, z)) { - par1World.setBlock(x, y, z, this.deadBush); - } - } - - return true; - } + private Block deadBush; + private int groupSize; + + public WorldGenShrub(Block par1, int par2) { + this.deadBush = par1; + this.groupSize = par2; + } + + @Override + public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) { + int size = par2Random.nextInt(this.groupSize / 2) + this.groupSize / 2; + + for (int i1 = 0; i1 < size; ++i1) { + byte range = 6; + int x = par3 + par2Random.nextInt(range + 1) - range / 2; + int z = par5 + par2Random.nextInt(range + 1) - range / 2; + int y = par1World.getHeightValue(x, z); + if (par1World.isAirBlock(x, y, z) && AtumBlocks.BLOCK_SHRUB.canBlockStay(par1World, x, y, z)) { + par1World.setBlock(x, y, z, this.deadBush); + } + } + + return true; + } } From ae444496480c8885578473501eedc8b413a11b1f Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Thu, 25 Sep 2014 20:28:00 +0300 Subject: [PATCH 067/157] Removes System.out --- src/main/java/com/teammetallurgy/atum/AtumConfig.java | 1 - src/main/java/com/teammetallurgy/atum/AtumEventListener.java | 1 - src/main/java/com/teammetallurgy/atum/AtumLoot.java | 1 - .../atum/blocks/tileentity/chests/TileEntityPharaohChest.java | 1 - .../com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java | 1 - .../teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java | 1 - .../com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java | 1 - 7 files changed, 7 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/AtumConfig.java b/src/main/java/com/teammetallurgy/atum/AtumConfig.java index 718c8f7..906e363 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumConfig.java +++ b/src/main/java/com/teammetallurgy/atum/AtumConfig.java @@ -9,7 +9,6 @@ public class AtumConfig { private final Configuration CONFIG; public AtumConfig(File file) { - System.out.println(file); this.CONFIG = new Configuration(file); } diff --git a/src/main/java/com/teammetallurgy/atum/AtumEventListener.java b/src/main/java/com/teammetallurgy/atum/AtumEventListener.java index ad61f01..937fb47 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumEventListener.java +++ b/src/main/java/com/teammetallurgy/atum/AtumEventListener.java @@ -26,7 +26,6 @@ public void renderFog(EntityViewRenderEvent.RenderFogEvent event) { if (event.farPlaneDistance > 32) { event.setResult(Result.DENY); } - System.out.println(event.farPlaneDistance); } @SubscribeEvent diff --git a/src/main/java/com/teammetallurgy/atum/AtumLoot.java b/src/main/java/com/teammetallurgy/atum/AtumLoot.java index a14441c..02a004b 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumLoot.java +++ b/src/main/java/com/teammetallurgy/atum/AtumLoot.java @@ -34,7 +34,6 @@ public static ItemStack getRandomArtifact() { public static void fillChest(IInventory inventory, int multiplier, float quality) { if (inventory == null) { - System.out.println("Error trying to fill empty chest"); return; } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java index d07f449..5bfccc8 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java @@ -320,7 +320,6 @@ public void spawn(EntityPlayer player) { } if (!super.worldObj.isRemote) { - System.out.println("Playing Sound"); super.worldObj.playSoundAtEntity(pharaoh, "Atum.pharaohspawn", 1.0F, 1.0F); } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java index 5fde346..5d64b3c 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java @@ -94,7 +94,6 @@ public void onDamage(LivingHurtEvent event) { player.getFoodStats().setFoodSaturationLevel(20.0F); // player.spawnExplosionParticle(); stack.damageItem(1, player); - System.out.println(stack.getItemDamage()); if (stack.getItemDamage() >= 20) { stack = null; } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java index 856c89c..e640fa6 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java @@ -42,7 +42,6 @@ public void onLivingAttack(LivingHurtEvent event) { byte j = 0; if (par1Entity instanceof EntityLiving) { int j1 = j + EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, event.entityLiving); - System.out.println("undo knockback " + j1); if (j1 >= 0) { event.entityLiving.motionX /= 0.6D; event.entityLiving.motionZ /= 0.6D; diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java index bf9e82c..f4339f0 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsCall.java @@ -48,7 +48,6 @@ public boolean shouldRotateAroundWhenRendering() { @Override public void onPlayerStoppedUsing(ItemStack par1ItemStack, World world, EntityPlayer player, int par4) { int j = this.getMaxItemUseDuration(par1ItemStack) - par4; - System.out.println("charge strength: " + j); if (j > 21) { j = 21; } From 9554f09a62eae83ea29adcabee09bb30897ad43e Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Thu, 25 Sep 2014 22:10:20 +0300 Subject: [PATCH 068/157] Changes the logger to log4j --- src/main/java/com/teammetallurgy/atum/Atum.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/Atum.java b/src/main/java/com/teammetallurgy/atum/Atum.java index e9100bb..5df1927 100644 --- a/src/main/java/com/teammetallurgy/atum/Atum.java +++ b/src/main/java/com/teammetallurgy/atum/Atum.java @@ -1,11 +1,14 @@ package com.teammetallurgy.atum; +import org.apache.logging.log4j.Logger; + import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.entity.AtumEntities; import com.teammetallurgy.atum.items.AtumItems; import com.teammetallurgy.atum.lib.handler.CraftingHandler; import com.teammetallurgy.atum.lib.proxy.CommonProxy; import com.teammetallurgy.atum.world.AtumWorlds; + import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; @@ -16,14 +19,12 @@ import net.minecraft.creativetab.CreativeTabs; import net.minecraftforge.common.MinecraftForge; -import java.util.logging.Logger; - @Mod(modid = Atum.MODID, name = Atum.NAME, version = Atum.VERSION) public class Atum { public static final String MODID = "atum"; public static final String NAME = "Atum"; public static final String VERSION = "0.6.13"; - public static final Logger LOGGER = Logger.getLogger(Atum.class.getSimpleName()); + public static Logger LOGGER ; @Instance(Atum.MODID) public static Atum instance; @@ -35,6 +36,7 @@ public class Atum { @EventHandler public void preInit(FMLPreInitializationEvent event) { + LOGGER = event.getModLog(); LOGGER.info("Loading Configuration"); AtumConfig config = new AtumConfig(event.getSuggestedConfigurationFile()); config.load(); From dc94b10c6acd8ce62bf6d3147a7c2e89032ff170 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Thu, 25 Sep 2014 23:45:22 +0300 Subject: [PATCH 069/157] Fixes the fog --- .../com/teammetallurgy/atum/AtumConfig.java | 1 + .../atum/AtumEventListener.java | 32 ++++++++----------- .../atum/AtumFogEventListener.java | 19 +++++++++++ .../java/com/teammetallurgy/atum/AtumIDS.java | 1 + .../atum/lib/proxy/ClientProxy.java | 7 ++++ 5 files changed, 42 insertions(+), 18 deletions(-) create mode 100644 src/main/java/com/teammetallurgy/atum/AtumFogEventListener.java diff --git a/src/main/java/com/teammetallurgy/atum/AtumConfig.java b/src/main/java/com/teammetallurgy/atum/AtumConfig.java index 906e363..0ace5e7 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumConfig.java +++ b/src/main/java/com/teammetallurgy/atum/AtumConfig.java @@ -19,6 +19,7 @@ public void load() { AtumIDS.BIOME_DESERT_ID = getInt("Biome", "Desert", 200); AtumIDS.ALLOW_CREATION = getBoolean("Scarab", "Create Portal", true); + AtumIDS.FOG_ENABLED = getBoolean("Fog", "Enabled", true); this.CONFIG.save(); } diff --git a/src/main/java/com/teammetallurgy/atum/AtumEventListener.java b/src/main/java/com/teammetallurgy/atum/AtumEventListener.java index 937fb47..3b74628 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumEventListener.java +++ b/src/main/java/com/teammetallurgy/atum/AtumEventListener.java @@ -1,32 +1,28 @@ package com.teammetallurgy.atum; -import com.teammetallurgy.atum.blocks.AtumBlocks; -import com.teammetallurgy.atum.blocks.BlockFlax; -import com.teammetallurgy.atum.blocks.BlockPalmSapling; -import com.teammetallurgy.atum.entity.*; -import com.teammetallurgy.atum.items.AtumItems; -import cpw.mods.fml.common.eventhandler.Event.Result; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import java.util.Random; + import net.minecraft.block.Block; import net.minecraft.init.Blocks; -import net.minecraftforge.client.event.EntityViewRenderEvent; import net.minecraftforge.event.entity.living.LivingFallEvent; import net.minecraftforge.event.entity.living.LivingHurtEvent; import net.minecraftforge.event.entity.player.BonemealEvent; import net.minecraftforge.event.entity.player.UseHoeEvent; -import java.util.Random; +import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.blocks.BlockFlax; +import com.teammetallurgy.atum.blocks.BlockPalmSapling; +import com.teammetallurgy.atum.entity.EntityDustySkeleton; +import com.teammetallurgy.atum.entity.EntityGhost; +import com.teammetallurgy.atum.entity.EntityMummy; +import com.teammetallurgy.atum.entity.EntityPharaoh; +import com.teammetallurgy.atum.entity.EntityStoneSoldier; +import com.teammetallurgy.atum.items.AtumItems; -public class AtumEventListener { +import cpw.mods.fml.common.eventhandler.Event.Result; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; - @SubscribeEvent - public void renderFog(EntityViewRenderEvent.RenderFogEvent event) { - //if (event.entity.dimension == AtumIDS.DIMENSION_ID) { - //} - if (event.farPlaneDistance > 32) { - event.setResult(Result.DENY); - } - } +public class AtumEventListener { @SubscribeEvent public void onFallDamage(LivingFallEvent event) { diff --git a/src/main/java/com/teammetallurgy/atum/AtumFogEventListener.java b/src/main/java/com/teammetallurgy/atum/AtumFogEventListener.java new file mode 100644 index 0000000..f5cec94 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/AtumFogEventListener.java @@ -0,0 +1,19 @@ +package com.teammetallurgy.atum; + +import net.minecraftforge.client.event.EntityViewRenderEvent; + +import org.lwjgl.opengl.GL11; + +import cpw.mods.fml.common.eventhandler.SubscribeEvent; + +public class AtumFogEventListener { + + @SubscribeEvent + public void renderFog(EntityViewRenderEvent.RenderFogEvent event) { + if (event.entity.dimension == AtumIDS.DIMENSION_ID) { + GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); + GL11.glFogf(GL11.GL_FOG_DENSITY, 0.08F); + } + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/AtumIDS.java b/src/main/java/com/teammetallurgy/atum/AtumIDS.java index d51478d..e3f97ce 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumIDS.java +++ b/src/main/java/com/teammetallurgy/atum/AtumIDS.java @@ -6,4 +6,5 @@ public class AtumIDS { public static int BIOME_DESERT_ID; public static boolean ALLOW_CREATION; + public static boolean FOG_ENABLED; } diff --git a/src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java b/src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java index 06b704e..00d3190 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java +++ b/src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java @@ -1,5 +1,7 @@ package com.teammetallurgy.atum.lib.proxy; +import com.teammetallurgy.atum.AtumFogEventListener; +import com.teammetallurgy.atum.AtumIDS; import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.blocks.BlockDate; import com.teammetallurgy.atum.blocks.BlockPapyrus; @@ -20,6 +22,7 @@ import com.teammetallurgy.atum.entity.arrow.EntityNutsCall; import com.teammetallurgy.atum.items.AtumItems; import com.teammetallurgy.atum.lib.tickhandler.ClientEvents; + import cpw.mods.fml.client.registry.RenderingRegistry; import net.minecraft.client.model.ModelBiped; import net.minecraft.client.model.ModelZombie; @@ -44,6 +47,10 @@ public void init() { MinecraftForge.EVENT_BUS.register(AtumItems.maatsBalance); MinecraftForge.EVENT_BUS.register(AtumItems.mnevisHorns); MinecraftForge.EVENT_BUS.register(AtumItems.sekhmetsWrath); + + if (AtumIDS.FOG_ENABLED) { + MinecraftForge.EVENT_BUS.register(new AtumFogEventListener()); + } } @Override From 5e4718b6621e3aa51a2c6ff461f844b8fca91a97 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Sun, 5 Oct 2014 08:53:04 +0300 Subject: [PATCH 070/157] Fixes Date tileEntity crash --- src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java index 3c46257..14b1dd0 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java @@ -64,6 +64,7 @@ public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, i } @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister p_149651_1_) { + public void registerBlockIcons(IIconRegister iconRegistry) { + this.blockIcon = iconRegistry.registerIcon("atum:AtumDate"); } } From e7a8198ee2fdef336d5b92afe5d0bacbd50e44c0 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Sun, 5 Oct 2014 17:38:21 +0300 Subject: [PATCH 071/157] Fixes warnings about registrating entities --- .../atum/entity/AtumEntities.java | 63 +++++++++++-------- 1 file changed, 36 insertions(+), 27 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java b/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java index beb5be6..1baaa44 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java +++ b/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java @@ -11,60 +11,69 @@ public void register() { int entityID; entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityMummy.class, "mummy", entityID, Atum.instance, 64, 1, true); EntityRegistry.registerGlobalEntityID(EntityMummy.class, "mummy", entityID, 0x515838, 0x868F6B); + EntityRegistry.registerModEntity(EntityMummy.class, "mummy", entityID, Atum.instance, 64, 1, true); - entityID++; - EntityRegistry.registerModEntity(EntityBanditWarrior.class, "banditWarrior", entityID, Atum.instance, 64, 1, true); + entityID = EntityRegistry.findGlobalUniqueEntityId(); EntityRegistry.registerGlobalEntityID(EntityBanditWarrior.class, "banditWarrior", entityID, 0xC2C2C2, 0x040F85); + EntityRegistry.registerModEntity(EntityBanditWarrior.class, "banditWarrior", entityID, Atum.instance, 64, 1, true); + - entityID++; - EntityRegistry.registerModEntity(EntityBanditArcher.class, "banditArcher", entityID, Atum.instance, 64, 1, true); + entityID = EntityRegistry.findGlobalUniqueEntityId(); EntityRegistry.registerGlobalEntityID(EntityBanditArcher.class, "banditArcher", entityID, 0xC2C2C2, 0x7E0C0C); + EntityRegistry.registerModEntity(EntityBanditArcher.class, "banditArcher", entityID, Atum.instance, 64, 1, true); + - entityID++; - EntityRegistry.registerModEntity(EntityPharaoh.class, "pharaoh", entityID, Atum.instance, 64, 1, true); + entityID = EntityRegistry.findGlobalUniqueEntityId(); EntityRegistry.registerGlobalEntityID(EntityPharaoh.class, "pharaoh", entityID, 0xD4BC37, 0x3A4BE0); + EntityRegistry.registerModEntity(EntityPharaoh.class, "pharaoh", entityID, Atum.instance, 64, 1, true); + - entityID++; - EntityRegistry.registerModEntity(EntityDustySkeleton.class, "dustySkeleton", entityID, Atum.instance, 64, 1, true); + entityID = EntityRegistry.findGlobalUniqueEntityId(); EntityRegistry.registerGlobalEntityID(EntityDustySkeleton.class, "dustySkeleton", entityID, 0xB59C7D, 0x6F5C43); + EntityRegistry.registerModEntity(EntityDustySkeleton.class, "dustySkeleton", entityID, Atum.instance, 64, 1, true); + - entityID++; - EntityRegistry.registerModEntity(EntityGhost.class, "desertGhost", entityID, Atum.instance, 64, 1, true); + entityID = EntityRegistry.findGlobalUniqueEntityId(); EntityRegistry.registerGlobalEntityID(EntityGhost.class, "desertGhost", entityID, 0xE7DBC8, 0xAD9467); + EntityRegistry.registerModEntity(EntityGhost.class, "desertGhost", entityID, Atum.instance, 64, 1, true); + - entityID++; - EntityRegistry.registerModEntity(EntityStoneSoldier.class, "stoneSoldier", entityID, Atum.instance, 64, 1, true); + entityID = EntityRegistry.findGlobalUniqueEntityId(); EntityRegistry.registerGlobalEntityID(EntityStoneSoldier.class, "stoneSoldier", entityID, 0x918354, 0x695D37); + EntityRegistry.registerModEntity(EntityStoneSoldier.class, "stoneSoldier", entityID, Atum.instance, 64, 1, true); + - entityID++; - EntityRegistry.registerModEntity(EntityDesertWolf.class, "desertWolf", entityID, Atum.instance, 64, 1, true); + entityID = EntityRegistry.findGlobalUniqueEntityId(); EntityRegistry.registerGlobalEntityID(EntityDesertWolf.class, "desertWolf", entityID, 0x918354, 0x695D37); + EntityRegistry.registerModEntity(EntityDesertWolf.class, "desertWolf", entityID, Atum.instance, 64, 1, true); + - entityID++; - EntityRegistry.registerModEntity(EntityBanditWarlord.class, "banditWarlord", entityID, Atum.instance, 64, 1, true); + entityID = EntityRegistry.findGlobalUniqueEntityId(); EntityRegistry.registerGlobalEntityID(EntityBanditWarlord.class, "banditWarlord", entityID, 0x918354, 0x695D37); + EntityRegistry.registerModEntity(EntityBanditWarlord.class, "banditWarlord", entityID, Atum.instance, 64, 1, true); + - entityID++; - EntityRegistry.registerModEntity(EntityBarbarian.class, "barbarian", entityID, Atum.instance, 64, 1, true); + entityID = EntityRegistry.findGlobalUniqueEntityId(); EntityRegistry.registerGlobalEntityID(EntityBarbarian.class, "barbarian", entityID, 0x918354, 0x695D37); + EntityRegistry.registerModEntity(EntityBarbarian.class, "barbarian", entityID, Atum.instance, 64, 1, true); + - entityID++; + entityID = EntityRegistry.findGlobalUniqueEntityId(); EntityRegistry.registerModEntity(EntityArrowVelocity.class, "ArrowVeloctiy", entityID, Atum.instance, 64, 1, true); - entityID++; + entityID = EntityRegistry.findGlobalUniqueEntityId(); EntityRegistry.registerModEntity(EntityArrowExplosive.class, "ArrowExplosive", entityID, Atum.instance, 64, 1, true); - entityID++; + entityID = EntityRegistry.findGlobalUniqueEntityId(); EntityRegistry.registerModEntity(EntityArrowPoison.class, "ArrowPoison", entityID, Atum.instance, 64, 1, true); - entityID++; + entityID = EntityRegistry.findGlobalUniqueEntityId(); EntityRegistry.registerModEntity(EntityArrowFire.class, "ArrowFire", entityID, Atum.instance, 64, 1, true); - entityID++; + entityID = EntityRegistry.findGlobalUniqueEntityId(); EntityRegistry.registerModEntity(EntityArrowDoubleShot.class, "ArrowFire", entityID, Atum.instance, 64, 1, true); - entityID++; + entityID = EntityRegistry.findGlobalUniqueEntityId(); EntityRegistry.registerModEntity(EntityArrowQuickdraw.class, "ArrowFire", entityID, Atum.instance, 64, 1, true); - entityID++; + entityID = EntityRegistry.findGlobalUniqueEntityId(); EntityRegistry.registerModEntity(EntityNutsCall.class, "EntityNutsCall", entityID, Atum.instance, 64, 1, true); - entityID++; + entityID = EntityRegistry.findGlobalUniqueEntityId(); EntityRegistry.registerModEntity(EntityAtumFishHook.class, "EntityAtumFishHook", entityID, Atum.instance, 64, 1, false); } From 737ac61dd121397a687c4cedfec5630cd23f9720 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Sun, 5 Oct 2014 17:43:36 +0300 Subject: [PATCH 072/157] Fixes unlocalized message of opening the spawner chest near enemies --- .../atum/blocks/tileentity/chests/TileEntityChestSpawner.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java index cfc9733..f204119 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java @@ -202,7 +202,7 @@ public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer) { List list = super.worldObj.getEntitiesWithinAABB(EntityMob.class, AxisAlignedBB.getBoundingBox((double) super.xCoord - d0, (double) super.yCoord - d1, (double) super.zCoord - d0, (double) super.xCoord + d0, (double) super.yCoord + d1, (double) super.zCoord + d0)); if (!list.isEmpty()) { if (!super.worldObj.isRemote) { - par1EntityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chat.Atum.enemies"))); + par1EntityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("chat.atum.enemies"))); } return false; From 3420602a38cc6a00f0e09ae0b2cb046e28f2c00d Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Sun, 5 Oct 2014 17:53:56 +0300 Subject: [PATCH 073/157] Fixes entity names --- .../atum/entity/AtumEntities.java | 56 +++++++++---------- .../resources/assets/atum/lang/en_US.lang | 2 +- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java b/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java index 1baaa44..3a36ad2 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java +++ b/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java @@ -11,70 +11,70 @@ public void register() { int entityID; entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerGlobalEntityID(EntityMummy.class, "mummy", entityID, 0x515838, 0x868F6B); - EntityRegistry.registerModEntity(EntityMummy.class, "mummy", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityMummy.class, "atum.mummy", entityID, 0x515838, 0x868F6B); + EntityRegistry.registerModEntity(EntityMummy.class, "atum.mummy", entityID, Atum.instance, 64, 1, true); entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerGlobalEntityID(EntityBanditWarrior.class, "banditWarrior", entityID, 0xC2C2C2, 0x040F85); - EntityRegistry.registerModEntity(EntityBanditWarrior.class, "banditWarrior", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityBanditWarrior.class, "atum.banditWarrior", entityID, 0xC2C2C2, 0x040F85); + EntityRegistry.registerModEntity(EntityBanditWarrior.class, "atum.banditWarrior", entityID, Atum.instance, 64, 1, true); entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerGlobalEntityID(EntityBanditArcher.class, "banditArcher", entityID, 0xC2C2C2, 0x7E0C0C); - EntityRegistry.registerModEntity(EntityBanditArcher.class, "banditArcher", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityBanditArcher.class, "atum.banditArcher", entityID, 0xC2C2C2, 0x7E0C0C); + EntityRegistry.registerModEntity(EntityBanditArcher.class, "atum.banditArcher", entityID, Atum.instance, 64, 1, true); entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerGlobalEntityID(EntityPharaoh.class, "pharaoh", entityID, 0xD4BC37, 0x3A4BE0); - EntityRegistry.registerModEntity(EntityPharaoh.class, "pharaoh", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityPharaoh.class, "atum.pharaoh", entityID, 0xD4BC37, 0x3A4BE0); + EntityRegistry.registerModEntity(EntityPharaoh.class, "atum.pharaoh", entityID, Atum.instance, 64, 1, true); entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerGlobalEntityID(EntityDustySkeleton.class, "dustySkeleton", entityID, 0xB59C7D, 0x6F5C43); - EntityRegistry.registerModEntity(EntityDustySkeleton.class, "dustySkeleton", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityDustySkeleton.class, "atum.dustySkeleton", entityID, 0xB59C7D, 0x6F5C43); + EntityRegistry.registerModEntity(EntityDustySkeleton.class, "atum.dustySkeleton", entityID, Atum.instance, 64, 1, true); entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerGlobalEntityID(EntityGhost.class, "desertGhost", entityID, 0xE7DBC8, 0xAD9467); - EntityRegistry.registerModEntity(EntityGhost.class, "desertGhost", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityGhost.class, "atum.desertGhost", entityID, 0xE7DBC8, 0xAD9467); + EntityRegistry.registerModEntity(EntityGhost.class, "atum.desertGhost", entityID, Atum.instance, 64, 1, true); entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerGlobalEntityID(EntityStoneSoldier.class, "stoneSoldier", entityID, 0x918354, 0x695D37); - EntityRegistry.registerModEntity(EntityStoneSoldier.class, "stoneSoldier", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityStoneSoldier.class, "atum.stoneSoldier", entityID, 0x918354, 0x695D37); + EntityRegistry.registerModEntity(EntityStoneSoldier.class, "atum.stoneSoldier", entityID, Atum.instance, 64, 1, true); entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerGlobalEntityID(EntityDesertWolf.class, "desertWolf", entityID, 0x918354, 0x695D37); - EntityRegistry.registerModEntity(EntityDesertWolf.class, "desertWolf", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityDesertWolf.class, "atum.desertWolf", entityID, 0x918354, 0x695D37); + EntityRegistry.registerModEntity(EntityDesertWolf.class, "atum.desertWolf", entityID, Atum.instance, 64, 1, true); entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerGlobalEntityID(EntityBanditWarlord.class, "banditWarlord", entityID, 0x918354, 0x695D37); - EntityRegistry.registerModEntity(EntityBanditWarlord.class, "banditWarlord", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityBanditWarlord.class, "atum.banditWarlord", entityID, 0x918354, 0x695D37); + EntityRegistry.registerModEntity(EntityBanditWarlord.class, "atum.banditWarlord", entityID, Atum.instance, 64, 1, true); entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerGlobalEntityID(EntityBarbarian.class, "barbarian", entityID, 0x918354, 0x695D37); - EntityRegistry.registerModEntity(EntityBarbarian.class, "barbarian", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityBarbarian.class, "atum.barbarian", entityID, 0x918354, 0x695D37); + EntityRegistry.registerModEntity(EntityBarbarian.class, "atum.barbarian", entityID, Atum.instance, 64, 1, true); entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityArrowVelocity.class, "ArrowVeloctiy", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityArrowVelocity.class, "atum.ArrowVeloctiy", entityID, Atum.instance, 64, 1, true); entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityArrowExplosive.class, "ArrowExplosive", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityArrowExplosive.class, "atum.ArrowExplosive", entityID, Atum.instance, 64, 1, true); entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityArrowPoison.class, "ArrowPoison", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityArrowPoison.class, "atum.ArrowPoison", entityID, Atum.instance, 64, 1, true); entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityArrowFire.class, "ArrowFire", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityArrowFire.class, "atum.ArrowFire", entityID, Atum.instance, 64, 1, true); entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityArrowDoubleShot.class, "ArrowFire", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityArrowDoubleShot.class, "atum.ArrowFire", entityID, Atum.instance, 64, 1, true); entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityArrowQuickdraw.class, "ArrowFire", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityArrowQuickdraw.class, "atum.ArrowFire", entityID, Atum.instance, 64, 1, true); entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityNutsCall.class, "EntityNutsCall", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityNutsCall.class, "atum.EntityNutsCall", entityID, Atum.instance, 64, 1, true); entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityAtumFishHook.class, "EntityAtumFishHook", entityID, Atum.instance, 64, 1, false); + EntityRegistry.registerModEntity(EntityAtumFishHook.class, "atum.EntityAtumFishHook", entityID, Atum.instance, 64, 1, false); } diff --git a/src/main/resources/assets/atum/lang/en_US.lang b/src/main/resources/assets/atum/lang/en_US.lang index c36027d..5515ae7 100644 --- a/src/main/resources/assets/atum/lang/en_US.lang +++ b/src/main/resources/assets/atum/lang/en_US.lang @@ -266,7 +266,7 @@ item.loot.scepter.name=Scepter # Entity entity.atum.mummy.name=Mummy -entity.atum.nanditWarrior.name=Bandit Warrior +entity.atum.banditWarrior.name=Bandit Warrior entity.atum.banditArcher.name=Bandit Archer entity.atum.pharaoh.name=Pharaoh entity.atum.dustySkeleton.name=Dusty Skeleton From 3b816a906376782600b411e30edfa45a1cf28a94 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Tue, 7 Oct 2014 22:35:33 +0300 Subject: [PATCH 074/157] Adds automated version numbering and mcmod.info, closes #15 --- build.gradle | 8 ++++---- src/main/java/com/teammetallurgy/atum/Atum.java | 4 ++-- src/main/resources/mcmod.info | 16 ++++++++++++++++ 3 files changed, 22 insertions(+), 6 deletions(-) create mode 100644 src/main/resources/mcmod.info diff --git a/build.gradle b/build.gradle index f24cbad..9b5bb6d 100644 --- a/build.gradle +++ b/build.gradle @@ -25,7 +25,7 @@ repositories { apply plugin: 'forge' -version = "4.0" +version = "0.6" group= "com.teammetallurgy.atum" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "Atum" @@ -46,7 +46,7 @@ task buildInfo() { def proc = cmd.execute() proc.waitFor() if (proc.exitValue() == 0) { - ext.revision = proc.text.trim() + ext.revision = "DEV." + proc.text.trim() } else { ext.revision = "GITBORK" } @@ -72,7 +72,7 @@ version = "${config.minecraft_version}-${artifact_version}" processResources { // this will ensure that this task is redone when the versions change. - inputs.property "version", project.version + inputs.property "version", project.artifact_version inputs.property "mcversion", project.minecraft.version // replace stuff in mcmod.info, nothing else @@ -80,7 +80,7 @@ processResources include 'mcmod.info' // replace version and mcversion - expand 'version':project.version, 'mcversion':project.minecraft.version + expand 'version':project.artifact_version, 'mcversion':project.minecraft.version } // copy everything else, thats not the mcmod.info diff --git a/src/main/java/com/teammetallurgy/atum/Atum.java b/src/main/java/com/teammetallurgy/atum/Atum.java index 5df1927..e5372eb 100644 --- a/src/main/java/com/teammetallurgy/atum/Atum.java +++ b/src/main/java/com/teammetallurgy/atum/Atum.java @@ -22,8 +22,8 @@ @Mod(modid = Atum.MODID, name = Atum.NAME, version = Atum.VERSION) public class Atum { public static final String MODID = "atum"; - public static final String NAME = "Atum"; - public static final String VERSION = "0.6.13"; + public static final String NAME = "Atum: Journey Into the Sands"; + public static final String VERSION = "0.6"; public static Logger LOGGER ; @Instance(Atum.MODID) diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info new file mode 100644 index 0000000..13aa753 --- /dev/null +++ b/src/main/resources/mcmod.info @@ -0,0 +1,16 @@ +[ +{ + "modid": "atum", + "name": "Atum", + "description": "Atum is a dimension mod that opens up a whole new desert dimension that contains an eternal world full of sand, temples, and tons of new foes. Journey into Atum and discover ancient artifacts as you battle your way through vicious new enemies!\nAtum is not for the faint of heart! Bring your best armor, weapon, and food/torches before you embark!", + "version": "${version}", + "mcversion": "${mcversion}", + "url": "http://www.curse.com/mc-mods/minecraft/atum", + "updateUrl": "", + "authorList": ["Shadowclaimer", "lclc98", "RebelKeithy"], + "credits": "KanonBaum, Logomaster256, and DragonChef", + "logoFile": "", + "screenshots": [], + "dependencies": [] +} +] From 7cff25b28780c0a7328a1006cb49f9c1d5895bcd Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Tue, 7 Oct 2014 22:47:35 +0300 Subject: [PATCH 075/157] Reverts the internal mod name to just Atum --- src/main/java/com/teammetallurgy/atum/Atum.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/teammetallurgy/atum/Atum.java b/src/main/java/com/teammetallurgy/atum/Atum.java index e5372eb..37aea59 100644 --- a/src/main/java/com/teammetallurgy/atum/Atum.java +++ b/src/main/java/com/teammetallurgy/atum/Atum.java @@ -22,7 +22,7 @@ @Mod(modid = Atum.MODID, name = Atum.NAME, version = Atum.VERSION) public class Atum { public static final String MODID = "atum"; - public static final String NAME = "Atum: Journey Into the Sands"; + public static final String NAME = "Atum"; public static final String VERSION = "0.6"; public static Logger LOGGER ; From 1d9c491cbfd642880494966d75fdbb6269d103fc Mon Sep 17 00:00:00 2001 From: lclc98 Date: Sun, 12 Oct 2014 11:22:03 +1000 Subject: [PATCH 076/157] Added Config Gui --- .../java/com/teammetallurgy/atum/Atum.java | 6 +-- .../com/teammetallurgy/atum/AtumConfig.java | 42 ++++++++++++------- .../atum/AtumFogEventListener.java | 2 +- .../java/com/teammetallurgy/atum/AtumIDS.java | 10 ----- .../atum/blocks/BlockPortal.java | 9 ++-- .../atum/entity/arrow/EntityAtumFishHook.java | 4 +- .../atum/gui/AtumConfigGui.java | 31 ++++++++++++++ .../atum/gui/AtumGuiFactory.java | 29 +++++++++++++ .../atum/{ => gui}/AtumGuiHandler.java | 2 +- .../teammetallurgy/atum/items/ItemScarab.java | 8 ++-- .../atum/lib/proxy/ClientProxy.java | 5 +-- .../atum/lib/tickhandler/ClientEvents.java | 4 +- .../atum/world/AtumWorldProvider.java | 4 +- .../teammetallurgy/atum/world/AtumWorlds.java | 10 +++-- 14 files changed, 115 insertions(+), 51 deletions(-) delete mode 100644 src/main/java/com/teammetallurgy/atum/AtumIDS.java create mode 100644 src/main/java/com/teammetallurgy/atum/gui/AtumConfigGui.java create mode 100644 src/main/java/com/teammetallurgy/atum/gui/AtumGuiFactory.java rename src/main/java/com/teammetallurgy/atum/{ => gui}/AtumGuiHandler.java (97%) diff --git a/src/main/java/com/teammetallurgy/atum/Atum.java b/src/main/java/com/teammetallurgy/atum/Atum.java index 37aea59..3c212db 100644 --- a/src/main/java/com/teammetallurgy/atum/Atum.java +++ b/src/main/java/com/teammetallurgy/atum/Atum.java @@ -1,5 +1,6 @@ package com.teammetallurgy.atum; +import com.teammetallurgy.atum.gui.AtumGuiHandler; import org.apache.logging.log4j.Logger; import com.teammetallurgy.atum.blocks.AtumBlocks; @@ -19,7 +20,7 @@ import net.minecraft.creativetab.CreativeTabs; import net.minecraftforge.common.MinecraftForge; -@Mod(modid = Atum.MODID, name = Atum.NAME, version = Atum.VERSION) +@Mod(modid = Atum.MODID, name = Atum.NAME, version = Atum.VERSION, guiFactory = "com.teammetallurgy.atum.gui.AtumGuiFactory") public class Atum { public static final String MODID = "atum"; public static final String NAME = "Atum"; @@ -38,8 +39,7 @@ public class Atum { public void preInit(FMLPreInitializationEvent event) { LOGGER = event.getModLog(); LOGGER.info("Loading Configuration"); - AtumConfig config = new AtumConfig(event.getSuggestedConfigurationFile()); - config.load(); + new AtumConfig(event.getSuggestedConfigurationFile()); } @EventHandler diff --git a/src/main/java/com/teammetallurgy/atum/AtumConfig.java b/src/main/java/com/teammetallurgy/atum/AtumConfig.java index 0ace5e7..bd701d9 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumConfig.java +++ b/src/main/java/com/teammetallurgy/atum/AtumConfig.java @@ -1,34 +1,46 @@ package com.teammetallurgy.atum; +import cpw.mods.fml.client.event.ConfigChangedEvent; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.common.config.Configuration; import java.io.File; public class AtumConfig { - private final Configuration CONFIG; + public static Configuration config; - public AtumConfig(File file) { - this.CONFIG = new Configuration(file); - } + public static String general = "general settings"; + public static boolean ALLOW_CREATION; + public static boolean FOG_ENABLED; - public void load() { - this.CONFIG.load(); + public static int DIMENSION_ID; + public static int BIOME_DESERT_ID; - AtumIDS.DIMENSION_ID = getInt("Dimension", "Atum", 17); + public AtumConfig(File file) { + this.config = new Configuration(file); - AtumIDS.BIOME_DESERT_ID = getInt("Biome", "Desert", 200); - AtumIDS.ALLOW_CREATION = getBoolean("Scarab", "Create Portal", true); - AtumIDS.FOG_ENABLED = getBoolean("Fog", "Enabled", true); - this.CONFIG.save(); + FMLCommonHandler.instance().bus().register(this); + syncConfigData(); } + @SubscribeEvent + public void onConfigChange(ConfigChangedEvent.OnConfigChangedEvent event) { - private int getInt(String category, String name, int defaultId) { - return this.CONFIG.get(category, name, defaultId).getInt(); + if (event.modID.equals(Atum.MODID)) + syncConfigData(); } - private boolean getBoolean(String category, String name, boolean defaultId) { - return this.CONFIG.get(category, name, defaultId).getBoolean(true); + private void syncConfigData() { + + ALLOW_CREATION = config.get(general, "Can a non-creative player create a portal?", true).getBoolean(true); + FOG_ENABLED = config.get(general, "Should the client show fog?", true).getBoolean(true); + + DIMENSION_ID = config.get("ID", "The dimension id of Atum", 17).getInt(); + BIOME_DESERT_ID = config.get("ID", "The biomeID of Desert for Atum", 200).getInt(); + + this.config.save(); } + } diff --git a/src/main/java/com/teammetallurgy/atum/AtumFogEventListener.java b/src/main/java/com/teammetallurgy/atum/AtumFogEventListener.java index f5cec94..584ceaf 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumFogEventListener.java +++ b/src/main/java/com/teammetallurgy/atum/AtumFogEventListener.java @@ -10,7 +10,7 @@ public class AtumFogEventListener { @SubscribeEvent public void renderFog(EntityViewRenderEvent.RenderFogEvent event) { - if (event.entity.dimension == AtumIDS.DIMENSION_ID) { + if (event.entity.dimension == AtumConfig.DIMENSION_ID) { GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); GL11.glFogf(GL11.GL_FOG_DENSITY, 0.08F); } diff --git a/src/main/java/com/teammetallurgy/atum/AtumIDS.java b/src/main/java/com/teammetallurgy/atum/AtumIDS.java deleted file mode 100644 index e3f97ce..0000000 --- a/src/main/java/com/teammetallurgy/atum/AtumIDS.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.teammetallurgy.atum; - -public class AtumIDS { - - public static int DIMENSION_ID; - public static int BIOME_DESERT_ID; - - public static boolean ALLOW_CREATION; - public static boolean FOG_ENABLED; -} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java index 1bbaa40..9129eb3 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java @@ -1,6 +1,6 @@ package com.teammetallurgy.atum.blocks; -import com.teammetallurgy.atum.AtumIDS; +import com.teammetallurgy.atum.AtumConfig; import com.teammetallurgy.atum.world.AtumTeleporter; import cpw.mods.fml.common.ObfuscationReflectionHelper; import cpw.mods.fml.relauncher.Side; @@ -117,12 +117,13 @@ public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int p par5Entity.timeUntilPortal = 100; MinecraftServer minecraftserver = MinecraftServer.getServer(); int dimID = par5Entity.dimension; + int atumId = AtumConfig.DIMENSION_ID; WorldServer worldserver = minecraftserver.worldServerForDimension(0); - WorldServer worldserver1 = minecraftserver.worldServerForDimension(AtumIDS.DIMENSION_ID); - if (dimID == AtumIDS.DIMENSION_ID) { + WorldServer worldserver1 = minecraftserver.worldServerForDimension(atumId); + if (dimID == atumId) { minecraftserver.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP) par5Entity, 0, new AtumTeleporter(worldserver)); } else { - minecraftserver.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP) par5Entity, AtumIDS.DIMENSION_ID, new AtumTeleporter(worldserver1)); + minecraftserver.getConfigurationManager().transferPlayerToDimension((EntityPlayerMP) par5Entity, atumId, new AtumTeleporter(worldserver1)); } try { diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java index 7d75c00..18ff6a2 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java @@ -1,7 +1,7 @@ package com.teammetallurgy.atum.entity.arrow; +import com.teammetallurgy.atum.AtumConfig; import com.teammetallurgy.atum.AtumFish; -import com.teammetallurgy.atum.AtumIDS; import com.teammetallurgy.atum.items.AtumItems; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -432,7 +432,7 @@ public int catchFish() { b0 = 3; } else if (this.ticksCatchable > 0) { EntityItem entityitem = new EntityItem(this.worldObj, this.posX, this.posY, this.posZ, new ItemStack(Items.fish)); - if (worldObj.provider.dimensionId == AtumIDS.DIMENSION_ID) + if (worldObj.provider.dimensionId == AtumConfig.DIMENSION_ID) entityitem.setEntityItemStack(AtumFish.getRandomFish()); double d5 = this.angler.posX - this.posX; double d6 = this.angler.posY - this.posY; diff --git a/src/main/java/com/teammetallurgy/atum/gui/AtumConfigGui.java b/src/main/java/com/teammetallurgy/atum/gui/AtumConfigGui.java new file mode 100644 index 0000000..846b413 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/gui/AtumConfigGui.java @@ -0,0 +1,31 @@ +package com.teammetallurgy.atum.gui; + +import com.teammetallurgy.atum.Atum; +import com.teammetallurgy.atum.AtumConfig; +import cpw.mods.fml.client.config.GuiConfig; +import cpw.mods.fml.client.config.IConfigElement; +import net.minecraft.client.gui.GuiScreen; +import net.minecraftforge.common.config.ConfigElement; +import net.minecraftforge.common.config.Configuration; + +import java.util.ArrayList; +import java.util.List; + +public class AtumConfigGui extends GuiConfig { + + static Configuration cfg = AtumConfig.config; + static AtumConfig cfgh; + + public AtumConfigGui(GuiScreen parent) { + super(parent, generateConfigList(), Atum.MODID, false, false, GuiConfig.getAbridgedConfigPath(AtumConfig.config.toString())); + } + + public static List generateConfigList() { + + ArrayList elements = new ArrayList(); + + elements.add(new ConfigElement(cfg.getCategory(cfgh.general))); + System.out.println(cfgh.general); + return elements; + } +} diff --git a/src/main/java/com/teammetallurgy/atum/gui/AtumGuiFactory.java b/src/main/java/com/teammetallurgy/atum/gui/AtumGuiFactory.java new file mode 100644 index 0000000..62c9d3e --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/gui/AtumGuiFactory.java @@ -0,0 +1,29 @@ +package com.teammetallurgy.atum.gui; + +import cpw.mods.fml.client.IModGuiFactory; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiScreen; + +import java.util.Set; + +public class AtumGuiFactory implements IModGuiFactory { + @Override + public void initialize(Minecraft minecraftInstance) { + + } + + @Override + public Class mainConfigGuiClass() { + return AtumConfigGui.class; + } + + @Override + public Set runtimeGuiCategories() { + return null; + } + + @Override + public RuntimeOptionGuiHandler getHandlerFor(RuntimeOptionCategoryElement element) { + return null; + } +} diff --git a/src/main/java/com/teammetallurgy/atum/AtumGuiHandler.java b/src/main/java/com/teammetallurgy/atum/gui/AtumGuiHandler.java similarity index 97% rename from src/main/java/com/teammetallurgy/atum/AtumGuiHandler.java rename to src/main/java/com/teammetallurgy/atum/gui/AtumGuiHandler.java index 5c1a6f5..d6b4dd3 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumGuiHandler.java +++ b/src/main/java/com/teammetallurgy/atum/gui/AtumGuiHandler.java @@ -1,4 +1,4 @@ -package com.teammetallurgy.atum; +package com.teammetallurgy.atum.gui; import com.teammetallurgy.atum.blocks.tileentity.furnace.ContainerLimestoneFurnace; import com.teammetallurgy.atum.blocks.tileentity.furnace.GuiLimestoneFurnace; diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java b/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java index 5b42c22..01224ad 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java @@ -1,6 +1,6 @@ package com.teammetallurgy.atum.items; -import com.teammetallurgy.atum.AtumIDS; +import com.teammetallurgy.atum.AtumConfig; import com.teammetallurgy.atum.blocks.AtumBlocks; import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; @@ -26,8 +26,7 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { @Override public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int x, int y, int z, int par7, float par8, float par9, float par10) { - if (AtumIDS.ALLOW_CREATION) { - + if (AtumConfig.ALLOW_CREATION || par2EntityPlayer.capabilities.isCreativeMode) { Block block = par3World.getBlock(x, y, z); Block temp = null; if (block == Blocks.sandstone) { @@ -36,7 +35,7 @@ public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, temp = AtumBlocks.BLOCK_LARGEBRICK; } if (temp != null) { - if (!(AtumBlocks.BLOCK_PORTAL).tryToCreatePortal(par3World, x, y, z, temp)) { + if (!AtumBlocks.BLOCK_PORTAL.tryToCreatePortal(par3World, x, y, z, temp)) { if (par2EntityPlayer.capabilities.isCreativeMode) { for (int x1 = -2; x1 < 3; x1++) { for (int z1 = -2; z1 < 3; z1++) { @@ -59,6 +58,7 @@ public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, } } } + AtumBlocks.BLOCK_PORTAL.tryToCreatePortal(par3World, x, y, z, temp); } } else { --par2EntityPlayer.getCurrentEquippedItem().stackSize; diff --git a/src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java b/src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java index 00d3190..fc934b8 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java +++ b/src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java @@ -1,7 +1,7 @@ package com.teammetallurgy.atum.lib.proxy; +import com.teammetallurgy.atum.AtumConfig; import com.teammetallurgy.atum.AtumFogEventListener; -import com.teammetallurgy.atum.AtumIDS; import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.blocks.BlockDate; import com.teammetallurgy.atum.blocks.BlockPapyrus; @@ -22,7 +22,6 @@ import com.teammetallurgy.atum.entity.arrow.EntityNutsCall; import com.teammetallurgy.atum.items.AtumItems; import com.teammetallurgy.atum.lib.tickhandler.ClientEvents; - import cpw.mods.fml.client.registry.RenderingRegistry; import net.minecraft.client.model.ModelBiped; import net.minecraft.client.model.ModelZombie; @@ -48,7 +47,7 @@ public void init() { MinecraftForge.EVENT_BUS.register(AtumItems.mnevisHorns); MinecraftForge.EVENT_BUS.register(AtumItems.sekhmetsWrath); - if (AtumIDS.FOG_ENABLED) { + if (AtumConfig.FOG_ENABLED) { MinecraftForge.EVENT_BUS.register(new AtumFogEventListener()); } } diff --git a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientEvents.java b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientEvents.java index 49cfad3..7ed3847 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientEvents.java +++ b/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientEvents.java @@ -1,6 +1,6 @@ package com.teammetallurgy.atum.lib.tickhandler; -import com.teammetallurgy.atum.AtumIDS; +import com.teammetallurgy.atum.AtumConfig; import com.teammetallurgy.atum.items.AtumItems; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.TickEvent; @@ -41,7 +41,7 @@ public void onRender(TickEvent.RenderTickEvent event) { public void onUpdate(TickEvent.PlayerTickEvent event) { EntityPlayer player = event.player; - if (player.dimension == AtumIDS.DIMENSION_ID) { + if (player.dimension == AtumConfig.DIMENSION_ID) { if (player.worldObj.isRaining()) { raining = true; diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumWorldProvider.java b/src/main/java/com/teammetallurgy/atum/world/AtumWorldProvider.java index 44a8b5d..26874f7 100644 --- a/src/main/java/com/teammetallurgy/atum/world/AtumWorldProvider.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumWorldProvider.java @@ -1,6 +1,6 @@ package com.teammetallurgy.atum.world; -import com.teammetallurgy.atum.AtumIDS; +import com.teammetallurgy.atum.AtumConfig; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.util.MathHelper; @@ -18,7 +18,7 @@ public String getDimensionName() { @Override protected void registerWorldChunkManager() { this.worldChunkMgr = new WorldChunkManagerHell(AtumWorlds.BIOME_DESERT, 5); - this.dimensionId = AtumIDS.DIMENSION_ID; + this.dimensionId = AtumConfig.DIMENSION_ID; } @Override diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumWorlds.java b/src/main/java/com/teammetallurgy/atum/world/AtumWorlds.java index d66437f..a8a060f 100644 --- a/src/main/java/com/teammetallurgy/atum/world/AtumWorlds.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumWorlds.java @@ -1,6 +1,6 @@ package com.teammetallurgy.atum.world; -import com.teammetallurgy.atum.AtumIDS; +import com.teammetallurgy.atum.AtumConfig; import com.teammetallurgy.atum.world.biome.BiomeGenAtumDesert; import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.common.DimensionManager; @@ -8,10 +8,12 @@ public enum AtumWorlds { INSTANCE; - public static final BiomeGenBase BIOME_DESERT = new BiomeGenAtumDesert(AtumIDS.BIOME_DESERT_ID); + public static final BiomeGenBase BIOME_DESERT = new BiomeGenAtumDesert(AtumConfig.BIOME_DESERT_ID); public void register() { - DimensionManager.registerProviderType(AtumIDS.DIMENSION_ID, AtumWorldProvider.class, true); - DimensionManager.registerDimension(AtumIDS.DIMENSION_ID, AtumIDS.DIMENSION_ID); + int atumID = AtumConfig.DIMENSION_ID; + + DimensionManager.registerProviderType(atumID, AtumWorldProvider.class, true); + DimensionManager.registerDimension(atumID, atumID); } } From 8699a912fd1e2eb4a7f44713904c62e594c4a825 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Sun, 12 Oct 2014 11:32:11 +1000 Subject: [PATCH 077/157] Moved Classes --- .../java/com/teammetallurgy/atum/Atum.java | 51 +++++++++---------- .../atum/blocks/BlockPharaohChest.java | 2 +- .../atum/blocks/BlockPortal.java | 2 +- .../atum/entity/AtumEntities.java | 3 +- .../atum/entity/EntityPharaoh.java | 2 +- .../atum/entity/arrow/EntityAtumFishHook.java | 4 +- .../atum/gui/AtumConfigGui.java | 6 +-- .../atum/{ => handler}/AtumConfig.java | 5 +- .../atum/{ => handler}/AtumCreativeTab.java | 2 +- .../{lib => }/handler/CraftingHandler.java | 6 +-- .../event}/AtumEventListener.java | 2 +- .../event}/AtumFogEventListener.java | 3 +- .../event}/ClientEvents.java | 4 +- .../event}/ServerEvents.java | 2 +- .../atum/{ => items}/AtumFish.java | 3 +- .../atum/{ => items}/AtumLoot.java | 7 +-- .../atum/{ => items}/AtumWeightedLootSet.java | 2 +- .../teammetallurgy/atum/items/ItemScarab.java | 2 +- .../atum/{lib => }/proxy/ClientProxy.java | 8 +-- .../atum/{lib => }/proxy/CommonProxy.java | 4 +- .../teammetallurgy/atum/utils/Constants.java | 15 ++++++ .../atum/world/AtumWorldProvider.java | 2 +- .../teammetallurgy/atum/world/AtumWorlds.java | 6 +-- .../atum/world/decorators/WorldGenOasis.java | 2 +- .../world/decorators/WorldGenPyramid.java | 2 +- .../atum/world/decorators/WorldGenRuins.java | 2 +- 26 files changed, 77 insertions(+), 72 deletions(-) rename src/main/java/com/teammetallurgy/atum/{ => handler}/AtumConfig.java (90%) rename src/main/java/com/teammetallurgy/atum/{ => handler}/AtumCreativeTab.java (89%) rename src/main/java/com/teammetallurgy/atum/{lib => }/handler/CraftingHandler.java (98%) rename src/main/java/com/teammetallurgy/atum/{ => handler/event}/AtumEventListener.java (98%) rename src/main/java/com/teammetallurgy/atum/{ => handler/event}/AtumFogEventListener.java (82%) rename src/main/java/com/teammetallurgy/atum/{lib/tickhandler => handler/event}/ClientEvents.java (96%) rename src/main/java/com/teammetallurgy/atum/{lib/tickhandler => handler/event}/ServerEvents.java (97%) rename src/main/java/com/teammetallurgy/atum/{ => items}/AtumFish.java (90%) rename src/main/java/com/teammetallurgy/atum/{ => items}/AtumLoot.java (96%) rename src/main/java/com/teammetallurgy/atum/{ => items}/AtumWeightedLootSet.java (98%) rename src/main/java/com/teammetallurgy/atum/{lib => }/proxy/ClientProxy.java (96%) rename src/main/java/com/teammetallurgy/atum/{lib => }/proxy/CommonProxy.java (73%) create mode 100644 src/main/java/com/teammetallurgy/atum/utils/Constants.java diff --git a/src/main/java/com/teammetallurgy/atum/Atum.java b/src/main/java/com/teammetallurgy/atum/Atum.java index 3c212db..bb45629 100644 --- a/src/main/java/com/teammetallurgy/atum/Atum.java +++ b/src/main/java/com/teammetallurgy/atum/Atum.java @@ -1,15 +1,17 @@ package com.teammetallurgy.atum; -import com.teammetallurgy.atum.gui.AtumGuiHandler; -import org.apache.logging.log4j.Logger; - import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.entity.AtumEntities; +import com.teammetallurgy.atum.gui.AtumGuiHandler; +import com.teammetallurgy.atum.handler.AtumConfig; +import com.teammetallurgy.atum.handler.AtumCreativeTab; +import com.teammetallurgy.atum.handler.event.AtumEventListener; import com.teammetallurgy.atum.items.AtumItems; -import com.teammetallurgy.atum.lib.handler.CraftingHandler; -import com.teammetallurgy.atum.lib.proxy.CommonProxy; +import com.teammetallurgy.atum.handler.CraftingHandler; +import com.teammetallurgy.atum.items.AtumLoot; +import com.teammetallurgy.atum.proxy.CommonProxy; +import com.teammetallurgy.atum.utils.Constants; import com.teammetallurgy.atum.world.AtumWorlds; - import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; @@ -20,49 +22,44 @@ import net.minecraft.creativetab.CreativeTabs; import net.minecraftforge.common.MinecraftForge; -@Mod(modid = Atum.MODID, name = Atum.NAME, version = Atum.VERSION, guiFactory = "com.teammetallurgy.atum.gui.AtumGuiFactory") +@Mod(modid = Constants.MODID, name = Constants.MOD_NAME, version = Constants.VERSION, guiFactory = Constants.FACTORY) public class Atum { - public static final String MODID = "atum"; - public static final String NAME = "Atum"; - public static final String VERSION = "0.6"; - public static Logger LOGGER ; - @Instance(Atum.MODID) + @Instance(Constants.MODID) public static Atum instance; - @SidedProxy(clientSide = "com.teammetallurgy.atum.lib.proxy.ClientProxy", serverSide = "com.teammetallurgy.atum.lib.proxy.CommonProxy") + @SidedProxy(clientSide = Constants.CLIENT, serverSide = Constants.SERVER) public static CommonProxy proxy; public static CreativeTabs creativeTab = new AtumCreativeTab(); @EventHandler public void preInit(FMLPreInitializationEvent event) { - LOGGER = event.getModLog(); - LOGGER.info("Loading Configuration"); - new AtumConfig(event.getSuggestedConfigurationFile()); + Constants.LOG.info("Loading Configuration"); + new AtumConfig(event.getSuggestedConfigurationFile()); } @EventHandler public void init(FMLInitializationEvent event) { - LOGGER.info("Register Blocks"); + Constants.LOG.info("Register Blocks"); new AtumBlocks(); - LOGGER.info("Register Item"); + Constants.LOG.info("Register Item"); new AtumItems(); - LOGGER.info("Register Crafting Recipes"); - CraftingHandler.INSTANCE.register(); + Constants.LOG.info("Register Crafting Recipes"); + new CraftingHandler().register(); - LOGGER.info("Register World"); - AtumWorlds.INSTANCE.register(); + Constants.LOG.info("Register World"); + new AtumWorlds().register(); - LOGGER.info("Register Entity"); - AtumEntities.INSTANCE.register(); + Constants.LOG.info("Register Entity"); + new AtumEntities().register(); - LOGGER.info("Register Loot"); - AtumLoot.INSTANCE.register(); + Constants.LOG.info("Register Loot"); + new AtumLoot().register(); - LOGGER.info("Proxy Init"); + Constants.LOG.info("Proxy Init"); proxy.init(); proxy.initRenders(); proxy.initTiles(); diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java index 62c1e46..adc0200 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPharaohChest.java @@ -1,6 +1,6 @@ package com.teammetallurgy.atum.blocks; -import com.teammetallurgy.atum.AtumLoot; +import com.teammetallurgy.atum.items.AtumLoot; import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityPharaohChest; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java index 9129eb3..a28419d 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java @@ -1,6 +1,6 @@ package com.teammetallurgy.atum.blocks; -import com.teammetallurgy.atum.AtumConfig; +import com.teammetallurgy.atum.handler.AtumConfig; import com.teammetallurgy.atum.world.AtumTeleporter; import cpw.mods.fml.common.ObfuscationReflectionHelper; import cpw.mods.fml.relauncher.Side; diff --git a/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java b/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java index 3a36ad2..017acc4 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java +++ b/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java @@ -4,8 +4,7 @@ import com.teammetallurgy.atum.entity.arrow.*; import cpw.mods.fml.common.registry.EntityRegistry; -public enum AtumEntities { - INSTANCE; +public class AtumEntities { public void register() { int entityID; diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java b/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java index 9f9445a..674c3bb 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java @@ -1,6 +1,6 @@ package com.teammetallurgy.atum.entity; -import com.teammetallurgy.atum.AtumLoot; +import com.teammetallurgy.atum.items.AtumLoot; import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityPharaohChest; import com.teammetallurgy.atum.items.AtumItems; diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java index 18ff6a2..71a76ce 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java @@ -1,7 +1,7 @@ package com.teammetallurgy.atum.entity.arrow; -import com.teammetallurgy.atum.AtumConfig; -import com.teammetallurgy.atum.AtumFish; +import com.teammetallurgy.atum.handler.AtumConfig; +import com.teammetallurgy.atum.items.AtumFish; import com.teammetallurgy.atum.items.AtumItems; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; diff --git a/src/main/java/com/teammetallurgy/atum/gui/AtumConfigGui.java b/src/main/java/com/teammetallurgy/atum/gui/AtumConfigGui.java index 846b413..e206043 100644 --- a/src/main/java/com/teammetallurgy/atum/gui/AtumConfigGui.java +++ b/src/main/java/com/teammetallurgy/atum/gui/AtumConfigGui.java @@ -1,7 +1,7 @@ package com.teammetallurgy.atum.gui; -import com.teammetallurgy.atum.Atum; -import com.teammetallurgy.atum.AtumConfig; +import com.teammetallurgy.atum.handler.AtumConfig; +import com.teammetallurgy.atum.utils.Constants; import cpw.mods.fml.client.config.GuiConfig; import cpw.mods.fml.client.config.IConfigElement; import net.minecraft.client.gui.GuiScreen; @@ -17,7 +17,7 @@ public class AtumConfigGui extends GuiConfig { static AtumConfig cfgh; public AtumConfigGui(GuiScreen parent) { - super(parent, generateConfigList(), Atum.MODID, false, false, GuiConfig.getAbridgedConfigPath(AtumConfig.config.toString())); + super(parent, generateConfigList(), Constants.MODID, false, false, GuiConfig.getAbridgedConfigPath(AtumConfig.config.toString())); } public static List generateConfigList() { diff --git a/src/main/java/com/teammetallurgy/atum/AtumConfig.java b/src/main/java/com/teammetallurgy/atum/handler/AtumConfig.java similarity index 90% rename from src/main/java/com/teammetallurgy/atum/AtumConfig.java rename to src/main/java/com/teammetallurgy/atum/handler/AtumConfig.java index bd701d9..bba438c 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumConfig.java +++ b/src/main/java/com/teammetallurgy/atum/handler/AtumConfig.java @@ -1,5 +1,6 @@ -package com.teammetallurgy.atum; +package com.teammetallurgy.atum.handler; +import com.teammetallurgy.atum.utils.Constants; import cpw.mods.fml.client.event.ConfigChangedEvent; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.eventhandler.SubscribeEvent; @@ -28,7 +29,7 @@ public AtumConfig(File file) { @SubscribeEvent public void onConfigChange(ConfigChangedEvent.OnConfigChangedEvent event) { - if (event.modID.equals(Atum.MODID)) + if (event.modID.equals(Constants.MODID)) syncConfigData(); } diff --git a/src/main/java/com/teammetallurgy/atum/AtumCreativeTab.java b/src/main/java/com/teammetallurgy/atum/handler/AtumCreativeTab.java similarity index 89% rename from src/main/java/com/teammetallurgy/atum/AtumCreativeTab.java rename to src/main/java/com/teammetallurgy/atum/handler/AtumCreativeTab.java index 8fee8c5..ba995d2 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumCreativeTab.java +++ b/src/main/java/com/teammetallurgy/atum/handler/AtumCreativeTab.java @@ -1,4 +1,4 @@ -package com.teammetallurgy.atum; +package com.teammetallurgy.atum.handler; import com.teammetallurgy.atum.items.AtumItems; import net.minecraft.creativetab.CreativeTabs; diff --git a/src/main/java/com/teammetallurgy/atum/lib/handler/CraftingHandler.java b/src/main/java/com/teammetallurgy/atum/handler/CraftingHandler.java similarity index 98% rename from src/main/java/com/teammetallurgy/atum/lib/handler/CraftingHandler.java rename to src/main/java/com/teammetallurgy/atum/handler/CraftingHandler.java index 0d77d62..afff155 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/handler/CraftingHandler.java +++ b/src/main/java/com/teammetallurgy/atum/handler/CraftingHandler.java @@ -1,4 +1,4 @@ -package com.teammetallurgy.atum.lib.handler; +package com.teammetallurgy.atum.handler; import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.items.AtumItems; @@ -10,9 +10,7 @@ import net.minecraftforge.oredict.ShapedOreRecipe; import net.minecraftforge.oredict.ShapelessOreRecipe; -public enum CraftingHandler { - INSTANCE; - +public class CraftingHandler { public void register() { addRecipes(); addSmeltingRecipes(); diff --git a/src/main/java/com/teammetallurgy/atum/AtumEventListener.java b/src/main/java/com/teammetallurgy/atum/handler/event/AtumEventListener.java similarity index 98% rename from src/main/java/com/teammetallurgy/atum/AtumEventListener.java rename to src/main/java/com/teammetallurgy/atum/handler/event/AtumEventListener.java index 3b74628..31abd56 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumEventListener.java +++ b/src/main/java/com/teammetallurgy/atum/handler/event/AtumEventListener.java @@ -1,4 +1,4 @@ -package com.teammetallurgy.atum; +package com.teammetallurgy.atum.handler.event; import java.util.Random; diff --git a/src/main/java/com/teammetallurgy/atum/AtumFogEventListener.java b/src/main/java/com/teammetallurgy/atum/handler/event/AtumFogEventListener.java similarity index 82% rename from src/main/java/com/teammetallurgy/atum/AtumFogEventListener.java rename to src/main/java/com/teammetallurgy/atum/handler/event/AtumFogEventListener.java index 584ceaf..f00898d 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumFogEventListener.java +++ b/src/main/java/com/teammetallurgy/atum/handler/event/AtumFogEventListener.java @@ -1,5 +1,6 @@ -package com.teammetallurgy.atum; +package com.teammetallurgy.atum.handler.event; +import com.teammetallurgy.atum.handler.AtumConfig; import net.minecraftforge.client.event.EntityViewRenderEvent; import org.lwjgl.opengl.GL11; diff --git a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientEvents.java b/src/main/java/com/teammetallurgy/atum/handler/event/ClientEvents.java similarity index 96% rename from src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientEvents.java rename to src/main/java/com/teammetallurgy/atum/handler/event/ClientEvents.java index 7ed3847..0fcb26e 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ClientEvents.java +++ b/src/main/java/com/teammetallurgy/atum/handler/event/ClientEvents.java @@ -1,6 +1,6 @@ -package com.teammetallurgy.atum.lib.tickhandler; +package com.teammetallurgy.atum.handler.event; -import com.teammetallurgy.atum.AtumConfig; +import com.teammetallurgy.atum.handler.AtumConfig; import com.teammetallurgy.atum.items.AtumItems; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.TickEvent; diff --git a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ServerEvents.java b/src/main/java/com/teammetallurgy/atum/handler/event/ServerEvents.java similarity index 97% rename from src/main/java/com/teammetallurgy/atum/lib/tickhandler/ServerEvents.java rename to src/main/java/com/teammetallurgy/atum/handler/event/ServerEvents.java index a1f85c0..ccc93b9 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/tickhandler/ServerEvents.java +++ b/src/main/java/com/teammetallurgy/atum/handler/event/ServerEvents.java @@ -1,4 +1,4 @@ -package com.teammetallurgy.atum.lib.tickhandler; +package com.teammetallurgy.atum.handler.event; import com.teammetallurgy.atum.items.AtumItems; import cpw.mods.fml.common.eventhandler.SubscribeEvent; diff --git a/src/main/java/com/teammetallurgy/atum/AtumFish.java b/src/main/java/com/teammetallurgy/atum/items/AtumFish.java similarity index 90% rename from src/main/java/com/teammetallurgy/atum/AtumFish.java rename to src/main/java/com/teammetallurgy/atum/items/AtumFish.java index e66de3f..d9eb597 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumFish.java +++ b/src/main/java/com/teammetallurgy/atum/items/AtumFish.java @@ -1,6 +1,5 @@ -package com.teammetallurgy.atum; +package com.teammetallurgy.atum.items; -import com.teammetallurgy.atum.items.AtumItems; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; diff --git a/src/main/java/com/teammetallurgy/atum/AtumLoot.java b/src/main/java/com/teammetallurgy/atum/items/AtumLoot.java similarity index 96% rename from src/main/java/com/teammetallurgy/atum/AtumLoot.java rename to src/main/java/com/teammetallurgy/atum/items/AtumLoot.java index 02a004b..08006c2 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumLoot.java +++ b/src/main/java/com/teammetallurgy/atum/items/AtumLoot.java @@ -1,8 +1,6 @@ -package com.teammetallurgy.atum; +package com.teammetallurgy.atum.items; import com.teammetallurgy.atum.blocks.AtumBlocks; -import com.teammetallurgy.atum.items.AtumItems; -import com.teammetallurgy.atum.items.ItemLoot; import net.minecraft.init.Items; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; @@ -11,8 +9,7 @@ import java.util.List; import java.util.Random; -public enum AtumLoot { - INSTANCE; +public class AtumLoot { public static List artifacts; public static AtumWeightedLootSet goodLoot; diff --git a/src/main/java/com/teammetallurgy/atum/AtumWeightedLootSet.java b/src/main/java/com/teammetallurgy/atum/items/AtumWeightedLootSet.java similarity index 98% rename from src/main/java/com/teammetallurgy/atum/AtumWeightedLootSet.java rename to src/main/java/com/teammetallurgy/atum/items/AtumWeightedLootSet.java index 685a210..ef0e76e 100644 --- a/src/main/java/com/teammetallurgy/atum/AtumWeightedLootSet.java +++ b/src/main/java/com/teammetallurgy/atum/items/AtumWeightedLootSet.java @@ -1,4 +1,4 @@ -package com.teammetallurgy.atum; +package com.teammetallurgy.atum.items; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentData; diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java b/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java index 01224ad..f712f61 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java @@ -1,6 +1,6 @@ package com.teammetallurgy.atum.items; -import com.teammetallurgy.atum.AtumConfig; +import com.teammetallurgy.atum.handler.AtumConfig; import com.teammetallurgy.atum.blocks.AtumBlocks; import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; diff --git a/src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java b/src/main/java/com/teammetallurgy/atum/proxy/ClientProxy.java similarity index 96% rename from src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java rename to src/main/java/com/teammetallurgy/atum/proxy/ClientProxy.java index fc934b8..8b2a5bc 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/proxy/ClientProxy.java +++ b/src/main/java/com/teammetallurgy/atum/proxy/ClientProxy.java @@ -1,7 +1,7 @@ -package com.teammetallurgy.atum.lib.proxy; +package com.teammetallurgy.atum.proxy; -import com.teammetallurgy.atum.AtumConfig; -import com.teammetallurgy.atum.AtumFogEventListener; +import com.teammetallurgy.atum.handler.AtumConfig; +import com.teammetallurgy.atum.handler.event.AtumFogEventListener; import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.blocks.BlockDate; import com.teammetallurgy.atum.blocks.BlockPapyrus; @@ -21,7 +21,7 @@ import com.teammetallurgy.atum.entity.arrow.EntityAtumFishHook; import com.teammetallurgy.atum.entity.arrow.EntityNutsCall; import com.teammetallurgy.atum.items.AtumItems; -import com.teammetallurgy.atum.lib.tickhandler.ClientEvents; +import com.teammetallurgy.atum.handler.event.ClientEvents; import cpw.mods.fml.client.registry.RenderingRegistry; import net.minecraft.client.model.ModelBiped; import net.minecraft.client.model.ModelZombie; diff --git a/src/main/java/com/teammetallurgy/atum/lib/proxy/CommonProxy.java b/src/main/java/com/teammetallurgy/atum/proxy/CommonProxy.java similarity index 73% rename from src/main/java/com/teammetallurgy/atum/lib/proxy/CommonProxy.java rename to src/main/java/com/teammetallurgy/atum/proxy/CommonProxy.java index 723eca9..ea33723 100644 --- a/src/main/java/com/teammetallurgy/atum/lib/proxy/CommonProxy.java +++ b/src/main/java/com/teammetallurgy/atum/proxy/CommonProxy.java @@ -1,6 +1,6 @@ -package com.teammetallurgy.atum.lib.proxy; +package com.teammetallurgy.atum.proxy; -import com.teammetallurgy.atum.lib.tickhandler.ServerEvents; +import com.teammetallurgy.atum.handler.event.ServerEvents; import net.minecraftforge.common.MinecraftForge; public class CommonProxy { diff --git a/src/main/java/com/teammetallurgy/atum/utils/Constants.java b/src/main/java/com/teammetallurgy/atum/utils/Constants.java new file mode 100644 index 0000000..848c1ef --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/utils/Constants.java @@ -0,0 +1,15 @@ +package com.teammetallurgy.atum.utils; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +public class Constants { + + public static final String MODID = "atum"; + public static final String MOD_NAME = "Atum"; + public static final String VERSION = "0.6"; + public static final String CLIENT = "com.teammetallurgy.atum.proxy.ClientProxy"; + public static final String SERVER = "com.teammetallurgy.atum.proxy.CommonProxy"; + public static final String FACTORY = "com.teammetallurgy.atum.gui.AtumGuiFactory"; + public static final Logger LOG = LogManager.getLogger(MOD_NAME); +} diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumWorldProvider.java b/src/main/java/com/teammetallurgy/atum/world/AtumWorldProvider.java index 26874f7..f55fc28 100644 --- a/src/main/java/com/teammetallurgy/atum/world/AtumWorldProvider.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumWorldProvider.java @@ -1,6 +1,6 @@ package com.teammetallurgy.atum.world; -import com.teammetallurgy.atum.AtumConfig; +import com.teammetallurgy.atum.handler.AtumConfig; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.util.MathHelper; diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumWorlds.java b/src/main/java/com/teammetallurgy/atum/world/AtumWorlds.java index a8a060f..1129fcc 100644 --- a/src/main/java/com/teammetallurgy/atum/world/AtumWorlds.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumWorlds.java @@ -1,13 +1,11 @@ package com.teammetallurgy.atum.world; -import com.teammetallurgy.atum.AtumConfig; +import com.teammetallurgy.atum.handler.AtumConfig; import com.teammetallurgy.atum.world.biome.BiomeGenAtumDesert; import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.common.DimensionManager; -public enum AtumWorlds { - INSTANCE; - +public class AtumWorlds { public static final BiomeGenBase BIOME_DESERT = new BiomeGenAtumDesert(AtumConfig.BIOME_DESERT_ID); public void register() { diff --git a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenOasis.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenOasis.java index dd8850f..fafc624 100644 --- a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenOasis.java +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenOasis.java @@ -1,6 +1,6 @@ package com.teammetallurgy.atum.world.decorators; -import com.teammetallurgy.atum.AtumLoot; +import com.teammetallurgy.atum.items.AtumLoot; import com.teammetallurgy.atum.blocks.AtumBlocks; import net.minecraft.block.Block; import net.minecraft.init.Blocks; diff --git a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPyramid.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPyramid.java index e4533a3..2d7e4ce 100644 --- a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPyramid.java +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPyramid.java @@ -1,6 +1,6 @@ package com.teammetallurgy.atum.world.decorators; -import com.teammetallurgy.atum.AtumLoot; +import com.teammetallurgy.atum.items.AtumLoot; import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityPharaohChest; import net.minecraft.block.Block; diff --git a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenRuins.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenRuins.java index 2a3cb62..2364914 100644 --- a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenRuins.java +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenRuins.java @@ -1,6 +1,6 @@ package com.teammetallurgy.atum.world.decorators; -import com.teammetallurgy.atum.AtumLoot; +import com.teammetallurgy.atum.items.AtumLoot; import com.teammetallurgy.atum.blocks.AtumBlocks; import net.minecraft.inventory.IInventory; import net.minecraft.world.World; From 20002d79e8041c5d4de9f1912ff2ccb1290be8c9 Mon Sep 17 00:00:00 2001 From: Anton Date: Sun, 12 Oct 2014 12:00:01 +0400 Subject: [PATCH 078/157] Update ru_RU.lang --- .../resources/assets/atum/lang/ru_RU.lang | 227 +++++++++++++++++- 1 file changed, 216 insertions(+), 11 deletions(-) diff --git a/src/main/resources/assets/atum/lang/ru_RU.lang b/src/main/resources/assets/atum/lang/ru_RU.lang index a08fb69..f28f6a8 100644 --- a/src/main/resources/assets/atum/lang/ru_RU.lang +++ b/src/main/resources/assets/atum/lang/ru_RU.lang @@ -1,5 +1,5 @@ # Misc -itemGroup.Atum=Atum +itemGroup.atum=Atum biome.desert.name=Пустыня # Blocks @@ -52,6 +52,9 @@ tile.diamondOre.name=Алмазная руда tile.furnaceIdle.name=Известняковая печь tile.furnaceBurning.name=Известняковая печь +# Containers +container.limestoneFurnace=Известняковая печь + # Item item.scarab.name=Скарабей item.loot.name=Добыча @@ -123,6 +126,129 @@ item.amunetsHomecoming.name=Возвращение Амаунета item.anubisMercy.name=Милость Анубиса item.neithsAudacity.name=Смелость Нейт + +# Item Information +item.akersToil.line1=Эффективность I: Быстрота, не +item.akersToil.line2=убирает усталость +item.akersToil.line3=Эффективность I + +item.amunetsHomecoming.line1=Возвращение I: Телепортирует Вас +item.amunetsHomecoming.line2=обратно на точку появления +item.amunetsHomecoming.line3=Возвращение I + +item.anhursMight.line1=Могущество I: Замедляет игрока, +item.anhursMight.line2=Шанс оглушить врагов +item.anhursMight.line3=Могущество I + +item.ptahsDecadence.line1=Богатство I: Даёт дополнительный +item.ptahsDecadence.line2=алмаз с каждой алмазной руды +item.ptahsDecadence.line3=Богатство I + +item.soteksRage.line1=Отброс I: Откидывает врагов +item.soteksRage.line2=на большое расстояние +item.soteksRage.line3=Отброс I + +item.osirisWill.line1=Изгнание I: Дополнительный урон нежити, +item.osirisWill.line2=шанс получить эктоплазму +item.osirisWill.line3=Изгнание I + +item.gebsBlessing.line1=Засевание I: Вспашенная земля - благословенна, +item.gebsBlessing.line2=даёт повышенную скорость роста +item.gebsBlessing.line3=Засевание I + +item.atensFury.line1=Огненный выстрел I: Огненная стрела +item.atensFury.line2=поджигает блоки и врагов +item.atensFury.line3=Огненный выстрел I + +item.rasGlory.line1=Божественное зрение I: Ночное зрение, увеличенное +item.rasGlory.line2=зрение в «Атуме» +item.rasGlory.line3=Божественное зрение I + +item.sekhmetsWrath.line1=Поджигание I: Защита от огня, +item.sekhmetsWrath.line2=шанс поджечь врагов +item.sekhmetsWrath.line3=Поджигание I + +item.nutsAgility.line1=Быстрота I: Увеличенная +item.nutsAgility.line2=скорость бега и плавания +item.nutsAgility.line3=Быстрота I + +item.horusFlight.line1=Ловкость I: Увеличенный прыжок, +item.horusFlight.line2=защита от падения +item.horusFlight.line3=Ловкость I + +item.monthusStrike.line1=Хлопок I: Увеличенный урон, +item.monthusStrike.line2=заряд для отброса +item.monthusStrike.line3=Хлопок I + +item.hedetetsSting.line1=Отравление II: Шанс +item.hedetetsSting.line2=отравления игроков +item.hedetetsSting.line3=Отравление II + +# I need to talk to shadow +item.horusSoaring.line1=Могущество I: Замедляет игрока, +item.horusSoaring.line2=Шанс оглушить врагов +item.horusSoaring.line3=Могущество I + +item.shusBreath.line1=Быстрое натяжение I: Увеличенная +item.shusBreath.line2=скорость натяжения стрелы +item.shusBreath.line3=Быстрое натяжение I + +item.ptahsDestruction.line1=Каменотёс I: Увеличивает урон +item.ptahsDestruction.line2=каменным врагам +item.ptahsDestruction.line3=Каменотёс I + +item.monthusBlast.line1=Разрывной выстрел I: Стрелы взрываются +item.monthusBlast.line2=при ударе +item.monthusBlast.line3=Разрывной выстрел I + +item.nusFlux.line1=Размах I: Шанс отправить +item.nusFlux.line2=врагов в воздух +item.nusFlux.line3=Размах I + +item.mnevisHorns.line1=Отражение рукопашного урона I: Наносит +item.mnevisHorns.line2=урон врагам +item.mnevisHorns.line3=Отражение рукопашного урона I + +item.isisEmbrace.line1=Регенерация I: Восстанавливает +item.isisEmbrace.line2=здоровье +item.isisEmbrace.line3=Регенерация I + +item.maatsBalance.line1=Баланс I: Уменьшает наносимый +item.maatsBalance.line2=и получаемый урон +item.maatsBalance.line3=Баланс I + +item.hedetetsVenom.line1=Ядовитая стрела I: Выпускает +item.hedetetsVenom.line2=стрелу, которая отравляет врагов +item.hedetetsVenom.line3=Ядовитая стрела I + +item.gebsSolidarity.line1=Стойкость I: Уменьшает скорость +item.gebsSolidarity.line2=передвижения, уменьшает отброс (WIP) +item.gebsSolidarity.line3=Стойкость I + +item.nutsCall.line1=Гнев I: Шанс ударить +item.nutsCall.line2=врага молнией +item.nutsCall.line3=Гнев I + +item.anuketsBounty.line1=Соблазнение I: Шанс поймать +item.anuketsBounty.line2=уникальную рыбу в «Атуме» +item.anuketsBounty.line3=Соблазнение I + +item.mafdetsQuickness.line1=Стремительность I: Вы бежите +item.mafdetsQuickness.line2=быстрее, когда держите +item.mafdetsQuickness.line3=Стремительность I + +item.isisHealing.line1=Регенерация I: Восстанавливает +item.isisHealing.line2=здоровье, когда держите +item.isisHealing.line3=Регенерация I + +item.anubisMercy.line1=Возвращение I: Телепортирует Вас обратно +item.anubisMercy.line2=на точку появления, когда Вы умираете +item.anubisMercy.line3=Возвращение I + +item.neithsAudacity.line1=Двойной выстрел I: Выпускает +item.neithsAudacity.line2=две стрелы за раз +item.neithsAudacity.line3=Двойной выстрел I + # Loot item.loot.dirty.name=Грязн. item.loot.silver.name=Серебрян. @@ -139,13 +265,92 @@ item.loot.broach.name=брошь item.loot.scepter.name=скипетр # Entity -entity.Atum.mummy.name=Мумия -entity.Atum.nanditWarrior.name=Бандит-воин -entity.Atum.banditArcher.name=Бандит-стрелок -entity.Atum.pharaoh.name=Фараон -entity.Atum.dustySkeleton.name=Пыльный скелет -entity.Atum.desertGhost.name=Пустынный призрак -entity.Atum.stoneSoldier.name=Каменный воин -entity.Atum.desertWolf.name=Пустынный волк -entity.Atum.banditWarlord.name=Бандит военачальник -entity.Atum.barbarian.name=Варвар +entity.atum.mummy.name=Мумия +entity.atum.banditWarrior.name=Бандит-воин +entity.atum.banditArcher.name=Бандит-стрелок +entity.atum.pharaoh.name=Фараон +entity.atum.dustySkeleton.name=Пыльный скелет +entity.atum.desertGhost.name=Пустынный призрак +entity.atum.stoneSoldier.name=Каменный воин +entity.atum.desertWolf.name=Пустынный волк +entity.atum.banditWarlord.name=Бандит военачальник +entity.atum.barbarian.name=Варвар + +# Pharaoh Names +entity.atum.pharaoh.Ama=Ama' +entity.atum.pharaoh.Ata=Ata' +entity.atum.pharaoh.Ato=Ato' +entity.atum.pharaoh.Bak=Bak' +entity.atum.pharaoh.Cal=Cal' +entity.atum.pharaoh.Djet=Djet' +entity.atum.pharaoh.Eje=Eje' +entity.atum.pharaoh.For=For' +entity.atum.pharaoh.Gol=Gol' +entity.atum.pharaoh.Gut=Gut' +entity.atum.pharaoh.Hop=Hop' +entity.atum.pharaoh.Hor=Hor' +entity.atum.pharaoh.Huni=Huni' +entity.atum.pharaoh.Iam=Iam' +entity.atum.pharaoh.Jor=Jor' +entity.atum.pharaoh.Kal=Kal' +entity.atum.pharaoh.Khas=Khas' +entity.atum.pharaoh.Khor=Khor' +entity.atum.pharaoh.Lat=Lat' +entity.atum.pharaoh.Mal=Mal' +entity.atum.pharaoh.Not=Not' +entity.atum.pharaoh.Oap=Oap' +entity.atum.pharaoh.Pra=Pra' +entity.atum.pharaoh.Qo=Qo' +entity.atum.pharaoh.Ras=Ras' +entity.atum.pharaoh.Shas=Shas' +entity.atum.pharaoh.Thoth=Thoth' +entity.atum.pharaoh.Tui=Tui' +entity.atum.pharaoh.Uld=Uld' +entity.atum.pharaoh.Ver=Ver' +entity.atum.pharaoh.Wot=Wot' +entity.atum.pharaoh.Xo=Xo' +entity.atum.pharaoh.Yat=Yat' +entity.atum.pharaoh.Zyt=Zyt' +entity.atum.pharaoh.Khep=Khep' + +entity.atum.pharaoh.Ahat=Ahat +entity.atum.pharaoh.Amesh=Amesh +entity.atum.pharaoh.Amon=Amon +entity.atum.pharaoh.Anut=Anut +entity.atum.pharaoh.Baroom=Baroom +entity.atum.pharaoh.Chanta=Chanta +entity.atum.pharaoh.Erant=Erant +entity.atum.pharaoh.Funam=Funam +entity.atum.pharaoh.Daresh=Daresh +entity.atum.pharaoh.Djer=Djer +entity.atum.pharaoh.Hotesh=Hotesh +entity.atum.pharaoh.Khaden=Khaden +entity.atum.pharaoh.Kron=Kron +entity.atum.pharaoh.Gorkum=Gorkum +entity.atum.pharaoh.Ialenter=Ialenter +entity.atum.pharaoh.Ma'at=Ma'at +entity.atum.pharaoh.Narmer=Narmer +entity.atum.pharaoh.Radeem=Radeem +entity.atum.pharaoh.Jaloom=Jaloom +entity.atum.pharaoh.Lepsha=Lepsha +entity.atum.pharaoh.Quor=Quor +entity.atum.pharaoh.Oleshet=Oleshet +entity.atum.pharaoh.Peput=Peput +entity.atum.pharaoh.Talat=Talat +entity.atum.pharaoh.Ulam=Ulam +entity.atum.pharaoh.Veresh=Veresh +entity.atum.pharaoh.Ranesh=Ranesh +entity.atum.pharaoh.Snef=Snef +entity.atum.pharaoh.Wollolo=Wollolo +entity.atum.pharaoh.Hathor=Hathor +entity.atum.pharaoh.Intef=Intef +entity.atum.pharaoh.Neferk=Neferk +entity.atum.pharaoh.Khatne=Khatne +entity.atum.pharaoh.Tepy=Tepy +entity.atum.pharaoh.Moret=Moret + +# Chat +chat.atum.disabled=Создание портала скарабеем отключено +chat.atum.enemies=Рядом слишком много врагов, сундук нельзя обыскать +chat.atum.summonPharaoh=был вызван +chat.atum.killPharaoh=был убит From c4b268dac422ae8d0694790eb612aa741c56ec4f Mon Sep 17 00:00:00 2001 From: Anton Date: Sun, 12 Oct 2014 12:01:06 +0400 Subject: [PATCH 079/157] Update en_US.lang --- src/main/resources/assets/atum/lang/en_US.lang | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/resources/assets/atum/lang/en_US.lang b/src/main/resources/assets/atum/lang/en_US.lang index 5515ae7..884cc29 100644 --- a/src/main/resources/assets/atum/lang/en_US.lang +++ b/src/main/resources/assets/atum/lang/en_US.lang @@ -164,7 +164,7 @@ item.rasGlory.line1=Divine Vision I: Night vision, increased item.rasGlory.line2=range of vision in Atum item.rasGlory.line3=Divine Vision I -item.sekhmetsWrath.line1=Immolation I: Protection from fire,, +item.sekhmetsWrath.line1=Immolation I: Protection from fire, item.sekhmetsWrath.line2=chance to ignite attackers item.sekhmetsWrath.line3=Immolation I @@ -191,7 +191,7 @@ item.horusSoaring.line3=Mighty I item.shusBreath.line1=Quickdraw I: Reduced item.shusBreath.line2=drawback speed -item.shusBreath.line3=Mighty I +item.shusBreath.line3=Quickdraw I item.ptahsDestruction.line1=Stonecutter I: Increases damage item.ptahsDestruction.line2=to stone enemies From 28877cb3686c398b75f1171f96545b876e7c2982 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Tue, 14 Oct 2014 12:57:16 +1000 Subject: [PATCH 080/157] Added lang for config and fixed sound for atum stone, Closes #18 and #16 --- .../atum/blocks/AtumBlocks.java | 2 +- .../{BlockStones.java => BlockAtumStone.java} | 8 ++-- .../atum/gui/AtumConfigGui.java | 4 +- .../atum/handler/AtumConfig.java | 39 ++++++++++++++++--- .../resources/assets/atum/lang/en_US.lang | 6 +++ .../resources/assets/atum/lang/ru_RU.lang | 14 +++++++ 6 files changed, 62 insertions(+), 11 deletions(-) rename src/main/java/com/teammetallurgy/atum/blocks/{BlockStones.java => BlockAtumStone.java} (73%) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java index a12b726..4004e2b 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java @@ -17,7 +17,7 @@ public class AtumBlocks { public static BlockPortal BLOCK_PORTAL = new BlockPortal(); public static Block BLOCK_CURSEDCHEST = new BlockChestSpawner(); public static Block BLOCK_SAND = new BlockSands(); - public static Block BLOCK_STONE = new BlockStones(); + public static Block BLOCK_STONE = new BlockAtumStone(); public static Block BLOCK_WALL = new BlockWalls(BLOCK_STONE); public static Block BLOCK_LIMESTONECOBBLE = new BlockAtum("cobble").setBlockTextureName("atum:AtumCobble"); public static Block BLOCK_LARGEBRICK = new BlockAtum("largeBrick").setBlockTextureName("atum:AtumBrickLarge"); diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockStones.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumStone.java similarity index 73% rename from src/main/java/com/teammetallurgy/atum/blocks/BlockStones.java rename to src/main/java/com/teammetallurgy/atum/blocks/BlockAtumStone.java index f9d101e..f8e1ae1 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockStones.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumStone.java @@ -7,17 +7,17 @@ import java.util.Random; -public class BlockStones extends BlockStone { +public class BlockAtumStone extends BlockStone { - public BlockStones() { + public BlockAtumStone() { super(); this.setBlockName("stone"); - this.setStepSound(Block.soundTypeSand); + this.setStepSound(Block.soundTypeStone); this.setHardness(0.5F); } @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { + public Item getItemDropped(int p_149650_1_, Random rand, int p_149650_3_) { return Item.getItemFromBlock(AtumBlocks.BLOCK_LIMESTONECOBBLE); } diff --git a/src/main/java/com/teammetallurgy/atum/gui/AtumConfigGui.java b/src/main/java/com/teammetallurgy/atum/gui/AtumConfigGui.java index e206043..804809a 100644 --- a/src/main/java/com/teammetallurgy/atum/gui/AtumConfigGui.java +++ b/src/main/java/com/teammetallurgy/atum/gui/AtumConfigGui.java @@ -11,6 +11,8 @@ import java.util.ArrayList; import java.util.List; +import static net.minecraftforge.common.config.Configuration.CATEGORY_GENERAL; + public class AtumConfigGui extends GuiConfig { static Configuration cfg = AtumConfig.config; @@ -24,7 +26,7 @@ public static List generateConfigList() { ArrayList elements = new ArrayList(); - elements.add(new ConfigElement(cfg.getCategory(cfgh.general))); + elements.add(new ConfigElement(cfg.getCategory(CATEGORY_GENERAL))); System.out.println(cfgh.general); return elements; } diff --git a/src/main/java/com/teammetallurgy/atum/handler/AtumConfig.java b/src/main/java/com/teammetallurgy/atum/handler/AtumConfig.java index bba438c..a7feb7d 100644 --- a/src/main/java/com/teammetallurgy/atum/handler/AtumConfig.java +++ b/src/main/java/com/teammetallurgy/atum/handler/AtumConfig.java @@ -5,8 +5,13 @@ import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.common.config.Configuration; +import net.minecraftforge.common.config.Property; import java.io.File; +import java.util.ArrayList; +import java.util.List; + +import static net.minecraftforge.common.config.Configuration.CATEGORY_GENERAL; public class AtumConfig { @@ -34,14 +39,38 @@ public void onConfigChange(ConfigChangedEvent.OnConfigChangedEvent event) { } private void syncConfigData() { + List propOrder = new ArrayList(); + Property prop; + + prop = config.get(CATEGORY_GENERAL, "Atum Portal", true); + prop.comment = "Can a non-creative user create a portal using the scarab?"; + prop.setLanguageKey("atum.configGui.portalCreation"); + ALLOW_CREATION = prop.getBoolean(true); + propOrder.add(prop.getName()); + + prop = config.get(CATEGORY_GENERAL, "Atum Fog", true); + prop.comment = "Should clientside fog be rendered?"; + prop.setLanguageKey("atum.configGui.fog"); + FOG_ENABLED = prop.getBoolean(true); + propOrder.add(prop.getName()); + + prop = config.get(CATEGORY_GENERAL, "Atum Dimension ID", 17); + prop.comment = "The ID of the Atum Dimension"; + prop.setLanguageKey("atum.configGui.dimensionID").setRequiresMcRestart(true); + DIMENSION_ID = prop.getInt(); + propOrder.add(prop.getName()); - ALLOW_CREATION = config.get(general, "Can a non-creative player create a portal?", true).getBoolean(true); - FOG_ENABLED = config.get(general, "Should the client show fog?", true).getBoolean(true); + prop = config.get(CATEGORY_GENERAL, "Atum Desert Biome ID", 200); + prop.comment = "The ID of the Atum Dimension biome Desert"; + prop.setLanguageKey("atum.configGui.biomeID").setRequiresMcRestart(true); + BIOME_DESERT_ID = prop.getInt(); + propOrder.add(prop.getName()); - DIMENSION_ID = config.get("ID", "The dimension id of Atum", 17).getInt(); - BIOME_DESERT_ID = config.get("ID", "The biomeID of Desert for Atum", 200).getInt(); + config.setCategoryPropertyOrder(CATEGORY_GENERAL, propOrder); - this.config.save(); + if (config.hasChanged()) { + config.save(); + } } } diff --git a/src/main/resources/assets/atum/lang/en_US.lang b/src/main/resources/assets/atum/lang/en_US.lang index 884cc29..b9564d4 100644 --- a/src/main/resources/assets/atum/lang/en_US.lang +++ b/src/main/resources/assets/atum/lang/en_US.lang @@ -354,3 +354,9 @@ chat.atum.disabled=Scarab portal creation is disabled chat.atum.enemies=There are too many enemies nearby to search this chest chat.atum.summonPharaoh=was summoned by chat.atum.killPharaoh=was slain by + +# Gui +atum.configGui.portalCreation=Atum Portal +atum.configGui.fog=Atum Fog +atum.configGui.dimensionID=Atum Dimension ID +atum.configGui.biomeID=Atum Desert Biome ID diff --git a/src/main/resources/assets/atum/lang/ru_RU.lang b/src/main/resources/assets/atum/lang/ru_RU.lang index f28f6a8..ba2bf44 100644 --- a/src/main/resources/assets/atum/lang/ru_RU.lang +++ b/src/main/resources/assets/atum/lang/ru_RU.lang @@ -265,6 +265,7 @@ item.loot.broach.name=брошь item.loot.scepter.name=скипетр # Entity +<<<<<<< Updated upstream entity.atum.mummy.name=Мумия entity.atum.banditWarrior.name=Бандит-воин entity.atum.banditArcher.name=Бандит-стрелок @@ -354,3 +355,16 @@ chat.atum.disabled=Создание портала скарабеем отклю chat.atum.enemies=Рядом слишком много врагов, сундук нельзя обыскать chat.atum.summonPharaoh=был вызван chat.atum.killPharaoh=был убит + +#Entity +entity.Atum.mummy.name=Мумия +entity.Atum.nanditWarrior.name=Бандит-воин +entity.Atum.banditArcher.name=Бандит-стрелок +entity.Atum.pharaoh.name=Фараон +entity.Atum.dustySkeleton.name=Пыльный скелет +entity.Atum.desertGhost.name=Пустынный призрак +entity.Atum.stoneSoldier.name=Каменный воин +entity.Atum.desertWolf.name=Пустынный волк +entity.Atum.banditWarlord.name=Бандит военачальник +entity.Atum.barbarian.name=Варвар + From b28526904ac1dc82c43868e0bc1f40427632de8d Mon Sep 17 00:00:00 2001 From: lclc98 Date: Tue, 14 Oct 2014 12:59:25 +1000 Subject: [PATCH 081/157] Fixed lang from git derp --- src/main/resources/assets/atum/lang/ru_RU.lang | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/src/main/resources/assets/atum/lang/ru_RU.lang b/src/main/resources/assets/atum/lang/ru_RU.lang index ba2bf44..f28f6a8 100644 --- a/src/main/resources/assets/atum/lang/ru_RU.lang +++ b/src/main/resources/assets/atum/lang/ru_RU.lang @@ -265,7 +265,6 @@ item.loot.broach.name=брошь item.loot.scepter.name=скипетр # Entity -<<<<<<< Updated upstream entity.atum.mummy.name=Мумия entity.atum.banditWarrior.name=Бандит-воин entity.atum.banditArcher.name=Бандит-стрелок @@ -355,16 +354,3 @@ chat.atum.disabled=Создание портала скарабеем отклю chat.atum.enemies=Рядом слишком много врагов, сундук нельзя обыскать chat.atum.summonPharaoh=был вызван chat.atum.killPharaoh=был убит - -#Entity -entity.Atum.mummy.name=Мумия -entity.Atum.nanditWarrior.name=Бандит-воин -entity.Atum.banditArcher.name=Бандит-стрелок -entity.Atum.pharaoh.name=Фараон -entity.Atum.dustySkeleton.name=Пыльный скелет -entity.Atum.desertGhost.name=Пустынный призрак -entity.Atum.stoneSoldier.name=Каменный воин -entity.Atum.desertWolf.name=Пустынный волк -entity.Atum.banditWarlord.name=Бандит военачальник -entity.Atum.barbarian.name=Варвар - From 1bf752dd331aee153752afa58faf14360637851f Mon Sep 17 00:00:00 2001 From: Anton Date: Tue, 14 Oct 2014 07:03:00 +0400 Subject: [PATCH 082/157] Update ru_RU.lang --- src/main/resources/assets/atum/lang/ru_RU.lang | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/resources/assets/atum/lang/ru_RU.lang b/src/main/resources/assets/atum/lang/ru_RU.lang index f28f6a8..3e95373 100644 --- a/src/main/resources/assets/atum/lang/ru_RU.lang +++ b/src/main/resources/assets/atum/lang/ru_RU.lang @@ -354,3 +354,9 @@ chat.atum.disabled=Создание портала скарабеем отклю chat.atum.enemies=Рядом слишком много врагов, сундук нельзя обыскать chat.atum.summonPharaoh=был вызван chat.atum.killPharaoh=был убит + +# Gui +atum.configGui.portalCreation=Портал «Атума» +atum.configGui.fog=Туман «Атума» +atum.configGui.dimensionID=ID измерения «Атума» +atum.configGui.biomeID=ID биома пустыня «Атума» From 1f8df8199e1870ada5e600e5b8b1f9a907745e10 Mon Sep 17 00:00:00 2001 From: sb023612 <645963056@qq.com> Date: Tue, 14 Oct 2014 20:52:26 +0800 Subject: [PATCH 083/157] Create zh_CN.lang --- .../resources/assets/atum/lang/zh_CN.lang | 362 ++++++++++++++++++ 1 file changed, 362 insertions(+) create mode 100644 src/main/resources/assets/atum/lang/zh_CN.lang diff --git a/src/main/resources/assets/atum/lang/zh_CN.lang b/src/main/resources/assets/atum/lang/zh_CN.lang new file mode 100644 index 0000000..208a3f1 --- /dev/null +++ b/src/main/resources/assets/atum/lang/zh_CN.lang @@ -0,0 +1,362 @@ +# Misc +itemGroup.atum=亚图姆 +biome.desert.name=沙漠 + +# Blocks +block.portal.name=亚图姆传送门 +tile.chestSpawner.name=亚图姆箱子 +tile.sand.name=怪沙 +block.stone.name=石灰岩 +tile.cobble.name=裂石灰岩 +tile.largeBrick.name=石灰岩大石砖 +tile.smallBrick.name=石灰岩小石砖 +tile.carvedBrick.name=石灰岩精雕石砖 +tile.smoothSlab.name=平滑石灰岩台阶 +tile.crackedSlab.name=裂石灰岩台阶 +tile.largeBrickSlab.name=石灰岩大石砖台阶 +tile.smallBrickSlab.name=石灰岩小石砖台阶 +tile.doubleSlab.name=石灰岩台阶 +tile.smoothStairs.name=石灰岩楼梯 +tile.cobbleStairs.name=石灰岩圆石楼梯 +tile.largeStairs.name=石灰岩大石砖楼梯 +tile.smallStairs.name=石灰岩小石砖楼梯 +tile.sandLayer.name=砂层 +tile.crackedLargeBrick.name=裂石灰岩大石砖 +tile.smoothWall.name=平滑石灰岩墙 +tile.crackedWall.name=裂石灰岩墙 +tile.largeBrickWall.name=石灰岩大石砖墙 +tile.smallBrickWall.name=石灰岩小石砖墙 +tile.crystalGlass.name=水晶玻璃 +tile.framedGlass.name=有框玻璃 +tile.palmSapling.name=棕榈树树苗 +tile.date.name=枣椰子 +tile.shrub.name=灌木 +tile.weed.name=野草 +tile.papyrus.name=纸莎草 +tile.flax.name=亚麻 +tile.fertileSoil.name=沃土 +tile.fertileSoilTilled.name=肥沃耕土 +tile.palmLog.name=棕榈原木 +tile.palmLeaves.name=棕榈树叶 +tile.palmPlanks.name=棕榈木板 +tile.thinCrystalGlass.name=细薄水晶玻璃 +tile.thinFramedGlass.name=细薄有框玻璃 +tile.burningTrap.name=燃烧陷阱 +tile.pharaohChest.name=法老箱子 +tile.redstoneOre.name=红石矿石 +tile.coalOre.name=煤矿石 +tile.ironOre.name=铁矿石 +tile.goldOre.name=金矿石 +tile.lapisOre.name=青金石矿石 +tile.diamondOre.name=钻石矿石 +tile.furnaceIdle.name=石灰岩熔炉 +tile.furnaceBurning.name=石灰岩熔炉 + +# Containers +container.limestoneFurnace=石灰岩熔炉 + +# Item +item.scarab.name=圣甲虫 +item.loot.name=战利品 +item.scimitar.name=短弯刀 +item.greatsword.name=巨剑 +item.scepter.name=权杖 +item.stoneSoldierSword.name=石头士兵剑 +item.bow.name=短弓 +item.limestoneShovel.name=石灰岩铲 +item.limestonePickaxe.name=石灰岩稿 +item.limestoneAxe.name=石灰岩斧 +item.limestoneSword.name=石灰岩剑 +item.limestoneHoe.name=石灰岩锄 +item.mummyHelmet.name=木乃伊头盔 +item.mummyChest.name=木乃伊胸甲 +item.mummyLegs.name=木乃伊护腿 +item.mummyBoots.name=木乃伊靴子 +item.wandererHelmet.name=流浪者头盔 +item.wandererChest.name=流浪者胸甲 +item.wandererLegs.name=流浪者护腿 +item.wandererBoots.name=流浪者靴子 +item.desertHelmet.name=沙漠头盔 +item.desertChest.name=沙漠胸甲 +item.desertLegs.name=沙漠护腿 +item.desertBoots.name=沙漠靴子 +item.papyrusPlant.name=纸莎草 +item.ectoplasm.name=外质 +item.stoneChunk.name=石块 +item.clothScrap.name=碎布 +item.scroll.name=卷轴 +item.wolfPelt.name=狼皮 +item.date.name=栆椰子 +item.linen.name=亚麻布 +item.flax.name=亚麻 +item.flaxSeeds.name=亚麻种子 +item.fish.0.name=被遗忘的鱼 +item.fish.1.name=木乃伊鱼 +item.fish.2.name=宝石鱼 +item.fish.3.name=骸骨鱼 + +item.ptahsDecadence.name=Ptahs之堕落 +item.soteksRage.name=Soteks之愤怒 +item.osirisWill.name=Osiris之意志 +item.akersToil.name=Akers之劳累 +item.gebsBlessing.name=Gebs之祝福 +item.atensFury.name=Atens之狂怒 +item.rasGlory.name=Ras之荣耀 +item.sekhmetsWrath.name=Sekhmets之暴怒 +item.nutsAgility.name=Nuts之敏捷 +item.horusFlight.name=Horus之跃动 +item.monthusStrike.name=Monthus之猛击 +item.anhursMight.name=Anhurs之力量 +item.hedetetsSting.name=Hedetets之穿刺 +item.horusSoaring.name=Horus之翱翔 +item.shusBreath.name=Shus之气息 +item.ptahsDestruction.name=Ptahs之毁灭 +item.monthusBlast.name=Monthus之爆炸 +item.nusFlux.name=Nus之灵动 +item.mnevisHorns.name=Mnevis之号角 +item.isisEmbrace.name=Isis之拥抱 +item.maatsBalance.name=Maats之平衡 +item.hedetetsVenom.name=Hedetets之恶毒 +item.gebsSolidarity.name=Gebs之团结 +item.nutsCall.name=Nuts之召唤 +item.anuketsBounty.name=Anukets之慷慨 +item.mafdetsQuickness.name=Mafdets之迅捷 +item.isisHealing.name=Isis之治疗 +item.amunetsHomecoming.name=Amunets之回归 +item.anubisMercy.name=Anubis之仁慈 +item.neithsAudacity.name=Neiths之胆量 + + +# Item Information +item.akersToil.line1=绩效I:更快, +item.akersToil.line2=且不消耗耐久 +item.akersToil.line3=绩效I + +item.amunetsHomecoming.line1=回返I:将你传送 +item.amunetsHomecoming.line2=回出生点 +item.amunetsHomecoming.line3=回返I + +item.anhursMight.line1=威猛I:使玩家减速, +item.anhursMight.line2=但有几率击晕敌人 +item.anhursMight.line3=威猛I + +item.ptahsDecadence.line1=财富I:能从每个矿石中 +item.ptahsDecadence.line2=额外得到一个钻石 +item.ptahsDecadence.line3=财富I + +item.soteksRage.line1=驱逐I:能将敌人 +item.soteksRage.line2=击退很远的距离 +item.soteksRage.line3=驱逐I + +item.osirisWill.line1=放逐I:对亡灵造成额外伤害, +item.osirisWill.line2=有几率掉落外质 +item.osirisWill.line3=放逐I + +item.gebsBlessing.line1=播种I:肥沃耕土受到祝福, +item.gebsBlessing.line2=能加快生长速率 +item.gebsBlessing.line3=播种I + +item.atensFury.line1=焚箭I: 燃烧的箭头 +item.atensFury.line2=能点燃方块与物品 +item.atensFury.line3=焚箭I + +item.rasGlory.line1=天眼I:夜视,能增加玩家 +item.rasGlory.line2=在亚图姆的可视范围 +item.rasGlory.line3=天眼I + +item.sekhmetsWrath.line1=献祭I:抵御火焰伤害, +item.sekhmetsWrath.line2=有几率点燃攻击者 +item.sekhmetsWrath.line3=献祭I + +item.nutsAgility.line1=敏捷I:增加奔跑 +item.nutsAgility.line2=与挥舞速度 +item.nutsAgility.line3=敏捷I + +item.horusFlight.line1=灵动I:增加跳跃高度, +item.horusFlight.line2=掉落伤害免疫 +item.horusFlight.line3=灵动I + +item.monthusStrike.line1=猛击I:增加伤害, +item.monthusStrike.line2=有几率触发AOE击退 +item.monthusStrike.line3=猛击I + +item.hedetetsSting.line1=猛毒II:有几率 +item.hedetetsSting.line2=使敌人中毒 +item.hedetetsSting.line3=猛毒II + +# I need to talk to shadow +item.horusSoaring.line1=威猛I:使玩家减速, +item.horusSoaring.line2=但有几率击晕敌人 +item.horusSoaring.line3=威猛I + +item.shusBreath.line1=快速瞄准I:减少 +item.shusBreath.line2=瞄准所用时间 +item.shusBreath.line3=快速瞄准I + +item.ptahsDestruction.line1=切石I:增加对 +item.ptahsDestruction.line2=石头敌人的伤害 +item.ptahsDestruction.line3=切石I + +item.monthusBlast.line1=爆炸I:箭头落地 +item.monthusBlast.line2=引起爆炸 +item.monthusBlast.line3=爆炸I + +item.nusFlux.line1=横扫I: 有几率 +item.nusFlux.line2=将敌人抛至空中 +item.nusFlux.line3=横扫I + +item.mnevisHorns.line1=盾刺I:能将伤害 +item.mnevisHorns.line2=反弹给近战攻击者 +item.mnevisHorns.line3=盾刺I + +item.isisEmbrace.line1=重生I:缓慢地 +item.isisEmbrace.line2=回复生命 +item.isisEmbrace.line3=重生I + +item.maatsBalance.line1=平衡I:减少输出的伤 +item.maatsBalance.line2=害,减少受到的伤害 +item.maatsBalance.line3=平衡I + +item.hedetetsVenom.line1=毒箭I:发射的箭 +item.hedetetsVenom.line2=能使敌人中毒 +item.hedetetsVenom.line3=毒箭I + +item.gebsSolidarity.line1=伟岸I:减少移动速度, +item.gebsSolidarity.line2=减少被击退的距离(WIP) +item.gebsSolidarity.line3=伟岸I + +item.nutsCall.line1=暴怒I:有几率召唤 +item.nutsCall.line2=雷电攻击敌人 +item.nutsCall.line3=暴怒I + +item.anuketsBounty.line1=诱惑I:有几率吸引到 +item.anuketsBounty.line2=亚图姆中特殊的鱼 +item.anuketsBounty.line3=诱惑I + +item.mafdetsQuickness.line1=迅捷I:手持该物品时 +item.mafdetsQuickness.line2=跑得会更快 +item.mafdetsQuickness.line3=迅捷I + +item.isisHealing.line1=重生I:手持该物品时 +item.isisHealing.line2=能缓慢地回复生命 +item.isisHealing.line3=重生I + +item.anubisMercy.line1=回返I:死亡时将你, +item.anubisMercy.line2=传送回出生地 +item.anubisMercy.line3=回返I + +item.neithsAudacity.line1=连击I:一次 +item.neithsAudacity.line2=发射两支箭 +item.neithsAudacity.line3=连击I + +# Loot +item.loot.dirty.name=泥土 +item.loot.silver.name=白银 +item.loot.gold.name=黄金 +item.loot.sapphire.name=蓝宝石 +item.loot.ruby.name=红宝石 +item.loot.emerald.name=绿宝石 +item.loot.diamond.name=钻石 + +item.loot.idol.name=人偶 +item.loot.necklace.name=项链 +item.loot.ring.name=指环 +item.loot.broach.name=胸针 +item.loot.scepter.name=权杖 + +# Entity +entity.atum.mummy.name=木乃伊 +entity.atum.banditWarrior.name=强盗战士 +entity.atum.banditArcher.name=强盗射手 +entity.atum.pharaoh.name=法老 +entity.atum.dustySkeleton.name=尘灰骷髅 +entity.atum.desertGhost.name=沙漠幽灵 +entity.atum.stoneSoldier.name=石头士兵 +entity.atum.desertWolf.name=沙漠幽狼 +entity.atum.banditWarlord.name=强盗军阀 +entity.atum.barbarian.name=野蛮人 + +# Pharaoh Names +entity.atum.pharaoh.Ama=Ama' +entity.atum.pharaoh.Ata=Ata' +entity.atum.pharaoh.Ato=Ato' +entity.atum.pharaoh.Bak=Bak' +entity.atum.pharaoh.Cal=Cal' +entity.atum.pharaoh.Djet=Djet' +entity.atum.pharaoh.Eje=Eje' +entity.atum.pharaoh.For=For' +entity.atum.pharaoh.Gol=Gol' +entity.atum.pharaoh.Gut=Gut' +entity.atum.pharaoh.Hop=Hop' +entity.atum.pharaoh.Hor=Hor' +entity.atum.pharaoh.Huni=Huni' +entity.atum.pharaoh.Iam=Iam' +entity.atum.pharaoh.Jor=Jor' +entity.atum.pharaoh.Kal=Kal' +entity.atum.pharaoh.Khas=Khas' +entity.atum.pharaoh.Khor=Khor' +entity.atum.pharaoh.Lat=Lat' +entity.atum.pharaoh.Mal=Mal' +entity.atum.pharaoh.Not=Not' +entity.atum.pharaoh.Oap=Oap' +entity.atum.pharaoh.Pra=Pra' +entity.atum.pharaoh.Qo=Qo' +entity.atum.pharaoh.Ras=Ras' +entity.atum.pharaoh.Shas=Shas' +entity.atum.pharaoh.Thoth=Thoth' +entity.atum.pharaoh.Tui=Tui' +entity.atum.pharaoh.Uld=Uld' +entity.atum.pharaoh.Ver=Ver' +entity.atum.pharaoh.Wot=Wot' +entity.atum.pharaoh.Xo=Xo' +entity.atum.pharaoh.Yat=Yat' +entity.atum.pharaoh.Zyt=Zyt' +entity.atum.pharaoh.Khep=Khep' + +entity.atum.pharaoh.Ahat=Ahat +entity.atum.pharaoh.Amesh=Amesh +entity.atum.pharaoh.Amon=Amon +entity.atum.pharaoh.Anut=Anut +entity.atum.pharaoh.Baroom=Baroom +entity.atum.pharaoh.Chanta=Chanta +entity.atum.pharaoh.Erant=Erant +entity.atum.pharaoh.Funam=Funam +entity.atum.pharaoh.Daresh=Daresh +entity.atum.pharaoh.Djer=Djer +entity.atum.pharaoh.Hotesh=Hotesh +entity.atum.pharaoh.Khaden=Khaden +entity.atum.pharaoh.Kron=Kron +entity.atum.pharaoh.Gorkum=Gorkum +entity.atum.pharaoh.Ialenter=Ialenter +entity.atum.pharaoh.Ma'at=Ma'at +entity.atum.pharaoh.Narmer=Narmer +entity.atum.pharaoh.Radeem=Radeem +entity.atum.pharaoh.Jaloom=Jaloom +entity.atum.pharaoh.Lepsha=Lepsha +entity.atum.pharaoh.Quor=Quor +entity.atum.pharaoh.Oleshet=Oleshet +entity.atum.pharaoh.Peput=Peput +entity.atum.pharaoh.Talat=Talat +entity.atum.pharaoh.Ulam=Ulam +entity.atum.pharaoh.Veresh=Veresh +entity.atum.pharaoh.Ranesh=Ranesh +entity.atum.pharaoh.Snef=Snef +entity.atum.pharaoh.Wollolo=Wollolo +entity.atum.pharaoh.Hathor=Hathor +entity.atum.pharaoh.Intef=Intef +entity.atum.pharaoh.Neferk=Neferk +entity.atum.pharaoh.Khatne=Khatne +entity.atum.pharaoh.Tepy=Tepy +entity.atum.pharaoh.Moret=Moret + +# Chat +chat.atum.disabled=圣甲虫传送门的创建现已被禁止 +chat.atum.enemies=附近有大量敌人正在寻找这个箱子 +chat.atum.summonPharaoh=was summoned by +chat.atum.killPharaoh=was slain by + +# Gui +atum.configGui.portalCreation=亚图姆传送门 +atum.configGui.fog=亚图姆尘雾 +atum.configGui.dimensionID=亚图姆维度ID +atum.configGui.biomeID=亚图姆沙漠生物群系ID From 7dc2284bc6b5f48da426068f56722958efa7c3cf Mon Sep 17 00:00:00 2001 From: lclc98 Date: Wed, 15 Oct 2014 16:36:29 +1000 Subject: [PATCH 084/157] Fixed Dependency --- src/main/java/com/teammetallurgy/atum/Atum.java | 2 +- src/main/java/com/teammetallurgy/atum/utils/Constants.java | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/teammetallurgy/atum/Atum.java b/src/main/java/com/teammetallurgy/atum/Atum.java index bb45629..410ffd6 100644 --- a/src/main/java/com/teammetallurgy/atum/Atum.java +++ b/src/main/java/com/teammetallurgy/atum/Atum.java @@ -22,7 +22,7 @@ import net.minecraft.creativetab.CreativeTabs; import net.minecraftforge.common.MinecraftForge; -@Mod(modid = Constants.MODID, name = Constants.MOD_NAME, version = Constants.VERSION, guiFactory = Constants.FACTORY) +@Mod(modid = Constants.MODID, name = Constants.MOD_NAME, version = Constants.VERSION, dependencies = Constants.DEPENDENCIES,guiFactory = Constants.FACTORY) public class Atum { @Instance(Constants.MODID) diff --git a/src/main/java/com/teammetallurgy/atum/utils/Constants.java b/src/main/java/com/teammetallurgy/atum/utils/Constants.java index 848c1ef..1e3631c 100644 --- a/src/main/java/com/teammetallurgy/atum/utils/Constants.java +++ b/src/main/java/com/teammetallurgy/atum/utils/Constants.java @@ -11,5 +11,8 @@ public class Constants { public static final String CLIENT = "com.teammetallurgy.atum.proxy.ClientProxy"; public static final String SERVER = "com.teammetallurgy.atum.proxy.CommonProxy"; public static final String FACTORY = "com.teammetallurgy.atum.gui.AtumGuiFactory"; + public static final String DEPENDENCIES = "required-after:Forge@[10.13.0.1199,);"; + public static final Logger LOG = LogManager.getLogger(MOD_NAME); + } From 876ed63dc45a8e19e91583e404768cbb789d4b6c Mon Sep 17 00:00:00 2001 From: lclc98 Date: Thu, 16 Oct 2014 19:19:29 +1000 Subject: [PATCH 085/157] Fix portal position, Closes #13 Thanks @Glassmaker --- .../handler/event/AtumFogEventListener.java | 2 +- .../atum/world/AtumPortalPosition.java | 77 ++++++++++++- .../atum/world/AtumTeleporter.java | 108 ++++++++---------- 3 files changed, 125 insertions(+), 62 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/handler/event/AtumFogEventListener.java b/src/main/java/com/teammetallurgy/atum/handler/event/AtumFogEventListener.java index f00898d..b1b4808 100644 --- a/src/main/java/com/teammetallurgy/atum/handler/event/AtumFogEventListener.java +++ b/src/main/java/com/teammetallurgy/atum/handler/event/AtumFogEventListener.java @@ -11,7 +11,7 @@ public class AtumFogEventListener { @SubscribeEvent public void renderFog(EntityViewRenderEvent.RenderFogEvent event) { - if (event.entity.dimension == AtumConfig.DIMENSION_ID) { + if (event.entity.dimension == AtumConfig.DIMENSION_ID && AtumConfig.FOG_ENABLED) { GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); GL11.glFogf(GL11.GL_FOG_DENSITY, 0.08F); } diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumPortalPosition.java b/src/main/java/com/teammetallurgy/atum/world/AtumPortalPosition.java index e7d70cd..3e9a733 100644 --- a/src/main/java/com/teammetallurgy/atum/world/AtumPortalPosition.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumPortalPosition.java @@ -2,11 +2,84 @@ import net.minecraft.util.ChunkCoordinates; -public class AtumPortalPosition extends ChunkCoordinates { +public class AtumPortalPosition implements Comparable { + + + public int posX; + /** + * the y coordinate + */ + public int posY; + /** + * the z coordinate + */ + public int posZ; public long lastUpdateTime; public AtumPortalPosition(int par2, int par3, int par4, long par5) { - super(par2, par3, par4); + this(par2, par3, par4); this.lastUpdateTime = par5; } + + + private AtumPortalPosition(int p_i1354_1_, int p_i1354_2_, int p_i1354_3_) { + this.posX = p_i1354_1_; + this.posY = p_i1354_2_; + this.posZ = p_i1354_3_; + } + + private AtumPortalPosition(ChunkCoordinates p_i1355_1_) { + this.posX = p_i1355_1_.posX; + this.posY = p_i1355_1_.posY; + this.posZ = p_i1355_1_.posZ; + } + + public boolean equals(Object p_equals_1_) { + if (!(p_equals_1_ instanceof ChunkCoordinates)) { + return false; + } else { + ChunkCoordinates chunkcoordinates = (ChunkCoordinates) p_equals_1_; + return this.posX == chunkcoordinates.posX && this.posY == chunkcoordinates.posY && this.posZ == chunkcoordinates.posZ; + } + } + + public int hashCode() { + return this.posX + this.posZ << 8 + this.posY << 16; + } + + public int compareTo(ChunkCoordinates p_compareTo_1_) { + return this.posY == p_compareTo_1_.posY ? (this.posZ == p_compareTo_1_.posZ ? this.posX - p_compareTo_1_.posX : this.posZ - p_compareTo_1_.posZ) : this.posY - p_compareTo_1_.posY; + } + + public void set(int p_71571_1_, int p_71571_2_, int p_71571_3_) { + this.posX = p_71571_1_; + this.posY = p_71571_2_; + this.posZ = p_71571_3_; + } + + /** + * Returns the squared distance between this coordinates and the coordinates given as argument. + */ + public float getDistanceSquared(int p_71569_1_, int p_71569_2_, int p_71569_3_) { + float f = (float) (this.posX - p_71569_1_); + float f1 = (float) (this.posY - p_71569_2_); + float f2 = (float) (this.posZ - p_71569_3_); + return f * f + f1 * f1 + f2 * f2; + } + + /** + * Return the squared distance between this coordinates and the ChunkCoordinates given as argument. + */ + public float getDistanceSquaredToChunkCoordinates(ChunkCoordinates p_82371_1_) { + return this.getDistanceSquared(p_82371_1_.posX, p_82371_1_.posY, p_82371_1_.posZ); + } + + public String toString() { + return "Pos{x=" + this.posX + ", y=" + this.posY + ", z=" + this.posZ + '}'; + } + + public int compareTo(Object p_compareTo_1_) { + return this.compareTo((ChunkCoordinates) p_compareTo_1_); + } + } diff --git a/src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java b/src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java index 5aa8286..a7edf20 100644 --- a/src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java +++ b/src/main/java/com/teammetallurgy/atum/world/AtumTeleporter.java @@ -24,51 +24,51 @@ public class AtumTeleporter extends Teleporter { private final LongHashMap destinationCoordinateCache = new LongHashMap(); private final List destinationCoordinateKeys = new ArrayList(); - public AtumTeleporter(WorldServer par1WorldServer) { - super(par1WorldServer); - this.worldServerInstance = par1WorldServer; - this.random = new Random(par1WorldServer.getSeed()); + public AtumTeleporter(WorldServer worldServer) { + super(worldServer); + this.worldServerInstance = worldServer; + this.random = new Random(worldServer.getSeed()); } @Override - public void placeInPortal(Entity par1Entity, double par2, double par4, double par6, float par8) { + public void placeInPortal(Entity entityPlayer, double par2, double par4, double par6, float par8) { if (this.worldServerInstance.provider.dimensionId != 1) { - if (!this.placeInExistingPortal(par1Entity, par2, par4, par6, par8)) { - this.makePortal(par1Entity); - this.placeInExistingPortal(par1Entity, par2, par4, par6, par8); + if (!this.placeInExistingPortal(entityPlayer, par2, par4, par6, par8)) { + this.makePortal(entityPlayer); + this.placeInExistingPortal(entityPlayer, par2, par4, par6, par8); } } else { - int i = MathHelper.floor_double(par1Entity.posX); - int j = MathHelper.floor_double(par1Entity.posY) + 2; - int k = MathHelper.floor_double(par1Entity.posZ); + int x = MathHelper.floor_double(entityPlayer.posX); + int y = MathHelper.floor_double(entityPlayer.posY) - 1; + int z = MathHelper.floor_double(entityPlayer.posZ); byte b0 = 1; byte b1 = 0; for (int l = -2; l <= 2; ++l) { for (int i1 = -2; i1 <= 2; ++i1) { for (int j1 = -1; j1 < 3; ++j1) { - int k1 = i + i1 * b0 + l * b1; - int l1 = j + j1; - int i2 = k + i1 * b1 - l * b0; + int k1 = x + i1 * b0 + l * b1; + int l1 = y + j1; + int i2 = z + i1 * b1 - l * b0; boolean flag = j1 < 0; - this.worldServerInstance.setBlock(k1, l1, i2, flag ? Blocks.sandstone : null); + this.worldServerInstance.setBlock(k1, l1, i2, flag ? Blocks.sandstone : Blocks.air); } } } - par1Entity.setLocationAndAngles((double) i, (double) j, (double) k, par1Entity.rotationYaw, 0.0F); - par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D; + entityPlayer.setLocationAndAngles((double) x, (double) y, (double) z, entityPlayer.rotationYaw, 0.0F); + entityPlayer.motionX = entityPlayer.motionY = entityPlayer.motionZ = 0.0D; } } @Override - public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4, double par6, float par8) { + public boolean placeInExistingPortal(Entity par1Entity, double posX, double posY, double posZ, float par8) { short short1 = 128; double d3 = -1.0D; - int i = 0; - int j = 0; - int k = 0; + int x = 0; + int y = 0; + int z = 0; int l = MathHelper.floor_double(par1Entity.posX); int i1 = MathHelper.floor_double(par1Entity.posZ); long j1 = ChunkCoordIntPair.chunkXZ2Int(l, i1); @@ -80,15 +80,14 @@ public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4 if (this.destinationCoordinateCache.containsItem(j1)) { AtumPortalPosition portalposition = (AtumPortalPosition) this.destinationCoordinateCache.getValueByKey(j1); d3 = 0.0D; - i = portalposition.posX; - j = portalposition.posY; - k = portalposition.posZ; + x = portalposition.posX; + y = portalposition.posY; + z = portalposition.posZ; portalposition.lastUpdateTime = this.worldServerInstance.getTotalWorldTime(); flag = false; } else { for (k1 = l - short1; k1 <= l + short1; ++k1) { var46 = (double) k1 + 0.5D - par1Entity.posX; - for (int d9 = i1 - short1; d9 <= i1 + short1; ++d9) { double d6 = (double) d9 + 0.5D - par1Entity.posZ; @@ -102,9 +101,9 @@ public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4 double l2 = var46 * var46 + d4 * d4 + d6 * d6; if (d3 < 0.0D || l2 < d3) { d3 = l2; - i = k1; - j = k2; - k = d9; + x = k1; + y = k2; + z = d9; } } } @@ -114,27 +113,27 @@ public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4 if (d3 >= 0.0D) { if (flag) { - this.destinationCoordinateCache.add(j1, new AtumPortalPosition(i, j, k, this.worldServerInstance.getTotalWorldTime())); + this.destinationCoordinateCache.add(j1, new AtumPortalPosition(x, y, z, this.worldServerInstance.getTotalWorldTime())); this.destinationCoordinateKeys.add(Long.valueOf(j1)); } - var46 = (double) i + 0.5D; - double var47 = (double) j + 0.5D; - d4 = (double) k + 0.5D; + var46 = (double) x + 0.5D; + double var47 = (double) y + 0.5D; + d4 = (double) z + 0.5D; int j2 = -1; - if (this.worldServerInstance.getBlock(i - 1, j, k) == AtumBlocks.BLOCK_PORTAL) { + if (this.worldServerInstance.getBlock(x - 1, y, z) == AtumBlocks.BLOCK_PORTAL) { j2 = 2; } - if (this.worldServerInstance.getBlock(i + 1, j, k) == AtumBlocks.BLOCK_PORTAL) { + if (this.worldServerInstance.getBlock(x + 1, y, z) == AtumBlocks.BLOCK_PORTAL) { j2 = 0; } - if (this.worldServerInstance.getBlock(i, j, k - 1) == AtumBlocks.BLOCK_PORTAL) { + if (this.worldServerInstance.getBlock(x, y, z - 1) == AtumBlocks.BLOCK_PORTAL) { j2 = 3; } - if (this.worldServerInstance.getBlock(i, j, k + 1) == AtumBlocks.BLOCK_PORTAL) { + if (this.worldServerInstance.getBlock(x, y, z + 1) == AtumBlocks.BLOCK_PORTAL) { j2 = 1; } @@ -145,8 +144,8 @@ public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4 int j3 = Direction.offsetZ[j2]; int k3 = Direction.offsetX[var48]; int l3 = Direction.offsetZ[var48]; - boolean flag1 = !this.worldServerInstance.isAirBlock(i + i3 + k3, j, k + j3 + l3) || !this.worldServerInstance.isAirBlock(i + i3 + k3, j + 1, k + j3 + l3); - boolean flag2 = !this.worldServerInstance.isAirBlock(i + i3, j, k + j3) || !this.worldServerInstance.isAirBlock(i + i3, j + 1, k + j3); + boolean flag1 = !this.worldServerInstance.isAirBlock(x + i3 + k3, y, z + j3 + l3) || !this.worldServerInstance.isAirBlock(x + i3 + k3, y + 1, z + j3 + l3); + boolean flag2 = !this.worldServerInstance.isAirBlock(x + i3, y, z + j3) || !this.worldServerInstance.isAirBlock(x + i3, y + 1, z + j3); if (flag1 && flag2) { j2 = Direction.rotateOpposite[j2]; var48 = Direction.rotateOpposite[var48]; @@ -154,12 +153,12 @@ public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4 j3 = Direction.offsetZ[j2]; k3 = Direction.offsetX[var48]; l3 = Direction.offsetZ[var48]; - k1 = i - k3; + k1 = x - k3; var46 -= (double) k3; - int f1 = k - l3; + int f1 = z - l3; d4 -= (double) l3; - flag1 = !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j, f1 + j3 + l3) || !this.worldServerInstance.isAirBlock(k1 + i3 + k3, j + 1, f1 + j3 + l3); - flag2 = !this.worldServerInstance.isAirBlock(k1 + i3, j, f1 + j3) || !this.worldServerInstance.isAirBlock(k1 + i3, j + 1, f1 + j3); + flag1 = !this.worldServerInstance.isAirBlock(k1 + i3 + k3, y, f1 + j3 + l3) || !this.worldServerInstance.isAirBlock(k1 + i3 + k3, y + 1, f1 + j3 + l3); + flag2 = !this.worldServerInstance.isAirBlock(k1 + i3, y, f1 + j3) || !this.worldServerInstance.isAirBlock(k1 + i3, y + 1, f1 + j3); } float var49 = 0.5F; @@ -224,16 +223,7 @@ public boolean makePortal(Entity par1Entity) { int i2; double d1; double d2; - int k2; - int j2; - int i3; - int l2; - int k3; - int j3; - int i4; - int l3; - int k4; - int j4; + int k2 = 0, j2 = 0, i3 = 0, l2 = 0, k3 = 0, j3 = 0, i4 = 0, l3 = 0, k4 = 0, j4 = 0; double d3; double d4; int i5; @@ -365,6 +355,7 @@ public boolean makePortal(Entity par1Entity) { } } } + Block block; if (par1Entity.dimension == 0) { block = Blocks.sandstone; @@ -374,13 +365,13 @@ public boolean makePortal(Entity par1Entity) { for (int x1 = -2; x1 < 3; x1++) { for (int z1 = -2; z1 < 3; z1++) { - this.worldServerInstance.setBlock(entityX + x1, entityY, entityZ + z1, block); + this.worldServerInstance.setBlock(l + x1, i1, j1 + z1, block); } } for (int x1 = -2; x1 < 3; x1++) { for (int z1 = -2; z1 < 3; z1++) { if (x1 == 2 || z1 == 2 || x1 == -2 || z1 == -2) { - this.worldServerInstance.setBlock(entityX + x1, entityY + 1, entityZ + z1, block); + this.worldServerInstance.setBlock(l + x1, i1 + 1, j1 + z1, block); } } } @@ -388,7 +379,7 @@ public boolean makePortal(Entity par1Entity) { for (int x1 = -2; x1 < 3; x1++) { for (int z1 = -2; z1 < 3; z1++) { if ((x1 == 2 && z1 == 2) || (x1 == -2 && z1 == 2) || (x1 == 2 && z1 == -2) || (x1 == -2 && z1 == -2)) { - this.worldServerInstance.setBlock(entityX + x1, entityY + y1, entityZ + z1, block); + this.worldServerInstance.setBlock(l + x1, i1 + y1, j1 + z1, block); } } } @@ -396,10 +387,9 @@ public boolean makePortal(Entity par1Entity) { for (int x1 = -1; x1 < 2; x1++) { for (int z1 = -1; z1 < 2; z1++) { - this.worldServerInstance.setBlock(x1 + entityX, entityY + 1, z1 + entityZ, AtumBlocks.BLOCK_PORTAL, 0, 2); + this.worldServerInstance.setBlock(l + x1 , i1 + 1, j1 + z1, AtumBlocks.BLOCK_PORTAL, 0, 2); } } - return true; } @@ -411,8 +401,8 @@ public void removeStalePortalLocations(long par1) { while (iterator.hasNext()) { Long olong = (Long) iterator.next(); - AtumPortalPosition portalposition = (AtumPortalPosition) this.destinationCoordinateCache.getValueByKey(olong.longValue()); - if (portalposition == null || portalposition.lastUpdateTime < j) { + AtumPortalPosition portalPosition = (AtumPortalPosition) this.destinationCoordinateCache.getValueByKey(olong.longValue()); + if (portalPosition == null || portalPosition.lastUpdateTime < j) { iterator.remove(); this.destinationCoordinateCache.remove(olong.longValue()); } From 7f08ca3de9d7739ce5550d3ccb04974bd75c3c13 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Thu, 4 Dec 2014 17:56:29 +1000 Subject: [PATCH 086/157] Fixed movement --- build.properties | 4 +- .../items/artifacts/ItemGebsSolidarity.java | 51 ++----------------- 2 files changed, 5 insertions(+), 50 deletions(-) diff --git a/build.properties b/build.properties index 86f4fca..c995013 100644 --- a/build.properties +++ b/build.properties @@ -1,3 +1,3 @@ minecraft_version=1.7.10 -forge_version=10.13.0.1199 -mod_version=0.6 \ No newline at end of file +forge_version=10.13.2.1230 +mod_version=0.6 diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java index e640fa6..107a9d8 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java @@ -1,24 +1,18 @@ package com.teammetallurgy.atum.items.artifacts; import com.teammetallurgy.atum.items.ItemTexturedArmor; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.enchantment.EnchantmentHelper; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; -import net.minecraft.util.DamageSource; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.MathHelper; import net.minecraft.util.StatCollector; import net.minecraft.world.World; -import net.minecraftforge.event.entity.living.LivingHurtEvent; import org.lwjgl.input.Keyboard; import java.util.List; @@ -34,48 +28,9 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { return true; } - @SubscribeEvent - public void onLivingAttack(LivingHurtEvent event) { - DamageSource par1DamageSource = event.source; - if (par1DamageSource.getEntity() != null) { - Entity par1Entity = par1DamageSource.getEntity(); - byte j = 0; - if (par1Entity instanceof EntityLiving) { - int j1 = j + EnchantmentHelper.getKnockbackModifier((EntityLiving) par1Entity, event.entityLiving); - if (j1 >= 0) { - event.entityLiving.motionX /= 0.6D; - event.entityLiving.motionZ /= 0.6D; - event.entityLiving.addVelocity((double) (MathHelper.sin(par1Entity.rotationYaw * 3.1415927F / 180.0F) * (float) j1 * 0.5F), -0.1D, (double) (-MathHelper.cos(par1Entity.rotationYaw * 3.1415927F / 180.0F) * (float) j1 * 0.5F)); - } - } - - EntityLivingBase player = event.entityLiving; - double d0 = par1DamageSource.getEntity().posX - player.posX; - - double d1; - for (d1 = par1DamageSource.getEntity().posZ - player.posZ; d0 * d0 + d1 * d1 < 1.0E-4D; d1 = (Math.random() - Math.random()) * 0.01D) { - d0 = (Math.random() - Math.random()) * 0.01D; - } - - player.isAirBorne = true; - float f = MathHelper.sqrt_double(d0 * d0 + d1 * d1); - float f1 = 0.2F; - player.motionX += d0 / (double) f * (double) f1; - player.motionZ += d1 / (double) f * (double) f1; - player.motionX *= 2.0D; - player.motionY *= 2.0D; - player.motionZ *= 2.0D; - if (player.motionY > 0.4000000059604645D) { - player.motionY = 0.4000000059604645D; - } - } - - } - @Override public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { - double magnitude = Math.sqrt(player.motionX * player.motionX + player.motionZ * player.motionZ); - player.capabilities.setPlayerWalkSpeed((float) ((double) player.capabilities.getWalkSpeed() * 0.5D)); + player.addPotionEffect(new PotionEffect(Potion.moveSpeed.getId(), 5, 5)); } @Override From 41d17602fa382bdb9fa402b5e9101a362746a490 Mon Sep 17 00:00:00 2001 From: lclc98 Date: Wed, 7 Jan 2015 10:13:01 +1000 Subject: [PATCH 087/157] Refactored the portal code --- .../atum/blocks/BlockPortal.java | 9 +-- .../atum/entity/EntityPharaoh.java | 3 +- .../teammetallurgy/atum/items/ItemScarab.java | 56 ++++++++++--------- 3 files changed, 34 insertions(+), 34 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java index a28419d..7f2665e 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPortal.java @@ -68,8 +68,7 @@ public boolean isOpaqueCube() { public boolean tryToCreatePortal(World par1World, int x, int y, int z, Block block) { for (int x1 = -2; x1 < 3; x1++) { for (int z1 = -2; z1 < 3; z1++) { - Block blocks = par1World.getBlock(x + x1, y, z + z1); - if (blocks != block) { + if (par1World.getBlock(x + x1, y, z + z1) != block) { return false; } } @@ -77,8 +76,7 @@ public boolean tryToCreatePortal(World par1World, int x, int y, int z, Block blo for (int x1 = -2; x1 < 3; x1++) { for (int z1 = -2; z1 < 3; z1++) { if (x1 + x == x + 2 || z1 + z == z + 2 || x1 + x == x - 2 || z1 + z == z - 2) { - Block blocks = par1World.getBlock(x + x1, y + 1, z + z1); - if (blocks != block) { + if (par1World.getBlock(x + x1, y + 1, z + z1) != block) { return false; } } @@ -88,8 +86,7 @@ public boolean tryToCreatePortal(World par1World, int x, int y, int z, Block blo for (int x1 = -2; x1 < 3; x1++) { for (int z1 = -2; z1 < 3; z1++) { if ((x1 + x == x + 2 && z1 + z == z + 2) || (x1 + x == x - 2 && z1 + z == z + 2) || (x1 + x == x + 2 && z1 + z == z - 2) || (x1 + x == x - 2 && z1 + z == z - 2)) { - Block blocks = par1World.getBlock(x + x1, y + y1, z + z1); - if (blocks != block) { + if (par1World.getBlock(x + x1, y + y1, z + z1) != block) { return false; } } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java b/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java index 674c3bb..9a960c3 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java @@ -11,6 +11,7 @@ import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.boss.BossStatus; import net.minecraft.entity.boss.IBossDisplayData; import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.player.EntityPlayer; @@ -343,7 +344,7 @@ public void onLivingUpdate() { if (!this.worldObj.isRemote) { this.dataWatcher.updateObject(16, Float.valueOf(this.prevHealth)); } - + BossStatus.setBossStatus(this,true); if (regenTime++ > 20) { regenTime = 0; this.heal(1); diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java b/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java index f712f61..9e9942b 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemScarab.java @@ -1,7 +1,7 @@ package com.teammetallurgy.atum.items; -import com.teammetallurgy.atum.handler.AtumConfig; import com.teammetallurgy.atum.blocks.AtumBlocks; +import com.teammetallurgy.atum.handler.AtumConfig; import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; @@ -29,39 +29,41 @@ public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, if (AtumConfig.ALLOW_CREATION || par2EntityPlayer.capabilities.isCreativeMode) { Block block = par3World.getBlock(x, y, z); Block temp = null; - if (block == Blocks.sandstone) { - temp = Blocks.sandstone; - } else if (block == AtumBlocks.BLOCK_LARGEBRICK) { - temp = AtumBlocks.BLOCK_LARGEBRICK; + if (block == Blocks.sandstone || block == AtumBlocks.BLOCK_LARGEBRICK) { + temp = block; } if (temp != null) { - if (!AtumBlocks.BLOCK_PORTAL.tryToCreatePortal(par3World, x, y, z, temp)) { - if (par2EntityPlayer.capabilities.isCreativeMode) { - for (int x1 = -2; x1 < 3; x1++) { - for (int z1 = -2; z1 < 3; z1++) { - par3World.setBlock(x + x1, y, z + z1, temp); - } + for (int x1 = -1; x1 < 1; x1++) { + for (int z1 = -1; z1 < 1; z1++) { + if (AtumBlocks.BLOCK_PORTAL.tryToCreatePortal(par3World, x1 + x, y, z1 + z, temp)) { + --par2EntityPlayer.getCurrentEquippedItem().stackSize; + return true; } - for (int x1 = -2; x1 < 3; x1++) { - for (int z1 = -2; z1 < 3; z1++) { - if (x1 + x == x + 2 || z1 + z == z + 2 || x1 + x == x - 2 || z1 + z == z - 2) { - par3World.setBlock(x + x1, y + 1, z + z1, temp); - } + } + } + + if (par2EntityPlayer.capabilities.isCreativeMode) { + for (int x1 = -2; x1 < 3; x1++) { + for (int z1 = -2; z1 < 3; z1++) { + for (int y1 = 0; y1 < 2; y1++) { + par3World.setBlock(x + x1, y + y1, z + z1, temp); } } - for (int y1 = 2; y1 < 4; y1++) { - for (int x1 = -2; x1 < 3; x1++) { - for (int z1 = -2; z1 < 3; z1++) { - if ((x1 + x == x + 2 && z1 + z == z + 2) || (x1 + x == x - 2 && z1 + z == z + 2) || (x1 + x == x + 2 && z1 + z == z - 2) || (x1 + x == x - 2 && z1 + z == z - 2)) { - par3World.setBlock(x + x1, y + y1, z + z1, temp); - } - } - } + } + + for (int x1 = -1; x1 < 2; x1++) { + for (int z1 = -1; z1 < 2; z1++) { + par3World.setBlockToAir(x + x1, y + 1, z + z1); } - AtumBlocks.BLOCK_PORTAL.tryToCreatePortal(par3World, x, y, z, temp); } - } else { - --par2EntityPlayer.getCurrentEquippedItem().stackSize; + + for (int y1 = 2; y1 < 4; y1++) { + par3World.setBlock(x - 2, y + y1, z - 2, temp); + par3World.setBlock(x + 2, y + y1, z - 2, temp); + par3World.setBlock(x - 2, y + y1, z + 2, temp); + par3World.setBlock(x + 2, y + y1, z + 2, temp); + } + AtumBlocks.BLOCK_PORTAL.tryToCreatePortal(par3World, x, y, z, temp); } } } else { From a990f100c196198494e3c1fd363c48c0eba3017a Mon Sep 17 00:00:00 2001 From: Al Date: Mon, 19 Jan 2015 22:04:33 -0300 Subject: [PATCH 088/157] Create pt_BR.lang --- .../resources/assets/atum/lang/pt_BR.lang | 362 ++++++++++++++++++ 1 file changed, 362 insertions(+) create mode 100644 src/main/resources/assets/atum/lang/pt_BR.lang diff --git a/src/main/resources/assets/atum/lang/pt_BR.lang b/src/main/resources/assets/atum/lang/pt_BR.lang new file mode 100644 index 0000000..181751d --- /dev/null +++ b/src/main/resources/assets/atum/lang/pt_BR.lang @@ -0,0 +1,362 @@ +# Misc +itemGroup.atum=Atum +biome.desert.name=Deserto + +# Blocks +block.portal.name=Portal do Atum +tile.chestSpawner.name=Báu do Atum +tile.sand.name=Areia Estranha +block.stone.name=Calcário +tile.cobble.name=Calcário Rachado +tile.largeBrick.name=Tijolos Grandes de Calcário +tile.smallBrick.name=Tijolos Pequenos de Calcário +tile.carvedBrick.name=Tijolos Talhados de Calcário +tile.smoothSlab.name=Laje de Calcário Polido +tile.crackedSlab.name=Tijolos Rachados de Calcário +tile.largeBrickSlab.name=Laje de Tijolos Grandes de Calcário +tile.smallBrickSlab.name=Laje de Tijolos Pequenos de Calcário +tile.doubleSlab.name=Laje de Calcário +tile.smoothStairs.name=Escadas de Calcário +tile.cobbleStairs.name=Escadas de Pedregulho Calcário +tile.largeStairs.name=Escadas de Tijolos Grandes de Calcário +tile.smallStairs.name=Escadas de Tijolos Pequenos de Calcário +tile.sandLayer.name=Camada de Areia +tile.crackedLargeBrick.name=Tijolos de Calcário Rachado +tile.smoothWall.name=Parede de Calcário Polido +tile.crackedWall.name=Parede de Calcário Rachado +tile.largeBrickWall.name=Parede de Tijolos Grandes de Calcário +tile.smallBrickWall.name=Parede de Tijolos Pequenos de Calcário +tile.crystalGlass.name=Vidro Cristalino +tile.framedGlass.name=Vidro Emoldurado +tile.palmSapling.name=Muda de Palmeira +tile.date.name=Tâmara +tile.shrub.name=Arbusto +tile.weed.name=Erva Daninha +tile.papyrus.name=Papiro +tile.flax.name=Linho +tile.fertileSoil.name=Solo Fértil +tile.fertileSoilTilled.name=Solo Fértil Lavrado +tile.palmLog.name=Madeira de Palmeira +tile.palmLeaves.name=Folhas de Palmeira +tile.palmPlanks.name=Tábuas de Palmeira +tile.thinCrystalGlass.name=Vidro Fino Cristalino +tile.thinFramedGlass.name=Vidro Fino Emoldurado +tile.burningTrap.name=Armadilha Incendiária +tile.pharaohChest.name=Baú do Faraó +tile.redstoneOre.name=Minério de Redstone +tile.coalOre.name=Minério de Carvão +tile.ironOre.name=Minério de Ferro +tile.goldOre.name=Minério de Ouro +tile.lapisOre.name=Minério de Lápis-Lazuli +tile.diamondOre.name=Minério de Diamante +tile.furnaceIdle.name=Fornalha de Calcário +tile.furnaceBurning.name=Fornalha de Calcário + +# Containers +container.limestoneFurnace=Fornalha de Calcário + +# Item +item.scarab.name=Escaravelho +item.loot.name=Despojo +item.scimitar.name=Cimitarra +item.greatsword.name=Espada Larga +item.scepter.name=Cetro +item.stoneSoldierSword.name=Espada do Soldado de Pedra +item.bow.name=Arco Curto +item.limestoneShovel.name=Pá de Calcário +item.limestonePickaxe.name=Picareta de Calcário +item.limestoneAxe.name=Machado de Calcário +item.limestoneSword.name=Espada de Calcário +item.limestoneHoe.name=Enxada de Calcário +item.mummyHelmet.name=Elmo da Múmia +item.mummyChest.name=Peitoral da Múmia +item.mummyLegs.name=Calça da Múmia +item.mummyBoots.name=Botas da Múmia +item.wandererHelmet.name=Elmo do Andarilho +item.wandererChest.name=Peitoral do Andarilho +item.wandererLegs.name=Calça do Andarilho +item.wandererBoots.name=Botas do Andarilho +item.desertHelmet.name=Elmo do Deserto +item.desertChest.name=Peitoral do Deserto +item.desertLegs.name=Calça do Deserto +item.desertBoots.name=Botas do Deserto +item.papyrusPlant.name=Papiro +item.ectoplasm.name=Ectoplasma +item.stoneChunk.name=Pedaço de Pedra +item.clothScrap.name=Retalho +item.scroll.name=Pergaminho +item.wolfPelt.name=Pele de Chacal +item.date.name=Tâmara +item.linen.name=Linho +item.flax.name=Linho +item.flaxSeeds.name=Sementes de Linho +item.fish.0.name=Peixe Forsaken +item.fish.1.name=Peixe Mumificado +item.fish.2.name=Peixe de Jóias +item.fish.3.name=Espinha de Peixe + +item.ptahsDecadence.name=Decadência de Ptahs +item.soteksRage.name=Raiva de Soteks +item.osirisWill.name=Vontade de Osiris +item.akersToil.name=Labuta de Akers +item.gebsBlessing.name=Bênção de Gebs +item.atensFury.name=Fúria de Atens +item.rasGlory.name=Glória de Ras +item.sekhmetsWrath.name=Ira de Sekhmets +item.nutsAgility.name=Agilidade de Nuts +item.horusFlight.name=Voo de Horus +item.monthusStrike.name=Golpe de Monthus +item.anhursMight.name=Poder de Anhurs +item.hedetetsSting.name=Ferrão de Hedetets +item.horusSoaring.name=Ascendência de Horus +item.shusBreath.name=Respiração de Shus +item.ptahsDestruction.name=Destruição de Ptahs +item.monthusBlast.name=Explosão de Monthus +item.nusFlux.name=Fluxo de Nus +item.mnevisHorns.name=Chifres de Mnevis +item.isisEmbrace.name=Abraço de Isis +item.maatsBalance.name=Equilíbrio de Maats +item.hedetetsVenom.name=Veneno de Hedetets +item.gebsSolidarity.name=Solidariedade de Gebs +item.nutsCall.name=Chamado de Nuts +item.anuketsBounty.name=Recompensa de Anukets +item.mafdetsQuickness.name=Rapidez de Mafdets +item.isisHealing.name=Cura de Isis +item.amunetsHomecoming.name=Reencontro de Amunets +item.anubisMercy.name=Misericórdia de Anubis +item.neithsAudacity.name=Audácia de Neiths + + +# Item Information +item.akersToil.line1=Desempenho I: Mais rápidez, +item.akersToil.line2=não dá fadiga +item.akersToil.line3=Desempenho I + +item.amunetsHomecoming.line1=Retorno I: Teleporta você de volta ao +item.amunetsHomecoming.line2=seu ponto de desova +item.amunetsHomecoming.line3=Retorno I + +item.anhursMight.line1=Poderoso I: Retarda o jogador, +item.anhursMight.line2=Chance de atordoar os inimigos +item.anhursMight.line3=Poderoso I + +item.ptahsDecadence.line1=Riqueza I: Ganhe um diamante +item.ptahsDecadence.line2=extra de cada minério +item.ptahsDecadence.line3=Riqueza I + +item.soteksRage.line1=Exílio I: Golpeia para longe +item.soteksRage.line2=um grande número de inimigos +item.soteksRage.line3=Exílio I + +item.osirisWill.line1=Banimento I: Bônus de dano em mortos-vivos, +item.osirisWill.line2=chance de cair ectoplasma +item.osirisWill.line3=Banimento I + +item.gebsBlessing.line1=Semear I: Terra lavrada e abençoada, +item.gebsBlessing.line2=lhe concede aumento da taxa de crescimento +item.gebsBlessing.line3=Semear I + +item.atensFury.line1=Tiro de Fogo I: Uma flecha flamejante +item.atensFury.line2=Que inflama blocos e inimigos +item.atensFury.line3=Tiro de Fogo I + +item.rasGlory.line1=Visão Divina I: Visão noturna, aumenta o +item.rasGlory.line2=campo de visão em Atum +item.rasGlory.line3=Visão Divina I + +item.sekhmetsWrath.line1=Imolação I: Proteção contra fogo, +item.sekhmetsWrath.line2=chance de inflamar atacantes +item.sekhmetsWrath.line3=Imolação I + +item.nutsAgility.line1=Agilidade I: Aumenta a corrida +item.nutsAgility.line2=balaceando a velocidade +item.nutsAgility.line3=Agilidade I + +item.horusFlight.line1=Destreza I: Aumento da altura do salto, +item.horusFlight.line2=proteção contra danos de queda +item.horusFlight.line3=Destreza I + +item.monthusStrike.line1=Bater I: Aumento dos danos, +item.monthusStrike.line2=e chance para dar tranco AOE +item.monthusStrike.line3=Bater I + +item.hedetetsSting.line1=Veneno II: Chance +item.hedetetsSting.line2=para envenenar inimigos +item.hedetetsSting.line3=Veneno II + +# I need to talk to shadow +item.horusSoaring.line1=Poderoso I: Retarda o jogador, +item.horusSoaring.line2=Chance de atordoar os inimigos +item.horusSoaring.line3=Poderoso I + +item.shusBreath.line1=Tração I: Redução da +item.shusBreath.line2=velocidade do obstáculo +item.shusBreath.line3=Tração I + +item.ptahsDestruction.line1=Pedreiro I: Aumenta o dano +item.ptahsDestruction.line2=nos inimigos de pedra +item.ptahsDestruction.line3=Pedreiro I + +item.monthusBlast.line1=Tiro Explosivo I: Flechas explodem +item.monthusBlast.line2=no impacto +item.monthusBlast.line3=Tiro Explosivo I + +item.nusFlux.line1=Varrer I: Chance para lançar +item.nusFlux.line2=os inimigos para o ar +item.nusFlux.line3=Varrer I + +item.mnevisHorns.line1=Reflexão I: Dá +item.mnevisHorns.line2=dano aos atacantes +item.mnevisHorns.line3=Reflexão I + +item.isisEmbrace.line1=Regeneração I: Regenera +item.isisEmbrace.line2=lentamente a saúde +item.isisEmbrace.line3=Regeneração I + +item.maatsBalance.line1=Equilíbrio I: Diminui o dano +item.maatsBalance.line2=distribuido, diminui o dano recebido +item.maatsBalance.line3=Equilíbrio I + +item.hedetetsVenom.line1=Flecha Venenosa I: Dispara uma +item.hedetetsVenom.line2=flecha que envenena os inimigos +item.hedetetsVenom.line3=Flecha Venenosa I + +item.gebsSolidarity.line1=Valente I: Diminui a velocidade +item.gebsSolidarity.line2=de movimento, diminui o tranco (WIP) +item.gebsSolidarity.line3=Valente I + +item.nutsCall.line1=Ira I: Chance de acertar +item.nutsCall.line2=o inimigo com um raio +item.nutsCall.line3=Ira I + +item.anuketsBounty.line1=Atração I: Chance de pegar +item.anuketsBounty.line2=um peixe especial em Atum +item.anuketsBounty.line3=Atração I + +item.mafdetsQuickness.line1=Rapidez I: Você corre +item.mafdetsQuickness.line2=mais rápido enquanto segurar +item.mafdetsQuickness.line3=Rapidez I + +item.isisHealing.line1=Regeneração I: Regenera +item.isisHealing.line2=lentamente a saúde enquanto segurar +item.isisHealing.line3=Regeneração I + +item.anubisMercy.line1=Retorno I: Teleporta você de volta ao +item.anubisMercy.line2=seu ponto de desova +item.anubisMercy.line3=Retorno I + +item.neithsAudacity.line1=Tiro Duplo I: Atira +item.neithsAudacity.line2=duas flechas +item.neithsAudacity.line3=Tiro Duplo I + +# Loot +item.loot.dirty.name=Sujo +item.loot.silver.name=Prata +item.loot.gold.name=Ouro +item.loot.sapphire.name=Safira +item.loot.ruby.name=Rubi +item.loot.emerald.name=Esmeralda +item.loot.diamond.name=Diamante + +item.loot.idol.name=Ídolo +item.loot.necklace.name=Colar +item.loot.ring.name=Anel +item.loot.broach.name=Broche +item.loot.scepter.name=Cetro + +# Entity +entity.atum.mummy.name=Múmia +entity.atum.banditWarrior.name=Bandido Guerreiro +entity.atum.banditArcher.name=Bandido Arqueiro +entity.atum.pharaoh.name=Faraó +entity.atum.dustySkeleton.name=Esqueleto Empoeirado +entity.atum.desertGhost.name=Fantasma do Deserto +entity.atum.stoneSoldier.name=Soldado de Pedra +entity.atum.desertWolf.name=Chacal +entity.atum.banditWarlord.name=Banddido Chefe +entity.atum.barbarian.name=Bárbaro + +# Pharaoh Names +entity.atum.pharaoh.Ama=Ama +entity.atum.pharaoh.Ata=Ata +entity.atum.pharaoh.Ato=Ato +entity.atum.pharaoh.Bak=Bak +entity.atum.pharaoh.Cal=Cal +entity.atum.pharaoh.Djet=Djet +entity.atum.pharaoh.Eje=Eje +entity.atum.pharaoh.For=For +entity.atum.pharaoh.Gol=Gol +entity.atum.pharaoh.Gut=Gut +entity.atum.pharaoh.Hop=Hop +entity.atum.pharaoh.Hor=Hor +entity.atum.pharaoh.Huni=Huni +entity.atum.pharaoh.Iam=Iam +entity.atum.pharaoh.Jor=Jor +entity.atum.pharaoh.Kal=Kal +entity.atum.pharaoh.Khas=Khas +entity.atum.pharaoh.Khor=Khor +entity.atum.pharaoh.Lat=Lat +entity.atum.pharaoh.Mal=Mal +entity.atum.pharaoh.Not=Not +entity.atum.pharaoh.Oap=Oap +entity.atum.pharaoh.Pra=Pra +entity.atum.pharaoh.Qo=Qo +entity.atum.pharaoh.Ras=Ras +entity.atum.pharaoh.Shas=Shas +entity.atum.pharaoh.Thoth=Thoth +entity.atum.pharaoh.Tui=Tui +entity.atum.pharaoh.Uld=Uld +entity.atum.pharaoh.Ver=Ver +entity.atum.pharaoh.Wot=Wot +entity.atum.pharaoh.Xo=Xo +entity.atum.pharaoh.Yat=Yat +entity.atum.pharaoh.Zyt=Zyt +entity.atum.pharaoh.Khep=Khep + +entity.atum.pharaoh.Ahat=Ahat +entity.atum.pharaoh.Amesh=Amesh +entity.atum.pharaoh.Amon=Amon +entity.atum.pharaoh.Anut=Anut +entity.atum.pharaoh.Baroom=Baroom +entity.atum.pharaoh.Chanta=Chanta +entity.atum.pharaoh.Erant=Erant +entity.atum.pharaoh.Funam=Funam +entity.atum.pharaoh.Daresh=Daresh +entity.atum.pharaoh.Djer=Djer +entity.atum.pharaoh.Hotesh=Hotesh +entity.atum.pharaoh.Khaden=Khaden +entity.atum.pharaoh.Kron=Kron +entity.atum.pharaoh.Gorkum=Gorkum +entity.atum.pharaoh.Ialenter=Ialenter +entity.atum.pharaoh.Ma'at=Maat +entity.atum.pharaoh.Narmer=Narmer +entity.atum.pharaoh.Radeem=Radeem +entity.atum.pharaoh.Jaloom=Jaloom +entity.atum.pharaoh.Lepsha=Lepsha +entity.atum.pharaoh.Quor=Quor +entity.atum.pharaoh.Oleshet=Oleshet +entity.atum.pharaoh.Peput=Peput +entity.atum.pharaoh.Talat=Talat +entity.atum.pharaoh.Ulam=Ulam +entity.atum.pharaoh.Veresh=Veresh +entity.atum.pharaoh.Ranesh=Ranesh +entity.atum.pharaoh.Snef=Snef +entity.atum.pharaoh.Wollolo=Wollolo +entity.atum.pharaoh.Hathor=Hathor +entity.atum.pharaoh.Intef=Intef +entity.atum.pharaoh.Neferk=Neferk +entity.atum.pharaoh.Khatne=Khatne +entity.atum.pharaoh.Tepy=Tepy +entity.atum.pharaoh.Moret=Moret + +# Chat +chat.atum.disabled=Criação do portal de escaravelho está desabilitada +chat.atum.enemies=Existem muitos inimigos nas proximidades para você poder vasculhar este baú +chat.atum.summonPharaoh=foi invocado por +chat.atum.killPharaoh=foi morto por + +# Gui +atum.configGui.portalCreation=Portal do Atum +atum.configGui.fog=Nevoeiro do Atum +atum.configGui.dimensionID=ID da dimensão do Atum +atum.configGui.biomeID=ID do bioma Deserto do Atum From b64224242792315535dc0f5f095ce06f2c3cb743 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Fri, 27 Feb 2015 09:48:48 +0300 Subject: [PATCH 089/157] Updates .gitattributes --- .gitattributes | 31 +++++++++---------------------- 1 file changed, 9 insertions(+), 22 deletions(-) diff --git a/.gitattributes b/.gitattributes index 412eeda..9f0d94e 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,22 +1,9 @@ -# Auto detect text files and perform LF normalization -* text=auto - -# Custom for Visual Studio -*.cs diff=csharp -*.sln merge=union -*.csproj merge=union -*.vbproj merge=union -*.fsproj merge=union -*.dbproj merge=union - -# Standard to msysgit -*.doc diff=astextplain -*.DOC diff=astextplain -*.docx diff=astextplain -*.DOCX diff=astextplain -*.dot diff=astextplain -*.DOT diff=astextplain -*.pdf diff=astextplain -*.PDF diff=astextplain -*.rtf diff=astextplain -*.RTF diff=astextplain +* text eol=lf +*.jar binary +*.png binary +*.xcf binary +*.ogg binary +*.java text eol=lf +mcmod.info text eol=lf +*.sh text eol=lf +*.bat text eol=crlf \ No newline at end of file From 8c5338ad81166086fde868a9c0f382c5934a146e Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Fri, 27 Feb 2015 09:51:23 +0300 Subject: [PATCH 090/157] Updates gradle wrapper to 2.0 --- gradle/wrapper/gradle-wrapper.jar | Bin 50514 -> 51017 bytes gradle/wrapper/gradle-wrapper.properties | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 667288ad6c2b3b87c990ece1267e56f0bcbf3622..b7612167031001b7b84baf2a959e8ea8ad03c011 100644 GIT binary patch delta 24889 zcmZ6yV{~R+)2-|DawFDz=43kz<@l+?TaQLQNsMYHpHl7B>Ysx9%#l3XnJr01^HiT zB_t64NuQwp@A`-NKP!+1bnibwBLbKU*nhWzAx=>L&4noU+SUaF0a1bg0bv9tKwtqR zoD5BDOx2uCoh0pTO=a!vtz8|MjBN~^onusV6!3&FzQq&tR{khg(KNSM=|JeLYhSA^ z4oy}>sKSuIDwu@8)-ZLNXxV&fbW>PaEsP30NpSEFD$|bzb&j`ByZ1PsOikVX`sD|v zIZzR(G&Sx~ut%FC6;2Cdpf9fb8i4{3uOr!S4~z%tM)6V-SGJHFkb#v!0P4IyzYEd* z-Wad3FMe7OlAld+Tg-I{b+}mL=3t+!tJI!xmh0@8VA+nLH*GkN&Y8xR@%BnEv{%3g@m~fQOaJBMn+dwtPiJ|^v z%!qBV)y`sh&|bH4FFwjD(K#^+Al-;!qfJy3Wf9U9@NAF@KSC9v=u)na#)SG~h6oCf zySu3`^9aJkd_gfwJInbHUu*))(QT%RPQ>D(fTK#X}wwgmtEzeO)9O9kBSBiCUagebon>W(j7{KGXfxt;d#LB zic;9AM9uA)`9EsL`u|l=aGR`&XJkxmFTDvbu}|x+%e5+YBnp4qH+| zQbik(kS4`I8mz^@lr_S#@Mos7uTnUNM zAl}1(`+;Fx<{TVmqM_Z^%#1GX=p1&vDCb?t`sWQr(O!KE)*Y>!OEw} zKPXG+#hF&DbutpH6BLtKVgjpi+;R)B)nGAOI4d#$Vx5&FLekP@GnpMZ>^94IDlS4# z%~qji#3_nIa#Z;56dveiDUlqs(~6x@g+Ud`>QJs~uWW3QJEfW#ZK>h<-kOEUniEY< z^;yLxt{j|pv~OKj!yC*dPewxcDnHrvY$r{Yg!5&7BxPBlmMJ*GpluY`5oF+^J2Bo= zTUdJm7>x1K3rx#H31w(HnD|=Qr=s3p_dGd_7t?Y{b=)$iapF*cc4p!fOYMnJh~}Y~ zgNlCw4+9LN!)41K_kXa#8-~v%flV*{MJ9m--Jj)X7*UR{;<v@o9rdq)TXM&AaWC_Aayn5SiY@!w>eIuRKN=X3}1|wUQf6HT!et zyFBc=(5E)Ap=4^LD0gNi#ILoas*_9d>b*h`sw2~q8OJRfU^K`F<1A@eO~yvgY`D!T zj-y$t)x=uNx>CF4>K)P$P4mD?G$4=LS*H@n_e&a=xi7KK@!o`x*2+u0*#yI2lEx?+ za9yu48$E`D9ZbVCmev>L*F|w?+C^r#C@q${S3hE^J5=eXn|P0>pPJC8;@3rbC@0(S z`{wP27SG7%w1G6A^*Yvhh#(S%z~1qRETzIEblJv4cizS*1|ePDq^6zxCQHnQjaBr; zv7-B0*l#q>-Lxz0`=Q*d$c3iYI-E3cC7@-l`9Jz-f4SZP`jy0-}hU!vc%j2_89g{#N3>f2bR;e~$| zhn(8emgHRfa*{k~(3etCDIFlb!j$d{b;O7CsVVUaK7lggb_KF4y2A%UMnRQ*8js^9 zA#8NX(6SsWsO%#%3;?IfKxEuR!h=zOmhEerC+nzW+wrOsIhoQq)b+Wmr;l9 zAU_aulod>lJp1FS5M$fp;x#`Nbes+Rw(o{EX||7x1@Tv00Ih0ppl*pG4`O>~#1^e; zcFKW1t-c@P^0WXg5e#&X1T=GV&j|B=x~jkz!ZceMt_56m`p8Bb*HyMKfJUFF>FH*hpwf^Byws4ZAs_5g*yd0qqT zcOl_!9{BD7jbGp5(`v+Ti+wE5*71*^u3zIHQC&ZezC?1$oRGnqe1dYG8v~(#i2ROA z9Fd+;&nX3eV&Ew?oA3yKuvXI2O;j)+Z;JaOXMFqw>>OO zojV_%E`Cl6qu2wfMk(7-GGfVm+Aq|x;XUW_w+QgxipU~axFmA0Z zR>z)D_qk$T^hV>Y=-Sx0R;2{l z@B}P-GXv-2LHbkLMV+IlB?Fl~quatm6?+JumA3R4MEweP6zm`z5y3eze|p^$x@UmY zVayMr<69pF6RF~u2Ah#+lZleD$$J{cV}8mH-rhq8s4)p` zGgs;{P}OaiHm>sJgr|E2pPyY3tllAP(J;P@4wp=16Q6H?~nyZs#7|nFqu$ z4RvbjD`QbFP#31$(0pKjCig3yDOOx&U1^pnq5+=m;l6A3iC;@Y0aDE0I+4%BTVr0X zjCxr%SY_HSM^c}u?Y;uZ>iICj;gpdyi@_2}^aaA`k#}?j%IFnk1>G}=y6k_1J)(=y z)!FTixMDuCz+93z;yJt6hj1`kw+JbiaD(J!K;kco7mqjZi_W5g3U$(HKdR z3~q40Ffw)P1F-1El#V4ZubNTW$1NlHV}MQK@hWMuUSYVn9D4*vqk?W(cyoqk7(V7a zgUVqV!*YF^=cmDeMIfj^68+vZgX8J^Hr-SecWV3dUZWtwvDJoFp}KT9Mg~xm=iYwJRI$w&X|(pB z*eqfPF>?|_h;v%@n$NN9x&H94cX8JxG~HdIua{NLG`%V)U^CuOQ@tyca2q` ze{^1lK(tm&U1evqoEmcR?3XNQb9{Syo45vRwlS=hSn-l@ny{(&VypC)J00ldOckQ_ zqQGsIhl;XBt*s6Q~}wsKpE!&8}Hp_CkbBD|5`= zS-&~R7GW~q+G-p)uFA%B)6`sy?G%@0>aMmsopC^Y=GLeR#ai_pueQq1$~n@xpIVCw zsdeoyq#pR8g7w+b2z_nz&t=cODse*gw9fdrBein<3`kg0kPH8Fcb7AZm@=1>UGo|A z*6n_)`wSF^b-M5zS2vt-4b%Yk6Q`dB0%@&LdIlM5>iDlZ%$wWZD@F~(8|G(9>$EVR z0Z`VVstz095m92Aw2xGG(w;IWvNRzwOf1-dZuKT}Fj4V?VB*>F4uCLI=wpP1nN8G7 z4Q{%1OAEl+iD3PGd=@-f8f&JQ9Kb0MXQj+|&G3>c(_!kTpaaE`jp?kpQ~rusqdqk# zk+^|y!K%4`Ix`_(yW8oB^e2-@bdcaPJNbK}#j`3SZS(?m7t&diEo#J*UGBBJ5oYRO zz_W^SpaUTT+hsEZ4-k8~C&bpQ6<53#?$u;~sO<>5;Rwl@k4*?OU-VI*%v>4eh_U%f z(T>2i=d>jwBGXCW=rU@^m;D?0X5ZQ-v87@t8|HBpjcj*h5lBP+UCrV#Ao4`}onFE( z(qxFSI=}L9o>v$ywBMGU+9kE|2daq_6llT5+0m!}aM(z5320+MO}Xn#c+MDokKo)5 z)#9{!hLnN7U@qqFOD-E$Tl2TmNlr$>P&PsQ&=^t|OP-xz7_?oNEHB8^&h9OZ zJSc7@(XX(v_D4DA6Ln9i*}>ut;{3LLv3;}d=sE; zGj3oFg>CBK2!Kkx>Ly;!_tfQ`7l@ja2aX>1T;saz1VFW)T|V$d6QY~i7CN^XVf|Dv z4{3M8(#US`T%P0HY)E8Jgk~9Q{?a8BCJe=;AxB77x-v04uF{Z@ARL9wsTHD@U+~RC zf7_axc!$u_oVmp@{o`t0XKlY}T-I`Y?ihS#n)e*C0iYdUzV6w^y;^Ujm6&IyeSQcECC4T4=K9ng{tQuEW5TP!mVcQ( zC5NzQw$Yr8g~VFd!lv4ZQv{AM+l`=DZj8^=ik?LlRC;)Sk}J3N=XuO$Z0 zxA}~kD|DyT9di7UvJ$p1E41RFfk@KNgg5 zHu*)^lZVig5RyQD3E+}krM z(PZ^XT}sYvB65V$_K|c~yL7!t=c!hV0?kRbwa#bUR#P70P{}Atf`x{b@W2|W1#6~d zeulA_7e>I3y+A{2{l2OGUFaVe-DgS3xK*?vmplP2G?peT`o8s^zdL%k=ITcsD$jXy zD8mA4t_&msdiI)r7*;Kdh-;WB&O)QB53{@DIrmKx}@4V`jbO%{dy zkV@m0JRm~CjpRy030>-<3caQj4Vj!0T@Gfua#R4wX9^?cqkbOo3W>Nmug?0vFBtVt zv2^KjH@$f#k~Ff3h`E1LsnQWNFFjdnz0*?&3ZLzwlFCfyb4YdKX^C^Hw}E^J$z!-% z#6TP1(Kk_zf@+FIUTw=rW-t`aR4e5ae2A-)cfP?V#9@c$U`Uf&geW@(ukFCx-!8(@ zn+VBy!d5N%k(a6BoXXSD+Gp?7^>r#J1Q)1y_=hD`&LqHcb5ft;jQ+|P`Bm~tePkWX zH{2-b6`E6@I;?Kc`WN(niEUQv4EA5KDGS3AmI3>;wE@^k-6Y20{{B>f%s=GW`wap$ zkgL);wpA9ecA2~GNASN$^d$?(?+1|g!dP=k8J+QEMpCG*c@$>fvR9h`-{0?udBK>N zKaSLfl){1Rl*^TLXlW_tVzkquKk$b+poTYG5oJVwjIunf0dpNT=dTe{J9&ei1!1=J z+1d}!kN|_a>kXB|71Q)3`ddF@4l>j#9hGSDgLF$o1a zO0`4#R@ViaRe*$2!*S{-CUb_aY7~BroZVzQBOsKewUV`$oEbMU#X`u&RnW!%dG#xp za)r?mhi;yAcUivO9eELt#595m*jXUlZ0?+?q-zc`_}CM=vt4?`D1J5_-Ia_(6?-_4 zXQ%1?9P2k5AI0i5WTyQrGDxEQz*#Fa42uYlvsf37k2ka56-pT`AyoDD{Tyysk&4AO z1$f>O43&LxW055?=JqQz4s~u5so=WPQ%N;6Yv5;&zGyb8ErCxZ-JZs^eD@zF)v(l* z52Ao1FmNGBw;gL^(P)O7i zU$u;eoGS*YID&T-?cwl%J5mPN9MB-f0s`5%FC8spz-B}u6>v$?{{}b^f`^pzCf(Y$ zDG)JT<8wNUgHTf@7om(}vk>{)L&1(vra48oi2UL@#<3SXj3HQT!^p$p;}=wlo&9cA zNWQs(H@d0}Tl5hjP6d-QB=g@Qovhof1F!pPG12EzTidFe)IThCfduM{Y0a`pFmQn5 zidt|}TA;q6(;GrOV5<*^EwDX_(mf;pPw945$*}@^^ke|D3h4i|Sj;+14Q=xu3JsbA zweuBCXh|fc!;2zd>rv4WB6doyOAxf&#&1$yYx~ACp}p_HBB(|h0ZI4MZq>rpR@^Q- znJ+z_x107mPouNUyC4|%Q++5Wh&WdB^?Ang{-Ko3X}l?F88%9zk+Eu_0gUHk2AQNO zxxWnNChP#)MmXh?qh8B=HQGD)O3k#a+K$!(0w_7EA2ell zK4g5TZA2nQtBwq{Ht@TxFs)jS-J$DuqT4M~8H{oRMDV3G8QoYp_MYuK$ zHlM6k;LGhewwLXs2&G8^Ou!WCYm9^TJ%7iV?(1~M+Vk`v9F;Hg6D|6pR2&vUP{o@` z>YW0n>l_CyJCv&!u?9Vun{kMqdtozhHl6VL4PQeo@XX$``&s#ggTxQ8__YvqVP!fE zH_}ZkwNZYzLHw0P8ilC_ryEm|OvtqWcfdbXbQXIM4f{nZ?r2cz5Rmo^+VPC4ZR34^ zyWNq(AM_(Xn|wxR-T63&w5GX7*n5%*l^F%#mA7o^llv{wC-GxyH2(N7?HGORQ3~S? zL*0{#qG`nr4^?@GqC`0HXPXESwNvHT9@G3JS(x{cWjP^PPE2@jk!-Y$Q~n*{JJ}Z# z%i6`;A2wTqQmsT9`LOB4q)c@d4i2S#xdy&O;GYz>Z73JGk#d9BhaY@M_l;@rwnWBc zCTtkQ!k~pm{3KCJB-;j{3h{4{|5K`sB?gJ0|M|@R!nXK33KTMu1z;Rw`t_OswWz>D zLqG!5OEcn4oRLAJ=9)+gib4hPWuu!m4Bcg+xY#z+*CDQkrFE{i_2)R%z3X8%yaJ@r zgu9mX>k9s?6e#?C_I&5_ec#Qk<~KKUYs}oPi}>|%n)#T0yVc|TF>^EgHwOSJ_;V+@ z9@4!gkCLWX3&?lC&2z;yw$`9f7fu}HuRonk_$FOowXqNF=xT-UmRS6BeGrzcHx?!${AZrq-^?8hVACjjh4=9RM2Q+1%0A`3;a zs>oXN#NQhKBs>@xyq+48Z(D15;ie$$Ot6h=aou>8u!5=+Mg6p*Ibd;JKQhA3wqu_5 z?lgRxub$|Z|Hj8b7dbu%jyeZpX zYSQ~Y>4B8(USvURmDv;ab$l=t&u=@8`sw94V}pYM^GDP1VFgomAs6pw(I#}02<(99 zdsSKr&XP^g3n=T*4w|Mr&{8g~M~!EGOMlCMpz26x9l+Xoov@T<*8$df@i@3#x1|be zjq91<;|Nx{_L6b^d?}%;%s8jsYeQHm?&2PIGNq%hz3Wivj(Z?WZ;?+I8y~TNw|FND}+lY#oTmmtKV=eCNPEq8wW4AxBD0QTq~<%TV_9z+_tOf zaiM<_3!u;Ixjx}*0Bb~J0Iog}d(MTEb#nP&q0Map_nfEEkJy%wPYtm$71prX(p>`NP#jHNa>i)D-U%y;61S2~)mPd1ny zUKMcN_6&UandCQRrIo4rsav?AbJ~18{y(cj^|N94#kV7ZITAeM&gxST%(<}NOwk8> zOZ)mMxyk?D>sNr&H)+bcXJtIka9XYN%d8~hg1~t=?H51j6XL;-Tb`FbwSdJk1HPM% zV<4mW`&4^k9kI{1y4ayuV~sd*qMH)lLqGG~jH$}b1(Gqh>QJLmo-B@8%ww<;d>BlJ z%TDgLM4&Qv%x!%|{FEKX4({LfOCoLB1uTS2zT(X?_4Q6z&5eK&FY2)`&y)z10XTzJ z+X}2(q?xy)L9HpW7gWW5&i(xkfCRG+W6-YxOdbVdw`!M0EtNhDC*4GMSfYh7T&@ju zIvx{;;hLHIzy32jI_W_qSUSXwBW(4x-B}U~x z3pV?{mN$8Cw_brVb)5}~VVH4^!RFY!Zxq)=qO^woB^HMm(gj9P#q&JDfKYQq&X5O- zMT{bgM~s2_i#ZH+(MnkQ+B>7!its5Sjw;PiehYmQbn(R`)@b zdys3-^AzIyy(L1tEf}71!CTJtUs+NfVy`@NL5fFcin0x5Yc)2lJ5 zB~z_4@9K`cRrR}X0?v1Bu0L-!#0B%Nc*M{Cvmx?D_I{?kU>caQeGJ>^-kE0isOmam zeanGnwbt+WnWak37hixkBP-^-pu9xqHNG%j>Ctz|LG}U$TfCSADq=I?z!IS@#_t|i zEL$x&&LYgFmq)p9K+WOO$6pG?9OMC445)B;O>+H`s&2`80A_2{DhsLpsN+2p)o`YV zW>*OCz*ZM6^)AN)`Y-COGQ;-`Pgm3yAj`=ut)T$p#Q@!ISSay}2y&lIKlE=9-SB9_ zV^E*VJkG1u7L*cfg#;r^y<7tYl2KEAc{{JF9w)e?nNS+B>3!49{W+^v`5wx0>s_9v zq9NRYPzdc@5S)rbn1&%jjKR_+bZF^5i@*h?7EjAQPEAO3+~Ny5={Norj;SxKT`4o& zpr*oZZNOj4pP{3|4}brk(V~AZR0P&o_0vEDD`|k;>bw#!j=jnqq$mQuy{SJ50&12K z7B)*d>Af-TG{d>}g4l#Ftq8YljbnOil_2O=r1;F2LpOA4r`~)`ecX<~I`(88 zDM-16VVgERXe)gjGd)b*a~)$M9UHx&<>itHE=XdCcG|O#VyQe2!c4UWgyX}NH%RT?oIBu8(BYKa2&_j2H+b${J;kLcatv=5QK}4yz5G&3eo=#8i zC6I)@?5o{J2Vd27C$V*l(!dbMF3vu~rNo~}C`ib1R;}P_9#LaTB4)UG9`3Y81;}h1 z&|}}t&gc8&ia~mpQn(Frt*UKV6A#D|2)he{01bM&IgoY>Ax%sM@i*jy$Q7hhI{VBX zOKhr{$|7|Hy@&rP@j%_dM0!2rR<<$>U-a7JZ70eXw|W6EbAo1ZOy-=`zy*nkSY*$$Bv~grR*R5`Sa#EiAC4 zB1M>1K}r82DUm#}dNm2v1YNC@g^%tp_^zkw<6`6{m4Sa+a_>VT=I_++A{%}Z>L%+A zG9|!>nVjXEZF~1#{s&^f-*rPMnk|cpOVk=~S6`uH?7?M^>e|2~QpOeo4vDZ56FK>6R3Yknt+3%q8jY zOS7H^!R$3jE|?Aro#ch88wP3aEtrjlsP=+tECj|>uBWZC=BA>I5XbE$s_ij5w0YF+ zrEDOY@;ONK4~fQQND+LZv;-8~X1EL*Tm^a66fAac?Jo4b>MpCPvKFT299AoUr)Bf` zmmjFEVvWjZ11`q_!^PD=4z_VsZGN1Lu!65cOCR_gLmU?2RL#2j5~==D*0>s&tt4_V zO;fGXDw&Ou5@YUj8@VA3A=yly_JtFli+sGboW#eXHLD63ce)ex<1c)Qo04Up%X0kY zW~X5TGaX_3Syh+9JXk1~1@~+~W8rySEl0jA+KT01-3?@YODQxrk)jCT((khAHO00;>x>4IjsS*01&PJKgQ+q@w3SAu&5s><-U?$E@plz_ zBsL38So;Oq`X(5VKkH@0wE}{=;hw`K#4YIHZVqyyKj4TAWcxo}1%=%K#tJ4rWqag4 zQ%EbiahIkoKbH$O;hqh90~PMd1Hpyg5ptuhv7dhYwiezsAZBjXfm^^a*gv&)Cv^R7 zq}s3Xs@=~;=C&I}rxxbpv>%(|uB$v%b>Q}UN|V={I6bG+E0!PbHzb--hr4C{oNG6- zuGx59N-o}mw{Yid8S0`Q;3BLTE+TAoRmmS`IWW(d*M=U3P)&w%x~Sh^(bAINPDz9< zDzLw*KP~wBeEx4kERVVxB^eeR0V$Gme05=pAqp_B2!3)UrK%Ip?eVcQX!o5aG0@bY zu+6%#M-F9r_vJA+%i$P&XQIYg4vy*FP0MeD63sLIfz--R;wPCdfY~%hc!E!4b4#V^ zmk`Ax+X}x>Q%OQ2eYjMclLI6n8j%rxNZZh3M8p(xI6{q}<=|Bz;QKvdXCvXz8QI9^ zrsyw5$6OTANkgV)Xv8sJ@el1T(I^DQ(1g9)^e?{jlS~bVwAXMr2^NU91$hF>2je8n z8ntQ1U$q*v*?Fl}0Ck?5;Avja>w4>W=O~(_kF7j4>dP(=HEQyu?oeP3&{`J~h6jk5 z>~VF9>Anokm*uGUM|Ik#s$n%9Pd)$qr9Q`Luxq9i#yJ|#a4}&$e8?)VMKDi z<_=7XdwXg8-Ao>-^EHEqCrD{_JXe2UgUzMkT<@?-|HYXGpjFRgJjk$mBeh4OpjsC&&?)@N`kG~)K zBrkAibbSAJs`NiYrT>CVmW}Q#(Av!r;%{MZQRAMQKPbe%+l?k3R?w*bMo~f>Ha?&r zAn@QIAiO|F4|E_wA6+AXf9QWL4^|tE7HME*fDS6do>4-}tJZL23Ug=iyAeqY5Ic~A zhy9KZ99)4_@|-e&zdH$0)uqiU&u*_gz&F%HhKG*ZC_I^-8sWa>XA%Ow-tn0GqSSA% z(E@uFid|qxpbWqg(G=K^6a2GdM8DmeZYIPO-rQz7Vft9IScK+AQDGhXxuR$Iha_=U63do@V=c8_#+`@De z8bLM4@SI4R_axV*Nb2Cy%S8JzMU_xH% z7q`^V!2XDAcCB4$*|>JC_pP0M(YM|8zP7%+r1}D!?xau2GEqH`#(B?V{bO+XT>kYr zJ(`Zo{V6Z%{5nl?o%c6&Huv}ufc^HVR@e)9e*07}FTk6>h(wj0k;XBzD3!WW2n-N< zZcr%s!n4MMe&8AFkT2xXmPJLb0?vo1{O|-aJNN36O_yd0I8Db(JyRVf z*i*KgJW^qzr#n)iMKFWirF)yg;#uzCdE-l+jaLX5F~4XEKDE@XUS!Rwy$6fIzG%v_ zcBwcP6K>Kxq~y&eSJ$jq^ki)ePPOz&k;jG^)D|G`n;fQdWp#G*cbj0MKXQ(pIeqY4 z&?&!vduz&JhPk7Qxh&oUkm%GP-Qgv8+xjyn?Z)8ME}pX*`k-P<+IP1V=z1OF*~8oo z7ia+Gt9>G#IH5d%n&yo&sSjA$%*JeeI$~(Ag<7XrEnr)8KwG?4HdJ6eD_-+~D=J$; z9h$7MhC9_@y@fF=QEbcdFfZ?PTYB^`2NIiHIUD-QgvCH4)xbF5PM$tByu438yWI|d z@inSov#?%I$=fLgS3&cBq$s_KeJ7TXnR{F}*s^KT0a``Lmph?v<=MuzOHNKGbz`Ln zvsD5ePa=J!EWvr;UbLa!n*Qj5rI68}Zp$iWxH`)*#@G^k>4x=CeWfQ`_Du_15`lbC zTeh@HztQgaB9sw;*!+jSrK()7)owThQ8r&~b1K_RO@o!7JW|JY<)(te3{6=K`$tUV z`T*0d{5?*xkeSya{lMy?~(W-4!Boq`@~b2~o? zDwRd>4-654{?IN`CLLIvukQ!9a~Sm>d=KwiaJMIot0;HmjO$=q*NbX}FV8L4FGtp* z3)?i)t=NdKWZu_(x|N}9--ZL#J-a=! zy=_^}Q;*T*!DnTz!knI;^JhiJPnCq@6U5Y_#3U^afX#-Xr}Km$6j(r(r1X+F^n;_< zIElC&Xf3^XWx`JNAfg!;r#>4|*w1cM`baYuXC@mTr+1#YL?kTG7$F9<^|KWV%KE+N ztAydfLFR51meYdZbtvjkR(_Su^$3{OMz{$3p#~H$S%w{>VHGKpxJXU^R`uh^B}t)B z&B_5-K*Cbv_63y96+5}!+LE~#(DAK%z%HsG!LtJ|MXkQ32qLdCcuX)$gz$oU%*;{V z3WuG%F*wwr2c{}uWzq1)EF;BQX!R~Tr*KYc46D6--)*X`CWq_k{-|T7lMzcin2~8* z^EY;sXqDNqV{5z{C_Qm3tfLcEV)af3qAbJdX~Q(I@4`ViW- zNq2h8ty)>YB=;5^0XsFqXmX1qaomvZPdOWJc4Wu;mJKD^;^}nGG<%_m1qzKAXnd>p zbKeAH!$b6b6@h9~ktPEM*4s=Rk91PVpgDJ08w>+fx1Qu#Onr?9n-zEeeSMJT6dDv1 zU|Y%^*Tw&afjU-xviy5d`|&!D^SgWG5L2 zF#yLujgvFYlS#?h;@Qg&I!*=#rJo=) zy5YA;MYs|t&uSok7kGc{`<)BBKO(Qyz4&p|KTc1(**u_K&`52YtNq z*szLtmJ zB{S|#?rR(xx;@N}r?jB9Wm_#i5rcZinXNw~O@{nRVg`>i38KV1qB4!=i*RFw=Vsj4 z;9L*(PYzDpJgRU>Qv`h`^efg`omZ%#s;+%vesjEXpqdzsmza8Uy6P+8gYI_YFLqBb zW=={Y`epC>D}_ZP+m zTgRsYy9idbmHrsZN|oyb=*=0r*(c+B z@uheCz)EgQs!1KgABtsSOB^GWY=?)Sht|5zZH)*WY-`uc!k2ZimE+FWQEgag-XbEM z&(0s9WTN|IHS;pASthbm5fQ)1<9)U}kU8JI1JGZMp#ahEP0OVV7AtTvAsOa#mEVq*~ zd|;Ug2k}`;ZcP*LK4!yA3#BaOmz{jBRdJ%dLA(leoGH?LakKE!k6ufpB&@?&;6K^W z&l4b*>Ob)wryB)C$%R@{{&lO=NjE?0GwG&Xxt9_gU{~r{@5;gZ$13QbXfrqYz}cs zrKZDSP8I$ng4EWXzW+k=V_Ijv6A1*L^XG!KwVmzp3UUf%?JQfZ4juC=m-pL0$P=_#E+MNE| z*p>(h065>4LN*HXeM0fYb#9sSjHJ_4_lp*Po+~R|u=$eiTE?vkv{V=JN+at3G<*`f ztlj%7@>>4~dDUK!m9vQ3kdf17IiG=a1o3Vbqg8UBuFsNKJ?UY+BO0s<7!v zF}jdzjn%1(YT@(CTtA_Ood0Z!@q?>)p%o@pg3ivPiOa)@E0oU>{n?gwperqvqoB7X z`O}m9`oMN+I@^WkwwV4EYGW{NPTvoqH*P^d_q=vr!}3?J$m)HV3;*9(yMteIjDSy# zj^tk@n~(qeq4?|_Z?HWUTD!1%*Bw+cXZ*zNg-pI~A{%59$`7w)!;9D{S4@2-wZIdQ z1c0LtjJK-HKs4CRTcj^uJ-3{*jPKXS_c!YeYt9+E)%J_c5t@}a{$yfsR8{7m&72T< zA`10sW52VH*BOm3UVKeml9=s3`2x^}E2++!n^wj+Fy{fX^j!qaiNq-mn^~D#Xz@Y7 z@LO*JQJ~ozWMmFkK;5xCgEY6mv0ggr*1}8x<7WN(k~OdpaCT1%1Md%^6Nk(C3eB}+ z8b`h;v|2}*I)}BA$LexKOL|EX_|G3Gy}xSD3WsG8lR4Ao+N7anQeXyDp8#_UgVX{v z_~GN_b)2B%V0F_bYo?qVRvw0opLL*qJrI7K8lX-nk0G%dE}{=ybraw;%=z|#BQk}S zP@j+g@Hc#9>N#dKW4_dcIngj_NOtC#T1Ymi=(qKqpZTfHi34WTtS*9*+6BM^H`G!#^Lb93 zrm2psc$TV68Defz*Q2~Ti8-ok{L-NbJEslRuqZUs;k18@3C| z(2&fwP;yaEQf0j1134%wK$Qf_jb8;Reu2;0rs7`dJ-{RxO9C{;*8k&n-Wx{; zKGsS$kT)6Y%s1E1KOXsE@=4?!HIZa!b|H>5AnfE}JN{YyLAVk7jGAtm!g5B`dh%_t zDeD(_*@pKQfiY(s*8<;;g!aWl;MLNvUO{-CvroScgc;YEz(q>W(IyC7q((7yTE$3w-{qzd-E7Z$rZJ9q791zG0_#n3Q z+tbsDi~(6VSNW%oOGSCU2-4By7yn-!R{<4O7p)O#hR&fuI;1-!q(!7Vl>sR!X&jIi z5Mk)&djBySEw3w2+~9VUSFlriDyQjJ}Y-+3TaWX$N1%r}cAS&}m)Hi&B@4zOwG_`rPNT zy}KRhI;MDa2lVy~y5(^n4dP3|O-s)t1nsy$Z5j?e{&t%yU1-FyJB=ebww_Lex1d*FvdR z?^v6dYx4R8tJY_9A2oU;>z(EgXY{>q+irq$c05wxy%)8a@;+Sa5u-0~_nzATr((x& zZ0_NmQ;vN`Y5q=?=W)>q{ksE;|2rvVh9@JyKM`>q-& zcQ(-|S;I!KUrJ-gW#@$PYWQLd+$VAiZ{_u{qn@e|^pHQib7ta8AFh%UPTPTJCDBlt zTOIR~SIv7w^z_rB=*DN)`ONmV3#3QAuh2*)D5{gTSd{g6OX;J$aF|K8<8(OrR<~c& z3`mwPdkVold&qEV=%I~kbC8ASgDl3i_IA$~t%K=ZKOClg5rVI}RsVbtPycS)2!&e- ze(qiai70GckF{!Co^CQ)>x%Jy@&MiFVFW#N!^%9O?-_F6XEOH0^_dojXA3gIB3^png64%9Aj`nSjCIutUD$MV*E~DV9KnXu=iiXEvG~drX*3_gG zF9WSIeR{*Vpk1u3ue`!yp{+{@<`V;sgp!Z+b`CBYq*648`!UgxnPX9sRSUPlZDCeP zTTXn9#Ez+P%wjxXh?}Ufs5}emrrSey5GZE)DaA*PEtNJD?rqy{Xa$8 zier#n*m;r?6t6z6&g6X}YsyQVIW8-BhRzzh*~z6mZDSqnx>Jd=_`zm)sae2#MS(TArn=$ckfrTo5B;5aPV zv@1EC%I3h!Xlp9R^JLmyuk4_~J?JXoKt$I4X#3ObavRqQYcht%p1;iEBOGxnR^PSe zu1Zk}43s@XyNt!!6scz-T_xi6I^PVr_Jy8A2!Fy0G82hnxs_aiVKyT(zmz%c6>%O( zs(KLwEs(8TvGeRl3YjJw_maviNs-^3cqyRsloX6b*2xPx^fp0}$!@Nd{%Uv_yZsYO z?V0z_7bdN>YomQW?1QRduPw;MT*zbAV_tKDEKQ4TJj)(~IY2}U`I!gv59Q9pGR$@Q za31hhy?VWqH2yU%+l6f#)C=q-i~Hoz@C~NjgYtWSkQa5#O{Lz#mE8~R6c_(wMZV+O zlz)2s-m8V{6WZ9GM-~go(}Lplk(CgMi$>7JM{>2eUS-pV50gLUy^k7ArOdZU%@HX# z_(twr;~N$v>Ve^&mGu}aA?s8$2xWq|zlimNdD_trTo6$s8moG}#d}zk`0^_V}spv0AU{^vR!}h-7O9FIuZ!LP{4kn{Kd43S* zWRRA-a6hGyIY5ifL}n2;mwPp&_ys3cu`4@yt?6+$Zu6Ivm#OJ@SolYIsE4HCktqSk zj@kZ=F}s+$C5AXOB%~l2tN&uImf^IRFq1rau&c4UYH%^MJ zhDGk!GAhCxLES>A#%Eiv`?`{C>i%kX8lRpZD<-F!GSoYV#*u9;rCGBwrNm0~4f4C0 zV;k3Qx6on%ru%PkXd-7oz1sv)l+=OR4%W%EX|T;0TvrRFJdf4s^%cL6bw-dcw^Tl)b)|R0r zU8Z{6UeFRJs*@UpARnP0;@rD!|uo6137}2L=9<; zUQRQOw;Va$dMEd7_)ZS*-#1V|ZN`vOAX$9R(^=WU1s1Xey>a$GcrxkSpLzfucI)A| z^U_N!ppe~&_=J*Y@8kZcN^-uT{M6n_I3($XNgXuXh4RJb@WZ@Jpa^uOZ%Xg8R@r0y z`&-71+;DhpY3b_SkSmt3ik+@EyM6U`X7li#OM&95(b8pYtz~-r{W2u*(6XLmqfr-6 zR$U2e{JRPq>M6l537P{;mmjB^_axwWn-){)%BNa0ZQD5oWK-w8cjcM?Ui>{#KpghtDs!gW+zNi}oi!`z&pJ{U2#ScR zan3$k;+#!e3Xo8e&s=nPgSeNP*dAa6ETJio`pGPgkVlNU9b-H; zwZGTHIMga*b~^x*ev^ns_^Ynn)&bdD>($PktTySmmopdyMA+S3q1|$?zV6{yD+Wa< zLaXkFk>ck+iyRGhB1yElYYsYPMNLdUbJ;s{Iezx-cIbC1gBF!T6T6K7RZ?Y_^j>6T z$1it6+f#Gdj^eWjHq7HWT~fz=1x^T8a8NS84?4gMiuVj;tJe&=xMUZ$`X-K!d8M4s zC;xkXF1?kc6}ao8LjekoID!4>J3ze=sD?JX7a384U*A#XngrX=RfRqz(!iH&FlpX% ze@l}6;tRSZK{GLyV1FSNAul6N%A`Oiv|-PXtf6In|6{b`A?B|YJhl5#j8gu1R%u2F zhT|#n%bCN&gUPN19_#y;zrJ6f`+JqKyy?cl5vx9WDw~^`O2N#VPmeCwQ;SBz&khk} z+X?!w{4PM(dv6|56v9&!BqRM^_KCsHs|+q97!WQ4oNH=h}PY1cfksH+A&3WA1NkSDY69qP53 zyB2D&{_Jw0C~YbPY22l#UdmvM>VEESyb(s{RW|$cVzWzJ>T`jvyHO6r(cs9FPjb_s zIO|Su?dux-QQk0qF~`T+JvpzLI7{`%-o6qH34XK|W!=VB&$;wtO;=EfA9RYXS|<+T zXIYVupruIqyr+T-ovZ878h%56#cf@@Ommx@8LlTTzG%A8xJHfR&S^glM)P`i`6Y_m zGkBis8}|q8t^93`!sKs;L&vSVT~sEY!ikLKoAS6XKg3IJ&Dx(9rDxblP!&dwQEC=? zSfjvQdIH=G?@G$&JhF)nv8mqZ=OAEE5psBN5D4DoU{H8L3msFJ;VMcv;>3#@qU(Y1 z%Dx4y6@~1|XI(G~GIV=k=HB{-^@EUvzo1?E$LLaoOoh(d2$qja;Y)lKk203ndyz9F zLA4t4EBrb41*H@Gwl^v+z%P{gTu~SK39ZIC+~}tc+G4CStTb&gJeF5#We2 zJukS@DE*OcjZx6gY?y;U>;qK=+Ytv$E(0I48g==dJn7civzvddEGSAKFi>D&ef=y0 zGY_JMebB{&Mro+2!lm*3CO-B~R+g}gFbH5NRI0HlX%Hi0VSaAdYPMGvu3m_{6vDei zg2pwfWuw4k$r94NY7X96tZ$s|P9Y>ukM_TscFm`(|EB$Kj_2WaB5}HJ`}ra$bC7G^hYE|&8&8+w2k@m6fRjJ zuGGC*;WDd3Au3A2Dl_d*DJp%sxK8@rcB>eDJw8Y1H^V14M!LQY)Ta0XcP0|ob&683 zvLY;~lXH!Y5>9;mj8dSqDTYj`G(I-L8^UmhIH8#aHT{XHC)2a`CD819*;ie|wSfu6 zCq~xi`B%C3awc3o9%C?9bvhTA?SE(jYIK`MGJH-hzaKo~M#^(G>opim&w-dKkh@ZW z!Gxq%oL>x)R2zp6!;?5&%P?kezI=X(d= zz1>1AIIRuiwRz_Q%iA&%UtfN}z>7)SM)KBwcO6H~PgjHTL=>Yo@gX6F~bMFq(1gJCc7j!U@ z#>OgjMI4n~g~2j;sbnKYC|YFH=@fM-aT^{lT#Eh<-$m~3JzcInp6pywi294pEmN<; zowwmDFUf^`*k#|DvKw$E)_F^c3Ckt!XyToEy^orz`fj_OaIQo=B8SHQgk%WPIP-8~ zC{E93UJV_zjv9DqO1|s#CL=&@`w}{%7T@s5d(O_SG6l`dT9zbDv!)=H^P7q1XK~YF z-8x*4S&rq4Z)jFCE7M;t@Xp%1)zZ2-7>={BCd4CA19Ms@`tdT0PL5B#qanh;?wVXvYRDHMeihsz@GjndjGRj1b)=1Xhq!0ZGWr1MV<2YY9Sfh@K60X=da|}HfMjKUp zSC3aru3ja1?9lTf-~fD1G}7sJcKbH=c-S$^c*T!Nb&Nf^yS+~-!U#;gnxi`{H*1f@ zhlwu+y7*B}d5&FZvvX!*sA5d%7ro|kd}z`(A>rFNk<~hpZv`1=#Q5w3KSzj$URovU zN3?}tJ|J}9P05MDyR}Off^u_@bg6GpB4R4M!a-HWozxQJ~f?4Ve z{Y()&;xPLp5asE32JLAYu%nkYzX*MCiR^^br$8|;#5XgXW4i)&=bYpcz)051IL?_4 z(thVG%Ol=7%2ehqxkY0d`Lp7j^<2sas{9QTu$km5 zy8KeHHVnB$Jfj8asI(YDxy9#bZ5wVc5B2-AE8eW?6pqgab?N(Vwb&PLZfdQf##Wgg zWJIVgoyopVGtH9_wH1DdX~5lzrHm;!&S|}j!4Z%qTT`XV%6yLVxzP31AX`ggIuvZb z{sw#1g08Z^Eq!`q+!bq8yI)+ic9hZoQ7Lzbn9Ys@Wo9N($rX`Wl}~3dMdN|wyR)d| zqy$G+JZyuPI#42^6C*WjAFth9n{4?RqXNnO{YC%R=NtQU46XVvj)Ka2h89>8>;rws zBW#=sxSgyBUK%X5bKJhr=Q+mk#Dsdxxac1#y!m`_YlV^n&HfTn3wz)HHbWg*zXF+= zUxpWr{p|zkxil-AO$gg}>h)bmJ1;W^l?m3G60CFd4Jj*Ykta4_r6{mMo-VPl& zK*Y5MSpzt2`iGR4RTFyi%9B@*h%=7`GX*lT2n!{nRvMfVt-x$j#TGraqPbKdKRIb@ z?$iGyyE$M>3wVIx(_P|b-)_?HijF!FAxpmvK}T4iz7q7qbjvgzE_WYw1+Gt2I# zV8w)?9g_GWE#9_vdz9?_Ya=pxSx#hM8H-powTovZv&P5$)YsahrbV><()TAWU5Grv zP?*3tA<5XwFr{i4?hq%{jw=6oV}5qojwF9^HB3)Mt~jbni#g z$D@oHt@}&8m|}-YWAfVG(%Y4?>1dHY$;~2nuBOowoNDdkncA_xtPEx{<$4=&%Ejv$ zdtTBt+J*Yfh?3*gp|dp6Y& zw)j4#wQP+6Jn^W`xYc-kW7i8T^y5oH6qUL$n8r_Zp_-*oMOKx}YO3v>0}TIg0;#kYCtA4U;`^NG*5gkG~Vz3&6{6`p(3dJg+wlRWG=D$CdmT(9hll{%24O73L8yXV-NCL^9OoNSot zQD2~;$1!)H1 zA_XS_1$!)AD*2GjJ#|QBT-+ipH2HiP%ey_8I3Ja#Ry{IR&N7cBz;lC?t zIE!6dV}&xq@gY6SZ!AC@(^yfssk4c)yNPv^6}b_!Av*V%)Z~Gd&96N3o1Ym0T1U3JU08D!=JwiYRwpz>o zSJfFtTPODWQ0@ixO zi|Efg5)wYr1#GE~k?tB{^YRHK7x-ohxbFN#AR*NTP~3u55s|>SkuhO%^+X78w9)Zv zQh?71$b2EV|1_u#xcpx*FRZm5^xM)4IqR^8h+GI*MJUzfhh9a zpy|g)G{9_RLjZ5+Ox^(gBmsb|Fz?3SjAsig;a>qU%5*y5x%>vufEvL_BaaU2Y9vIk zE_6Hy?*`1rV*&!(H^8Bszs)x>BY>UqbnoQ=AL{@GWY!zN1YQKtoSOvJ-0|Cmf4Y`P zNbEPjv=Rt#bJLyQu~}-mj!n42AII?U{~Kl)Z}T-`+Dqfp*B zNJ#WI4D3EcP;nz;z($*Y_wicyNCN<=1J}(-_Cy!9s?Egte{EhDSpOA20&ZT&Z?K=} z!n9hL5jFWRzZPP$=mR-gFrX+z0mEzsA;5fQR?!6j zXcM?@#d|1nIR*M+^WA1hO%b z|8T(1Da#ZAZ0iKUPEGI;19k24<{g|PMWC0eK%<*3M_Rxvf~a7l=46PedJRVCDF8ta z1%Asn*%=-q*c~i^25rClhd7c6u+9TM3*T_%zTF>J&|q3^R0zLso^Jbxt_^@VBEU5c zG=G`@oo@pKSN~ywPUblyd9M6LZZU_5~{OZ&2LJ^ z74rYrmUS@D6IK{*=kH+t+gt^-#&57*B_dc&I%yDryxzTv1f2n4+BIxItPfw-M>*rr1=1|CBR_coEh=?f1^y72dLcs znH@K>EH{|LiV$N6BwhZ-^kz=sAG$VRvlw7k`8^yX@ay5=tbpyn6%pS5ebfM!H@<(Z z0Pn9V5l$6V{2O+}EhjKX-UI8P_zkdbH3IyziUQUS|2-Vn|D%ckNFKOoZ-95}VD`22 UFo_-vTpnOKhXa$yss0-AKkzv|fB*mh delta 24379 zcmZ6xV|1q7vNfEJZL?$Bwv&!++vXkHcWm3XZFFoW9oy;m*?XTezHgsjRb#CBb6u;d z=B!z3A`WaZ3Jg(E77QE~1OyryL`IHFG!c;;`d{{XYZfDsR~3uIs%7u^;20F-|AdwP z1pjyVB;|kX6XU-vkm|?Yznvy{P*+gIe}$Z0YPwW{fPid*01G5=ftl@yz*g|)e;;j1 ziPJzpf`BN(0g0gb0qAPz{EQjXj0B)RK*4^51+c(`M3R64Bf=7e3{l6!g+O3(q$#Zy z&k23JQ4jux1Ma#SCi!JcWKfwf6KP~+r$QO1Iqj>R3yy=FO;QfLwt)$Zm|3eg+a7|a zJ3c!(Z{NF&wP2ngL}5yis?c}~bZMy|aUuId3n1D)JoZ$*4nUZ?+vLR1Ui$T|Af>EvVACKUPsbM|BmW$PlG0u-zCLrF}r%c!Z#N?tQ zOhyn1FniL0B^9I-L))?P6<^y|W4L%(zo3&#W-ErQw-jf-J-bXU%mFz<(u*ujan?LJ zm5EE>B5?x604?q^ZrY!j;Hjo`LzXNAGlc30)Q_tdrPr4jR8j2gYHqNvN$QLUvMQYw zEk|MAY+a&P%xpMwGF1{~)))8LSnt_Ca`X?Vr>^5)Hm&OlMkH<7feV+f-w#%#Y0Kd) z65I2*i&pemcIxsi22C)(>pDRL!_w2j?MF)Vb37)w0i7rcI_5kUo0;dsz)GX>2sbs> zMuA0_U$VTen1++BOM6UXqQj<|=fZ)o3QNU@j{(-1nTc+sOtHcn(1ixvLpTf8IFfC0 zTHNP<{A4atOvl42X{f?0yJ{x&wCQ{a=@@+0+JCY{U>zyxki3E$@Y>V;89@V#@@^vCmrWu9Ri$Fqu93!v3rQZRp*x9-!^zdwOftH=uPw zfXZI1{tsAz1RD02$6o2@4scYemd7!^nZ{UHHIrOah?5f zb}z{**FG=aFy9y^SI;zar3{yXd~=Vb7M(2XHQJgOUV%-G))=C~6Tl-*7=z%IT6HxD&KJ$xTFz;RsbQ?&OKQX7sCFQgRuN+p$zrFIy296?fs z+HmHzdWCY3!`Xzk#Oy*`0qG|hG-n3djh$z$PyXZ;9F@EMtj!K_dS^x0QKC? za+Prht0yk8rwv-F^4j*G!KvCij@9WgH_}y^kTY+XoK;2Cr|EhEr~d5;rortAA&9Nj zdj*L=cooM~04TbUs$BnSiyOQ++O0<{X}_H#d_f~q8Z&yls8z-O6}C)Vbch03RITv@ zL!T5l>43w+xM)Y;y9>ImqTo9?po>CrLrtaC6@Ln~H^KqlEV2+GCF+~~?3wrqxS9cej(p56l7tSu1vi4ui;%(F_&+#vvS z^D98=tVzt%DCgF6kmzn#=xq#I{L`SoS6L$db*#aNMTu`n{Ep1#k$Th#0A%lu%-eRL z_wT2#KK)MpIMzxY_fh)e54TOIXKK)&snK}9Y-^9Os$I*wp0mAGvKEf!iM+iQC?ErM z$HcNWqSTjV(n*MQ3r)(&#7Y>C9qFY_g&$WETt^?`q-WXC|3B1*0h8 zH`0IOO%p9*8R&n2Wd)fL;y)e?rZ&`nJPQIEr2lv+ba4N3TFe{@i}Ei3LY6hSy!r>> zXt6;+Xn={}m_S87T!1eAGS1(=dZsBRGE-uhtaMW}pd*AjnhE?c)emE6JfT@*+e6cg z{y&YuO-A9g-= z{&w}<(w)0#M|+QA%@ z9Lu6)It(Jaj_$WxVU7TObiICpz>R|hSi zD%~;r>W)y}N&_(R28(D2hsrQ~B?b;@TKAi11j6S&?jXEQqWyiP2hxr&G>%TtoFA%C z&tL?5DFS=1$2ie_RsJ}OAnx8Dn!kOv674G8>G>)QynMX|@_mY82oA;{-=bj%j?8_& zb~Hm#1Bmnb=*n9Aly8fpjIwVJSMT5O1pR6A`q0X+E&&@$0{A#Qo+Cm&7R48Pw}z|z z13i8pUErXJHczD9T(y)GgTbvBvU1HZ)l|j2Ypa64w^wNu*NrHWT660qA3Z0Lp)r)) z-4R+mBs+PUB-ODJACVrPJP_bx2`QEuJR505&? zP-U@uDgYItVeG|3QFzKQtd(PuuCx@V8RB{TII^&|QRypUo`Z{HhZ3*lB?=07>aVaC zJbz}NFB-s8p5^bT>$|^&8l>^BJK2T1t>f)}um^W5w1H!Gp)<2~Q(|(qcX@8GbXbkW z6zifW(k(UfniSJ#t<)3`q&;;wOB^;hhI6x*Py$9v8ov+`0w;^i51<2&0_{SfAmb_R zOezJZXrS^F|<~HI$9>HPp8o$-?>qdFx3sJA@kw-Bt-EUzWC3G zO1=Zs_P}3Cbfi|L)#VGhWU&PbFmzLsD>>=E)~{LOt;3ZYUS9)H*o~LmQ>O#xQk-SK z*1rsjdjXU%+r_F-1YTPa`ufSr^!LSKqJRkN^g%fGtq43exkE_x*rw3Vu-!wX-yQP| zY=VC)w~A({l{pj^yKuiF1gT$}!us~=Kz07c56|Cne(DVg-YP)+UA%SplpF%wp?}pQ zUwk}SA^a`!bHZ=4^d!u!gCWMGE)+u(P@<_{ByH_7>xmhIQ1`NR&y+-SQX#TX?*#Bl zvUkICE?5`R?aDn+zPtG}@@KG>Y97)_myHiFDxL~=XQ@$GxsZG@TVBK!7V4J&CSI+B z_kS^+5-CWk$B3F|Q=-PSF^1u%s-())jLOn%tu6JbK>)?*kQ5VAWgVF-*`q0xK${wN z7O$QctAVC5E}>A5d_Zr|Mza~#-T+*{b4#c&hKvf)7>$+2T$U#D6-T&bYBGvH5tN2y zav3OY=n;667;O|d1*fJL{uNzl&z1YNR9-MtiZL01XN-eH&^leAm`re*kjp0Gh6i+` z_d;3sIMXJzwlOYRBjaAND%5X;3(L8*Y2A99VpRyXEY|RuNf1SyOb9t)%>s}VqaGe9 zAF3I!FOYHA6lx{x85^7a5vAHkk5F{ph!{m2i@8&zbHe?^6c1r{`cX(%K}a5$d%>i_ zm*!C5m1X+cB4x&?I*ciAi-E=bFw7yYTOE0&{3d7KIzDZi;rhp3&B$kUm^|nwlp{MM zZYWHz4lKizo)@MF8m|~FoC2VI1Y%Vz%T#Tqm?a*OvR0NU{QX2{1QK(}<*dleT;lL5 zcl#S2+3#Wb0iL~@5lo-Cf^xGa@^^A#{Tzihrbg@QP(x(0_@*6Q<^0IxxP-seAcUVWdcEyn7fZxpZ3`#~r8368HkAc{`5W-W=XSn5{=W@Nwo?vA5X?!D>e~S0(hdRoxmhy@_Dg*|Owt*a(!;BPH$MUTltKOo(RIlGNz(jy=g8eE^@Pf2xXa01% zK*^X@o!QffTmC)`Dw9%~tG7jXxCf$V_MP(_OMKHWb1owzh0beSs!nB2&m7(v_RZ6s zE$a*Z7xK2KP*m@1gTk`0S*+d-u=w1FQF*N+ygB^lw>YXxW%1?oS);Vf8_itvA_aHv zD1VMiTZK(m`(%LaJ)7o-9mT0Nps^A9R<#U0*P z%wg6ybWhA(tb*)^U~ZSUx z-}!xBm{Xj)@fc0zcJxT8oU_DS9N{S@foe@$4v^0bAt&{5@GE6b-$D9a zN+V9BzH0z6`9Jm82%3Qs)*B(w^D(juLBDhZpj-E3Y)h#BnH8=+VYdQFEl2d$j@ORr zt2k>#vlWQ0e~JgW(~Q+Hy|qS+Q@)O*3&Gquj6T&%xlzyLhREwkFomF_OpTWyNjky9 zzFqFEY6Wrdi$vzeo+4j$Ao6_hz1DZ6y z=*#=k4?wQUONluOhLp@Y;6kwy*t6TLBr(+dZ_Tmor^KWo^i*%YbLk>d__-UD_cg&n z+L_@Natn0!p|d5x{^Ekk2hLcr&E=OM+Z!NmMbY64jEE+0b`z=G4ISJ!pl{S#a z*6;&f@>y8I?M&oZ+h5VWY>{-6M&mY>XtBU*dc)^A)EBw9qH|c=A5|sN^;p|4i-)SB zT05vnCvfjUSj%C9b$d|Rr*oHGb-}`LAd9pvmgkii2cx}uqloWOyOS^c-RA!#XltRAJapx!NzEPu`O$bvOtPa7mLzL<+1BpA;z}m03LyL+*{3N@LLKry4EjzE;(wU-`!83he~Uq`+%!T! zcXdfz=wI}TOe{)F_023C4J<5*j_wGEN=z(FY$w1~b!r6Gf7rH`=OfGXKXMNq5J7_& zFkwIR6S?PsRt-5C>^V@@A*E6m_euK)A+H!D9i-0NXOf-$%}lr17G~;QvpCd9adtpE zuM;9l{YE?PK)Y%1S$e9-B+^RQE51p&LD536`QCA&^s2mM4I9YIR+Z5oy)mC--Wsy; zL|v8@Q_}Qs-o=hJryrS9a-iR2T?gbETCD33fx1`rfC9tu3CBw650fBMzU|{(V!JlT z9Uozgl&`=lFp>3wgq9=PSL@s##jmS2rZ!OVkjtAm%EzVvZ(r?@)TO>V+4*$9|2L5Q z>ob9nnzV@jaw4wp4NpNqKoX#Uf|^_aH9G|~VPyYQeFLtkXw8B`kspcA8_GiB#Vs(z zxY9JJR#KmyJ-Mfe&oZ?d$%6Y11B~Pg!$f=WEVI`+Eswvbh&ow$Ia%jeo0>Ka`uhHY z*T*%&<5Vf3o5mQbjZ&?&x6Za8^z!XbEm7r)H{gu8gh@>_%au(d%UHx=7jLTr^eocL z(^GqQtyWySDpzn#Gb)?eTAYeED0Y1$Cf-b2aqd%6?a<+MYB(Q*R+!*;TUt%3GMhH7 zIn=6Vfmf~7D%C?ibRQE`=UF-j3$Xkby>PmI!fz1vZcBL2Z@tJDw(y3nwj1$gAKh zcu25_IiEmD208r z0vy#ofcaNh>>h|qmH-=cv;i=aJErg`$n#=%yvHqBh zWJ*%qw_vXYF{f5jYlahsR*Sh0kJ-Ck@*gj|H-aECnkp!wzr^w1xTGN}c2pDltNCbU ztQex+sO*`kR$6T|NunUa60veWlQ!e*9Xhv`ahl6S&Yn9b2qZnQF#(gQ+f*F3`kYV3 zGi*^8>P-{kJ+{!>FIfVRS|wCAVN6>-@Uj`gAnUNArrVV&0z-?AMa$KHo@w>j&rO?c zm)o`WTZy0cm=1c`skR$V!w#_v_epOyWAiJIzqKA8isQAyN&hrHdE z&I?rbog5uC=55%6TLAm<&$u2_DeXeIhGnn?FdoepwA8iwVc~MIRbQgV$sR!ZH3+q= zYdRmQTO~iRM$9Se2fPC$t~VersSUdT$>m<%I9(tTF1XXG4#614vs8;3JH zfLO89-zKjYmNAv>ZKPUCmKK{a?5UBe{ zfdIc`M#=F97JwhoPP*Sq;*J`O%ta7oXGpQP9_n}uWy=C7?HOUS-82B0B%>U0M4JxZ z?-2}sh$_b|5iio`dW7vDdU%Du)Q*{-%EvFH6jz6|StjH0jKTaoGi23U5HA~8%0wVU zm}Iu*uqLo}ooKq_p}MwSf1!U^;tIy9FODC^JuTPpLkLeZ*KDQdO+5 zfL5{gf7*GhI;(KvKV3W+0tAE~7-&xh+|?%p2>;W|(Z9_*&5X81Dikql@>QwOwP2x> zP)V$eMQn$`MGM=kGLp%s7}mE@|H5W>d(~qxCRiHteH6twwAx^3s~i?Q>~z1(`0V;W zlAXv%R-=E%CwHo|aJX>)XKj=dGUkwrzvBu6~8IR{My1AMNwuLr|e&yzV=l* zGwv-qs^N0!QW>5>>;xC^bMMa85klAPfv#Y@%?f5Oo^sE^<#9_Cqlsox2B$NC`tQ6Y z*Ah(~y08X)Yi7Pn02&)}oGaeG(PNk;Zs~i@04l#ou*3l*zZQZnjBJNB7-M+rTB+RETS+o1MB9JvXnsd@RX|AAmj1ItXUW-uX|%4#EZHSn+?y{1T z@@jMBCFzLeJ#r#x3xe4q_vSuwisz&6kso$pzQanEPLQ9$>Jv7|--UqG;qUXWM7U&= zMH!hW*NSom?pc-0yXtxd)5RZ~_8d>Q{>TZErb#dJ1&t^9gf}PE>6a&IL_;SMLBY8v zOc3`@u&<98OMiv=@2=aFX_WK>!?jJ2M4gr4X3k-CC({!hW%wgFr3<~I zb=Gi**0g z*Ec)tU zQ^lb+$w*r@;F7mG)~1GfRjTwgS9&`ro#Zg&a zMuKizz zY?OXmNq$OA?}|fjS&kieNB^7Xl*NCyV8}ZLK<9%ySMN1Pt z^;J~)GuQ4H@VEcPA$Fx9t_Artl_yFQtbh0^d3W)iS$E-{8luGNj_M$Lxq8zgftyGh z;E8++fY6tA3k6ZvgtXJ&;nn*xB{@K}e&uk`9R%koYxpG+rAJMQvTFCI0ZPJ6ZD8{i zjS+ykmY`(8Wv#2Q;T_|Ps*x3WMv$F$TO0JE`D$?68`1|`K0>250QH*HuSV3Q0q08B z;5Kcdtp~E&T}?N~IIj0_2 zR#rLxF*=CW$$b##-RXVqmLWKVtQ|du;&@RQg-4Niv5S3ko)TLg!UQKNX%gr#+1&(BO6mwxq zn}W~MZmco)@Hb#~M~53pn66d8Jl4X*z=t{BRM`QU=8NpAIIsIS;#NvnF{BLkMm9L~ zrDT2ZV{uFPVV4~|&CtV)9Eq0D0%nfE^`3iUJ6w4XM1EnEI$3OlO{S;`0F9tfWD9$| zP)aSea6%nYv|K=49ifhjMPIxJ#BVf}Zi|XDk1au&p1CRvS^?+y<4`;E=%mB2JVt(4tLxUfCx=@hbx$!9GgVgM#0RXA(8**FA-FQq$dTVCQn?w1FgrX z({8-#hZYNm`FKXd09!P!06b8<@NsY4HYHi@K`T}H!px@`!<>FH^;zRDCSH%BinmIQ zyQdL2F*nFcDW5;+28#K=Zj-U8&To^03ioNfC}_*F?~FOZ1+$O)0L&)E?P>VZzc9@% z$EANCYo7Vkbmp(B-+t3^ylZnlz1imFFR;fdc=xA?##`9?TTy_fVZ`;rZ=?BSnLBb< z)sXDL3OB8$e8tXK{m%Y8Gw4mW*SRV4vJrrG9qU!*oJKJCMi6I%TG2 z*bDK5Q;2B03-p8{it@N4x+5Gp@SEG$JNiCMZW>C)C}{`FazsN+xB6mVAij|*PF8I@E6|n?2Xz$xs<`%DzHX{QOUfvrD zH4+4?f{a8X7f7g@9;DL)Yhnprq%X+ChY)^8%{VdHfH3BWVd@*!n}=|>YdA)AA?pa| zr-U=={q7I-sj$iX$wT({|F;J#Oe!39KKyQF#U}^ zXP3pjR{UDfbDH~*eY)kNzv0l==L@0O-x`8$PX2hWfpj7^EsI?L(+EYDgfLn&HR0%k zEH^^)_?8`|GQtf-0jF~XfG~B-fql^NNf@lyjN}^D+h}yo8~fgS-M#!QzX+dvRcU^0 z6*urwpnSW7#~|wcGR|sSWw{#9Ci!3+F3g~ndW|kWR-3tVHW9=yDZg`7FNOKB~jasmG7+sn^v9o`epZd2@hhnf!Y{Fs3W%t2}Jhe}$9 z?Mh*TfVq*9XowUO>_4hJ)^}&E`HRc0jL;&%8+lW0&BEfR^jXB@E*^Le(f&!5r0mQH;U~0iWz#X=RO+!j9hxj=% z1RL^vdnDzOH%uxO3?$46&lj{ptl&YCM0UQD&oAngJH+D>K637?GoYPysZ<+nHu31= zdL3mSeNmcKoAE&G6D;_WvhgyF$c@?%vB>!x@%o)oYm`5!{Zw>o4ExRe-1v|T=A52q zJNVYMZbGCRASEwvkZ%!|t1?bWP{&0Gk~N^5{?qwH7DzU-xMzZnTDOP`=Q7H3N{0rL z83IExoyZ^89iKPY+&8<2S%a25hMqzqn&Br#yC}U#^+<|WLX;eY5%c|jR0pX2p`rbM z(%=3c<}3J*>geEX!D!)ZWNK>$jI+0g72F$L9gM}}>}+jM9W+miDxAxE-$f?Ck&_-IFJ3t?K?&|V-)iqdE-W%LjHN|=Mj_Tc274cOj71lul z<#}e4Bf4#R9+829jphBtvI?D!-!T{1>h@=#9+sUz+FIzT9KYn#(%i~&B^5?=?8crQ z&g=wU0I8PJI9HgYgm5!T?rilqFG&U`mK4NftpK8 zVZ+_IBD=^!K5;T#!uq$q)&D#F)3Kbys`z~rvfiu-dB`JRNf`>B8hvHkXo={V=t*~%|!?&$P%ShJk108pRD zIIV}^1Yds(ml7V{%g9u?FY8;fZ{y|uH=0Im$k*FR%T!kZ-370^CzN~B@CK~ufs>(0 zGWJDTc>LA?8MCwWMU7Fmd11;U?>!e4$;-O`zI0Rc6%5OWUwBA{Hpn4!Ai2rWkZxmvO`vkedw7FNPXGYaBk98IWx3si(Gk$~d zE*4jRU#QPpIA=t;D$W{}f6KxyMX36>z_fw&U{m}XYu79{O^arntTFA?A$GA}Q10$R z9LT9nWSJuB+&sr$^s6dpGXK$3fEqY0A$vz$LeRz7>O#RDv-=V>?G{mn%x6&l9#1nz zao*>{s)Cq}WYnQ>2-h{KKfK!@+18p7q? zns@LymlCUFOMm8VfIAB(vq^GI`bhguy_e!0KY8Ts(wY!k1VD*k3I?D4m~WPbl+ z^3k2Zep!voH}}8epq9`&@Hv95}np1`i;@}SUw@w^i4j!ko`)F^Bdy71&pOt zGI(H&hZ8uUP_VS=hiAYK@PE;orcf_ysQ-8m0rNlpEh)=Y_2Wnbr-O7*Y@?&aHx4MH zFz5~3WuHcbB7pyJT<+g@d=Ov?%4_qopda4UI8+yoBSJI%Dqv9X6Q$0o^TrV=la%mx zt-Q(bI(o$56x_-8JvafOk(V@REH?{ zwN}1vS?z}wC|z89c~b#yEVkw;?8nD<1wMG}afJD49wH-}q{Vx&eZR4gR9owtx9D8q zE2B`@OfD`jNxC(8CZOvNn_}yeWbcXd3w@!?(^ds%fAOSzj3Rv$|D$Vv=Tbc7;& zVA{020byM8X+d_+dNpPNS6U5_aEv31CmuOu@?tTqnPw$bzq%s9QlC7a@JbeDx8LV5 z&d^YO_@(+lZ~O?hnDPgS%=)oU$hr0YAe7rti6pkG9V=CeRDp0VAel;Rm~s4G3Z_*% zatpuyryTOWC{Mf*18nRQqA=2`elNo=??FIvjG_z*#;-!}`aW@__Qb9v0N+7jGydEh!q|0)q zLpp$^!ulhiQQf*F8ze|50U9as*0#wYEUd}_Rjn2JYM< zH9+Jh@@O4bjqXiA=TM&K3VDim9GFAGY;ON6K#ip`9`Z5 ztNiv>S`@{BU4<#zPLsgGrUk`}DoKSC@6zQ{shwTSrutS~X`xTG2uZ24g~xR-93Z_k z4{Mh|0e(1V#AUkJj(k(ud~(r~mn_#WrUfp8qD#(TSalt>#V*2KJqyTh4b#fzQC3~d zYGdQeyoAo~;>~7Nw(-uJuTh6{0~+k6?m=ROF>T{3z4BuQ%zSYY*aa4u&1ocJSlgCP zL5{z00olZw<(}a)9rmrtwlZ)045%@LZ4vi5Fs~GZ@#8$It92DHG4C!LFse6JAz5FV z2eNe;tBYFDZ6vI?s<7E}7iv^P&P|xprD9t~Ubl2EjKH-;LGrhmK}N)?RP#0kWd999rOPQJQOS zXDj9<_4`Mk87U?EX*-nZF1dEkKO^?H#@Sw;h=+12MfUL``MPtGq};V8aI8Z%j zSLukT)XdJ!fSeiT1C$hG3qm>=K0asqWSn4n&$IiTVqm+%H)7bEw-d0|cBRDu_&Tm1 zu4Kd#jcBV}p6e8bjn&Jd+I3{Q0#b;^LcqDPCOAAULD2^ITP!U^m8if9>T7IuP|wb8 zu2a+H7*U&l)kL)0TR|rH*TQS8L>bv^(I<_d#=ehZL{ZGCnY#iP?tG~$s! z*)2i%e6V7#bSZch7|bk`mXeGbbTyMp1TksVQqyMZ%R8WJ!F!gZ&g>$;O(}U;2JR}v z=`dlzg6#`*5IQsLS*snR-!#!|adHo_Qth<5v5v(+thvfrZo^4bpKuJcG!*qA-gU%0j|lY9O1Xkho^PqG@OGW|7}qa$G45^ zR@OIuz~F?Jy>~TV<4qv=hH)*IpABAsPU|GgVJ`lZJPT|B5)k@={RtunP5hvi+#8j! zsixLAuoqtZr?fM;ZWIabYjqxY)NBf}O2`@p*lF#Iny$mV!hnSz zFw5To0yWPFA*VAhq#bcJ600Wfl*dPm1m7>@HoeEz(|MxVqw$KJlXu28^EDZhvQ6%a zdbm3>+9$`LzDN_*(w~7Lzw7lw-RtBSuoX%hWfADgE8n%ek)_-hk$-nTvOJdj2e<9I zrF#|sGU393C8Z-yO}*@#cYrPRomc-rQDRoBgOB0VQ#Mz5NVH*lDiYfzXDCO@#h;$5dJ#GdbUt}5S$328$G zjOF~c&xMUs`_+G%kN7C_s$~xTFpKoGA<2a?>?oX0ZxDWbc$TVjNz%FQAa_U9ET@== zX2qKL4U~I)v5St{iqf@A*o7y%0bs@$yq&|-3#CpMl&^pyui!`fL4W4!x?(5ycqz2A%dp>>z{=T_<=txe|)ne1}t>nU2(CHa}EQqgW(h0Q5~fenAeCRt0EzI&nn1-lC>#EVs z{lcghY)MVj^*}iD$7DUxuuGVwy~_V@f?fBpi7z2a#eZI@cIlr+Tsc3~8ge+U? zF-OxJ!Z&nccM3``lfnkmH=|iI-1=85lBRS-%K@u z47s{)OBdl*-=5wuiM1l`)))Jv(SO1%wZ!fxs_xI3qxQT6^8%YfHK4BkO>-f^AhW4}fF3UeOuq87WFqvICsbA_05C3^UP z2fE@gwFR$ADHhXuAeQIMTXgYfjqlWn0LX>cbkNge_WU6*% zxhb7L+82O4yGJj)uas|@U4E(wnZHS;LS!mB@`Sc}`vrC%U*o&0q@>MB6)ihI&@$EY zMw8Tnm=cM#{a(+qT1>dPp>`;aAAGDZjhmrONI!cZP&UKbbpyEY6$9`Gy~TNG?)zYJ zA-}zT951s)`3YpoJ)q=$817>#`Ud9?Y|&&^7@q*t@LATpi21APStF+ZQm8(dk{(a< zm1V!$y~iD*+?d~jW!_H}HB0mZ==Yj%>N{%*sM`J0f7#T`9b7=$1<*>IyS87)P#E;w zOQ12)UB#yz(O)G544udsHKEv|qZS^_O)_!g$#E1kvWLr3;mf$J(>Pc~tU!q2`gts6 zJI(_TOeD%7rV*De8;;SU(&BfB5Y?Ln#IuMYXtGId4f0t=K9H?2beQ(x!Ux}>{ibOj zqZ5#w6`Lbx3iX7NgsnJbcNRCSQv3(XM$68&Bm@^lTeCH~OBlP%syvNCS}U$(Uhfj4 z9{lDMeY!v`*<$TPn+YK4<4rF+kV{oT9~l6Z?Q6`Fd6GNVvM#P1ggq!$o)bmu=-u#< z;!=UgGHfwP)xy#Y!s0o>g-iuj_!S%hWV`{zop4r9bjn9*Qb`7+!aK#M=k)IkJqnET zDDOWm9!Y-Qh3o!eyrX_(sVgD6^Y#w)IUC~>65Q80Q~PH4%I;I>+ea9v#gLncCVYW#0pLcs0x(Y@-U$~UFO72N=)U!X3C@u!V^`l4EY?u#rs|Gr_x%m>fnmJmRf zt{>>=z3{`T+ODheiV$?f!ptaeQpkU2gj1mpWbAg(lZ5M~b$bQU)e$$YV7JpHH;PvW zJdNY#ldZ6f))Ha5?y z9%s74H%L-?$>se+tG`_tQ3*?~pQCbJf4pwy7Um40i-(hn_tG}?b~*a>AsK$&Qq@?e zwK}I8)1yGpb*%AK3FwpxkS_tSCRAS>NK7Qd4@cUpV83u2zYyt*`ueXu7Nojksruq2 z_Q0C201#KZ3DS~{j{FeZU->*d{I8hp&wD+311(s+o0WST;XP=oweM7+m$Us(1$4SZ zGDA-c!*cgqDuiNNJ92rR2-qW=2kg6|5Iqlz*-f+YKZA)m{^ouUnKc30>hIilKl5sn z_)Da}!M+yESkr#ue0$USEL5n`wtL`9_K2cG34H7c+#ITYl>dQp=Jq=4Lx1^ODvPlq zUkF~SQ#hT04P*A^bu>8>AkcPNmn7H|kA3 z>W5u7@CuU`{%q2X`M64H)J^EBlW`s%IR6*yf0dg52sIjtR&mAuEMBPpS-h|Uof@fu zT0;ncniPP-k`VS--)gLzYcK-(@Ge}C5L|LWVFWXZqA1G(xE`nya8uo)r7N?Rsuz4W z8X#4eWO)F0D~^+Q@u%Fj*ia6*^T7AAb?TMdb-Iz)*ZT#cIGhBD0mNNQ|3faV!CXTe zsf9psqKd9I&1za{Uo;?IV+t2-)O_Ua)^rWH%QVSQ8{;5ysFfA&koR&KL3`e?%$ zr99j&n}nahXp^|jW~+AKq)B~A*T8RtPu-&NnA~bAA;blK%XUp9^gIlC8wced|*UX&z?S1w>bMBdQ?mqkbp7^8JgMjSbmlX+a>*AP# z`@xnyWMlB;i@nfuTeGU&Na-o-Ujr6Rrp^Zkx$$~tHh`{Kf>^O^GoXpgOd70$q3e@& zGOr!wZoOgM?o72%sCd95n|NdExTFe4<6~Lfs*XyK8kE5t`!s9I-H$O${XG;ktv}yy zNgzW0D0b>OaH4PKY3TWyH^##98Q3OuOLVMj_$~fs-+qp1#Z_2nMEz=e!5l$~3vb2L z?(P{4kB9Btz0ZtVia~9u_WdWciINIBc*HZd*4vCbQubIeu<+_)Yqp#gvfF;zup!$4R$*n+A&%m-CNsxs!Csv$YGpk^m}HdJ_4^v1+4Y+;(~?W)Q~F!9VDQgJTcEGY0#5FH4U z%D{tGfRpP=*VTyC;p{uf)x-xx@|H0X@y{^PpI?P~ajDg}4DDJTYX{uAQe}vJ^_L$#K4Q+2pa8C3c$aVY_kqinbk~S9R|h2dlmH103T-1<|*;xe(msU|$@pflj>_ z##(NgnP9#B`*68XCcJcDQ=R0mcvJ4v^pB6A#G>XN5%g;fjD4s5#$FOECXiINlkBfU ziS-~Ip>~J>uuLrbUE9)Z)$@jczB&b#_TdFC8c~K=Sh3wSCiyYWOr>sUr(w1&hEPga zj(W?-bXvi(M;(;q&QsvNlJhdsQ;OUkN}3QaEzuYjl$iqRcdniFgVGg8q~FQel7C=A z^%>jOIDEPRq0?mJzEZDBG8I-QT6y&$q#!IZI3MuPZvnSU_K92ea@{KP)G0}c^N$Oe zg{Rx$IWNEKr4r#&8$!1FAx5cv_d+f3k5m=lMAT|Vk3f6eKLeKBD7{{TvoJK)!0rmhHf80Z51CkvGzK9)-WzWx}UQKY|6I)-vn|u9A}%0 zJ#KKWkny~r-cspFw=X$AYNXec=2mMLk|D}>OGqKoEfC`J=sMm|WSuQwRrwm{8=Yq? zB|nfUd0RYgR2x%m?BW4q4?oBPtNK9?X#I#9)aynamu=UT$3nr}UpN;&7ZAq>t#o>- z#GWE0yMcWdDmx<;%HD}GAYc;vIbsTI%!hY3TXudTSN~i7 z5aZT@#Tv2b0t%(9lN9>nI0-`B9?lUOMz>KkTS6DF*vt?2;d&CNXcO+}oh>o95<(-z z8|S*ByPpVH*`}($AIJQlY}y^tdN<+r!fv41^H9^;POYn3H;3S#O$v-vw*dfpAZ#~F z4!U4SsX%jOVYxmW<=q&wi}Ax{-v*F zFMF+};zvRxjbz}--u|A}o>Q{m`(EMo)Jy^Ijo~cu_KOw)?~{>s=ugxRk^qhsAR)tI z(rDCNtBR^oZ)Avm>A{MB>uFnfVu%3~6LcPqLHMz1EEKP5CbXroFXKWcfC(N}MknPW zhexv?)S2PD%f!XdmCtUeB%hpPV=y7)9}A}?2ixLr#6%B_#!q@a$**iLOZQIPp|Y1% zVJ!RnkwkaR%8>0-OL`A)mf!~`PDl2%ObWHlTBCruYISDkiZn%YA!qfvjhLT-3eXYP zhNIA@_f@AdAzK3_eTrdkeN6>CLnq?LK4-hX?skvNj>&h@ov5*%{mKW{a#k2DCJ${x z_b`~9G<#WQFSj&SjRvE`Q~ClokTKPL5asH|U~;JO3bNmGV(r{$Dml^|9bG!-`CVJK z!AU`rD7Spg2fIEwii^Xy+D_fx7!0kV?wHs&^`0?uDcEQ?EM^h2ELqRr`JPO-c1S) ze|drfK95ZC^~e`)O4|MaUARze2t1M3z89fPjwVpHIPN3dm+_X1Xg(#nX3J`;^pwL2 zpUeihf?&Gn1)a!CB*u5OMMI?CbiMXJ2ks?U?hrmA@OAkaaYr{4%~W2d7lkH*bwISc zkY7qJ)1@DW{M8yZdjA>WOPc`biwfVPm}pjRzRVJO*vC4YyJF;>L{7lvC_njKFIV)1@X){73fWMZ`E$D*LSqTt^)r=k-3JOJT- z|LAr_lg5$t4vQE+%^7tYRQ<{b^Vej-eOcuse52Up(Q2yv93xrRwHd_bq{)*p+Zi#3 zi}y#q81VZursP2rQ5K0OUt}<*GTcnK_Qz!s_MRp&DN$YGlx1kr{nR6yve4I)ncfVs z>U#g$L9WG38mdjq#njL%_KR>o9NnXcn2c{gE?fO82U8A-Sa61SX!Q?9lh`Yn zKeSXbb6QlP=Z(DZ#oiNj-+p*=P^-zxy@iV0&>nKc5TAzlQ!YX5Z2LDQ109BV;sGtw z-*F+-#+M{x#U3=MtUuG1cF5;)vS&**xyY#({wPR4bz4s73T)9+Hdx-&a(2Kf6$HJ^ ziO{zqqU{LdAI>+;L#e4dz^f7P*vMQNo?k#rGp`WSOg}2jd956J##aS;Khg~No|i^a zd7{;@6MtY!H6-W@4$ciGl*`?%HG$5%B&yF@q;iVq8rxwlRz}M%@MFJha*gTTp#8uu zH|g)voc01`i^i-_OZhn6K4TFa8a89$QyEY`fIs6&G3lg(?loJMPM^J>t`Hwzt-EQE zgsuDIDKEpEjk2`gc3SMagLLeNWvgy44`=J0DJ>^f%N_Au#3~0rSls z(nGxWSUIP5c|T-DAMFR&S(rd8IK=FxlQqQTLND7h^Mn0?7O9x#I}fUAn)xOqDZa^% zmJ0xn6xZOCn)~bxv%L?Ki)S^b3N-{azc;Tmr}dyUH|nx9M!Ks!yiDQnAFr9&)fJbV zw&vyLmwBulvzSF6JwSq?!`5_6jL9hLFDMI>R5DM)hg7o#deJ_xeMkTuKf1UBJ#>_* zOSGNPngJ$oM)5`FvndH#^W4f}DJEbTRs)@;8TO|X6-iy7#p8k7SU;Pr`}^dAvst;< zu-3`TEju@7y0kF#$E6t`=*d~nh{!L|2Lfyi{rKgw`W6{|pPiNOmC&}NmsndUbQ={b zHB3%%oj22)?M*&dy=5$%l}L0PC`OApX1w9b#n8?#_8F6a#guL_!#Y0lC;H9)%+#oJ zDS-k27^A{o7x6+9z-nE*#G#sx8k*0A+7C>+4aUC2kbMR9YY}5%aV^?91IeA)jqhDL zo1dXxYFj4DvT;8@DR}RD)TW8cBHjLQ3E+y|CrtIpHM}F%LyAR~!8Ow&a`TfKU*Td6 z(=AP%)t0)|L2FgZZN@FhfZoq?)tMtsqOzkng;_o5CJ)mBlPMGjJdgyl5Rd7m`1h{$7C!GT|)2eiZ9KD;tdk^Fmcko$_SpctT#k2w}z2o+ON* z$j3Qxt|{GisQ&6CJk>t>Y7`2wos}7^{ZS_HbNp(IcI9|}0ThhstH7f; zJIR(pf*eX)*v&a}gTU#6cPoz>sgArbxJ7E-(|sOtj#;@a;w1Q$WT^SAo`W?e$pigj zXZGabO|CZ`+x#Jhbr=QtW!nZ_+(H~&ub{v~oUYN*0Cjso!C)H+6-EDhxiIueNjp5Z z=8;ZbCkkfMs&A`SrXn~5-XO*KD#|EQ=fgT7uusutQJzDjwtAA2nn+2L%V4y~ckZQb zc!iNZH#kN5hgZRKmiYOgmirT{ZT2Ng9nO7>)H)=le7J*m$zVjSsI|s;rRGulrai zJ>gDnpRZ7@*chJS5nueical@il?N&vl@yll5OroA8jSU_h@aDs#{TCs)R+_V<)_6` zoUNvkTVZjO?&}ej_7|AcwY<<{Y>m?aaWEcY?{|0Qq9MVTQyrDa5{DQ?K>?+duV%ET zzP&M1wcky?6db0KjRc~zBS=afiO#7^3?+*Ai>vzst25!&(!hH8xa^?7FTbFZYDuSB ze)k+b+tbmP9?6nq>eQ6San8_4?9rC%wU~tYe_KEJ6&S|=VEq9X6V?U?vqo2cTgcm08 zBX$*Xo1@*lFp0kL6FQ-ZB^REqrpsNms+Fog>>@6R5T+d(?GFRgr{^amcaHQRsgMw8n2|uud-{3Z98lq=CGnRo>gOlsKNm z-~;+X^T%JB5oF&X+45<&>$Qc4X!-C=cI!Sj>TWd(V977^%SnA8vH0znab3KP@Xe^l zJg=+Ym=EV?WpCxLUj){{vi6*9K*?CWfJ;7H29-~CCnG&9DI!%~tM>)R{3=~6S5W&p5*t6UzP=T-^Dy(>k$j{6((^1Ez0UGg{D!zx9wyUjQWo_aql@}Uno$$cFK|a z^iY9<|Z7k#QIK09aJfA3ZjXip%$fagD zq>LqGx!C+OKkqFI&pBKB6b1=RY(%2(RtJJQNb@iMnq*=;z1JWPv#(ZxY7lAT|I#ou z`oyh;kG~h5bf3owo56yBOTYX@FbUyhLt-6wBDfmdZMcsTfcHSKh^ZHPS1J+@l38Q= z+Q=^`?rifzW}4ViT3S|`Wc#mx3tYNL8-k%YO8ba#yCBX4r_m^S34C78W%}vpNPOPA z%kj_L2+SXZ;~&U(=%ToVLjAtRB%dmQ{1QUbl4=U7<8{{`XuybiPwI0YGYNsgIv-jc zdi(v%CWIV=A;(cU>ypZm8KvDkaqC#cR92jVwM0 zl-XL@<*)5~Xj&qcpXST)uEqSBb=;#TU?Czg=2wRA9r8+E{;F|h)qpOmh}`C^B46H)9}R_a5C+(h?3;BG7odGmPVJ$R^R9E^jn;o+t*|s6Bl$C$aErY# z!4*}c$qHMqMV}{?2X)CsATvG3g?-Vzf%H7V64a(;Iz zYZlGFHPr55aE&e+PJEy^wE6Q5LCJUy1;v}C?GIqJ!S~n$xUVRng|{c+##5GCTr`Bm z-_?bzsI$08F^zJypRm`S+Qy`)+4Zf8={g<_PYZr=P`C&Tg6lSQa-@+JEMBRCwyyzyPoXd$0%iBJt%wr#uxA4Qp`wcnG)C>t{C+tBVy*sn(O zOelqUTEBeTi2I2Os(v?tZ$5X9Y7)=xS(u%~K4v-3en?yH@C(|ahrlcOIr@+~I(v#+ z-vBWeVffRH3-qmyaQuk8{rGD8t4~S7xc$jv1Lm)v=daju)Qh8R=305LHb&97KleBd z_s||CICG)Z}4HI!S#sDJ2+uOa_RVE=;$0Inrk|B?8e4f6jAA~L1{{|H}8ZeDXla{OJB zU9k0|HwfSq;$%de{~mck6flBDTG&zp5%skXFHMhQNf9QwA{>za7le4vgW)ymBN2ZH zkpTdP8;GDr0VLuNFEZkJ^bN#VBM2sXhYn`c2&B8N&8i}(*#c1;K4Ou~^}mrp_1G|Y z0|`t6mjc$_1pM9TBTb;&c|j1|>njP(Y`+V+ny(8JiI8yfX4>DSLCDfW3S?;{H4d!3 z`Clc-D|GBgB`tT6X22Eb2ILUGN*yTxz3;tE8!oyqm@=-#Fc(M*fRrW7|lB%-Szh5|HzFH6(HC| z|2y)6O!Q%@@9rW&*QNjVNxc6c*FDS302cR-8VUMC8w3FG{RcvHlb|RA*w8y^*8;qo# z0jYJ15$8||;g%Xg^G$?Aq$l10syo2w zI~0(hzmvHB#pMNgIwQ3ecd#RYe^R#qfV=;q5bt?G)vibz@!%jN@H(rY5aCS0|LFwA zUI-u?%oR@kyM^Q7*DY+|11p0IB1NNQgq*G?me>f Date: Fri, 27 Feb 2015 10:06:07 +0300 Subject: [PATCH 091/157] Updates forge to 1291 --- build.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.properties b/build.properties index c995013..0db8af4 100644 --- a/build.properties +++ b/build.properties @@ -1,3 +1,3 @@ minecraft_version=1.7.10 -forge_version=10.13.2.1230 +forge_version=10.13.2.1291 mod_version=0.6 From 388f66db2481b02cec22f2d84cbc03ceea4e745a Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Fri, 27 Feb 2015 10:29:32 +0300 Subject: [PATCH 092/157] Switching logger to preinit event logger --- src/main/java/com/teammetallurgy/atum/Atum.java | 2 ++ src/main/java/com/teammetallurgy/atum/utils/Constants.java | 3 +-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/Atum.java b/src/main/java/com/teammetallurgy/atum/Atum.java index 410ffd6..2e31917 100644 --- a/src/main/java/com/teammetallurgy/atum/Atum.java +++ b/src/main/java/com/teammetallurgy/atum/Atum.java @@ -12,6 +12,7 @@ import com.teammetallurgy.atum.proxy.CommonProxy; import com.teammetallurgy.atum.utils.Constants; import com.teammetallurgy.atum.world.AtumWorlds; + import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; @@ -35,6 +36,7 @@ public class Atum { @EventHandler public void preInit(FMLPreInitializationEvent event) { + Constants.LOG = event.getModLog(); Constants.LOG.info("Loading Configuration"); new AtumConfig(event.getSuggestedConfigurationFile()); } diff --git a/src/main/java/com/teammetallurgy/atum/utils/Constants.java b/src/main/java/com/teammetallurgy/atum/utils/Constants.java index 1e3631c..1000adc 100644 --- a/src/main/java/com/teammetallurgy/atum/utils/Constants.java +++ b/src/main/java/com/teammetallurgy/atum/utils/Constants.java @@ -1,6 +1,5 @@ package com.teammetallurgy.atum.utils; -import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; public class Constants { @@ -13,6 +12,6 @@ public class Constants { public static final String FACTORY = "com.teammetallurgy.atum.gui.AtumGuiFactory"; public static final String DEPENDENCIES = "required-after:Forge@[10.13.0.1199,);"; - public static final Logger LOG = LogManager.getLogger(MOD_NAME); + public static Logger LOG; } From a381ce88670448b9494710dc3a7ea7d7a384fed8 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Fri, 27 Feb 2015 10:40:10 +0300 Subject: [PATCH 093/157] Switches non important log messages to trace, reducing console spam --- src/main/java/com/teammetallurgy/atum/Atum.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/Atum.java b/src/main/java/com/teammetallurgy/atum/Atum.java index 2e31917..df15c87 100644 --- a/src/main/java/com/teammetallurgy/atum/Atum.java +++ b/src/main/java/com/teammetallurgy/atum/Atum.java @@ -37,31 +37,31 @@ public class Atum { @EventHandler public void preInit(FMLPreInitializationEvent event) { Constants.LOG = event.getModLog(); - Constants.LOG.info("Loading Configuration"); + Constants.LOG.trace("Loading Configuration"); new AtumConfig(event.getSuggestedConfigurationFile()); } @EventHandler public void init(FMLInitializationEvent event) { - Constants.LOG.info("Register Blocks"); + Constants.LOG.trace("Register Blocks"); new AtumBlocks(); - Constants.LOG.info("Register Item"); + Constants.LOG.trace("Register Item"); new AtumItems(); - Constants.LOG.info("Register Crafting Recipes"); + Constants.LOG.trace("Register Crafting Recipes"); new CraftingHandler().register(); - Constants.LOG.info("Register World"); + Constants.LOG.trace("Register World"); new AtumWorlds().register(); - Constants.LOG.info("Register Entity"); + Constants.LOG.trace("Register Entity"); new AtumEntities().register(); - Constants.LOG.info("Register Loot"); + Constants.LOG.trace("Register Loot"); new AtumLoot().register(); - Constants.LOG.info("Proxy Init"); + Constants.LOG.trace("Proxy Init"); proxy.init(); proxy.initRenders(); proxy.initTiles(); From 97fcbb65361ef46c27bea69a8d84b00bdf9c79ae Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Fri, 27 Feb 2015 11:48:58 +0300 Subject: [PATCH 094/157] Adds individual loot localization support, closes #25 --- .../teammetallurgy/atum/items/ItemLoot.java | 31 +++++++++++++++++-- .../resources/assets/atum/lang/en_US.lang | 5 +++ 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java b/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java index 5d5be69..819a3d0 100644 --- a/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java +++ b/src/main/java/com/teammetallurgy/atum/items/ItemLoot.java @@ -37,13 +37,40 @@ public static ItemStack getRandomLoot(Random rand, boolean isDirty) { @Override public String getUnlocalizedName(ItemStack par1ItemStack) { int quality = par1ItemStack.getItemDamage() >> 1 & 15; - return super.getUnlocalizedName() + "." + qualityArray[quality]; + int type = par1ItemStack.getItemDamage() >> 5 & 15; + if (type < typeArray.length && quality < qualityArray.length) + return "item.loot." + qualityArray[quality] + "." + typeArray[type]; + + return "item.loot.unknown"; } @Override public String getItemStackDisplayName(ItemStack par1ItemStack) { + + int quality = par1ItemStack.getItemDamage() >> 1 & 15; int type = par1ItemStack.getItemDamage() >> 5 & 15; - return super.getItemStackDisplayName(par1ItemStack) + " " + StatCollector.translateToLocal("item.loot." + typeArray[type] + ".name"); + if (type < typeArray.length && quality < qualityArray.length) { + + // Individual localization + String unlocalizedName = this.getUnlocalizedName(par1ItemStack) + ".name"; + if (StatCollector.canTranslate(unlocalizedName)) + return StatCollector.translateToLocal(unlocalizedName); + + // General localization + String unlocalizedQuality = "item.loot." + qualityArray[quality] + ".name"; + String unlocalizedType = "item.loot." + typeArray[type] + ".name"; + + if (StatCollector.canTranslate(unlocalizedQuality) && StatCollector.canTranslate(unlocalizedType)) { + String LocalizedGeneralName = StatCollector.translateToLocal(unlocalizedQuality); + LocalizedGeneralName += " " + StatCollector.translateToLocal(unlocalizedType); + return LocalizedGeneralName; + } + + // No localization + return unlocalizedName; + } + + return super.getItemStackDisplayName(par1ItemStack); } @Override diff --git a/src/main/resources/assets/atum/lang/en_US.lang b/src/main/resources/assets/atum/lang/en_US.lang index b9564d4..c3d5fd3 100644 --- a/src/main/resources/assets/atum/lang/en_US.lang +++ b/src/main/resources/assets/atum/lang/en_US.lang @@ -264,6 +264,11 @@ item.loot.ring.name=Ring item.loot.broach.name=Broach item.loot.scepter.name=Scepter +# Individual loot names +item.loot.gold.idol.name=Golden Idol +item.loot.gold.broach.name=Golden Broach +item.loot.gold.scepter.name=Golden Scepter + # Entity entity.atum.mummy.name=Mummy entity.atum.banditWarrior.name=Bandit Warrior From 2dcb0dd1f5235c6a02303caa6abffd6a1401384d Mon Sep 17 00:00:00 2001 From: Adaptivity Date: Fri, 27 Feb 2015 11:57:09 +0300 Subject: [PATCH 095/157] Update ru_RU.lang --- .../resources/assets/atum/lang/ru_RU.lang | 39 +++++++++++++++---- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/src/main/resources/assets/atum/lang/ru_RU.lang b/src/main/resources/assets/atum/lang/ru_RU.lang index 3e95373..117da54 100644 --- a/src/main/resources/assets/atum/lang/ru_RU.lang +++ b/src/main/resources/assets/atum/lang/ru_RU.lang @@ -250,13 +250,13 @@ item.neithsAudacity.line2=две стрелы за раз item.neithsAudacity.line3=Двойной выстрел I # Loot -item.loot.dirty.name=Грязн. -item.loot.silver.name=Серебрян. -item.loot.gold.name=Золот. -item.loot.sapphire.name=Сапфиров. -item.loot.ruby.name=Рубинов. -item.loot.emerald.name=Изумрудн. -item.loot.diamond.name=Алмазн. +item.loot.dirty.name=Грязный +item.loot.silver.name=Серебряный +item.loot.gold.name=Золотой +item.loot.sapphire.name=Сапфировый +item.loot.ruby.name=Рубиновый +item.loot.emerald.name=Изумрудный +item.loot.diamond.name=Алмазный item.loot.idol.name=идол item.loot.necklace.name=ожерелье @@ -360,3 +360,28 @@ atum.configGui.portalCreation=Портал «Атума» atum.configGui.fog=Туман «Атума» atum.configGui.dimensionID=ID измерения «Атума» atum.configGui.biomeID=ID биома пустыня «Атума» + +# Custom Loot Names +item.loot.dirty.necklace.name=Грязное ожерелье +item.loot.silver.necklace.name=Серебряное ожерелье +item.loot.gold.necklace.name=Золотое ожерелье +item.loot.sapphire.necklace.name=Сапфировое ожерелье +item.loot.ruby.necklace.name=Рубиновое ожерелье +item.loot.emerald.necklace.name=Изумрудное ожерелье +item.loot.diamond.necklace.name=Алмазное ожерелье + +item.loot.dirty.ring.name=Грязное кольцо +item.loot.silver.ring.name=Серебряное кольцо +item.loot.gold.ring.name=Золотое кольцо +item.loot.sapphire.ring.name=Сапфировое кольцо +item.loot.ruby.ring.name=Рубиновое кольцо +item.loot.emerald.ring.name=Изумрудное кольцо +item.loot.diamond.ring.name=Алмазное кольцо + +item.loot.dirty.broach.name=Грязная брошь +item.loot.silver.broach.name=Серебряная брошь +item.loot.gold.broach.name=Золотая брошь +item.loot.sapphire.broach.name=Сапфировая брошь +item.loot.ruby.broach.name=Рубиновая брошь +item.loot.emerald.broach.name=Изумрудная брошь +item.loot.diamond.broach.name=Алмазная брошь \ No newline at end of file From 366e524a320265da9a42c2793a11af21cd3c8bb1 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Sat, 28 Feb 2015 20:19:15 +0300 Subject: [PATCH 096/157] Fixes arrows hitting thrower --- .../com/teammetallurgy/atum/entity/arrow/CustomArrow.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java index 30b46d1..7f5f9e7 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/CustomArrow.java @@ -29,4 +29,9 @@ protected void entityInit() { public String getTexture() { return "minecraft:arrow"; } + + @Override + public void onUpdate() { + this.onEntityUpdate(); + } } From 2a00a5fda1366c15ee5f2dfd1232bc5a08fe4f9b Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Sat, 28 Feb 2015 22:43:47 +0300 Subject: [PATCH 097/157] Fixes palm tree generation, closes #24 --- .../teammetallurgy/atum/world/decorators/WorldGenPalm.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalm.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalm.java index 0271183..04ab34f 100644 --- a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalm.java +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalm.java @@ -48,7 +48,7 @@ public boolean generate(World par1World, Random par2Random, int par3, int par4, for (j1 = par5 - b0; j1 <= par5 + b0 && flag; ++j1) { if (i1 >= 0 && i1 < 256) { k1 = par1World.getBlock(soil, i1, j1); - if (k1 != null && !k1.isLeaves(par1World, soil, i1, j1) && k1 != AtumBlocks.BLOCK_FERTILESOIL && k1 != Blocks.dirt && !k1.isWood(par1World, soil, i1, j1)) { + if (k1 != null && !k1.isLeaves(par1World, soil, i1, j1) && k1 != AtumBlocks.BLOCK_FERTILESOIL && k1 != Blocks.dirt && !k1.isWood(par1World, soil, i1, j1) && k1 != AtumBlocks.BLOCK_SAND && k1 != Blocks.air) { flag = false; } } else { @@ -111,7 +111,7 @@ public boolean generate(World par1World, Random par2Random, int par3, int par4, for (j1 = 0; j1 <= l; ++j1) { Block var23 = par1World.getBlock(par3, par4 + j1, par5); - if (var23 == null || var23.isLeaves(par1World, par3, par4 + j1, par5)) { + if (var23 == null || var23.isLeaves(par1World, par3, par4 + j1, par5) || var23 == Blocks.air) { this.setBlockAndNotifyAdequately(par1World, par3, par4 + j1, par5, AtumBlocks.BLOCK_LOG, this.metaWood); } } From 213e0aac862a4694ce4cacad166830ec18e712f0 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Sun, 1 Mar 2015 00:12:00 +0300 Subject: [PATCH 098/157] Fixes palace generation --- .../atum/world/biome/BiomeGenAtumDesert.java | 18 +- .../atum/world/decorators/WorldGenPalace.java | 12374 ++++++++-------- 2 files changed, 6197 insertions(+), 6195 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java b/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java index e51ef2a..fb5e439 100644 --- a/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java +++ b/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java @@ -92,15 +92,15 @@ public void decorate(World par1World, Random par2Random, int par3, int par4) { (new WorldGenPyramid()).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); } -// if (par2Random.nextInt(160) == 0) { -// k = par3 + par2Random.nextInt(16) + 8; -// l = par4 + par2Random.nextInt(16) + 8; -// height = par2Random.nextInt(10); -// if (height <= 20) { -// height += 30; -// } -// (new WorldGenPalace()).generate(par1World, par2Random, k, height, l); -// } + if (par2Random.nextInt(160) == 0) { + k = par3 + par2Random.nextInt(16) + 8; + l = par4 + par2Random.nextInt(16) + 8; + height = par2Random.nextInt(10); + if (height <= 20) { + height += 30; + } + (new WorldGenPalace()).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); + } } } diff --git a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalace.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalace.java index c4e0bed..4147bb6 100644 --- a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalace.java +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPalace.java @@ -1,7 +1,9 @@ package com.teammetallurgy.atum.world.decorators; import com.teammetallurgy.atum.blocks.AtumBlocks; + import net.minecraft.block.Block; +import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; @@ -23,6192 +25,6192 @@ public WorldGenPalace() { @Override public boolean generate(World world, Random random, int i, int j, int k) { -// world.setBlock(i + 0, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 2, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 2, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 2, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 2, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 2, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 2, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 2, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 2, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 2, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 2, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 2, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 2, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 2, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 2, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 5, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 5, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 5, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 5, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 5, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 5, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 5, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 5, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 5, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 5, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 5, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 5, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 5, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 5, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 1, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 2, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 3, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 2, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 2, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 5, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 5, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 4, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 5, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 2, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 2, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 2, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 2, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 2, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 2, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 2, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 2, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 2, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 2, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 5, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 5, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 5, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 5, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 5, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 5, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 5, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 5, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 5, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 5, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 7, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 7, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 7, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 7, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 7, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 7, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 7, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 7, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 7, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 7, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 10, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 10, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 10, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 10, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 10, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 10, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 10, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 10, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 10, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 10, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 6, j + 11, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 2, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 5, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 7, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 8, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 8, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 8, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 8, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 8, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 8, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 8, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 8, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 8, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 8, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 8, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 8, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 8, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 8, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 8, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 8, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 8, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 8, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 8, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 8, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 8, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 8, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 8, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 8, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 8, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 8, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 8, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 8, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 10, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 7, j + 11, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 2, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 2, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 2, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 2, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 2, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 2, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 2, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 3, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 3, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 3, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 3, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 3, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 3, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 4, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 4, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 4, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 4, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 4, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 5, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 5, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 5, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 5, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 7, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 7, k + 16, Blocks.netherrack); -// world.setBlock(i + 8, j + 7, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 7, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 7, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 7, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 7, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 7, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 7, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 7, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 7, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 7, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 7, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 7, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 7, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 7, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 8, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 8, k + 16, Blocks.fire); -// world.setBlock(i + 8, j + 8, k + 19, Blocks.bookshelf); -// world.setBlock(i + 8, j + 8, k + 20, Blocks.bookshelf); -// world.setBlock(i + 8, j + 8, k + 21, Blocks.bookshelf); -// world.setBlock(i + 8, j + 8, k + 23, Blocks.bookshelf); -// world.setBlock(i + 8, j + 8, k + 24, Blocks.bookshelf); -// world.setBlock(i + 8, j + 8, k + 25, Blocks.bookshelf); -// world.setBlock(i + 8, j + 8, k + 27, Blocks.bookshelf); -// world.setBlock(i + 8, j + 8, k + 28, Blocks.bookshelf); -// world.setBlock(i + 8, j + 8, k + 29, Blocks.bookshelf); -// world.setBlock(i + 8, j + 8, k + 31, Blocks.bookshelf); -// world.setBlock(i + 8, j + 8, k + 32, Blocks.bookshelf); -// world.setBlock(i + 8, j + 8, k + 33, Blocks.bookshelf); -// world.setBlock(i + 8, j + 8, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 9, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 9, k + 19, Blocks.bookshelf); -// world.setBlock(i + 8, j + 9, k + 20, Blocks.bookshelf); -// world.setBlock(i + 8, j + 9, k + 21, Blocks.bookshelf); -// world.setBlock(i + 8, j + 9, k + 23, Blocks.bookshelf); -// world.setBlock(i + 8, j + 9, k + 24, Blocks.bookshelf); -// world.setBlock(i + 8, j + 9, k + 25, Blocks.bookshelf); -// world.setBlock(i + 8, j + 9, k + 27, Blocks.bookshelf); -// world.setBlock(i + 8, j + 9, k + 28, Blocks.bookshelf); -// world.setBlock(i + 8, j + 9, k + 29, Blocks.bookshelf); -// world.setBlock(i + 8, j + 9, k + 31, Blocks.bookshelf); -// world.setBlock(i + 8, j + 9, k + 32, Blocks.bookshelf); -// world.setBlock(i + 8, j + 9, k + 33, Blocks.bookshelf); -// world.setBlock(i + 8, j + 9, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 10, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 10, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 10, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 10, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 10, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 10, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 10, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 10, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 10, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 10, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 10, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 10, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 10, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 10, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 10, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 8, j + 11, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 2, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 2, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 2, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 2, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 2, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 2, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 2, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 3, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 3, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 3, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 3, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 3, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 3, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 4, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 4, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 4, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 4, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 4, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 5, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 5, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 5, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 5, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 7, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 7, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 7, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 7, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 8, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 8, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 9, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 9, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 10, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 10, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 10, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 10, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 9, j + 11, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 2, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 2, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 2, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 2, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 2, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 2, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 2, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 2, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 2, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 2, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 2, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 2, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 2, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 2, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 2, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 2, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 3, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 3, k + 22, Blocks.bookshelf); -// world.setBlock(i + 10, j + 3, k + 23, Blocks.bookshelf); -// world.setBlock(i + 10, j + 3, k + 24, Blocks.bookshelf); -// world.setBlock(i + 10, j + 3, k + 25, Blocks.bookshelf); -// world.setBlock(i + 10, j + 3, k + 26, Blocks.bookshelf); -// world.setBlock(i + 10, j + 3, k + 30, Blocks.bookshelf); -// world.setBlock(i + 10, j + 3, k + 31, Blocks.bookshelf); -// world.setBlock(i + 10, j + 3, k + 32, Blocks.bookshelf); -// world.setBlock(i + 10, j + 3, k + 33, Blocks.bookshelf); -// world.setBlock(i + 10, j + 3, k + 34, Blocks.bookshelf); -// world.setBlock(i + 10, j + 3, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 4, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 4, k + 22, Blocks.bookshelf); -// world.setBlock(i + 10, j + 4, k + 23, Blocks.bookshelf); -// world.setBlock(i + 10, j + 4, k + 24, Blocks.bookshelf); -// world.setBlock(i + 10, j + 4, k + 25, Blocks.bookshelf); -// world.setBlock(i + 10, j + 4, k + 26, Blocks.bookshelf); -// world.setBlock(i + 10, j + 4, k + 30, Blocks.bookshelf); -// world.setBlock(i + 10, j + 4, k + 31, Blocks.bookshelf); -// world.setBlock(i + 10, j + 4, k + 32, Blocks.bookshelf); -// world.setBlock(i + 10, j + 4, k + 33, Blocks.bookshelf); -// world.setBlock(i + 10, j + 4, k + 34, Blocks.bookshelf); -// world.setBlock(i + 10, j + 4, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 5, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 5, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 5, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 5, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 5, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 5, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 5, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 5, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 5, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 5, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 5, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 5, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 5, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 5, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 5, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 5, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 34, this.largeLimestoneBricks); -// this.generate2(world, random, i, j, k); -// return true; -// } -// -// public boolean generate2(World world, Random rand, int i, int j, int k) { -// world.setBlock(i + 10, j + 6, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 7, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 7, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 7, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 7, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 8, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 8, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 9, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 9, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 10, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 10, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 10, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 10, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 10, j + 11, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 2, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 2, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 2, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 2, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 3, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 3, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 4, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 4, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 5, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 5, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 5, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 5, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 7, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 7, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 7, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 7, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 7, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 8, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 8, k + 16, Blocks.bookshelf); -// world.setBlock(i + 11, j + 8, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 9, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 9, k + 16, Blocks.bookshelf); -// world.setBlock(i + 11, j + 9, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 10, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 10, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 10, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 10, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 10, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 11, j + 11, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 2, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 2, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 3, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 3, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 4, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 4, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 5, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 5, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 7, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 7, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 7, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 8, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 8, k + 16, Blocks.bookshelf); -// world.setBlock(i + 12, j + 8, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 9, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 9, k + 16, Blocks.bookshelf); -// world.setBlock(i + 12, j + 9, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 10, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 10, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 10, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 12, j + 11, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 0, k + 0, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 0, k + 1, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 0, k + 2, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 0, k + 3, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 0, k + 4, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 0, k + 5, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 0, k + 6, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 0, k + 7, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 1, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 2, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 3, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 4, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 5, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 6, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 7, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 2, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 2, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 2, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 2, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 2, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 2, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 3, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 3, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 4, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 4, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 5, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 5, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 5, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 5, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 5, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 5, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 7, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 7, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 7, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 7, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 7, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 8, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 8, k + 16, Blocks.bookshelf); -// world.setBlock(i + 13, j + 8, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 9, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 9, k + 16, Blocks.bookshelf); -// world.setBlock(i + 13, j + 9, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 10, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 10, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 10, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 10, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 10, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 13, j + 11, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 0, k + 0, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 0, k + 1, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 0, k + 2, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 0, k + 3, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 0, k + 4, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 0, k + 5, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 0, k + 6, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 0, k + 7, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 1, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 2, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 3, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 4, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 5, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 6, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 7, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 2, k + 4, Blocks.netherrack); -// world.setBlock(i + 14, j + 2, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 2, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 2, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 3, k + 4, Blocks.fire); -// world.setBlock(i + 14, j + 3, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 3, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 4, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 4, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 5, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 5, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 7, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 7, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 7, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 8, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 8, k + 41, Blocks.bookshelf); -// world.setBlock(i + 14, j + 8, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 9, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 9, k + 41, Blocks.bookshelf); -// world.setBlock(i + 14, j + 9, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 10, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 10, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 10, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 14, j + 11, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 0, k + 0, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 0, k + 1, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 0, k + 2, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 0, k + 3, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 0, k + 4, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 0, k + 5, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 0, k + 6, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 0, k + 7, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 1, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 2, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 3, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 4, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 5, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 6, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 7, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 2, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 2, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 2, k + 24, Blocks.bookshelf); -// world.setBlock(i + 15, j + 2, k + 25, Blocks.bookshelf); -// world.setBlock(i + 15, j + 2, k + 31, Blocks.bookshelf); -// world.setBlock(i + 15, j + 2, k + 32, Blocks.bookshelf); -// world.setBlock(i + 15, j + 2, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 2, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 3, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 3, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 3, k + 39, Blocks.bookshelf); -// world.setBlock(i + 15, j + 3, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 4, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 4, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 4, k + 39, Blocks.bookshelf); -// world.setBlock(i + 15, j + 4, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 5, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 5, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 5, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 5, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 7, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 7, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 7, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 7, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 8, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 8, k + 16, Blocks.bookshelf); -// world.setBlock(i + 15, j + 8, k + 41, Blocks.bookshelf); -// world.setBlock(i + 15, j + 8, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 9, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 9, k + 16, Blocks.bookshelf); -// world.setBlock(i + 15, j + 9, k + 41, Blocks.bookshelf); -// world.setBlock(i + 15, j + 9, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 10, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 10, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 10, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 10, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 15, j + 11, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 0, k + 6, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 0, k + 7, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 7, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 2, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 2, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 2, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 2, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 2, k + 24, Blocks.bookshelf); -// world.setBlock(i + 16, j + 2, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 2, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 2, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 2, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 2, k + 32, Blocks.bookshelf); -// world.setBlock(i + 16, j + 2, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 2, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 2, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 2, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 3, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 3, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 3, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 3, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 3, k + 39, Blocks.bookshelf); -// world.setBlock(i + 16, j + 3, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 4, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 4, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 4, k + 39, Blocks.bookshelf); -// world.setBlock(i + 16, j + 4, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 5, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 5, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 5, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 5, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 5, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 5, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 5, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 5, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 7, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 7, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 7, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 7, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 7, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 7, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 8, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 8, k + 16, Blocks.bookshelf); -// world.setBlock(i + 16, j + 8, k + 41, Blocks.bookshelf); -// world.setBlock(i + 16, j + 8, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 9, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 9, k + 16, Blocks.bookshelf); -// world.setBlock(i + 16, j + 9, k + 41, Blocks.bookshelf); -// world.setBlock(i + 16, j + 9, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 10, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 10, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 10, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 10, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 10, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 10, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 16, j + 11, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 0, k + 7, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 2, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 2, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 2, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 2, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 2, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 2, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 2, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 2, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 2, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 2, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 2, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 2, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 2, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 2, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 3, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 3, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 3, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 3, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 3, k + 39, Blocks.bookshelf); -// world.setBlock(i + 17, j + 3, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 4, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 4, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 4, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 4, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 4, k + 39, Blocks.bookshelf); -// world.setBlock(i + 17, j + 4, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 5, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 5, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 5, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 5, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 5, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 5, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 7, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 7, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 7, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 8, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 8, k + 16, Blocks.bookshelf); -// world.setBlock(i + 17, j + 8, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 9, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 9, k + 16, Blocks.bookshelf); -// world.setBlock(i + 17, j + 9, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 10, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 10, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 10, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 17, j + 11, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 0, k + 7, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 2, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 2, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 2, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 2, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 2, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 2, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 3, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 4, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 5, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 5, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 5, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 5, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 5, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 7, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 7, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 7, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 7, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 7, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 7, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 8, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 8, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 8, k + 41, Blocks.bookshelf); -// world.setBlock(i + 18, j + 8, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 9, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 9, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 9, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 9, k + 41, Blocks.bookshelf); -// world.setBlock(i + 18, j + 9, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 10, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 10, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 10, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 10, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 10, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 18, j + 11, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 0, k + 7, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 2, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 2, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 2, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 2, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 2, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 2, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 2, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 2, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 3, k + 14, this.carvedLimestone); -// world.setBlock(i + 19, j + 3, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 4, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 5, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 5, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 5, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 5, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 5, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 5, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 5, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 7, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 7, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 7, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 8, k + 41, Blocks.bookshelf); -// world.setBlock(i + 19, j + 8, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 9, k + 13, this.carvedLimestone); -// world.setBlock(i + 19, j + 9, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 9, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 9, k + 41, Blocks.bookshelf); -// world.setBlock(i + 19, j + 9, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 10, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 10, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 10, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 10, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 10, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 10, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 10, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 19, j + 11, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 0, k + 7, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 2, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 2, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 2, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 2, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 2, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 2, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 3, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 4, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 5, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 5, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 5, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 5, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 5, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 7, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 7, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 7, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 7, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 7, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 7, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 8, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 8, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 8, k + 41, Blocks.bookshelf); -// world.setBlock(i + 20, j + 8, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 9, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 9, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 9, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 9, k + 41, Blocks.bookshelf); -// world.setBlock(i + 20, j + 9, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 10, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 10, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 10, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 10, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 10, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 20, j + 11, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 0, k + 7, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 2, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 2, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 2, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 2, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 2, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 2, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 2, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 2, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 2, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 2, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 2, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 2, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 2, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 2, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 3, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 3, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 3, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 3, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 3, k + 39, Blocks.bookshelf); -// world.setBlock(i + 21, j + 3, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 4, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 4, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 4, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 4, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 4, k + 39, Blocks.bookshelf); -// world.setBlock(i + 21, j + 4, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 5, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 5, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 5, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 5, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 5, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 5, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 6, k + 9, this.largeLimestoneBricks); -// this.generate3(world, rand, i, j, k); -// return true; -// } -// -// public boolean generate3(World world, Random rand, int i, int j, int k) { -// world.setBlock(i + 21, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 7, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 7, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 7, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 8, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 8, k + 16, Blocks.bookshelf); -// world.setBlock(i + 21, j + 8, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 9, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 9, k + 16, Blocks.bookshelf); -// world.setBlock(i + 21, j + 9, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 10, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 10, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 10, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 21, j + 11, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 0, k + 6, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 0, k + 7, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 7, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 2, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 2, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 2, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 2, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 2, k + 24, Blocks.bookshelf); -// world.setBlock(i + 22, j + 2, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 2, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 2, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 2, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 2, k + 32, Blocks.bookshelf); -// world.setBlock(i + 22, j + 2, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 2, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 2, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 2, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 3, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 3, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 3, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 3, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 3, k + 39, Blocks.bookshelf); -// world.setBlock(i + 22, j + 3, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 4, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 4, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 4, k + 39, Blocks.bookshelf); -// world.setBlock(i + 22, j + 4, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 5, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 5, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 5, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 5, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 5, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 5, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 5, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 5, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 7, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 7, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 7, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 7, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 7, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 7, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 8, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 8, k + 16, Blocks.bookshelf); -// world.setBlock(i + 22, j + 8, k + 41, Blocks.bookshelf); -// world.setBlock(i + 22, j + 8, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 9, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 9, k + 16, Blocks.bookshelf); -// world.setBlock(i + 22, j + 9, k + 41, Blocks.bookshelf); -// world.setBlock(i + 22, j + 9, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 10, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 10, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 10, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 10, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 10, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 10, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 22, j + 11, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 0, k + 0, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 0, k + 1, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 0, k + 2, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 0, k + 3, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 0, k + 4, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 0, k + 5, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 0, k + 6, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 0, k + 7, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 1, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 2, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 3, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 4, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 5, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 6, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 7, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 2, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 2, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 2, k + 24, Blocks.bookshelf); -// world.setBlock(i + 23, j + 2, k + 25, Blocks.bookshelf); -// world.setBlock(i + 23, j + 2, k + 31, Blocks.bookshelf); -// world.setBlock(i + 23, j + 2, k + 32, Blocks.bookshelf); -// world.setBlock(i + 23, j + 2, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 2, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 3, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 3, k + 39, Blocks.bookshelf); -// world.setBlock(i + 23, j + 3, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 4, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 4, k + 39, Blocks.bookshelf); -// world.setBlock(i + 23, j + 4, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 5, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 5, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 5, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 5, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 7, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 7, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 7, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 7, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 8, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 8, k + 16, Blocks.bookshelf); -// world.setBlock(i + 23, j + 8, k + 41, Blocks.bookshelf); -// world.setBlock(i + 23, j + 8, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 9, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 9, k + 16, Blocks.bookshelf); -// world.setBlock(i + 23, j + 9, k + 41, Blocks.bookshelf); -// world.setBlock(i + 23, j + 9, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 10, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 10, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 10, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 10, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 23, j + 11, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 0, k + 0, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 0, k + 1, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 0, k + 2, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 0, k + 3, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 0, k + 4, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 0, k + 5, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 0, k + 6, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 0, k + 7, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 1, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 2, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 3, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 4, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 5, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 6, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 7, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 2, k + 4, Blocks.netherrack); -// world.setBlock(i + 24, j + 2, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 2, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 3, k + 4, Blocks.fire); -// world.setBlock(i + 24, j + 3, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 3, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 4, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 4, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 5, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 5, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 7, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 7, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 7, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 8, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 8, k + 41, Blocks.bookshelf); -// world.setBlock(i + 24, j + 8, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 9, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 9, k + 41, Blocks.bookshelf); -// world.setBlock(i + 24, j + 9, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 10, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 10, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 10, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 24, j + 11, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 0, k + 0, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 0, k + 1, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 0, k + 2, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 0, k + 3, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 0, k + 4, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 0, k + 5, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 0, k + 6, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 0, k + 7, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 1, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 2, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 3, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 4, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 5, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 6, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 7, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 2, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 2, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 2, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 2, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 2, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 2, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 3, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 3, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 4, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 4, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 5, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 5, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 5, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 5, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 5, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 5, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 7, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 7, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 7, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 7, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 7, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 8, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 8, k + 16, Blocks.bookshelf); -// world.setBlock(i + 25, j + 8, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 9, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 9, k + 16, Blocks.bookshelf); -// world.setBlock(i + 25, j + 9, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 10, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 10, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 10, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 10, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 10, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 25, j + 11, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 2, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 2, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 3, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 3, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 4, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 4, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 5, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 5, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 7, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 7, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 7, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 8, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 8, k + 16, Blocks.bookshelf); -// world.setBlock(i + 26, j + 8, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 9, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 9, k + 16, Blocks.bookshelf); -// world.setBlock(i + 26, j + 9, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 10, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 10, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 10, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 26, j + 11, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 2, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 2, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 2, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 2, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 3, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 3, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 4, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 4, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 5, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 5, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 5, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 5, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 7, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 7, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 7, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 7, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 7, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 8, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 8, k + 16, Blocks.bookshelf); -// world.setBlock(i + 27, j + 8, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 9, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 9, k + 16, Blocks.bookshelf); -// world.setBlock(i + 27, j + 9, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 10, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 10, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 10, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 10, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 10, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 27, j + 11, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 2, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 2, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 2, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 2, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 2, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 2, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 2, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 2, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 2, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 2, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 2, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 2, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 2, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 2, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 2, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 2, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 3, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 3, k + 22, Blocks.bookshelf); -// world.setBlock(i + 28, j + 3, k + 23, Blocks.bookshelf); -// world.setBlock(i + 28, j + 3, k + 24, Blocks.bookshelf); -// world.setBlock(i + 28, j + 3, k + 25, Blocks.bookshelf); -// world.setBlock(i + 28, j + 3, k + 26, Blocks.bookshelf); -// world.setBlock(i + 28, j + 3, k + 30, Blocks.bookshelf); -// world.setBlock(i + 28, j + 3, k + 31, Blocks.bookshelf); -// world.setBlock(i + 28, j + 3, k + 32, Blocks.bookshelf); -// world.setBlock(i + 28, j + 3, k + 33, Blocks.bookshelf); -// world.setBlock(i + 28, j + 3, k + 34, Blocks.bookshelf); -// world.setBlock(i + 28, j + 3, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 4, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 4, k + 22, Blocks.bookshelf); -// world.setBlock(i + 28, j + 4, k + 23, Blocks.bookshelf); -// world.setBlock(i + 28, j + 4, k + 24, Blocks.bookshelf); -// world.setBlock(i + 28, j + 4, k + 25, Blocks.bookshelf); -// world.setBlock(i + 28, j + 4, k + 26, Blocks.bookshelf); -// world.setBlock(i + 28, j + 4, k + 30, Blocks.bookshelf); -// world.setBlock(i + 28, j + 4, k + 31, Blocks.bookshelf); -// world.setBlock(i + 28, j + 4, k + 32, Blocks.bookshelf); -// world.setBlock(i + 28, j + 4, k + 33, Blocks.bookshelf); -// world.setBlock(i + 28, j + 4, k + 34, Blocks.bookshelf); -// world.setBlock(i + 28, j + 4, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 5, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 5, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 5, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 5, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 5, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 5, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 5, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 5, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 5, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 5, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 5, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 5, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 5, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 5, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 5, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 5, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 7, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 7, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 7, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 7, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 8, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 8, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 9, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 9, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 10, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 10, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 10, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 10, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 28, j + 11, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 2, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 2, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 2, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 2, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 2, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 2, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 2, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 3, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 3, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 3, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 3, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 3, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 3, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 4, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 4, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 4, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 4, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 4, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 5, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 5, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 5, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 5, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 7, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 7, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 7, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 8, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 8, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 9, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 9, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 10, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 10, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 10, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 29, j + 11, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 2, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 2, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 2, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 2, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 2, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 2, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 2, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 3, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 3, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 3, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 3, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 3, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 3, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 4, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 4, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 4, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 4, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 4, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 5, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 5, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 5, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 5, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 7, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 7, k + 16, Blocks.netherrack); -// world.setBlock(i + 30, j + 7, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 7, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 7, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 7, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 7, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 7, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 7, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 7, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 7, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 7, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 7, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 7, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 7, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 7, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 8, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 8, k + 16, Blocks.fire); -// world.setBlock(i + 30, j + 8, k + 19, Blocks.bookshelf); -// world.setBlock(i + 30, j + 8, k + 20, Blocks.bookshelf); -// world.setBlock(i + 30, j + 8, k + 21, Blocks.bookshelf); -// world.setBlock(i + 30, j + 8, k + 23, Blocks.bookshelf); -// world.setBlock(i + 30, j + 8, k + 24, Blocks.bookshelf); -// world.setBlock(i + 30, j + 8, k + 25, Blocks.bookshelf); -// world.setBlock(i + 30, j + 8, k + 27, Blocks.bookshelf); -// world.setBlock(i + 30, j + 8, k + 28, Blocks.bookshelf); -// world.setBlock(i + 30, j + 8, k + 29, Blocks.bookshelf); -// world.setBlock(i + 30, j + 8, k + 31, Blocks.bookshelf); -// world.setBlock(i + 30, j + 8, k + 32, Blocks.bookshelf); -// world.setBlock(i + 30, j + 8, k + 33, Blocks.bookshelf); -// world.setBlock(i + 30, j + 8, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 9, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 9, k + 19, Blocks.bookshelf); -// world.setBlock(i + 30, j + 9, k + 20, Blocks.bookshelf); -// world.setBlock(i + 30, j + 9, k + 21, Blocks.bookshelf); -// world.setBlock(i + 30, j + 9, k + 23, Blocks.bookshelf); -// world.setBlock(i + 30, j + 9, k + 24, Blocks.bookshelf); -// world.setBlock(i + 30, j + 9, k + 25, Blocks.bookshelf); -// world.setBlock(i + 30, j + 9, k + 27, Blocks.bookshelf); -// world.setBlock(i + 30, j + 9, k + 28, Blocks.bookshelf); -// world.setBlock(i + 30, j + 9, k + 29, Blocks.bookshelf); -// world.setBlock(i + 30, j + 9, k + 31, Blocks.bookshelf); -// world.setBlock(i + 30, j + 9, k + 32, Blocks.bookshelf); -// world.setBlock(i + 30, j + 9, k + 33, Blocks.bookshelf); -// world.setBlock(i + 30, j + 9, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 10, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 10, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 10, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 10, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 10, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 10, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 10, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 10, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 10, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 10, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 10, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 10, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 10, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 10, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 10, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 10, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 30, j + 11, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 2, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 30, this.largeLimestoneBricks); -// this.generate4(world, rand, i, j, k); -// return true; -// } -// -// public boolean generate4(World world, Random rand, int i, int j, int k) { -// world.setBlock(i + 31, j + 3, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 5, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 7, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 8, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 8, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 8, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 8, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 8, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 8, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 8, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 8, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 8, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 8, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 8, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 8, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 8, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 8, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 8, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 8, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 8, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 8, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 8, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 8, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 8, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 8, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 8, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 8, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 8, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 8, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 8, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 8, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 10, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 31, j + 11, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 2, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 2, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 2, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 2, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 2, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 2, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 2, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 2, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 2, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 2, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 5, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 5, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 5, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 5, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 5, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 5, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 5, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 5, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 5, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 5, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 7, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 7, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 7, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 7, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 7, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 7, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 7, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 7, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 7, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 7, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 10, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 10, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 10, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 10, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 10, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 10, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 10, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 10, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 10, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 10, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 32, j + 11, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 33, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 2, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 2, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 5, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 5, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 34, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 35, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 36, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 2, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 2, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 2, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 2, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 2, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 2, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 2, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 2, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 2, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 2, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 2, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 2, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 2, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 2, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 5, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 5, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 5, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 5, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 5, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 5, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 5, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 5, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 5, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 5, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 5, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 5, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 5, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 5, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 37, j + 6, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 0, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 8, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 9, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 10, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 11, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 12, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 13, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 14, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 15, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 16, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 17, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 18, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 19, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 20, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 21, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 22, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 23, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 24, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 25, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 26, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 27, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 28, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 29, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 30, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 31, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 32, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 33, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 34, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 35, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 36, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 37, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 38, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 39, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 40, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 41, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 42, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 43, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 44, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 45, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 46, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 47, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 48, this.largeLimestoneBricks); -// world.setBlock(i + 38, j + 1, k + 49, this.largeLimestoneBricks); -// world.setBlock(i + 0, j + 6, k + 8, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 9, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 10, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 11, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 12, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 13, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 14, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 15, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 16, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 17, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 18, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 19, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 20, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 21, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 22, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 23, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 24, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 25, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 26, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 27, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 28, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 29, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 30, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 31, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 32, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 33, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 34, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 35, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 36, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 37, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 38, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 39, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 40, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 41, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 42, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 43, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 44, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 45, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 46, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 47, this.largeLimestoneBricksStairs); -// world.setBlock(i + 0, j + 6, k + 48, this.largeLimestoneBricksStairs); -// world.setBlockMetadataWithNotify(i + 0, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 1, j + 3, k + 9, this.smallLimestoneBricks); -// world.setBlock(i + 1, j + 3, k + 12, this.smallLimestoneBricks); -// world.setBlock(i + 1, j + 3, k + 15, this.smallLimestoneBricks); -// world.setBlock(i + 1, j + 3, k + 18, this.smallLimestoneBricks); -// world.setBlock(i + 1, j + 3, k + 21, this.smallLimestoneBricks); -// world.setBlock(i + 1, j + 3, k + 24, this.smallLimestoneBricks); -// world.setBlock(i + 1, j + 3, k + 27, this.smallLimestoneBricks); -// world.setBlock(i + 1, j + 3, k + 30, this.smallLimestoneBricks); -// world.setBlock(i + 1, j + 3, k + 33, this.smallLimestoneBricks); -// world.setBlock(i + 1, j + 3, k + 36, this.smallLimestoneBricks); -// world.setBlock(i + 1, j + 3, k + 39, this.smallLimestoneBricks); -// world.setBlock(i + 1, j + 3, k + 42, this.smallLimestoneBricks); -// world.setBlock(i + 1, j + 3, k + 45, this.smallLimestoneBricks); -// world.setBlock(i + 1, j + 3, k + 48, this.smallLimestoneBricks); -// world.setBlock(i + 1, j + 4, k + 9, this.smallLimestoneBricks); -// world.setBlock(i + 1, j + 4, k + 12, this.smallLimestoneBricks); -// world.setBlock(i + 1, j + 4, k + 15, this.smallLimestoneBricks); -// world.setBlock(i + 1, j + 4, k + 18, this.smallLimestoneBricks); -// world.setBlock(i + 1, j + 4, k + 21, this.smallLimestoneBricks); -// world.setBlock(i + 1, j + 4, k + 24, this.smallLimestoneBricks); -// world.setBlock(i + 1, j + 4, k + 27, this.smallLimestoneBricks); -// world.setBlock(i + 1, j + 4, k + 30, this.smallLimestoneBricks); -// world.setBlock(i + 1, j + 4, k + 33, this.smallLimestoneBricks); -// world.setBlock(i + 1, j + 4, k + 36, this.smallLimestoneBricks); -// world.setBlock(i + 1, j + 4, k + 39, this.smallLimestoneBricks); -// world.setBlock(i + 1, j + 4, k + 42, this.smallLimestoneBricks); -// world.setBlock(i + 1, j + 4, k + 45, this.smallLimestoneBricks); -// world.setBlock(i + 1, j + 4, k + 48, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 1, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 1, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 1, j + 7, k + 9, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 10, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 11, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 12, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 13, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 14, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 15, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 16, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 17, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 18, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 19, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 20, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 21, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 22, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 23, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 24, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 25, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 26, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 27, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 28, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 29, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 30, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 31, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 32, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 33, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 34, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 35, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 36, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 37, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 38, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 39, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 40, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 41, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 42, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 43, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 44, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 45, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 46, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 47, this.largeLimestoneBricksStairs); -// world.setBlock(i + 1, j + 7, k + 48, this.largeLimestoneBricksStairs); -// world.setBlockMetadataWithNotify(i + 2, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 2, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 2, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 2, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 3, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 3, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 3, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 3, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 4, j + 3, k + 9, this.smallLimestoneBricks); -// world.setBlock(i + 4, j + 3, k + 48, this.smallLimestoneBricks); -// world.setBlock(i + 4, j + 4, k + 9, this.smallLimestoneBricks); -// world.setBlock(i + 4, j + 4, k + 48, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 4, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 4, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 4, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 4, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 5, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 5, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 5, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 5, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 6, j + 3, k + 15, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 3, k + 18, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 3, k + 21, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 3, k + 24, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 3, k + 27, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 3, k + 30, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 3, k + 33, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 3, k + 36, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 3, k + 39, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 3, k + 42, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 4, k + 15, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 4, k + 18, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 4, k + 21, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 4, k + 24, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 4, k + 27, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 4, k + 30, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 4, k + 33, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 4, k + 36, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 4, k + 39, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 4, k + 42, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 6, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 6, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 6, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 6, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 6, j + 8, k + 15, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 8, k + 18, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 8, k + 21, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 8, k + 24, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 8, k + 27, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 8, k + 30, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 8, k + 33, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 8, k + 36, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 8, k + 39, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 8, k + 42, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 9, k + 15, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 9, k + 18, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 9, k + 21, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 9, k + 24, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 9, k + 27, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 9, k + 30, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 9, k + 33, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 9, k + 36, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 9, k + 39, this.smallLimestoneBricks); -// world.setBlock(i + 6, j + 9, k + 42, this.smallLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 9, this.smallLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 43, this.smallLimestoneBricks); -// world.setBlock(i + 7, j + 3, k + 48, this.smallLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 9, this.smallLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 43, this.smallLimestoneBricks); -// world.setBlock(i + 7, j + 4, k + 48, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 7, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 7, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 7, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 7, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 7, j + 8, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 7, j + 8, k + 43, this.smallLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 7, j + 9, k + 43, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 8, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 8, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 8, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 8, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 8, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 8, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 8, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 8, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 8, j + 7, k + 18, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 8, j + 7, k + 22, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 8, j + 7, k + 26, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 8, j + 7, k + 30, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 8, j + 7, k + 34, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 8, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 8, j + 10, k + 18, this.largeLimestoneBricksStairs, 5); -// world.setBlockMetadataWithNotify(i + 8, j + 10, k + 22, this.largeLimestoneBricksStairs, 5); -// world.setBlockMetadataWithNotify(i + 8, j + 10, k + 26, this.largeLimestoneBricksStairs, 5); -// world.setBlockMetadataWithNotify(i + 8, j + 10, k + 30, this.largeLimestoneBricksStairs, 5); -// world.setBlockMetadataWithNotify(i + 8, j + 10, k + 34, this.largeLimestoneBricksStairs, 5); -// world.setBlockMetadataWithNotify(i + 9, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 9, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 9, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 9, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 9, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 9, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 9, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 9, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 9, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 10, j + 2, k + 21, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 10, j + 2, k + 35, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 10, j + 3, k + 9, this.smallLimestoneBricks); -// world.setBlock(i + 10, j + 3, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 10, j + 3, k + 43, this.smallLimestoneBricks); -// world.setBlock(i + 10, j + 3, k + 48, this.smallLimestoneBricks); -// world.setBlock(i + 10, j + 4, k + 9, this.smallLimestoneBricks); -// world.setBlock(i + 10, j + 4, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 10, j + 4, k + 43, this.smallLimestoneBricks); -// world.setBlock(i + 10, j + 4, k + 48, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 10, j + 5, k + 21, this.largeLimestoneBricksStairs, 6); -// world.setBlockMetadataWithNotify(i + 10, j + 5, k + 27, this.largeLimestoneBricksStairs, 7); -// world.setBlockMetadataWithNotify(i + 10, j + 5, k + 29, this.largeLimestoneBricksStairs, 6); -// world.setBlockMetadataWithNotify(i + 10, j + 5, k + 35, this.largeLimestoneBricksStairs, 7); -// world.setBlockMetadataWithNotify(i + 10, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 10, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 10, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 10, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 10, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 10, j + 8, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 10, j + 8, k + 43, this.smallLimestoneBricks); -// world.setBlock(i + 10, j + 9, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 10, j + 9, k + 43, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 10, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); -// world.setBlock(i + 11, j + 3, k + 19, this.smallLimestoneBricks); -// world.setBlock(i + 11, j + 3, k + 38, this.smallLimestoneBricks); -// world.setBlock(i + 11, j + 4, k + 19, this.smallLimestoneBricks); -// world.setBlock(i + 11, j + 4, k + 38, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 11, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 11, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 11, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 11, j + 7, k + 28, Block.torchWood, 5); -// world.setBlockMetadataWithNotify(i + 11, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 11, j + 8, k + 19, this.smallLimestoneBricks); -// world.setBlock(i + 11, j + 8, k + 38, this.smallLimestoneBricks); -// world.setBlock(i + 11, j + 9, k + 19, this.smallLimestoneBricks); -// world.setBlock(i + 11, j + 9, k + 38, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 12, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 12, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 12, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 12, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 13, j + 2, k + 4, this.largeLimestoneBricksStairs); -// world.setBlock(i + 13, j + 3, k + 9, this.smallLimestoneBricks); -// world.setBlock(i + 13, j + 3, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 13, j + 3, k + 43, this.smallLimestoneBricks); -// world.setBlock(i + 13, j + 3, k + 48, this.smallLimestoneBricks); -// world.setBlock(i + 13, j + 4, k + 9, this.smallLimestoneBricks); -// world.setBlock(i + 13, j + 4, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 13, j + 4, k + 43, this.smallLimestoneBricks); -// world.setBlock(i + 13, j + 4, k + 48, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 13, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 13, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 13, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlock(i + 13, j + 7, k + 41, this.largeLimestoneBricksStairs); -// world.setBlockMetadataWithNotify(i + 13, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 13, j + 8, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 13, j + 8, k + 43, this.smallLimestoneBricks); -// world.setBlock(i + 13, j + 9, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 13, j + 9, k + 43, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 13, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); -// world.setBlockMetadataWithNotify(i + 14, j + 2, k + 3, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 14, j + 2, k + 5, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 14, j + 2, k + 39, this.largeLimestoneBricksStairs); -// world.setBlock(i + 14, j + 5, k + 39, this.largeLimestoneBricksStairs, 4); -// world.setBlock(i + 14, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlock(i + 14, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 14, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 14, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 14, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 14, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); -// world.setBlockMetadataWithNotify(i + 15, j + 2, k + 4, this.largeLimestoneBricksStairs, 1); -// world.setBlock(i + 15, j + 2, k + 26, this.largeLimestoneBricksStairs); -// world.setBlock(i + 15, j + 2, k + 30, this.largeLimestoneBricksStairs); -// world.setBlock(i + 15, j + 3, k + 24, this.largeLimestoneBricksStairs); -// world.setBlock(i + 15, j + 3, k + 25, this.largeLimestoneBricksStairs); -// world.setBlock(i + 15, j + 3, k + 31, this.largeLimestoneBricksStairs); -// world.setBlockMetadataWithNotify(i + 15, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 15, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 15, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 15, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 15, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 16, j + 2, k + 27, this.largeLimestoneBricksStairs); -// world.setBlock(i + 16, j + 2, k + 28, this.largeLimestoneBricksStairs); -// world.setBlock(i + 16, j + 2, k + 29, this.largeLimestoneBricksStairs); -// world.setBlock(i + 16, j + 3, k + 9, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 16, j + 3, k + 24, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 16, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 16, j + 3, k + 43, this.smallLimestoneBricks); -// world.setBlock(i + 16, j + 3, k + 48, this.smallLimestoneBricks); -// world.setBlock(i + 16, j + 4, k + 9, this.smallLimestoneBricks); -// world.setBlock(i + 16, j + 4, k + 43, this.smallLimestoneBricks); -// world.setBlock(i + 16, j + 4, k + 48, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 16, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 16, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 16, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 16, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 16, j + 8, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 16, j + 8, k + 43, this.smallLimestoneBricks); -// world.setBlock(i + 16, j + 9, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 16, j + 9, k + 43, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 17, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 17, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 17, j + 2, k + 24, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 17, j + 2, k + 32, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 17, j + 3, k + 12, Block.torchWood, 4); -// world.setBlockMetadataWithNotify(i + 17, j + 3, k + 26, Block.torchWood, 5); -// world.setBlockMetadataWithNotify(i + 17, j + 3, k + 30, Block.torchWood, 5); -// world.setBlockMetadataWithNotify(i + 17, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 17, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 17, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 17, j + 7, k + 41, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 17, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 17, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); -// world.setBlockMetadataWithNotify(i + 18, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 18, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); -// world.setBlock(i + 18, j + 2, k + 14, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 18, j + 2, k + 17, Block.torchWood, 5); -// world.setBlockMetadataWithNotify(i + 18, j + 2, k + 25, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 18, j + 2, k + 31, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 18, j + 3, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 18, j + 4, k + 14, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 18, j + 5, k + 39, this.largeLimestoneBricksStairs, 5); -// world.setBlockMetadataWithNotify(i + 18, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 18, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 18, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 18, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 18, j + 8, k + 13, this.smallLimestoneBricks); -// world.setBlock(i + 18, j + 8, k + 16, this.smallLimestoneBricks); -// world.setBlock(i + 18, j + 9, k + 16, this.smallLimestoneBricks); -// world.setBlock(i + 18, j + 10, k + 13, this.largeLimestoneBricksStairs); -// world.setBlockMetadataWithNotify(i + 19, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 19, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); -// world.setBlock(i + 19, j + 2, k + 14, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 19, j + 2, k + 25, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 19, j + 2, k + 31, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 19, j + 3, k + 43, this.smallLimestoneBricks); -// world.setBlock(i + 19, j + 3, k + 48, this.smallLimestoneBricks); -// world.setBlock(i + 19, j + 4, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 19, j + 4, k + 43, this.smallLimestoneBricks); -// world.setBlock(i + 19, j + 4, k + 48, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 19, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 19, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 19, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 19, j + 7, k + 19, Block.torchWood, 5); -// world.setBlockMetadataWithNotify(i + 19, j + 7, k + 38, Block.torchWood, 5); -// world.setBlockMetadataWithNotify(i + 19, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 19, j + 8, k + 43, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 19, j + 9, k + 16, this.largeLimestoneBricksStairs, 7); -// world.setBlock(i + 19, j + 9, k + 43, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 20, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 20, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); -// world.setBlock(i + 20, j + 2, k + 14, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 20, j + 2, k + 25, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 20, j + 2, k + 31, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 20, j + 3, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 20, j + 4, k + 14, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 20, j + 5, k + 39, this.largeLimestoneBricksStairs, 4); -// world.setBlockMetadataWithNotify(i + 20, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 20, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 20, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 20, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 20, j + 8, k + 13, this.smallLimestoneBricks); -// world.setBlock(i + 20, j + 8, k + 16, this.smallLimestoneBricks); -// world.setBlock(i + 20, j + 9, k + 16, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 20, j + 10, k + 13, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 21, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 21, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 21, j + 2, k + 24, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 21, j + 2, k + 32, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 21, j + 3, k + 12, Block.torchWood, 4); -// world.setBlockMetadataWithNotify(i + 21, j + 3, k + 26, Block.torchWood, 5); -// world.setBlockMetadataWithNotify(i + 21, j + 3, k + 30, Block.torchWood, 5); -// world.setBlockMetadataWithNotify(i + 21, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 21, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 21, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 21, j + 7, k + 41, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 21, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 21, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); -// world.setBlockMetadataWithNotify(i + 22, j + 2, k + 27, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 22, j + 2, k + 28, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 22, j + 2, k + 29, this.largeLimestoneBricksStairs, 1); -// world.setBlock(i + 22, j + 3, k + 9, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 22, j + 3, k + 24, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 22, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 22, j + 3, k + 43, this.smallLimestoneBricks); -// world.setBlock(i + 22, j + 3, k + 48, this.smallLimestoneBricks); -// world.setBlock(i + 22, j + 4, k + 9, this.smallLimestoneBricks); -// world.setBlock(i + 22, j + 4, k + 43, this.smallLimestoneBricks); -// world.setBlock(i + 22, j + 4, k + 48, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 22, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 22, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 22, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 22, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 22, j + 8, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 22, j + 8, k + 43, this.smallLimestoneBricks); -// world.setBlock(i + 22, j + 9, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 22, j + 9, k + 43, this.smallLimestoneBricks); -// world.setBlock(i + 23, j + 2, k + 4, this.largeLimestoneBricksStairs); -// world.setBlockMetadataWithNotify(i + 23, j + 2, k + 26, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 23, j + 2, k + 30, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 23, j + 3, k + 24, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 23, j + 3, k + 25, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 23, j + 3, k + 31, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 23, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 23, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 23, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 23, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 23, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 24, j + 2, k + 3, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 24, j + 2, k + 5, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 24, j + 2, k + 39, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 24, j + 5, k + 39, this.largeLimestoneBricksStairs, 5); -// world.setBlockMetadataWithNotify(i + 24, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 24, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 24, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 24, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 24, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 24, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); -// world.setBlockMetadataWithNotify(i + 25, j + 2, k + 4, this.largeLimestoneBricksStairs, 1); -// world.setBlock(i + 25, j + 3, k + 9, this.smallLimestoneBricks); -// world.setBlock(i + 25, j + 3, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 25, j + 3, k + 43, this.smallLimestoneBricks); -// world.setBlock(i + 25, j + 3, k + 48, this.smallLimestoneBricks); -// world.setBlock(i + 25, j + 4, k + 9, this.smallLimestoneBricks); -// world.setBlock(i + 25, j + 4, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 25, j + 4, k + 43, this.smallLimestoneBricks); -// world.setBlock(i + 25, j + 4, k + 48, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 25, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 25, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 25, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 25, j + 7, k + 41, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 25, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 25, j + 8, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 25, j + 8, k + 43, this.smallLimestoneBricks); -// world.setBlock(i + 25, j + 9, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 25, j + 9, k + 43, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 25, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); -// world.setBlockMetadataWithNotify(i + 26, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 26, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 26, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 26, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 27, j + 3, k + 19, this.smallLimestoneBricks); -// world.setBlock(i + 27, j + 3, k + 38, this.smallLimestoneBricks); -// world.setBlock(i + 27, j + 4, k + 19, this.smallLimestoneBricks); -// world.setBlock(i + 27, j + 4, k + 38, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 27, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 27, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 27, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 27, j + 7, k + 28, Block.torchWood, 5); -// world.setBlockMetadataWithNotify(i + 27, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 27, j + 8, k + 19, this.smallLimestoneBricks); -// world.setBlock(i + 27, j + 8, k + 38, this.smallLimestoneBricks); -// world.setBlock(i + 27, j + 9, k + 19, this.smallLimestoneBricks); -// world.setBlock(i + 27, j + 9, k + 38, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 28, j + 2, k + 21, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 28, j + 2, k + 35, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 28, j + 3, k + 9, this.smallLimestoneBricks); -// world.setBlock(i + 28, j + 3, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 28, j + 3, k + 43, this.smallLimestoneBricks); -// world.setBlock(i + 28, j + 3, k + 48, this.smallLimestoneBricks); -// world.setBlock(i + 28, j + 4, k + 9, this.smallLimestoneBricks); -// world.setBlock(i + 28, j + 4, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 28, j + 4, k + 43, this.smallLimestoneBricks); -// world.setBlock(i + 28, j + 4, k + 48, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 28, j + 5, k + 21, this.largeLimestoneBricksStairs, 6); -// world.setBlockMetadataWithNotify(i + 28, j + 5, k + 27, this.largeLimestoneBricksStairs, 7); -// world.setBlockMetadataWithNotify(i + 28, j + 5, k + 29, this.largeLimestoneBricksStairs, 6); -// world.setBlockMetadataWithNotify(i + 28, j + 5, k + 35, this.largeLimestoneBricksStairs, 7); -// world.setBlockMetadataWithNotify(i + 28, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 28, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 28, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 28, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 28, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 28, j + 8, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 28, j + 8, k + 43, this.smallLimestoneBricks); -// world.setBlock(i + 28, j + 9, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 28, j + 9, k + 43, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 28, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); -// world.setBlockMetadataWithNotify(i + 29, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 29, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 29, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 29, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 29, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 29, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 29, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 29, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 29, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 30, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 30, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 30, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 30, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 30, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 30, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 30, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 30, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlock(i + 30, j + 7, k + 18, this.largeLimestoneBricksStairs); -// world.setBlock(i + 30, j + 7, k + 22, this.largeLimestoneBricksStairs); -// world.setBlock(i + 30, j + 7, k + 26, this.largeLimestoneBricksStairs); -// world.setBlock(i + 30, j + 7, k + 30, this.largeLimestoneBricksStairs); -// world.setBlock(i + 30, j + 7, k + 34, this.largeLimestoneBricksStairs); -// world.setBlockMetadataWithNotify(i + 30, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 30, j + 10, k + 18, this.largeLimestoneBricksStairs, 4); -// world.setBlockMetadataWithNotify(i + 30, j + 10, k + 22, this.largeLimestoneBricksStairs, 4); -// world.setBlockMetadataWithNotify(i + 30, j + 10, k + 26, this.largeLimestoneBricksStairs, 4); -// world.setBlockMetadataWithNotify(i + 30, j + 10, k + 30, this.largeLimestoneBricksStairs, 4); -// world.setBlockMetadataWithNotify(i + 30, j + 10, k + 34, this.largeLimestoneBricksStairs, 4); -// world.setBlock(i + 31, j + 3, k + 9, this.smallLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 43, this.smallLimestoneBricks); -// world.setBlock(i + 31, j + 3, k + 48, this.smallLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 9, this.smallLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 43, this.smallLimestoneBricks); -// world.setBlock(i + 31, j + 4, k + 48, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 31, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 31, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 31, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 31, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 31, j + 8, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 31, j + 8, k + 43, this.smallLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 14, this.smallLimestoneBricks); -// world.setBlock(i + 31, j + 9, k + 43, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 3, k + 15, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 3, k + 18, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 3, k + 21, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 3, k + 24, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 3, k + 27, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 3, k + 30, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 3, k + 33, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 3, k + 36, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 3, k + 39, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 3, k + 42, this.smallLimestoneBricks); -// this.generate5(world, rand, i, j, k); -// return true; -// } -// -// public boolean generate5(World world, Random rand, int i, int j, int k) { -// world.setBlock(i + 32, j + 4, k + 15, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 4, k + 18, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 4, k + 21, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 4, k + 24, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 4, k + 27, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 4, k + 30, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 4, k + 33, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 4, k + 36, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 4, k + 39, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 4, k + 42, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 32, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 32, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 32, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 32, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 32, j + 8, k + 15, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 8, k + 18, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 8, k + 21, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 8, k + 24, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 8, k + 27, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 8, k + 30, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 8, k + 33, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 8, k + 36, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 8, k + 39, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 8, k + 42, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 9, k + 15, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 9, k + 18, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 9, k + 21, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 9, k + 24, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 9, k + 27, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 9, k + 30, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 9, k + 33, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 9, k + 36, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 9, k + 39, this.smallLimestoneBricks); -// world.setBlock(i + 32, j + 9, k + 42, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 33, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 33, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 33, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 33, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 34, j + 3, k + 9, this.smallLimestoneBricks); -// world.setBlock(i + 34, j + 3, k + 48, this.smallLimestoneBricks); -// world.setBlock(i + 34, j + 4, k + 9, this.smallLimestoneBricks); -// world.setBlock(i + 34, j + 4, k + 48, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 34, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 34, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 34, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 34, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 35, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 35, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 35, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 35, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 36, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 36, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 36, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 36, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); -// world.setBlock(i + 37, j + 3, k + 9, this.smallLimestoneBricks); -// world.setBlock(i + 37, j + 3, k + 12, this.smallLimestoneBricks); -// world.setBlock(i + 37, j + 3, k + 15, this.smallLimestoneBricks); -// world.setBlock(i + 37, j + 3, k + 18, this.smallLimestoneBricks); -// world.setBlock(i + 37, j + 3, k + 21, this.smallLimestoneBricks); -// world.setBlock(i + 37, j + 3, k + 24, this.smallLimestoneBricks); -// world.setBlock(i + 37, j + 3, k + 27, this.smallLimestoneBricks); -// world.setBlock(i + 37, j + 3, k + 30, this.smallLimestoneBricks); -// world.setBlock(i + 37, j + 3, k + 33, this.smallLimestoneBricks); -// world.setBlock(i + 37, j + 3, k + 36, this.smallLimestoneBricks); -// world.setBlock(i + 37, j + 3, k + 39, this.smallLimestoneBricks); -// world.setBlock(i + 37, j + 3, k + 42, this.smallLimestoneBricks); -// world.setBlock(i + 37, j + 3, k + 45, this.smallLimestoneBricks); -// world.setBlock(i + 37, j + 3, k + 48, this.smallLimestoneBricks); -// world.setBlock(i + 37, j + 4, k + 9, this.smallLimestoneBricks); -// world.setBlock(i + 37, j + 4, k + 12, this.smallLimestoneBricks); -// world.setBlock(i + 37, j + 4, k + 15, this.smallLimestoneBricks); -// world.setBlock(i + 37, j + 4, k + 18, this.smallLimestoneBricks); -// world.setBlock(i + 37, j + 4, k + 21, this.smallLimestoneBricks); -// world.setBlock(i + 37, j + 4, k + 24, this.smallLimestoneBricks); -// world.setBlock(i + 37, j + 4, k + 27, this.smallLimestoneBricks); -// world.setBlock(i + 37, j + 4, k + 30, this.smallLimestoneBricks); -// world.setBlock(i + 37, j + 4, k + 33, this.smallLimestoneBricks); -// world.setBlock(i + 37, j + 4, k + 36, this.smallLimestoneBricks); -// world.setBlock(i + 37, j + 4, k + 39, this.smallLimestoneBricks); -// world.setBlock(i + 37, j + 4, k + 42, this.smallLimestoneBricks); -// world.setBlock(i + 37, j + 4, k + 45, this.smallLimestoneBricks); -// world.setBlock(i + 37, j + 4, k + 48, this.smallLimestoneBricks); -// world.setBlockMetadataWithNotify(i + 37, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 37, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 10, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 11, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 12, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 13, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 14, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 15, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 16, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 17, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 18, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 19, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 20, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 21, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 22, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 23, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 24, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 25, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 26, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 27, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 28, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 29, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 30, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 31, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 32, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 33, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 34, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 35, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 36, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 37, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 38, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 39, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 40, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 41, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 42, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 43, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 44, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 45, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 46, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 47, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 37, j + 7, k + 48, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 9, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 10, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 11, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 12, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 13, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 14, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 15, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 16, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 17, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 18, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 19, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 20, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 21, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 22, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 23, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 24, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 25, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 26, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 27, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 28, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 29, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 30, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 31, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 32, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 33, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 34, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 35, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 36, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 37, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 38, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 39, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 40, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 41, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 42, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 43, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 44, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 45, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 46, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 47, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 48, this.largeLimestoneBricksStairs, 1); -// world.setBlockMetadataWithNotify(i + 38, j + 6, k + 49, this.largeLimestoneBricksStairs, 1); + world.setBlock(i + 0, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 1, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 2, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 3, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 4, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 5, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 6, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 7, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 2, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 2, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 2, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 3, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 3, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 3, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 3, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 4, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 4, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 4, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 5, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 5, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 16, Blocks.netherrack); + world.setBlock(i + 8, j + 7, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 8, k + 16, Blocks.fire); + world.setBlock(i + 8, j + 8, k + 19, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 20, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 21, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 23, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 24, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 25, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 27, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 28, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 29, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 31, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 32, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 33, Blocks.bookshelf); + world.setBlock(i + 8, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 9, k + 19, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 20, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 21, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 23, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 24, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 25, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 27, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 28, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 29, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 31, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 32, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 33, Blocks.bookshelf); + world.setBlock(i + 8, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 8, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 2, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 2, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 2, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 3, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 3, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 3, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 3, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 4, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 4, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 4, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 5, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 5, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 7, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 10, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 9, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 3, k + 22, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 23, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 24, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 25, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 26, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 30, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 31, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 32, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 33, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 34, Blocks.bookshelf); + world.setBlock(i + 10, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 4, k + 22, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 23, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 24, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 25, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 26, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 30, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 31, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 32, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 33, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 34, Blocks.bookshelf); + world.setBlock(i + 10, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 34, this.largeLimestoneBricks); + this.generate2(world, random, i, j, k); + return true; + } + + public boolean generate2(World world, Random rand, int i, int j, int k) { + world.setBlock(i + 10, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 10, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 2, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 5, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 5, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 7, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 7, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 11, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 11, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 10, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 10, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 11, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 12, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 12, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 12, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 0, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 13, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 13, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 13, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 0, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 2, k + 4, Blocks.netherrack); + world.setBlock(i + 14, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 3, k + 4, Blocks.fire); + world.setBlock(i + 14, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 8, k + 41, Blocks.bookshelf); + world.setBlock(i + 14, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 9, k + 41, Blocks.bookshelf); + world.setBlock(i + 14, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 14, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 0, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 2, k + 24, Blocks.bookshelf); + world.setBlock(i + 15, j + 2, k + 25, Blocks.bookshelf); + world.setBlock(i + 15, j + 2, k + 31, Blocks.bookshelf); + world.setBlock(i + 15, j + 2, k + 32, Blocks.bookshelf); + world.setBlock(i + 15, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 3, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 3, k + 39, Blocks.bookshelf); + world.setBlock(i + 15, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 4, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 4, k + 39, Blocks.bookshelf); + world.setBlock(i + 15, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 15, j + 8, k + 41, Blocks.bookshelf); + world.setBlock(i + 15, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 15, j + 9, k + 41, Blocks.bookshelf); + world.setBlock(i + 15, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 15, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 24, Blocks.bookshelf); + world.setBlock(i + 16, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 32, Blocks.bookshelf); + world.setBlock(i + 16, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 3, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 3, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 3, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 3, k + 39, Blocks.bookshelf); + world.setBlock(i + 16, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 4, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 4, k + 39, Blocks.bookshelf); + world.setBlock(i + 16, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 16, j + 8, k + 41, Blocks.bookshelf); + world.setBlock(i + 16, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 16, j + 9, k + 41, Blocks.bookshelf); + world.setBlock(i + 16, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 16, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 3, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 3, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 3, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 3, k + 39, Blocks.bookshelf); + world.setBlock(i + 17, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 4, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 4, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 4, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 4, k + 39, Blocks.bookshelf); + world.setBlock(i + 17, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 5, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 5, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 17, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 17, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 17, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 2, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 2, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 5, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 5, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 7, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 8, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 8, k + 41, Blocks.bookshelf); + world.setBlock(i + 18, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 9, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 9, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 9, k + 41, Blocks.bookshelf); + world.setBlock(i + 18, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 18, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 3, k + 14, this.carvedLimestone); + world.setBlock(i + 19, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 5, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 5, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 8, k + 41, Blocks.bookshelf); + world.setBlock(i + 19, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 9, k + 13, this.carvedLimestone); + world.setBlock(i + 19, j + 9, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 9, k + 41, Blocks.bookshelf); + world.setBlock(i + 19, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 10, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 19, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 2, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 2, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 5, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 5, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 7, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 8, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 8, k + 41, Blocks.bookshelf); + world.setBlock(i + 20, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 9, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 9, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 9, k + 41, Blocks.bookshelf); + world.setBlock(i + 20, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 20, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 3, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 3, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 3, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 3, k + 39, Blocks.bookshelf); + world.setBlock(i + 21, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 4, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 4, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 4, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 4, k + 39, Blocks.bookshelf); + world.setBlock(i + 21, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 5, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 5, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 9, this.largeLimestoneBricks); + this.generate3(world, rand, i, j, k); + return true; + } + + public boolean generate3(World world, Random rand, int i, int j, int k) { + world.setBlock(i + 21, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 21, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 21, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 21, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 24, Blocks.bookshelf); + world.setBlock(i + 22, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 32, Blocks.bookshelf); + world.setBlock(i + 22, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 3, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 3, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 3, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 3, k + 39, Blocks.bookshelf); + world.setBlock(i + 22, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 4, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 4, k + 39, Blocks.bookshelf); + world.setBlock(i + 22, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 22, j + 8, k + 41, Blocks.bookshelf); + world.setBlock(i + 22, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 22, j + 9, k + 41, Blocks.bookshelf); + world.setBlock(i + 22, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 22, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 0, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 2, k + 24, Blocks.bookshelf); + world.setBlock(i + 23, j + 2, k + 25, Blocks.bookshelf); + world.setBlock(i + 23, j + 2, k + 31, Blocks.bookshelf); + world.setBlock(i + 23, j + 2, k + 32, Blocks.bookshelf); + world.setBlock(i + 23, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 3, k + 39, Blocks.bookshelf); + world.setBlock(i + 23, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 4, k + 39, Blocks.bookshelf); + world.setBlock(i + 23, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 23, j + 8, k + 41, Blocks.bookshelf); + world.setBlock(i + 23, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 23, j + 9, k + 41, Blocks.bookshelf); + world.setBlock(i + 23, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 23, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 0, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 2, k + 4, Blocks.netherrack); + world.setBlock(i + 24, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 3, k + 4, Blocks.fire); + world.setBlock(i + 24, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 8, k + 41, Blocks.bookshelf); + world.setBlock(i + 24, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 9, k + 41, Blocks.bookshelf); + world.setBlock(i + 24, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 24, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 0, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 1, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 2, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 3, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 4, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 5, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 6, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 7, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 25, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 25, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 25, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 26, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 26, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 26, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 2, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 5, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 5, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 7, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 7, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 8, k + 16, Blocks.bookshelf); + world.setBlock(i + 27, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 9, k + 16, Blocks.bookshelf); + world.setBlock(i + 27, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 10, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 10, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 27, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 3, k + 22, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 23, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 24, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 25, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 26, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 30, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 31, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 32, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 33, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 34, Blocks.bookshelf); + world.setBlock(i + 28, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 4, k + 22, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 23, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 24, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 25, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 26, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 30, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 31, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 32, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 33, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 34, Blocks.bookshelf); + world.setBlock(i + 28, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 28, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 2, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 2, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 2, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 3, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 3, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 3, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 3, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 4, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 4, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 4, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 5, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 5, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 29, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 2, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 2, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 2, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 3, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 3, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 3, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 3, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 4, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 4, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 4, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 5, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 5, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 16, Blocks.netherrack); + world.setBlock(i + 30, j + 7, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 8, k + 16, Blocks.fire); + world.setBlock(i + 30, j + 8, k + 19, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 20, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 21, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 23, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 24, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 25, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 27, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 28, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 29, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 31, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 32, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 33, Blocks.bookshelf); + world.setBlock(i + 30, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 9, k + 19, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 20, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 21, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 23, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 24, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 25, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 27, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 28, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 29, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 31, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 32, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 33, Blocks.bookshelf); + world.setBlock(i + 30, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 30, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 30, this.largeLimestoneBricks); + this.generate4(world, rand, i, j, k); + return true; + } + + public boolean generate4(World world, Random rand, int i, int j, int k) { + world.setBlock(i + 31, j + 3, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 7, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 10, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 31, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 7, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 10, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 32, j + 11, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 33, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 34, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 35, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 36, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 2, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 5, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 37, j + 6, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 0, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 8, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 9, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 10, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 11, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 12, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 13, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 14, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 15, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 16, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 17, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 18, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 19, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 20, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 21, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 22, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 23, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 24, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 25, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 26, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 27, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 28, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 29, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 30, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 31, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 32, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 33, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 34, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 35, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 36, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 37, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 38, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 39, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 40, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 41, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 42, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 43, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 44, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 45, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 46, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 47, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 48, this.largeLimestoneBricks); + world.setBlock(i + 38, j + 1, k + 49, this.largeLimestoneBricks); + world.setBlock(i + 0, j + 6, k + 8, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 9, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 10, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 11, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 12, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 13, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 14, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 15, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 16, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 17, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 18, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 19, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 20, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 21, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 22, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 23, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 24, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 25, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 26, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 27, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 28, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 29, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 30, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 31, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 32, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 33, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 34, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 35, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 36, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 37, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 38, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 39, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 40, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 41, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 42, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 43, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 44, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 45, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 46, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 47, this.largeLimestoneBricksStairs); + world.setBlock(i + 0, j + 6, k + 48, this.largeLimestoneBricksStairs); + this.setBlockAndNotifyAdequately(world, i + 0, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 1, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 12, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 45, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 12, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 45, this.smallLimestoneBricks); + world.setBlock(i + 1, j + 4, k + 48, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 1, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 1, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 1, j + 7, k + 9, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 10, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 11, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 12, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 13, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 14, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 15, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 16, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 17, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 18, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 19, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 20, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 21, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 22, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 23, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 24, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 25, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 26, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 27, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 28, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 29, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 30, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 31, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 32, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 33, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 34, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 35, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 36, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 37, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 38, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 39, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 40, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 41, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 42, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 43, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 44, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 45, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 46, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 47, this.largeLimestoneBricksStairs); + world.setBlock(i + 1, j + 7, k + 48, this.largeLimestoneBricksStairs); + this.setBlockAndNotifyAdequately(world, i + 2, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 2, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 2, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 2, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 3, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 3, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 3, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 3, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 4, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 4, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 4, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 4, j + 4, k + 48, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 4, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 4, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 4, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 4, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 5, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 5, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 5, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 5, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 6, j + 3, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 3, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 4, k + 42, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 6, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 6, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 6, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 6, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 6, j + 8, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 8, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 6, j + 9, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 4, k + 48, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 7, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 7, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 7, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 7, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 7, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 7, j + 9, k + 43, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 8, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 8, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 8, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 8, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 8, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 8, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 8, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 8, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 8, j + 7, k + 18, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 8, j + 7, k + 22, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 8, j + 7, k + 26, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 8, j + 7, k + 30, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 8, j + 7, k + 34, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 8, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 8, j + 10, k + 18, this.largeLimestoneBricksStairs, 5); + this.setBlockAndNotifyAdequately(world, i + 8, j + 10, k + 22, this.largeLimestoneBricksStairs, 5); + this.setBlockAndNotifyAdequately(world, i + 8, j + 10, k + 26, this.largeLimestoneBricksStairs, 5); + this.setBlockAndNotifyAdequately(world, i + 8, j + 10, k + 30, this.largeLimestoneBricksStairs, 5); + this.setBlockAndNotifyAdequately(world, i + 8, j + 10, k + 34, this.largeLimestoneBricksStairs, 5); + this.setBlockAndNotifyAdequately(world, i + 9, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 9, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 9, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 9, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 9, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 9, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 9, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 9, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 9, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 10, j + 2, k + 21, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 10, j + 2, k + 35, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 10, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 4, k + 48, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 10, j + 5, k + 21, this.largeLimestoneBricksStairs, 6); + this.setBlockAndNotifyAdequately(world, i + 10, j + 5, k + 27, this.largeLimestoneBricksStairs, 7); + this.setBlockAndNotifyAdequately(world, i + 10, j + 5, k + 29, this.largeLimestoneBricksStairs, 6); + this.setBlockAndNotifyAdequately(world, i + 10, j + 5, k + 35, this.largeLimestoneBricksStairs, 7); + this.setBlockAndNotifyAdequately(world, i + 10, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 10, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 10, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 10, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 10, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 10, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 10, j + 9, k + 43, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 10, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); + world.setBlock(i + 11, j + 3, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 11, j + 3, k + 38, this.smallLimestoneBricks); + world.setBlock(i + 11, j + 4, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 11, j + 4, k + 38, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 11, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 11, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 11, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 11, j + 7, k + 28, Blocks.torch, 5); + this.setBlockAndNotifyAdequately(world, i + 11, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 11, j + 8, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 11, j + 8, k + 38, this.smallLimestoneBricks); + world.setBlock(i + 11, j + 9, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 11, j + 9, k + 38, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 12, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 12, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 12, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 12, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 13, j + 2, k + 4, this.largeLimestoneBricksStairs); + world.setBlock(i + 13, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 4, k + 48, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 13, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 13, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 13, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlock(i + 13, j + 7, k + 41, this.largeLimestoneBricksStairs); + this.setBlockAndNotifyAdequately(world, i + 13, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 13, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 13, j + 9, k + 43, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 13, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); + this.setBlockAndNotifyAdequately(world, i + 14, j + 2, k + 3, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 14, j + 2, k + 5, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 14, j + 2, k + 39, this.largeLimestoneBricksStairs); + this.setBlockAndNotifyAdequately(world, i + 14, j + 5, k + 39, this.largeLimestoneBricksStairs, 4); + this.setBlockAndNotifyAdequately(world, i + 14, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 14, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 14, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 14, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 14, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 14, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); + this.setBlockAndNotifyAdequately(world, i + 15, j + 2, k + 4, this.largeLimestoneBricksStairs, 1); + world.setBlock(i + 15, j + 2, k + 26, this.largeLimestoneBricksStairs); + world.setBlock(i + 15, j + 2, k + 30, this.largeLimestoneBricksStairs); + world.setBlock(i + 15, j + 3, k + 24, this.largeLimestoneBricksStairs); + world.setBlock(i + 15, j + 3, k + 25, this.largeLimestoneBricksStairs); + world.setBlock(i + 15, j + 3, k + 31, this.largeLimestoneBricksStairs); + this.setBlockAndNotifyAdequately(world, i + 15, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 15, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 15, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 15, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 15, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 16, j + 2, k + 27, this.largeLimestoneBricksStairs); + world.setBlock(i + 16, j + 2, k + 28, this.largeLimestoneBricksStairs); + world.setBlock(i + 16, j + 2, k + 29, this.largeLimestoneBricksStairs); + world.setBlock(i + 16, j + 3, k + 9, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 16, j + 3, k + 24, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 16, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 16, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 16, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 16, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 16, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 16, j + 4, k + 48, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 16, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 16, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 16, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 16, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 16, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 16, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 16, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 16, j + 9, k + 43, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 17, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 17, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 17, j + 2, k + 24, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 17, j + 2, k + 32, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 17, j + 3, k + 12, Blocks.torch, 4); + this.setBlockAndNotifyAdequately(world, i + 17, j + 3, k + 26, Blocks.torch, 5); + this.setBlockAndNotifyAdequately(world, i + 17, j + 3, k + 30, Blocks.torch, 5); + this.setBlockAndNotifyAdequately(world, i + 17, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 17, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 17, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 17, j + 7, k + 41, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 17, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 17, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); + this.setBlockAndNotifyAdequately(world, i + 18, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 18, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); + world.setBlock(i + 18, j + 2, k + 14, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 18, j + 2, k + 17, Blocks.torch, 5); + this.setBlockAndNotifyAdequately(world, i + 18, j + 2, k + 25, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 18, j + 2, k + 31, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 18, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 18, j + 4, k + 14, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 18, j + 5, k + 39, this.largeLimestoneBricksStairs, 5); + this.setBlockAndNotifyAdequately(world, i + 18, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 18, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 18, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 18, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 18, j + 8, k + 13, this.smallLimestoneBricks); + world.setBlock(i + 18, j + 8, k + 16, this.smallLimestoneBricks); + world.setBlock(i + 18, j + 9, k + 16, this.smallLimestoneBricks); + world.setBlock(i + 18, j + 10, k + 13, this.largeLimestoneBricksStairs); + this.setBlockAndNotifyAdequately(world, i + 19, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 19, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); + world.setBlock(i + 19, j + 2, k + 14, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 19, j + 2, k + 25, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 19, j + 2, k + 31, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 19, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 19, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 19, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 19, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 19, j + 4, k + 48, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 19, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 19, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 19, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 19, j + 7, k + 19, Blocks.torch, 5); + this.setBlockAndNotifyAdequately(world, i + 19, j + 7, k + 38, Blocks.torch, 5); + this.setBlockAndNotifyAdequately(world, i + 19, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 19, j + 8, k + 43, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 19, j + 9, k + 16, this.largeLimestoneBricksStairs, 7); + world.setBlock(i + 19, j + 9, k + 43, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 20, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 20, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); + world.setBlock(i + 20, j + 2, k + 14, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 20, j + 2, k + 25, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 20, j + 2, k + 31, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 20, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 20, j + 4, k + 14, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 20, j + 5, k + 39, this.largeLimestoneBricksStairs, 4); + this.setBlockAndNotifyAdequately(world, i + 20, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 20, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 20, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 20, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 20, j + 8, k + 13, this.smallLimestoneBricks); + world.setBlock(i + 20, j + 8, k + 16, this.smallLimestoneBricks); + world.setBlock(i + 20, j + 9, k + 16, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 20, j + 10, k + 13, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 21, j + 0, k + 6, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 21, j + 1, k + 7, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 21, j + 2, k + 24, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 21, j + 2, k + 32, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 21, j + 3, k + 12, Blocks.torch, 4); + this.setBlockAndNotifyAdequately(world, i + 21, j + 3, k + 26, Blocks.torch, 5); + this.setBlockAndNotifyAdequately(world, i + 21, j + 3, k + 30, Blocks.torch, 5); + this.setBlockAndNotifyAdequately(world, i + 21, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 21, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 21, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 21, j + 7, k + 41, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 21, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 21, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); + this.setBlockAndNotifyAdequately(world, i + 22, j + 2, k + 27, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 22, j + 2, k + 28, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 22, j + 2, k + 29, this.largeLimestoneBricksStairs, 1); + world.setBlock(i + 22, j + 3, k + 9, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 22, j + 3, k + 24, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 22, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 22, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 22, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 22, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 22, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 22, j + 4, k + 48, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 22, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 22, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 22, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 22, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 22, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 22, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 22, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 22, j + 9, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 23, j + 2, k + 4, this.largeLimestoneBricksStairs); + this.setBlockAndNotifyAdequately(world, i + 23, j + 2, k + 26, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 23, j + 2, k + 30, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 23, j + 3, k + 24, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 23, j + 3, k + 25, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 23, j + 3, k + 31, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 23, j + 3, k + 32, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 23, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 23, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 23, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 23, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 24, j + 2, k + 3, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 24, j + 2, k + 5, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 24, j + 2, k + 39, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 24, j + 5, k + 39, this.largeLimestoneBricksStairs, 5); + this.setBlockAndNotifyAdequately(world, i + 24, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 24, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 24, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 24, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 24, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 24, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); + this.setBlockAndNotifyAdequately(world, i + 25, j + 2, k + 4, this.largeLimestoneBricksStairs, 1); + world.setBlock(i + 25, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 4, k + 48, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 25, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 25, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 25, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 25, j + 7, k + 41, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 25, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 25, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 25, j + 9, k + 43, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 25, j + 10, k + 41, this.largeLimestoneBricksStairs, 6); + this.setBlockAndNotifyAdequately(world, i + 26, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 26, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 26, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 26, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 27, j + 3, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 27, j + 3, k + 38, this.smallLimestoneBricks); + world.setBlock(i + 27, j + 4, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 27, j + 4, k + 38, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 27, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 27, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 27, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 27, j + 7, k + 28, Blocks.torch, 5); + this.setBlockAndNotifyAdequately(world, i + 27, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 27, j + 8, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 27, j + 8, k + 38, this.smallLimestoneBricks); + world.setBlock(i + 27, j + 9, k + 19, this.smallLimestoneBricks); + world.setBlock(i + 27, j + 9, k + 38, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 28, j + 2, k + 21, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 28, j + 2, k + 35, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 28, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 4, k + 48, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 28, j + 5, k + 21, this.largeLimestoneBricksStairs, 6); + this.setBlockAndNotifyAdequately(world, i + 28, j + 5, k + 27, this.largeLimestoneBricksStairs, 7); + this.setBlockAndNotifyAdequately(world, i + 28, j + 5, k + 29, this.largeLimestoneBricksStairs, 6); + this.setBlockAndNotifyAdequately(world, i + 28, j + 5, k + 35, this.largeLimestoneBricksStairs, 7); + this.setBlockAndNotifyAdequately(world, i + 28, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 28, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 28, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 28, j + 7, k + 16, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 28, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 28, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 28, j + 9, k + 43, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 28, j + 10, k + 16, this.largeLimestoneBricksStairs, 7); + this.setBlockAndNotifyAdequately(world, i + 29, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 29, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 29, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 29, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 29, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 29, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 29, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 29, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 29, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 30, j + 2, k + 36, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 30, j + 3, k + 37, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 30, j + 4, k + 38, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 30, j + 5, k + 39, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 30, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 30, j + 6, k + 40, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 30, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 30, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + world.setBlock(i + 30, j + 7, k + 18, this.largeLimestoneBricksStairs); + world.setBlock(i + 30, j + 7, k + 22, this.largeLimestoneBricksStairs); + world.setBlock(i + 30, j + 7, k + 26, this.largeLimestoneBricksStairs); + world.setBlock(i + 30, j + 7, k + 30, this.largeLimestoneBricksStairs); + world.setBlock(i + 30, j + 7, k + 34, this.largeLimestoneBricksStairs); + this.setBlockAndNotifyAdequately(world, i + 30, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 30, j + 10, k + 18, this.largeLimestoneBricksStairs, 4); + this.setBlockAndNotifyAdequately(world, i + 30, j + 10, k + 22, this.largeLimestoneBricksStairs, 4); + this.setBlockAndNotifyAdequately(world, i + 30, j + 10, k + 26, this.largeLimestoneBricksStairs, 4); + this.setBlockAndNotifyAdequately(world, i + 30, j + 10, k + 30, this.largeLimestoneBricksStairs, 4); + this.setBlockAndNotifyAdequately(world, i + 30, j + 10, k + 34, this.largeLimestoneBricksStairs, 4); + world.setBlock(i + 31, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 4, k + 48, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 31, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 31, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 31, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 31, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 31, j + 8, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 8, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 14, this.smallLimestoneBricks); + world.setBlock(i + 31, j + 9, k + 43, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 3, k + 42, this.smallLimestoneBricks); + this.generate5(world, rand, i, j, k); + return true; + } + + public boolean generate5(World world, Random rand, int i, int j, int k) { + world.setBlock(i + 32, j + 4, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 4, k + 42, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 32, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world,i + 32, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world,i + 32, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world,i + 32, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 32, j + 8, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 8, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 32, j + 9, k + 42, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 33, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 33, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 33, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 33, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 34, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 34, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 34, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 34, j + 4, k + 48, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 34, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 34, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 34, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 34, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 35, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 35, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 35, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 35, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 36, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 36, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 36, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 36, j + 7, k + 48, this.largeLimestoneBricksStairs, 3); + world.setBlock(i + 37, j + 3, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 12, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 45, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 3, k + 48, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 9, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 12, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 15, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 18, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 21, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 24, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 27, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 30, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 33, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 36, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 39, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 42, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 45, this.smallLimestoneBricks); + world.setBlock(i + 37, j + 4, k + 48, this.smallLimestoneBricks); + this.setBlockAndNotifyAdequately(world, i + 37, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 37, j + 6, k + 49, this.largeLimestoneBricksStairs, 3); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 9, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 10, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 11, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 12, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 13, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 14, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 15, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 16, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 17, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 18, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 19, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 20, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 21, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 22, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 23, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 24, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 25, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 26, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 27, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 28, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 29, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 30, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 31, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 32, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 33, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 34, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 35, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 36, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 37, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 38, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 39, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 40, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 41, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 42, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 43, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 44, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 45, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 46, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 47, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 37, j + 7, k + 48, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 8, this.largeLimestoneBricksStairs, 2); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 9, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 10, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 11, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 12, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 13, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 14, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 15, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 16, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 17, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 18, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 19, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 20, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 21, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 22, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 23, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 24, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 25, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 26, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 27, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 28, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 29, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 30, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 31, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 32, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 33, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 34, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 35, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 36, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 37, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 38, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 39, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 40, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 41, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 42, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 43, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 44, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 45, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 46, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 47, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 48, this.largeLimestoneBricksStairs, 1); + this.setBlockAndNotifyAdequately(world, i + 38, j + 6, k + 49, this.largeLimestoneBricksStairs, 1); return true; } } From 071edb0a7df5cb4cd27f1a09896b6f184622e828 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Sun, 1 Mar 2015 11:35:31 +0300 Subject: [PATCH 099/157] Adjusts spawning rates of buildings --- .../teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java b/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java index fb5e439..93787b2 100644 --- a/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java +++ b/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java @@ -65,7 +65,7 @@ public void decorate(World par1World, Random par2Random, int par3, int par4) { (new WorldGenOasis(false)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); } - if (par2Random.nextInt(20) == 0) { + if (par2Random.nextInt(100) == 0) { k = par3 + par2Random.nextInt(16) + 8; l = par4 + par2Random.nextInt(16) + 8; this.ruinsGenerator.generate(par1World, par2Random, k, par1World.getHeightValue(k, l) + 1, l); @@ -86,13 +86,13 @@ public void decorate(World par1World, Random par2Random, int par3, int par4) { (new WorldGenAtumTrees(true)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); } - if (par2Random.nextInt(120) == 0) { + if (par2Random.nextInt(240) == 0) { k = par3 + par2Random.nextInt(16) + 8; l = par4 + par2Random.nextInt(16) + 8; (new WorldGenPyramid()).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); } - if (par2Random.nextInt(160) == 0) { + if (par2Random.nextInt(320) == 0) { k = par3 + par2Random.nextInt(16) + 8; l = par4 + par2Random.nextInt(16) + 8; height = par2Random.nextInt(10); From 40c0c0a6686d5fcbe6d6ed91665b6c4032bff51a Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Sun, 1 Mar 2015 13:16:00 +0300 Subject: [PATCH 100/157] Fixes placing Papyrus on Fertile soil --- .../atum/blocks/BlockFertileSoil.java | 15 +-------------- .../teammetallurgy/atum/blocks/BlockPapyrus.java | 8 ++------ 2 files changed, 3 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java index 87f1dc2..aa83258 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java @@ -73,20 +73,7 @@ public boolean canSustainPlant(IBlockAccess world, int x, int y, int z, ForgeDir return true; } - switch (plantType.ordinal()) { - case 1: - return false; - case 2: - return false; - case 3: - return false; - case 4: - return isSideSolid(world, x, y, z, ForgeDirection.UP); - case 5: - return true; - case 6: - return false; - case 7: + if (plantType == EnumPlantType.Beach) { boolean hasWater = (world.getBlock(x - 1, y, z).getMaterial() == Material.water) || (world.getBlock(x + 1, y, z).getMaterial() == Material.water) || (world.getBlock(x, y, z - 1).getMaterial() == Material.water) || (world.getBlock(x, y, z + 1).getMaterial() == Material.water); return hasWater; diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockPapyrus.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockPapyrus.java index 7d74eed..c4dcfbc 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockPapyrus.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockPapyrus.java @@ -119,13 +119,9 @@ public boolean canSustainPlant(IBlockAccess world, int x, int y, int z, ForgeDir EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); if (plant.getPlant(world, x, y + 1, z) == this) { return true; - } else if (plantType != EnumPlantType.Beach) { - return false; - } else { - boolean isBeach = this == Blocks.dirt || (Block) this == Blocks.sand; - boolean hasWater = world.getBlock(x - 1, y, z).getMaterial() == Material.water || world.getBlock(x + 1, y, z).getMaterial() == Material.water || world.getBlock(x, y, z - 1).getMaterial() == Material.water || world.getBlock(x, y, z + 1).getMaterial() == Material.water; - return isBeach && hasWater; } + + return false; } @Override From 6b5b3f5e57d8fd21659485bffc2f961bc3b468bc Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Sun, 1 Mar 2015 13:35:10 +0300 Subject: [PATCH 101/157] Fixes feritile soil pickup in creative --- .../com/teammetallurgy/atum/blocks/BlockFertileSoil.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java index aa83258..a0e3a8c 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java @@ -7,9 +7,12 @@ import net.minecraft.block.BlockFlower; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; +import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.EnumPlantType; @@ -87,6 +90,11 @@ public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) return Item.getItemFromBlock(AtumBlocks.BLOCK_SAND); } + @Override + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { + return new ItemStack(this); + } + @Override public IIcon getIcon(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { if (par1IBlockAccess.getBlockMetadata(par2, par3, par4) == 1) { From 72d4ae1c6dae4c1bfd631c14003ab6dc34b03116 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Sun, 1 Mar 2015 13:47:06 +0300 Subject: [PATCH 102/157] Fixes Flax plants generation in Oases --- .../teammetallurgy/atum/world/decorators/WorldGenOasis.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenOasis.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenOasis.java index fafc624..5f9212d 100644 --- a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenOasis.java +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenOasis.java @@ -158,9 +158,9 @@ public boolean generate(World world, Random par2Random, int par3, int par4, int for (dx = -1; dx <= 1; ++dx) { for (dz = -1; dz <= 1; ++dz) { int currentY = world.getHeightValue(par3 + var28, par5 + z); - Block belowID = world.getBlock(par3 + var28 + dx, currentY - 1, par5 + z + dz); - Block currentID = world.getBlock(par3 + var28 + dx, currentY, par5 + z + dz); - if (par2Random.nextInt(3) == 0 && belowID == AtumBlocks.BLOCK_FERTILESOIL && currentID == null) { + Block belowBlock = world.getBlock(par3 + var28 + dx, currentY - 1, par5 + z + dz); + Block currentBlock = world.getBlock(par3 + var28 + dx, currentY, par5 + z + dz); + if (par2Random.nextInt(3) == 0 && belowBlock == AtumBlocks.BLOCK_FERTILESOIL && currentBlock == Blocks.air) { world.setBlock(par3 + var28 + dx, currentY, par5 + z + dz, AtumBlocks.BLOCK_FLAX, 13, 0); } } From 42229c4d8fd1b5e55654c6148aa8ff0f09bf0ceb Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Sun, 1 Mar 2015 14:01:11 +0300 Subject: [PATCH 103/157] Fixes Glass breaking sound --- .../java/com/teammetallurgy/atum/blocks/BlockAtumGlass.java | 2 +- src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPane.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumGlass.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumGlass.java index 8d1ba09..53d18e4 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumGlass.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumGlass.java @@ -12,7 +12,7 @@ public class BlockAtumGlass extends BlockBreakable { public BlockAtumGlass(String texture) { super(texture, Material.glass, false); - this.setStepSound(Block.soundTypeGrass); + this.setStepSound(Block.soundTypeGlass); this.setHardness(0.3F); } diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPane.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPane.java index 6850bec..3b8d4ad 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPane.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPane.java @@ -9,7 +9,7 @@ public class BlockAtumPane extends BlockPane { protected BlockAtumPane(String par2Str, String par3Str) { super(par2Str, par3Str, Material.glass, false); this.setHardness(0.3F); - this.setStepSound(Block.soundTypeGrass); + this.setStepSound(Block.soundTypeGlass); } } From 1f58d611abe4a9c5391140c8b035683965c36198 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Sun, 1 Mar 2015 14:15:55 +0300 Subject: [PATCH 104/157] Adds ores and glass to the OreDictionary --- .../com/teammetallurgy/atum/blocks/AtumBlocks.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java index 4004e2b..2fa447d 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java @@ -5,6 +5,7 @@ import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityChestSpawner; import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityPharaohChest; import com.teammetallurgy.atum.blocks.tileentity.furnace.TileEntityLimestoneFurnace; + import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.block.Block; import net.minecraft.init.Blocks; @@ -123,6 +124,15 @@ public void registerBlocks() { OreDictionary.registerOre("logWood", BLOCK_LOG); OreDictionary.registerOre("plankWood", BLOCK_PLANKS); + OreDictionary.registerOre("oreGold", BLOCK_GOLDORE); + OreDictionary.registerOre("oreIron", BLOCK_IRONORE); + OreDictionary.registerOre("oreLapis", BLOCK_LAPISORE); + OreDictionary.registerOre("oreDiamond", BLOCK_DIAMONDORE); + OreDictionary.registerOre("oreRedstone", BLOCK_REDSTONEORE); + OreDictionary.registerOre("oreCoal", BLOCK_COALORE); + + OreDictionary.registerOre("blockGlass", BLOCK_CRYSTALGLASS); + GameRegistry.registerBlock(BLOCK_SLABS, ItemBlockSlab.class, BLOCK_SLABS.getUnlocalizedName()); GameRegistry.registerBlock(BLOCK_DOUBLESLAB, ItemBlockSlab.class, BLOCK_DOUBLESLAB.getUnlocalizedName()); From aa954cb552b2d7fc82dfda4fc77f972297fa8d32 Mon Sep 17 00:00:00 2001 From: Adaptivity Date: Sun, 1 Mar 2015 18:50:36 +0300 Subject: [PATCH 105/157] Moved README.md, added pack.mcmeta, fixes for .lang files --- README.md | 3 +++ src/main/resources/README.md | 4 ---- src/main/resources/assets/atum/lang/en_US.lang | 12 ++++++------ src/main/resources/assets/atum/lang/ru_RU.lang | 2 +- src/main/resources/mcmod.info | 2 +- src/main/resources/pack.mcmeta | 6 ++++++ 6 files changed, 17 insertions(+), 12 deletions(-) create mode 100644 README.md delete mode 100644 src/main/resources/README.md create mode 100644 src/main/resources/pack.mcmeta diff --git a/README.md b/README.md new file mode 100644 index 0000000..1840064 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +#[Atum](http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1288464-atum-journey-into-the-sands) + +Adds a new desert dimension that contains an eternal world full of sand, temples, and tons of new foes. Journey into Atum and discover ancient artifacts as you battle your way through vicious new enemies! \ No newline at end of file diff --git a/src/main/resources/README.md b/src/main/resources/README.md deleted file mode 100644 index 6ba0b10..0000000 --- a/src/main/resources/README.md +++ /dev/null @@ -1,4 +0,0 @@ -Atum -==== - -a minecraft modjam mod \ No newline at end of file diff --git a/src/main/resources/assets/atum/lang/en_US.lang b/src/main/resources/assets/atum/lang/en_US.lang index c3d5fd3..711955d 100644 --- a/src/main/resources/assets/atum/lang/en_US.lang +++ b/src/main/resources/assets/atum/lang/en_US.lang @@ -11,8 +11,8 @@ tile.cobble.name=Cracked Limestone tile.largeBrick.name=Limestone Large Bricks tile.smallBrick.name=Limestone Small Bricks tile.carvedBrick.name=Limestone Carved Bricks -tile.smoothSlab.name=Smooth-Limestone Slab -tile.crackedSlab.name=Cracked-Limestone Slab +tile.smoothSlab.name=Smooth Limestone Slab +tile.crackedSlab.name=Cracked Limestone Slab tile.largeBrickSlab.name=Large Limestone Brick Slab tile.smallBrickSlab.name=Small Limestone Brick Slab tile.doubleSlab.name=Limestone Slab @@ -22,8 +22,8 @@ tile.largeStairs.name=Limestone Large Brick Stairs tile.smallStairs.name=Limestone Small Brick Stairs tile.sandLayer.name=Sand Layer tile.crackedLargeBrick.name=Limestone Cracked Large Bricks -tile.smoothWall.name=Smooth-Limestone Wall -tile.crackedWall.name=Cracked-Limestone Wall +tile.smoothWall.name=Smooth Limestone Wall +tile.crackedWall.name=Cracked Limestone Wall tile.largeBrickWall.name=Large Limestone Brick Wall tile.smallBrickWall.name=Small Limestone Brick Wall tile.crystalGlass.name=Crystal Glass @@ -360,8 +360,8 @@ chat.atum.enemies=There are too many enemies nearby to search this chest chat.atum.summonPharaoh=was summoned by chat.atum.killPharaoh=was slain by -# Gui +# GUI atum.configGui.portalCreation=Atum Portal atum.configGui.fog=Atum Fog atum.configGui.dimensionID=Atum Dimension ID -atum.configGui.biomeID=Atum Desert Biome ID +atum.configGui.biomeID=Atum Desert Biome ID \ No newline at end of file diff --git a/src/main/resources/assets/atum/lang/ru_RU.lang b/src/main/resources/assets/atum/lang/ru_RU.lang index 117da54..ea75cd0 100644 --- a/src/main/resources/assets/atum/lang/ru_RU.lang +++ b/src/main/resources/assets/atum/lang/ru_RU.lang @@ -355,7 +355,7 @@ chat.atum.enemies=Рядом слишком много врагов, сунду chat.atum.summonPharaoh=был вызван chat.atum.killPharaoh=был убит -# Gui +# GUI atum.configGui.portalCreation=Портал «Атума» atum.configGui.fog=Туман «Атума» atum.configGui.dimensionID=ID измерения «Атума» diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index 13aa753..6f13678 100644 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -5,7 +5,7 @@ "description": "Atum is a dimension mod that opens up a whole new desert dimension that contains an eternal world full of sand, temples, and tons of new foes. Journey into Atum and discover ancient artifacts as you battle your way through vicious new enemies!\nAtum is not for the faint of heart! Bring your best armor, weapon, and food/torches before you embark!", "version": "${version}", "mcversion": "${mcversion}", - "url": "http://www.curse.com/mc-mods/minecraft/atum", + "url": "http://minecraft.curseforge.com/mc-mods/59621-atum", "updateUrl": "", "authorList": ["Shadowclaimer", "lclc98", "RebelKeithy"], "credits": "KanonBaum, Logomaster256, and DragonChef", diff --git a/src/main/resources/pack.mcmeta b/src/main/resources/pack.mcmeta new file mode 100644 index 0000000..7022643 --- /dev/null +++ b/src/main/resources/pack.mcmeta @@ -0,0 +1,6 @@ +{ + "pack": { + "pack_format": 1, + "description": "Resources used for Atum" + } +} \ No newline at end of file From bb7cb7c1c27eca42adfd11b5585face31c4e04c2 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Sun, 1 Mar 2015 21:10:45 +0300 Subject: [PATCH 106/157] Adds Stained glass --- .../atum/blocks/AtumBlocks.java | 11 +++ .../atum/blocks/BlockAtumGlassStained.java | 87 +++++++++++++++++ .../atum/blocks/BlockAtumPaneStained.java | 92 ++++++++++++++++++ .../atum/items/ItemBlockStainedGlass.java | 40 ++++++++ .../teammetallurgy/atum/utils/Constants.java | 2 + .../textures/blocks/AtumCrystalGlassBlack.png | Bin 0 -> 274 bytes .../textures/blocks/AtumCrystalGlassBlue.png | Bin 0 -> 278 bytes .../textures/blocks/AtumCrystalGlassBrown.png | Bin 0 -> 276 bytes .../textures/blocks/AtumCrystalGlassCyan.png | Bin 0 -> 278 bytes .../textures/blocks/AtumCrystalGlassGray.png | Bin 0 -> 274 bytes .../textures/blocks/AtumCrystalGlassGreen.png | Bin 0 -> 276 bytes .../blocks/AtumCrystalGlassLightBlue.png | Bin 0 -> 276 bytes .../textures/blocks/AtumCrystalGlassLime.png | Bin 0 -> 278 bytes .../blocks/AtumCrystalGlassMagenta.png | Bin 0 -> 278 bytes .../blocks/AtumCrystalGlassOrange.png | Bin 0 -> 278 bytes .../textures/blocks/AtumCrystalGlassPink.png | Bin 0 -> 277 bytes .../blocks/AtumCrystalGlassPurple.png | Bin 0 -> 278 bytes .../textures/blocks/AtumCrystalGlassRed.png | Bin 0 -> 276 bytes .../blocks/AtumCrystalGlassSilver.png | Bin 0 -> 274 bytes .../textures/blocks/AtumCrystalGlassWhite.png | Bin 0 -> 279 bytes .../blocks/AtumCrystalGlassYellow.png | Bin 0 -> 276 bytes .../textures/blocks/AtumFramedGlassBlack.png | Bin 0 -> 350 bytes .../textures/blocks/AtumFramedGlassBlue.png | Bin 0 -> 350 bytes .../textures/blocks/AtumFramedGlassBrown.png | Bin 0 -> 350 bytes .../textures/blocks/AtumFramedGlassCyan.png | Bin 0 -> 351 bytes .../textures/blocks/AtumFramedGlassGray.png | Bin 0 -> 349 bytes .../textures/blocks/AtumFramedGlassGreen.png | Bin 0 -> 351 bytes .../blocks/AtumFramedGlassLightBlue.png | Bin 0 -> 352 bytes .../textures/blocks/AtumFramedGlassLime.png | Bin 0 -> 352 bytes .../blocks/AtumFramedGlassMagenta.png | Bin 0 -> 351 bytes .../textures/blocks/AtumFramedGlassOrange.png | Bin 0 -> 352 bytes .../textures/blocks/AtumFramedGlassPink.png | Bin 0 -> 352 bytes .../textures/blocks/AtumFramedGlassPurple.png | Bin 0 -> 351 bytes .../textures/blocks/AtumFramedGlassRed.png | Bin 0 -> 351 bytes .../textures/blocks/AtumFramedGlassSilver.png | Bin 0 -> 350 bytes .../textures/blocks/AtumFramedGlassWhite.png | Bin 0 -> 367 bytes .../textures/blocks/AtumFramedGlassYellow.png | Bin 0 -> 351 bytes 37 files changed, 232 insertions(+) create mode 100644 src/main/java/com/teammetallurgy/atum/blocks/BlockAtumGlassStained.java create mode 100644 src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPaneStained.java create mode 100644 src/main/java/com/teammetallurgy/atum/items/ItemBlockStainedGlass.java create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassBlack.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassBlue.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassBrown.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassCyan.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassGray.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassGreen.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassLightBlue.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassLime.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassMagenta.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassOrange.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassPink.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassPurple.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassRed.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassSilver.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassWhite.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassYellow.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumFramedGlassBlack.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumFramedGlassBlue.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumFramedGlassBrown.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumFramedGlassCyan.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumFramedGlassGray.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumFramedGlassGreen.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumFramedGlassLightBlue.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumFramedGlassLime.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumFramedGlassMagenta.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumFramedGlassOrange.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumFramedGlassPink.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumFramedGlassPurple.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumFramedGlassRed.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumFramedGlassSilver.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumFramedGlassWhite.png create mode 100644 src/main/resources/assets/atum/textures/blocks/AtumFramedGlassYellow.png diff --git a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java index 2fa447d..92122f3 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java @@ -5,6 +5,7 @@ import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityChestSpawner; import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityPharaohChest; import com.teammetallurgy.atum.blocks.tileentity.furnace.TileEntityLimestoneFurnace; +import com.teammetallurgy.atum.items.ItemBlockStainedGlass; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.block.Block; @@ -33,7 +34,9 @@ public class AtumBlocks { public static Block BLOCK_SANDLAYERED = new BlockSandLayered(); public static Block BLOCK_CRACKEDLARGEBRICK = new BlockAtum("crackedLargeBrick").setBlockTextureName("atum:AtumCrackedLargeBrick"); public static Block BLOCK_CRYSTALGLASS = new BlockAtumGlass("atum:AtumCrystalGlass").setBlockName("crystalGlass"); + public static Block BLOCK_CRYSTALSTAINEDGLASS = new BlockAtumGlassStained("atum:AtumCrystalGlass").setBlockName("crystalStainedGlass"); public static Block BLOCK_FRAMEDGLASS = new BlockAtumGlass("atum:AtumFramedGlass").setBlockName("framedGlass"); + public static Block BLOCK_FRAMEDSTAINEDGLASS = new BlockAtumGlassStained("atum:AtumFramedGlass").setBlockName("framedStainedGlass"); public static Block BLOCK_PALMSAPLING = new BlockPalmSapling(); public static Block BLOCK_DATEBLOCK = new BlockDate(); public static Block BLOCK_SHRUB = new BlockShrub().setBlockName("shrub").setBlockTextureName("atum:Shrub"); @@ -46,7 +49,9 @@ public class AtumBlocks { public static Block BLOCK_LEAVES = new BlockLeave(); public static Block BLOCK_PLANKS = new BlockAtumPlank(); public static Block BLOCK_THINCRYSTALGLASS = new BlockAtumPane("atum:AtumCrystalGlass", "atum:thinglass_top").setBlockName("thinCrystalGlass"); + public static Block BLOCK_THINCRYSTALSTAINEDGLASS = new BlockAtumPaneStained("atum:AtumCrystalGlass", "atum:thinglass_top").setBlockName("thinCrystalStainedlass"); public static Block BLOCK_THINFRAMEDGLASS = new BlockAtumPane("atum:AtumFramedGlass", "atum:thinglass_top").setBlockName("thinFramedGlass"); + public static Block BLOCK_THINFRAMEDSTAINEDGLASS = new BlockAtumPaneStained("atum:AtumFramedGlass", "atum:thinglass_top").setBlockName("thinFramedStainedGlass"); public static Block BLOCK_TRAPARROW = new BlockBurningTrap(); public static Block BLOCK_PHARAOHCHEST = new BlockPharaohChest(); public static Block BLOCK_REDSTONEORE = new BlockAtumRedstone(); @@ -133,6 +138,12 @@ public void registerBlocks() { OreDictionary.registerOre("blockGlass", BLOCK_CRYSTALGLASS); + GameRegistry.registerBlock(BLOCK_CRYSTALSTAINEDGLASS, ItemBlockStainedGlass.class, BLOCK_CRYSTALSTAINEDGLASS.getUnlocalizedName()); + GameRegistry.registerBlock(BLOCK_FRAMEDSTAINEDGLASS, ItemBlockStainedGlass.class, BLOCK_FRAMEDSTAINEDGLASS.getUnlocalizedName()); + + GameRegistry.registerBlock(BLOCK_THINCRYSTALSTAINEDGLASS, ItemBlockStainedGlass.class, BLOCK_THINCRYSTALSTAINEDGLASS.getUnlocalizedName()); + GameRegistry.registerBlock(BLOCK_THINFRAMEDSTAINEDGLASS, ItemBlockStainedGlass.class, BLOCK_THINFRAMEDSTAINEDGLASS.getUnlocalizedName()); + GameRegistry.registerBlock(BLOCK_SLABS, ItemBlockSlab.class, BLOCK_SLABS.getUnlocalizedName()); GameRegistry.registerBlock(BLOCK_DOUBLESLAB, ItemBlockSlab.class, BLOCK_DOUBLESLAB.getUnlocalizedName()); diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumGlassStained.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumGlassStained.java new file mode 100644 index 0000000..f2b08f4 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumGlassStained.java @@ -0,0 +1,87 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.List; +import java.util.Random; + +import net.minecraft.block.BlockBreakable; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +import com.teammetallurgy.atum.Atum; +import com.teammetallurgy.atum.utils.Constants; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockAtumGlassStained extends BlockBreakable { + + private IIcon[] icons = new IIcon[16]; + private String[] colours = Constants.COLOURS; + + public BlockAtumGlassStained(String textureName) { + super(textureName, Material.glass, false); + this.setBlockTextureName(textureName); + this.setStepSound(soundTypeGlass); + this.setHardness(0.3F); + this.setCreativeTab(Atum.creativeTab); + } + + @Override + public int damageDropped(int meta) { + return meta; + } + + @Override + public int quantityDropped(Random random) { + return 0; + } + + @Override + protected boolean canSilkHarvest() { + return true; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + @SideOnly(Side.CLIENT) + @SuppressWarnings({ "rawtypes", "unchecked" }) + public void getSubBlocks(Item item, CreativeTabs tab, List list) { + for (int meta = 0; meta < colours.length; meta++) { + list.add(new ItemStack(this, 1, meta)); + } + } + + @Override + @SideOnly(Side.CLIENT) + public int getRenderBlockPass() { + return 1; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister register) { + for (int meta = 0; meta < colours.length; meta++){ + icons[meta] = register.registerIcon(getTextureName() + colours[meta]); + } + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + + if (meta < icons.length) { + return icons[meta]; + } + + return icons[0]; + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPaneStained.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPaneStained.java new file mode 100644 index 0000000..c41861b --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumPaneStained.java @@ -0,0 +1,92 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.List; + +import net.minecraft.block.BlockStainedGlassPane; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +import com.teammetallurgy.atum.Atum; +import com.teammetallurgy.atum.utils.Constants; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class BlockAtumPaneStained extends BlockStainedGlassPane { + + private IIcon[] faceIcons = new IIcon[16]; + private IIcon[] edgeIcons = new IIcon[16]; + private String[] colours = Constants.COLOURS; + + public BlockAtumPaneStained(String faceTexture, String edgeTexture) { + super(); + this.setBlockTextureName(faceTexture); + this.setHardness(0.3F); + this.setStepSound(soundTypeGlass); + this.setCreativeTab(Atum.creativeTab); + } + + @Override + public int damageDropped(int meta) { + return meta; + } + + @Override + @SideOnly(Side.CLIENT) + @SuppressWarnings({ "rawtypes", "unchecked" }) + public void getSubBlocks(Item item, CreativeTabs tab, List list) { + for (int meta = 0; meta < colours.length; meta++){ + list.add(new ItemStack(this, 1, meta)); + } + } + + @Override + @SideOnly(Side.CLIENT) + public int getRenderBlockPass() { + return 1; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister register) { + + for (int meta = 0; meta < colours.length; meta++){ + faceIcons[meta] = register.registerIcon(getTextureName() + colours[meta]); + edgeIcons[meta] = register.registerIcon("atum:thinglass_top"); + } + + blockIcon = register.registerIcon (getTextureName()); + } + + // Retrieves face icon + + @Override + @SideOnly(Side.CLIENT) + public IIcon func_149735_b(int side, int meta) { + if ( meta < colours.length) { + return faceIcons[meta]; + } + return faceIcons[0]; + } + + // gets edge icon + @Override + @SideOnly(Side.CLIENT) + public IIcon func_150104_b(int meta) { + if ( meta < colours.length) { + return edgeIcons[meta]; + } + return edgeIcons[0]; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + return this.func_149735_b(side, meta); + } + + +} diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemBlockStainedGlass.java b/src/main/java/com/teammetallurgy/atum/items/ItemBlockStainedGlass.java new file mode 100644 index 0000000..de59ae6 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/ItemBlockStainedGlass.java @@ -0,0 +1,40 @@ +package com.teammetallurgy.atum.items; + +import com.teammetallurgy.atum.utils.Constants; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +public class ItemBlockStainedGlass extends ItemBlock{ + + public ItemBlockStainedGlass(Block block) { + super(block); + this.setMaxDamage(0); + this.setHasSubtypes(true); + } + + @Override + public int getMetadata(int meta) { + return meta; + } + + @Override + public String getUnlocalizedName(ItemStack itemStack) { + if (itemStack.getItemDamage() < Constants.COLOURS.length) + return field_150939_a.getUnlocalizedName() + Constants.COLOURS[itemStack.getItemDamage()]; + + return field_150939_a.getUnlocalizedName(); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamage(int meta) + { + return this.field_150939_a.func_149735_b(2, meta); + } + +} diff --git a/src/main/java/com/teammetallurgy/atum/utils/Constants.java b/src/main/java/com/teammetallurgy/atum/utils/Constants.java index 1000adc..146b804 100644 --- a/src/main/java/com/teammetallurgy/atum/utils/Constants.java +++ b/src/main/java/com/teammetallurgy/atum/utils/Constants.java @@ -13,5 +13,7 @@ public class Constants { public static final String DEPENDENCIES = "required-after:Forge@[10.13.0.1199,);"; public static Logger LOG; + + public static final String[] COLOURS = {"Black", "Red", "Green", "Brown", "Blue", "Purple", "Cyan", "Silver", "Gray", "Pink", "Lime", "Yellow", "LightBlue", "Magenta", "Orange", "White"}; } diff --git a/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassBlack.png b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassBlack.png new file mode 100644 index 0000000000000000000000000000000000000000..bd4a0f5028cf7241ec8953990af6bbcd5570b5fe GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJ=4@yqg0@pW=|K#5DWjM6W;PR7;w16HnYaAnQbw1;lyVamOZ~7yV{-7E;HWzkzHIy zyxLJ_%3gtrMpcUwlTJ)N(79t*DQ{vg>vm>=={s*Fm?^qFVe<+RoTOS|EVE;YNXe3~ zvR}DHZEW`6RaT1dR}!;`?K^B7F1^9!>n-yGF<+-O@U!^uRr%4-EBtcd#k6<0#LT=By}Z;C1rt33 zJ=4@yqg0@pc25__5DWjM6W;PR7;w1UJ!v}U@XkccgIL0#LT=By}Z;C1rt33 zJ=4@yqg0@pR!1rt=~u{S;}EPE|=NQyg;UBRz->%knSo)f%NG!CnJe@MGw=&7}W z`?h=zKLbzhUPqT}JtWc~y=d8qNHsi)5QWdRRRb P=pY79S3j3^P60#LT=By}Z;C1rt33 zJ=4@yqg0@pc25__5DWjM6Hf9r81S%YPO!>ow)(Vea!8xZ!;HNZy$#1X0#LT=By}Z;C1rt33 zJ=4@yqg0@pW=|K#5DWjM6W;PR7;w1APOywQ<7+i@;m29bmOZ~7yV{-7E;HWzkzHIy zyqb~klpIUk2_d;NLQfnYD6Gqib&fgRbepm3bWEf5ky zaos{C{`2|YJ9w@)YjDred;W0dYTivQUvHT|i1|8AL7u^XufmUpUg7AnEc3jFuQPzo OVeoYIb6Mw<&;$V3WnG~F literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassGreen.png b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassGreen.png new file mode 100644 index 0000000000000000000000000000000000000000..ec9d6bb08a9e3afaf0a34a4e80506f37ee84c934 GIT binary patch literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJ=4@yqg0@pR!=?FD+w1rt=~u{S;}EPE|=NQyg;UBRz->%knSo)f%NG!CnJe@MGw=&7}W z`?h=zKLbzhUPqT}JtWc~y=d8qNIt*32{a$=Iv} PbP$85tDnm{r-UW|Sbkm` literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassLightBlue.png b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassLightBlue.png new file mode 100644 index 0000000000000000000000000000000000000000..cd713861fa9ba16ee8992b32320ce0efbc287c30 GIT binary patch literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJ=4@yqg0@pR!DFk zman{Dxg~9E_Fq+2ir`lglL+lQY#c7V!R6~I^8+zor#0|f`0rKtao~lz_={M#vWW*P QfevEuboFyt=akR{00E<0{Qv*} literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassLime.png b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassLime.png new file mode 100644 index 0000000000000000000000000000000000000000..b9d5668b26ae0d0a122af4989c890006d52443cc GIT binary patch literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJ=4@yqg0@pc25__5DWjM6Hf9r81S%UD)U}qJ9@$Mo=B_A!;HNZy$#1X0#LT=By}Z;C1rt33 zJ=4@yqg0@pc25__5DWjM6W;PR7;w1AUa*Wg!z;5exJ1TT`D|g4#Mk59HB-Xh6s_6& z_aMvfqthO+r=DjGOW@?&bmX&wfz7$Rxy}*E2j4Or$y{e9;oBj&vr#B@M+(0#LT=By}Z;C1rt33 zJ=4@yqg0@pc25__5DWjM6W;PR7;w1UU1`0u?eGrIQkIs6)o_d}&EP<16(~-{#1~%vN<~m0tAAHMjBy*jagl~u7&PJis9VuM*c&ybt zSw$0To&P$q@%QI{?cli9+`;NL_3?)jSJ`v|_kQ9v2;ZyufcadoK8M|fU!2oj1l+!h S7n=c{#Ng@b=d#Wzp$Py0q+o9V literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassPink.png b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassPink.png new file mode 100644 index 0000000000000000000000000000000000000000..790196d884086fcae5515724a551c3cc24b0d3fb GIT binary patch literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJ=4@yqg0@pHcuDF5DWjM6W;PR7;w1Ey=E$NtYl)}6P7l&S&yF>yy_SKsj>dX(;HF$ zn>oLAn;zspHIIAE0U?=`&gYH^6?5)dwQo4qbepl`a!jtlECJ;rX4O*#Cq?#1mibKL z(mM33?N=+0oZS6af`V(<1-W~)jz65Znm1xm)l=z&bydL!*yk*d6R276Rru?RIc||| S9j}2dV(@hJb6Mw<&;$T{Tx1~t literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassPurple.png b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassPurple.png new file mode 100644 index 0000000000000000000000000000000000000000..3c0ef87b999fd8d2433014a9a50dc51b88ca5537 GIT binary patch literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJ=4@yqg0@pc25__5DWjM6W;PR7;w1UJ(C-AIPuN` z{|8x)AD#AqJ@q_mSOO>CrX!yf3~bKj&2^4QKKPd5Nai{-3EvLEosB}NJ5spr@mQ;Q zvWh0wI{$TIf;Y5uCnO_?)}7T5WZLQ0rR0#LT=By}Z;C1rt33 zJ=4@yqg0@pR!@QoNwisdO}cot?YWi4-yZR=gr7*&;HA= zW|9AmMP`aE#~J}u8wu4Da}PMoxog$FLyYw_W7p-FT!UF6#zoAkry5eY?(r~BUed(1 zec!@5MPDn)78&qol`;+0GfYX5&!@I literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassSilver.png b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassSilver.png new file mode 100644 index 0000000000000000000000000000000000000000..585051f345cc08a57cf7e23ad22617e772a57933 GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJ=4@yqg0@pW=|K#5DWjM6TJBv3^-hD*On)}^{p~;er&>QBvJZNY5u3KyJvF#9ArIy zG_Ij}6MLihrWW?iER_Nl9jl|S3tZpypseAMQMmLOwWB?E96GfWBAd()A5dMoKzYsk z74a)h9R7UUR_X9pg;Pw+Pghnv%WBpM-208!B7Cpv3HAfQ`W$u%k6Dx&0^NlF{Idl* Ohr!d;&t;ucLK6Ua0%3Fj literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassWhite.png b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassWhite.png new file mode 100644 index 0000000000000000000000000000000000000000..07e5187ac1167f39c80f43a5553a8d8d58b3374f GIT binary patch literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=G^tAk28_ZrvZCAbW|YuPggqE`ClfZXxgG+CU+R64!{5;QX|b^2DN4hJwV*yb`^< z)Di^~Jp(<{)K;TZpqeI67sn6_|D_Y6`5Fv3SZvpde^%Qo(dITQHP!IdaTmGNuDfS) z{v2dIel$*iJyoA2E`gJ8lgcNR0;P3%vCa|62j4OrNnK|)!?#0lXQNPPOA6;b9(FxV zR@uy2_rFf8{O9w(cW_*r+`;NM{qcu0SJ`v|_kQCw2;ZyvfcapsKBry6W0w3+&7pdR SZ=V8P!{F)a=d#Wzp$PzwX<3^9 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassYellow.png b/src/main/resources/assets/atum/textures/blocks/AtumCrystalGlassYellow.png new file mode 100644 index 0000000000000000000000000000000000000000..3b3c61e709029fb3143ab78474a36393ba28f77c GIT binary patch literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJ=4@yqg0@pR!m?-DbXSo-lT{#P-v|5Ml9V;O(> z)hzVBvDj-=>uq52E|{P?kG=6>VcBb`LsHy%>7Lg%Zg`3*Z?=`zX}%&T(z(0I+ixvJSs{PJxN Qpo17ZUHx3vIVCg!0Km~-uK)l5 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassBlack.png b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassBlack.png new file mode 100644 index 0000000000000000000000000000000000000000..6618cbf32919cb5b6b191f6bbdbe91cda0fd9821 GIT binary patch literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPXH$J50z z#KM1Sup!?e1D-eLMxU6L@fjE$I&h1zlT}e{THgoOBS+3%5Z_?KetC`%>3tO7TWlrl} z;8ELpc4IBO!^xJ{Cp~!DBsDlAgu{6%-aCj_&+W0;$yy`fZL#yTFVdQ&MBb@0N&n(j{pDw literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassBlue.png b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassBlue.png new file mode 100644 index 0000000000000000000000000000000000000000..02d5c95bc78edfab89d4de0395ab39c3cc3ddf2a GIT binary patch literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPXH$J50z z#KM1Sup!?e1D-eG6^zWU7?hP2HkLUgId-%zRjy$)+-UrPX~vA-8@Hriy?C_LMbd9m z?auDUDo4K;a-2V{#h7*A_crgM?%$P?M-sOE++!spYhoMI#~ZLgO=pYRr0#>6)}hP} zzI$S~itXH`HJR^?lQe%(1~*S)*Irum{$-&3&+ zw#B!e-Pp&hkbdZEh6>wXo+&JAI&G_d4wGGv>YO`I7yK>dUXgD3lHqwk r%=hkw{frrBY(9Oh5xRaQR5EI>;l(f;tyiak{$%iU^>bP0l+XkKR=a{~ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassBrown.png b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassBrown.png new file mode 100644 index 0000000000000000000000000000000000000000..28b30cc1134cf599af3614c7e7e1ac8aa74ce6d5 GIT binary patch literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPXH$J50z z#KM1Sup!?e1D-eG6^zWU7?hP2HkLUgIf`<7yZ>NHN=kpgnserF#I4P*UOci|#G`(5 z-<_j{lOFxHX}w-LnZfiyvAxR9qmMW7B?Y_}doQ=Oxvb&zMn2s|18!GCY4Vx&BDkv~+{WBOC89 zolOY3Epxk^;fc=6wsdxp00i_>zopr0KTn^IRF3v literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassCyan.png b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassCyan.png new file mode 100644 index 0000000000000000000000000000000000000000..e8e9f25cc6c079a5d0f35db1968ff14bbec5aafb GIT binary patch literal 351 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPXH*VDx@ z#KM1Sup!?e1D-eG6^y~`5|WIaTbYHpopf|$6CW^lbhdUjif=Ido}77p)#C2g9Y%9f zeiw-!_w0I~EFbqgmFY^u`P|u0#J*ov>Nxo8S53KvMMl*Q8R-QHz7ZL|D&ozL(^j!H z%&OR(rCU@QswR7*)lBZm1u+RB(Vr4wHY=QG&vwjP!DTp+ub@xwr~8_W3bw_rGN*Mf z@VIR~yRnwt;atn>iyl0`BsDlAgu{6%-aCj_&*ib$$yy`fZL#yT!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPXH+tbA{ z#KM1Sup!?e1D-eG6^y~`5|WBS+3YG}EfEn`hr|Vht(o-`lHVP7I=^ah_v;R$IVr!3 z#E*NfI{#Q;{`69|D-GXsr#}_@{#mQbk>laj$1fI0KPbv+XfjP)XgV>5$M5z|DTb^^ zZ&z(SvekEPX@dBziYd;~i5?+Ok|RE@;LFWqTe?u|h>O($%U@6AH!gZC=_6LCv)#dX z#uc;U-((q7h1aPo8%m@tP)YEOF?_I>IrdGd(W56~9};yQKG9=;yFS`s?+H(Ki}pvm q;@$r6IwU`vm@l?@%d*^8KUl4zrX@}4opA@~O$JX_KbLh*2~7Yi&x4=< literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassGreen.png b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassGreen.png new file mode 100644 index 0000000000000000000000000000000000000000..367236f36008bd08b0c9b8d438467b5b90f379cd GIT binary patch literal 351 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPXH*VDx@ z#KM1Sup!?e1D-eG6^zWU7?hQH*2qqX2snD^k|3L1!;Bk}6^zow_S3$tvD&qxPvfxX zHvRI#IZJ-n^*=1Vsp7!<28SRJtZ^+bN-qNkERVud=} z9gJsOF+2WEmcdeZox8H3MA`zC1m76L2YZ=g-;^3XdLs5AQRm?kJ@&WjqaAEdd$L=! tKdOpg{ln{!{A^$(aO9hRzQz3c)I$ztaD0e0sx!eg_8gP literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassLightBlue.png b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassLightBlue.png new file mode 100644 index 0000000000000000000000000000000000000000..38ec40f4c5df5e5c3d5e39cec234c08526f6de3a GIT binary patch literal 352 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPXH&(p;* z#KJ%MhN0@y|9`afMR!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPXH&(p;* z#KJ%MhN0@y|9`afMRFY!a)H=4f4yI}Q@aTn$Bz8SwDrtR@!(->6&#W`HDC3J1v$>Pi>!@Yo~S+B9RKa_9D^Z=cPBZa3LV;MfN^MoId{>%Q9 rSD!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPXH*VDx@ z#KM1Sup!?e1D-eG6^y~`5|WIaTbYHpopf|$A98ne&TSMwaO6(-huK@wuULTg4 zsdi`gW0j-N_wo0CHe$>=@OqbTQTOdk!6Og${EjL9pr*4$ZBqBaLgP?o z2j4xhTg7(n(wfZo#z~sLD1)1)v#W+jTkgujvu72|Lt1Beuv@rK|DzmcV$*z4sqd*+ z2HWCW&u;8vR!BeeHA98%FV7T~HJ#dQd&(Dd@AYGwbBD>UM|IAfrwjg;a<53Ye97=U sAg1hd!+yq$Gd7>D<_KNC5-J(>O3#1if|FVdQ&MBb@01KRgd;kCd literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassOrange.png b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassOrange.png new file mode 100644 index 0000000000000000000000000000000000000000..8601194f34395e303fb6fd40f1162051e54a6a6a GIT binary patch literal 352 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPXH&(p;* z#KJ%MhN0@y|9`afMReqi=CrZOHzlnpI>FY!a)H=4f4yI}Q@aTn$Bz8SwDrtR@!(->6&#W`HDC3J1v$>Pi>!@Yo~S+B9RKa_9D^Z=cPBZa3LV;MfN^MoId{>%Q9 qSD!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPXH&(p;* z#KJ%MhN0@y|9`afMR;5;l^S;r2*$n6i1|%@;2jS_&nbbok6Uau`f_ z5+*71!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPXH*VDx@ z#KM1Sup!?e1D-eG6^y~`5fda56W%r)X%gV}c9;0Ukd&1EfYre8dvfOaRg1e{cNon{ z`CTM_+_UR_vi!W~p-fjAzUR({?8aJlhjT5jFM9C&lGNag5Dw?5c<&%yJ(tH~Cu@y_x5duWj=x`v1)MLs#CUGu rjyKO3>zOaisC@GJrpmgNtBtns>o6{KN?W@W=urkwS3j3^P6!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPXH*VDx@ z#KM1Sup!?e1D-eG6^zbT8Qt6@BCHiQDjYdC}=0@mm#BoTC#wLY^c?d|bhoo5!|uq1F)>s{@w5p2%-p^iO6d+$NqMGw1e$wPj-v; tN4w(L{_r{^Kbx2@wt2_0m8&l>PMWuxFEDt*X`n|LJYD@<);T3K0RRzLgiinf literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassSilver.png b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassSilver.png new file mode 100644 index 0000000000000000000000000000000000000000..f128a9cb1b2ce91d2dcd1191a1a2a4a6d737a901 GIT binary patch literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPXH$J50z z#KM1Sup!?e1D-eG6^y~`5|W7tZySy@32=M6|6oc=I(g&(_l+69H(uEM>cu0gMLg;^ z_uV;KIO)}AizCld=Q5f;sJ)%K^XT6_T}c8?6<;l^Ua;+ukzSDC89RLk&E%e52$K*J{V5SA}+`slgc`9L`hm-a)*2ZjZ%I)*1$B&@Z~gcy8g2 rchd#ynJ>(!d@}o}&f3h`R&|WeHoE&Bo)LZ<=uZYuS3j3^P6!lvI6;>1s;*b z3=G_YAk0{w5<>&kwYi=UH=TgZF4Hc&{S#5JNMI6tkVJh3R1p&&6cuS72| zwM4;0&p^*KwbdvUsOFZZi(`m||I}bZzC#8)Z^A1WgV`k{6BFJx9BC5Z_ICfll$4bI zfHmjL--r{Dr6q+jfl6~zeiwxw&zyDsvB13PrEFIkzUNMVD)#-eR)=HE`i{lTi7lr$ zGICvOX}#uBWN4B5+|aLORz>{Ps7JrnoweE^og4Gyf|-Pn=ue5Tm@5m{o?T!T(mKO~ z-NHTQe}^dZ`Gid!$vatR9bB@_a@&8#0ON;MMncVnY+g*)j)*eft6wmCuOF9R9wYxT zA-{J;7yj*Hy|Q{vNkg&5y5Fe>ZZnvq$^A?-^sfH3jyFDv!*I!*SJ!s|eaYbI>gTe~ HDWM4f)YXU& literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassYellow.png b/src/main/resources/assets/atum/textures/blocks/AtumFramedGlassYellow.png new file mode 100644 index 0000000000000000000000000000000000000000..689cf4f15447fcc0e3b4a6e3c1139024765dd498 GIT binary patch literal 351 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPXH*VDx@ z#KM1Sup!?e1D-eG6^zWU7?hQH*2qqX5J*aV$r111^M+?nL+{S|m)4i&g}RGh7fiJ{ z`R%D*-(->d&kgsio6WLr_LMK^-s|T!=MIxykLsK|PZ#_xFVdQ&MBb@09R>%iU0rr literal 0 HcmV?d00001 From 548b56e657b1a02632baaf3b52e3b240ea023b01 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Mon, 2 Mar 2015 04:07:33 +0300 Subject: [PATCH 107/157] Adds Localization for stained glass --- .../atum/blocks/AtumBlocks.java | 2 +- .../resources/assets/atum/lang/en_US.lang | 69 +++++++++++++++++++ 2 files changed, 70 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java index 92122f3..7576a46 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java @@ -49,7 +49,7 @@ public class AtumBlocks { public static Block BLOCK_LEAVES = new BlockLeave(); public static Block BLOCK_PLANKS = new BlockAtumPlank(); public static Block BLOCK_THINCRYSTALGLASS = new BlockAtumPane("atum:AtumCrystalGlass", "atum:thinglass_top").setBlockName("thinCrystalGlass"); - public static Block BLOCK_THINCRYSTALSTAINEDGLASS = new BlockAtumPaneStained("atum:AtumCrystalGlass", "atum:thinglass_top").setBlockName("thinCrystalStainedlass"); + public static Block BLOCK_THINCRYSTALSTAINEDGLASS = new BlockAtumPaneStained("atum:AtumCrystalGlass", "atum:thinglass_top").setBlockName("thinCrystalStainedGlass"); public static Block BLOCK_THINFRAMEDGLASS = new BlockAtumPane("atum:AtumFramedGlass", "atum:thinglass_top").setBlockName("thinFramedGlass"); public static Block BLOCK_THINFRAMEDSTAINEDGLASS = new BlockAtumPaneStained("atum:AtumFramedGlass", "atum:thinglass_top").setBlockName("thinFramedStainedGlass"); public static Block BLOCK_TRAPARROW = new BlockBurningTrap(); diff --git a/src/main/resources/assets/atum/lang/en_US.lang b/src/main/resources/assets/atum/lang/en_US.lang index 711955d..19493cf 100644 --- a/src/main/resources/assets/atum/lang/en_US.lang +++ b/src/main/resources/assets/atum/lang/en_US.lang @@ -52,6 +52,75 @@ tile.diamondOre.name=Diamond Ore tile.furnaceIdle.name=Limestone Furnace tile.furnaceBurning.name=Limestone Furnace +# Stained Glass +tile.crystalStainedGlassBlack.name=Black Stained Crystal Glass +tile.crystalStainedGlassRed.name=Red Stained Crystal Glass +tile.crystalStainedGlassGreen.name=Green Stained Crystal Glass +tile.crystalStainedGlassBrown.name=Brown Stained Crystal Glass +tile.crystalStainedGlassBlue.name=Blue Stained Crystal Glass +tile.crystalStainedGlassPurple.name=Purple Stained Crystal Glass +tile.crystalStainedGlassCyan.name=Cyan Stained Crystal Glass +tile.crystalStainedGlassSilver.name=Silver Stained Crystal Glass +tile.crystalStainedGlassGray.name=Gray Stained Crystal Glass +tile.crystalStainedGlassPink.name=Pink Stained Crystal Glass +tile.crystalStainedGlassLime.name=Lime Stained Crystal Glass +tile.crystalStainedGlassYellow.name=Yellow Stained Crystal Glass +tile.crystalStainedGlassLightBlue.name=Light Blue Stained Crystal Glass +tile.crystalStainedGlassMagenta.name=Magenta Stained Crystal Glass +tile.crystalStainedGlassOrange.name=Orange Stained Crystal Glass +tile.crystalStainedGlassWhite.name=White Stained Crystal Glass + +tile.framedStainedGlassBlack.name=Black Stained Framed Glass +tile.framedStainedGlassRed.name=Red Stained Framed Glass +tile.framedStainedGlassGreen.name=Green Stained Framed Glass +tile.framedStainedGlassBrown.name=Brown Stained Framed Glass +tile.framedStainedGlassBlue.name=Blue Stained Framed Glass +tile.framedStainedGlassPurple.name=Purple Stained Framed Glass +tile.framedStainedGlassCyan.name=Cyan Stained Framed Glass +tile.framedStainedGlassSilver.name=Silver Stained Framed Glass +tile.framedStainedGlassGray.name=Gray Stained Framed Glass +tile.framedStainedGlassPink.name=Pink Stained Framed Glass +tile.framedStainedGlassLime.name=Lime Stained Framed Glass +tile.framedStainedGlassYellow.name=Yellow Stained Framed Glass +tile.framedStainedGlassLightBlue.name=Light Blue Stained Framed Glass +tile.framedStainedGlassMagenta.name=Magenta Stained Framed Glass +tile.framedStainedGlassOrange.name=Orange Stained Framed Glass +tile.framedStainedGlassWhite.name=White Stained Framed Glass + +tile.thinCrystalStainedGlassBlack.name=Black Stained Thin Crystal Glass +tile.thinCrystalStainedGlassRed.name=Red Stained Thin Crystal Glass +tile.thinCrystalStainedGlassGreen.name=Green Stained Thin Crystal Glass +tile.thinCrystalStainedGlassBrown.name=Brown Stained Thin Crystal Glass +tile.thinCrystalStainedGlassBlue.name=Blue Stained Thin Crystal Glass +tile.thinCrystalStainedGlassPurple.name=Purple Stained Thin Crystal Glass +tile.thinCrystalStainedGlassCyan.name=Cyan Stained Thin Crystal Glass +tile.thinCrystalStainedGlassSilver.name=Silver Stained Thin Crystal Glass +tile.thinCrystalStainedGlassGray.name=Gray Stained Thin Crystal Glass +tile.thinCrystalStainedGlassPink.name=Pink Stained Thin Crystal Glass +tile.thinCrystalStainedGlassLime.name=Lime Stained Thin Crystal Glass +tile.thinCrystalStainedGlassYellow.name=Yellow Stained Thin Crystal Glass +tile.thinCrystalStainedGlassLightBlue.name=Light Blue Stained Thin Crystal Glass +tile.thinCrystalStainedGlassMagenta.name=Magenta Stained Thin Crystal Glass +tile.thinCrystalStainedGlassOrange.name=Orange Stained Thin Crystal Glass +tile.thinCrystalStainedGlassWhite.name=White Stained Thin Crystal Glass + +tile.thinFramedStainedGlassBlack.name=Black Stained Thin Framed Glass +tile.thinFramedStainedGlassRed.name=Red Stained Thin Framed Glass +tile.thinFramedStainedGlassGreen.name=Green Stained Thin Framed Glass +tile.thinFramedStainedGlassBrown.name=Brown Stained Thin Framed Glass +tile.thinFramedStainedGlassBlue.name=Blue Stained Thin Framed Glass +tile.thinFramedStainedGlassPurple.name=Purple Stained Thin Framed Glass +tile.thinFramedStainedGlassCyan.name=Cyan Stained Thin Framed Glass +tile.thinFramedStainedGlassSilver.name=Silver Stained Thin Framed Glass +tile.thinFramedStainedGlassGray.name=Gray Stained Thin Framed Glass +tile.thinFramedStainedGlassPink.name=Pink Stained Thin Framed Glass +tile.thinFramedStainedGlassLime.name=Lime Stained Thin Framed Glass +tile.thinFramedStainedGlassYellow.name=Yellow Stained Thin Framed Glass +tile.thinFramedStainedGlassLightBlue.name=Light Blue Stained Thin Framed Glass +tile.thinFramedStainedGlassMagenta.name=Magenta Stained Thin Framed Glass +tile.thinFramedStainedGlassOrange.name=Orange Stained Thin Framed Glass +tile.thinFramedStainedGlassWhite.name=White Stained Thin Framed Glass + # Containers container.limestoneFurnace=Limestone Furnace From eab5929b3a8a79e921427a6e49b4b9bbce6d595e Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Mon, 2 Mar 2015 04:28:05 +0300 Subject: [PATCH 108/157] Moves registeration of blocks with custom item classes --- .../atum/blocks/AtumBlocks.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java index 7576a46..b2f57a5 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java @@ -108,6 +108,17 @@ public void registerBlocks() { this.register(BLOCK_FURNACEIDLE); this.register(BLOCK_FURNACEBURNING); + GameRegistry.registerBlock(BLOCK_CRYSTALSTAINEDGLASS, ItemBlockStainedGlass.class, BLOCK_CRYSTALSTAINEDGLASS.getUnlocalizedName()); + GameRegistry.registerBlock(BLOCK_FRAMEDSTAINEDGLASS, ItemBlockStainedGlass.class, BLOCK_FRAMEDSTAINEDGLASS.getUnlocalizedName()); + + GameRegistry.registerBlock(BLOCK_THINCRYSTALSTAINEDGLASS, ItemBlockStainedGlass.class, BLOCK_THINCRYSTALSTAINEDGLASS.getUnlocalizedName()); + GameRegistry.registerBlock(BLOCK_THINFRAMEDSTAINEDGLASS, ItemBlockStainedGlass.class, BLOCK_THINFRAMEDSTAINEDGLASS.getUnlocalizedName()); + + GameRegistry.registerBlock(BLOCK_SLABS, ItemBlockSlab.class, BLOCK_SLABS.getUnlocalizedName()); + GameRegistry.registerBlock(BLOCK_DOUBLESLAB, ItemBlockSlab.class, BLOCK_DOUBLESLAB.getUnlocalizedName()); + + GameRegistry.registerBlock(BLOCK_WALL, ItemBlockWall.class, BLOCK_WALL.getUnlocalizedName()); + ForgeHooks.canToolHarvestBlock(BLOCK_SAND, 0, new ItemStack(Items.iron_shovel)); BLOCK_SAND.setHarvestLevel("shovel", 0); BLOCK_COALORE.setHarvestLevel("pickaxe", 0); @@ -138,16 +149,7 @@ public void registerBlocks() { OreDictionary.registerOre("blockGlass", BLOCK_CRYSTALGLASS); - GameRegistry.registerBlock(BLOCK_CRYSTALSTAINEDGLASS, ItemBlockStainedGlass.class, BLOCK_CRYSTALSTAINEDGLASS.getUnlocalizedName()); - GameRegistry.registerBlock(BLOCK_FRAMEDSTAINEDGLASS, ItemBlockStainedGlass.class, BLOCK_FRAMEDSTAINEDGLASS.getUnlocalizedName()); - - GameRegistry.registerBlock(BLOCK_THINCRYSTALSTAINEDGLASS, ItemBlockStainedGlass.class, BLOCK_THINCRYSTALSTAINEDGLASS.getUnlocalizedName()); - GameRegistry.registerBlock(BLOCK_THINFRAMEDSTAINEDGLASS, ItemBlockStainedGlass.class, BLOCK_THINFRAMEDSTAINEDGLASS.getUnlocalizedName()); - GameRegistry.registerBlock(BLOCK_SLABS, ItemBlockSlab.class, BLOCK_SLABS.getUnlocalizedName()); - GameRegistry.registerBlock(BLOCK_DOUBLESLAB, ItemBlockSlab.class, BLOCK_DOUBLESLAB.getUnlocalizedName()); - - GameRegistry.registerBlock(BLOCK_WALL, ItemBlockWall.class, BLOCK_WALL.getUnlocalizedName()); } private void register(Block b) { From 7270d093fcb36845c8c14ea7eba47c117d29734b Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Mon, 2 Mar 2015 05:45:25 +0300 Subject: [PATCH 109/157] Adds OreDictionary support --- .../atum/blocks/AtumBlocks.java | 40 ++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java index b2f57a5..b691720 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java @@ -137,8 +137,12 @@ public void registerBlocks() { GameRegistry.registerTileEntity(TileEntityBurningTrap.class, "BurningTrap"); GameRegistry.registerTileEntity(TileEntityLimestoneFurnace.class, "LimestoneFurnace"); + OreDictionary.registerOre("blockLimestone", BLOCK_STONE); + OreDictionary.registerOre("logWood", BLOCK_LOG); OreDictionary.registerOre("plankWood", BLOCK_PLANKS); + OreDictionary.registerOre("treeSapling", BLOCK_PALMSAPLING); + OreDictionary.registerOre("treeLeaves", BLOCK_LEAVES); OreDictionary.registerOre("oreGold", BLOCK_GOLDORE); OreDictionary.registerOre("oreIron", BLOCK_IRONORE); @@ -147,9 +151,43 @@ public void registerBlocks() { OreDictionary.registerOre("oreRedstone", BLOCK_REDSTONEORE); OreDictionary.registerOre("oreCoal", BLOCK_COALORE); + OreDictionary.registerOre("blockGlassColorless", BLOCK_CRYSTALGLASS); OreDictionary.registerOre("blockGlass", BLOCK_CRYSTALGLASS); - + OreDictionary.registerOre("blockGlass", new ItemStack(BLOCK_CRYSTALSTAINEDGLASS, 1, OreDictionary.WILDCARD_VALUE)); + OreDictionary.registerOre("paneGlassColorless", BLOCK_THINCRYSTALGLASS); + OreDictionary.registerOre("paneGlass", BLOCK_THINCRYSTALGLASS); + OreDictionary.registerOre("paneGlass", new ItemStack(BLOCK_FRAMEDSTAINEDGLASS, 1, OreDictionary.WILDCARD_VALUE)); + + String[] oreColours = + { + "Black", + "Red", + "Green", + "Brown", + "Blue", + "Purple", + "Cyan", + "LightGray", + "Gray", + "Pink", + "Lime", + "Yellow", + "LightBlue", + "Magenta", + "Orange", + "White" + }; + + for (int i = 0; i < oreColours.length; i++ ){ + + ItemStack glass = new ItemStack(BLOCK_CRYSTALSTAINEDGLASS, 1, i); + ItemStack pane = new ItemStack(BLOCK_FRAMEDSTAINEDGLASS, 1, i); + + OreDictionary.registerOre("blockGlass" + oreColours[i], glass); + OreDictionary.registerOre("paneGlass" + oreColours[i], pane); + } + } private void register(Block b) { From adc5cd6a1adc826be2b772ede960077070bba0c9 Mon Sep 17 00:00:00 2001 From: fewizz Date: Wed, 4 Mar 2015 14:37:19 +0300 Subject: [PATCH 110/157] Fix --- .../atum/client/render/item/RendererItemBow.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/teammetallurgy/atum/client/render/item/RendererItemBow.java b/src/main/java/com/teammetallurgy/atum/client/render/item/RendererItemBow.java index 26cd761..5c8932f 100644 --- a/src/main/java/com/teammetallurgy/atum/client/render/item/RendererItemBow.java +++ b/src/main/java/com/teammetallurgy/atum/client/render/item/RendererItemBow.java @@ -1,5 +1,6 @@ package com.teammetallurgy.atum.client.render.item; +import com.teammetallurgy.atum.entity.EntityBanditArcher; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.ItemRenderer; import net.minecraft.client.renderer.Tessellator; @@ -30,7 +31,7 @@ public void renderItem(ItemRenderType type, ItemStack item, Object... data) { renderFirstPerson = true; } - if (!renderFirstPerson && e instanceof EntityPlayer) { + if ((!renderFirstPerson) && (e instanceof EntityPlayer || e instanceof EntityBanditArcher)) { float f22 = 0.375F; GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); From 68c6c050a05319788d08a69b2ec542d2485a0f72 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Wed, 4 Mar 2015 16:37:24 +0300 Subject: [PATCH 111/157] Adds NEI as a dep --- build.gradle | 11 +++++++++++ build.properties | 3 +++ 2 files changed, 14 insertions(+) diff --git a/build.gradle b/build.gradle index 9b5bb6d..1830bbf 100644 --- a/build.gradle +++ b/build.gradle @@ -21,6 +21,11 @@ repositories { name = "Team Metallurgy Maven" url = "http://mc.aesireanempire.com/maven" } + + maven { + name = "ChickenBones" + url = "http://chickenbones.net/maven" + } } apply plugin: 'forge' @@ -41,6 +46,12 @@ minecraft { version = config.minecraft_version + "-" + config.forge_version } +dependencies { + compile "codechicken:CodeChickenLib:${config.minecraft_version}-${config.cclib_version}:dev" + compile "codechicken:CodeChickenCore:${config.minecraft_version}-${config.ccc_version}:dev" + compile "codechicken:NotEnoughItems:${config.minecraft_version}-${config.nei_version}:dev" +} + task buildInfo() { def cmd = "git rev-parse --short HEAD" def proc = cmd.execute() diff --git a/build.properties b/build.properties index 0db8af4..e2dfebe 100644 --- a/build.properties +++ b/build.properties @@ -1,3 +1,6 @@ minecraft_version=1.7.10 forge_version=10.13.2.1291 mod_version=0.6 +cclib_version=1.1.1.99 +ccc_version=1.0.4.29 +nei_version=1.0.3.74 \ No newline at end of file From af9fdbd75a83468f254568a05f5717acce37c026 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Wed, 4 Mar 2015 17:02:25 +0300 Subject: [PATCH 112/157] Hides extra blocks from creative and NEI, closes #28 --- .../atum/blocks/AtumBlocks.java | 8 ++--- .../atum/integration/NEIAtumConfig.java | 33 +++++++++++++++++++ 2 files changed, 37 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/teammetallurgy/atum/integration/NEIAtumConfig.java diff --git a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java index b691720..ee4639e 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java @@ -190,10 +190,10 @@ public void registerBlocks() { } - private void register(Block b) { - if (!(b instanceof BlockDate)) { - b.setCreativeTab(Atum.creativeTab); + private void register(Block block) { + if (!(block instanceof BlockDate) && !(block instanceof BlockFlax) && !(block instanceof BlockPapyrus) && !(block instanceof BlockPortal)) { + block.setCreativeTab(Atum.creativeTab); } - GameRegistry.registerBlock(b, b.getUnlocalizedName()); + GameRegistry.registerBlock(block, block.getUnlocalizedName()); } } diff --git a/src/main/java/com/teammetallurgy/atum/integration/NEIAtumConfig.java b/src/main/java/com/teammetallurgy/atum/integration/NEIAtumConfig.java new file mode 100644 index 0000000..0f9b4ba --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/integration/NEIAtumConfig.java @@ -0,0 +1,33 @@ +package com.teammetallurgy.atum.integration; + +import net.minecraft.item.ItemStack; +import net.minecraftforge.oredict.OreDictionary; + +import com.teammetallurgy.atum.blocks.AtumBlocks; + +import codechicken.nei.api.API; +import codechicken.nei.api.IConfigureNEI; + +public class NEIAtumConfig implements IConfigureNEI{ + + @Override + public void loadConfig() { + + // Hide not need items from NEI + API.hideItem(new ItemStack(AtumBlocks.BLOCK_DATEBLOCK, 1, OreDictionary.WILDCARD_VALUE)); + API.hideItem(new ItemStack(AtumBlocks.BLOCK_FLAX, 1, OreDictionary.WILDCARD_VALUE)); + API.hideItem(new ItemStack(AtumBlocks.BLOCK_PAPYRUS, 1, OreDictionary.WILDCARD_VALUE)); + API.hideItem(new ItemStack(AtumBlocks.BLOCK_PORTAL, 1, OreDictionary.WILDCARD_VALUE)); + } + + @Override + public String getName() { + return "Atum NEI Integration"; + } + + @Override + public String getVersion() { + return "1.0"; + } + +} From 0634ba141d09deecdadb97795db20664ddbeaba0 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Wed, 4 Mar 2015 17:55:08 +0300 Subject: [PATCH 113/157] Fixes wrong effect in Anhurs Might, releated to #27 --- .../teammetallurgy/atum/items/artifacts/ItemAnhursMight.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java index b2085e6..77fb03c 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnhursMight.java @@ -45,7 +45,7 @@ public void onUpdate(ItemStack stack, World world, Entity entity, int par4, bool if (entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) entity; if (player.getCurrentEquippedItem() != null && player.getCurrentEquippedItem().getItem() == this) { - player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 2, 0, false)); + player.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 2, 0, true)); } } From 32c443d249dcea51f4912d84494b39e41d2f32dd Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Wed, 4 Mar 2015 18:14:21 +0300 Subject: [PATCH 114/157] Fixes Horus Soaring's tooltip localization, closes #27 --- .../atum/items/artifacts/ItemHorusSoaring.java | 12 +++++++++++- src/main/resources/assets/atum/lang/en_US.lang | 7 +++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java index 8da7f38..b4ed80f 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusSoaring.java @@ -1,6 +1,7 @@ package com.teammetallurgy.atum.items.artifacts; import com.teammetallurgy.atum.entity.arrow.EntityArrowVelocity; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; @@ -12,13 +13,17 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemBow; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.ArrowLooseEvent; import java.util.List; +import org.lwjgl.input.Keyboard; + public class ItemHorusSoaring extends ItemBow { public static final String[] bowPullIconNameArray = new String[]{"HorusSoaring_pull_0", "HorusSoaring_pull_1", "HorusSoaring_pull_2"}; @@ -104,7 +109,12 @@ public EnumRarity getRarity(ItemStack par1ItemStack) { @Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - par3List.add("Velocity I"); + if (Keyboard.isKeyDown(42)) { + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line1")); + par3List.add(EnumChatFormatting.DARK_PURPLE + StatCollector.translateToLocal(this.getUnlocalizedName() + ".line2")); + } else { + par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); + } } @Override diff --git a/src/main/resources/assets/atum/lang/en_US.lang b/src/main/resources/assets/atum/lang/en_US.lang index 19493cf..09b6057 100644 --- a/src/main/resources/assets/atum/lang/en_US.lang +++ b/src/main/resources/assets/atum/lang/en_US.lang @@ -253,10 +253,9 @@ item.hedetetsSting.line1=Poison II: Chance item.hedetetsSting.line2=to poison foes item.hedetetsSting.line3=Poison II -# I need to talk to shadow -item.horusSoaring.line1=Mighty I: Slows player, -item.horusSoaring.line2=Chance to stun foes -item.horusSoaring.line3=Mighty I +item.horusSoaring.line1=Velocity I: Arrow Velocity, +item.horusSoaring.line2=increases arrow velocity by 50% +item.horusSoaring.line3=Velocity I item.shusBreath.line1=Quickdraw I: Reduced item.shusBreath.line2=drawback speed From 6900a95336adb169c3b5d5107ea237b364edfcaa Mon Sep 17 00:00:00 2001 From: Adaptivity Date: Wed, 4 Mar 2015 18:44:31 +0300 Subject: [PATCH 115/157] Update ru_RU.lang --- .../resources/assets/atum/lang/ru_RU.lang | 76 ++++++++++++++++++- 1 file changed, 72 insertions(+), 4 deletions(-) diff --git a/src/main/resources/assets/atum/lang/ru_RU.lang b/src/main/resources/assets/atum/lang/ru_RU.lang index ea75cd0..b61ba88 100644 --- a/src/main/resources/assets/atum/lang/ru_RU.lang +++ b/src/main/resources/assets/atum/lang/ru_RU.lang @@ -52,6 +52,75 @@ tile.diamondOre.name=Алмазная руда tile.furnaceIdle.name=Известняковая печь tile.furnaceBurning.name=Известняковая печь +# Stained Glass +tile.crystalStainedGlassBlack.name=Чёрное кристальное стекло +tile.crystalStainedGlassRed.name=Красное кристальное стекло +tile.crystalStainedGlassGreen.name=Зелёное кристальное стекло +tile.crystalStainedGlassBrown.name=Коричневое кристальное стекло +tile.crystalStainedGlassBlue.name=Синее кристальное стекло +tile.crystalStainedGlassPurple.name=Фиолетовое кристальное стекло +tile.crystalStainedGlassCyan.name=Бирюзовое кристальное стекло +tile.crystalStainedGlassSilver.name=Светло-серое кристальное стекло +tile.crystalStainedGlassGray.name=Серое кристальное стекло +tile.crystalStainedGlassPink.name=Розовое кристальное стекло +tile.crystalStainedGlassLime.name=Лаймовое кристальное стекло +tile.crystalStainedGlassYellow.name=Жёлтое кристальное стекло +tile.crystalStainedGlassLightBlue.name=Светло-синее кристальное стекло +tile.crystalStainedGlassMagenta.name=Сиреневое кристальное стекло +tile.crystalStainedGlassOrange.name=Оранжевое кристальное стекло +tile.crystalStainedGlassWhite.name=Белое кристальное стекло + +tile.framedStainedGlassBlack.name=Чёрное обрамленное стекло +tile.framedStainedGlassRed.name=Красное обрамленное стекло +tile.framedStainedGlassGreen.name=Зелёное обрамленное стекло +tile.framedStainedGlassBrown.name=Коричневое обрамленное стекло +tile.framedStainedGlassBlue.name=Синее обрамленное стекло +tile.framedStainedGlassPurple.name=Фиолетовое обрамленное стекло +tile.framedStainedGlassCyan.name=Бирюзовое обрамленное стекло +tile.framedStainedGlassSilver.name=Светло-серое обрамленное стекло +tile.framedStainedGlassGray.name=Серое обрамленное стекло +tile.framedStainedGlassPink.name=Розовое обрамленное стекло +tile.framedStainedGlassLime.name=Лаймовое обрамленное стекло +tile.framedStainedGlassYellow.name=Жёлтое обрамленное стекло +tile.framedStainedGlassLightBlue.name=Светло-синее обрамленное стекло +tile.framedStainedGlassMagenta.name=Сиреневое обрамленное стекло +tile.framedStainedGlassOrange.name=Оранжевое обрамленное стекло +tile.framedStainedGlassWhite.name=Белое обрамленное стекло + +tile.thinCrystalStainedGlassBlack.name=Чёрное тонкое кристальное стекло +tile.thinCrystalStainedGlassRed.name=Красное тонкое кристальное стекло +tile.thinCrystalStainedGlassGreen.name=Зелёное тонкое кристальное стекло +tile.thinCrystalStainedGlassBrown.name=Коричневое тонкое кристальное стекло +tile.thinCrystalStainedGlassBlue.name=Синее тонкое кристальное стекло +tile.thinCrystalStainedGlassPurple.name=Фиолетовое тонкое кристальное стекло +tile.thinCrystalStainedGlassCyan.name=Бирюзовое тонкое кристальное стекло +tile.thinCrystalStainedGlassSilver.name=Светло-серое тонкое кристальное стекло +tile.thinCrystalStainedGlassGray.name=Серое тонкое кристальное стекло +tile.thinCrystalStainedGlassPink.name=Розовое тонкое кристальное стекло +tile.thinCrystalStainedGlassLime.name=Лаймовое тонкое кристальное стекло +tile.thinCrystalStainedGlassYellow.name=Жёлтое тонкое кристальное стекло +tile.thinCrystalStainedGlassLightBlue.name=Светло-синее тонкое кристальное стекло +tile.thinCrystalStainedGlassMagenta.name=Сиреневое тонкое кристальное стекло +tile.thinCrystalStainedGlassOrange.name=Оранжевое тонкое кристальное стекло +tile.thinCrystalStainedGlassWhite.name=Белое тонкое кристальное стекло + +tile.thinFramedStainedGlassBlack.name=Чёрное тонкое обрамленное стекло +tile.thinFramedStainedGlassRed.name=Красное тонкое обрамленное стекло +tile.thinFramedStainedGlassGreen.name=Зелёное тонкое обрамленное стекло +tile.thinFramedStainedGlassBrown.name=Коричневое тонкое обрамленное стекло +tile.thinFramedStainedGlassBlue.name=Синее тонкое обрамленное стекло +tile.thinFramedStainedGlassPurple.name=Фиолетовое тонкое обрамленное стекло +tile.thinFramedStainedGlassCyan.name=Бирюзовое тонкое обрамленное стекло +tile.thinFramedStainedGlassSilver.name=Светло-серое тонкое обрамленное стекло +tile.thinFramedStainedGlassGray.name=Серое тонкое обрамленное стекло +tile.thinFramedStainedGlassPink.name=Розовое тонкое обрамленное стекло +tile.thinFramedStainedGlassLime.name=Лаймовое тонкое обрамленное стекло +tile.thinFramedStainedGlassYellow.name=Жёлтое тонкое обрамленное стекло +tile.thinFramedStainedGlassLightBlue.name=Светло-синее тонкое обрамленное стекло +tile.thinFramedStainedGlassMagenta.name=Сиреневое тонкое обрамленное стекло +tile.thinFramedStainedGlassOrange.name=Оранжевое тонкое обрамленное стекло +tile.thinFramedStainedGlassWhite.name=Белое тонкое обрамленное стекло + # Containers container.limestoneFurnace=Известняковая печь @@ -184,10 +253,9 @@ item.hedetetsSting.line1=Отравление II: Шанс item.hedetetsSting.line2=отравления игроков item.hedetetsSting.line3=Отравление II -# I need to talk to shadow -item.horusSoaring.line1=Могущество I: Замедляет игрока, -item.horusSoaring.line2=Шанс оглушить врагов -item.horusSoaring.line3=Могущество I +item.horusSoaring.line1=Скорость I: Скорость стрелы, +item.horusSoaring.line2=увеличивает скорость стрелы на 50% +item.horusSoaring.line3=Скорость I item.shusBreath.line1=Быстрое натяжение I: Увеличенная item.shusBreath.line2=скорость натяжения стрелы From 72635a388ee25192141edd6ea7a4deddc44278e0 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Wed, 4 Mar 2015 19:09:26 +0300 Subject: [PATCH 116/157] Fixes displaying mummy helment's overlay --- .../com/teammetallurgy/atum/handler/event/ClientEvents.java | 2 +- src/main/java/com/teammetallurgy/atum/proxy/ClientProxy.java | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/handler/event/ClientEvents.java b/src/main/java/com/teammetallurgy/atum/handler/event/ClientEvents.java index 0fcb26e..ca4dbeb 100644 --- a/src/main/java/com/teammetallurgy/atum/handler/event/ClientEvents.java +++ b/src/main/java/com/teammetallurgy/atum/handler/event/ClientEvents.java @@ -25,7 +25,7 @@ public void onRender(TickEvent.RenderTickEvent event) { int par1 = scaledresolution.getScaledWidth(); int par2 = scaledresolution.getScaledHeight(); - Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation("atum", "textures/hud/mummyblur")); + Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation("atum", "textures/hud/mummyblur.png")); Tessellator tessellator = Tessellator.instance; tessellator.startDrawingQuads(); tessellator.addVertexWithUV(0.0D, par2, -100, 0.0D, 1.0D); diff --git a/src/main/java/com/teammetallurgy/atum/proxy/ClientProxy.java b/src/main/java/com/teammetallurgy/atum/proxy/ClientProxy.java index 8b2a5bc..6947f06 100644 --- a/src/main/java/com/teammetallurgy/atum/proxy/ClientProxy.java +++ b/src/main/java/com/teammetallurgy/atum/proxy/ClientProxy.java @@ -22,7 +22,9 @@ import com.teammetallurgy.atum.entity.arrow.EntityNutsCall; import com.teammetallurgy.atum.items.AtumItems; import com.teammetallurgy.atum.handler.event.ClientEvents; + import cpw.mods.fml.client.registry.RenderingRegistry; +import cpw.mods.fml.common.FMLCommonHandler; import net.minecraft.client.model.ModelBiped; import net.minecraft.client.model.ModelZombie; import net.minecraft.client.renderer.entity.RenderBiped; @@ -38,7 +40,7 @@ public class ClientProxy extends CommonProxy { @Override public void init() { ClientEvents ticker = new ClientEvents(); - MinecraftForge.EVENT_BUS.register(ticker); + FMLCommonHandler.instance().bus().register(ticker); MinecraftForge.EVENT_BUS.register(AtumItems.anubisMercy); MinecraftForge.EVENT_BUS.register(AtumItems.gebsSolidarity); From 27b52f5cdfc55587802b228f201c5f3e8d7b30b7 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Wed, 4 Mar 2015 19:54:25 +0300 Subject: [PATCH 117/157] Fixes rod crash --- .../teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java index 71a76ce..24c98a4 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java +++ b/src/main/java/com/teammetallurgy/atum/entity/arrow/EntityAtumFishHook.java @@ -88,7 +88,7 @@ public EntityAtumFishHook(World par1World, double par2, double par4, double par6 } public EntityAtumFishHook(World par1World, EntityPlayer par2EntityPlayer) { - super(par1World); + super(par1World, par2EntityPlayer); this.xTile = -1; this.yTile = -1; this.zTile = -1; From 6ad1808bf621cc638406ee39baf80cbd96ccad16 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Thu, 5 Mar 2015 01:25:07 +0300 Subject: [PATCH 118/157] Adds hardness to dates, closes #33 --- src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java index 14b1dd0..9b71250 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockDate.java @@ -22,6 +22,7 @@ public class BlockDate extends Block { public BlockDate() { super(Material.plants); this.setBlockName("date"); + this.setHardness(0.5F); } @Override From f1b7cc70a77623a0f9f97543327a10d8d3a05670 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Thu, 5 Mar 2015 11:01:50 +0300 Subject: [PATCH 119/157] Adds recipes for Stained Glass --- .../atum/blocks/AtumBlocks.java | 21 ++----------------- .../atum/handler/CraftingHandler.java | 14 +++++++++++++ .../teammetallurgy/atum/utils/Constants.java | 2 ++ 3 files changed, 18 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java index ee4639e..9cd4c29 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java @@ -6,6 +6,7 @@ import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityPharaohChest; import com.teammetallurgy.atum.blocks.tileentity.furnace.TileEntityLimestoneFurnace; import com.teammetallurgy.atum.items.ItemBlockStainedGlass; +import com.teammetallurgy.atum.utils.Constants; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.block.Block; @@ -159,25 +160,7 @@ public void registerBlocks() { OreDictionary.registerOre("paneGlass", BLOCK_THINCRYSTALGLASS); OreDictionary.registerOre("paneGlass", new ItemStack(BLOCK_FRAMEDSTAINEDGLASS, 1, OreDictionary.WILDCARD_VALUE)); - String[] oreColours = - { - "Black", - "Red", - "Green", - "Brown", - "Blue", - "Purple", - "Cyan", - "LightGray", - "Gray", - "Pink", - "Lime", - "Yellow", - "LightBlue", - "Magenta", - "Orange", - "White" - }; + String[] oreColours = Constants.ORE_DIC_COLOURS; for (int i = 0; i < oreColours.length; i++ ){ diff --git a/src/main/java/com/teammetallurgy/atum/handler/CraftingHandler.java b/src/main/java/com/teammetallurgy/atum/handler/CraftingHandler.java index afff155..2b0e9eb 100644 --- a/src/main/java/com/teammetallurgy/atum/handler/CraftingHandler.java +++ b/src/main/java/com/teammetallurgy/atum/handler/CraftingHandler.java @@ -2,6 +2,8 @@ import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.items.AtumItems; +import com.teammetallurgy.atum.utils.Constants; + import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.init.Blocks; import net.minecraft.init.Items; @@ -56,6 +58,18 @@ private void addRecipes() { GameRegistry.addRecipe(new ItemStack(AtumItems.ITEM_SCROLL), "XXX", "SXS", "XXX", 'X', AtumItems.papyrusPlant, 'S', Items.stick); GameRegistry.addRecipe(new ItemStack(AtumItems.ITEM_SCARAB), " G ", "GDG", " G ", 'G', Items.gold_ingot, 'D', Items.diamond); GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_FURNACEIDLE), "XXX", "X X", "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); + + String [] oreColours = Constants.ORE_DIC_COLOURS; + + for (int i = 0; i < oreColours.length; i++) { + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack (AtumBlocks.BLOCK_CRYSTALSTAINEDGLASS, 8, i), "GGG", "GDG", "GGG", 'G', AtumBlocks.BLOCK_CRYSTALGLASS, 'D', "dye" + oreColours[i])); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_THINCRYSTALSTAINEDGLASS, 16, i), "GGG", "GGG", 'G', new ItemStack (AtumBlocks.BLOCK_CRYSTALSTAINEDGLASS, 1, i)); + + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack (AtumBlocks.BLOCK_FRAMEDSTAINEDGLASS, 8, i), "GGG", "GDG", "GGG", 'G', AtumBlocks.BLOCK_FRAMEDGLASS, 'D', "dye" + oreColours[i])); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_THINFRAMEDSTAINEDGLASS, 16, i), "GGG", "GGG", 'G', new ItemStack (AtumBlocks.BLOCK_FRAMEDSTAINEDGLASS, 1, i)); + + GameRegistry.addRecipe(new ItemStack (AtumBlocks.BLOCK_FRAMEDSTAINEDGLASS, 1, i), " S ", "SGS", " S ", 'S', Items.stick, 'G', new ItemStack (AtumBlocks.BLOCK_CRYSTALSTAINEDGLASS, 1, i)); + } } private void addSmeltingRecipes() { diff --git a/src/main/java/com/teammetallurgy/atum/utils/Constants.java b/src/main/java/com/teammetallurgy/atum/utils/Constants.java index 146b804..398d11d 100644 --- a/src/main/java/com/teammetallurgy/atum/utils/Constants.java +++ b/src/main/java/com/teammetallurgy/atum/utils/Constants.java @@ -16,4 +16,6 @@ public class Constants { public static final String[] COLOURS = {"Black", "Red", "Green", "Brown", "Blue", "Purple", "Cyan", "Silver", "Gray", "Pink", "Lime", "Yellow", "LightBlue", "Magenta", "Orange", "White"}; + public static final String[] ORE_DIC_COLOURS = {"Black", "Red", "Green", "Brown", "Blue", "Purple", "Cyan", "LightGray", "Gray", "Pink", "Lime", "Yellow", "LightBlue", "Magenta", "Orange", "White" }; + } From 8439fa4ddf4985d634606b9c45850fe038fa2ffc Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Thu, 5 Mar 2015 11:06:37 +0300 Subject: [PATCH 120/157] Removes Crystal glass from blackGlassColorless oredic --- src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java index 9cd4c29..1203651 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java @@ -152,7 +152,6 @@ public void registerBlocks() { OreDictionary.registerOre("oreRedstone", BLOCK_REDSTONEORE); OreDictionary.registerOre("oreCoal", BLOCK_COALORE); - OreDictionary.registerOre("blockGlassColorless", BLOCK_CRYSTALGLASS); OreDictionary.registerOre("blockGlass", BLOCK_CRYSTALGLASS); OreDictionary.registerOre("blockGlass", new ItemStack(BLOCK_CRYSTALSTAINEDGLASS, 1, OreDictionary.WILDCARD_VALUE)); From a1ab184a54000d6736e51bcbdf63a4ef2fa1d430 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Sun, 8 Mar 2015 22:44:25 +0300 Subject: [PATCH 121/157] Fixes server side crash when spawning the Pharoh, close #41 --- .../atum/client/render/entity/RenderPharaoh.java | 4 ++-- .../java/com/teammetallurgy/atum/entity/EntityPharaoh.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderPharaoh.java b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderPharaoh.java index 7963908..870fe55 100644 --- a/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderPharaoh.java +++ b/src/main/java/com/teammetallurgy/atum/client/render/entity/RenderPharaoh.java @@ -5,7 +5,7 @@ import net.minecraft.client.model.ModelBiped; import net.minecraft.client.renderer.entity.RenderBiped; import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.EntityLiving; import net.minecraft.entity.boss.BossStatus; import net.minecraft.util.ResourceLocation; @@ -17,7 +17,7 @@ public RenderPharaoh(ModelBiped par1ModelBiped, float par2) { } @Override - public void doRender(EntityLivingBase par1Entity, double par2, double par4, double par6, float par8, float par9) { + public void doRender(EntityLiving par1Entity, double par2, double par4, double par6, float par8, float par9) { BossStatus.setBossStatus((net.minecraft.entity.boss.IBossDisplayData) par1Entity, true); super.doRender(par1Entity, par2, par4, par6, par8, par9); } diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java b/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java index 9a960c3..3d35e0a 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityPharaoh.java @@ -344,7 +344,7 @@ public void onLivingUpdate() { if (!this.worldObj.isRemote) { this.dataWatcher.updateObject(16, Float.valueOf(this.prevHealth)); } - BossStatus.setBossStatus(this,true); + if (regenTime++ > 20) { regenTime = 0; this.heal(1); From c497c94eb188f121c5b4985eed22a313d89a7571 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Mon, 9 Mar 2015 00:36:03 +0300 Subject: [PATCH 122/157] Fixes Atum's Desert biome name, related to #39 --- .../com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java b/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java index 93787b2..f607920 100644 --- a/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java +++ b/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java @@ -34,7 +34,7 @@ public BiomeGenAtumDesert(int par1) { super.spawnableWaterCreatureList.clear(); super.spawnableCaveCreatureList.clear(); this.setColor(16421912); - this.setBiomeName("biome.desert.name"); + this.setBiomeName("Atum's Desert"); this.setDisableRain(); this.setTemperatureRainfall(2.0F, 0.0F); this.setHeight(new Height(0.1F, 0.2F)); From c70de1f343e824c7958fd83672af2dab07cc86f0 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Mon, 9 Mar 2015 14:31:11 +0300 Subject: [PATCH 123/157] Bumps palace rarity to 1 in 1000, closes #39 --- .../com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java b/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java index f607920..b1c6d97 100644 --- a/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java +++ b/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java @@ -92,7 +92,7 @@ public void decorate(World par1World, Random par2Random, int par3, int par4) { (new WorldGenPyramid()).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); } - if (par2Random.nextInt(320) == 0) { + if (par2Random.nextInt(1000) == 0) { k = par3 + par2Random.nextInt(16) + 8; l = par4 + par2Random.nextInt(16) + 8; height = par2Random.nextInt(10); From 68a925e2cce75c36bc9bedb4427d6a7272cd825a Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Thu, 19 Mar 2015 17:25:34 +0300 Subject: [PATCH 124/157] Moves item and block registeration to pre-init, closes #45 --- src/main/java/com/teammetallurgy/atum/Atum.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/Atum.java b/src/main/java/com/teammetallurgy/atum/Atum.java index df15c87..7913e48 100644 --- a/src/main/java/com/teammetallurgy/atum/Atum.java +++ b/src/main/java/com/teammetallurgy/atum/Atum.java @@ -39,10 +39,7 @@ public void preInit(FMLPreInitializationEvent event) { Constants.LOG = event.getModLog(); Constants.LOG.trace("Loading Configuration"); new AtumConfig(event.getSuggestedConfigurationFile()); - } - @EventHandler - public void init(FMLInitializationEvent event) { Constants.LOG.trace("Register Blocks"); new AtumBlocks(); @@ -51,7 +48,10 @@ public void init(FMLInitializationEvent event) { Constants.LOG.trace("Register Crafting Recipes"); new CraftingHandler().register(); + } + @EventHandler + public void init(FMLInitializationEvent event) { Constants.LOG.trace("Register World"); new AtumWorlds().register(); From 910168a66adecdd6a8bb325c216fc3ecbf431976 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Wed, 22 Apr 2015 23:25:55 +0300 Subject: [PATCH 125/157] Adds Limestone large bricks types, closes #42 --- .../atum/blocks/AtumBlocks.java | 6 +- .../atum/blocks/BlockAtumBricks.java | 56 +++++++++++++++++++ .../atum/handler/CraftingHandler.java | 10 ++-- .../atum/items/ItemBlockBricks.java | 27 +++++++++ .../resources/assets/atum/lang/en_US.lang | 1 + 5 files changed, 94 insertions(+), 6 deletions(-) create mode 100644 src/main/java/com/teammetallurgy/atum/blocks/BlockAtumBricks.java create mode 100644 src/main/java/com/teammetallurgy/atum/items/ItemBlockBricks.java diff --git a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java index 1203651..e723c26 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java @@ -5,6 +5,7 @@ import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityChestSpawner; import com.teammetallurgy.atum.blocks.tileentity.chests.TileEntityPharaohChest; import com.teammetallurgy.atum.blocks.tileentity.furnace.TileEntityLimestoneFurnace; +import com.teammetallurgy.atum.items.ItemBlockBricks; import com.teammetallurgy.atum.items.ItemBlockStainedGlass; import com.teammetallurgy.atum.utils.Constants; @@ -23,7 +24,7 @@ public class AtumBlocks { public static Block BLOCK_STONE = new BlockAtumStone(); public static Block BLOCK_WALL = new BlockWalls(BLOCK_STONE); public static Block BLOCK_LIMESTONECOBBLE = new BlockAtum("cobble").setBlockTextureName("atum:AtumCobble"); - public static Block BLOCK_LARGEBRICK = new BlockAtum("largeBrick").setBlockTextureName("atum:AtumBrickLarge"); + public static Block BLOCK_LARGEBRICK = new BlockAtumBricks("largeBrick").setBlockTextureName("atum:AtumBrickLarge"); public static Block BLOCK_SMALLBRICK = new BlockAtum("smallBrick").setBlockTextureName("atum:AtumBrickSmall"); public static Block BLOCK_CARVEDBRICK = new BlockAtum("carvedBrick").setBlockTextureName("atum:AtumBrickCarved"); public static Block BLOCK_SLABS = new BlockAtumSlab(false).setBlockName("slab"); @@ -74,7 +75,6 @@ public void registerBlocks() { this.register(BLOCK_SAND); this.register(BLOCK_STONE); this.register(BLOCK_LIMESTONECOBBLE); - this.register(BLOCK_LARGEBRICK); this.register(BLOCK_SMALLBRICK); this.register(BLOCK_CARVEDBRICK); this.register(BLOCK_SMOOTHSTAIRS); @@ -109,6 +109,8 @@ public void registerBlocks() { this.register(BLOCK_FURNACEIDLE); this.register(BLOCK_FURNACEBURNING); + GameRegistry.registerBlock(BLOCK_LARGEBRICK, ItemBlockBricks.class, BLOCK_LARGEBRICK.getUnlocalizedName()); + GameRegistry.registerBlock(BLOCK_CRYSTALSTAINEDGLASS, ItemBlockStainedGlass.class, BLOCK_CRYSTALSTAINEDGLASS.getUnlocalizedName()); GameRegistry.registerBlock(BLOCK_FRAMEDSTAINEDGLASS, ItemBlockStainedGlass.class, BLOCK_FRAMEDSTAINEDGLASS.getUnlocalizedName()); diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumBricks.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumBricks.java new file mode 100644 index 0000000..ee7333a --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumBricks.java @@ -0,0 +1,56 @@ +package com.teammetallurgy.atum.blocks; + +import java.util.List; + +import com.teammetallurgy.atum.Atum; + +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.creativetab.CreativeTabs; +import net.minecraft.entity.Entity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class BlockAtumBricks extends Block { + + public BlockAtumBricks(String unlocalisedName) { + super(Material.rock); + this.setBlockName(unlocalisedName); + this.setResistance(200000.0F); + this.setBlockUnbreakable(); + this.setCreativeTab(Atum.creativeTab); + } + + @Override + public int damageDropped(int meta) { + return meta; + } + + @Override + @SideOnly(Side.CLIENT) + @SuppressWarnings({ "rawtypes", "unchecked" }) + public void getSubBlocks(Item item, CreativeTabs tab, List list) { + list.add(new ItemStack(this,1,0)); + list.add(new ItemStack(this,1,1)); + list.add(new ItemStack(this,1,2)); + } + + @Override + public float getBlockHardness(World world, int x, int y, int z) { + int meta = world.getBlockMetadata(x, y, z); + if (meta != 2) + return -1F; + return 2.0F; + } + + @Override + public float getExplosionResistance(Entity par1Entity, World world, int x, int y, int z, double explosionX, double explosionY, double explosionZ) { + int meta = world.getBlockMetadata(x, y, z); + if (meta != 2) + return 200000.0F; + return 1.0F; + } +} diff --git a/src/main/java/com/teammetallurgy/atum/handler/CraftingHandler.java b/src/main/java/com/teammetallurgy/atum/handler/CraftingHandler.java index 2b0e9eb..47fbf10 100644 --- a/src/main/java/com/teammetallurgy/atum/handler/CraftingHandler.java +++ b/src/main/java/com/teammetallurgy/atum/handler/CraftingHandler.java @@ -20,20 +20,22 @@ public void register() { } private void addRecipes() { - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(AtumBlocks.BLOCK_LARGEBRICK, 4), "XX", "XX", 'X', AtumBlocks.BLOCK_STONE)); + GameRegistry.addShapelessRecipe(new ItemStack(AtumBlocks.BLOCK_LARGEBRICK, 1, 2), new ItemStack(AtumBlocks.BLOCK_LARGEBRICK)); + GameRegistry.addShapelessRecipe(new ItemStack(AtumBlocks.BLOCK_LARGEBRICK, 1, 2), new ItemStack(AtumBlocks.BLOCK_LARGEBRICK,1,1)); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(AtumBlocks.BLOCK_LARGEBRICK, 4, 2), "XX", "XX", 'X', AtumBlocks.BLOCK_STONE)); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(AtumBlocks.BLOCK_SMALLBRICK, 4), "XX", "XX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE)); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(AtumBlocks.BLOCK_CARVEDBRICK, 1), AtumBlocks.BLOCK_STONE)); GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SMOOTHSTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_STONE); GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_COBBLESTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_LARGESTONESTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_LARGEBRICK); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_LARGESTONESTAIRS, 6), "X ", "XX ", "XXX", 'X', new ItemStack(AtumBlocks.BLOCK_LARGEBRICK, 1, 2)); GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SMALLSTONESTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_SMALLBRICK); GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 0), "XXX", 'X', AtumBlocks.BLOCK_STONE); GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 1), "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 2), "XXX", 'X', AtumBlocks.BLOCK_LARGEBRICK); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 2), "XXX", 'X', new ItemStack(AtumBlocks.BLOCK_LARGEBRICK, 1, 2)); GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 3), "XXX", 'X', AtumBlocks.BLOCK_SMALLBRICK); GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 0), "XXX", "XXX", 'X', AtumBlocks.BLOCK_STONE); GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 1), "XXX", "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 2), "XXX", "XXX", 'X', AtumBlocks.BLOCK_LARGEBRICK); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 2), "XXX", "XXX", 'X', new ItemStack(AtumBlocks.BLOCK_LARGEBRICK, 1, 2)); GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_WALL, 6, 3), "XXX", "XXX", 'X', AtumBlocks.BLOCK_SMALLBRICK); GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_FRAMEDGLASS), " X ", "XSX", " X ", 'X', Items.stick, 'S', AtumBlocks.BLOCK_CRYSTALGLASS); GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_CRACKEDLARGEBRICK, 4), "XX", "XX", 'X', AtumItems.ITEM_STONECHUNK); diff --git a/src/main/java/com/teammetallurgy/atum/items/ItemBlockBricks.java b/src/main/java/com/teammetallurgy/atum/items/ItemBlockBricks.java new file mode 100644 index 0000000..22efd91 --- /dev/null +++ b/src/main/java/com/teammetallurgy/atum/items/ItemBlockBricks.java @@ -0,0 +1,27 @@ +package com.teammetallurgy.atum.items; + +import net.minecraft.block.Block; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; + +public class ItemBlockBricks extends ItemBlock { + + public ItemBlockBricks(Block block) { + super(block); + this.setMaxDamage(0); + this.setHasSubtypes(true); + } + + @Override + public int getMetadata(int meta) { + return meta; + } + + @Override + public String getUnlocalizedName(ItemStack itemStack) { + if (itemStack.getItemDamage() != 2) + return getUnlocalizedName() + "Unbreakable"; + return getUnlocalizedName(); + } + +} diff --git a/src/main/resources/assets/atum/lang/en_US.lang b/src/main/resources/assets/atum/lang/en_US.lang index 09b6057..189611a 100644 --- a/src/main/resources/assets/atum/lang/en_US.lang +++ b/src/main/resources/assets/atum/lang/en_US.lang @@ -8,6 +8,7 @@ tile.chestSpawner.name=Atum Chest tile.sand.name=Strange Sand block.stone.name=Limestone tile.cobble.name=Cracked Limestone +tile.largeBrickUnbreakable.name=Limestone Large Bricks (Unbreakable) tile.largeBrick.name=Limestone Large Bricks tile.smallBrick.name=Limestone Small Bricks tile.carvedBrick.name=Limestone Carved Bricks From d5fdbc2150b61641e4ffa9743b003b227b0142cc Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Wed, 22 Apr 2015 23:29:10 +0300 Subject: [PATCH 126/157] Adds default resistance --- src/main/java/com/teammetallurgy/atum/blocks/BlockAtum.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtum.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtum.java index 0da73d3..3e8515f 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtum.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtum.java @@ -9,6 +9,7 @@ public BlockAtum(String unlocalisedName) { super(Material.rock); this.setBlockName(unlocalisedName); this.setHardness(2.0F); + this.setResistance(10.0F); } } From d82a9cd547876081d4ac5c73325376c1a851d207 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Wed, 22 Apr 2015 23:41:59 +0300 Subject: [PATCH 127/157] Changes Pyramid's large bricks to generate with meta of 0 --- .../atum/world/decorators/WorldGenPyramid.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPyramid.java b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPyramid.java index 2d7e4ce..ae450ad 100644 --- a/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPyramid.java +++ b/src/main/java/com/teammetallurgy/atum/world/decorators/WorldGenPyramid.java @@ -37,7 +37,7 @@ public boolean generate(World world, Random random, int i, int j, int k) { Block id = world.getBlock(x + i, y + j + 3, z + k); if (id == null || id == AtumBlocks.BLOCK_SAND) world.setBlockToAir(x + i, y + j + 3, z + k); - world.setBlock(x + i, y + j + 3, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); + world.setBlock(x + i, y + j + 3, z + k, AtumBlocks.BLOCK_LARGEBRICK); } } } @@ -49,20 +49,20 @@ public boolean generate(World world, Random random, int i, int j, int k) { world.setBlock(x + i, j - 1, z + k, AtumBlocks.BLOCK_STONE); if (!maze[x][z]) { if (random.nextFloat() > 0.1F) { - world.setBlock(x + i, j, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); + world.setBlock(x + i, j, z + k, AtumBlocks.BLOCK_LARGEBRICK); Block temp = world.getBlock(x + i, j + 1, z + k); if (temp != null) { temp.setBlockUnbreakable(); } } else placeTrap(world, x + i, j, z + k); - world.setBlock(x + i, j + 1, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); + world.setBlock(x + i, j + 1, z + k, AtumBlocks.BLOCK_LARGEBRICK); Block temp = world.getBlock(x + i, j + 1, z + k); if (temp != null) { temp.setBlockUnbreakable(); } - world.setBlock(x + i, j + 2, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); + world.setBlock(x + i, j + 2, z + k, AtumBlocks.BLOCK_LARGEBRICK); temp = world.getBlock(x + i, j + 2, z + k); if (temp != null) { temp.setBlockUnbreakable(); @@ -73,7 +73,7 @@ public boolean generate(World world, Random random, int i, int j, int k) { world.setBlockToAir(x + i, j + 1, z + k); world.setBlockToAir(x + i, j + 2, z + k); } - world.setBlock(x + i, j + 3, z + k, AtumBlocks.BLOCK_LARGEBRICK, 1, 0); + world.setBlock(x + i, j + 3, z + k, AtumBlocks.BLOCK_LARGEBRICK); Block temp = world.getBlock(x + i, j + 3, z + k); if (temp != null) { temp.setBlockUnbreakable(); From e6620b8c0ac3aac2430fdc76ec228898cc28786d Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Thu, 23 Apr 2015 00:21:03 +0300 Subject: [PATCH 128/157] Fixes Desert wolves sounds, closes #43 --- .../com/teammetallurgy/atum/entity/EntityDesertWolf.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java b/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java index 02f159d..72d8650 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityDesertWolf.java @@ -1,8 +1,10 @@ package com.teammetallurgy.atum.entity; import com.teammetallurgy.atum.items.AtumItems; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; import net.minecraft.entity.*; import net.minecraft.entity.ai.*; import net.minecraft.entity.passive.EntityAnimal; @@ -115,8 +117,8 @@ public boolean getCanSpawnHere() { } @Override - public void playSound(String par1Str, float par2, float par3) { - //this.playSound("mob.wolf.step", 0.15F, 1.0F); + protected void func_145780_a(int p_145780_1_, int p_145780_2_, int p_145780_3_, Block p_145780_4_) { + this.playSound("mob.wolf.step", 0.15F, 1.0F); } /** From c2f0dbf827fbd1c7df6cfff988ae6bddb226d040 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Sat, 5 Sep 2015 10:58:11 +0300 Subject: [PATCH 129/157] Fixes crash when Isis healing is used in non-standard inventory, closes #48 --- .../teammetallurgy/atum/items/artifacts/ItemIsisHealing.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java index 8af1204..3b692d8 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java @@ -32,7 +32,7 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { if (par3Entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) par3Entity; - if (player.onGround && player.inventory.mainInventory[player.inventory.currentItem] != null && player.inventory.mainInventory[player.inventory.currentItem].getItem() == this) { + if (player.onGround && player.getHeldItem() != null && player.getHeldItem().getItem() == this) { this.doEffect(player, par1ItemStack); } } From f6d9b9b95d049bdf5692880468dd51346ff855d5 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Sun, 6 Sep 2015 11:53:12 +0300 Subject: [PATCH 130/157] Removes stacking effect with isis healing --- .../teammetallurgy/atum/items/artifacts/ItemIsisHealing.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java index 3b692d8..95f8301 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisHealing.java @@ -32,7 +32,7 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { if (par3Entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) par3Entity; - if (player.onGround && player.getHeldItem() != null && player.getHeldItem().getItem() == this) { + if (par5 && player.onGround && player.getHeldItem() != null && player.getHeldItem().getItem() == this) { this.doEffect(player, par1ItemStack); } } From f2471c2284ce4d7b7dc43f4b11f72bf646635ceb Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Tue, 8 Sep 2015 00:02:26 +0300 Subject: [PATCH 131/157] Fixes armor slot detection in Horus flight, and Sekhmets Warth --- .../teammetallurgy/atum/items/artifacts/ItemHorusFlight.java | 4 ++-- .../atum/items/artifacts/ItemSekhmetsWrath.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java index 3a4b316..fc5cf15 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java @@ -31,7 +31,7 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { @SubscribeEvent public void onJump(LivingJumpEvent event) { - if (event.entityLiving.getEquipmentInSlot(0) != null && event.entityLiving.getEquipmentInSlot(0).getItem() == this) { + if (event.entityLiving.getEquipmentInSlot(1) != null && event.entityLiving.getEquipmentInSlot(1).getItem() == this) { event.entityLiving.motionY += 0.2D; event.entityLiving.motionX *= 1.2D; event.entityLiving.motionZ *= 1.2D; @@ -41,7 +41,7 @@ public void onJump(LivingJumpEvent event) { @SubscribeEvent public void onFallDamage(LivingFallEvent event) { - if (event.entityLiving.getEquipmentInSlot(0) != null && event.entityLiving.getEquipmentInSlot(0).getItem() == AtumItems.horusFlight) { + if (event.entityLiving.getEquipmentInSlot(1) != null && event.entityLiving.getEquipmentInSlot(1).getItem() == AtumItems.horusFlight) { event.distance = 0.0F; } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java index 0443247..79d7c4a 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java @@ -31,7 +31,7 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { @SubscribeEvent public void onLivingAttack(LivingAttackEvent event) { - if (event.entityLiving.getEquipmentInSlot(2) != null && event.entityLiving.getEquipmentInSlot(2).getItem() == this && event.source instanceof EntityDamageSource) { + if (event.entityLiving.getEquipmentInSlot(3) != null && event.entityLiving.getEquipmentInSlot(3).getItem() == this && event.source instanceof EntityDamageSource) { EntityDamageSource source = (EntityDamageSource) event.source; if (source.getEntity() != null && Math.random() > 0.5D) { source.getEntity().setFire(10); @@ -42,7 +42,7 @@ public void onLivingAttack(LivingAttackEvent event) { @SubscribeEvent public void onLivingAttack(LivingHurtEvent event) { - if (event.entityLiving.getEquipmentInSlot(2) != null && event.entityLiving.getEquipmentInSlot(2).getItem() == this && event.source.isFireDamage()) { + if (event.entityLiving.getEquipmentInSlot(3) != null && event.entityLiving.getEquipmentInSlot(3).getItem() == this && event.source.isFireDamage()) { event.ammount /= 2; if (event.ammount == 0 && Math.random() > 0.5D) { event.ammount = 1; From 7aeebffe79fbd465725d40fe8dfe16ec5e5bb49f Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Tue, 8 Sep 2015 00:52:07 +0300 Subject: [PATCH 132/157] Fixes armor effects, closes #47 --- .../atum/handler/event/ServerEvents.java | 42 +------------------ .../atum/items/artifacts/ItemHorusFlight.java | 14 +++++++ .../atum/items/artifacts/ItemIsisEmbrace.java | 15 +++++++ .../atum/items/artifacts/ItemNutsAgility.java | 10 +++-- .../atum/items/artifacts/ItemRasGlory.java | 16 +++++++ .../items/artifacts/ItemSekhmetsWrath.java | 14 +++++++ .../atum/proxy/CommonProxy.java | 5 ++- 7 files changed, 70 insertions(+), 46 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/handler/event/ServerEvents.java b/src/main/java/com/teammetallurgy/atum/handler/event/ServerEvents.java index ccc93b9..4ecd36e 100644 --- a/src/main/java/com/teammetallurgy/atum/handler/event/ServerEvents.java +++ b/src/main/java/com/teammetallurgy/atum/handler/event/ServerEvents.java @@ -13,47 +13,7 @@ public class ServerEvents { @SubscribeEvent public void onServerTick(TickEvent.PlayerTickEvent event) { - EntityPlayer player = event.player; - - if (player.worldObj.getTotalWorldTime() % 60L == 0L) { - - if (player.getCurrentArmor(2) != null) { - if (player.getCurrentArmor(2).getItem() == AtumItems.isisEmbrace) { - player.heal(1); - } - } - } - - if (player.worldObj.getTotalWorldTime() % 10L == 0L) { - if (player.getCurrentArmor(3) != null) { - if (player.getCurrentArmor(3).getItem() == AtumItems.rasGlory) { - player.addPotionEffect(new PotionEffect(16, 340, 0, true)); - } else { - if (player.isPotionActive(16)) { - player.clearActivePotions(); - } - } - } - - if (player.getCurrentArmor(2) != null) { - if (player.getCurrentArmor(2).getItem() == AtumItems.sekhmetsWrath) { - player.addPotionEffect(new PotionEffect(12, 240, 0, true)); - } - } - - if (player.getCurrentArmor(1) != null) { - if (player.getCurrentArmor(1).getItem() == AtumItems.nutsAgility) { - player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 240, 1, true)); - player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 240, 1, true)); - } - } - - if (player.getCurrentArmor(0) != null) { - if (player.getCurrentArmor(0).getItem() == AtumItems.horusFlight) { - player.addPotionEffect(new PotionEffect(8, 240, 1, true)); - } - } - } + } } \ No newline at end of file diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java index fc5cf15..7c58e84 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java @@ -2,6 +2,7 @@ import com.teammetallurgy.atum.items.AtumItems; import com.teammetallurgy.atum.items.ItemTexturedArmor; + import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -10,10 +11,13 @@ import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; +import net.minecraft.potion.PotionEffect; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; +import net.minecraft.world.World; import net.minecraftforge.event.entity.living.LivingEvent.LivingJumpEvent; import net.minecraftforge.event.entity.living.LivingFallEvent; + import org.lwjgl.input.Keyboard; import java.util.List; @@ -28,6 +32,16 @@ public ItemHorusFlight(ArmorMaterial par2ArmorMaterial, int par3, int par4) { public boolean hasEffect(ItemStack par1ItemStack, int pass) { return true; } + + @Override + public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { + super.onArmorTick(world, player, itemStack); + + if (itemStack == null || itemStack.getItem() != this) + return; + + player.addPotionEffect(new PotionEffect(8, 40, 1, true)); + } @SubscribeEvent public void onJump(LivingJumpEvent event) { diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisEmbrace.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisEmbrace.java index 3d6aa5f..b5cdcbc 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisEmbrace.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisEmbrace.java @@ -1,6 +1,7 @@ package com.teammetallurgy.atum.items.artifacts; import com.teammetallurgy.atum.items.ItemTexturedArmor; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; @@ -10,6 +11,8 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; +import net.minecraft.world.World; + import org.lwjgl.input.Keyboard; import java.util.List; @@ -25,6 +28,18 @@ public ItemIsisEmbrace(ArmorMaterial par2ArmorMaterial, int par3, int par4) { public boolean hasEffect(ItemStack par1ItemStack, int pass) { return true; } + + @Override + public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { + super.onArmorTick(world, player, itemStack); + + if (itemStack == null || itemStack.getItem() != this) + return; + + if (!world.isRemote && world.getTotalWorldTime() % 60L == 0L) { + player.heal(1); + } + } @Override @SideOnly(Side.CLIENT) diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java index fb4d77f..dd2efc2 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java @@ -31,9 +31,13 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { @Override public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { - if (player.inventory.armorInventory[1] != null && player.inventory.armorInventory[1].getItem() == this) { - player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 2, 0, false)); - } + super.onArmorTick(world, player, itemStack); + + if (itemStack == null || itemStack.getItem() != this) + return; + + player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 240, 1, true)); + player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 240, 1, true)); } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java index aeffe78..2f8ed90 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java @@ -1,6 +1,7 @@ package com.teammetallurgy.atum.items.artifacts; import com.teammetallurgy.atum.items.ItemTexturedArmor; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; @@ -8,8 +9,11 @@ import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; +import net.minecraft.potion.PotionEffect; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; +import net.minecraft.world.World; + import org.lwjgl.input.Keyboard; import java.util.List; @@ -25,6 +29,18 @@ public ItemRasGlory(ArmorMaterial par2ArmorMaterial, int par3, int par4) { public boolean hasEffect(ItemStack par1ItemStack, int pass) { return true; } + + @Override + public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { + super.onArmorTick(world, player, itemStack); + + if (itemStack == null || itemStack.getItem() != this) + return; + + if (!world.isRemote && world.getTotalWorldTime() % 10L == 0L) { + player.addPotionEffect(new PotionEffect(16, 220, 0, true)); + } + } @Override @SideOnly(Side.CLIENT) diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java index 79d7c4a..36ce4e9 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java @@ -1,6 +1,7 @@ package com.teammetallurgy.atum.items.artifacts; import com.teammetallurgy.atum.items.ItemTexturedArmor; + import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -9,11 +10,14 @@ import net.minecraft.init.Items; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; +import net.minecraft.potion.PotionEffect; import net.minecraft.util.EntityDamageSource; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; +import net.minecraft.world.World; import net.minecraftforge.event.entity.living.LivingAttackEvent; import net.minecraftforge.event.entity.living.LivingHurtEvent; + import org.lwjgl.input.Keyboard; import java.util.List; @@ -28,6 +32,16 @@ public ItemSekhmetsWrath(int par3, int par4) { public boolean hasEffect(ItemStack par1ItemStack, int pass) { return true; } + + @Override + public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { + super.onArmorTick(world, player, itemStack); + + if (itemStack == null || itemStack.getItem() != this) + return; + + player.addPotionEffect(new PotionEffect(12, 20, 0, true)); + } @SubscribeEvent public void onLivingAttack(LivingAttackEvent event) { diff --git a/src/main/java/com/teammetallurgy/atum/proxy/CommonProxy.java b/src/main/java/com/teammetallurgy/atum/proxy/CommonProxy.java index ea33723..e66b83a 100644 --- a/src/main/java/com/teammetallurgy/atum/proxy/CommonProxy.java +++ b/src/main/java/com/teammetallurgy/atum/proxy/CommonProxy.java @@ -1,13 +1,14 @@ package com.teammetallurgy.atum.proxy; import com.teammetallurgy.atum.handler.event.ServerEvents; -import net.minecraftforge.common.MinecraftForge; + +import cpw.mods.fml.common.FMLCommonHandler; public class CommonProxy { public void init() { ServerEvents ticker = new ServerEvents(); - MinecraftForge.EVENT_BUS.register(ticker); + FMLCommonHandler.instance().bus().register(ticker); } public void initRenders() { From 72c8bda86cbe81c6df7dd3571a18786aeb83e59a Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Tue, 8 Sep 2015 11:57:13 +0300 Subject: [PATCH 133/157] Enhances preformance by checking if the world is remote first --- .../teammetallurgy/atum/items/artifacts/ItemHorusFlight.java | 2 +- .../teammetallurgy/atum/items/artifacts/ItemIsisEmbrace.java | 4 ++-- .../teammetallurgy/atum/items/artifacts/ItemNutsAgility.java | 2 +- .../com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java | 4 ++-- .../atum/items/artifacts/ItemSekhmetsWrath.java | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java index 7c58e84..ecf1f5f 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemHorusFlight.java @@ -37,7 +37,7 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { super.onArmorTick(world, player, itemStack); - if (itemStack == null || itemStack.getItem() != this) + if (world.isRemote || itemStack == null || itemStack.getItem() != this) return; player.addPotionEffect(new PotionEffect(8, 40, 1, true)); diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisEmbrace.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisEmbrace.java index b5cdcbc..09e6a7e 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisEmbrace.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemIsisEmbrace.java @@ -33,10 +33,10 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { super.onArmorTick(world, player, itemStack); - if (itemStack == null || itemStack.getItem() != this) + if (world.isRemote || itemStack == null || itemStack.getItem() != this) return; - if (!world.isRemote && world.getTotalWorldTime() % 60L == 0L) { + if (world.getTotalWorldTime() % 60L == 0L) { player.heal(1); } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java index dd2efc2..0da475d 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemNutsAgility.java @@ -33,7 +33,7 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { super.onArmorTick(world, player, itemStack); - if (itemStack == null || itemStack.getItem() != this) + if (world.isRemote || itemStack == null || itemStack.getItem() != this) return; player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 240, 1, true)); diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java index 2f8ed90..f3c08ff 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemRasGlory.java @@ -34,10 +34,10 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { super.onArmorTick(world, player, itemStack); - if (itemStack == null || itemStack.getItem() != this) + if (world.isRemote || itemStack == null || itemStack.getItem() != this) return; - if (!world.isRemote && world.getTotalWorldTime() % 10L == 0L) { + if (world.getTotalWorldTime() % 10L == 0L) { player.addPotionEffect(new PotionEffect(16, 220, 0, true)); } } diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java index 36ce4e9..58b164c 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemSekhmetsWrath.java @@ -37,7 +37,7 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { super.onArmorTick(world, player, itemStack); - if (itemStack == null || itemStack.getItem() != this) + if (world.isRemote || itemStack == null || itemStack.getItem() != this ) return; player.addPotionEffect(new PotionEffect(12, 20, 0, true)); From 8927256bdc8f233d2fd39bb083095186197f12ea Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Tue, 8 Sep 2015 13:44:16 +0300 Subject: [PATCH 134/157] Updates forge to 1448 --- build.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.properties b/build.properties index e2dfebe..e65ee8b 100644 --- a/build.properties +++ b/build.properties @@ -1,5 +1,5 @@ minecraft_version=1.7.10 -forge_version=10.13.2.1291 +forge_version=10.13.4.1448-1.7.10 mod_version=0.6 cclib_version=1.1.1.99 ccc_version=1.0.4.29 From 344068f7708a94c12f9636516caaceffec6dbde2 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Tue, 8 Sep 2015 14:27:35 +0300 Subject: [PATCH 135/157] Fixes Mafdets' Quickness effect --- .../atum/items/artifacts/ItemMafdetsQuickness.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java index 1623425..60a5422 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java @@ -34,15 +34,15 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { if (par3Entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) par3Entity; - if (player.inventory.armorInventory[1] != null && player.inventory.armorInventory[1].getItem() == this) { - doEffect(player, player.inventory.armorInventory[1]); + if (par5 && player.onGround && player.getHeldItem() != null && player.getHeldItem().getItem() == this) { + doEffect(player, par1ItemStack); } } } public void doEffect(EntityPlayer player, ItemStack item) { - player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 2, 0, false)); + player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 40, 0, false)); if (!player.capabilities.isCreativeMode) { if (item.getItemDamage() == 1) { item.damageItem(1, player); From a22bbb4ea706b0bdac6753a5c97484b3eb37445f Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Tue, 8 Sep 2015 16:47:12 +0300 Subject: [PATCH 136/157] Fixes Limestone furnace --- .../furnace/TileEntityLimestoneFurnace.java | 37 ++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/TileEntityLimestoneFurnace.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/TileEntityLimestoneFurnace.java index d5cb93b..504458b 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/TileEntityLimestoneFurnace.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/furnace/TileEntityLimestoneFurnace.java @@ -1,6 +1,7 @@ package com.teammetallurgy.atum.blocks.tileentity.furnace; import com.teammetallurgy.atum.blocks.BlockLimeStoneFurnace; + import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -14,6 +15,9 @@ import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; +import net.minecraft.network.NetworkManager; +import net.minecraft.network.Packet; +import net.minecraft.network.play.server.S35PacketUpdateTileEntity; import net.minecraft.tileentity.TileEntityFurnace; public class TileEntityLimestoneFurnace extends TileEntityFurnace implements ISidedInventory { @@ -189,7 +193,7 @@ public void func_94129_a(String par1Str) { @Override public void readFromNBT(NBTTagCompound par1NBTTagCompound) { super.readFromNBT(par1NBTTagCompound); - NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items", 0); + NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items", 10); this.furnaceItemStacks = new ItemStack[this.getSizeInventory()]; for (int i = 0; i < nbttaglist.tagCount(); ++i) { @@ -236,6 +240,37 @@ public void writeToNBT(NBTTagCompound par1NBTTagCompound) { } } + /** + * Called on receiving a packet + * @param net Network Manager + * @param pkt packet + */ + @Override + public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { + + NBTTagCompound nbtTag = pkt.func_148857_g(); + + if (nbtTag == null) + return; + + this.readFromNBT(nbtTag); + } + + /** + * Called when syncing tile entities + * @return S35 packet + */ + @Override + public Packet getDescriptionPacket() { + + NBTTagCompound nbtTag = new NBTTagCompound(); + this.writeToNBT(nbtTag); + + S35PacketUpdateTileEntity packet = new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 1, nbtTag); + + return packet; + } + /** * Returns the maximum stack size for a inventory slot. Seems to always be * 64, possibly will be extended. *Isn't this more of a set than a get?* From 237b8616727f8ba355f0d47e4b4e4876fbe62152 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Tue, 8 Sep 2015 17:24:25 +0300 Subject: [PATCH 137/157] Localizes the remaining of the tooltips, closes #37 --- .../atum/items/artifacts/ItemAnubisMercy.java | 7 +++++-- .../atum/items/artifacts/ItemAnuketsBounty.java | 7 +++++-- .../atum/items/artifacts/ItemMafdetsQuickness.java | 5 ++++- src/main/resources/assets/atum/lang/en_US.lang | 3 +++ 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java index 5d64b3c..d516cb6 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnubisMercy.java @@ -18,6 +18,7 @@ import net.minecraft.world.World; import net.minecraft.world.chunk.IChunkProvider; import net.minecraftforge.event.entity.living.LivingHurtEvent; + import org.lwjgl.input.Keyboard; import java.util.List; @@ -142,8 +143,10 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye } else { par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - // TODO - par3List.add(par1ItemStack.getMaxDamage() - par1ItemStack.getItemDamage() + " Uses Remaining"); + + int remaining = par1ItemStack.getMaxDamage() - par1ItemStack.getItemDamage(); + String localizedRemaining = StatCollector.translateToLocalFormatted("tooltip.atum.usesRemaining", remaining); + par3List.add(localizedRemaining); } @Override diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java index 8f6443c..ef00f6e 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemAnuketsBounty.java @@ -1,6 +1,7 @@ package com.teammetallurgy.atum.items.artifacts; import com.teammetallurgy.atum.entity.arrow.EntityAtumFishHook; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; @@ -14,6 +15,7 @@ import net.minecraft.util.IIcon; import net.minecraft.util.StatCollector; import net.minecraft.world.World; + import org.lwjgl.input.Keyboard; import java.util.List; @@ -86,8 +88,9 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - //TODO - par3List.add(par1ItemStack.getMaxDamage() - par1ItemStack.getItemDamage() + " Uses Remaining"); + int remaining = par1ItemStack.getMaxDamage() - par1ItemStack.getItemDamage(); + String localizedRemaining = StatCollector.translateToLocalFormatted("tooltip.atum.usesRemaining", remaining); + par3List.add(localizedRemaining); } @Override diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java index 60a5422..3e25058 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemMafdetsQuickness.java @@ -14,6 +14,7 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; import net.minecraft.world.World; + import org.lwjgl.input.Keyboard; import java.util.List; @@ -69,7 +70,9 @@ public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlaye par3List.add(StatCollector.translateToLocal(this.getUnlocalizedName() + ".line3") + " " + EnumChatFormatting.DARK_GRAY + "[SHIFT]"); } - par3List.add((double) ((par1ItemStack.getMaxDamage() - par1ItemStack.getItemDamage()) / 12) / 100.0D + " Minutes Remaining"); + double remaining = ((par1ItemStack.getMaxDamage() - par1ItemStack.getItemDamage()) / 12) / 100.0D; + String localizedRemaining = StatCollector.translateToLocalFormatted("tooltip.atum.minutesRemaining", remaining); + par3List.add(localizedRemaining); } @Override diff --git a/src/main/resources/assets/atum/lang/en_US.lang b/src/main/resources/assets/atum/lang/en_US.lang index 189611a..02934a2 100644 --- a/src/main/resources/assets/atum/lang/en_US.lang +++ b/src/main/resources/assets/atum/lang/en_US.lang @@ -318,6 +318,9 @@ item.neithsAudacity.line1=Double Shot I: Fires item.neithsAudacity.line2=two arrows item.neithsAudacity.line3=Double Shot I +tooltip.atum.minutesRemaining=%d Minutes Remaining +tooltip.atum.usesRemaining=%d Uses Remaining + # Loot item.loot.dirty.name=Dirty item.loot.silver.name=Silver From 93dadead8f3246e1c0c35c0b003bb99943c202da Mon Sep 17 00:00:00 2001 From: Anton Date: Tue, 8 Sep 2015 18:11:02 +0300 Subject: [PATCH 138/157] Update ru_RU.lang --- src/main/resources/assets/atum/lang/ru_RU.lang | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/resources/assets/atum/lang/ru_RU.lang b/src/main/resources/assets/atum/lang/ru_RU.lang index b61ba88..511734d 100644 --- a/src/main/resources/assets/atum/lang/ru_RU.lang +++ b/src/main/resources/assets/atum/lang/ru_RU.lang @@ -8,6 +8,7 @@ tile.chestSpawner.name=Сундук «Атума» tile.sand.name=Странный песок block.stone.name=Известняк tile.cobble.name=Потрескавшийся известняк +tile.largeBrickUnbreakable.name=Известняковый большой кирпич (Неразрушимый) tile.largeBrick.name=Известняковый большой кирпич tile.smallBrick.name=Известняковый маленький кирпич tile.carvedBrick.name=Известняковый резной кирпич @@ -317,6 +318,9 @@ item.neithsAudacity.line1=Двойной выстрел I: Выпускает item.neithsAudacity.line2=две стрелы за раз item.neithsAudacity.line3=Двойной выстрел I +tooltip.atum.minutesRemaining=Минут осталось: %d +tooltip.atum.usesRemaining=Использований осталось: %d + # Loot item.loot.dirty.name=Грязный item.loot.silver.name=Серебряный @@ -452,4 +456,4 @@ item.loot.gold.broach.name=Золотая брошь item.loot.sapphire.broach.name=Сапфировая брошь item.loot.ruby.broach.name=Рубиновая брошь item.loot.emerald.broach.name=Изумрудная брошь -item.loot.diamond.broach.name=Алмазная брошь \ No newline at end of file +item.loot.diamond.broach.name=Алмазная брошь From 274ee2412c48a790c5c9ad3d767ff174ea619bba Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Tue, 8 Sep 2015 18:37:10 +0300 Subject: [PATCH 139/157] Fixes chests --- .../atum/blocks/tileentity/chests/CursedChestBaseLogic.java | 2 +- .../atum/blocks/tileentity/chests/TileEntityChestSpawner.java | 2 +- .../atum/blocks/tileentity/chests/TileEntityPharaohChest.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java index 171e7ad..83af85b 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/CursedChestBaseLogic.java @@ -220,7 +220,7 @@ public void readFromNBT(NBTTagCompound par1NBTTagCompound) { if (par1NBTTagCompound.hasKey("SpawnPotentials")) { this.minecartToSpawn = new ArrayList(); - NBTTagList nbttaglist = par1NBTTagCompound.getTagList("SpawnPotentials", 0); + NBTTagList nbttaglist = par1NBTTagCompound.getTagList("SpawnPotentials", 10); for (int i = 0; i < nbttaglist.tagCount(); ++i) { this.minecartToSpawn.add(new WeightedRandomMinecart((NBTTagCompound) nbttaglist.getCompoundTagAt(i))); diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java index f204119..8aaa9a2 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityChestSpawner.java @@ -151,7 +151,7 @@ public void func_145976_a(String p_145976_1_) { @Override public void readFromNBT(NBTTagCompound par1NBTTagCompound) { super.readFromNBT(par1NBTTagCompound); - NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items", 0); + NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items", 10); this.chestContents = new ItemStack[this.getSizeInventory()]; if (par1NBTTagCompound.hasKey("CustomName")) { this.field_94045_s = par1NBTTagCompound.getString("CustomName"); diff --git a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java index 5bfccc8..174e6af 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/tileentity/chests/TileEntityPharaohChest.java @@ -96,7 +96,7 @@ public void func_94043_a(String par1Str) { public void readFromNBT(NBTTagCompound par1NBTTagCompound) { super.readFromNBT(par1NBTTagCompound); - NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items", 0); + NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Items", 10); this.chestContents = new ItemStack[this.getSizeInventory()]; if (par1NBTTagCompound.hasKey("CustomName")) { this.field_94045_s = par1NBTTagCompound.getString("CustomName"); From b70cf067aa4ab5b25acfafb57922dd9376a40d9b Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Tue, 8 Sep 2015 19:35:37 +0300 Subject: [PATCH 140/157] Adds breakable large brick stairs --- .../java/com/teammetallurgy/atum/blocks/AtumBlocks.java | 6 ++++++ .../com/teammetallurgy/atum/handler/CraftingHandler.java | 3 ++- src/main/resources/assets/atum/lang/en_US.lang | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java index e723c26..cd61f95 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java @@ -32,6 +32,7 @@ public class AtumBlocks { public static Block BLOCK_SMOOTHSTAIRS = new BlockAtumStairs(BLOCK_STONE, 0).setBlockName("smoothStairs"); public static Block BLOCK_COBBLESTAIRS = new BlockAtumStairs(BLOCK_LIMESTONECOBBLE, 0).setBlockName("cobbleStairs"); public static Block BLOCK_LARGESTONESTAIRS = new BlockAtumStairs(BLOCK_LARGEBRICK, 0).setBlockName("largeStairs"); + public static Block BLOCK_LARGESTONESTAIRSBREAKABLE = new BlockAtumStairs(BLOCK_LARGEBRICK, 2).setBlockName("largeStairsBreakable").setHardness(2.0F).setResistance(10.0F); public static Block BLOCK_SMALLSTONESTAIRS = new BlockAtumStairs(BLOCK_SMALLBRICK, 0).setBlockName("smallStairs"); public static Block BLOCK_SANDLAYERED = new BlockSandLayered(); public static Block BLOCK_CRACKEDLARGEBRICK = new BlockAtum("crackedLargeBrick").setBlockTextureName("atum:AtumCrackedLargeBrick"); @@ -80,6 +81,7 @@ public void registerBlocks() { this.register(BLOCK_SMOOTHSTAIRS); this.register(BLOCK_COBBLESTAIRS); this.register(BLOCK_LARGESTONESTAIRS); + this.register(BLOCK_LARGESTONESTAIRSBREAKABLE); this.register(BLOCK_SMALLSTONESTAIRS); this.register(BLOCK_SANDLAYERED); this.register(BLOCK_CRACKEDLARGEBRICK); @@ -171,6 +173,10 @@ public void registerBlocks() { OreDictionary.registerOre("blockGlass" + oreColours[i], glass); OreDictionary.registerOre("paneGlass" + oreColours[i], pane); } + + // block unlocalized name + BLOCK_LARGESTONESTAIRS = BLOCK_LARGESTONESTAIRS.setBlockName("largeStairsUnbreakable"); + BLOCK_LARGESTONESTAIRSBREAKABLE = BLOCK_LARGESTONESTAIRSBREAKABLE.setBlockName("largeStairs"); } diff --git a/src/main/java/com/teammetallurgy/atum/handler/CraftingHandler.java b/src/main/java/com/teammetallurgy/atum/handler/CraftingHandler.java index 47fbf10..8952515 100644 --- a/src/main/java/com/teammetallurgy/atum/handler/CraftingHandler.java +++ b/src/main/java/com/teammetallurgy/atum/handler/CraftingHandler.java @@ -22,12 +22,13 @@ public void register() { private void addRecipes() { GameRegistry.addShapelessRecipe(new ItemStack(AtumBlocks.BLOCK_LARGEBRICK, 1, 2), new ItemStack(AtumBlocks.BLOCK_LARGEBRICK)); GameRegistry.addShapelessRecipe(new ItemStack(AtumBlocks.BLOCK_LARGEBRICK, 1, 2), new ItemStack(AtumBlocks.BLOCK_LARGEBRICK,1,1)); + GameRegistry.addShapelessRecipe(new ItemStack(AtumBlocks.BLOCK_LARGESTONESTAIRSBREAKABLE), new ItemStack(AtumBlocks.BLOCK_LARGESTONESTAIRS)); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(AtumBlocks.BLOCK_LARGEBRICK, 4, 2), "XX", "XX", 'X', AtumBlocks.BLOCK_STONE)); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(AtumBlocks.BLOCK_SMALLBRICK, 4), "XX", "XX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE)); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(AtumBlocks.BLOCK_CARVEDBRICK, 1), AtumBlocks.BLOCK_STONE)); GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SMOOTHSTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_STONE); GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_COBBLESTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); - GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_LARGESTONESTAIRS, 6), "X ", "XX ", "XXX", 'X', new ItemStack(AtumBlocks.BLOCK_LARGEBRICK, 1, 2)); + GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_LARGESTONESTAIRSBREAKABLE, 6), "X ", "XX ", "XXX", 'X', new ItemStack(AtumBlocks.BLOCK_LARGEBRICK, 1, 2)); GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SMALLSTONESTAIRS, 6), "X ", "XX ", "XXX", 'X', AtumBlocks.BLOCK_SMALLBRICK); GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 0), "XXX", 'X', AtumBlocks.BLOCK_STONE); GameRegistry.addRecipe(new ItemStack(AtumBlocks.BLOCK_SLABS, 6, 1), "XXX", 'X', AtumBlocks.BLOCK_LIMESTONECOBBLE); diff --git a/src/main/resources/assets/atum/lang/en_US.lang b/src/main/resources/assets/atum/lang/en_US.lang index 02934a2..2b95a52 100644 --- a/src/main/resources/assets/atum/lang/en_US.lang +++ b/src/main/resources/assets/atum/lang/en_US.lang @@ -19,6 +19,7 @@ tile.smallBrickSlab.name=Small Limestone Brick Slab tile.doubleSlab.name=Limestone Slab tile.smoothStairs.name=Limestone Stairs tile.cobbleStairs.name=Limestone Cobble Stairs +tile.largeStairsUnbreakable.name=Limestone Large Brick Stairs (Unbreakable) tile.largeStairs.name=Limestone Large Brick Stairs tile.smallStairs.name=Limestone Small Brick Stairs tile.sandLayer.name=Sand Layer From 4559ec1d99de78e39607bc14f2a20e1e10690143 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Tue, 8 Sep 2015 19:42:26 +0300 Subject: [PATCH 141/157] Fixes Limestone's name --- src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java | 3 ++- src/main/resources/assets/atum/lang/en_US.lang | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java index cd61f95..d69fa7f 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/AtumBlocks.java @@ -174,7 +174,8 @@ public void registerBlocks() { OreDictionary.registerOre("paneGlass" + oreColours[i], pane); } - // block unlocalized name + // blocks unlocalized name + BLOCK_STONE = BLOCK_STONE.setBlockName("limestone"); BLOCK_LARGESTONESTAIRS = BLOCK_LARGESTONESTAIRS.setBlockName("largeStairsUnbreakable"); BLOCK_LARGESTONESTAIRSBREAKABLE = BLOCK_LARGESTONESTAIRSBREAKABLE.setBlockName("largeStairs"); diff --git a/src/main/resources/assets/atum/lang/en_US.lang b/src/main/resources/assets/atum/lang/en_US.lang index 2b95a52..2d121f3 100644 --- a/src/main/resources/assets/atum/lang/en_US.lang +++ b/src/main/resources/assets/atum/lang/en_US.lang @@ -6,7 +6,7 @@ biome.desert.name=Desert block.portal.name=Atum Portal tile.chestSpawner.name=Atum Chest tile.sand.name=Strange Sand -block.stone.name=Limestone +tile.limestone.name=Limestone tile.cobble.name=Cracked Limestone tile.largeBrickUnbreakable.name=Limestone Large Bricks (Unbreakable) tile.largeBrick.name=Limestone Large Bricks From 9659d3cbb4163fc0f97ce4bd4b29007f27fd615e Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Wed, 9 Sep 2015 08:27:02 +0300 Subject: [PATCH 142/157] Fixes Flax not growing --- .../teammetallurgy/atum/blocks/BlockFlax.java | 140 +++--------------- .../atum/handler/event/AtumEventListener.java | 6 - 2 files changed, 24 insertions(+), 122 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java index e308d38..0c78b6b 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockFlax.java @@ -1,27 +1,23 @@ package com.teammetallurgy.atum.blocks; -import com.teammetallurgy.atum.items.AtumItems; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; -import net.minecraft.block.BlockBush; +import net.minecraft.block.BlockCrops; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.init.Blocks; import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.EnumPlantType; import net.minecraftforge.common.util.ForgeDirection; -import java.util.ArrayList; -import java.util.Random; +import com.teammetallurgy.atum.items.AtumItems; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; -public class BlockFlax extends BlockBush { +public class BlockFlax extends BlockCrops { @SideOnly(Side.CLIENT) private IIcon[] iconArray; @@ -57,126 +53,38 @@ protected boolean canPlaceBlockOn(Block par1) { return par1 == Blocks.farmland || par1 == AtumBlocks.BLOCK_FERTILESOILTILLED; } - @Override - public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) { - super.updateTick(par1World, par2, par3, par4, par5Random); - if ((par1World.getBlockLightValue(par2, par3 + 1, par4) & 273) >= 9) { - int l = par1World.getBlockMetadata(par2, par3, par4); - if ((l & 7) < 5) { - float f = this.getGrowthRate(par1World, par2, par3, par4); - if (par5Random.nextInt((int) (25.0F / f) + 1) == 0) { - ++l; - par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); - } - } - } - - } - - public void fertilize(World par1World, int par2, int par3, int par4) { - int l = par1World.getBlockMetadata(par2, par3, par4) + MathHelper.getRandomIntegerInRange(par1World.rand, 2, 3); - if ((l & 7) > 5) { - l -= (l & 7) - 5; - } - - par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2); - } - - private float getGrowthRate(World par1World, int par2, int par3, int par4) { - float f = 1.0F; - Block l = par1World.getBlock(par2, par3, par4 - 1); - Block i1 = par1World.getBlock(par2, par3, par4 + 1); - Block j1 = par1World.getBlock(par2 - 1, par3, par4); - Block k1 = par1World.getBlock(par2 + 1, par3, par4); - Block l1 = par1World.getBlock(par2 - 1, par3, par4 - 1); - Block i2 = par1World.getBlock(par2 + 1, par3, par4 - 1); - Block j2 = par1World.getBlock(par2 + 1, par3, par4 + 1); - Block k2 = par1World.getBlock(par2 - 1, par3, par4 + 1); - boolean flag = j1 == this || k1 == this; - boolean flag1 = l == this || i1 == this; - boolean flag2 = l1 == this || i2 == this || j2 == this || k2 == this; - - for (int l2 = par2 - 1; l2 <= par2 + 1; ++l2) { - for (int i3 = par4 - 1; i3 <= par4 + 1; ++i3) { - Block j3 = par1World.getBlock(l2, par3 - 1, i3); - float f1 = 0.0F; - if (j3 != null && j3.canSustainPlant(par1World, l2, par3 - 1, i3, ForgeDirection.UP, this)) { - f1 = 1.0F; - if (j3.isFertile(par1World, l2, par3 - 1, i3)) { - f1 = 3.0F; - } - } - - if (l2 != par2 || i3 != par4) { - f1 /= 4.0F; - } - - f += f1; - } - } - - if (flag2 || flag && flag1) { - f /= 2.0F; - } - - return f; - } @SideOnly(Side.CLIENT) public IIcon getIcon(int par1, int par2) { - int meta = par2 & 7; - if (meta < 0 || meta > 5) { - meta = 5; + int iconIndex = par2; + + if (iconIndex >= 5) + iconIndex-- ; + if (iconIndex >= 2) + iconIndex-- ; + + if (iconIndex < 0 || iconIndex > 5) { + iconIndex = 5; } - return this.iconArray[meta]; + return this.iconArray[iconIndex]; } @Override public int getRenderType() { return 1; } - - protected Item getSeedItem() { - return AtumItems.ITEM_FLAXSEED; - } - - protected Item getCropItem() { - return AtumItems.ITEM_FLAX; - } - - @Override - public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int par4, int par5, float par6, int par7) { - super.dropBlockAsItemWithChance(par1World, par2, par3, par4, par5, par6, 0); - } - + + // getSeedItem @Override - public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) { - ArrayList ret = super.getDrops(world, x, y, z, metadata, fortune); - if ((metadata & 7) >= 5) { - for (int n = 0; n < 3 + fortune; ++n) { - if (world.rand.nextInt(15) <= (metadata & 7)) { - ret.add(new ItemStack(this.getSeedItem(), 1, 0)); - } - } - } - - return ret; - } - - @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { - return p_149650_1_ == 5 ? this.getCropItem() : this.getSeedItem(); - } - - @Override - public int quantityDropped(Random par1Random) { - return 1; + protected Item func_149866_i() { + return AtumItems.ITEM_FLAXSEED; } - + + // getCropItem @Override - public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) { - return new ItemStack(this.getSeedItem()); + protected Item func_149865_P() { + return AtumItems.ITEM_FLAX; } @Override diff --git a/src/main/java/com/teammetallurgy/atum/handler/event/AtumEventListener.java b/src/main/java/com/teammetallurgy/atum/handler/event/AtumEventListener.java index 31abd56..272484f 100644 --- a/src/main/java/com/teammetallurgy/atum/handler/event/AtumEventListener.java +++ b/src/main/java/com/teammetallurgy/atum/handler/event/AtumEventListener.java @@ -10,7 +10,6 @@ import net.minecraftforge.event.entity.player.UseHoeEvent; import com.teammetallurgy.atum.blocks.AtumBlocks; -import com.teammetallurgy.atum.blocks.BlockFlax; import com.teammetallurgy.atum.blocks.BlockPalmSapling; import com.teammetallurgy.atum.entity.EntityDustySkeleton; import com.teammetallurgy.atum.entity.EntityGhost; @@ -50,11 +49,6 @@ public boolean onBonemeal(BonemealEvent event) { event.setResult(Result.ALLOW); } - if (block == AtumBlocks.BLOCK_FLAX && event.world.getBlockMetadata(event.x, event.y, event.z) < 5) { - ((BlockFlax) AtumBlocks.BLOCK_FLAX).fertilize(event.world, event.x, event.y, event.z); - event.setResult(Result.ALLOW); - } - return false; } return true; From 22e7d1b90df062fc1a49630b1996610a034f9f9f Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Wed, 9 Sep 2015 08:53:38 +0300 Subject: [PATCH 143/157] Fixes Gebs' Solidarity slowness, closes #36 --- .../teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java index 107a9d8..981d515 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java @@ -30,7 +30,7 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { @Override public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { - player.addPotionEffect(new PotionEffect(Potion.moveSpeed.getId(), 5, 5)); + player.addPotionEffect(new PotionEffect(Potion.moveSlowdown.getId(), 20, 1, true)); } @Override From 708f7454ca4577b5ead54d9e4f7fb913af06e96f Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Wed, 9 Sep 2015 09:24:22 +0300 Subject: [PATCH 144/157] Adds sanity checks to Gebs' Solidarity effect --- .../atum/items/artifacts/ItemGebsSolidarity.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java index 981d515..175b37d 100644 --- a/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java +++ b/src/main/java/com/teammetallurgy/atum/items/artifacts/ItemGebsSolidarity.java @@ -30,6 +30,11 @@ public boolean hasEffect(ItemStack par1ItemStack, int pass) { @Override public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { + super.onArmorTick(world, player, itemStack); + + if (world.isRemote || itemStack == null || itemStack.getItem() != this) + return; + player.addPotionEffect(new PotionEffect(Potion.moveSlowdown.getId(), 20, 1, true)); } From 90bf84fb3a4244fcb68cccf1f17e55c4f04659e4 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Wed, 9 Sep 2015 11:34:30 +0300 Subject: [PATCH 145/157] Fixes projectiles entity rendering --- .../atum/entity/AtumEntities.java | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java b/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java index 017acc4..eb1fc7b 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java +++ b/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java @@ -9,6 +9,8 @@ public class AtumEntities { public void register() { int entityID; + // Mobs + entityID = EntityRegistry.findGlobalUniqueEntityId(); EntityRegistry.registerGlobalEntityID(EntityMummy.class, "atum.mummy", entityID, 0x515838, 0x868F6B); EntityRegistry.registerModEntity(EntityMummy.class, "atum.mummy", entityID, Atum.instance, 64, 1, true); @@ -57,22 +59,39 @@ public void register() { EntityRegistry.registerGlobalEntityID(EntityBarbarian.class, "atum.barbarian", entityID, 0x918354, 0x695D37); EntityRegistry.registerModEntity(EntityBarbarian.class, "atum.barbarian", entityID, Atum.instance, 64, 1, true); + + // Projectiles entityID = EntityRegistry.findGlobalUniqueEntityId(); + EntityRegistry.registerGlobalEntityID(EntityArrowVelocity.class, "atum.ArrowVeloctiy", entityID); EntityRegistry.registerModEntity(EntityArrowVelocity.class, "atum.ArrowVeloctiy", entityID, Atum.instance, 64, 1, true); + entityID = EntityRegistry.findGlobalUniqueEntityId(); + EntityRegistry.registerGlobalEntityID(EntityArrowExplosive.class, "atum.ArrowExplosive", entityID); EntityRegistry.registerModEntity(EntityArrowExplosive.class, "atum.ArrowExplosive", entityID, Atum.instance, 64, 1, true); + entityID = EntityRegistry.findGlobalUniqueEntityId(); + EntityRegistry.registerGlobalEntityID(EntityArrowPoison.class, "atum.ArrowPoison", entityID); EntityRegistry.registerModEntity(EntityArrowPoison.class, "atum.ArrowPoison", entityID, Atum.instance, 64, 1, true); + entityID = EntityRegistry.findGlobalUniqueEntityId(); + EntityRegistry.registerGlobalEntityID(EntityArrowFire.class, "atum.ArrowFire", entityID); EntityRegistry.registerModEntity(EntityArrowFire.class, "atum.ArrowFire", entityID, Atum.instance, 64, 1, true); + entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityArrowDoubleShot.class, "atum.ArrowFire", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityArrowDoubleShot.class, "atum.ArrowDoubleShot", entityID); + EntityRegistry.registerModEntity(EntityArrowDoubleShot.class, "atum.ArrowDoubleShot", entityID, Atum.instance, 64, 1, true); + entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerModEntity(EntityArrowQuickdraw.class, "atum.ArrowFire", entityID, Atum.instance, 64, 1, true); + EntityRegistry.registerGlobalEntityID(EntityArrowQuickdraw.class, "atum.ArrowQuickDraw", entityID); + EntityRegistry.registerModEntity(EntityArrowQuickdraw.class, "atum.ArrowQuickDraw", entityID, Atum.instance, 64, 1, true); + entityID = EntityRegistry.findGlobalUniqueEntityId(); + EntityRegistry.registerGlobalEntityID(EntityNutsCall.class, "atum.EntityNutsCall", entityID); EntityRegistry.registerModEntity(EntityNutsCall.class, "atum.EntityNutsCall", entityID, Atum.instance, 64, 1, true); + entityID = EntityRegistry.findGlobalUniqueEntityId(); + EntityRegistry.registerGlobalEntityID(EntityAtumFishHook.class, "atum.EntityAtumFishHook", entityID); EntityRegistry.registerModEntity(EntityAtumFishHook.class, "atum.EntityAtumFishHook", entityID, Atum.instance, 64, 1, false); } From 13dadce49e04c2e4916b99725bbc0f9710326882 Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Wed, 9 Sep 2015 17:02:35 +0300 Subject: [PATCH 146/157] Replaces entity registration Global IDs with Mod IDs only --- .../atum/entity/AtumEntities.java | 102 ++++-------------- 1 file changed, 22 insertions(+), 80 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java b/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java index eb1fc7b..5805e28 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java +++ b/src/main/java/com/teammetallurgy/atum/entity/AtumEntities.java @@ -1,98 +1,40 @@ package com.teammetallurgy.atum.entity; +import net.minecraft.entity.EntityList; + import com.teammetallurgy.atum.Atum; import com.teammetallurgy.atum.entity.arrow.*; + import cpw.mods.fml.common.registry.EntityRegistry; public class AtumEntities { public void register() { - int entityID; + int entityID = 0; // Mobs - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerGlobalEntityID(EntityMummy.class, "atum.mummy", entityID, 0x515838, 0x868F6B); - EntityRegistry.registerModEntity(EntityMummy.class, "atum.mummy", entityID, Atum.instance, 64, 1, true); - - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerGlobalEntityID(EntityBanditWarrior.class, "atum.banditWarrior", entityID, 0xC2C2C2, 0x040F85); - EntityRegistry.registerModEntity(EntityBanditWarrior.class, "atum.banditWarrior", entityID, Atum.instance, 64, 1, true); - - - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerGlobalEntityID(EntityBanditArcher.class, "atum.banditArcher", entityID, 0xC2C2C2, 0x7E0C0C); - EntityRegistry.registerModEntity(EntityBanditArcher.class, "atum.banditArcher", entityID, Atum.instance, 64, 1, true); - - - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerGlobalEntityID(EntityPharaoh.class, "atum.pharaoh", entityID, 0xD4BC37, 0x3A4BE0); - EntityRegistry.registerModEntity(EntityPharaoh.class, "atum.pharaoh", entityID, Atum.instance, 64, 1, true); - - - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerGlobalEntityID(EntityDustySkeleton.class, "atum.dustySkeleton", entityID, 0xB59C7D, 0x6F5C43); - EntityRegistry.registerModEntity(EntityDustySkeleton.class, "atum.dustySkeleton", entityID, Atum.instance, 64, 1, true); - - - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerGlobalEntityID(EntityGhost.class, "atum.desertGhost", entityID, 0xE7DBC8, 0xAD9467); - EntityRegistry.registerModEntity(EntityGhost.class, "atum.desertGhost", entityID, Atum.instance, 64, 1, true); - - - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerGlobalEntityID(EntityStoneSoldier.class, "atum.stoneSoldier", entityID, 0x918354, 0x695D37); - EntityRegistry.registerModEntity(EntityStoneSoldier.class, "atum.stoneSoldier", entityID, Atum.instance, 64, 1, true); - - - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerGlobalEntityID(EntityDesertWolf.class, "atum.desertWolf", entityID, 0x918354, 0x695D37); - EntityRegistry.registerModEntity(EntityDesertWolf.class, "atum.desertWolf", entityID, Atum.instance, 64, 1, true); - - - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerGlobalEntityID(EntityBanditWarlord.class, "atum.banditWarlord", entityID, 0x918354, 0x695D37); - EntityRegistry.registerModEntity(EntityBanditWarlord.class, "atum.banditWarlord", entityID, Atum.instance, 64, 1, true); - - - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerGlobalEntityID(EntityBarbarian.class, "atum.barbarian", entityID, 0x918354, 0x695D37); - EntityRegistry.registerModEntity(EntityBarbarian.class, "atum.barbarian", entityID, Atum.instance, 64, 1, true); - + EntityRegistry.registerModEntity(EntityMummy.class, "mummy", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityBanditWarrior.class, "banditWarrior", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityBanditArcher.class, "banditArcher", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityPharaoh.class, "pharaoh", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityDustySkeleton.class, "dustySkeleton", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityGhost.class, "desertGhost", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityStoneSoldier.class, "stoneSoldier", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityDesertWolf.class, "desertWolf", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityBanditWarlord.class, "banditWarlord", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityBarbarian.class, "barbarian", entityID++, Atum.instance, 64, 1, true); // Projectiles - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerGlobalEntityID(EntityArrowVelocity.class, "atum.ArrowVeloctiy", entityID); - EntityRegistry.registerModEntity(EntityArrowVelocity.class, "atum.ArrowVeloctiy", entityID, Atum.instance, 64, 1, true); - - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerGlobalEntityID(EntityArrowExplosive.class, "atum.ArrowExplosive", entityID); - EntityRegistry.registerModEntity(EntityArrowExplosive.class, "atum.ArrowExplosive", entityID, Atum.instance, 64, 1, true); - - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerGlobalEntityID(EntityArrowPoison.class, "atum.ArrowPoison", entityID); - EntityRegistry.registerModEntity(EntityArrowPoison.class, "atum.ArrowPoison", entityID, Atum.instance, 64, 1, true); - - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerGlobalEntityID(EntityArrowFire.class, "atum.ArrowFire", entityID); - EntityRegistry.registerModEntity(EntityArrowFire.class, "atum.ArrowFire", entityID, Atum.instance, 64, 1, true); - - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerGlobalEntityID(EntityArrowDoubleShot.class, "atum.ArrowDoubleShot", entityID); - EntityRegistry.registerModEntity(EntityArrowDoubleShot.class, "atum.ArrowDoubleShot", entityID, Atum.instance, 64, 1, true); - - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerGlobalEntityID(EntityArrowQuickdraw.class, "atum.ArrowQuickDraw", entityID); - EntityRegistry.registerModEntity(EntityArrowQuickdraw.class, "atum.ArrowQuickDraw", entityID, Atum.instance, 64, 1, true); - - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerGlobalEntityID(EntityNutsCall.class, "atum.EntityNutsCall", entityID); - EntityRegistry.registerModEntity(EntityNutsCall.class, "atum.EntityNutsCall", entityID, Atum.instance, 64, 1, true); - - entityID = EntityRegistry.findGlobalUniqueEntityId(); - EntityRegistry.registerGlobalEntityID(EntityAtumFishHook.class, "atum.EntityAtumFishHook", entityID); - EntityRegistry.registerModEntity(EntityAtumFishHook.class, "atum.EntityAtumFishHook", entityID, Atum.instance, 64, 1, false); + EntityRegistry.registerModEntity(EntityArrowVelocity.class, "ArrowVeloctiy", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityArrowExplosive.class, "ArrowExplosive", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityArrowPoison.class, "ArrowPoison", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityArrowFire.class, "ArrowFire", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityArrowDoubleShot.class, "ArrowDoubleShot", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityArrowQuickdraw.class, "ArrowQuickDraw", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityNutsCall.class, "EntityNutsCall", entityID++, Atum.instance, 64, 1, true); + EntityRegistry.registerModEntity(EntityAtumFishHook.class, "EntityAtumFishHook", entityID++, Atum.instance, 64, 1, false); } From 1833cae69f1f019f9f4adbb7e9148a2a9a22bf0b Mon Sep 17 00:00:00 2001 From: Glassmaker Date: Tue, 29 Sep 2015 19:32:52 +0300 Subject: [PATCH 147/157] Adds config for disabling Oases --- .../java/com/teammetallurgy/atum/handler/AtumConfig.java | 7 +++++++ .../atum/world/biome/BiomeGenAtumDesert.java | 4 +++- src/main/resources/assets/atum/lang/en_US.lang | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/teammetallurgy/atum/handler/AtumConfig.java b/src/main/java/com/teammetallurgy/atum/handler/AtumConfig.java index a7feb7d..db878b2 100644 --- a/src/main/java/com/teammetallurgy/atum/handler/AtumConfig.java +++ b/src/main/java/com/teammetallurgy/atum/handler/AtumConfig.java @@ -20,6 +20,7 @@ public class AtumConfig { public static String general = "general settings"; public static boolean ALLOW_CREATION; public static boolean FOG_ENABLED; + public static boolean OASIS_ENABLED; public static int DIMENSION_ID; public static int BIOME_DESERT_ID; @@ -53,6 +54,12 @@ private void syncConfigData() { prop.setLanguageKey("atum.configGui.fog"); FOG_ENABLED = prop.getBoolean(true); propOrder.add(prop.getName()); + + prop = config.get(CATEGORY_GENERAL, "Atum Oasis", true); + prop.comment = "Should oases be generated?"; + prop.setLanguageKey("atum.configGui.oasis"); + OASIS_ENABLED = prop.getBoolean(true); + propOrder.add(prop.getName()); prop = config.get(CATEGORY_GENERAL, "Atum Dimension ID", 17); prop.comment = "The ID of the Atum Dimension"; diff --git a/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java b/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java index b1c6d97..af0b4fb 100644 --- a/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java +++ b/src/main/java/com/teammetallurgy/atum/world/biome/BiomeGenAtumDesert.java @@ -2,7 +2,9 @@ import com.teammetallurgy.atum.blocks.AtumBlocks; import com.teammetallurgy.atum.entity.*; +import com.teammetallurgy.atum.handler.AtumConfig; import com.teammetallurgy.atum.world.decorators.*; + import net.minecraft.world.World; import net.minecraft.world.biome.BiomeDecorator; import net.minecraft.world.biome.BiomeGenBase; @@ -59,7 +61,7 @@ public void decorate(World par1World, Random par2Random, int par3, int par4) { super.decorate(par1World, par2Random, par3, par4); int k; int l; - if (par2Random.nextInt(100) == 0) { + if (AtumConfig.OASIS_ENABLED && par2Random.nextInt(100) == 0) { k = par3 + par2Random.nextInt(16) + 8; l = par4 + par2Random.nextInt(16) + 8; (new WorldGenOasis(false)).generate(par1World, par2Random, k, par1World.getHeightValue(k, l), l); diff --git a/src/main/resources/assets/atum/lang/en_US.lang b/src/main/resources/assets/atum/lang/en_US.lang index 2d121f3..e614e52 100644 --- a/src/main/resources/assets/atum/lang/en_US.lang +++ b/src/main/resources/assets/atum/lang/en_US.lang @@ -436,5 +436,6 @@ chat.atum.killPharaoh=was slain by # GUI atum.configGui.portalCreation=Atum Portal atum.configGui.fog=Atum Fog +atum.configGui.oasis=Atum Oasis atum.configGui.dimensionID=Atum Dimension ID atum.configGui.biomeID=Atum Desert Biome ID \ No newline at end of file From 452d21c45d598a0dd5e61f900c0131594ce016ff Mon Sep 17 00:00:00 2001 From: GirafiStudios Date: Wed, 7 Oct 2015 03:42:05 +0200 Subject: [PATCH 148/157] Fixed that Palm Logs didn't trigger the achievement "Getting Wood" --- .../atum/handler/event/AtumEventListener.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/com/teammetallurgy/atum/handler/event/AtumEventListener.java b/src/main/java/com/teammetallurgy/atum/handler/event/AtumEventListener.java index 272484f..27c1987 100644 --- a/src/main/java/com/teammetallurgy/atum/handler/event/AtumEventListener.java +++ b/src/main/java/com/teammetallurgy/atum/handler/event/AtumEventListener.java @@ -4,9 +4,12 @@ import net.minecraft.block.Block; import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.stats.AchievementList; import net.minecraftforge.event.entity.living.LivingFallEvent; import net.minecraftforge.event.entity.living.LivingHurtEvent; import net.minecraftforge.event.entity.player.BonemealEvent; +import net.minecraftforge.event.entity.player.EntityItemPickupEvent; import net.minecraftforge.event.entity.player.UseHoeEvent; import com.teammetallurgy.atum.blocks.AtumBlocks; @@ -79,4 +82,11 @@ public boolean onHoeEvent(UseHoeEvent event) { return false; } + + @SubscribeEvent + public void onPickup(EntityItemPickupEvent pickupEvent) { + if (pickupEvent.item.getEntityItem().isItemEqual(new ItemStack(AtumBlocks.BLOCK_LOG))) { + pickupEvent.entityPlayer.triggerAchievement(AchievementList.mineWood); + } + } } \ No newline at end of file From 90f4334ef3582cfd01aff49580dab8cc4e36b36f Mon Sep 17 00:00:00 2001 From: GirafiStudios Date: Wed, 7 Oct 2015 06:01:35 +0200 Subject: [PATCH 149/157] Fixed that Fertile Soil turns into dirt when jumped on --- .../com/teammetallurgy/atum/blocks/BlockFertileSoil.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java index a0e3a8c..6b1a70c 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockFertileSoil.java @@ -7,6 +7,7 @@ import net.minecraft.block.BlockFlower; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.Item; @@ -68,6 +69,9 @@ public void updateTick(World par1World, int par2, int par3, int par4, Random par } } + @Override + public void onFallenUpon(World world, int x, int y, int z, Entity entity, float par5Random) {} + @Override public boolean canSustainPlant(IBlockAccess world, int x, int y, int z, ForgeDirection direction, IPlantable plant) { EnumPlantType plantType = plant.getPlantType(world, x, y + 1, z); @@ -77,9 +81,9 @@ public boolean canSustainPlant(IBlockAccess world, int x, int y, int z, ForgeDir } if (plantType == EnumPlantType.Beach) { - boolean hasWater = (world.getBlock(x - 1, y, z).getMaterial() == Material.water) || (world.getBlock(x + 1, y, z).getMaterial() == Material.water) || (world.getBlock(x, y, z - 1).getMaterial() == Material.water) || (world.getBlock(x, y, z + 1).getMaterial() == Material.water); + boolean hasWater = (world.getBlock(x - 1, y, z).getMaterial() == Material.water) || (world.getBlock(x + 1, y, z).getMaterial() == Material.water) || (world.getBlock(x, y, z - 1).getMaterial() == Material.water) || (world.getBlock(x, y, z + 1).getMaterial() == Material.water); - return hasWater; + return hasWater; } return false; From 4c9064b5acd1b78e60a8e0c178e16d11c647601c Mon Sep 17 00:00:00 2001 From: GirafiStudios Date: Wed, 7 Oct 2015 06:26:40 +0200 Subject: [PATCH 150/157] Made the Ghost immune to fire. --- src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java b/src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java index 830eec2..745b41b 100644 --- a/src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java +++ b/src/main/java/com/teammetallurgy/atum/entity/EntityGhost.java @@ -20,6 +20,7 @@ public class EntityGhost extends EntityMob { public EntityGhost(World par1World) { super(par1World); + this.isImmuneToFire = true; this.experienceValue = 6; cycleTime = (int) ((Math.random() * 40) + 80); cycleHeight = (int) (Math.random() * cycleTime); From 7e9ce3a1971bdc7ba00625497131c904c4cd8c61 Mon Sep 17 00:00:00 2001 From: Austin Smith Date: Sun, 18 Oct 2015 23:38:23 -0400 Subject: [PATCH 151/157] Fixed Possessive Names --- .../resources/assets/atum/lang/en_US.lang | 60 +++++++++---------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/src/main/resources/assets/atum/lang/en_US.lang b/src/main/resources/assets/atum/lang/en_US.lang index e614e52..5222320 100644 --- a/src/main/resources/assets/atum/lang/en_US.lang +++ b/src/main/resources/assets/atum/lang/en_US.lang @@ -166,36 +166,36 @@ item.fish.1.name=Mummified Fish item.fish.2.name=Jeweled Fish item.fish.3.name=Skeletal Fish -item.ptahsDecadence.name=Ptahs' Decadence -item.soteksRage.name=Soteks' Rage -item.osirisWill.name=Osiris' Will -item.akersToil.name=Akers' Toil -item.gebsBlessing.name=Gebs' Blessing -item.atensFury.name=Atens' Fury -item.rasGlory.name=Ras' Glory -item.sekhmetsWrath.name=Sekhmets' Wrath -item.nutsAgility.name=Nuts' Agility -item.horusFlight.name=Horus' Flight -item.monthusStrike.name=Monthus' Strike -item.anhursMight.name=Anhurs' Might -item.hedetetsSting.name=Hedetets' Sting -item.horusSoaring.name=Horus' Soaring -item.shusBreath.name=Shus' Breath -item.ptahsDestruction.name=Ptahs' Destruction -item.monthusBlast.name=Monthus' Blast -item.nusFlux.name=Nus' Flux -item.mnevisHorns.name=Mnevis' Horns -item.isisEmbrace.name=Isis' Embrace -item.maatsBalance.name=Maats' Balance -item.hedetetsVenom.name=Hedetets' Venom -item.gebsSolidarity.name=Gebs' Solidarity -item.nutsCall.name=Nuts' Call -item.anuketsBounty.name=Anukets' Bounty -item.mafdetsQuickness.name=Mafdets' Quickness -item.isisHealing.name=Isis' Healing -item.amunetsHomecoming.name=Amunets' Homecoming +item.ptahsDecadence.name=Ptah's Decadence +item.soteksRage.name=Sotek's Rage +item.osirisWill.name=Osiris's Will +item.akersToil.name=Aker's Toil +item.gebsBlessing.name=Geb's Blessing +item.atensFury.name=Aten's Fury +item.rasGlory.name=Ra's Glory +item.sekhmetsWrath.name=Sekhmet's Wrath +item.nutsAgility.name=Nut's Agility +item.horusFlight.name=Horus's Flight +item.monthusStrike.name=Monthu's Strike +item.anhursMight.name=Anhur's Might +item.hedetetsSting.name=Hedetet's Sting +item.horusSoaring.name=Horus's Soaring +item.shusBreath.name=Shu's Breath +item.ptahsDestruction.name=Ptah's Destruction +item.monthusBlast.name=Monthu's Blast +item.nusFlux.name=Nu's Flux +item.mnevisHorns.name=Mnevis's Horns +item.isisEmbrace.name=Isis's Embrace +item.maatsBalance.name=Maat's Balance +item.hedetetsVenom.name=Hedetet's Venom +item.gebsSolidarity.name=Geb's Solidarity +item.nutsCall.name=Nut's Call +item.anuketsBounty.name=Anuket's Bounty +item.mafdetsQuickness.name=Mafdet's Quickness +item.isisHealing.name=Isis's Healing +item.amunetsHomecoming.name=Amunet's Homecoming item.anubisMercy.name=Anubis's Mercy -item.neithsAudacity.name=Neiths Audacity +item.neithsAudacity.name=Neith's Audacity # Item Information @@ -438,4 +438,4 @@ atum.configGui.portalCreation=Atum Portal atum.configGui.fog=Atum Fog atum.configGui.oasis=Atum Oasis atum.configGui.dimensionID=Atum Dimension ID -atum.configGui.biomeID=Atum Desert Biome ID \ No newline at end of file +atum.configGui.biomeID=Atum Desert Biome ID From 206ed0f9a3a435882d6eca540325813727012c24 Mon Sep 17 00:00:00 2001 From: Austin Smith Date: Sun, 18 Oct 2015 23:41:29 -0400 Subject: [PATCH 152/157] Changed Desert Ghost to Wraith --- src/main/resources/assets/atum/lang/en_US.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/assets/atum/lang/en_US.lang b/src/main/resources/assets/atum/lang/en_US.lang index 5222320..21046d4 100644 --- a/src/main/resources/assets/atum/lang/en_US.lang +++ b/src/main/resources/assets/atum/lang/en_US.lang @@ -348,7 +348,7 @@ entity.atum.banditWarrior.name=Bandit Warrior entity.atum.banditArcher.name=Bandit Archer entity.atum.pharaoh.name=Pharaoh entity.atum.dustySkeleton.name=Dusty Skeleton -entity.atum.desertGhost.name=Desert Ghost +entity.atum.desertGhost.name=Wraith entity.atum.stoneSoldier.name=Stone Soldier entity.atum.desertWolf.name=Desert Wolf entity.atum.banditWarlord.name=Bandit Warlord From 9599515ee3d80964361b54e423aeaf62dccdc72e Mon Sep 17 00:00:00 2001 From: Austin Smith Date: Sun, 18 Oct 2015 23:42:33 -0400 Subject: [PATCH 153/157] Uncapitalized Pharaoh Suffix Names --- .../resources/assets/atum/lang/en_US.lang | 70 +++++++++---------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/src/main/resources/assets/atum/lang/en_US.lang b/src/main/resources/assets/atum/lang/en_US.lang index 21046d4..c546fc4 100644 --- a/src/main/resources/assets/atum/lang/en_US.lang +++ b/src/main/resources/assets/atum/lang/en_US.lang @@ -391,41 +391,41 @@ entity.atum.pharaoh.Yat=Yat' entity.atum.pharaoh.Zyt=Zyt' entity.atum.pharaoh.Khep=Khep' -entity.atum.pharaoh.Ahat=Ahat -entity.atum.pharaoh.Amesh=Amesh -entity.atum.pharaoh.Amon=Amon -entity.atum.pharaoh.Anut=Anut -entity.atum.pharaoh.Baroom=Baroom -entity.atum.pharaoh.Chanta=Chanta -entity.atum.pharaoh.Erant=Erant -entity.atum.pharaoh.Funam=Funam -entity.atum.pharaoh.Daresh=Daresh -entity.atum.pharaoh.Djer=Djer -entity.atum.pharaoh.Hotesh=Hotesh -entity.atum.pharaoh.Khaden=Khaden -entity.atum.pharaoh.Kron=Kron -entity.atum.pharaoh.Gorkum=Gorkum -entity.atum.pharaoh.Ialenter=Ialenter -entity.atum.pharaoh.Ma'at=Ma'at -entity.atum.pharaoh.Narmer=Narmer -entity.atum.pharaoh.Radeem=Radeem -entity.atum.pharaoh.Jaloom=Jaloom -entity.atum.pharaoh.Lepsha=Lepsha -entity.atum.pharaoh.Quor=Quor -entity.atum.pharaoh.Oleshet=Oleshet -entity.atum.pharaoh.Peput=Peput -entity.atum.pharaoh.Talat=Talat -entity.atum.pharaoh.Ulam=Ulam -entity.atum.pharaoh.Veresh=Veresh -entity.atum.pharaoh.Ranesh=Ranesh -entity.atum.pharaoh.Snef=Snef -entity.atum.pharaoh.Wollolo=Wollolo -entity.atum.pharaoh.Hathor=Hathor -entity.atum.pharaoh.Intef=Intef -entity.atum.pharaoh.Neferk=Neferk -entity.atum.pharaoh.Khatne=Khatne -entity.atum.pharaoh.Tepy=Tepy -entity.atum.pharaoh.Moret=Moret +entity.atum.pharaoh.Ahat=ahat +entity.atum.pharaoh.Amesh=amesh +entity.atum.pharaoh.Amon=amon +entity.atum.pharaoh.Anut=anut +entity.atum.pharaoh.Baroom=baroom +entity.atum.pharaoh.Chanta=chanta +entity.atum.pharaoh.Erant=erant +entity.atum.pharaoh.Funam=funam +entity.atum.pharaoh.Daresh=daresh +entity.atum.pharaoh.Djer=djer +entity.atum.pharaoh.Hotesh=hotesh +entity.atum.pharaoh.Khaden=khaden +entity.atum.pharaoh.Kron=kron +entity.atum.pharaoh.Gorkum=gorkum +entity.atum.pharaoh.Ialenter=ialenter +entity.atum.pharaoh.Ma'at=ma'at +entity.atum.pharaoh.Narmer=narmer +entity.atum.pharaoh.Radeem=radeem +entity.atum.pharaoh.Jaloom=jaloom +entity.atum.pharaoh.Lepsha=lepsha +entity.atum.pharaoh.Quor=quor +entity.atum.pharaoh.Oleshet=oleshet +entity.atum.pharaoh.Peput=peput +entity.atum.pharaoh.Talat=talat +entity.atum.pharaoh.Ulam=ulam +entity.atum.pharaoh.Veresh=veresh +entity.atum.pharaoh.Ranesh=ranesh +entity.atum.pharaoh.Snef=snef +entity.atum.pharaoh.Wollolo=wollolo +entity.atum.pharaoh.Hathor=hathor +entity.atum.pharaoh.Intef=intef +entity.atum.pharaoh.Neferk=neferk +entity.atum.pharaoh.Khatne=khatne +entity.atum.pharaoh.Tepy=tepy +entity.atum.pharaoh.Moret=moret # Chat chat.atum.disabled=Scarab portal creation is disabled From 4891b384970a9f525c258a4edb701185a35cdafc Mon Sep 17 00:00:00 2001 From: Austin Smith Date: Tue, 20 Oct 2015 01:08:32 -0400 Subject: [PATCH 154/157] Fixed hardness and resistance of Smooth Limestone --- .../java/com/teammetallurgy/atum/blocks/BlockAtumStone.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumStone.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumStone.java index f8e1ae1..a69d0d3 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumStone.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumStone.java @@ -13,7 +13,8 @@ public BlockAtumStone() { super(); this.setBlockName("stone"); this.setStepSound(Block.soundTypeStone); - this.setHardness(0.5F); + this.setHardness(1.5F); + this.setResistance(10.0F) } @Override From 487703c331812ede19df466aa5f5d8a3e9b78a7c Mon Sep 17 00:00:00 2001 From: Austin Smith Date: Tue, 20 Oct 2015 01:11:08 -0400 Subject: [PATCH 155/157] Fixed Redstone Hardness --- .../java/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java index 8cbb0fa..59ae1d0 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumRedstone.java @@ -19,6 +19,9 @@ public BlockAtumRedstone() { super(Material.rock); this.setBlockName("redstoneOre"); this.setBlockTextureName("atum:AtumRedstone"); + this.setHardness(3.0F); + this.setResistance(5.0F); + this.setStepSound(Block.soundTypeStone); } @Override From efbeeb97f249bba482495ff5c9bc15eeb1f41204 Mon Sep 17 00:00:00 2001 From: Austin Smith Date: Tue, 20 Oct 2015 01:13:30 -0400 Subject: [PATCH 156/157] Forgot semicolon because I'm a dummy. --- .../java/com/teammetallurgy/atum/blocks/BlockAtumStone.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumStone.java b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumStone.java index a69d0d3..d41b1c2 100644 --- a/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumStone.java +++ b/src/main/java/com/teammetallurgy/atum/blocks/BlockAtumStone.java @@ -14,7 +14,7 @@ public BlockAtumStone() { this.setBlockName("stone"); this.setStepSound(Block.soundTypeStone); this.setHardness(1.5F); - this.setResistance(10.0F) + this.setResistance(10.0F); } @Override From 85231cdd480c6fa28487964cf5c7df68d6cfa694 Mon Sep 17 00:00:00 2001 From: Austin Smith Date: Tue, 20 Oct 2015 08:29:25 -0400 Subject: [PATCH 157/157] Update en_US.lang --- src/main/resources/assets/atum/lang/en_US.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/assets/atum/lang/en_US.lang b/src/main/resources/assets/atum/lang/en_US.lang index c546fc4..155d5db 100644 --- a/src/main/resources/assets/atum/lang/en_US.lang +++ b/src/main/resources/assets/atum/lang/en_US.lang @@ -349,7 +349,7 @@ entity.atum.banditArcher.name=Bandit Archer entity.atum.pharaoh.name=Pharaoh entity.atum.dustySkeleton.name=Dusty Skeleton entity.atum.desertGhost.name=Wraith -entity.atum.stoneSoldier.name=Stone Soldier +entity.atum.stoneSoldier.name=Stoneguard entity.atum.desertWolf.name=Desert Wolf entity.atum.banditWarlord.name=Bandit Warlord entity.atum.barbarian.name=Barbarian